5 &(fformat,nfile,mesh,nplan,date,time,t1,t2,
6 & parall,nptir,ngeo,geoformat,latlong)
81 CHARACTER(LEN=8),
INTENT(IN ) :: FFORMAT
82 INTEGER ,
INTENT(IN ) :: NFILE,NPLAN
84 TYPE(
bief_obj ),
INTENT(INOUT):: T1,T2
85 INTEGER,
DIMENSION(3),
INTENT(IN ) :: DATE
86 INTEGER,
DIMENSION(3),
INTENT(IN ) :: TIME
87 LOGICAL,
INTENT(IN ) :: PARALL
88 INTEGER,
INTENT(IN ) :: NPTIR
89 INTEGER ,
OPTIONAL,
INTENT(IN ) :: NGEO
90 CHARACTER(LEN=8),
OPTIONAL,
INTENT(IN ) :: GEOFORMAT
91 LOGICAL ,
OPTIONAL,
INTENT(IN ) :: LATLONG
95 INTEGER :: IERR, I, NDP,NDIM,NPOIN,IPLAN
96 INTEGER,
ALLOCATABLE :: IPOBO(:)
97 INTEGER,
ALLOCATABLE :: IKLE_BND(:)
104 IF(
PRESENT(latlong))yesll=latlong
108 ALLOCATE(ipobo(mesh%NPOIN),stat=ierr)
109 CALL check_allocate(ierr,
'IPOBO')
114 ipobo(mesh%NBOR%I(i)) = i
118 ALLOCATE(ipobo(mesh%NPOIN),stat=ierr)
119 CALL check_allocate(ierr,
'IPOBO')
121 ipobo(i) = mesh%KNOLG%I(i)
125 CALL check_allocate(ierr,
'IPOBO')
127 ndp = mesh%NDS(mesh%TYPELM+1,3)
130 IF(yesll.AND.
PRESENT(geoformat).AND.
PRESENT(ngeo))
THEN 132 npoin=mesh%NPOIN/nplan
138 WRITE(
lu,*)
'WRITE_MESH : ERROR WHILE READING X ARRAY' 144 WRITE(
lu,*)
'WRITE_MESH : ERROR WHILE READING Y ARRAY' 148 CALL corrxy(t1%R,t2%R,npoin)
150 IF(mesh%DIM1.EQ.3)
THEN 153 t1%R(i+(iplan-1)*npoin) = t1%R(i)
154 t2%R(i+(iplan-1)*npoin) = t2%R(i)
158 CALL set_mesh(fformat,nfile,mesh%DIM1,mesh%TYPELM,ndp,
159 & mesh%NPTFR,nptir,mesh%NELEM,mesh%NPOIN,
160 & mesh%IKLE%I,ipobo,mesh%KNOLG%I,t1%R,t2%R,
161 & nplan,date,time,mesh%X_ORIG,mesh%Y_ORIG,
163 CALL check_call(ierr,
'WRITE_MESH:SET_MESH')
165 CALL set_mesh(fformat,nfile,mesh%DIM1,mesh%TYPELM,ndp,
166 & mesh%NPTFR,nptir,mesh%NELEM,mesh%NPOIN,
167 & mesh%IKLE%I,ipobo,mesh%KNOLG%I,t1%R,t2%R,
168 & nplan,date,time,mesh%X_ORIG,mesh%Y_ORIG,
170 CALL check_call(ierr,
'WRITE_MESH:SET_MESH')
174 IF(mesh%DIM1.EQ.3)
THEN 175 CALL set_mesh(fformat,nfile,mesh%DIM1,mesh%TYPELM,ndp,
176 & mesh%NPTFR,nptir,mesh%NELEM,mesh%NPOIN,
177 & mesh%IKLE%I,ipobo,mesh%KNOLG%I,mesh%X%R,mesh%Y%R,
178 & nplan,date,time,mesh%X_ORIG,mesh%Y_ORIG,
180 CALL check_call(ierr,
'WRITE_MESH:SET_MESH')
182 CALL set_mesh(fformat,nfile,mesh%DIM1,mesh%TYPELM,ndp,
183 & mesh%NPTFR,nptir,mesh%NELEM,mesh%NPOIN,
184 & mesh%IKLE%I,ipobo,mesh%KNOLG%I,mesh%X%R,mesh%Y%R,
185 & nplan,date,time,mesh%X_ORIG,mesh%Y_ORIG,
187 CALL check_call(ierr,
'WRITE_MESH:SET_MESH')
195 IF(
PRESENT(ngeo))
THEN 196 IF((.NOT.parall).AND.geoformat.EQ.fformat)
THEN 199 CALL check_call(ierr,
'WRITE_MESH:GET_BND_NELEM')
201 ALLOCATE(ikle_bnd(nelebd*2), stat=ierr)
203 & nelebd, 2, ikle_bnd, ierr)
204 CALL check_call(ierr,
'WRITE_MESH:GET_BND_CONNECTIVITYO')
207 & mesh%TYPELMBND,ikle_bnd,nelebd,2,.true.,.false.,ierr)
208 CALL check_call(ierr,
'WRITE_MESH:TRANSFER_GROUP_INFO')
subroutine write_mesh(FFORMAT, NFILE, MESH, NPLAN, DATE, TIME, T1, T2, PARALL, NPTIR, NGEO, GEOFORMAT, LATLONG)
subroutine transfer_group_info(FFORMAT, FID, FID2, TYPE_ELT, TYPE_BND_ELT, IKLE_BND, NELEBD, NDP, TRANS_ELEM, TRANS_POINT, IERR)
subroutine get_bnd_connectivity(FFORMAT, FID, TYP_BND_ELEM, NELEBD, NDP, IKLE_BND, IERR)
subroutine set_mesh(FFORMAT, FILE_ID, MESH_DIM, TYPELM, NDP, NPTFR, NPTIR, NELEM, NPOIN, IKLE, IPOBO, KNOLG, X, Y, NPLAN, DATE, TIME, X_ORIG, Y_ORIG, IERR, Z, IN_PLACE)
subroutine corrxy(X, Y, NPOIN)
subroutine get_bnd_nelem(FFORMAT, FID, TYPE_BND_ELEM, NELEM, IERR)
subroutine get_mesh_coord(FFORMAT, FID, JDIM, NDIM, NPOIN, COORD, IERR)