# 2.3.6/test10.c

Aller à la documentation de ce fichier.

    00001 /*  This file is part of MED.
    00002  *
    00003  *  COPYRIGHT (C) 1999 - 2012  EDF R&D, CEA/DEN
    00004  *  MED is free software: you can redistribute it and/or modify
    00005  *  it under the terms of the GNU Lesser General Public License as published by
    00006  *  the Free Software Foundation, either version 3 of the License, or
    00007  *  (at your option) any later version.
    00008  *
    00009  *  MED is distributed in the hope that it will be useful,
    00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    00012  *  GNU Lesser General Public License for more details.
    00013  *
    00014  *  You should have received a copy of the GNU Lesser General Public License
    00015  *  along with MED.  If not, see <http://www.gnu.org/licenses/>.
    00016  */
    00017 #define _a 0.446948490915965
    00018 #define _b 0.091576213509771
    00019 #define _p1 0.11169079483905
    00020 #define _p2 0.0549758718227661
    00021
    00022 /******************************************************************************
    00023  * - Nom du fichier : test10.c
    00024  *
    00025  * - Description : ecriture de champs de resultats MED
    00026  *
    00027  *****************************************************************************/
    00028
    00029 #include <med.h>
    00030 #define MESGERR 1
    00031 #include "med_utils.h"
    00032 #include <string.h>
    00033
    00034 #ifdef DEF_LECT_ECR
    00035 #define MODE_ACCES MED_LECTURE_ECRITURE
    00036 #elif DEF_LECT_AJOUT
    00037 #define MODE_ACCES MED_LECTURE_AJOUT
    00038 #else
    00039 #define MODE_ACCES MED_CREATION
    00040 #endif
    00041
    00042 #ifndef USER_INTERLACE
    00043 #define USER_INTERLACE MED_FULL_INTERLACE
    00044 #endif
    00045
    00046 #define USER_MODE MED_COMPACT
    00047
    00048 int main (int argc, char **argv)
    00049
    00050
    00051 {
    00052   med_err ret=0;
    00053   med_idt fid;
    00054
    00055
    00056
    00057   /* Maillage support aux champs*/
    00058   /* Ces maillages sont vides*/
    00059   char maa1[MED_TAILLE_NOM+1]= "maa1";
    00060   char maa2[MED_TAILLE_NOM+1]= "maa2";
    00061   char * lien_maa2 = "./testfoo.med";
    00062   char maa3[MED_TAILLE_NOM+1]= "maa3";
    00063
    00064
    00065   /* Caractéristiques du champ n° 1 sur TRIA6 */
    00066   char nomcha1[MED_TAILLE_NOM+1]  = "champ reel";
    00067   char comp1[2*MED_TAILLE_PNOM+1] = "comp1           comp2           ";
    00068                                    /*12345678901234561234567890123456*/
    00069   char unit1[2*MED_TAILLE_PNOM+1] = "unit1           unit2           ";
    00070   med_int ncomp1  = 2;
    00071   /* Caractéristiques du model n° 1 de localisation des points de gauss pour le champ n°1*/
    00072   med_int ngauss1_1 = 6;
    00073   char gauss1_1[MED_TAILLE_NOM+1]  = "Model n1";
    00074   med_float refcoo1[12] = { -1.0,1.0, -1.0,-1.0, 1.0,-1.0, -1.0,0.0, 0.0,-1.0, 0.0,0.0 };
    00075
    00076   /* Constantes */
    00077
    00078   med_float gscoo1_1[12] = { 2*_b-1, 1-4*_b, 2*_b-1, 2*_b-1, 1-4*_b,
    00079                              2*_b-1, 1-4*_a, 2*_a-1, 2*_a-1, 1-4*_a, 2*_a-1, 2*_a-1 };
    00080   med_float wg1_1[6] = { 4*_p2, 4*_p2, 4*_p2, 4*_p1, 4*_p1, 4*_p1 };
    00081
    00082   med_int   nval1_1= 1*6; /*1 valeurs et 6 points de gauss par valeur */
    00083   med_float valr1_1[1*6*2]  = {0.0,1.0, 2.0,3.0, 10.0,11.0, 12.0,13.0, 20.0,21.0, 22.0,23.0};  /* 2 composantes*/
    00084   /* Caractéristiques du model n° 2 de localisation des points de gauss pour le champ n°1*/
    00085   med_int ngauss1_2 = 3;
    00086   char gauss1_2[MED_TAILLE_NOM+1]  = "Model n2";
    00087   med_float gscoo1_2[6] = { -2.0/3,1.0/3, -2.0/3,-2.0/3, 1.0/3,-2.0/3  };
    00088   med_float wg1_2[3] = { 2.0/3, 2.0/3, 2.0/3 };
    00089   med_int   nval1_2= 2*3; /*2 valeurs et 3 points de gauss par valeur */
    00090   med_float valr1_2[2*3*2]  = {0.0,1.0, 2.0,3.0, 10.0,11.0,   12.0,13.0, 20.0,21.0, 22.0,23.0};  /* 2 composantes*/
    00091   med_float valr1_2p[2*3*2]  = {                              12.0,13.0, 20.0,21.0, 22.0,23.0};  /* 2 composantes*/
    00092  /* Caractéristiques du model n° 3 sans points de gauss pour le champ n°1*/
    00093   med_int   nval1_3= 6; /*6 valeurs et pas de points de gauss */
    00094   med_float valr1_3[2*3*2]  = {0.0,1.0, 2.0,3.0, 10.0,11.0, 12.0,13.0, 20.0,21.0, 22.0,23.0};  /* 2 composantes*/
    00095   med_float valr1_3p[2*2*2] = {         2.0,3.0, 10.0,11.0                                 };  /* 2 composantes profil1 */
    00096
    00097   /* Caractéristiques du champ n° 2 */
    00098   char nomcha2[MED_TAILLE_NOM+1]  = "champ entier";
    00099   char comp2[3*MED_TAILLE_PNOM+1] = "comp1           comp2           comp3           ";
    00100                                    /*123456789012345612345678901234561234567890123456*/
    00101   char unit2[3*MED_TAILLE_PNOM+1] = "unit1           unit2           unit3           ";
    00102   med_int ncomp2  = 3;
    00103   med_int nval2 = 5;   /*5 valeurs */
    00104   med_int   valr2[5*3  ]  = {0,1,2, 10,11,12, 20,21,22, 30,31,32, 40,41,42};              /* 3 composantes*/
    00105   med_int   valr2p[3*3  ] = {0,1,2,           20,21,22,           40,41,42};              /* 3 composantes*/
    00106
    00107   /* Profils utilisés */
    00108   char nomprofil1[MED_TAILLE_NOM+1]  = "PROFIL(champ(1))";
    00109   char nomprofil2[MED_TAILLE_NOM+1]  = "PROFIL(champ2)";
    00110   med_int profil1[2] = { 2, 3 };
    00111   med_int profil2[3] = { 1, 3, 5 };
    00112
    00113
    00114   /* Caractéristiques du champ n° 3 */
    00115   char nomcha3[MED_TAILLE_NOM+1]  = "champ entier 3";
    00116   char comp3[3*MED_TAILLE_PNOM+1] = "comp1           comp2           ";
    00117                                    /*123456789012345612345678901234561234567890123456*/
    00118   char unit3[3*MED_TAILLE_PNOM+1] = "unit1           unit2           ";
    00119   med_int ncomp3  = 2;
    00120   med_int nval3 = 5*4;     /*5 valeurs et 4 noeuds par element*/
    00121   med_int valr3[5*4*2]   = {0,1, 10,11, 20,21, 30,31,
    00122                             40,41, 50,51, 60,61, 70,71,
    00123                             80,81, 90,91, 100,101, 110,111,
    00124                             120,121, 130,131, 140,141, 150,151,
    00125                             160,161, 170,171, 180,181, 190,191};    /* 2 composantes*/
    00126   med_int valr3p[3*4*2]  = {0,1, 10,11, 20,21, 30,31,
    00127                             80,81, 90,91, 100,101, 110,111,
    00128                             160,161, 170,171, 180,181, 190,191};    /* 2 composantes*/
    00129
    00130
    00131
    00132
    00133
    00134
    00135   /* ouverture du fichier */
    00136   if ((fid = MEDouvrir("test10.med",MODE_ACCES)) < 0){
    00137     MESSAGE("Erreur à l'ouverture du fichier : ");
    00138     return -1;
    00139   }
    00140
    00141   /* creation de maa1 de dimension 3*/
    00142   if ( MEDmaaCr(fid,maa1,3,MED_NON_STRUCTURE,"Maillage vide") < 0) {
    00143     MESSAGE("Erreur à la création du maillage : ");SSCRUTE(maa1);
    00144     ret = -1;
    00145   };
    00146
    00147   /* creation de maa3 de dimension 3*/
    00148   if ( MEDmaaCr(fid,maa3,3,MED_NON_STRUCTURE,"Maillage vide") < 0) {
    00149     MESSAGE("Erreur à la création du maillage : ");SSCRUTE(maa3);
    00150     ret = -1;
    00151   };
    00152
    00153   /* creation du champ réel n°1 */
    00154   if ( MEDchampCr(fid,nomcha1,MED_FLOAT64,comp1,unit1,ncomp1) < 0) {
    00155     MESSAGE("Erreur à la création du champ : ");SSCRUTE(nomcha1);
    00156     ret = -1;
    00157   };
    00158
    00159   /* creation du champ entier n°2 */
    00160   if ( MEDchampCr(fid,nomcha2,MED_INT32,comp2,unit2,ncomp2) < 0) {
    00161     MESSAGE("Erreur à la création du champ : ");SSCRUTE(nomcha2);
    00162     ret = -1;
    00163   };
    00164
    00165   /* creation du lien au fichier distant contenant maa2 */
    00166   if (MEDlienEcr(fid,lien_maa2,maa2) < 0) {
    00167     MESSAGE("Erreur à la création du lien : ");SSCRUTE(lien_maa2);
    00168     ret = -1;
    00169   };
    00170
    00171   /* creation de la localisation des points de Gauss modèle n°1 */
    00172   if (MEDgaussEcr(fid, MED_TRIA6, refcoo1, USER_INTERLACE,
    00173                   ngauss1_1, gscoo1_1, wg1_1, gauss1_1) < 0) {
    00174     MESSAGE("Erreur à la création du modèle n°1 : ");SSCRUTE(gauss1_1);
    00175     ret = -1;
    00176   };
    00177
    00178    /* creation de la localisation des points de Gauss modèle n°2 */
    00179   if (MEDgaussEcr(fid, MED_TRIA6, refcoo1, USER_INTERLACE,
    00180                   ngauss1_2, gscoo1_2, wg1_2, gauss1_2) < 0) {
    00181     MESSAGE("Erreur à la création du modèle n°1 : ");SSCRUTE(gauss1_2);
    00182     ret = -1;
    00183   };
    00184
    00185   /* ecriture du champ n°1*/
    00186   /* enregistre uniquement les composantes n°2 de valr1_1, et n'utilise ni pas de temps ni n° d'ordre*/
    00187   if ( MEDchampEcr(fid,maa1,nomcha1,(unsigned char*)valr1_1,USER_INTERLACE,nval1_1,gauss1_1,
    00188                    2,MED_NOPFL,MED_NO_PFLMOD,MED_MAILLE,MED_TRIA6,MED_NOPDT,"",0.0,MED_NONOR ) < 0) {
    00189     MESSAGE("Erreur à l'écriture du champ : ");
    00190     SSCRUTE(nomcha1);ISCRUTE_int(MED_NOPDT);ISCRUTE_int(MED_NONOR);SSCRUTE(MED_NOPFL);
    00191     SSCRUTE(maa1);
    00192     ret = -1;
    00193   };
    00194
    00195
    00196   /* enregistre uniquement les composantes n°1 de valr1_1, et n'utilise ni pas de temps ni n° d'ordre */
    00197   if ( MEDchampEcr(fid,maa1,nomcha1,(unsigned char*)valr1_1,USER_INTERLACE,nval1_1,gauss1_1,
    00198                       1,MED_NOPFL,MED_NO_PFLMOD,MED_MAILLE,MED_TRIA6,MED_NOPDT,"",0.0,MED_NONOR) < 0) {
    00199     MESSAGE("Erreur à l'écriture du champ : ");
    00200     SSCRUTE(nomcha1);ISCRUTE_int(MED_NOPDT);ISCRUTE_int(MED_NONOR);SSCRUTE(MED_NOPFL);
    00201     SSCRUTE(maa1);
    00202     ret = -1;
    00203   };
    00204
    00205
    00206   /* enregistre uniquement les composantes n°1 de valr1_2, au pas de temps n°1(5.5), n'utilise pas de n°d'ordre*/
    00207   /* ce champ repose sur le maillage maa2 qui est distant */
    00208   if ( MEDchampEcr(fid,maa2,nomcha1,(unsigned char*)valr1_2,USER_INTERLACE,nval1_2,gauss1_2,
    00209                       1,MED_NOPFL,MED_NO_PFLMOD,MED_MAILLE,MED_TRIA6,1,"ms",5.5,MED_NONOR) < 0) {
    00210     MESSAGE("Erreur à l'écriture du champ : ");
    00211     SSCRUTE(nomcha1);ISCRUTE_int(1);ISCRUTE_int(MED_NONOR);SSCRUTE(MED_NOPFL);
    00212     SSCRUTE(maa2);
    00213     ret = -1;
    00214   };
    00215
    00216   /* enregistre uniquement les composantes n°2 de valr1_2, au pas de temps n°1(5.5), n'utilise pas de n°d'ordre*/
    00217   /* ce champ repose sur le maillage maa1 qui est local */
    00218   if ( MEDchampEcr(fid,maa1,nomcha1,(unsigned char*)valr1_1,USER_INTERLACE,nval1_1,gauss1_1,
    00219                       2,MED_NOPFL,MED_NO_PFLMOD,MED_MAILLE,MED_TRIA6,1,"ms",5.5,MED_NONOR) < 0) {
    00220     MESSAGE("Erreur à l'écriture du champ : ");
    00221     SSCRUTE(nomcha1);ISCRUTE_int(1);ISCRUTE_int(MED_NONOR);SSCRUTE(MED_NOPFL);
    00222     SSCRUTE(maa1);
    00223     ret = -1;
    00224   };
    00225
    00226     /* enregistre uniquement les composantes n°1 de valr1_1, au pas de temps n°1(5.5), et n°d'itération n°2*/
    00227     /* ce champ repose sur le maillage maa3 qui est local */
    00228   if ( MEDchampEcr(fid,maa3,nomcha1,(unsigned char*)valr1_2,USER_INTERLACE,nval1_2,gauss1_2,
    00229                    1,MED_NOPFL,MED_NO_PFLMOD,MED_MAILLE,MED_TRIA6,1,"ms",5.5,2) < 0) {
    00230     MESSAGE("Erreur à l'écriture du champ : ");
    00231     SSCRUTE(nomcha1);ISCRUTE_int(1);ISCRUTE_int(2);SSCRUTE(MED_NOPFL);
    00232     SSCRUTE(maa3);
    00233     ret = -1;
    00234   };
    00235
    00236   /* Creation d'un profil (selection  du deuxieme élément de valr1_1) */
    00237   /* On n'utilise que la première valeur (2) du profil */
    00238   if ( MEDprofilEcr(fid,profil1,1,nomprofil1) < 0) {
    00239     MESSAGE("Erreur à l'écriture du profil : ");
    00240     SSCRUTE(nomprofil1);
    00241     ret = -1;
    00242   };
    00243
    00244
    00245   /* enregistre toutes les composantes du deuxième élément de valr1_1 (premier élément en stockage compact de valr1p),
    00246      au pas de temps n°2(5.6), et n°d'itération n°2*/
    00247   if ( MEDchampEcr(fid,maa1, nomcha1,(unsigned char*)valr1_3p,USER_INTERLACE,nval1_3,MED_NOGAUSS,
    00248                    MED_ALL,nomprofil1,USER_MODE,MED_MAILLE,MED_TRIA6,2,"ms",5.6,2) < 0) {
    00249     MESSAGE("Erreur à l'écriture du champ : ");
    00250     SSCRUTE(nomcha1);ISCRUTE_int(2);ISCRUTE_int(2);SSCRUTE(nomprofil1);
    00251     SSCRUTE(maa1);SSCRUTE(MED_NOLIEN);
    00252     ret = -1;
    00253   };
    00254
    00255   /* enregistre toutes les composantes du deuxième élément de valr1_1 (premier élément en stockage compact de valr1p),
    00256      au pas de temps n°2(5.6), et n°d'itération n°2 */
    00257   if ( MEDchampEcr(fid,maa2, nomcha1,(unsigned char*)valr1_2p,USER_INTERLACE,nval1_2,gauss1_2,
    00258                    MED_ALL,nomprofil1,USER_MODE,MED_MAILLE,MED_TRIA6,2,"ms",5.6,2) < 0) {
    00259     MESSAGE("Erreur à l'écriture du champ : ");
    00260     SSCRUTE(nomcha1);ISCRUTE_int(2);ISCRUTE_int(2);SSCRUTE(nomprofil1);
    00261     SSCRUTE(maa1);SSCRUTE(MED_NOLIEN);
    00262     ret = -1;
    00263   };
    00264
    00265
    00266   /* enregistre la composante n°2 du deuxième élément de valr1, au pas de temps n°2(5.7), et n°d'itération n°2*/
    00267   if ( MEDchampEcr(fid,maa1,nomcha1,(unsigned char*)valr1_3p,USER_INTERLACE,nval1_3,MED_NOGAUSS,
    00268                    2,nomprofil1,USER_MODE,MED_MAILLE,MED_TRIA6,3,"ms",5.7,2) < 0)  {
    00269     MESSAGE("Erreur à l'écriture du champ : ");
    00270     SSCRUTE(nomcha1);ISCRUTE_int(2);ISCRUTE_int(2);SSCRUTE(nomprofil1);
    00271     SSCRUTE(maa1);SSCRUTE(MED_NOLIEN);
    00272     ret = -1;
    00273   };
    00274
    00275
    00276
    00277   /* Ecriture du champ n° 2 */
    00278   /* TESTER EGALEMENT EN MODE FULL_INTERLACE EN MODIFIANT LA SIGNATURE DE LA ROUTINE */
    00279
    00280   /* enregistre la composante n°1 des éléments de valr2, et n'utilise ni pas de temps ni n° d'ordre */
    00281   if (MEDchampEcr(fid,maa1,nomcha2,(unsigned char*)valr2,USER_INTERLACE,nval2,MED_NOGAUSS,
    00282                   1,MED_NOPFL,MED_NO_PFLMOD,MED_ARETE,MED_SEG2,MED_NOPDT,"",0.0,MED_NONOR) < 0)  {
    00283     MESSAGE("Erreur à l'écriture du champ : ");
    00284     SSCRUTE(nomcha2);ISCRUTE_int(MED_NOPDT);ISCRUTE_int(MED_NONOR);SSCRUTE(MED_NOPFL);
    00285     SSCRUTE(maa1);SSCRUTE(MED_NOLIEN);
    00286     ret = -1;
    00287   };
    00288
    00289
    00290   /* enregistre la composante n°2 des éléments de valr2, et n'utilise ni pas de temps ni n° d'ordre */
    00291   /*        pour des raisons de complétude des tests on change le type d'élément (aucun sens phys.))*/
    00292   if (MEDchampEcr(fid,maa1,nomcha2,(unsigned char*)valr2,USER_INTERLACE,nval2,MED_NOGAUSS,
    00293                       2,MED_NOPFL,MED_NO_PFLMOD,MED_NOEUD,0,MED_NOPDT,"",0.0,MED_NONOR) < 0)  {
    00294     MESSAGE("Erreur à l'écriture du champ : ");
    00295     SSCRUTE(nomcha2);ISCRUTE_int(MED_NOPDT);ISCRUTE_int(MED_NONOR);SSCRUTE(MED_NOPFL);
    00296     SSCRUTE(maa1);SSCRUTE(MED_NOLIEN);
    00297     ret = -1;
    00298   };
    00299
    00300   /* enregistre la composante n°3 des éléments de valr2, et n'utilise ni pas de temps ni n° d'ordre */
    00301   /*        pour des raisons de complétude des tests on change le type d'élément (aucun sens phys.))*/
    00302   if ( MEDchampEcr(fid,maa1,nomcha2,(unsigned char*)valr2,USER_INTERLACE,nval2,MED_NOGAUSS,
    00303                    3,MED_NOPFL,MED_NO_PFLMOD,MED_FACE,MED_TRIA6,MED_NOPDT,"",0.0,MED_NONOR) < 0 ) {
    00304     MESSAGE("Erreur à l'écriture du champ : ");
    00305     SSCRUTE(nomcha2);ISCRUTE_int(MED_NOPDT);ISCRUTE_int(MED_NONOR);SSCRUTE(MED_NOPFL);
    00306     SSCRUTE(maa1);SSCRUTE(MED_NOLIEN);
    00307     ret = -1;
    00308   };
    00309
    00310   /* Creation d'un profil (selection  des éléments 1,3,5 de valr2) */
    00311   /* On utilise les trois valeurs du profil */
    00312   if ( MEDprofilEcr(fid,profil2,3,nomprofil2) < 0) {
    00313     MESSAGE("Erreur à l'écriture du profil : ");
    00314     SSCRUTE(nomprofil2);
    00315     ret = -1;
    00316   };
    00317
    00318   /* enregistre la composante n°3 des éléments du profil2 de valr2, et n'utilise ni pas de temps ni n° d'ordre */
    00319   if ( MEDchampEcr(fid,maa1,nomcha2,(unsigned char*)valr2p,USER_INTERLACE,nval2,MED_NOGAUSS,
    00320                       3,nomprofil2,USER_MODE,MED_MAILLE,MED_TRIA6,MED_NOPDT,"",0.0,MED_NONOR) < 0 ) {
    00321     MESSAGE("Erreur à l'écriture du champ : ");
    00322     SSCRUTE(nomcha2);ISCRUTE_int(MED_NOPDT);ISCRUTE_int(MED_NONOR);SSCRUTE(MED_NOPFL);
    00323     SSCRUTE(maa1);SSCRUTE(MED_NOLIEN);
    00324     ret = -1;
    00325   };
    00326
    00327   /* creation du champ entier n°3 */
    00328   if ( MEDchampCr(fid,nomcha3,MED_INT32,comp3,unit3,ncomp3) < 0) {
    00329     MESSAGE("Erreur à la création du champ : ");SSCRUTE(nomcha3);
    00330     ret = -1;
    00331   };
    00332
    00333   /* Ecriture du champ n° 3 */
    00334
    00335   /* enregistre la composante n°1 des éléments de valr3, et n'utilise ni pas de temps ni n° d'ordre */
    00336   if (MEDchampEcr(fid,maa1,nomcha3,(unsigned char*)valr3,USER_INTERLACE,nval3,MED_NOGAUSS,
    00337                   1,MED_NOPFL,MED_NO_PFLMOD,MED_NOEUD_MAILLE,MED_QUAD4,MED_NOPDT,"",0.0,MED_NONOR) < 0)  {
    00338     MESSAGE("Erreur à l'écriture du champ : ");
    00339     SSCRUTE(nomcha3);ISCRUTE_int(MED_NOPDT);ISCRUTE_int(MED_NONOR);SSCRUTE(MED_NOPFL);
    00340     SSCRUTE(maa1);SSCRUTE(MED_NOLIEN);
    00341     ret = -1;
    00342   };
    00343
    00344   /* enregistre les composantes des éléments de valr3, et n'utilise ni pas de temps ni n° d'ordre */
    00345   if (MEDchampEcr(fid,maa2,nomcha3,(unsigned char*)valr3,USER_INTERLACE,nval3,MED_NOGAUSS,
    00346                   MED_ALL,MED_NOPFL,MED_NO_PFLMOD,MED_NOEUD_MAILLE,MED_QUAD4,MED_NOPDT,"",0.0,MED_NONOR) < 0)  {
    00347     MESSAGE("Erreur à l'écriture du champ : ");
    00348     SSCRUTE(nomcha3);ISCRUTE_int(MED_NOPDT);ISCRUTE_int(MED_NONOR);SSCRUTE(MED_NOPFL);
    00349     SSCRUTE(maa2);SSCRUTE(MED_NOLIEN);
    00350     ret = -1;
    00351   };
    00352
    00353   /* enregistre les composantes des éléments de valr3, et n'utilise ni pas de temps ni n° d'ordre */
    00354   if (MEDchampEcr(fid,maa3,nomcha3,(unsigned char*)valr3p,USER_INTERLACE,nval3,MED_NOGAUSS,
    00355                   MED_ALL,nomprofil2,USER_MODE,MED_NOEUD_MAILLE,MED_QUAD4,MED_NOPDT,"",0.0,MED_NONOR) < 0)  {
    00356     MESSAGE("Erreur à l'écriture du champ : ");
    00357     SSCRUTE(nomcha3);ISCRUTE_int(MED_NOPDT);ISCRUTE_int(MED_NONOR);SSCRUTE(nomprofil2);
    00358     SSCRUTE(maa3);SSCRUTE(MED_NOLIEN);
    00359     ret = -1;
    00360   };
    00361
    00362
    00363   /* fermeture du fichier */
    00364   if ( MEDfermer(fid) < 0 ) ret=-1;
    00365
    00366   return ret;
    00367 }
    00368
    00369
    00370
    00371