00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022       program MEDsupportMesh2
00023 
00024       implicit none
00025       include 'med.hf'
00026 
00027 
00028       integer cret
00029       integer fid
00030       character*64  fname
00031       parameter (fname = "Unittest_MEDsupportMesh_1.med")
00032       character*64 smname1
00033       integer sdim1,mdim1
00034       parameter (sdim1=2, mdim1=2)
00035       integer sdim2,mdim2
00036       parameter (sdim2=3,mdim2=2)
00037       parameter (smname1 = "supportMesh1")
00038       character*64 smname2
00039       parameter (smname2 = "supportMesh2")
00040       character*200 description1
00041       parameter (description1="support mesh1 description")
00042       character*200 description2
00043       parameter (description2="support mesh2 description")
00044       character*16 nomcoo2D(2)
00045       character*16 unicoo2D(2)
00046       data  nomcoo2D /"x","y"/, unicoo2D /"cm","cm"/
00047       character*16 nomcoo3D(3)
00048       character*16 unicoo3D(3)
00049       data  nomcoo3D /"x","y","z"/, unicoo3D /"cm","cm","cm"/
00050       integer atype1, atype2
00051       parameter (atype1=MED_CARTESIAN, atype2=MED_CARTESIAN)
00052       integer nsmesh, i
00053       character*64  smname
00054       character*16 aunit(3), aname(3)
00055       character*200 description
00056       integer sdim, mdim, atype
00057 
00058 
00059 
00060       call mfiope(fid,fname,MED_ACC_RDONLY,cret)
00061       print *,'Open file in RD_ONLY access mode',cret
00062       if (cret .ne. 0 ) then
00063          print *,'ERROR : open file in READ_ONLY access mode'
00064          call efexit(-1)
00065       endif  
00066 
00067 
00068 
00069       call  msmnan(fid,smname1,sdim,cret)
00070       print *,'Number of axis (by name) : ',sdim
00071       if (cret .ne. 0 ) then
00072          print *,'ERROR : read number of axis (by name)'
00073          call efexit(-1)
00074       endif  
00075       if (sdim .ne. sdim1) then
00076          print *,'ERROR : number of axis (by name)'
00077          call efexit(-1)         
00078       endif
00079 
00080       call  msmnan(fid,smname2,sdim,cret)
00081       print *,'Number of axis (by name) : ',sdim
00082       if (cret .ne. 0 ) then
00083          print *,'ERROR : read number of axis (by name)'
00084          call efexit(-1)
00085       endif  
00086       if (sdim .ne. sdim2) then
00087          print *,'ERROR : number of axis (by name)'
00088          call efexit(-1)         
00089       endif
00090 
00091 
00092 
00093       call  msmsni(fid,smname1,sdim,mdim, 
00094      &             description,atype, 
00095      &             aname, aunit, cret)
00096       print *,'Support mesh information by name',cret
00097       if (cret .ne. 0 ) then
00098          print *,'ERROR : read support mesh information by name'
00099          call efexit(-1)
00100       endif  
00101       if ((sdim .ne. sdim1) .or.
00102      &    (mdim .ne. mdim1) .or.
00103      &    (description .ne. description1) .or.
00104      &    (atype .ne. atype1) .or.
00105      &    (aunit(1) .ne. unicoo2D(1)) .or.
00106      &    (aunit(2) .ne. unicoo2D(2)) .or.
00107      &    (aname(1) .ne. nomcoo2D(1)) .or.
00108      &    (aname(2) .ne. nomcoo2D(2))
00109      & ) then
00110          print *,'ERROR : support mesh information by name'
00111          call efexit(-1)
00112       endif  
00113 
00114 
00115 
00116       call  msmsni(fid,smname2,sdim,mdim, 
00117      &             description,atype, 
00118      &             aname, aunit, cret)
00119       print *,'Support mesh information by name',cret
00120       if (cret .ne. 0 ) then
00121          print *,'ERROR : read support mesh information by name'
00122          call efexit(-1)
00123       endif  
00124       if ((sdim .ne. sdim2) .or.
00125      &    (mdim .ne. mdim2) .or.
00126      &    (description .ne. description2) .or.
00127      &    (atype .ne. atype2) .or.
00128      &    (aunit(1) .ne. unicoo3D(1)) .or.
00129      &    (aunit(2) .ne. unicoo3D(2)) .or.
00130      &    (aunit(3) .ne. unicoo3D(3)) .or.
00131      &    (aname(1) .ne. nomcoo3D(1)) .or.
00132      &    (aname(2) .ne. nomcoo3D(2)) .or.
00133      &    (aname(3) .ne. nomcoo3D(3))
00134      & ) then
00135          print *,'ERROR : support mesh information by name'
00136          call efexit(-1)
00137       endif  
00138 
00139 
00140 
00141       call mficlo(fid,cret)
00142       print *,'Close file',cret
00143       if (cret .ne. 0 ) then
00144          print *,'ERROR :  close file'
00145          call efexit(-1)
00146       endif
00147 
00148 
00149 
00150       end
00151