Aller à la documentation de ce fichier.
32 # define _Bool signed char
38 # define __bool_true_false_are_defined 1
57 #include <2.3.6/med23v30.h>
58 #include <2.3.6/med23v30_proto.h>
59 #include "2.3.6/med23v30_misc.h"
98 med_int majeur, mineur, release;
101 char *_fileout,*tmp=NULL;
103 bool hasfileout=
false;
109 int MAJ_21_22 = 0, MAJ_231_232 = 0, MAJ_236_300 = 0, MAJ_300_310 = 0, MAJ_310_320 = 0, MAJ_320_330 = 0, MAJ_400_410 = 0 ;
111 char *drive, *dir, *ext;
113 unsigned char reponse=
'o';
116 EXIT_IF(filein == NULL,
"Le nom du fichier d'entrée est vide : ", filein);
118 hasfileout = strcmp(fileout,
"");
120 _fileoutsize = strlen(fileout);
124 tmp = (
char *) malloc(
sizeof(
char)*(_fileoutsize+1));
128 _splitpath( tmp, drive, dir, _fileout, ext );
130 _fileout = basename(tmp);
132 _fileoutsize = strlen(_fileout);
141 fprintf(stdout,
">>> Attention le fichier %s ne contient pas de numéro de version. \n",filein);
142 fprintf(stdout,
">>> Le fichier %s est supposé être en version 2.1.1. \n",filein);
146 if ( (reponse !=
'o') && (reponse !=
'O') && (reponse !=
'y') && (reponse !=
'Y') ) {
148 "Erreur d'appel de MEDfileCompatibility : ", filein);
153 "Le fichier d'entrée n'est pas dans un format HDF compatible : ", filein);
159 commande = (
char *) malloc(
sizeof(
char)*(strlen(
"cp ")+strlen(filein)+
160 strlen(
" ")+_fileoutsize + 4 +1 ) );
161 EXIT_IF(commande == NULL,NULL,NULL);
162 strcpy(commande,
"cp \"");
163 strcat(commande,filein);
164 strcat(commande,
"\" \"");
165 strcat(commande,_fileout);
166 strcat(commande,
"\"");
167 fprintf(stdout,
">>> Creation du fichier %s : %s \n",_fileout,commande);
170 commande = (
char *) malloc(
sizeof(
char)*(strlen(
"chmod u+w \"") + _fileoutsize +1 +1 ) );
171 EXIT_IF(commande == NULL,NULL,NULL);
172 strcpy(commande,
"chmod u+w \"");
173 strcat(commande,_fileout);
174 strcat(commande,
"\"");
175 fprintf(stdout,
">>> Chmod +w du fichier %s : %s \n",_fileout,commande);
180 EXIT_IF(fid < 0,
"Ouverture du fichier : ", _fileout);
192 EXIT_IF(ret < 0,
"Lecture du numero de version de MED-fichier",NULL);
193 if (strcmp(version,
"2_2_0") < 0)
195 if (strcmp(version,
"2_3_2") < 0)
197 if (strcmp(version,
"3_0_0") < 0)
199 if (strcmp(version,
"3_1_0") < 0)
201 if (strcmp(version,
"3_2_0") < 0)
203 if (strcmp(version,
"3_3_0") < 0)
205 if (strcmp(version,
"4_0_0") < 0)
209 if (MAJ_400_410 == 0) {
210 fprintf(stdout,
"Le fichier %s est déjà au bon format !!! \n",_fileout);
212 EXIT_IF(ret < 0,
"Fermeture du fichier",filein);
217 fprintf(stdout,
">>> Lancement de la normalisation du fichier selon le format " PACKAGE_VERSION " ...\n");
223 fprintf(stdout,
"- Lancement de la mise à jour du numéro de version ... \n");
228 fprintf(stdout,
" Numéro de version : ... OK ... \n");
233 fprintf(stdout,
"- Lancement de la mise à jour des maillages (21_22)... \n");
235 fprintf(stdout,
" Maillage(s) : ... OK ...\n");
238 fprintf(stdout,
"- Lancement de la mise à jour des champs de résultats (21_22)... \n");
240 fprintf(stdout,
" Champs(s) : ... OK ...\n");
243 nprofil = MEDnProfil(fid);
245 fprintf(stdout,
"- Lancement de la mise à jour des profils (21_22)... \n");
247 fprintf(stdout,
" Profils(s) : ... OK ...\n");
252 EXIT_IF(gid < 0,
"Creation du groupe HDF sur les profils",chemin_profils);
254 EXIT_IF(ret < 0,
"Fermeture du groupe HDF sur les profils",chemin_profils);
261 EXIT_IF(gid < 0,
"Creation du groupe HDF sur les liens",chemin_liens);
263 EXIT_IF(ret < 0,
"Fermeture du groupe HDF sur les liens",chemin_liens);
268 fprintf(stdout,
"- Lancement de la mise à jour des champs de résultats (231_232)... \n");
270 fprintf(stdout,
" Champs(s) : ... OK ...\n");
271 fprintf(stdout,
"- Lancement de la mise à jour des noms de maillages (231_232)... \n");
273 fprintf(stdout,
" Noms(s) de maillage(s): ... OK ...\n");
282 fprintf(stdout,
"- Lancement de la mise à jour des champs de résultats (236_300)... \n");
284 fprintf(stdout,
" Champs(s) : ... OK ...\n");
288 fprintf(stdout,
"- Lancement de la mise à jour des maillages (236_300)... \n");
290 fprintf(stdout,
" Maillage(s): ... OK ...\n");
306 fprintf(stdout,
"- Lancement de la mise à jour des champs de résultats (300_310) ... \n");
308 fprintf(stdout,
" Champs(s) : ... OK ...\n");
323 fprintf(stdout,
"- Lancement de la mise à jour des familles/groupes (310_320) ... \n");
325 fprintf(stdout,
" Famille(s)/Groupe(s) : ... OK ...\n");
338 fprintf(stdout,
"- Lancement de la mise à jour des champs entiers (321_330) ... \n");
340 fprintf(stdout,
" Champs entiers : ... OK ...\n");
353 fprintf(stdout,
"- Lancement de la mise à jour des meta-données sur les champs (400_410) ... \n");
355 fprintf(stdout,
" Champs meta-data : ... OK ...\n");
367 EXIT_IF(ret < 0,
"Fermeture du fichier",_fileout);
370 fprintf(stdout,
">>> Conversion du fichier %s au format MED V" PACKAGE_VERSION " terminée\n",
374 if (!hasfileout) free(tmp);
MEDC_EXPORT med_err _MEDdatagroupFermer(med_idt id)
#define MED_PROFILE_GRP_SIZE
MEDC_EXPORT med_idt MEDfileOpen(const char *const filename, const med_access_mode accessmode)
Ouverture d'un fichier MED.
void MAJ_310_320_familles(med_idt fid)
void MAJ_21_22_champs(med_idt fid)
void MAJ_231_232_maillages(med_idt fid)
void MAJ_21_22_maillages(med_idt fid)
void MAJ_300_310_champs(med_idt fid)
void MAJ_236_300_maillages(med_idt fid)
void MAJ_231_232_champs(med_idt fid)
void MAJ_version(med_idt fid)
MEDC_EXPORT med_err MEDfileNumVersionRd(const med_idt fid, med_int *const major, med_int *const minor, med_int *const release)
Lecture du numéro de version de la bibliothèque MED utilisée pour créer le fichier.
MEDC_EXPORT med_idt _MEDdatagroupCreer(med_idt pid, const char *const nom)
void MAJ_21_22_profils(med_idt fid, med_int nprofil)
void MAJ_400_410_champs(med_idt fid)
MEDC_EXPORT med_err MEDfileCompatibility(const char *const filename, med_bool *const hdfok, med_bool *const medok)
Vérification de la compatibilité d'un fichier avec HDF et MED.
MEDC_EXPORT med_err MEDfileClose(med_idt fid)
Fermeture d'un fichier MED.
void MAJ_236_300_champs(med_idt fid)
#define EXIT_IF(expression, message, arg)
MEDC_EXPORT med_file_version _MEDfileVersion(const med_idt oid)
int MEDimport(char *filein, char *fileout)
void MAJ_320_330_champs(med_idt fid)
void MAJ_write_version_num(med_idt fid, const int majeur, const int mineur, const int release)
void MAJ_version_num(med_idt fid, const int majeur, const int mineur, const int release)
MEDC_EXPORT void _MEDmodeErreurVerrouiller(void)