132 SUBROUTINE w3wdas ( DASFLAG, RECL, NDAT, DATA0, DATA1, DATA2 )
212 INTEGER,
INTENT(IN) :: RECL(3), NDAT(3)
213 REAL,
INTENT(IN) :: DATA0(RECL(1),NDAT(1))
214 REAL,
INTENT(IN) :: DATA1(RECL(2),NDAT(2))
215 REAL,
INTENT(IN) :: DATA2(RECL(3),NDAT(3))
216 LOGICAL,
INTENT(IN) :: DASFLAG(3)
223 INTEGER :: MREC, MDAT, IREC, IDAT
226 INTEGER,
SAVE :: IENT = 0
229 REAL,
ALLOCATABLE :: TDATA(:,:)
237 CALL strace (ient,
'W3WDAS')
246 IF ( dasflag(j) )
THEN
247 WRITE (
ndst,9001) j, dasflag(j), recl(j), ndat(j)
248 mrec = min(recl(j),6)
249 mdat = min(ndat(j),10)
250 IF (
ALLOCATED(tdata) )
DEALLOCATE (tdata)
251 ALLOCATE ( tdata(recl(j),mdat) )
252 IF ( j .EQ. 1 ) tdata = data0(:,1:mdat)
253 IF ( j .EQ. 2 ) tdata = data1(:,1:mdat)
254 IF ( j .EQ. 3 ) tdata = data2(:,1:mdat)
256 WRITE (
ndst,9002) idat, tdata(1:mrec,idat)
257 IF ( mrec .LT. recl(j) )
WRITE (
ndst,9003) &
258 tdata(mrec+1:recl(j),idat)
261 WRITE (
ndst,9001) j, dasflag(j)
264 IF (
ALLOCATED(tdata) )
DEALLOCATE (tdata)
299 9000
FORMAT (
' TEST W3WDAS : UNIT NUMBERS : ',4i4/ &
300 ' MPI SETTINGS : ',4i4/ &
301 ' TIME : ',i8.8,i7.6)
302 9001
FORMAT (
' DATASET INFO : ',i1,l2,2i8)
303 9002
FORMAT (17x,i2,6e10.3)
304 9003
FORMAT (19x, 6e10.3)
308 9010
FORMAT (
' TEST W3WDAS : ARRAY DIMS. : ',6i8/ &
309 ' GRID : ',1i2,1l2,4e11.4)