5 &( ltl,atl,npoin2,npoin3, xflot,yflot,zflot,tagflo,clsflo,
6 & nflot,nflot_max,floprd,deja, t2dflo,t2dblo, mardat,martim )
58 DOUBLE PRECISION,
INTENT(IN) :: ATL
59 INTEGER ,
INTENT(IN) :: FLOPRD,LTL
60 INTEGER ,
INTENT(IN) :: MARDAT(3),MARTIM(3)
61 INTEGER ,
INTENT(IN) :: NFLOT,NFLOT_MAX,NPOIN2,NPOIN3
62 DOUBLE PRECISION,
INTENT(INOUT) :: XFLOT(nflot_max)
63 DOUBLE PRECISION,
INTENT(INOUT) :: YFLOT(nflot_max)
64 DOUBLE PRECISION,
INTENT(INOUT) :: ZFLOT(nflot_max)
65 INTEGER ,
INTENT(INOUT) :: TAGFLO(nflot_max)
66 INTEGER ,
INTENT(INOUT) :: CLSFLO(nflot_max)
67 TYPE(bief_file) ,
INTENT(IN) :: T2DFLO,T2DBLO
68 LOGICAL ,
INTENT(INOUT) :: DEJA
72 INTEGER ID, LUFLO,LUBLO, IPROC,IFLOT, NFLOTG
74 INTEGER NFLOT_START, NFLOTG_START
77 CHARACTER(LEN=32) TEXTE(3)
79 INTEGER CURDAT(3),CURTIM(3),MILSEC
82 CHARACTER(LEN=11) EXTENS
98 IF( t2dblo%FMT .EQ.
'TECPLOT ' .AND. t2dflo%NAME.NE.
'' )
THEN 102 texte(3)=
'ELEVATION Z M ' 103 WRITE(luflo,100)
'TITLE = "DROGUES FILE"' 104 IF( npoin2.EQ.npoin3 )
THEN 105 WRITE(luflo,100)
'VARIABLES = "LABELS","'//
106 & texte(1)//
'","'//texte(2)//
109 WRITE(luflo,100)
'VARIABLES = "LABELS","'//
110 & texte(1)//
'","'//texte(2)//
'","'//texte(3)//
116 IF( t2dblo%FMT .EQ.
'BKBINPCL' .AND. t2dblo%NAME.NE.
'' )
THEN 120 OPEN( lublo, file=trim(t2dblo%TELNAME),form=
'FORMATTED',
121 & access=
'STREAM', action=
'WRITE')
122 WRITE(lublo,100)
':FileType pcl BINARY EnSim 1.0' 123 WRITE(lublo,100)
':WrittenBy TELEMAC' 124 WRITE(lublo,100)
':CreationTime 2018/08/21 14:16:28.000' 125 WRITE(lublo,100)
':Name ' //
'DROGUES_FILE' 126 IF( npoin2.EQ.npoin3 )
THEN 127 WRITE(lublo,100)
':AttributeCount 1 TAG' 128 WRITE(lublo,100)
':AttributeCount 2 CLASS' 129 WRITE(lublo,100)
':AttributeUnits 1 #' 130 WRITE(lublo,100)
':AttributeUnits 2 #' 132 WRITE(lublo,100)
':AttributeCount 1 Z' 133 WRITE(lublo,100)
':AttributeCount 2 TAG' 134 WRITE(lublo,100)
':AttributeCount 3 CLASS' 135 WRITE(lublo,100)
':AttributeUnits 1 M' 136 WRITE(lublo,100)
':AttributeUnits 2 #' 137 WRITE(lublo,100)
':AttributeUnits 3 #' 139 WRITE(lublo,100)
':EndHeader' 143 OPEN( lublo, file=trim(t2dblo%TELNAME),form=
'UNFORMATTED',
144 & action=
'WRITE',convert=
'LITTLE_ENDIAN',
145 & access=
'STREAM', status=
'OLD',position=
'APPEND')
156 nflot_start = nflot_max
157 nflotg_start = nflot_start
159 IF( (ltl/floprd)*floprd.NE.ltl )
RETURN 163 milsec = int( 1000.d0*( atl - int(atl) ) )
164 jat =
jultim(curdat(1),curdat(2),curdat(3),
165 & curtim(1),curtim(2),curtim(3),(1.d0*int(atl)) )
166 CALL gregtim(jat,curdat(1),curdat(2),curdat(3),
167 & curtim(1),curtim(2),curtim(3))
173 IF( ncsize.GT.1 )
THEN 183 nflotg =
p_sum(nflot)
184 IF( nflotg.GT.0 )
THEN 187 IF( t2dblo%FMT .EQ.
'TECPLOT ' .AND. t2dflo%NAME.NE.
'' )
THEN 194 OPEN(id,file=extens(ncsize,ipid+1),form=
'UNFORMATTED',
195 & status=
'NEW',action=
'WRITE',access=
'STREAM')
196 IF( npoin2.EQ.npoin3 )
THEN 198 WRITE(id) tagflo(iflot),
REAL(XFLOT(IFLOT)),
199 &
REAL(YFLOT(IFLOT)),1
203 WRITE(id) tagflo(iflot),
REAL(XFLOT(IFLOT)),
204 &
REAL(YFLOT(IFLOT)),
REAL(ZFLOT(IFLOT)),1
219 WRITE(luflo,200)
'ZONE DATAPACKING=POINT, T="G_',atl,
220 &
' SECONDS"',
', I=',nflotg,
', SOLUTIONTIME=',atl
222 INQUIRE(file=extens(ncsize,iproc),exist=yesitdoes)
224 OPEN(id,file=extens(ncsize,iproc),form=
'UNFORMATTED',
225 & status=
'OLD',action=
'READ',access=
'STREAM')
226 IF( npoin2.EQ.npoin3 )
THEN 228 READ(id,err=24,end=24) i1,r1,r2,i2
229 WRITE(luflo,300) i1,r1,r2,i2
233 READ(id,err=24,end=24) i1,r1,r2,r3,i2
234 WRITE(luflo,301) i1,r1,r2,r3,i2
238 CLOSE(id,status=
'DELETE')
246 IF( t2dblo%FMT .EQ.
'BKBINPCL' .AND. t2dblo%NAME.NE.
'' )
THEN 253 OPEN(id,file=extens(ncsize,ipid+1),form=
'UNFORMATTED',
254 & status=
'NEW',action=
'WRITE',access=
'STREAM')
256 WRITE(id) ( tagflo(iflot), iflot = 1,nflot )
257 WRITE(id) ( clsflo(iflot), iflot = 1,nflot )
258 WRITE(id) ( xflot(iflot), iflot = 1,nflot )
259 WRITE(id) ( yflot(iflot), iflot = 1,nflot )
260 IF( npoin2.NE.npoin3 )
THEN 261 WRITE(id) ( zflot(iflot), iflot = 1,nflot )
281 & curdat(1),curdat(2),curdat(3),
282 & curtim(1),curtim(2),curtim(3),milsec
283 WRITE(lublo) nflotg_start
286 INQUIRE(file=extens(ncsize,iproc),exist=yesitdoes)
288 OPEN(id,file=extens(ncsize,iproc),form=
'UNFORMATTED',
289 & status=
'OLD',action=
'READ',access=
'STREAM')
291 READ(id) ( tagflo(i2+iflot), iflot = 1,i1 )
292 READ(id) ( clsflo(i2+iflot), iflot = 1,i1 )
293 READ(id) ( xflot(i2+iflot), iflot = 1,i1 )
294 READ(id) ( yflot(i2+iflot), iflot = 1,i1 )
295 IF( npoin2.NE.npoin3 )
THEN 296 READ(id) ( zflot(i2+iflot), iflot = 1,i1 )
298 CLOSE(id,status=
'DELETE')
303 DO iflot = nflotg+1,nflotg_start
307 tagflo(iflot) = iflot
312 & (
REAL(XFLOT(IFLOT)), IFLOT = 1,nflotg_start )
314 & (
REAL(YFLOT(IFLOT)), IFLOT = 1,nflotg_start )
315 IF( npoin2.NE.npoin3 )
THEN 317 & (
REAL(ZFLOT(IFLOT)), IFLOT = 1,nflotg_start )
320 & (
REAL(TAGFLO(IFLOT)), IFLOT = 1,nflotg_start )
322 & (
REAL(CLSFLO(IFLOT)), IFLOT = 1,nflotg_start )
323 WRITE(lublo) nflotg_start
335 IF( nflot.GT.0 )
THEN 338 IF( t2dblo%FMT .EQ.
'TECPLOT ' .AND. t2dflo%NAME.NE.
'' )
THEN 341 WRITE(luflo,200)
'ZONE DATAPACKING=POINT, T="G_',atl,
342 &
' SECONDS"',
', I=',nflot,
', SOLUTIONTIME=',atl
343 IF( npoin2.EQ.npoin3 )
THEN 345 WRITE(luflo,300) tagflo(iflot),
346 & xflot(iflot),yflot(iflot),1
350 WRITE(luflo,301) tagflo(iflot),
351 & xflot(iflot),yflot(iflot),zflot(iflot),1
358 IF( t2dblo%FMT .EQ.
'BKBINPCL' .AND. t2dblo%NAME.NE.
'' )
THEN 363 & curdat(1),curdat(2),curdat(3),
364 & curtim(1),curtim(2),curtim(3),milsec
365 WRITE(lublo) nflot_start
367 DO iflot = nflot+1,nflot_start
374 & (
REAL(XFLOT(IFLOT)), IFLOT = 1,nflot_start )
376 & (
REAL(YFLOT(IFLOT)), IFLOT = 1,nflot_start )
377 IF( npoin2.NE.npoin3 )
THEN 379 & (
REAL(ZFLOT(IFLOT)), IFLOT = 1,nflot_start )
382 & (
REAL(TAGFLO(IFLOT)), IFLOT = 1,nflot_start )
384 & (
REAL(CLSFLO(IFLOT)), IFLOT = 1,nflot_start )
385 WRITE(lublo) nflot_start
396 200
FORMAT(a,f12.4,a,a,i4,a,f12.4)
397 300
FORMAT(i6,
',',f16.8,
',',f16.8,
',',i2)
398 301
FORMAT(i6,
',',f16.8,
',',f16.8,
',',f16.8,
',',i2)
subroutine utimp_drogues(LTL, ATL, NPOIN2, NPOIN3, XFLOT, YFLOT, ZFLOT, TAGFLO, CLSFLO, NFLOT, NFLOT_MAX, FLOPRD, DEJA, T2DFLO, T2DBLO, MARDAT, MARTIM)
subroutine gregtim(JULTIM, YEAR, MONTH, DAY, HOUR, MINU, SEC)
double precision function jultim(YEAR, MONTH, DAY, HOUR, MINU, SEC, AT)