48#include "implicit_f.inc"
57 CHARACTER(LEN=NCHARLINE),
INTENT(INOUT) :: FILENAME
58 INTEGER,
INTENT(IN) :: ID
59 CHARACTER(LEN=NCHARTITLE)::TITLE
67 CHARACTER MESS*40,BUFFER*14
68 CHARACTER(LEN=NCHARLINE) :: ROOTNAME
70 INTEGER NUM_CENTROIDS,N_CYCLE,K,ISUBMAT,NBMAT,NUM_NODE_VEL,,NB_COMP
71 my_real x_scale,y_scale,x_shift,y_shift,tt
72 INTEGER :: LEN, LEN_TMP_NAME
73 CHARACTER :: TMP_NAME*2048, FILNAM*204
74 INTEGER :: IFILNAM(2048),II, NCYCLE, NCELL_TOT, INIVERS
79 len = len_trim(filename)
82 IF( filnam(len-2:len) ==
".gz")
THEN
89 tmp_name=filnam(1:len)
91 ifilnam(ii)=ichar(tmp_name(ii:ii))
94 CALL open_c(ifilnam,len_tmp_name,7)
96 inquire( file=trim(filename), exist=file_exist )
97 IF(.NOT.file_exist)
THEN
98 inquire( file=trim(filename)//
".gz", exist=file_exist )
99 IF(.NOT.file_exist)
THEN
100 CALL ancmsg(msgid = 1885, anmode = aninfo, msgtype = msgerror, i1 = id, c1=title)
101 inimap2d%CORRECTLY_READ = .false.
113 IF(.NOT.
ALLOCATED(inimap2d%SUBMAT))
ALLOCATE(inimap2d%SUBMAT(nbmat)
116 IF(.NOT.
ALLOCATED(inimap2d%XVAL))
ALLOCATE(inimap2d%XVAL(2,num_centroids))
118 CALL read_db(inimap2d%XVAL(1,k),1)
121 CALL read_db(inimap2d%XVAL(2,k),1)
126 IF(.NOT.
ALLOCATED(inimap2d%SUBMAT(isubmat
ALLOCATE
127 DO k=1, num_centroids
128 CALL read_db(inimap2d%SUBMAT(isubmat)%VFRAC(1,k),1)
134 IF(.NOT.
ALLOCATED(inimap2d%SUBMAT(isubmat)%RHO))
ALLOCATE(inimap2d%SUBMAT(isubmat)%RHO(1,num_centroids))
135 DO k=1, num_centroids
136 CALL read_db(inimap2d%SUBMAT(isubmat)%RHO(1,k),1)
142 IF(.NOT.
ALLOCATED(inimap2d%SUBMAT(isubmat)%PRES))
ALLOCATE(inimap2d%SUBMAT(isubmat)%PRES(1,num_centroids
143 DO k=1, num_centroids
144 CALL read_db(inimap2d%SUBMAT(isubmat)%PRES(1,k),1)
149 IF(.NOT.
ALLOCATED(inimap2d%XVAL_V))
ALLOCATE(inimap2d%XVAL_V(2,num_node_vel))
150 IF(.NOT.
ALLOCATED(inimap2d%VEL))
ALLOCATE(inimap2d%VEL(2,num_node_vel))
151 IF(num_node_vel == num_centroids)
THEN
153 CALL read_db( inimap2d%VEL(1,k), 1)
154 inimap2d%XVAL_V(1,k) = inimap2d%XVAL(1,k)
157 CALL read_db( inimap2d%VEL(2,k), 1)
158 inimap2d%XVAL_V(2,k) = inimap2d%XVAL(2,k)
161 DO k=1, num_node_vel ;
CALL read_db( inimap2d%XVAL_V(1,k), 1) ;
ENDDO
162 DO k=1, num_node_vel ;
CALL read_db( inimap2d%XVAL_V(2,k), 1) ;
ENDDO
163 DO k=1, num_node_vel ;
CALL read_db( inimap2d%VEL(1,k), 1) ;
ENDDO
164 DO k=1, num_node_vel ;
CALL read_db( inimap2d%VEL(2,k), 1) ;
ENDDO
169 inimap2d%NBMAT = nbmat
170 inimap2d%NUM_CENTROIDS = num_centroids
171 inimap2d%NUM_NODE_VEL = num_node_vel
172 inimap2d%FUNC_VEL = -1
173 IF(.NOT.
ALLOCATED(inimap2d%FUNC_ALPHA))
ALLOCATE(inimap2d%FUNC_ALPHA(nbmat))
174 IF(.NOT.
ALLOCATED(inimap2d%FUNC_RHO))
ALLOCATE(inimap2d%FUNC_RHO(nbmat))
175 IF(.NOT.
ALLOCATED(inimap2d%FUNC_ENER))
ALLOCATE(inimap2d%FUNC_ENER(nbmat))
176 IF(.NOT.
ALLOCATED(inimap2d%FUNC_PRES))
ALLOCATE(inimap2d%FUNC_PRES(nbmat))
178 inimap2d%FUNC_ALPHA(isubmat) = -1
179 inimap2d%FUNC_RHO(isubmat) = -1
180 inimap2d%FUNC_ENER(isubmat) = -1
181 inimap2d%FUNC_PRES(isubmat) = -1
184 IF(.NOT.
ALLOCATED(inimap2d%FAC_RHO))
ALLOCATE(inimap2d%FAC_RHO(nbmat))
185 IF(.NOT.
ALLOCATED(inimap2d%FAC_PRES_ENER))
ALLOCATE(inimap2d%FAC_PRES_ENER(nbmat))
187 inimap2d%FAC_RHO(isubmat) = one
188 inimap2d%FAC_PRES_ENER(isubmat) = one
190 inimap2d%FAC_VEL = one
195 999
CALL ancmsg(msgid = 1885, anmode = aninfo, msgtype = msgerror,
196 . i1 = inimap2d%ID, c1 = inimap2d%TITLE)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)