34 integer mdim,nind,nmaa,
type,quoi,rep,typmaa
35 integer edim,nstep,stype,atype, chgt, tsf
42 character*16 nomcoo(2), unicoo(2)
48 character(16) :: dtunit
52 call mfiope(fid,
'test27.med',med_acc_rdonly, cret)
53 if (cret .ne. 0 )
then
54 print *,
'Erreur ouverture du fichier'
58 print *,
'Ouverture du fichier test27.med'
63 if (cret .ne. 0 )
then
64 print *,
'Erreur lecture du nombre de maillage'
74 call mmhmii(fid,i,maa,edim,mdim,
type,desc,
75 & dtunit,stype,nstep,atype,
78 if (cret .ne. 0 )
then
79 print *,
'Erreur lecture maillage info'
82 print *,
'Maillage de nom : ',maa
83 print *,
'- Dimension : ',mdim
84 if (type.eq.med_structured_mesh)
then
85 print *,
'- Type : structure'
87 print *,
'- Type : non structure'
91 if (type.eq.med_structured_mesh)
then
92 call mmhgtr(fid,maa,typmaa,cret)
94 if (cret .ne. 0 )
then
95 print *,
'Erreur lecture nature de la grille'
98 if (typmaa.eq.med_cartesian_grid)
then
99 print *,
'- Nature de la grille : cartesienne'
101 if (typmaa.eq.med_curvilinear_grid)
then
102 print *,
'- Nature de la grille : curviligne'
108 if ((typmaa.eq.med_curvilinear_grid)
109 & .and. (type.eq.med_structured_mesh))
then
111 call mmhnme(fid,maa,med_no_dt,med_no_it,med_node,
112 & med_none,med_coordinate,med_no_cmode,
113 & chgt,tsf,nnoe,cret)
115 if (cret .ne. 0 )
then
116 print *,
'Erreur lecture nombre de noeud'
119 print *,
'- Nombre de noeuds : ',nnoe
121 call mmhgsr(fid,maa,med_no_dt,med_no_it,strgri,cret)
124 if (cret .ne. 0 )
then
125 print *,
'Erreur lecture structure de la grille'
128 print *,
'- Structure de la grille : ',strgri
130 call mmhcor(fid,maa,med_no_dt,med_no_it,
131 & med_full_interlace,coo,cret)
133 if (cret .ne. 0 )
then
134 print *,
'Erreur lecture des coordonnees des noeuds'
137 print *,
'- Coordonnees :'
143 if ((typmaa.eq.med_cartesian_grid)
144 & .and. (type.eq. med_structured_mesh))
then
148 quoi = med_coordinate_axis1
151 quoi = med_coordinate_axis2
154 quoi = med_coordinate_axis3
158 call mmhnme(fid,maa,med_no_dt,med_no_it,med_node,
159 & med_none,quoi,med_no_cmode,
160 & chgt,tsf,nind,cret)
162 if (cret .ne. 0 )
then
163 print *,
'Erreur lecture taille indice'
167 print *,
'- Nombre d indices : ',nind
169 call mmhgcr(fid,maa,med_no_dt,med_no_it,
172 if (cret .ne. 0 )
then
173 print *,é
'Erreur lecture indices de coordonnes'
176 print *,
'- Axe ', nomcoo
177 print *,
' unite : ',unicoo
190 if (cret .ne. 0 )
then
191 print *,
'Erreur fermeture du fichier'
194 print *,
'Fermeture du fichier'
subroutine mfiope(fid, name, access, cret)
Ouverture d'un fichier MED.
subroutine mficlo(fid, cret)
Fermeture d'un fichier MED.
subroutine mmhnmh(fid, n, cret)
Cette routine permet de lire le nombre de maillages dans un fichier.
subroutine mmhgtr(fid, name, gtype, cret)
Cette routine permet de lire le type d'un maillage structuré (MED_STRUCTURED_MESH).
subroutine mmhnme(fid, name, numdt, numit, entype, geotype, datype, cmode, chgt, tsf, n, cret)
Cette routine permet de lire le nombre d'entités dans un maillage pour une étape de calcul donnée.
subroutine mmhmii(fid, it, name, sdim, mdim, mtype, desc, dtunit, stype, nstep, atype, aname, aunit, cret)
Cette routine permet de lire les informations relatives à un maillage dans un fichier.
subroutine mmhgsr(fid, name, numdt, numit, st, cret)
subroutine mmhcor(fid, name, numdt, numit, swm, coo, cret)
subroutine mmhgcr(fid, name, numdt, numit, axis, index, cret)