198 ipass =>
ipass2, icefo, iceo, iceho
200 USE w3odatmd,
ONLY: tauao, taudo, dairo
231 INTEGER :: ndsi, ndsm, ndsop, ndstrc, ntrace, &
232 ierr, i, nout, nreq, itype, otype, &
233 ipoint, iotest, ith, iout, j, dimxp, &
234 icode, strl, strl2, flww3, nbfileout,&
235 s5, s3, nbstation, nctype, &
236 ncflush, nfl, mfl, ifl, nreql, noutl,&
237 ndsen, one, two, iret, ip, ncvartype
238 INTEGER :: iscale = 0
239 INTEGER :: dimid(7), dimln(5), varid(28), &
240 startdate(8), stopdate(8), &
241 tout(2), tdum(2), toutl(2)
249 INTEGER,
SAVE :: ient = 0
254 #if defined W3_NCO && !defined W3_T
258 INTEGER,
ALLOCATABLE :: indreq(:), indreqtmp(:)
259 INTEGER,
ALLOCATABLE :: ncid(:)
261 REAL :: dtreq, scale1, scale2, dtest
265 REAL,
ALLOCATABLE :: thd(:)
266 REAL,
ALLOCATABLE :: xpart(:,:)
268 CHARACTER(LEN=16) :: date, pastdate
269 CHARACTER(LEN=30) :: fileprefix, strstartdate, strstopdate
270 CHARACTER :: comstr*1, idtime*23, iddday*11, &
271 filetime*16, globalatt*120, &
272 attname*120, attval*120
273 CHARACTER(LEN=20) :: format1
274 CHARACTER(LEN=8) :: ext
275 CHARACTER(LEN=128) :: ncname
276 CHARACTER(LEN=25) :: idsrce(7)
279 CHARACTER(LEN=100),
ALLOCATABLE :: pointlist(:)
280 CHARACTER(LEN=128),
ALLOCATABLE :: ncfile(:)
283 LOGICAL :: together, order, flgnml
284 LOGICAL,
ALLOCATABLE :: flreq(:)
289 DATA idsrce /
'Spectrum ' , &
290 'Wind-wave interactions ' , &
291 'Nonlinear interactions ' , &
293 'Wave-bottom interactions ' , &
294 'Wave-ice interactions ' , &
295 'Sum of selected sources ' /
308 CALL w3setw ( 1, 6, 6 )
314 CALL w3seto ( 1, 6, 6 )
322 CALL itrace ( ndstrc, ntrace )
325 CALL strace (ient,
'W3OUNP')
357 CALL mpi_init ( ierr_mpi )
358 CALL mpi_comm_size ( mpi_comm_world, naproc, ierr_mpi )
359 CALL mpi_comm_rank ( mpi_comm_world, iaproc, ierr_mpi )
363 IF ( iaproc .EQ. naperr )
THEN
369 IF ( iaproc .EQ. napout )
WRITE (ndso,900)
374 CALL w3iogr (
'READ', ndsm )
375 IF ( iaproc .EQ. napout )
WRITE (ndso,920)
gname
383 dimxp = ((
nk+1)/2) * ((
nth-1)/2)
384 ALLOCATE ( xpart(dimp,0:dimxp) )
391 CALL w3iopon (
'READ', ndsop, iotest )
393 CALL w3iopo (
'READ', ndsop, iotest )
396 IF ( iaproc .EQ. napout )
WRITE (ndso,930)
399 IF ( iaproc .EQ. napout )
WRITE (ndso,931) ptnme(i), m2km*ptloc(1,i), m2km*ptloc(2,i)
401 IF ( iaproc .EQ. napout )
WRITE (ndso,932) ptnme(i), m2km*ptloc(1,i), m2km*ptloc(2,i)
412 INQUIRE(
file=trim(fnmpre)//
"ww3_ounp.nml", exist=flgnml)
415 CALL w3nmlounp (ndsi, trim(fnmpre)//
'ww3_ounp.nml', nml_point, nml_file, &
416 nml_spectra, nml_param, nml_source, ierr)
419 READ(nml_point%TIMESTRIDE, *) dtreq
420 READ(nml_point%TIMECOUNT, *) nout
421 READ(nml_point%TIMESTART, *) tout(1), tout(2)
424 ALLOCATE(pointlist(nopts+1))
426 CALL strsplit(nml_point%LIST,pointlist)
428 ALLOCATE ( flreq(nopts) )
429 ALLOCATE ( indreqtmp(nopts) )
432 ALLOCATE (ncfile(nopts))
433 ALLOCATE (ncid(nopts))
436 IF (trim(pointlist(1)).EQ.
'all')
THEN
439 indreqtmp=(/(j,j=1,nreq)/)
443 DO WHILE (len_trim(pointlist(ip+1)).NE.0)
445 READ(pointlist(ip),*) ipoint
447 IF ((ipoint .LE. nopts) .AND. (nreq .LT. nopts))
THEN
448 IF ( .NOT. flreq(ipoint) )
THEN
450 indreqtmp(nreq)=ipoint
452 flreq(ipoint) = .true.
459 fileprefix = nml_file%PREFIX
460 nctype = nml_file%NETCDF
461 s3 = nml_point%TIMESPLIT
462 together = nml_point%SAMEFILE
463 mfl = nml_point%BUFFER
464 itype = nml_point%TYPE
465 order = nml_point%DIMORDER
467 IF (itype .EQ. 1)
THEN
468 otype = nml_spectra%OUTPUT
469 scale1 = nml_spectra%SCALE_FAC
470 scale2 = nml_spectra%OUTPUT_FAC
471 ncvartype = nml_spectra%TYPE
472 ELSE IF (itype .EQ. 2)
THEN
473 otype = nml_param%OUTPUT
474 ELSE IF (itype .EQ. 3)
THEN
475 otype = nml_source%OUTPUT
476 scale1 = nml_source%SCALE_FAC
477 scale2 = nml_source%OUTPUT_FAC
478 flsrce(1) = nml_source%SPECTRUM
479 flsrce(2) = nml_source%INPUT
480 flsrce(3) = nml_source%INTERACTIONS
481 flsrce(4) = nml_source%DISSIPATION
482 flsrce(5) = nml_source%BOTTOM
483 flsrce(6) = nml_source%ICE
484 flsrce(7) = nml_source%TOTAL
485 iscale = nml_source%TABLE_FAC
494 IF (.NOT. flgnml)
THEN
495 OPEN (ndsi,
file=trim(fnmpre)//
'ww3_ounp.inp',status=
'OLD',err=800,iostat=ierr)
498 READ (ndsi,
'(A)',
END=801,ERR=802,IOSTAT=IERR) comstr
499 IF (comstr.EQ.
' ') comstr =
'$'
500 IF ( iaproc .EQ. napout )
WRITE (ndso,901) comstr
501 CALL nextln ( comstr , ndsi , ndse )
504 READ (ndsi,*,
END=801,ERR=802) TOUT, DTREQ, nout
507 ALLOCATE ( flreq(nopts) )
508 ALLOCATE ( indreqtmp(nopts) )
511 ALLOCATE (ncfile(nopts))
512 ALLOCATE (ncid(nopts))
517 CALL nextln ( comstr , ndsi , ndse )
518 READ (ndsi,*,
END=801,ERR=802) ipoint
520 IF (ipoint .LT. 0)
THEN
524 indreqtmp=(/(j,j=1,nreq)/)
529 IF ( (ipoint .GT. 0) .AND. (ipoint .LE. nopts) )
THEN
530 IF ( .NOT. flreq(ipoint) )
THEN
532 indreqtmp(nreq)=ipoint
534 flreq(ipoint) = .true.
537 IF ( (ipoint .GT. 0) .AND. (nreq .EQ. nopts) )
THEN
538 CALL nextln ( comstr , ndsi , ndse )
539 READ (ndsi,*,
END=801,ERR=802) ipoint
543 IF (ipoint .NE. -1)
THEN
550 CALL nextln ( comstr , ndsi , ndse )
551 READ (ndsi,*,
END=801,ERR=802) fileprefix
552 CALL nextln ( comstr , ndsi , ndse )
553 READ (ndsi,*,
END=801,ERR=802) s3
554 CALL nextln ( comstr , ndsi , ndse )
555 READ (ndsi,*,
END=801,ERR=802) nctype
556 CALL nextln ( comstr , ndsi , ndse )
557 READ (ndsi,*,
END=801,ERR=802) TOGETHER, mfl
558 CALL nextln ( comstr , ndsi , ndse )
559 READ (ndsi,*,
END=801,ERR=802) itype
560 CALL nextln ( comstr , ndsi , ndse )
561 READ (ndsi,*,
END=801,ERR=802) flww3
562 CALL nextln ( comstr , ndsi , ndse )
563 READ (ndsi,*,
END=801,ERR=802) order
564 CALL nextln ( comstr , ndsi , ndse )
566 IF (itype .EQ. 1)
READ (ndsi,*,
END=801,ERR=802) OTYPE, SCALE1, SCALE2, ncvartype
567 IF (itype .EQ. 2)
READ (ndsi,*,
END=801,ERR=802) otype
568 IF (itype .EQ. 3)
READ (ndsi,*,
END=801,ERR=802) OTYPE, SCALE1, SCALE2, FLSRCE, iscale
570 CLOSE(ndsi,err=800,iostat=ierr)
577 dtreq = max( 0. , dtreq )
578 IF ( dtreq.EQ.0 ) nout = 1
579 nout = max( 1 , nout )
582 CALL stme21 ( tout , idtime )
583 IF ( iaproc .EQ. napout )
WRITE (ndso,940) idtime
585 CALL tick21 ( tdum , dtreq )
586 CALL stme21 ( tdum , idtime )
587 IF ( dtreq .GE. 86400. )
THEN
588 WRITE (iddday,
'(I10,1X)') int(dtreq/86400.)
592 idtime(1:11) = iddday
594 IF ( iaproc .EQ. napout )
WRITE (ndso,941) idtime, nout
598 IF (tout(1).GT.time(1) .OR. (tout(1).EQ.time(1) .AND. tout(2).GT.time(2)))
THEN
599 WRITE(date,
'(I8.8,I6.6)') tout(1), tout(2)
601 WRITE(date,
'(I8.8,I6.6)') time(1), time(2)
603 WRITE(filetime,
'(8A)') date(1:4), date(5:6), date(7:8),
'T', date(9:10),
'Z'
607 dtest = dsec21( time , tout )
608 DO WHILE (dtest.NE.0)
609 dtest = dsec21( time , tout )
610 IF ( dtest .GT. 0. )
THEN
612 CALL w3iopon (
'READ', ndsop, iotest )
614 CALL w3iopo (
'READ', ndsop, iotest )
616 IF ( iotest .EQ. -1 )
THEN
617 IF ( iaproc .EQ. napout )
WRITE (ndso,949)
622 IF ( dtest .LT. 0. )
THEN
623 CALL tick21 ( tout , dtreq )
627 WRITE(pastdate,
'(I8.8,I6.6)') time(1), time(2)
631 ALLOCATE ( indreq(nreq) )
632 indreq(:)=indreqtmp(1:nreq)
633 DEALLOCATE(indreqtmp)
642 IF (s3.GT.0 .AND. s3.LT.4) s3=4
650 ELSE IF (s3.EQ.10)
THEN
651 WRITE(format1,
'(A,I1,A,I1,A)')
'(I8.8,A1,I',s5,
'.',s5,
',A1)'
652 WRITE (filetime,format1) time(1),
'T', &
653 floor(real(time(2))/nint(10.**(6-s5))),
'Z'
655 ELSE IF (s3.EQ.8)
THEN
656 WRITE(format1,
'(A,I1,A,I1,A)')
'(I',s3,
'.',s3,
')'
657 WRITE (filetime,format1) time(1)
661 WRITE(format1,
'(A,I1,A,I1,A)')
'(I',s3,
'.',s3,
')'
662 WRITE (filetime,format1) floor(real(time(1))/nint(10.**(8-s3)))
675 IF ((nctype.EQ.3) .AND. (.NOT.order))
GOTO 803
676 IF ((nctype.EQ.4) .AND. index(nf90_inq_libvers(),
'"3.').NE.0)
GOTO 804
684 thd(ith)=dthd*(rth0+real(ith-1))
703 IF(s3 .EQ. 0) sep =
''
705 IF ((itype .EQ. 1) .AND. (otype.EQ.2))
WRITE(ext,
'(A,A)') trim(sep),
'tab.nc'
706 IF ((itype .EQ. 1) .AND. (otype.EQ.3))
WRITE(ext,
'(A,A)') trim(sep),
'spec.nc'
707 IF ((itype .EQ. 1) .AND. (otype.EQ.4))
WRITE(ext,
'(A,A)') trim(sep),
'tab.nc'
708 IF (itype .EQ. 2)
WRITE(ext,
'(A,A)') trim(sep),
'tab.nc'
709 IF ((itype .EQ. 3) .AND. (otype.EQ.2))
WRITE(ext,
'(A,A)') trim(sep),
'tab.nc'
710 IF ((itype .EQ. 3) .AND. (otype.EQ.3))
WRITE(ext,
'(A,A)') trim(sep),
'tab.nc'
711 IF ((itype .EQ. 3) .AND. (otype.EQ.4))
WRITE(ext,
'(A,A)') trim(sep),
'src.nc'
713 IF (len_trim(ext).EQ.0)
THEN
719 IF((nctype.EQ.4).AND.(.NOT.together).AND.(nfl.GT.300).AND.(nreq.GT.9000))
THEN
720 WRITE(ndso,
'(A)')
' WARNING : Files will be generated in netCDF3 with NF90_share mode'
721 WRITE(ndso,
'(A)')
' WARNING : this is due to NF90_sync memory problem with netCDF4 library'
722 WRITE(ndso,
'(A)')
' WARNING : to convert in netCDF4, use ncks -h -a -4 -L 9 file.nc3 file.nc4'
723 WRITE(ndso,
'(A)')
' WARNING : or use option "Points in same file" with value TRUE in .inp file'
724 WRITE(ndso,
'(A)')
' WARNING : or limit the output points list to less than 300'
731 ncflush=floor(15e7/(float(nk)*float(nth)*float(nreq)/nfl))
732 IF (nctype.EQ.3.AND.nreq.GT.10.AND.(.NOT.together))
WRITE(ndso,5940) ncflush
736 IF (.NOT.together)
THEN
741 WRITE (ncname,
'(5A)') trim(fileprefix), trim(ptnme(i)),
'_', trim(filetime), trim(ext)
742 WRITE(ncfile(i),
'(2A)') trim(fnmpre(:j)), trim(ncname)
743 IF( sum(index(ncfile(:),ncfile(i))).GT.1 )
THEN
745 WRITE(ndso,5950) trim(ptnme(i))
754 DO ifl=iaproc,nfl,naproc
765 ELSE IF (s3.EQ.10)
THEN
766 WRITE(format1,
'(A,I1,A,I1,A)')
'(I8.8,A1,I',s5,
'.',s5,
',A1)'
767 WRITE (filetime,format1) time(1),
'T', &
768 nint(real(time(2))/nint(10.**(6-s5))),
'Z'
770 ELSE IF (s3.EQ.8)
THEN
771 WRITE(format1,
'(A,I1,A,I1,A)')
'(I',s3,
'.',s3,
')'
772 WRITE (filetime,format1) time(1)
776 WRITE(format1,
'(A,I1,A,I1,A)')
'(I',s3,
'.',s3,
')'
777 WRITE (filetime,format1) nint(real(time(1))/nint(10.**(8-s3)))
784 WRITE (ncname,
'(3A)') trim(fileprefix), trim(filetime), trim(ext)
787 WRITE(ncfile(1),
'(2A)') trim(fnmpre(:j)), trim(ncname)
792 WRITE (ncname,
'(5A)') trim(fileprefix), trim(ptnme(i)),
'_', trim(filetime), trim(ext)
795 WRITE(ncfile(i),
'(2A)') trim(fnmpre(:j)), trim(ncname)
809 nbfileout=min(mfl,nopts-(ifl-1)*mfl)
812 DO i=1+(ifl-1)*mfl,(ifl-1)*mfl+nbfileout
819 IF (nreql.EQ.0) cycle
825 IF (itype .EQ. 1)
THEN
826 IF ( iaproc .EQ. napout )
WRITE (ndso,942) itype,
'1-D and/or 2-D spectra, pass #',ifl
829 IF (otype .EQ. 1)
THEN
830 IF ( iaproc .EQ. napout )
WRITE (ndso,943)
'print plots'
831 IF ( scale1 .LT. 0. )
THEN
832 IF ( iaproc .EQ. napout )
WRITE (ndso,1940)
'1-D'
833 ELSE IF ( scale1 .EQ. 0. )
THEN
834 IF ( iaproc .EQ. napout )
WRITE (ndso,1941)
'1-D'
836 IF ( iaproc .EQ. napout )
WRITE (ndso,1942)
'1-D', scale1
838 IF ( scale2 .LT. 0. )
THEN
839 IF ( iaproc .EQ. napout )
WRITE (ndso,1940)
'2-D'
840 ELSE IF ( scale2 .EQ. 0. )
THEN
841 IF ( iaproc .EQ. napout )
WRITE (ndso,1941)
'2-D'
843 IF ( iaproc .EQ. napout )
WRITE (ndso,1942)
'2-D', scale2
847 ELSE IF ( otype .EQ. 2 )
THEN
848 IF ( iaproc .EQ. napout )
WRITE (ndso,943)
'Table of 1-D spectral data'
849 DO i=1+(ifl-1)*mfl,(ifl-1)*mfl+nbfileout
850 IF (flreq(i) .OR. together)
THEN
852 dimln(1)=nf90_unlimited
856 CALL w3crnc(itype,otype,nctype,ncfile(i),ncid(i),dimid,dimln,varid,one,two)
861 ELSE IF ( otype .EQ. 3 )
THEN
862 IF ( iaproc .EQ. napout )
WRITE (ndso,943)
'Transfer file'
863 DO i=1+(ifl-1)*mfl,(ifl-1)*mfl+nbfileout
864 IF (flreq(i) .OR. together)
THEN
866 dimln(1)=nf90_unlimited
871 CALL w3crnc(itype,otype,nctype,ncfile(i),ncid(i),dimid,dimln,varid,one,two,ncvartype=ncvartype)
876 ELSE IF ( otype .EQ. 4 )
THEN
877 IF ( iaproc .EQ. napout )
WRITE (ndso,943)
'Partitioning of spectra'
878 DO i=1+(ifl-1)*mfl,(ifl-1)*mfl+nbfileout
879 IF (flreq(i) .OR. together)
THEN
881 dimln(1)=nf90_unlimited
885 CALL w3crnc(itype,otype,nctype,ncfile(i),ncid(i),dimid,dimln,varid,one,two)
889 WRITE (ndse,1011) otype
896 ELSE IF (itype .EQ. 2)
THEN
897 IF ( iaproc .EQ. napout )
WRITE (ndso,942) itype,
'Table of mean wave parameters'
898 DO i=1+(ifl-1)*mfl,(ifl-1)*mfl+nbfileout
899 IF (flreq(i) .OR. together)
THEN
901 dimln(1)=nf90_unlimited
904 CALL w3crnc(itype,otype,nctype,ncfile(i),ncid(i),dimid,dimln,varid,one,two)
909 IF ( otype .EQ. 1 )
THEN
910 IF ( iaproc .EQ. napout )
WRITE (ndso,2940)
'depth, current and wind', ncname
913 ELSE IF ( otype .EQ. 2 )
THEN
914 IF ( iaproc .EQ. napout )
WRITE (ndso,2940)
'Mean wave parameters', ncname
917 ELSE IF ( otype .EQ. 3 )
THEN
918 IF ( iaproc .EQ. napout )
WRITE (ndso,2940)
'Nondimensional parameters (U*)', ncname
921 ELSE IF ( otype .EQ. 4 )
THEN
922 IF ( iaproc .EQ. napout )
WRITE (ndso,2940)
'Nondimensional parameters (U10)', ncname
925 ELSE IF ( otype .EQ. 5 )
THEN
926 IF ( iaproc .EQ. napout )
WRITE (ndso,2940)
'Validation parameters', ncname
929 ELSE IF ( otype .EQ. 6 )
THEN
930 IF ( iaproc .EQ. napout )
WRITE (ndso,2940)
'WMO standard mean parameters', ncname
933 WRITE (ndse,1011) otype
938 IF ( flsrce(i) .AND. iaproc .EQ. napout )
WRITE (ndso,3940) idsrce(i)
940 IF ( iaproc .EQ. napout )
WRITE (ndso,*)
' '
944 ELSE IF (itype .EQ. 3)
THEN
945 IF ( iaproc .EQ. napout )
WRITE (ndso,942) itype,
'Source terms'
949 iscale = max( 0 , min( 5 , iscale ) )
952 IF ( otype .EQ. 1 )
THEN
953 IF ( iaproc .EQ. napout )
WRITE (ndso,943)
'Print plots'
954 IF ( scale1 .LT. 0. )
THEN
955 IF ( iaproc .EQ. napout )
WRITE (ndso,1940)
'1-D'
956 ELSE IF ( scale1 .EQ. 0. )
THEN
957 IF ( iaproc .EQ. napout )
WRITE (ndso,1941)
'1-D'
959 IF ( iaproc .EQ. napout )
WRITE (ndso,1942)
'1-D', scale1
961 IF ( scale2 .LT. 0. )
THEN
962 IF ( iaproc .EQ. napout )
WRITE (ndso,1940)
'2-D'
963 ELSE IF ( scale2 .EQ. 0. )
THEN
964 IF ( iaproc .EQ. napout )
WRITE (ndso,1941)
'2-D'
966 IF ( iaproc .EQ. napout )
WRITE (ndso,1942)
'2-D', scale2
971 ELSE IF (( otype .EQ. 2 ) .OR. ( otype .EQ. 3 ))
THEN
972 IF ( iscale .LE. 2)
THEN
973 IF ( iaproc .EQ. napout )
WRITE (ndso,943)
'Tables as a function of freq.'
975 IF ( iaproc .EQ. napout )
WRITE (ndso,943)
'Tables as a function of f/fp.'
977 IF ( mod(iscale,3) .EQ. 1 )
THEN
978 IF ( iaproc .EQ. napout )
WRITE (ndso,944)
'(nondimensional based on U10)'
979 ELSE IF ( mod(iscale,3) .EQ. 2)
THEN
980 IF ( iaproc .EQ. napout )
WRITE (ndso,944)
'(nondimensional based on U*)'
983 DO i=1+(ifl-1)*mfl,(ifl-1)*mfl+nbfileout
984 IF (flreq(i) .OR. together)
THEN
986 dimln(1)=nf90_unlimited
990 CALL w3crnc(itype,otype,nctype,ncfile(i),ncid(i),dimid,dimln,varid,one,two)
995 ELSE IF ( otype .EQ. 4 )
THEN
996 IF ( iaproc .EQ. napout )
WRITE (ndso,943)
'Transfer file'
997 DO i=1+(ifl-1)*mfl,(ifl-1)*mfl+nbfileout
998 IF (flreq(i) .OR. together)
THEN
1000 dimln(1)=nf90_unlimited
1005 CALL w3crnc(itype,otype,nctype,ncfile(i),ncid(i),dimid,dimln,varid,one,two,flsrce=flsrce)
1011 WRITE (ndse,1011) otype
1018 WRITE (ndse,1010) itype
1024 IF ( iaproc .EQ. napout )
WRITE (ndso,950) nreq
1027 DO i=1+(ifl-1)*mfl,(ifl-1)*mfl+nbstation
1030 IF ( iaproc .EQ. napout )
WRITE (ndso,951) ptnme(i), m2km*ptloc(1,i), &
1033 IF ( iaproc .EQ. napout )
WRITE (ndso,953) ptnme(i), m2km*ptloc(1,i), &
1040 DO i=1+(ifl-1)*mfl,(ifl-1)*mfl+nbfileout
1043 IF ( iaproc .EQ. napout )
WRITE (ndso,951) ptnme(i), m2km*ptloc(1,i), &
1046 IF ( iaproc .EQ. napout )
WRITE (ndso,953) ptnme(i), m2km*ptloc(1,i), &
1072 CALL t2d(time,startdate,ierr)
1073 WRITE(strstartdate,
'(I4.4,A,4(I2.2,A),I2.2)') startdate(1),
'-',startdate(2), &
1074 '-',startdate(3),
' ',startdate(5),
':',startdate(6),
':',startdate(7)
1078 dtest = dsec21( time , tout )
1079 IF ( dtest .GT. 0. )
THEN
1082 CALL w3iopon (
'READ', ndsop, iotest )
1084 CALL w3iopo (
'READ', ndsop, iotest )
1086 IF ( iotest .EQ. -1 )
THEN
1087 IF ( iaproc .EQ. napout )
WRITE (ndso,949)
1092 IF ( dtest .LT. 0. )
THEN
1093 CALL tick21 ( tout , dtreq )
1098 CALL stme21 ( tout , idtime )
1099 WRITE(date,
'(I8.8,I6.6)') tout(1), tout(2)
1103 IF ( (iout.GT.1) .AND. (index(pastdate(1:s3),date(1:s3)).EQ.0) )
THEN
1104 WRITE(ndso,954) trim(date(1:s3))
1112 IF (nreq.GT.10.OR.nbfileout.GT.10)
WRITE(ndso,955) time, &
1113 nbfileout, iout, nout, ifl
1117 DO i=1+(ifl-1)*mfl,(ifl-1)*mfl+nbfileout
1118 IF (flreq(i) .OR. together)
THEN
1120 IF ( together )
THEN
1121 CALL w3exnc(i,ncid(i),nreq,indreq,order)
1125 CALL w3exnc(i,ncid(i),1,(/ i /),order)
1127 IF (mod(iout,ncflush).EQ.0)
THEN
1128 iret=nf90_sync(ncid(i))
1134 WRITE(pastdate,
'(I8.8,I6.6)') tout(1), tout(2)
1135 CALL tick21 ( tout , dtreq )
1136 IF ( iout .GE. nout )
GOTO 700
1149 CALL t2d(time,stopdate,ierr)
1150 WRITE(strstopdate,
'(I4.4,A,4(I2.2,A),I2.2)') stopdate(1),
'-',stopdate(2), &
1151 '-',stopdate(3),
' ',stopdate(5),
':',stopdate(6),
':',stopdate(7)
1155 DO i=1+(ifl-1)*mfl,(ifl-1)*mfl+nbfileout
1156 IF ( flreq(i) .OR. together )
THEN
1157 iret=nf90_redef(ncid(i))
1160 OPEN(unit=994,
file=
'NC_globatt.inp',status=
'old',iostat=icode)
1162 IF (icode.EQ.0)
THEN
1163 DO WHILE (icode.EQ.0)
1164 READ(994,
'(a)',iostat=icode) attname
1165 READ(994,
'(a)',iostat=icode) attval
1166 IF (icode.EQ.0)
THEN
1167 strl=len_trim(attname)
1168 strl2=len_trim(attval)
1169 iret=nf90_put_att(ncid(i),nf90_global,attname(1:strl),attval(1:strl2))
1176 WRITE(globalatt,
'(A)') trim(ncfile(i))
1177 iret=nf90_put_att(ncid(i),nf90_global,
'product_name' ,globalatt(3:))
1178 iret=nf90_put_att(ncid(i),nf90_global,
'area',trim(gname))
1179 iret=nf90_put_att(ncid(i),nf90_global,
'data_type',
'OCO spectra 2D')
1180 iret=nf90_put_att(ncid(i),nf90_global,
'format_version',
'1.1')
1181 iret=nf90_put_att(ncid(i),nf90_global,
'southernmost_latitude',
'n/a')
1182 iret=nf90_put_att(ncid(i),nf90_global,
'northernmost_latitude',
'n/a')
1183 iret=nf90_put_att(ncid(i),nf90_global,
'latitude_resolution',
'n/a')
1184 iret=nf90_put_att(ncid(i),nf90_global,
'westernmost_longitude',
'n/a')
1185 iret=nf90_put_att(ncid(i),nf90_global,
'easternmost_longitude',
'n/a')
1186 iret=nf90_put_att(ncid(i),nf90_global,
'longitude_resolution',
'n/a')
1187 iret=nf90_put_att(ncid(i),nf90_global,
'minimum_altitude',
'n/a')
1188 iret=nf90_put_att(ncid(i),nf90_global,
'maximum_altitude',
'n/a')
1189 iret=nf90_put_att(ncid(i),nf90_global,
'altitude_resolution',
'n/a')
1190 iret=nf90_put_att(ncid(i),nf90_global,
'start_date',strstartdate)
1191 iret=nf90_put_att(ncid(i),nf90_global,
'stop_date',strstopdate)
1192 IF (dtreq.EQ.3600)
THEN
1193 iret=nf90_put_att(ncid(i),nf90_global,
'field_type',
'hourly')
1194 ELSE IF (dtreq.EQ.7200)
THEN
1195 iret=nf90_put_att(ncid(i),nf90_global,
'field_type',
'2-hourly')
1196 ELSE IF (dtreq.EQ.10800)
THEN
1197 iret=nf90_put_att(ncid(i),nf90_global,
'field_type',
'3-hourly')
1198 ELSE IF (dtreq.EQ.21600)
THEN
1199 iret=nf90_put_att(ncid(i),nf90_global,
'field_type',
'6-hourly')
1200 ELSE IF (dtreq.EQ.32400)
THEN
1201 iret=nf90_put_att(ncid(i),nf90_global,
'field_type',
'9-hourly')
1202 ELSE IF (dtreq.EQ.43200)
THEN
1203 iret=nf90_put_att(ncid(i),nf90_global,
'field_type',
'12-hourly')
1204 ELSE IF (dtreq.EQ.86400)
THEN
1205 iret=nf90_put_att(ncid(i),nf90_global,
'field_type',
'daily')
1207 iret=nf90_put_att(ncid(i),nf90_global,
'field_type',
'n/a')
1211 iret=nf90_enddef(ncid(i))
1213 iret=nf90_close(ncid(i))
1222 IF ( (iout.GT.1) .AND. (index(pastdate(1:s3),date(1:s3)).EQ.0) )
THEN
1231 CALL w3iopon (
'READ', ndsop, iotest )
1233 CALL w3iopo (
'READ', ndsop, iotest )
1236 WRITE(ndse,*)
'out_pnt* closed and reopened'
1243 dtest = dsec21( time , tout )
1244 DO WHILE (dtest.NE.0)
1245 dtest = dsec21( time , tout )
1246 IF ( dtest .GT. 0. )
THEN
1248 CALL w3iopon (
'READ', ndsop, iotest )
1250 CALL w3iopo (
'READ', ndsop, iotest )
1252 IF ( iotest .EQ. -1 )
THEN
1253 IF ( iaproc .EQ. napout )
WRITE (ndso,949)
1258 IF ( dtest .LT. 0. )
THEN
1259 CALL tick21 ( tout , dtreq )
1271 WRITE (ndse,1000) ierr
1279 WRITE (ndse,1002) ierr
1287 WRITE (ndse,1004) nf90_inq_libvers()
1292 WRITE (ndse,1005) ierr
1299 IF(
ALLOCATED(thd))
DEALLOCATE(thd)
1300 IF(
ALLOCATED(ncid))
DEALLOCATE(ncid)
1301 IF(
ALLOCATED(ncfile))
DEALLOCATE(ncfile)
1302 IF(
ALLOCATED(indreq))
DEALLOCATE(indreq)
1304 IF ( iaproc .EQ. napout )
WRITE (ndso,999)
1306 CALL mpi_finalize ( ierr_mpi )
1315 900
FORMAT (/15x,
' *** WAVEWATCH III Point output post.*** '/ &
1316 15x,
'==============================================='/)
1317 901
FORMAT (
' Comment character is ''',a,
''''/)
1319 920
FORMAT (
' Grid name : ',a/)
1321 930
FORMAT (
' Points in file : '/ &
1322 ' ------------------------------------')
1323 931
FORMAT (
' ',a,2f10.2)
1324 932
FORMAT (
' ',a,2(f8.1,
'E3'))
1326 940
FORMAT (/
' Output time data : '/ &
1327 ' --------------------------------------------------'/ &
1329 941
FORMAT (
' Interval : ',a/ &
1330 ' Number of requests : ',i8)
1331 942
FORMAT (/
' Output type ',i2,
' :'/ &
1332 ' --------------------------------------------------'/ &
1334 943
FORMAT (
' Subtype : ',a)
1337 945
FORMAT (
' ',i5,3x,a,2f10.2,3x,a)
1339 949
FORMAT (/
' End of file reached '/)
1341 950
FORMAT (/
' Requested output for ',i6,
' points : '/ &
1342 ' --------------------------------------------------')
1343 951
FORMAT (
' ',a,2f10.2)
1344 953
FORMAT (
' ',a,2(f8.1,
'E3'))
1345 954
FORMAT (/
' New time step : ',a)
1346 955
FORMAT (
' Processing time : ', 2i8,
' in ', i8,
'files. Step '&
1347 i10,
'out of ', i10,
' pass ', i4)
1349 1940
FORMAT (
' ',a,
' print plots not requested.')
1350 1941
FORMAT (
' ',a,
' print plots normalized.')
1351 1942
FORMAT (
' Scale factor ',a,
' spectrum : ',e10.3)
1354 2940
FORMAT (
' Table output : ',a/ &
1357 3940
FORMAT (
' ',a)
1358 5940
FORMAT (
' Buffer will be flushed every ',i6,
' steps.')
1359 5950
FORMAT (
' Point already exists, it will be skipped : ', a)
1361 999
FORMAT (/
' End of program '/ &
1362 ' ========================================='/ &
1363 ' WAVEWATCH III Point output '/)
1365 1000
FORMAT (/
' *** WAVEWATCH III ERROR IN W3OUNP : '/ &
1366 ' ERROR IN OPENING INPUT FILE'/ &
1369 1001
FORMAT (/
' *** WAVEWATCH III ERROR IN W3OUNP : '/ &
1370 ' PREMATURE END OF INPUT FILE'/)
1372 1002
FORMAT (/
' *** WAVEWATCH III ERROR IN W3OUNP : '/ &
1373 ' ERROR IN READING FROM INPUT FILE'/ &
1376 1003
FORMAT (/
' *** WAVEWATCH III ERROR IN W3OUNP : '/ &
1377 ' NCTYPE=3 IS INCOMPATIBLE WITH'/ &
1378 ' THE OPTIMIZED DIMENSION ORDER'/)
1380 1004
FORMAT (/
' *** WAVEWATCH III ERROR IN W3OUNP : '/ &
1381 ' NCTYPE=4 IS INCOMPATIBLE WITH'/ &
1382 ' NETCDF LIBRARY USED :',a/)
1385 1005
FORMAT (/
' *** WAVEWATCH III ERROR IN W3OUNP : '/ &
1386 ' ERROR IN OPENING BUOY LOG FILE'/ &
1390 1006
FORMAT (/
' *** WAVEWATCH III ERROR IN W3OUNP : '/ &
1391 ' ITYPE AND OTYPE COMBINATION NOT RECOGNIZED'/)
1393 1007
FORMAT (/
' *** WAVEWATCH III ERROR IN W3OUNP : '/ &
1394 ' ERROR IN READING FROM INPUT FILE'/ &
1395 ' LAST POINT INDEX IS NOT -1'/ &
1396 ' OR TOO MANY POINT INDEXES DEFINED'/)
1398 1010
FORMAT (/
' *** WAVEWATCH III ERROR IN W3OUNP : '/ &
1399 ' ILLEGAL TYPE, ITYPE =',i4/)
1401 1011
FORMAT (/
' *** WAVEWATCH III ERROR IN W3OUNP : '/ &
1402 ' ILLEGAL TYPE, OTYPE =',i4/)
1405 3960
FORMAT (/
' *** WAVEWATCH-III WARNING IN W3OUNP :'/ &
1406 ' Ice source terms !/IC1 skipped'/ &
1407 ' in dissipation term.'/)
1410 3960
FORMAT (/
' *** WAVEWATCH-III WARNING IN W3OUNP :'/ &
1411 ' Ice source terms !/IC2 skipped'/ &
1412 ' in dissipation term.'/)
1415 3960
FORMAT (/
' *** WAVEWATCH-III WARNING IN W3OUNP :'/ &
1416 ' Ice source terms !/IC3 skipped'/ &
1417 ' in dissipation term.'/)
1420 3960
FORMAT (/
' *** WAVEWATCH-III WARNING IN W3OUNP :'/ &
1421 ' Ice source terms !/IC5 skipped'/ &
1422 ' in dissipation term.'/)
1425 3961
FORMAT (/
' *** WAVEWATCH-III WARNING IN W3OUNP :'/ &
1426 ' Snl source terms !/NL5 skipped'/ &
1427 ' in interaction term.'/)
1451 SUBROUTINE w3exnc(I,NCID,NREQ,INDREQ,ORDER)
1619 INTEGER,
INTENT(IN) :: I, NCID, NREQ, INDREQ(NREQ)
1620 LOGICAL,
INTENT(IN) :: ORDER
1626 INTEGER :: J, J1, I1, I2, ISP, IKM, &
1627 ITH, IK, ITT, NPART, IX, IY, ISEA
1628 INTEGER :: CURDATE(8), REFDATE(8)
1630 INTEGER,
SAVE :: IENT = 0
1633 REAL :: DEPTH, SQRTH, CDIR, SIX, R1, R2, &
1634 UDIR, UDIRR, UABS, XL, XH, XL2, XH2, &
1635 ET, EWN, ETR, ETX, ETY, EBND, EBX, &
1636 EBY, HSIG, WLEN, TMEAN, THMEAN, &
1637 THSPRD, EMAX, EL, EH, DENOM, FP, THP, &
1638 SPP, CD, USTAR, FACTOR, UNORM, ESTAR, &
1639 FPSTAR, FACF, FACE, FACS, HMAT, WNA, &
1640 XYZ, AGE1, AFR, AGE2, FACT, XSTAR, &
1641 YSTAR, FHIGH, ZWND, Z0, USTD, EMEAN, &
1642 FMEAN, WNMEAN, UDIRCA, CHARN, M2KM, &
1645 REAL :: TAUA, TAUADIR, RHOAIR
1647 REAL :: WN_R(NK),CG_ICE(NK), ALPHA_LIU(NK), &
1648 R(NK), WN(NK), CG(NK), APM(NK), &
1649 E3(NTH,NK,NREQ), E(NK,NTH), E1(NK), &
1650 THBND(NK), SPBND(NK), A(NTH,NK), &
1652 STT(NK,NTH), SWN(NK,NTH), SNL(NK,NTH),&
1653 SDS(NK,NTH), SBT(NK,NTH), SIS(NK,NTH),&
1654 XIN(NTH,NK), XNL(NTH,NK), XTR(NTH,NK),&
1655 XDS(NTH,NK), XDB(NTH,NK), XBT(NTH,NK),&
1656 XBS(NTH,NK), XXX(NTH,NK), DIA(NTH,NK),&
1657 XLN(NTH,NK), XWL(NTH,NK), XIS(NTH,NK),&
1658 SIN1(NK), SNL1(NK), SDS1(NK), &
1659 SBT1(NK), SIS1(NK), STT1(NK), &
1660 E1ALL(NK,6), UDIR1(NREQ), CDIR1(NREQ)
1662 REAL :: TAUDIR1(NREQ)
1664 REAL,
SAVE :: HSMIN = 0.05
1666 REAL :: ICEF, ICEDMAX, DIA2(NTH,NK)
1669 REAL :: AMAX, FH1, FH2
1672 REAL :: AMAX, ALPHA(NK), FPI
1675 REAL :: AMAX, FMEANS, FMEANWS, TAUWX, TAUWY, &
1679 REAL :: AMAX, FMEANS, FMEANWS, TAUWX, TAUWY, &
1680 TAUWNX, TAUWNY, FMEAN1, WHITECAP(1:4)
1681 REAL :: LAMBDA(NSPEC), DLWMEAN
1684 REAL :: AMAX, TAUWX, TAUWY, TAUWNX, TAUWNY
1687 REAL :: TAUSCX, TAUSCY
1690 REAL :: D50, PSIC, BEDFORM(3), TAUBBL(2)
1694 REAL :: STAB0, STAB, COR1, COR2, ASFAC, &
1698 DOUBLE PRECISION :: OUTJULDAY
1700 CHARACTER*4 :: VAR1(6)
1702 LOGICAL :: LASTSTATION=.false.
1703 LOGICAL :: SHORT=.true.
1706 LOGICAL :: LLWS(NSPEC)
1709 LOGICAL :: LLWS(NSPEC)
1712 DATA var1 /
'Sin ' ,
'Snl ',
'Sds ' ,
'Sbt ' ,
'Sice',
'Stot' /
1722 CALL strace (ient,
'W3EXNC')
1736 IF ( itype .EQ. 3 )
THEN
1750 CALL u2d(
'days since 1990-01-01 00:00:00',refdate,ierr)
1753 WRITE (ndst,9000) (flreq(j),j=1,nopts)
1754 WRITE (ndst,9001) itype, otype, nreq, scale1, scale2, flsrce
1776 IF (short.AND.itype.EQ.1.AND.otype.EQ.3)
THEN
1778 depth = max( dmin, dpo(j) )
1779 sqrth = sqrt( depth )
1781 six = sig(ik) * sqrth
1783 IF (i1.LE.
n1max)
THEN
1785 r1 = six/
dsie - real(i1)
1787 wn(ik) = ( r2*
ewn1(i1) + r1*
ewn1(i2) ) / depth
1788 cg(ik) = ( r2*
ecg1(i1) + r1*
ecg1(i2) ) * sqrth
1790 wn(ik) = sig(ik)*sig(ik)/
grav
1791 cg(ik) = 0.5 *
grav / sig(ik)
1794 WRITE (ndst,9011) ik,
tpi/sig(ik), wn(ik), cg(ik)
1803 IF (igpars(2).EQ.1)
THEN
1804 IF(igpars(1).EQ.1)
THEN
1805 CALL w3addig(spco(:,j),dpo(j),wn,cg,0)
1816 isp = ith + (ik-1)*nth
1817 e3(ith,ik,j1) = spco(isp,indreq(j1))
1822 CALL t2d(time,curdate,ierr)
1823 outjulday=tsub(refdate,curdate)
1824 iret=nf90_put_var(ncid,varid(1),outjulday,(/iout/))
1829 iret=nf90_put_var(ncid,varid(27),indreq(j1),(/j1/))
1831 iret=nf90_put_var(ncid,varid(2),ptnme(indreq(j1)), &
1832 start=(/1,j1/),count=(/len_trim(ptnme(indreq(j1))) ,1/))
1838 IF ((flww3.NE.0).AND.(order)) iret=nf90_put_var(ncid,varid(3),flww3,(/j1,iout/))
1839 IF ((flww3.NE.0).AND.(.NOT.order)) iret=nf90_put_var(ncid,varid(3),flww3,(/iout,j1/))
1843 IF(order) iret=nf90_put_var(ncid,varid(4),m2km*ptloc(1,indreq(1:nreq)),(/1,iout/))
1844 IF(.NOT.order) iret=nf90_put_var(ncid,varid(4),m2km*ptloc(1,indreq(1:nreq)),(/iout,1/))
1846 IF(order) iret=nf90_put_var(ncid,varid(5),m2km*ptloc(2,indreq(1:nreq)),(/1,iout/))
1847 IF(.NOT.order) iret=nf90_put_var(ncid,varid(5),m2km*ptloc(2,indreq(1:nreq)),(/iout,1/))
1851 udir1(j1) = mod( 270. - wdo(indreq(j1))*
rade , 360. )
1852 cdir1(j1) = mod( 270. - cdo(indreq(j1))*
rade , 360. )
1854 taudir1(j1) = mod( 270. - taudo(indreq(j1))*
rade , 360. )
1858 IF (ncvartype.LE.3)
THEN
1859 IF(order) iret=nf90_put_var(ncid,varid(11),nint(dpo(indreq(1:nreq))/0.5),(/1,iout/))
1860 IF(.NOT.order) iret=nf90_put_var(ncid,varid(11),nint(dpo(indreq(1:nreq))/0.5),(/iout,1/))
1862 IF(order) iret=nf90_put_var(ncid,varid(12),nint(wao(indreq(1:nreq))/0.1),(/1,iout/))
1863 IF(.NOT.order) iret=nf90_put_var(ncid,varid(12),nint(wao(indreq(1:nreq))/0.1),(/iout,1/))
1865 IF(order) iret=nf90_put_var(ncid,varid(13),nint(udir1/0.1),(/1,iout/))
1866 IF(.NOT.order) iret=nf90_put_var(ncid,varid(13),nint(udir1/0.1),(/iout,1/))
1868 IF(order) iret=nf90_put_var(ncid,varid(14),nint(cao(indreq(1:nreq))/0.1),(/1,iout/))
1869 IF(.NOT.order) iret=nf90_put_var(ncid,varid(14),nint(cao(indreq(1:nreq))/0.1),(/iout,1/))
1871 IF(order) iret=nf90_put_var(ncid,varid(15),nint(cdir1/0.1),(/1,iout/))
1872 IF(.NOT.order) iret=nf90_put_var(ncid,varid(15),nint(cdir1/0.1),(/iout,1/))
1875 IF(order) iret=nf90_put_var(ncid,varid(11),dpo(indreq(1:nreq)),(/1,iout/))
1876 IF(.NOT.order) iret=nf90_put_var(ncid,varid(11),dpo(indreq(1:nreq)),(/iout,1/))
1878 IF(order) iret=nf90_put_var(ncid,varid(12),wao(indreq(1:nreq)),(/1,iout/))
1879 IF(.NOT.order) iret=nf90_put_var(ncid,varid(12),wao(indreq(1:nreq)),(/iout,1/))
1881 IF(order) iret=nf90_put_var(ncid,varid(13),udir1,(/1,iout/))
1882 IF(.NOT.order) iret=nf90_put_var(ncid,varid(13),udir1,(/iout,1/))
1884 IF(order) iret=nf90_put_var(ncid,varid(14),cao(indreq(1:nreq)),(/1,iout/))
1885 IF(.NOT.order) iret=nf90_put_var(ncid,varid(14),cao(indreq(1:nreq)),(/iout,1/))
1887 IF(order) iret=nf90_put_var(ncid,varid(15),cdir1,(/1,iout/))
1888 IF(.NOT.order) iret=nf90_put_var(ncid,varid(15),cdir1,(/iout,1/))
1892 IF (ncvartype.LE.3)
THEN
1893 WHERE(e3(:,:,:).GE.0) e3(:,:,:)=nint(alog10(e3(:,:,:)+1e-12)/0.0004)
1895 IF(order) iret=nf90_put_var(ncid,varid(10),e3(1:nth,1:nk,:), &
1896 start=(/1,1,1,iout/),count=(/nth,nk,nreq,1/))
1897 IF(.NOT.order) iret=nf90_put_var(ncid,varid(10),e3(1:nth,1:nk,1:nreq), &
1898 start=(/1,1,iout,1/),count=(/nth,nk,1,nreq/))
1910 DO WHILE (.NOT.laststation)
1912 IF ( flreq(j) )
THEN
1917 WRITE (ndst,9002) ptnme(j)
1922 depth = max( dmin, dpo(j) )
1923 sqrth = sqrt( depth )
1924 udir = mod( 270. - wdo(j)*
rade , 360. )
1925 udirca = wdo(j)*
rade
1927 uabs = max( 0.001 , wao(j) )
1928 cdir = mod( 270. - cdo(j)*
rade , 360. )
1930 taua = max( 0.001 , tauao(j))
1931 tauadir = mod( 270. - taudo(j)*
rade , 360. )
1932 rhoair = max( 0. , dairo(j))
1935 icedmax = max( 0., icefo(j))
1938 icethick = max(0., iceho(j))
1939 icecon = max(0., iceo(j))
1942 stab0 = zwind *
grav / 273.
1943 stab = stab0 * aso(j) / max(5.,wao(j))**2
1944 stab = max( -1. , min( 1. , stab ) )
1945 tharg1 = max( 0. , ffng*(stab-ofstab))
1946 tharg2 = max( 0. , ffps*(stab-ofstab))
1947 cor1 = ccng * tanh(tharg1)
1948 cor2 = ccps * tanh(tharg2)
1949 asfac = sqrt( (1.+cor1+cor2)/shstab )
1953 WRITE (ndst,9010) depth
1956 six = sig(ik) * sqrth
1958 IF (i1.LE.
n1max)
THEN
1960 r1 = six/
dsie - real(i1)
1962 wn(ik) = ( r2*
ewn1(i1) + r1*
ewn1(i2) ) / depth
1963 cg(ik) = ( r2*
ecg1(i1) + r1*
ecg1(i2) ) * sqrth
1965 wn(ik) = sig(ik)*sig(ik)/
grav
1966 cg(ik) = 0.5 *
grav / sig(ik)
1969 WRITE (ndst,9011) ik,
tpi/sig(ik), wn(ik), cg(ik)
1977 IF (igpars(2).EQ.1)
THEN
1978 IF(igpars(1).EQ.1)
THEN
1979 CALL w3addig(spco(:,j),dpo(j),wn,cg,0)
2000 isp = ith + (ik-1)*nth
2001 e(ik,ith) = spco(isp,j)
2002 ebnd = ebnd + spco(isp,j)
2003 ebx = ebx + spco(isp,j)*ecos(ith)
2004 eby = eby + spco(isp,j)*esin(ith)
2007 apm(ik)= e1(ik) / (
tpi *
grav**2 / sig(ik)**5 )
2008 IF ( e1(ik) .GT. 1.e-5)
THEN
2009 thbnd(ik) = mod(630.-
rade*atan2(eby,ebx),360.)
2010 spbnd(ik) =
rade * sqrt( max( 0. , 2.*( 1. - &
2011 sqrt( max(0.,(ebx**2+eby**2)/ebnd**2) ) ) ) )
2016 ebnd = e1(ik) * dsii(ik) *
tpiinv
2018 ewn = ewn + ebnd / wn(ik)
2019 etr = etr + ebnd / sig(ik)
2020 etx = etx + ebx * dsii(ik)
2021 ety = ety + eby * dsii(ik)
2026 ebnd = e1(nk) *
tpiinv / ( sig(nk) * dth )
2028 ewn = ewn + ftwl*ebnd
2029 etr = etr + fttr*ebnd
2033 hsig = 4. * sqrt( et )
2034 IF ( hsig .GT. hsmin )
THEN
2035 wlen = ewn / et *
tpi
2036 tmean = etr / et *
tpi
2037 thmean = mod( 630. -
rade*atan2(ety,etx) , 360. )
2038 thsprd =
rade * sqrt( max( 0. , 2.*( 1. - sqrt( &
2039 max(0.,(etx**2+ety**2)/et**2) ) ) ) )
2040 IF ( thsprd .LT. 0.01*
rade*dth ) thsprd = 0.
2056 IF ( e1(ik) .GT. emax )
THEN
2062 IF ( hsig .GE. hsmin .AND. ikm .NE. nk )
THEN
2063 IF ( ikm .EQ. 1 )
THEN
2066 el = e1(ikm-1) - e1(ikm)
2069 eh = e1(ikm+1) - e1(ikm)
2071 denom = xl*eh - xh*el
2073 fp = sig(ikm) * ( 1. + 0.5 * ( xl2*eh - xh2*el ) &
2074 / sign( max(abs(denom),1.e-15) , denom ) )
2077 IF ( spp .LT. 0.01*
rade*dth ) spp = 0.
2086 IF ( itype.EQ.1 .AND. otype.EQ.4 )
THEN
2087 CALL w3part( e, uabs, udirca, depth, wn, npart, xpart, &
2093 IF ( ( itype.EQ.2 .AND. (otype.EQ.3.OR.otype.EQ.4) ) .OR. &
2094 ( itype.EQ.1 .AND. (otype.EQ.2) ) )
THEN
2097 factor =
tpiinv * cg(ik) / sig(ik)
2099 isp = ith + (ik-1)*nth
2100 a(ith,ik) = factor * spco(isp,j)
2101 wn2(ith,ik) = wn(ik)
2136 CALL w3spr1 (a, cg, wn, emean, fmean, wnmean, amax)
2140 CALL w3spr2 (a, cg, wn, depth, fp , uabs, ustar, &
2141 emean, fmean, wnmean, amax, alpha, fp )
2144 CALL w3spr3 (a, cg, wn, emean, fmean, fmeans, &
2145 wnmean, amax, uabs, udirr, ustar, ustd,&
2146 tauwx, tauwy, cd, z0, charn, llws, fmeanws )
2149 CALL w3spr4 (a, cg, wn, emean, fmean, fmean1, &
2150 wnmean, amax, uabs, udirr, &
2152 taua, tauadir, rhoair, &
2154 ustar, ustd, tauwx, tauwy, cd, z0, &
2155 charn, llws, fmeanws, dlwmean )
2158 CALL w3spr6 (a, cg, wn, emean, fmean, wnmean, amax, fp)
2162 CALL w3flx1 ( zwnd, uabs, udirr, &
2163 ustar, ustd, z0, cd )
2166 CALL w3flx2 ( zwnd, depth, fp, uabs, udirr, &
2167 ustar, ustd, z0, cd )
2170 CALL w3flx3 ( zwnd, depth, fp, uabs, udirr, &
2171 ustar, ustd, z0, cd )
2174 CALL w3flx4 ( zwnd, uabs, udirr, ustar, ustd, z0, cd )
2177 CALL w3flx5 ( zwnd, uabs, udirr, taua, tauadir, &
2178 rhoair, ustar, ustd, z0, cd, charn )
2183 CALL w3sin2 (a, cg, wn2, uabs, udirr, cd, z0, &
2185 CALL w3spr2 (a, cg, wn, depth, fpi, uabs, ustar, &
2186 emean, fmean, wnmean, amax, alpha, fp )
2192 aso(j), udirr, z0, cd, tauwx, tauwy,&
2193 tauwnx, tauwny, ice, xin, dia, llws, ix, iy )
2194 CALL w3spr3 (a, cg, wn, emean, fmean, fmeans, &
2195 wnmean, amax, uabs, udirr, ustar, ustd,&
2196 tauwx, tauwy, cd, z0, charn, llws, fmeanws )
2201 CALL w3spr4 (a, cg, wn, emean, fmean, fmean1, &
2202 wnmean, amax, uabs, udirr, &
2204 taua, tauadir, rhoair, &
2206 ustar, ustd, tauwx, tauwy, cd, z0, &
2207 charn, llws, fmeanws,dlwmean )
2208 CALL w3sds4 ( a, wn, cg, ustar, ustd, depth,
dair, xds, &
2209 dia, ix, iy, lambda, whitecap, dlwmean )
2211 aso(j), udirr, z0, cd, tauwx, tauwy, tauwnx, &
2212 tauwny, xin, dia, llws, ix, iy, lambda )
2215 CALL w3flx2 ( zwnd, depth, fp, uabs, udirr, &
2216 ustar, ustd, z0, cd )
2219 CALL w3flx3 ( zwnd, depth, fp, uabs, udirr, &
2220 ustar, ustd, z0, cd )
2231 IF ( wao(j) .LT. 0.01 )
THEN
2236 IF ( otype.EQ.3 )
THEN
2241 estar = et *
grav**2 / unorm**4
2243 xstar = ptloc(1,j) *
grav / unorm**2
2244 ystar = ptloc(2,j) *
grav / unorm**2
2247 * cos(ptloc(2,j)*
dera)
2257 IF ( itype.EQ.3 )
THEN
2260 factor =
tpiinv * cg(ik) / sig(ik)
2262 a(ith,ik) = factor * spco(ith+(ik-1)*nth,j)
2263 wn2(ith,ik) = wn(ik)
2313 CALL w3spr1 (a, cg, wn, emean, fmean, wnmean, amax)
2317 fhigh = max( fh1 , fh2 )
2320 CALL w3spr2 (a, cg, wn, depth, fp , uabs, ustar, &
2321 emean, fmean, wnmean, amax, alpha, fp )
2324 CALL w3spr3 (a, cg, wn, emean, fmean, fmeans, &
2325 wnmean, amax, uabs, udirr, ustar, ustd,&
2326 tauwx, tauwy, cd, z0, charn, llws, fmeanws )
2329 CALL w3spr4 (a, cg, wn, emean, fmean, fmean1, &
2330 wnmean, amax, uabs, udirr, &
2332 taua, tauadir, rhoair, &
2334 ustar, ustd, tauwx, tauwy, cd, z0, &
2335 charn, llws, fmeanws, dlwmean )
2336 CALL w3sds4 ( a, wn, cg, ustar, ustd, depth,
dair, xds, &
2337 dia, ix, iy, lambda, whitecap, dlwmean )
2340 CALL w3spr6 (a, cg, wn, emean, fmean, wnmean, amax, fp)
2345 CALL w3flx1 ( zwnd, uabs, udirr, &
2346 ustar, ustd, z0, cd )
2349 CALL w3flx2 ( zwnd, depth, fp, uabs, udirr, &
2350 ustar, ustd, z0, cd )
2353 CALL w3flx3 ( zwnd, depth, fp, uabs, udirr, &
2354 ustar, ustd, z0, cd )
2357 CALL w3flx4 ( zwnd, uabs, udirr, ustar, ustd, z0, cd )
2360 CALL w3flx5 ( zwnd, uabs, udirr, taua, tauadir, &
2361 rhoair, ustar, ustd, z0, cd, charn )
2366 CALL w3sin2 (a, cg, wn2, uabs, udirr, cd, z0, &
2368 CALL w3spr2 (a, cg, wn, depth, fpi, uabs, ustar, &
2369 emean, fmean, wnmean, amax, alpha, fp )
2372 CALL w3spr3 (a, cg, wn, emean, fmean, fmeans, &
2373 wnmean, amax, uabs, udirr, ustar, ustd,&
2374 tauwx, tauwy, cd, z0, charn, llws, fmeanws )
2376 aso(j), udirr, z0, cd,tauwx, tauwy, &
2377 tauwnx, tauwny, ice, xin, dia, llws, ix, iy )
2380 CALL w3spr4 (a, cg, wn, emean, fmean, fmean1, &
2381 wnmean, amax, uabs, udirr, &
2383 taua, tauadir, rhoair, &
2385 ustar, ustd, tauwx, tauwy, cd, z0, &
2386 charn, llws, fmeanws, dlwmean )
2388 aso(j), udirr, z0, cd, tauwx, tauwy,tauwnx,&
2389 tauwny, xin, dia, llws, ix, iy, lambda )
2392 CALL w3flx2 ( zwnd, depth, fp, uabs, udirr, &
2393 ustar, ustd, z0, cd )
2396 CALL w3flx3 ( zwnd, depth, fp, uabs, udirr, &
2397 ustar, ustd, z0, cd )
2405 IF ( flsrce(2) )
THEN
2407 CALL w3sln1 (wn, fhigh, ustar, udirr, xln )
2411 CALL w3sin1 (a, wn2, ustar, udirr, xin, dia )
2414 CALL w3sin2 (a, cg, wn2, uabs, udirr, cd, z0,&
2418 CALL w3sin3 ( a, cg, wn2, uabs, ustar, &
2420 z0, cd, tauwx, tauwy,tauwnx, tauwny, &
2421 ice, xin, dia, llws, ix, iy )
2425 CALL w3spr4 (a, cg, wn, emean, fmean, fmean1, &
2426 wnmean, amax, uabs, udirr, &
2428 taua, tauadir, rhoair, &
2430 ustar, ustd, tauwx, tauwy, cd, z0, &
2431 charn, llws, fmeanws, dlwmean )
2432 CALL w3sds4 ( a, wn, cg, ustar, ustd, depth,
dair, xds, &
2433 dia, ix, iy, lambda, whitecap, dlwmean )
2435 aso(j), udirr, z0, cd, tauwx, tauwy, tauwnx, &
2436 tauwny, xin, dia, llws, ix, iy, lambda )
2439 CALL w3sin6 (a, cg, wn2, uabs, ustar, udirr, cd,
dair, &
2440 tauwx, tauwy, tauwnx, tauwny, xin, dia )
2443 IF ( flsrce(3) )
THEN
2445 IF (iqtpe.GT.0)
THEN
2446 CALL w3snl1 ( a, cg, wnmean*depth, xnl, dia )
2448 CALL w3snlgqm ( a, cg, wn, depth, xnl, dia )
2452 CALL w3snl2 ( a, cg, depth, xnl, dia )
2455 CALL w3snl3 ( a, cg, wn, depth, xnl, dia )
2458 CALL w3snl4 ( a, cg, wn, depth, xnl, dia )
2461 IF ( flsrce(4) )
THEN
2463 CALL w3sds1 ( a, wn2, emean, fmean, wnmean, &
2467 CALL w3sds2 ( a, cg, wn, fpi, ustar, &
2471 CALL w3sds3 ( a, wn, cg, emean, fmeans, wnmean, &
2472 ustar, ustd, depth, xds, dia, ix, iy )
2475 CALL w3spr4 (a, cg, wn, emean, fmean, fmean1, &
2476 wnmean, amax, uabs, udirr, &
2478 taua, tauadir, rhoair, &
2480 ustar, ustd, tauwx, tauwy, cd, z0, &
2481 charn, llws, fmeanws, dlwmean )
2482 CALL w3sds4 ( a, wn, cg, ustar, ustd, depth,
dair, xds, &
2483 dia, ix, iy, lambda, whitecap , dlwmean)
2486 CALL w3sds6 ( a, cg, wn, xds, dia )
2487 IF (swl6s6)
CALL w3swl6 ( a, cg, wn, xwl, dia )
2491 CALL w3sdb1 ( i, a, depth, emean, fmean, &
2492 wnmean, cg, lbreak, xdb, dia )
2495 IF ( flsrce(5) )
THEN
2497 CALL w3sbt1 ( a, cg, wn, depth, xbt, dia )
2504 psic= sed_psic(isea)
2505 CALL w3sbt4 ( a, cg, wn, depth, d50, psic, taubbl, &
2506 bedform, xbt, dia, ix, iy )
2515 CALL w3sbs1 ( a, cg, wn, depth, &
2516 cao(j)*cos(cdo(j)), cao(j)*sin(cdo(j)), &
2517 tauscx, tauscy, xbs, dia )
2521 IF ( flsrce(6) )
THEN
2523 CALL liu_forward_dispersion (icethick,0.,depth, &
2524 sig,wn_r,cg_ice,alpha_liu)
2531 CALL w3sis2(a, depth, icecon, icethick, icef, icedmax, &
2532 ix, iy, xis, dia, dia2, wn, cg, wn_r, cg_ice, r)
2540 IF ( iscale.EQ.0 .OR. iscale.EQ.3 )
THEN
2544 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.4 )
THEN
2546 face =
grav**3 / uabs**5
2547 facs =
grav**2 / uabs**4
2548 ELSE IF ( iscale.EQ.2 .OR. iscale.EQ.5 )
THEN
2550 face =
grav**3 / ustar**5
2551 facs =
grav**2 / ustar**4
2555 factor =
tpi / cg(ik) * sig(ik)
2564 isp = ith + (ik-1)*nth
2565 e(ik,ith) = spco(isp,j)
2566 swn(ik,ith) = ( xln(ith,ik) + xin(ith,ik) ) * factor
2567 snl(ik,ith) = ( xnl(ith,ik) + xtr(ith,ik) ) * factor
2568 sds(ik,ith) = ( xds(ith,ik) + xdb(ith,ik) ) * factor
2570 sds(ik,ith) = sds(ik,ith) +(xwl(ith,ik) * factor)
2572 sbt(ik,ith) = ( xbt(ith,ik) + xbs(ith,ik) ) * factor
2573 sis(ik,ith) = xis(ith,ik) * factor
2574 stt(ik,ith) = swn(ik,ith) + snl(ik,ith) + sds(ik,ith) + &
2575 sbt(ik,ith) + sis(ik,ith) + xxx(ith,ik) * factor
2576 e1(ik) = e1(ik) + e(ik,ith)
2577 sin1(ik) = sin1(ik) + swn(ik,ith)
2578 snl1(ik) = snl1(ik) + snl(ik,ith)
2579 sds1(ik) = sds1(ik) + sds(ik,ith)
2580 sbt1(ik) = sbt1(ik) + sbt(ik,ith)
2581 sis1(ik) = sis1(ik) + sis(ik,ith)
2583 e1(ik) = e1(ik) * dth * face
2584 sin1(ik) = sin1(ik) * dth * facs
2585 snl1(ik) = snl1(ik) * dth * facs
2586 sds1(ik) = sds1(ik) * dth * facs
2587 sbt1(ik) = sbt1(ik) * dth * facs
2588 sis1(ik) = sis1(ik) * dth * facs
2591 stt1 = sin1 + snl1 + sds1 + sbt1 + sis1
2604 IF ( itype .EQ. 1 )
THEN
2608 IF ( otype .NE. 1 )
THEN
2610 CALL t2d(time,curdate,ierr)
2611 outjulday=tsub(refdate,curdate)
2612 iret=nf90_put_var(ncid,varid(1),outjulday,(/iout/))
2620 IF ( otype .EQ. 1 )
THEN
2622 IF ( scale1 .GE. 0. ) &
2623 CALL prt1ds (ndso, nk, e1, sig(1:nk),
'RAD/S',&
2624 17, scale1,
'E(f)',
'm^2s', ptnme(j) )
2625 IF ( scale2 .GE. 0. ) &
2626 CALL prt2ds (ndso, nk, nk, nth, e, sig(1:nk), &
2627 'RAD/S', 1., scale2, 0.0001,
'E(f,th)', &
2629 IF ( iaproc .EQ. napout )
WRITE (ndso,910) dpo(j), uabs
2630 IF ( (wao(j) .GT. 0.) .AND. (iaproc .EQ. napout) )
WRITE (ndso,911) udir
2631 IF ( iaproc .EQ. napout )
WRITE (ndso,912) aso(j), cao(j)
2632 IF ( (cao(j) .GT. 0.) .AND. (iaproc .EQ. napout) )
WRITE (ndso,913) cdir
2633 IF ( iaproc .EQ. napout )
WRITE (ndso,914) hsig, wlen, tmean, thmean, thsprd
2639 ELSE IF ( otype .EQ. 2 )
THEN
2641 iret=nf90_put_var(ncid,varid(27),j,(/j1/))
2643 iret=nf90_put_var(ncid,varid(2),ptnme(j),start=(/1,j1/),count=(/len_trim(ptnme(j)) ,1/))
2644 IF (flww3.NE.0) iret=nf90_put_var(ncid,varid(3),flww3,(/j1,iout/))
2645 iret=nf90_put_var(ncid,varid(4),m2km*ptloc(1,j),(/j1,iout/))
2646 iret=nf90_put_var(ncid,varid(5),m2km*ptloc(2,j),(/j1,iout/))
2647 iret=nf90_put_var(ncid,varid(7),dpo(j),(/j1,iout/))
2648 iret=nf90_put_var(ncid,varid(8),ustar,(/j1,iout/))
2649 iret=nf90_put_var(ncid,varid(9),wao(j),(/j1,iout/))
2650 iret=nf90_put_var(ncid,varid(10),udir,(/j1,iout/))
2652 IF ( fp .EQ. 0. ) fp = sig(nk)
2653 iret=nf90_put_var(ncid,varid(11),sig(1:nk)/fp,start=(/1,j1,iout /),count=(/nk,1,1/))
2654 iret=nf90_put_var(ncid,varid(12),e1(1:nk),start=(/1,j1,iout /),count=(/nk,1,1/))
2655 iret=nf90_put_var(ncid,varid(13),thbnd(1:nk),start=(/1,j1,iout /),count=(/nk,1,1/))
2656 iret=nf90_put_var(ncid,varid(14),spbnd(1:nk),start=(/1,j1,iout /),count=(/nk,1,1/))
2657 iret=nf90_put_var(ncid,varid(15),apm(1:nk),start=(/1,j1,iout /),count=(/nk,1,1/))
2663 ELSE IF ( otype .EQ. 3 )
THEN
2664 iret=nf90_put_var(ncid,varid(27),j,(/j1/))
2666 iret=nf90_put_var(ncid,varid(2),ptnme(j),start=(/1,j1/),count=(/len_trim(ptnme(j)) ,1/))
2667 IF (flww3.NE.0) iret=nf90_put_var(ncid,varid(3),flww3,(/j1,iout/))
2668 iret=nf90_put_var(ncid,varid(4),m2km*ptloc(1,j),(/j1,iout/))
2669 iret=nf90_put_var(ncid,varid(5),m2km*ptloc(2,j),(/j1,iout/))
2670 IF (ncvartype.LE.3)
THEN
2671 iret=nf90_put_var(ncid,varid(11),nint(dpo(j)/0.5),(/j1,iout/))
2672 iret=nf90_put_var(ncid,varid(12),nint(wao(j)/0.1),(/j1,iout/))
2673 iret=nf90_put_var(ncid,varid(13),nint(udir/0.1),(/j1,iout/))
2674 iret=nf90_put_var(ncid,varid(14),nint(cao(j)/0.1),(/j1,iout/))
2675 iret=nf90_put_var(ncid,varid(15),nint(cdir/0.1),(/j1,iout/))
2677 iret=nf90_put_var(ncid,varid(11),dpo(j),(/j1,iout/))
2678 iret=nf90_put_var(ncid,varid(12),wao(j),(/j1,iout/))
2679 iret=nf90_put_var(ncid,varid(13),udir,(/j1,iout/))
2680 iret=nf90_put_var(ncid,varid(14),cao(j),(/j1,iout/))
2681 iret=nf90_put_var(ncid,varid(15),cdir,(/j1,iout/))
2683 IF (ncvartype.LE.3)
THEN
2684 WHERE(e.GE.0) e=nint(alog10(e+1e-12)/0.0004)
2686 iret=nf90_put_var(ncid,varid(10),transpose(e(1:nk,1:nth)), &
2687 start=(/1,1,j1,iout/),count=(/nth,nk,1,1/))
2691 ELSE IF ( otype .EQ. 4 )
THEN
2693 iret=nf90_put_var(ncid,varid(27),j,(/j1/))
2695 iret=nf90_put_var(ncid,varid(2),ptnme(j),start=(/1,j1/),count=(/len_trim(ptnme(j)) ,1/))
2696 IF (flww3.NE.0) iret=nf90_put_var(ncid,varid(3),flww3,(/j1,iout/))
2697 iret=nf90_put_var(ncid,varid(4),m2km*ptloc(1,j),(/j1,iout/))
2698 iret=nf90_put_var(ncid,varid(5),m2km*ptloc(2,j),(/j1,iout/))
2699 iret=nf90_put_var(ncid,varid(6),npart,(/j1,iout/))
2700 iret=nf90_put_var(ncid,varid(7),depth,(/j1,iout/))
2701 iret=nf90_put_var(ncid,varid(8),wao(j),(/j1,iout/))
2702 iret=nf90_put_var(ncid,varid(9),udir,(/j1,iout/))
2703 iret=nf90_put_var(ncid,varid(10),cao(j),(/j1,iout/))
2704 iret=nf90_put_var(ncid,varid(11),cdir,(/j1,iout/))
2706 iret=nf90_put_var(ncid,varid(12),xpart(1,0:npart), &
2707 start=(/1,j1,iout/),count=(/npart,1,1/))
2708 iret=nf90_put_var(ncid,varid(13),xpart(2,0:npart), &
2709 start=(/1,j1,iout/),count=(/npart,1,1/))
2710 iret=nf90_put_var(ncid,varid(14),xpart(3,0:npart),start=(/1,j1,iout/),count=(/npart,1,1/))
2711 iret=nf90_put_var(ncid,varid(15),xpart(4,0:npart),start=(/1,j1,iout/),count=(/npart,1,1/))
2712 iret=nf90_put_var(ncid,varid(16),xpart(5,0:npart),start=(/1,j1,iout/),count=(/npart,1,1/))
2713 iret=nf90_put_var(ncid,varid(17),xpart(6,0:npart),start=(/1,j1,iout/),count=(/npart,1,1/))
2714 iret=nf90_put_var(ncid,varid(18),xpart(12,0:npart),start=(/1,j1,iout/),count=(/npart,1,1/))
2715 iret=nf90_put_var(ncid,varid(19),xpart(13,0:npart),start=(/1,j1,iout/),count=(/npart,1,1/))
2716 iret=nf90_put_var(ncid,varid(20),xpart(14,0:npart),start=(/1,j1,iout/),count=(/npart,1,1/))
2723 ELSE IF ( itype .EQ. 2 )
THEN
2726 CALL t2d(time,curdate,ierr)
2727 outjulday=tsub(refdate,curdate)
2728 iret=nf90_put_var(ncid,varid(1),outjulday,(/iout/))
2733 IF ( otype .EQ. 1 )
THEN
2735 iret=nf90_put_var(ncid,varid(27),j,(/j1/))
2736 iret=nf90_put_var(ncid,varid(2),ptnme(j),start=(/1,j1/),count=(/len_trim(ptnme(j)) ,1/))
2737 IF (flww3.NE.0) iret=nf90_put_var(ncid,varid(3),flww3,(/j1,iout/))
2738 iret=nf90_put_var(ncid,varid(4),m2km*ptloc(1,j),(/j1,iout/))
2739 iret=nf90_put_var(ncid,varid(5),m2km*ptloc(2,j),(/j1,iout/))
2740 iret=nf90_put_var(ncid,varid(6),dpo(j),(/ j1,iout /))
2741 iret=nf90_put_var(ncid,varid(7),cao(j),(/ j1,iout /))
2742 iret=nf90_put_var(ncid,varid(8),cdir,(/ j1,iout /))
2743 iret=nf90_put_var(ncid,varid(9),wao(j),(/ j1,iout /))
2744 iret=nf90_put_var(ncid,varid(10),udir,(/ j1,iout /))
2746 iret=nf90_put_var(ncid,varid(11),zet_seto,(/ j1,iout /))
2752 ELSE IF ( otype .EQ. 2 )
THEN
2754 iret=nf90_put_var(ncid,varid(27),j,(/j1/))
2755 iret=nf90_put_var(ncid,varid(2),ptnme(j),start=(/1,j1/),count=(/len_trim(ptnme(j)) ,1/))
2756 IF (flww3.NE.0) iret=nf90_put_var(ncid,varid(3),flww3,(/j1,iout/))
2757 iret=nf90_put_var(ncid,varid(4),m2km*ptloc(1,j),(/j1,iout/))
2758 iret=nf90_put_var(ncid,varid(5),m2km*ptloc(2,j),(/j1,iout/))
2759 iret=nf90_put_var(ncid,varid(6),hsig,(/ j1,iout /))
2760 iret=nf90_put_var(ncid,varid(7),wlen,(/ j1,iout /))
2761 iret=nf90_put_var(ncid,varid(8),tmean,(/ j1,iout /))
2762 iret=nf90_put_var(ncid,varid(9),thp,(/ j1,iout /))
2763 iret=nf90_put_var(ncid,varid(10),spp,(/ j1,iout /))
2764 iret=nf90_put_var(ncid,varid(11),fp*
tpiinv,(/ j1,iout /))
2765 iret=nf90_put_var(ncid,varid(12),thmean,(/ j1,iout /))
2766 iret=nf90_put_var(ncid,varid(13),thsprd,(/ j1,iout /))
2771 ELSE IF ( otype .EQ. 3 )
THEN
2773 iret=nf90_put_var(ncid,varid(27),j,(/j1/))
2774 iret=nf90_put_var(ncid,varid(2),ptnme(j),start=(/1,j1/),count=(/len_trim(ptnme(j)) ,1/))
2775 IF (flww3.NE.0) iret=nf90_put_var(ncid,varid(3),flww3,(/j1,iout/))
2776 iret=nf90_put_var(ncid,varid(4),1.e-4*xstar,(/j1,iout/))
2777 iret=nf90_put_var(ncid,varid(5),1.e-4*ystar,(/j1,iout/))
2778 iret=nf90_put_var(ncid,varid(6),unorm,(/ j1,iout /))
2779 iret=nf90_put_var(ncid,varid(7),estar,(/ j1,iout /))
2780 iret=nf90_put_var(ncid,varid(8),fpstar,(/ j1,iout /))
2781 iret=nf90_put_var(ncid,varid(9),cd*1000.,(/ j1,iout /))
2782 iret=nf90_put_var(ncid,varid(10),apm(nk)*100.,(/ j1,iout /))
2787 ELSE IF ( otype .EQ. 4 )
THEN
2789 iret=nf90_put_var(ncid,varid(27),j,(/j1/))
2790 iret=nf90_put_var(ncid,varid(2),ptnme(j),start=(/1,j1/),count=(/len_trim(ptnme(j)) ,1/))
2791 IF (flww3.NE.0) iret=nf90_put_var(ncid,varid(3),flww3,(/j1,iout/))
2792 iret=nf90_put_var(ncid,varid(4),xstar,(/j1,iout/))
2793 iret=nf90_put_var(ncid,varid(5),ystar,(/j1,iout/))
2794 iret=nf90_put_var(ncid,varid(6),unorm,(/ j1,iout /))
2795 iret=nf90_put_var(ncid,varid(7),estar,(/ j1,iout /))
2796 iret=nf90_put_var(ncid,varid(8),fpstar,(/ j1,iout /))
2797 iret=nf90_put_var(ncid,varid(9),cd*1000.,(/ j1,iout /))
2798 iret=nf90_put_var(ncid,varid(10),apm(nk)*100.,(/ j1,iout /))
2803 ELSE IF ( otype .EQ. 5 )
THEN
2804 hmat = min( 100. , 3.33*
grav*hsig/uabs**2 )
2805 IF ( hsig .GE. hsmin )
THEN
2806 CALL wavnu1 ( fp, dpo(j), wna, xyz )
2807 age1 = min( 100. , fp / wna / uabs )
2809 CALL wavnu1 ( afr, dpo(j), wna, xyz )
2810 age2 = min( 100. , afr / wna / uabs )
2812 age1 = nf90_fill_float
2813 age2 = nf90_fill_float
2816 iret=nf90_put_var(ncid,varid(27),j,(/j1/))
2817 iret=nf90_put_var(ncid,varid(2),ptnme(j),start=(/1,j1/),count=(/len_trim(ptnme(j)) ,1/))
2818 IF (flww3.NE.0) iret=nf90_put_var(ncid,varid(3),flww3,(/j1,iout/))
2819 iret=nf90_put_var(ncid,varid(4),m2km*ptloc(1,j),(/j1,iout/))
2820 iret=nf90_put_var(ncid,varid(5),m2km*ptloc(2,j),(/j1,iout/))
2821 iret=nf90_put_var(ncid,varid(6),wao(j),(/ j1,iout /))
2822 iret=nf90_put_var(ncid,varid(7),udir,(/ j1,iout /))
2823 iret=nf90_put_var(ncid,varid(8),hsig,(/ j1,iout /))
2824 iret=nf90_put_var(ncid,varid(9),hmat,(/ j1,iout /))
2825 iret=nf90_put_var(ncid,varid(10),age1,(/ j1,iout /))
2826 iret=nf90_put_var(ncid,varid(11),age2,(/ j1,iout /))
2827 iret=nf90_put_var(ncid,varid(12),aso(j),(/ j1,iout /))
2832 ELSE IF ( otype .EQ. 6 )
THEN
2834 iret=nf90_put_var(ncid,varid(27),j,(/j1/))
2835 iret=nf90_put_var(ncid,varid(2),ptnme(j),start=(/1,j1/),count=(/len_trim(ptnme(j)) ,1/))
2836 IF (flww3.NE.0) iret=nf90_put_var(ncid,varid(3),flww3,(/j1,iout/))
2837 iret=nf90_put_var(ncid,varid(4),m2km*ptloc(1,j),(/j1,iout/))
2838 iret=nf90_put_var(ncid,varid(5),m2km*ptloc(2,j),(/j1,iout/))
2839 iret=nf90_put_var(ncid,varid(6),wao(j),(/ j1,iout /))
2840 iret=nf90_put_var(ncid,varid(7),udir,(/ j1,iout /))
2841 iret=nf90_put_var(ncid,varid(8),hsig,(/ j1,iout /))
2843 IF ( hsig .GE. hsmin )
THEN
2844 iret=nf90_put_var(ncid,varid(9),
tpi/fp,(/ j1,iout /))
2846 iret=nf90_put_var(ncid,varid(9),0.0,(/ j1,iout /))
2853 ELSE IF ( itype .EQ. 3 )
THEN
2857 IF ( otype .NE. 1 )
THEN
2859 CALL t2d(time,curdate,ierr)
2860 outjulday=tsub(refdate,curdate)
2861 iret=nf90_put_var(ncid,varid(1),outjulday,(/iout/))
2866 IF ( otype .EQ. 1 )
THEN
2868 IF ( scale1 .GE. 0. )
THEN
2870 CALL prt1ds (ndso, nk, e1, sig(1:nk), &
2871 'RAD/S', 17, 0.,
'E(f)',
'm^2s', &
2873 IF (flsrce(2) .OR. flsrce(3) .OR. &
2874 flsrce(4) .OR. flsrce(5) .OR. &
2875 flsrce(6) .OR. flsrce(7) ) &
2876 CALL prt1dm (ndso, nk, 6, e1all, sig(1:nk),&
2877 'RAD/S', 17, scale1, var1,
'M2', &
2880 IF ( scale2 .GE. 0. )
THEN
2882 CALL prt2ds (ndso, nk, nk, nth, e, &
2883 sig(1:nk),
'RAD/S', 1., 0., 0.0001, &
2884 'E(f,th)',
'm^2s', ptnme(j) )
2886 CALL prt2ds (ndso, nk, nk, nth, swn, &
2887 sig(1:nk),
'RAD/S', 1., scale2, 0.0001,&
2888 'Sin(f,th)',
'm^2', ptnme(j) )
2890 CALL prt2ds (ndso, nk, nk, nth, snl, &
2891 sig(1:nk),
'RAD/S', 1., scale2, 0.0001,&
2892 'Snl(f,th)',
'm^2', ptnme(j) )
2894 CALL prt2ds (ndso, nk, nk, nth, sds, &
2895 sig(1:nk),
'RAD/S', 1., scale2, 0.0001,&
2896 'Sds(f,th)',
'm^2', ptnme(j) )
2898 CALL prt2ds (ndso, nk, nk, nth, sbt, &
2899 sig(1:nk),
'RAD/S', 1., scale2, 0.0001,&
2900 'Sbt(f,th)',
'm^2', ptnme(j) )
2902 CALL prt2ds (ndso, nk, nk, nth, sis, &
2903 sig(1:nk),
'RAD/S', 1., scale2, 0.0001,&
2904 'Sice(f,th)',
'm^2', ptnme(j) )
2906 CALL prt2ds (ndso, nk, nk, nth, stt, &
2907 sig(1:nk),
'RAD/S', 1., scale2, 0.0001,&
2908 'Stot(f,th)',
'm^2', ptnme(j) )
2913 ELSE IF ( otype .EQ. 2 )
THEN
2915 iret=nf90_put_var(ncid,varid(27),j,(/j1/))
2916 iret=nf90_put_var(ncid,varid(2),ptnme(j),start=(/1,j1/),count=(/len_trim(ptnme(j)) ,1/))
2917 IF (flww3.NE.0) iret=nf90_put_var(ncid,varid(3),flww3,(/j1,iout/))
2918 iret=nf90_put_var(ncid,varid(4),m2km*ptloc(1,j),(/j1,iout/))
2919 iret=nf90_put_var(ncid,varid(5),m2km*ptloc(2,j),(/j1,iout/))
2920 iret=nf90_put_var(ncid,varid(7),dpo(j),(/j1,iout/))
2921 iret=nf90_put_var(ncid,varid(8),ustar,(/j1,iout/))
2922 iret=nf90_put_var(ncid,varid(9),wao(j),(/j1,iout/))
2923 IF ( iscale.GE.3 ) facf = 1. / fp
2924 iret=nf90_put_var(ncid,varid(6),facf*sig(1:nk),start=(/1,j1,iout /),count=(/nk,1,1/))
2925 iret=nf90_put_var(ncid,varid(10),e1(1:nk),start=(/1,j1,iout /),count=(/nk,1,1/))
2926 iret=nf90_put_var(ncid,varid(11),sin1(1:nk),start=(/1,j1,iout /),count=(/nk,1,1/))
2927 iret=nf90_put_var(ncid,varid(12),snl1(1:nk),start=(/1,j1,iout /),count=(/nk,1,1/))
2928 iret=nf90_put_var(ncid,varid(13),sds1(1:nk),start=(/1,j1,iout /),count=(/nk,1,1/))
2929 iret=nf90_put_var(ncid,varid(14),sbt1(1:nk),start=(/1,j1,iout /),count=(/nk,1,1/))
2930 iret=nf90_put_var(ncid,varid(15),sis1(1:nk),start=(/1,j1,iout /),count=(/nk,1,1/))
2931 iret=nf90_put_var(ncid,varid(16),stt1(1:nk),start=(/1,j1,iout /),count=(/nk,1,1/))
2936 ELSE IF ( otype .EQ. 3 )
THEN
2938 iret=nf90_put_var(ncid,varid(27),j,(/j1/))
2939 iret=nf90_put_var(ncid,varid(2),ptnme(j),start=(/1,j1/),count=(/len_trim(ptnme(j)) ,1/))
2940 IF (flww3.NE.0) iret=nf90_put_var(ncid,varid(3),flww3,(/j1,iout/))
2941 iret=nf90_put_var(ncid,varid(4),m2km*ptloc(1,j),(/j1,iout/))
2942 iret=nf90_put_var(ncid,varid(5),m2km*ptloc(2,j),(/j1,iout/))
2943 iret=nf90_put_var(ncid,varid(7),dpo(j),(/j1,iout/))
2944 iret=nf90_put_var(ncid,varid(8),ustar,(/j1,iout/))
2945 iret=nf90_put_var(ncid,varid(9),wao(j),(/j1,iout/))
2946 IF ( iscale.GE.3 ) facf = 1. / fp
2948 fact = 1. / max( 1.e-10 , e1(ik) )
2949 iret=nf90_put_var(ncid,varid(6),facf*sig(ik),(/ ik,j1,iout /))
2950 iret=nf90_put_var(ncid,varid(10),e1(ik),(/ ik,j1,iout /))
2951 IF ( e1(ik) .GT. 1.e-10 )
THEN
2952 iret=nf90_put_var(ncid,varid(11),fact*sin1(ik),(/ ik,j1,iout /))
2953 iret=nf90_put_var(ncid,varid(12),fact*snl1(ik),(/ ik,j1,iout /))
2954 iret=nf90_put_var(ncid,varid(13),fact*sds1(ik),(/ ik,j1,iout /))
2955 iret=nf90_put_var(ncid,varid(14),fact*sbt1(ik),(/ ik,j1,iout /))
2956 iret=nf90_put_var(ncid,varid(15),fact*sis1(ik),(/ ik,j1,iout /))
2957 iret=nf90_put_var(ncid,varid(16),fact*stt1(ik),(/ ik,j1,iout /))
2959 iret=nf90_put_var(ncid,varid(11),nf90_fill_float,(/ ik,j1,iout /))
2960 iret=nf90_put_var(ncid,varid(12),nf90_fill_float,(/ ik,j1,iout /))
2961 iret=nf90_put_var(ncid,varid(13),nf90_fill_float,(/ ik,j1,iout /))
2962 iret=nf90_put_var(ncid,varid(14),nf90_fill_float,(/ ik,j1,iout /))
2963 iret=nf90_put_var(ncid,varid(15),nf90_fill_float,(/ ik,j1,iout /))
2964 iret=nf90_put_var(ncid,varid(16),nf90_fill_float,(/ ik,j1,iout /))
2971 ELSE IF ( otype .EQ. 4 )
THEN
2973 iret=nf90_put_var(ncid,varid(27),j,(/j1/))
2974 iret=nf90_put_var(ncid,varid(2),ptnme(j),start=(/1,j1/),count=(/len_trim(ptnme(j)) ,1/))
2975 IF (flww3.NE.0) iret=nf90_put_var(ncid,varid(3),flww3,(/j1,iout/))
2976 iret=nf90_put_var(ncid,varid(4),m2km*ptloc(1,j),(/j1,iout/))
2977 iret=nf90_put_var(ncid,varid(5),m2km*ptloc(2,j),(/j1,iout/))
2978 iret=nf90_put_var(ncid,varid(10),dpo(j),(/j1,iout/))
2979 iret=nf90_put_var(ncid,varid(11),wao(j),(/j1,iout/))
2980 iret=nf90_put_var(ncid,varid(12),udir,(/j1,iout/))
2981 iret=nf90_put_var(ncid,varid(13),cao(j),(/j1,iout/))
2982 iret=nf90_put_var(ncid,varid(14),cdir,(/j1,iout/))
2983 iret=nf90_put_var(ncid,varid(15),ustar,(/j1,iout/))
2985 IF ( flsrce(1) ) iret=nf90_put_var(ncid,varid(16), &
2986 transpose(e(1:nk,1:nth)), start=(/1,1,j1,iout/), &
2987 count=(/nth,nk,1,1/) )
2988 IF ( flsrce(2) ) iret=nf90_put_var(ncid,varid(17), &
2989 transpose(swn(1:nk,1:nth)), start=(/1,1,j1,iout/), &
2990 count=(/nth,nk,1,1/) )
2991 IF ( flsrce(3) ) iret=nf90_put_var(ncid,varid(18), &
2992 transpose(snl(1:nk,1:nth)), start=(/1,1,j1,iout/), &
2993 count=(/nth,nk,1,1/) )
2994 IF ( flsrce(4) ) iret=nf90_put_var(ncid,varid(19), &
2995 transpose(sds(1:nk,1:nth)), start=(/1,1,j1,iout/), &
2996 count=(/nth,nk,1,1/) )
2997 IF ( flsrce(5) ) iret=nf90_put_var(ncid,varid(20), &
2998 transpose(sbt(1:nk,1:nth)), start=(/1,1,j1,iout/), &
2999 count=(/nth,nk,1,1/) )
3000 IF ( flsrce(6) ) iret=nf90_put_var(ncid,varid(21), &
3001 transpose(sis(1:nk,1:nth)), start=(/1,1,j1,iout/), &
3002 count=(/nth,nk,1,1/) )
3003 IF ( flsrce(7) ) iret=nf90_put_var(ncid,varid(22), &
3004 transpose(stt(1:nk,1:nth)), start=(/1,1,j1,iout/), &
3005 count=(/nth,nk,1,1/) )
3014 IF (together) j1=j1+1
3022 IF (j.GT.nopts) laststation=.true.
3035 910
FORMAT (/15x,
' Water depth :',f7.1,
' (m)'/ &
3036 15x,
' Wind speed :',f8.2,
' (m/s)')
3037 911
FORMAT ( 15x,
' Wind direction :',f7.1,
' (degr)')
3038 912
FORMAT ( 15x,
' Air-sea temp. dif.:',f7.1,
' (degr)'/ &
3039 15x,
' sea water speed :',f8.2,
' (m/s)')
3040 913
FORMAT ( 15x,
' direction of current (from) :',f7.1,
' (degr)')
3041 914
FORMAT ( 15x,
' Wave height :',f8.2,
' (m)'/ &
3042 15x,
' Mean wave length :',f6.0,
' (m)'/ &
3043 15x,
' Mean wave period :',f7.1,
' (s)'/ &
3044 15x,
' Mean wave direct. :',f7.1,
' (degr)'/ &
3045 15x,
' Direct. spread :',f7.1,
' (degr)'/)
3048 9000
FORMAT (
' TEST W3EXNC : FLAGS :',40l2)
3049 9001
FORMAT (
' TEST W3EXNC : ITPYE :',i4/ &
3052 ' SCALE1 :',e10.3/ &
3053 ' SCALE2 :',e10.3/ &
3055 9002
FORMAT (
' TEST W3EXNC : OUTPUT POINT : ',a)
3056 9010
FORMAT (
' TEST W3EXNC : DEPTH =',f7.1,
' IK, T, K, CG :')
3057 9011
FORMAT (
' ',i3,f8.2,f8.4,f8.2)
3085 SUBROUTINE w3crnc (ITYPE, OTYPE, NCTYPE, NCFILE, NCID, DIMID, DIMLN, VARID, ONE, TWO, FLSRCE, NCVARTYPE)
3094 INTEGER,
INTENT(IN) :: ITYPE,OTYPE,NCTYPE, ONE, TWO
3095 CHARACTER*(128),
INTENT(IN) :: NCFILE
3096 INTEGER,
INTENT(IN) :: DIMLN(5)
3097 INTEGER,
INTENT(OUT) :: DIMID(7), VARID(28),NCID
3098 LOGICAL,
INTENT(IN),
OPTIONAL :: FLSRCE(7)
3099 INTEGER,
INTENT(IN),
OPTIONAL :: NCVARTYPE
3103 INTEGER :: DEFLATE=1
3105 REAL(kind=4) :: freq(
nk), freq1(
nk),freq2(
nk), dir(
nth)
3111 IF(nctype.EQ.3) iret = nf90_create(trim(ncfile), nf90_clobber, ncid)
3112 IF(nctype.EQ.4) iret = nf90_create(trim(ncfile), nf90_netcdf4, ncid)
3118 iret = nf90_def_dim(ncid,
'time', dimln(1), dimid(1))
3120 iret = nf90_def_dim(ncid,
'station', dimln(2), dimid(2))
3122 iret = nf90_def_dim(ncid,
'string40', dimln(3), dimid(3))
3130 iret=nf90_def_var(ncid,
'time', nf90_double, dimid(1), varid(1))
3132 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(1), 1, 1, deflate)
3133 SELECT CASE (trim(caltype))
3135 iret=nf90_put_att(ncid,varid(1),
'long_name',
'time in 360 day calendar')
3137 iret=nf90_put_att(ncid,varid(1),
'long_name',
'time in 365 day calendar')
3139 iret=nf90_put_att(ncid,varid(1),
'long_name',
'julian day (UT)')
3141 iret=nf90_put_att(ncid,varid(1),
'standard_name',
'time')
3142 iret=nf90_put_att(ncid,varid(1),
'units',
'days since 1990-01-01 00:00:00')
3143 iret=nf90_put_att(ncid,varid(1),
'conventions',
'Relative julian days with decimal part (as parts of the day)')
3144 iret=nf90_put_att(ncid,varid(1),
'axis',
'T')
3145 iret=nf90_put_att(ncid,varid(1),
'calendar',trim(caltype))
3148 iret=nf90_def_var(ncid,
'station', nf90_int, (/dimid(2)/), varid(27))
3150 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(27), 1, 1, deflate)
3151 iret=nf90_put_att(ncid,varid(27),
'long_name',
'station id')
3152 iret=nf90_put_att(ncid,varid(27),
'_FillValue',nf90_fill_int)
3153 iret=nf90_put_att(ncid,varid(27),
'axis',
'X')
3156 iret=nf90_def_var(ncid,
'string40', nf90_int, (/dimid(3)/), varid(28))
3158 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(28), 1, 1, deflate)
3159 iret=nf90_put_att(ncid,varid(28),
'long_name',
'station_name number of characters')
3160 iret=nf90_put_att(ncid,varid(28),
'_FillValue',nf90_fill_int)
3161 iret=nf90_put_att(ncid,varid(28),
'axis',
'W')
3164 iret=nf90_def_var(ncid,
'station_name', nf90_char, (/dimid(3),dimid(2)/), varid(2))
3166 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(2), 1, 1, deflate)
3167 iret=nf90_put_att(ncid,varid(2),
'long_name',
'station name')
3168 iret=nf90_put_att(ncid,varid(2),
'content',
'XW')
3169 iret=nf90_put_att(ncid,varid(2),
'associates',
'station string40')
3171 IF (flww3.NE.0)
THEN
3173 iret=nf90_def_var(ncid,
'WWIII_param_version', nf90_short, (/dimid(two),dimid(one)/), varid(3))
3175 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(3), 1, 1, deflate)
3176 iret=nf90_put_att(ncid,varid(3),
'long_name',
'WaveWatch III parameters version')
3177 iret=nf90_put_att(ncid,varid(3),
'standard_name',
'WWIII_param_version')
3178 iret=nf90_put_att(ncid,varid(3),
'globwave_name',
'WWIII_param_version')
3179 iret=nf90_put_att(ncid,varid(3),
'units',
'-')
3180 iret=nf90_put_att(ncid,varid(3),
'scale_factor',1)
3181 iret=nf90_put_att(ncid,varid(3),
'add_offset',0)
3182 iret=nf90_put_att(ncid,varid(3),
'valid_min',1)
3183 iret=nf90_put_att(ncid,varid(3),
'valid_max',999)
3184 iret=nf90_put_att(ncid,varid(3),
'_FillValue',nf90_fill_short)
3185 iret=nf90_put_att(ncid,varid(3),
'content',
'TX')
3186 iret=nf90_put_att(ncid,varid(3),
'associates',
'time station')
3191 iret=nf90_def_var(ncid,
'longitude', nf90_float, (/dimid(two),dimid(one)/), varid(4))
3193 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(4), 1, 1, deflate)
3194 iret=nf90_put_att(ncid,varid(4),
'long_name',
'longitude')
3195 iret=nf90_put_att(ncid,varid(4),
'standard_name',
'longitude')
3196 iret=nf90_put_att(ncid,varid(4),
'globwave_name',
'longitude')
3197 iret=nf90_put_att(ncid,varid(4),
'units',
'degree_east')
3198 iret=nf90_put_att(ncid,varid(4),
'scale_factor',1.)
3199 iret=nf90_put_att(ncid,varid(4),
'add_offset',0.)
3200 iret=nf90_put_att(ncid,varid(4),
'valid_min',-180.0)
3201 iret=nf90_put_att(ncid,varid(4),
'valid_max',360.)
3202 iret=nf90_put_att(ncid,varid(4),
'_FillValue',nf90_fill_float)
3203 iret=nf90_put_att(ncid,varid(4),
'content',
'TX')
3204 iret=nf90_put_att(ncid,varid(4),
'associates',
'time station')
3207 iret=nf90_def_var(ncid,
'latitude', nf90_float, (/dimid(two),dimid(one)/), varid(5))
3209 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(5), 1, 1, deflate)
3210 iret=nf90_put_att(ncid,varid(5),
'long_name',
'latitude')
3211 iret=nf90_put_att(ncid,varid(5),
'standard_name',
'latitude')
3212 iret=nf90_put_att(ncid,varid(5),
'globwave_name',
'latitude')
3213 iret=nf90_put_att(ncid,varid(5),
'units',
'degree_north')
3214 iret=nf90_put_att(ncid,varid(5),
'scale_factor',1.)
3215 iret=nf90_put_att(ncid,varid(5),
'add_offset',0.)
3216 iret=nf90_put_att(ncid,varid(5),
'valid_min',-90.0)
3217 iret=nf90_put_att(ncid,varid(5),
'valid_max',180.)
3218 iret=nf90_put_att(ncid,varid(5),
'_FillValue',nf90_fill_float)
3219 iret=nf90_put_att(ncid,varid(5),
'content',
'TX')
3220 iret=nf90_put_att(ncid,varid(5),
'associates',
'time station')
3225 iret=nf90_def_var(ncid,
'x', nf90_float, (/dimid(two),dimid(one)/), varid(4))
3227 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(4), 1, 1, deflate)
3228 iret=nf90_put_att(ncid,varid(4),
'long_name',
'x')
3229 iret=nf90_put_att(ncid,varid(4),
'standard_name',
'x')
3230 iret=nf90_put_att(ncid,varid(4),
'globwave_name',
'x')
3231 iret=nf90_put_att(ncid,varid(4),
'units',
'km')
3232 iret=nf90_put_att(ncid,varid(4),
'scale_factor',1.)
3233 iret=nf90_put_att(ncid,varid(4),
'add_offset',0.)
3234 iret=nf90_put_att(ncid,varid(4),
'valid_min',0.)
3235 iret=nf90_put_att(ncid,varid(4),
'valid_max',10000.)
3236 iret=nf90_put_att(ncid,varid(4),
'_FillValue',nf90_fill_float)
3237 iret=nf90_put_att(ncid,varid(4),
'content',
'TX')
3238 iret=nf90_put_att(ncid,varid(4),
'associates',
'time station')
3242 iret=nf90_def_var(ncid,
'y', nf90_float, (/dimid(two),dimid(one)/), varid(5))
3244 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(5), 1, 1, deflate)
3245 iret=nf90_put_att(ncid,varid(5),
'long_name',
'y')
3246 iret=nf90_put_att(ncid,varid(5),
'standard_name',
'y')
3247 iret=nf90_put_att(ncid,varid(5),
'globwave_name',
'y')
3248 iret=nf90_put_att(ncid,varid(5),
'units',
'km')
3249 iret=nf90_put_att(ncid,varid(5),
'scale_factor',1.)
3250 iret=nf90_put_att(ncid,varid(5),
'add_offset',0.)
3251 iret=nf90_put_att(ncid,varid(5),
'valid_min',0.)
3252 iret=nf90_put_att(ncid,varid(5),
'valid_max',10000.)
3253 iret=nf90_put_att(ncid,varid(5),
'_FillValue',nf90_fill_float)
3254 iret=nf90_put_att(ncid,varid(5),
'content',
'TX')
3255 iret=nf90_put_att(ncid,varid(5),
'associates',
'time station')
3261 freq1(1:
nk)=freq(1:
nk)-0.5*(freq(1:
nk)-(freq(1:
nk)/
xfr))
3262 freq2(1:
nk)=freq(1:
nk)+0.5*(-freq(1:
nk)+(freq(1:
nk)*
xfr))
3265 dir(1:
nth)=mod(450-thd(1:
nth),360.)
3271 IF (itype.EQ.1 .AND. otype.EQ.2)
THEN
3275 iret = nf90_def_dim(ncid,
'frequency', dimln(4), dimid(4))
3283 iret=nf90_def_var(ncid,
'frequency', nf90_float, dimid(4), varid(6))
3284 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(6), 1, 1, deflate)
3285 iret=nf90_put_att(ncid,varid(6),
'long_name',
'frequency of center band')
3286 iret=nf90_put_att(ncid,varid(6),
'standard_name',
'sea_surface_wave_frequency')
3287 iret=nf90_put_att(ncid,varid(6),
'globwave_name',
'frequency')
3288 iret=nf90_put_att(ncid,varid(6),
'units',
's-1')
3289 iret=nf90_put_att(ncid,varid(6),
'scale_factor',1.)
3290 iret=nf90_put_att(ncid,varid(6),
'add_offset',0.)
3291 iret=nf90_put_att(ncid,varid(6),
'valid_min',0.)
3292 iret=nf90_put_att(ncid,varid(6),
'valid_max',10.)
3293 iret=nf90_put_att(ncid,varid(6),
'_FillValue',nf90_fill_float)
3294 iret=nf90_put_att(ncid,varid(6),
'axis',
'Y')
3296 iret=nf90_def_var(ncid,
'dpt', nf90_float, (/ dimid(two),dimid(one) /), varid(7))
3297 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(7), 1, 1, deflate)
3298 iret=nf90_put_att(ncid,varid(7),
'long_name',
'depth')
3299 iret=nf90_put_att(ncid,varid(7),
'standard_name',
'depth')
3300 iret=nf90_put_att(ncid,varid(7),
'globwave_name',
'depth')
3301 iret=nf90_put_att(ncid,varid(7),
'units',
'm')
3302 iret=nf90_put_att(ncid,varid(7),
'scale_factor',1.)
3303 iret=nf90_put_att(ncid,varid(7),
'add_offset',0.)
3304 iret=nf90_put_att(ncid,varid(7),
'valid_min',-100.)
3305 iret=nf90_put_att(ncid,varid(7),
'valid_max',10000.)
3306 iret=nf90_put_att(ncid,varid(7),
'_FillValue',nf90_fill_float)
3307 iret=nf90_put_att(ncid,varid(7),
'content',
'TX')
3308 iret=nf90_put_att(ncid,varid(7),
'associates',
'time station')
3310 iret=nf90_def_var(ncid,
'ust', nf90_float, (/ dimid(two),dimid(one) /), varid(8))
3311 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(8), 1, 1, deflate)
3312 iret=nf90_put_att(ncid,varid(8),
'long_name',
'friction velocity')
3313 iret=nf90_put_att(ncid,varid(8),
'standard_name',
'friction_velocity')
3314 iret=nf90_put_att(ncid,varid(8),
'globwave_name',
'friction_velocity')
3315 iret=nf90_put_att(ncid,varid(8),
'units',
'm s-1')
3316 iret=nf90_put_att(ncid,varid(8),
'scale_factor',1.)
3317 iret=nf90_put_att(ncid,varid(8),
'add_offset',0.)
3318 iret=nf90_put_att(ncid,varid(8),
'valid_min',0.)
3319 iret=nf90_put_att(ncid,varid(8),
'valid_max',100.)
3320 iret=nf90_put_att(ncid,varid(8),
'_FillValue',nf90_fill_float)
3321 iret=nf90_put_att(ncid,varid(8),
'content',
'TX')
3322 iret=nf90_put_att(ncid,varid(8),
'associates',
'time station')
3324 iret=nf90_def_var(ncid,
'wnd', nf90_float, (/ dimid(two),dimid(one) /), varid(9))
3325 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(9), 1, 1, deflate)
3326 iret=nf90_put_att(ncid,varid(9),
'long_name',
'wind speed at 10m')
3327 iret=nf90_put_att(ncid,varid(9),
'standard_name',
'wind_speed')
3328 iret=nf90_put_att(ncid,varid(9),
'globwave_name',
'wind_speed')
3329 iret=nf90_put_att(ncid,varid(9),
'units',
'm s-1')
3330 iret=nf90_put_att(ncid,varid(9),
'scale_factor',1.)
3331 iret=nf90_put_att(ncid,varid(9),
'add_offset',0.)
3332 iret=nf90_put_att(ncid,varid(9),
'valid_min',0.)
3333 iret=nf90_put_att(ncid,varid(9),
'valid_max',100.)
3334 iret=nf90_put_att(ncid,varid(9),
'_FillValue',nf90_fill_float)
3335 iret=nf90_put_att(ncid,varid(9),
'content',
'TX')
3336 iret=nf90_put_att(ncid,varid(9),
'associates',
'time station')
3338 iret=nf90_def_var(ncid,
'wnddir', nf90_float, (/ dimid(two),dimid(one) /), varid(10))
3339 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(10), 1, 1, deflate)
3340 iret=nf90_put_att(ncid,varid(10),
'long_name',
'wind direction')
3341 iret=nf90_put_att(ncid,varid(10),
'standard_name',
'wind_from_direction')
3342 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'wind_from_direction')
3343 iret=nf90_put_att(ncid,varid(10),
'units',
'degree')
3344 iret=nf90_put_att(ncid,varid(10),
'scale_factor',1.)
3345 iret=nf90_put_att(ncid,varid(10),
'add_offset',0.)
3346 iret=nf90_put_att(ncid,varid(10),
'valid_min',0.)
3347 iret=nf90_put_att(ncid,varid(10),
'valid_max',360.)
3348 iret=nf90_put_att(ncid,varid(10),
'_FillValue',nf90_fill_float)
3349 iret=nf90_put_att(ncid,varid(10),
'content',
'TX')
3350 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station')
3353 iret=nf90_put_att(ncid,varid(10),
'direction_reference',
'True North')
3355 iret=nf90_put_att(ncid,varid(10),
'direction_reference',
'Rotated Pole Grid North')
3361 iret=nf90_def_var(ncid,
'ffp', nf90_float, (/ dimid(4),dimid(two),dimid(one) /), varid(11))
3362 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(11), 1, 1, deflate)
3363 iret=nf90_put_att(ncid,varid(11),
'long_name',
'ffp')
3364 iret=nf90_put_att(ncid,varid(11),
'standard_name',
'ffp')
3365 iret=nf90_put_att(ncid,varid(11),
'globwave_name',
'ffp')
3366 iret=nf90_put_att(ncid,varid(11),
'units',
'1')
3367 iret=nf90_put_att(ncid,varid(11),
'scale_factor',1.)
3368 iret=nf90_put_att(ncid,varid(11),
'add_offset',0.)
3369 iret=nf90_put_att(ncid,varid(11),
'valid_min',0.)
3370 iret=nf90_put_att(ncid,varid(11),
'valid_max',100.)
3371 iret=nf90_put_att(ncid,varid(11),
'_FillValue',nf90_fill_float)
3372 iret=nf90_put_att(ncid,varid(11),
'content',
'TXY')
3373 iret=nf90_put_att(ncid,varid(11),
'associates',
'time station frequency')
3375 iret=nf90_def_var(ncid,
'f', nf90_float, (/ dimid(4),dimid(two),dimid(one) /), varid(12))
3376 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(22), 1, 1, deflate)
3377 iret=nf90_put_att(ncid,varid(12),
'long_name',
'f')
3378 iret=nf90_put_att(ncid,varid(12),
'standard_name',
'f')
3379 iret=nf90_put_att(ncid,varid(12),
'globwave_name',
'f')
3380 iret=nf90_put_att(ncid,varid(12),
'units',
'-')
3381 iret=nf90_put_att(ncid,varid(12),
'scale_factor',1.)
3382 iret=nf90_put_att(ncid,varid(12),
'add_offset',0.)
3383 iret=nf90_put_att(ncid,varid(12),
'valid_min',0.)
3384 iret=nf90_put_att(ncid,varid(12),
'valid_max',1000.)
3385 iret=nf90_put_att(ncid,varid(12),
'_FillValue',nf90_fill_float)
3386 iret=nf90_put_att(ncid,varid(12),
'content',
'TXY')
3387 iret=nf90_put_att(ncid,varid(12),
'associates',
'time station frequency')
3389 iret=nf90_def_var(ncid,
'th1m', nf90_float, (/ dimid(4),dimid(two),dimid(one) /), varid(13))
3390 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(13), 1, 1, deflate)
3391 iret=nf90_put_att(ncid,varid(13),
'long_name',
'mean wave direction from spectral moments')
3392 iret=nf90_put_att(ncid,varid(13),
'standard_name',
'mean_wave_direction')
3393 iret=nf90_put_att(ncid,varid(13),
'globwave_name',
'mean_wave_direction')
3394 iret=nf90_put_att(ncid,varid(13),
'units',
'degree')
3395 iret=nf90_put_att(ncid,varid(13),
'scale_factor',1.)
3396 iret=nf90_put_att(ncid,varid(13),
'add_offset',0.)
3397 iret=nf90_put_att(ncid,varid(13),
'valid_min',0.)
3398 iret=nf90_put_att(ncid,varid(13),
'valid_max',360.)
3399 iret=nf90_put_att(ncid,varid(13),
'_FillValue',nf90_fill_float)
3400 iret=nf90_put_att(ncid,varid(13),
'content',
'TXY')
3401 iret=nf90_put_att(ncid,varid(13),
'associates',
'time station frequency')
3404 iret=nf90_put_att(ncid,varid(13),
'direction_reference',
'True North')
3406 iret=nf90_put_att(ncid,varid(13),
'direction_reference',
'Rotated Pole Grid North')
3411 iret=nf90_def_var(ncid,
'sth1m', nf90_float,(/ dimid(4),dimid(two),dimid(one) /), varid(14))
3412 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(14), 1, 1, deflate)
3413 iret=nf90_put_att(ncid,varid(14),
'long_name',
'directional spread from spectral moments')
3414 iret=nf90_put_att(ncid,varid(14),
'standard_name',
'mean_wave_spreading')
3415 iret=nf90_put_att(ncid,varid(14),
'globwave_name',
'mean_wave_spreading')
3416 iret=nf90_put_att(ncid,varid(14),
'units',
'degree')
3417 iret=nf90_put_att(ncid,varid(14),
'scale_factor',1.)
3418 iret=nf90_put_att(ncid,varid(14),
'add_offset',0.)
3419 iret=nf90_put_att(ncid,varid(14),
'valid_min',0.)
3420 iret=nf90_put_att(ncid,varid(14),
'valid_max',360.)
3421 iret=nf90_put_att(ncid,varid(14),
'_FillValue',nf90_fill_float)
3422 iret=nf90_put_att(ncid,varid(14),
'content',
'TXY')
3423 iret=nf90_put_att(ncid,varid(14),
'associates',
'time station frequency')
3425 iret=nf90_def_var(ncid,
'alpha', nf90_float, (/ dimid(4),dimid(two),dimid(one) /), varid(15))
3426 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(15), 1, 1, deflate)
3427 iret=nf90_put_att(ncid,varid(15),
'long_name',
'spectral intensity coefficient')
3428 iret=nf90_put_att(ncid,varid(15),
'standard_name',
'spectral_intensity_coefficient')
3429 iret=nf90_put_att(ncid,varid(15),
'globwave_name',
'spectral_intensity_coefficient')
3430 iret=nf90_put_att(ncid,varid(15),
'units',
'-')
3431 iret=nf90_put_att(ncid,varid(15),
'scale_factor',1.)
3432 iret=nf90_put_att(ncid,varid(15),
'add_offset',0.)
3433 iret=nf90_put_att(ncid,varid(15),
'valid_min',0.)
3434 iret=nf90_put_att(ncid,varid(15),
'valid_max',100.)
3435 iret=nf90_put_att(ncid,varid(15),
'_FillValue',nf90_fill_float)
3436 iret=nf90_put_att(ncid,varid(15),
'content',
'TXY')
3437 iret=nf90_put_att(ncid,varid(15),
'associates',
'time station frequency')
3441 iret=nf90_enddef(ncid)
3443 iret=nf90_put_var(ncid,varid(6),freq(1:
nk))
3451 ELSE IF (itype.EQ.1 .AND. otype.EQ.3)
THEN
3455 iret = nf90_def_dim(ncid,
'frequency', dimln(4), dimid(4))
3457 iret = nf90_def_dim(ncid,
'direction', dimln(5), dimid(5))
3465 iret=nf90_def_var(ncid,
'frequency', nf90_float, (/dimid(4)/), varid(6))
3467 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(6), 1, 1, deflate)
3468 iret=nf90_put_att(ncid,varid(6),
'long_name',
'frequency of center band')
3469 iret=nf90_put_att(ncid,varid(6),
'standard_name',
'sea_surface_wave_frequency')
3470 iret=nf90_put_att(ncid,varid(6),
'globwave_name',
'frequency')
3471 iret=nf90_put_att(ncid,varid(6),
'units',
's-1')
3472 iret=nf90_put_att(ncid,varid(6),
'scale_factor',1.)
3473 iret=nf90_put_att(ncid,varid(6),
'add_offset',0.)
3474 iret=nf90_put_att(ncid,varid(6),
'valid_min',0.)
3475 iret=nf90_put_att(ncid,varid(6),
'valid_max',10.)
3476 iret=nf90_put_att(ncid,varid(6),
'_FillValue',nf90_fill_float)
3477 iret=nf90_put_att(ncid,varid(6),
'axis',
'Y')
3480 iret=nf90_def_var(ncid,
'frequency1', nf90_float, (/dimid(4)/), varid(7))
3482 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(7), 1, 1, deflate)
3483 iret=nf90_put_att(ncid,varid(7),
'long_name',
'frequency of lower band')
3484 iret=nf90_put_att(ncid,varid(7),
'standard_name',
'frequency_of_lower_band')
3485 iret=nf90_put_att(ncid,varid(7),
'globwave_name',
'frequency_lower_band')
3486 iret=nf90_put_att(ncid,varid(7),
'units',
's-1')
3487 iret=nf90_put_att(ncid,varid(7),
'scale_factor',1.)
3488 iret=nf90_put_att(ncid,varid(7),
'add_offset',0.)
3489 iret=nf90_put_att(ncid,varid(7),
'valid_min',0.)
3490 iret=nf90_put_att(ncid,varid(7),
'valid_max',10.)
3491 iret=nf90_put_att(ncid,varid(7),
'_FillValue',nf90_fill_float)
3492 iret=nf90_put_att(ncid,varid(7),
'content',
'Y')
3493 iret=nf90_put_att(ncid,varid(7),
'associates',
'frequency')
3496 iret=nf90_def_var(ncid,
'frequency2', nf90_float, (/dimid(4)/), varid(8))
3498 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(8), 1, 1, deflate)
3499 iret=nf90_put_att(ncid,varid(8),
'long_name',
'frequency of upper band')
3500 iret=nf90_put_att(ncid,varid(8),
'standard_name',
'frequency_of_upper_band')
3501 iret=nf90_put_att(ncid,varid(8),
'globwave_name',
'frequency_upper_band')
3502 iret=nf90_put_att(ncid,varid(8),
'units',
's-1')
3503 iret=nf90_put_att(ncid,varid(8),
'scale_factor',1.)
3504 iret=nf90_put_att(ncid,varid(8),
'add_offset',0.)
3505 iret=nf90_put_att(ncid,varid(8),
'valid_min',0.)
3506 iret=nf90_put_att(ncid,varid(8),
'valid_max',10.)
3507 iret=nf90_put_att(ncid,varid(8),
'_FillValue',nf90_fill_float)
3508 iret=nf90_put_att(ncid,varid(8),
'content',
'Y')
3509 iret=nf90_put_att(ncid,varid(8),
'associates',
'frequency')
3512 iret=nf90_def_var(ncid,
'direction', nf90_float, (/dimid(5)/), varid(9))
3514 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(9), 1, 1, deflate)
3515 iret=nf90_put_att(ncid,varid(9),
'long_name',
'sea surface wave to direction')
3516 iret=nf90_put_att(ncid,varid(9),
'standard_name',
'sea_surface_wave_to_direction')
3517 iret=nf90_put_att(ncid,varid(9),
'globwave_name',
'direction')
3518 iret=nf90_put_att(ncid,varid(9),
'units',
'degree')
3519 iret=nf90_put_att(ncid,varid(9),
'scale_factor',1.)
3520 iret=nf90_put_att(ncid,varid(9),
'add_offset',0.)
3521 iret=nf90_put_att(ncid,varid(9),
'valid_min',0.)
3522 iret=nf90_put_att(ncid,varid(9),
'valid_max',360.)
3523 iret=nf90_put_att(ncid,varid(9),
'_FillValue',nf90_fill_float)
3524 iret=nf90_put_att(ncid,varid(9),
'axis',
'Z')
3527 iret=nf90_put_att(ncid,varid(9),
'direction_reference',
'True North')
3529 iret=nf90_put_att(ncid,varid(9),
'direction_reference',
'Rotated Pole Grid North')
3534 IF (ncvartype.LE.3)
THEN
3535 iret=nf90_def_var(ncid,
'efth',nf90_short,(/dimid(5),dimid(4),dimid(two),dimid(one)/),varid(10))
3537 iret=nf90_def_var(ncid,
'efth',nf90_float,(/dimid(5),dimid(4),dimid(two),dimid(one)/),varid(10))
3540 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(10), 1, 1, deflate)
3541 iret=nf90_put_att(ncid,varid(10),
'long_name',&
3542 'sea surface wave directional variance spectral density')
3543 IF (ncvartype.LE.3)
THEN
3544 iret=nf90_put_att(ncid,varid(10),
'standard_name',&
3545 'base_ten_logarithm_of_sea_surface_wave_directional_variance_spectral_density')
3546 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'directional_variance_spectral_density')
3547 iret=nf90_put_att(ncid,varid(10),
'units',
'log10(m2 s rad-1 +1E-12)')
3548 iret=nf90_put_att(ncid,varid(10),
'scale_factor',0.0004)
3549 iret=nf90_put_att(ncid,varid(10),
'add_offset',0.)
3550 iret=nf90_put_att(ncid,varid(10),
'valid_min',0.)
3551 iret=nf90_put_att(ncid,varid(10),
'valid_max',1.e20)
3552 iret=nf90_put_att(ncid,varid(10),
'_FillValue',nf90_fill_short)
3554 iret=nf90_put_att(ncid,varid(10),
'standard_name',&
3555 'sea_surface_wave_directional_variance_spectral_density')
3556 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'directional_variance_spectral_density')
3557 iret=nf90_put_att(ncid,varid(10),
'units',
'm2 s rad-1')
3558 iret=nf90_put_att(ncid,varid(10),
'scale_factor',1.)
3559 iret=nf90_put_att(ncid,varid(10),
'add_offset',0.)
3560 iret=nf90_put_att(ncid,varid(10),
'valid_min',0.)
3561 iret=nf90_put_att(ncid,varid(10),
'valid_max',1.e20)
3562 iret=nf90_put_att(ncid,varid(10),
'_FillValue',nf90_fill_float)
3564 iret=nf90_put_att(ncid,varid(10),
'content',
'TXYZ')
3565 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station frequency direction')
3568 iret=nf90_put_att(ncid,varid(10),
'direction_reference',
'True North')
3570 iret=nf90_put_att(ncid,varid(10),
'direction_reference',
'Rotated Pole Grid North')
3575 IF (ncvartype.LE.3)
THEN
3576 iret=nf90_def_var(ncid,
'dpt', nf90_short, (/ dimid(two),dimid(one) /), varid(11))
3578 iret=nf90_def_var(ncid,
'dpt', nf90_float, (/ dimid(two),dimid(one) /), varid(11))
3581 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(11), 1, 1, deflate)
3582 iret=nf90_put_att(ncid,varid(11),
'long_name',
'depth')
3583 iret=nf90_put_att(ncid,varid(11),
'standard_name',
'depth')
3584 iret=nf90_put_att(ncid,varid(11),
'globwave_name',
'depth')
3585 iret=nf90_put_att(ncid,varid(11),
'units',
'm')
3586 IF (ncvartype.LE.3)
THEN
3587 iret=nf90_put_att(ncid,varid(11),
'scale_factor',0.5)
3588 iret=nf90_put_att(ncid,varid(11),
'add_offset',0.)
3589 iret=nf90_put_att(ncid,varid(11),
'valid_min',-200)
3590 iret=nf90_put_att(ncid,varid(11),
'valid_max',200000)
3591 iret=nf90_put_att(ncid,varid(11),
'_FillValue',nf90_fill_short)
3593 iret=nf90_put_att(ncid,varid(11),
'scale_factor',1.)
3594 iret=nf90_put_att(ncid,varid(11),
'add_offset',0.)
3595 iret=nf90_put_att(ncid,varid(11),
'valid_min',-100.)
3596 iret=nf90_put_att(ncid,varid(11),
'valid_max',10000.)
3597 iret=nf90_put_att(ncid,varid(11),
'_FillValue',nf90_fill_float)
3599 iret=nf90_put_att(ncid,varid(11),
'content',
'TX')
3600 iret=nf90_put_att(ncid,varid(11),
'associates',
'time station')
3603 IF (ncvartype.LE.3)
THEN
3604 iret=nf90_def_var(ncid,
'wnd', nf90_short, (/ dimid(two),dimid(one) /), varid(12))
3606 iret=nf90_def_var(ncid,
'wnd', nf90_float, (/ dimid(two),dimid(one) /), varid(12))
3609 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(12), 1, 1, deflate)
3610 iret=nf90_put_att(ncid,varid(12),
'long_name',
'wind speed at 10m')
3611 iret=nf90_put_att(ncid,varid(12),
'standard_name',
'wind_speed')
3612 iret=nf90_put_att(ncid,varid(12),
'globwave_name',
'wind_speed')
3613 iret=nf90_put_att(ncid,varid(12),
'units',
'm s-1')
3614 IF (ncvartype.LE.3)
THEN
3615 iret=nf90_put_att(ncid,varid(12),
'scale_factor',0.1)
3616 iret=nf90_put_att(ncid,varid(12),
'add_offset',0.)
3617 iret=nf90_put_att(ncid,varid(12),
'valid_min',0)
3618 iret=nf90_put_att(ncid,varid(12),
'valid_max',1000)
3619 iret=nf90_put_att(ncid,varid(12),
'_FillValue',nf90_fill_short)
3621 iret=nf90_put_att(ncid,varid(12),
'scale_factor',1.)
3622 iret=nf90_put_att(ncid,varid(12),
'add_offset',0.)
3623 iret=nf90_put_att(ncid,varid(12),
'valid_min',0.)
3624 iret=nf90_put_att(ncid,varid(12),
'valid_max',100.)
3625 iret=nf90_put_att(ncid,varid(12),
'_FillValue',nf90_fill_float)
3627 iret=nf90_put_att(ncid,varid(12),
'content',
'TX')
3628 iret=nf90_put_att(ncid,varid(12),
'associates',
'time station')
3630 IF (ncvartype.LE.3)
THEN
3631 iret=nf90_def_var(ncid,
'wnddir', nf90_short, (/ dimid(two),dimid(one) /), varid(13))
3633 iret=nf90_def_var(ncid,
'wnddir', nf90_float, (/ dimid(two),dimid(one) /), varid(13))
3636 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(13), 1, 1, deflate)
3637 iret=nf90_put_att(ncid,varid(13),
'long_name',
'wind direction')
3638 iret=nf90_put_att(ncid,varid(13),
'standard_name',
'wind_from_direction')
3639 iret=nf90_put_att(ncid,varid(13),
'globwave_name',
'wind_from_direction')
3640 iret=nf90_put_att(ncid,varid(13),
'units',
'degree')
3641 IF (ncvartype.LE.3)
THEN
3642 iret=nf90_put_att(ncid,varid(13),
'scale_factor',0.1)
3643 iret=nf90_put_att(ncid,varid(13),
'add_offset',0.)
3644 iret=nf90_put_att(ncid,varid(13),
'valid_min',0)
3645 iret=nf90_put_att(ncid,varid(13),
'valid_max',3600)
3646 iret=nf90_put_att(ncid,varid(13),
'_FillValue',nf90_fill_short)
3648 iret=nf90_put_att(ncid,varid(13),
'scale_factor',1.)
3649 iret=nf90_put_att(ncid,varid(13),
'add_offset',0.)
3650 iret=nf90_put_att(ncid,varid(13),
'valid_min',0.)
3651 iret=nf90_put_att(ncid,varid(13),
'valid_max',360.)
3652 iret=nf90_put_att(ncid,varid(13),
'_FillValue',nf90_fill_float)
3654 iret=nf90_put_att(ncid,varid(13),
'content',
'TX')
3655 iret=nf90_put_att(ncid,varid(13),
'associates',
'time station')
3658 iret=nf90_put_att(ncid,varid(13),
'direction_reference',
'True North')
3660 iret=nf90_put_att(ncid,varid(13),
'direction_reference',
'Rotated Pole Grid North')
3665 IF (ncvartype.LE.3)
THEN
3666 iret=nf90_def_var(ncid,
'cur', nf90_short, (/ dimid(two),dimid(one) /), varid(14))
3668 iret=nf90_def_var(ncid,
'cur', nf90_float, (/ dimid(two),dimid(one) /), varid(14))
3671 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(14), 1, 1, deflate)
3672 iret=nf90_put_att(ncid,varid(14),
'long_name',
'sea water speed')
3673 iret=nf90_put_att(ncid,varid(14),
'standard_name',
'sea_water_speed')
3674 iret=nf90_put_att(ncid,varid(14),
'globwave_name',
'sea_water_speed')
3675 iret=nf90_put_att(ncid,varid(14),
'units',
'm s-1')
3676 IF (ncvartype.LE.3)
THEN
3677 iret=nf90_put_att(ncid,varid(14),
'scale_factor',0.1)
3678 iret=nf90_put_att(ncid,varid(14),
'add_offset',0.)
3679 iret=nf90_put_att(ncid,varid(14),
'valid_min',0)
3680 iret=nf90_put_att(ncid,varid(14),
'valid_max',1000)
3681 iret=nf90_put_att(ncid,varid(14),
'_FillValue',nf90_fill_short)
3683 iret=nf90_put_att(ncid,varid(14),
'scale_factor',1.)
3684 iret=nf90_put_att(ncid,varid(14),
'add_offset',0.)
3685 iret=nf90_put_att(ncid,varid(14),
'valid_min',0.)
3686 iret=nf90_put_att(ncid,varid(14),
'valid_max',100.)
3687 iret=nf90_put_att(ncid,varid(14),
'_FillValue',nf90_fill_float)
3689 iret=nf90_put_att(ncid,varid(14),
'content',
'TX')
3690 iret=nf90_put_att(ncid,varid(14),
'associates',
'time station')
3693 IF (ncvartype.LE.3)
THEN
3694 iret=nf90_def_var(ncid,
'curdir', nf90_short, (/ dimid(two),dimid(one) /), varid(15))
3696 iret=nf90_def_var(ncid,
'curdir', nf90_float, (/ dimid(two),dimid(one) /), varid(15))
3699 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(15), 1, 1, deflate)
3700 iret=nf90_put_att(ncid,varid(15),
'long_name',
'direction from of sea water velocity')
3701 iret=nf90_put_att(ncid,varid(15),
'standard_name',
'direction_of_sea_water_velocity')
3702 iret=nf90_put_att(ncid,varid(15),
'globwave_name',
'direction_of_sea_water_velocity')
3703 iret=nf90_put_att(ncid,varid(15),
'units',
'degree')
3704 IF (ncvartype.LE.3)
THEN
3705 iret=nf90_put_att(ncid,varid(15),
'scale_factor',0.1)
3706 iret=nf90_put_att(ncid,varid(15),
'add_offset',0.)
3707 iret=nf90_put_att(ncid,varid(15),
'valid_min',0)
3708 iret=nf90_put_att(ncid,varid(15),
'valid_max',3600)
3709 iret=nf90_put_att(ncid,varid(15),
'_FillValue',nf90_fill_short)
3711 iret=nf90_put_att(ncid,varid(15),
'scale_factor',1.)
3712 iret=nf90_put_att(ncid,varid(15),
'add_offset',0.)
3713 iret=nf90_put_att(ncid,varid(15),
'valid_min',0.)
3714 iret=nf90_put_att(ncid,varid(15),
'valid_max',360.)
3715 iret=nf90_put_att(ncid,varid(15),
'_FillValue',nf90_fill_float)
3717 iret=nf90_put_att(ncid,varid(15),
'content',
'TX')
3718 iret=nf90_put_att(ncid,varid(15),
'associates',
'time station')
3721 iret=nf90_put_att(ncid,varid(15),
'direction_reference',
'True North')
3723 iret=nf90_put_att(ncid,varid(15),
'direction_reference',
'Rotated Pole Grid North')
3729 iret=nf90_enddef(ncid)
3731 iret=nf90_put_var(ncid,varid(6),freq(1:
nk))
3733 iret=nf90_put_var(ncid,varid(7),freq1(1:
nk))
3735 iret=nf90_put_var(ncid,varid(8),freq2(1:
nk))
3737 iret=nf90_put_var(ncid,varid(9),dir(1:
nth))
3747 ELSE IF (itype.EQ.1 .AND. otype.EQ.4)
THEN
3751 iret = nf90_def_dim(ncid,
'npart', dimln(4), dimid(4))
3759 iret=nf90_def_var(ncid,
'npart', nf90_int, (/ dimid(two),dimid(one) /), varid(6))
3760 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(6), 1, 1, deflate)
3761 iret=nf90_put_att(ncid,varid(6),
'long_name',
'npart')
3762 iret=nf90_put_att(ncid,varid(6),
'standard_name',
'npart')
3763 iret=nf90_put_att(ncid,varid(6),
'globwave_name',
'npart')
3764 iret=nf90_put_att(ncid,varid(6),
'units',
'1')
3765 iret=nf90_put_att(ncid,varid(6),
'scale_factor',1.)
3766 iret=nf90_put_att(ncid,varid(6),
'add_offset',0.)
3767 iret=nf90_put_att(ncid,varid(6),
'valid_min',0.)
3768 iret=nf90_put_att(ncid,varid(6),
'valid_max',100.)
3769 iret=nf90_put_att(ncid,varid(6),
'_FillValue',nf90_fill_int)
3770 iret=nf90_put_att(ncid,varid(6),
'axis',
'Y')
3772 iret=nf90_def_var(ncid,
'dpt', nf90_float, (/ dimid(two),dimid(one) /), varid(7))
3773 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(7), 1, 1, deflate)
3774 iret=nf90_put_att(ncid,varid(7),
'long_name',
'depth')
3775 iret=nf90_put_att(ncid,varid(7),
'standard_name',
'depth')
3776 iret=nf90_put_att(ncid,varid(7),
'globwave_name',
'depth')
3777 iret=nf90_put_att(ncid,varid(7),
'units',
'm')
3778 iret=nf90_put_att(ncid,varid(7),
'scale_factor',1.)
3779 iret=nf90_put_att(ncid,varid(7),
'add_offset',0.)
3780 iret=nf90_put_att(ncid,varid(7),
'valid_min',-100.)
3781 iret=nf90_put_att(ncid,varid(7),
'valid_max',10000.)
3782 iret=nf90_put_att(ncid,varid(7),
'_FillValue',nf90_fill_float)
3783 iret=nf90_put_att(ncid,varid(7),
'content',
'TX')
3784 iret=nf90_put_att(ncid,varid(7),
'associates',
'time station')
3786 iret=nf90_def_var(ncid,
'wnd', nf90_float, (/ dimid(two),dimid(one) /), varid(8))
3787 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(8), 1, 1, deflate)
3788 iret=nf90_put_att(ncid,varid(8),
'long_name',
'wind speed at 10m')
3789 iret=nf90_put_att(ncid,varid(8),
'standard_name',
'wind_speed')
3790 iret=nf90_put_att(ncid,varid(8),
'globwave_name',
'wind_speed')
3791 iret=nf90_put_att(ncid,varid(8),
'units',
'm s-1')
3792 iret=nf90_put_att(ncid,varid(8),
'scale_factor',1.)
3793 iret=nf90_put_att(ncid,varid(8),
'add_offset',0.)
3794 iret=nf90_put_att(ncid,varid(8),
'valid_min',0.)
3795 iret=nf90_put_att(ncid,varid(8),
'valid_max',100.)
3796 iret=nf90_put_att(ncid,varid(8),
'_FillValue',nf90_fill_float)
3797 iret=nf90_put_att(ncid,varid(8),
'content',
'TX')
3798 iret=nf90_put_att(ncid,varid(8),
'associates',
'time station')
3800 iret=nf90_def_var(ncid,
'wnddir', nf90_float, (/ dimid(two),dimid(one) /), varid(9))
3801 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(9), 1, 1, deflate)
3802 iret=nf90_put_att(ncid,varid(9),
'long_name',
'wind direction')
3803 iret=nf90_put_att(ncid,varid(9),
'standard_name',
'wind_from_direction')
3804 iret=nf90_put_att(ncid,varid(9),
'globwave_name',
'wind_from_direction')
3805 iret=nf90_put_att(ncid,varid(9),
'units',
'degree')
3806 iret=nf90_put_att(ncid,varid(9),
'scale_factor',1.)
3807 iret=nf90_put_att(ncid,varid(9),
'add_offset',0.)
3808 iret=nf90_put_att(ncid,varid(9),
'valid_min',0.)
3809 iret=nf90_put_att(ncid,varid(9),
'valid_max',360.)
3810 iret=nf90_put_att(ncid,varid(9),
'_FillValue',nf90_fill_float)
3811 iret=nf90_put_att(ncid,varid(9),
'content',
'TX')
3812 iret=nf90_put_att(ncid,varid(9),
'associates',
'time station')
3815 iret=nf90_put_att(ncid,varid(9),
'direction_reference',
'True North')
3817 iret=nf90_put_att(ncid,varid(9),
'direction_reference',
'Rotated Pole Grid North')
3822 iret=nf90_def_var(ncid,
'cur', nf90_float, (/ dimid(two),dimid(one) /), varid(10))
3823 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(10), 1, 1, deflate)
3824 iret=nf90_put_att(ncid,varid(10),
'long_name',
'sea water speed')
3825 iret=nf90_put_att(ncid,varid(10),
'standard_name',
'sea_water_speed')
3826 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'sea_water_speed')
3827 iret=nf90_put_att(ncid,varid(10),
'units',
'm s-1')
3828 iret=nf90_put_att(ncid,varid(10),
'scale_factor',1.)
3829 iret=nf90_put_att(ncid,varid(10),
'add_offset',0.)
3830 iret=nf90_put_att(ncid,varid(10),
'valid_min',0.)
3831 iret=nf90_put_att(ncid,varid(10),
'valid_max',100.)
3832 iret=nf90_put_att(ncid,varid(10),
'_FillValue',nf90_fill_float)
3833 iret=nf90_put_att(ncid,varid(10),
'content',
'TX')
3834 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station')
3836 iret=nf90_def_var(ncid,
'curdir', nf90_float, (/ dimid(two),dimid(one) /), varid(11))
3837 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(11), 1, 1, deflate)
3838 iret=nf90_put_att(ncid,varid(11),
'long_name',
' direction from of sea water velocity')
3839 iret=nf90_put_att(ncid,varid(11),
'standard_name',
'direction_of_sea_water_velocity')
3840 iret=nf90_put_att(ncid,varid(11),
'globwave_name',
'direction_of_sea_water_velocity')
3841 iret=nf90_put_att(ncid,varid(11),
'units',
'degree')
3842 iret=nf90_put_att(ncid,varid(11),
'scale_factor',1.)
3843 iret=nf90_put_att(ncid,varid(11),
'add_offset',0.)
3844 iret=nf90_put_att(ncid,varid(11),
'valid_min',0.)
3845 iret=nf90_put_att(ncid,varid(11),
'valid_max',360.)
3846 iret=nf90_put_att(ncid,varid(11),
'_FillValue',nf90_fill_float)
3847 iret=nf90_put_att(ncid,varid(11),
'content',
'TX')
3848 iret=nf90_put_att(ncid,varid(11),
'associates',
'time station')
3851 iret=nf90_put_att(ncid,varid(11),
'direction_reference',
'True North')
3853 iret=nf90_put_att(ncid,varid(11),
'direction_reference',
'Rotated Pole Grid North')
3858 iret=nf90_def_var(ncid,
'hs', nf90_float, (/dimid(4),dimid(two),dimid(one)/),varid(12))
3859 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(12), 1, 1, deflate)
3860 iret=nf90_put_att(ncid,varid(12),
'long_name',
'spectral estimate of significant wave height')
3861 iret=nf90_put_att(ncid,varid(12),
'standard_name',
'sea_surface_wave_significant_height')
3862 iret=nf90_put_att(ncid,varid(12),
'globwave_name',
'significant_wave_height')
3863 iret=nf90_put_att(ncid,varid(12),
'units',
'm')
3864 iret=nf90_put_att(ncid,varid(12),
'scale_factor',1.)
3865 iret=nf90_put_att(ncid,varid(12),
'add_offset',0.)
3866 iret=nf90_put_att(ncid,varid(12),
'valid_min',0.)
3867 iret=nf90_put_att(ncid,varid(12),
'valid_max',100.)
3868 iret=nf90_put_att(ncid,varid(12),
'_FillValue',nf90_fill_float)
3869 iret=nf90_put_att(ncid,varid(12),
'content',
'TXY')
3870 iret=nf90_put_att(ncid,varid(12),
'associates',
'time station npart')
3872 iret=nf90_def_var(ncid,
'tp', nf90_float,(/dimid(4),dimid(two),dimid(one)/),varid(13))
3873 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(13), 1, 1, deflate)
3874 iret=nf90_put_att(ncid,varid(13),
'long_name',
'dominant_wave_period')
3875 iret=nf90_put_att(ncid,varid(13),
'standard_name',
'dominant_wave_period')
3876 iret=nf90_put_att(ncid,varid(13),
'globwave_name',
'dominant_wave_period')
3877 iret=nf90_put_att(ncid,varid(13),
'units',
's')
3878 iret=nf90_put_att(ncid,varid(13),
'scale_factor',1.)
3879 iret=nf90_put_att(ncid,varid(13),
'add_offset',0.)
3880 iret=nf90_put_att(ncid,varid(13),
'valid_min',0.)
3881 iret=nf90_put_att(ncid,varid(13),
'valid_max',100.)
3882 iret=nf90_put_att(ncid,varid(13),
'_FillValue',nf90_fill_float)
3883 iret=nf90_put_att(ncid,varid(13),
'content',
'TXY')
3884 iret=nf90_put_att(ncid,varid(13),
'associates',
'time station npart')
3886 iret=nf90_def_var(ncid,
'lp', nf90_float, (/dimid(4),dimid(two),dimid(one)/),varid(14))
3887 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(14), 1, 1, deflate)
3888 iret=nf90_put_att(ncid,varid(14),
'long_name',
'peak wave length')
3889 iret=nf90_put_att(ncid,varid(14),
'standard_name',
'peak_wave_length')
3890 iret=nf90_put_att(ncid,varid(14),
'globwave_name',
'peak_wave_length')
3891 iret=nf90_put_att(ncid,varid(14),
'units',
'm')
3892 iret=nf90_put_att(ncid,varid(14),
'scale_factor',1.)
3893 iret=nf90_put_att(ncid,varid(14),
'add_offset',0.)
3894 iret=nf90_put_att(ncid,varid(14),
'valid_min',0.)
3895 iret=nf90_put_att(ncid,varid(14),
'valid_max',100.)
3896 iret=nf90_put_att(ncid,varid(14),
'_FillValue',nf90_fill_float)
3897 iret=nf90_put_att(ncid,varid(14),
'content',
'TXY')
3898 iret=nf90_put_att(ncid,varid(14),
'associates',
'time station npart')
3900 iret=nf90_def_var(ncid,
'th1m', nf90_float, (/dimid(4),dimid(two),dimid(one)/),varid(15))
3901 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(15), 1, 1, deflate)
3902 iret=nf90_put_att(ncid,varid(15),
'long_name',
'mean wave direction from spectral moments')
3903 iret=nf90_put_att(ncid,varid(15),
'standard_name',
'mean_wave_direction')
3904 iret=nf90_put_att(ncid,varid(15),
'globwave_name',
'mean_wave_direction')
3905 iret=nf90_put_att(ncid,varid(15),
'units',
'degree')
3906 iret=nf90_put_att(ncid,varid(15),
'scale_factor',1.)
3907 iret=nf90_put_att(ncid,varid(15),
'add_offset',0.)
3908 iret=nf90_put_att(ncid,varid(15),
'valid_min',0.)
3909 iret=nf90_put_att(ncid,varid(15),
'valid_max',360.)
3910 iret=nf90_put_att(ncid,varid(15),
'_FillValue',nf90_fill_float)
3911 iret=nf90_put_att(ncid,varid(15),
'content',
'TXY')
3912 iret=nf90_put_att(ncid,varid(15),
'associates',
'time station npart')
3915 iret=nf90_put_att(ncid,varid(15),
'direction_reference',
'True North')
3917 iret=nf90_put_att(ncid,varid(15),
'direction_reference',
'Rotated Pole Grid North')
3922 iret=nf90_def_var(ncid,
'sth1m', nf90_float,(/dimid(4),dimid(two),dimid(one)/),varid(16))
3923 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(16), 1, 1, deflate)
3924 iret=nf90_put_att(ncid,varid(16),
'long_name',
'directional spread from spectral moments')
3925 iret=nf90_put_att(ncid,varid(16),
'standard_name',
'mean_wave_spreading')
3926 iret=nf90_put_att(ncid,varid(16),
'globwave_name',
'mean_wave_spreading')
3927 iret=nf90_put_att(ncid,varid(16),
'units',
'degree')
3928 iret=nf90_put_att(ncid,varid(16),
'scale_factor',1.)
3929 iret=nf90_put_att(ncid,varid(16),
'add_offset',0.)
3930 iret=nf90_put_att(ncid,varid(16),
'valid_min',0.)
3931 iret=nf90_put_att(ncid,varid(16),
'valid_max',360.)
3932 iret=nf90_put_att(ncid,varid(16),
'_FillValue',nf90_fill_float)
3933 iret=nf90_put_att(ncid,varid(16),
'content',
'TXY')
3934 iret=nf90_put_att(ncid,varid(16),
'associates',
'time station npart')
3936 iret=nf90_def_var(ncid,
'ws', nf90_float,(/dimid(4),dimid(two),dimid(one)/),varid(17))
3937 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(17), 1, 1, deflate)
3938 iret=nf90_put_att(ncid,varid(17),
'long_name',
'wind sea fraction')
3939 iret=nf90_put_att(ncid,varid(17),
'standard_name',
'wind_sea_fraction')
3940 iret=nf90_put_att(ncid,varid(17),
'globwave_name',
'wind_sea_fraction')
3941 iret=nf90_put_att(ncid,varid(17),
'units',
'%')
3942 iret=nf90_put_att(ncid,varid(17),
'scale_factor',1.)
3943 iret=nf90_put_att(ncid,varid(17),
'add_offset',0.)
3944 iret=nf90_put_att(ncid,varid(17),
'valid_min',0.)
3945 iret=nf90_put_att(ncid,varid(17),
'valid_max',100.)
3946 iret=nf90_put_att(ncid,varid(17),
'_FillValue',nf90_fill_float)
3947 iret=nf90_put_att(ncid,varid(17),
'content',
'TXY')
3948 iret=nf90_put_att(ncid,varid(17),
'associates',
'time station npart')
3950 iret=nf90_def_var(ncid,
'tm10', nf90_float,(/dimid(4),dimid(2),dimid(1)/),varid(18))
3951 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(18), 1, 1, deflate)
3952 iret=nf90_put_att(ncid,varid(18),
'long_name',
'mean wave period from spectral moments (-1,0)')
3953 iret=nf90_put_att(ncid,varid(18),
'standard_name',
'mean_wave_period_tm10')
3954 iret=nf90_put_att(ncid,varid(18),
'globwave_name',
'mean_wave_period_tm10')
3955 iret=nf90_put_att(ncid,varid(18),
'units',
'seconds')
3956 iret=nf90_put_att(ncid,varid(18),
'scale_factor',1.)
3957 iret=nf90_put_att(ncid,varid(18),
'add_offset',0.)
3958 iret=nf90_put_att(ncid,varid(18),
'valid_min',0.)
3959 iret=nf90_put_att(ncid,varid(18),
'valid_max',30.)
3960 iret=nf90_put_att(ncid,varid(18),
'_FillValue',nf90_fill_float)
3961 iret=nf90_put_att(ncid,varid(18),
'content',
'TXY')
3962 iret=nf90_put_att(ncid,varid(18),
'associates',
'time station npart')
3964 iret=nf90_def_var(ncid,
't01', nf90_float,(/dimid(4),dimid(2),dimid(1)/),varid(19))
3965 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(19), 1, 1, deflate)
3966 iret=nf90_put_att(ncid,varid(19),
'long_name',
'mean wave period from spectral moments (0,1)')
3967 iret=nf90_put_att(ncid,varid(19),
'standard_name',
'mean_wave_period_t01')
3968 iret=nf90_put_att(ncid,varid(19),
'globwave_name',
'mean_wave_period_t01')
3969 iret=nf90_put_att(ncid,varid(19),
'units',
'seconds')
3970 iret=nf90_put_att(ncid,varid(19),
'scale_factor',1.)
3971 iret=nf90_put_att(ncid,varid(19),
'add_offset',0.)
3972 iret=nf90_put_att(ncid,varid(19),
'valid_min',0.)
3973 iret=nf90_put_att(ncid,varid(19),
'valid_max',30.)
3974 iret=nf90_put_att(ncid,varid(19),
'_FillValue',nf90_fill_float)
3975 iret=nf90_put_att(ncid,varid(19),
'content',
'TXY')
3976 iret=nf90_put_att(ncid,varid(19),
'associates',
'time station npart')
3978 iret=nf90_def_var(ncid,
't02', nf90_float,(/dimid(4),dimid(2),dimid(1)/),varid(20))
3979 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(20), 1, 1, deflate)
3980 iret=nf90_put_att(ncid,varid(20),
'long_name',
'mean wave period from spectral moments (0,2)')
3981 iret=nf90_put_att(ncid,varid(20),
'standard_name',
'mean_wave_period_t02')
3982 iret=nf90_put_att(ncid,varid(20),
'globwave_name',
'mean_wave_period_t02')
3983 iret=nf90_put_att(ncid,varid(20),
'units',
'seconds')
3984 iret=nf90_put_att(ncid,varid(20),
'scale_factor',1.)
3985 iret=nf90_put_att(ncid,varid(20),
'add_offset',0.)
3986 iret=nf90_put_att(ncid,varid(20),
'valid_min',0.)
3987 iret=nf90_put_att(ncid,varid(20),
'valid_max',30.)
3988 iret=nf90_put_att(ncid,varid(20),
'_FillValue',nf90_fill_float)
3989 iret=nf90_put_att(ncid,varid(20),
'content',
'TXY')
3990 iret=nf90_put_att(ncid,varid(20),
'associates',
'time station npart')
3993 iret=nf90_enddef(ncid)
4001 ELSE IF (itype.EQ.2 .AND. otype.EQ.1)
THEN
4003 iret=nf90_def_var(ncid,
'dpt', nf90_float, (/ dimid(two),dimid(one) /), varid(6))
4004 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(6), 1, 1, deflate)
4005 iret=nf90_put_att(ncid,varid(6),
'long_name',
'depth')
4006 iret=nf90_put_att(ncid,varid(6),
'standard_name',
'depth')
4007 iret=nf90_put_att(ncid,varid(6),
'globwave_name',
'depth')
4008 iret=nf90_put_att(ncid,varid(6),
'units',
'm')
4009 iret=nf90_put_att(ncid,varid(6),
'scale_factor',1.)
4010 iret=nf90_put_att(ncid,varid(6),
'add_offset',0.)
4011 iret=nf90_put_att(ncid,varid(6),
'valid_min',-100.)
4012 iret=nf90_put_att(ncid,varid(6),
'valid_max',10000.)
4013 iret=nf90_put_att(ncid,varid(6),
'_FillValue',nf90_fill_float)
4014 iret=nf90_put_att(ncid,varid(6),
'content',
'TX')
4015 iret=nf90_put_att(ncid,varid(6),
'associates',
'time station')
4018 iret=nf90_def_var(ncid,
'cur', nf90_float, (/ dimid(two),dimid(one) /), varid(7))
4019 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(7), 1, 1, deflate)
4020 iret=nf90_put_att(ncid,varid(7),
'long_name',
'sea water speed')
4021 iret=nf90_put_att(ncid,varid(7),
'standard_name',
'sea_water_speed')
4022 iret=nf90_put_att(ncid,varid(7),
'globwave_name',
'sea_water_speed')
4023 iret=nf90_put_att(ncid,varid(7),
'units',
'm s-1')
4024 iret=nf90_put_att(ncid,varid(7),
'scale_factor',1.)
4025 iret=nf90_put_att(ncid,varid(7),
'add_offset',0.)
4026 iret=nf90_put_att(ncid,varid(7),
'valid_min',0.)
4027 iret=nf90_put_att(ncid,varid(7),
'valid_max',100.)
4028 iret=nf90_put_att(ncid,varid(7),
'_FillValue',nf90_fill_float)
4029 iret=nf90_put_att(ncid,varid(7),
'content',
'TX')
4030 iret=nf90_put_att(ncid,varid(7),
'associates',
'time station')
4032 iret=nf90_def_var(ncid,
'curdir', nf90_float, (/ dimid(two),dimid(one) /), varid(8))
4033 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(8), 1, 1, deflate)
4034 iret=nf90_put_att(ncid,varid(8),
'long_name',
'direction from of sea water velocity')
4035 iret=nf90_put_att(ncid,varid(8),
'standard_name',
'direction_of_sea_water_velocity')
4036 iret=nf90_put_att(ncid,varid(8),
'globwave_name',
'direction_of_sea_water_velocity')
4037 iret=nf90_put_att(ncid,varid(8),
'units',
'degree')
4038 iret=nf90_put_att(ncid,varid(8),
'scale_factor',1.)
4039 iret=nf90_put_att(ncid,varid(8),
'add_offset',0.)
4040 iret=nf90_put_att(ncid,varid(8),
'valid_min',0.)
4041 iret=nf90_put_att(ncid,varid(8),
'valid_max',360.)
4042 iret=nf90_put_att(ncid,varid(8),
'_FillValue',nf90_fill_float)
4043 iret=nf90_put_att(ncid,varid(8),
'content',
'TX')
4044 iret=nf90_put_att(ncid,varid(8),
'associates',
'time station')
4047 iret=nf90_put_att(ncid,varid(8),
'direction_reference',
'True North')
4049 iret=nf90_put_att(ncid,varid(8),
'direction_reference',
'Rotated Pole Grid North')
4054 iret=nf90_def_var(ncid,
'wnd', nf90_float, (/ dimid(two),dimid(one) /), varid(9))
4055 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(9), 1, 1, deflate)
4056 iret=nf90_put_att(ncid,varid(9),
'long_name',
'wind speed at 10m')
4057 iret=nf90_put_att(ncid,varid(9),
'standard_name',
'wind_speed')
4058 iret=nf90_put_att(ncid,varid(9),
'globwave_name',
'wind_speed')
4059 iret=nf90_put_att(ncid,varid(9),
'units',
'm s-1')
4060 iret=nf90_put_att(ncid,varid(9),
'scale_factor',1.)
4061 iret=nf90_put_att(ncid,varid(9),
'add_offset',0.)
4062 iret=nf90_put_att(ncid,varid(9),
'valid_min',0.)
4063 iret=nf90_put_att(ncid,varid(9),
'valid_max',100.)
4064 iret=nf90_put_att(ncid,varid(9),
'_FillValue',nf90_fill_float)
4065 iret=nf90_put_att(ncid,varid(9),
'content',
'TX')
4066 iret=nf90_put_att(ncid,varid(9),
'associates',
'time station')
4068 iret=nf90_def_var(ncid,
'wnddir', nf90_float, (/ dimid(two),dimid(one) /), varid(10))
4069 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(10), 1, 1, deflate)
4070 iret=nf90_put_att(ncid,varid(10),
'long_name',
'wind direction')
4071 iret=nf90_put_att(ncid,varid(10),
'standard_name',
'wind_from_direction')
4072 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'wind_from_direction')
4073 iret=nf90_put_att(ncid,varid(10),
'units',
'degree')
4074 iret=nf90_put_att(ncid,varid(10),
'scale_factor',1.)
4075 iret=nf90_put_att(ncid,varid(10),
'add_offset',0.)
4076 iret=nf90_put_att(ncid,varid(10),
'valid_min',0.)
4077 iret=nf90_put_att(ncid,varid(10),
'valid_max',360.)
4078 iret=nf90_put_att(ncid,varid(10),
'_FillValue',nf90_fill_float)
4079 iret=nf90_put_att(ncid,varid(10),
'content',
'TX')
4080 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station')
4083 iret=nf90_put_att(ncid,varid(10),
'direction_reference',
'True North')
4085 iret=nf90_put_att(ncid,varid(10),
'direction_reference',
'Rotated Pole Grid North')
4091 iret=nf90_def_var(ncid,
'wave_setup', nf90_float, (/ dimid(two),dimid(one) /), varid(11))
4092 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(11), 1, 1, deflate)
4093 iret=nf90_put_att(ncid,varid(11),
'long_name',
'wave setup')
4094 iret=nf90_put_att(ncid,varid(11),
'standard_name',
'wave_induced_setup')
4095 iret=nf90_put_att(ncid,varid(11),
'globwave_name',
'wave_induced_setup')
4096 iret=nf90_put_att(ncid,varid(11),
'units',
'm')
4097 iret=nf90_put_att(ncid,varid(11),
'scale_factor',1.)
4098 iret=nf90_put_att(ncid,varid(11),
'add_offset',0.)
4099 iret=nf90_put_att(ncid,varid(11),
'valid_min',-100.)
4100 iret=nf90_put_att(ncid,varid(11),
'valid_max',100.)
4101 iret=nf90_put_att(ncid,varid(11),
'_FillValue',nf90_fill_float)
4102 iret=nf90_put_att(ncid,varid(11),
'content',
'TX')
4103 iret=nf90_put_att(ncid,varid(11),
'associates',
'time station')
4107 iret=nf90_enddef(ncid)
4114 ELSE IF (itype.EQ.2 .AND. otype.EQ.2)
THEN
4116 iret=nf90_def_var(ncid,
'hs', nf90_float, (/ dimid(two),dimid(one) /), varid(6))
4117 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(6), 1, 1, deflate)
4118 iret=nf90_put_att(ncid,varid(6),
'long_name',
'spectral estimate of significant wave height')
4119 iret=nf90_put_att(ncid,varid(6),
'standard_name',
'sea_surface_wave_significant_height')
4120 iret=nf90_put_att(ncid,varid(6),
'globwave_name',
'significant_wave_height')
4121 iret=nf90_put_att(ncid,varid(6),
'units',
'm')
4122 iret=nf90_put_att(ncid,varid(6),
'scale_factor',1.)
4123 iret=nf90_put_att(ncid,varid(6),
'add_offset',0.)
4124 iret=nf90_put_att(ncid,varid(6),
'valid_min',0.)
4125 iret=nf90_put_att(ncid,varid(6),
'valid_max',100.)
4126 iret=nf90_put_att(ncid,varid(6),
'_FillValue',nf90_fill_float)
4127 iret=nf90_put_att(ncid,varid(6),
'content',
'TX')
4128 iret=nf90_put_att(ncid,varid(6),
'associates',
'time station')
4130 iret=nf90_def_var(ncid,
'lm', nf90_float, (/ dimid(two),dimid(one) /), varid(7))
4131 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(7), 1, 1, deflate)
4132 iret=nf90_put_att(ncid,varid(7),
'long_name',
'mean wave length')
4133 iret=nf90_put_att(ncid,varid(7),
'standard_name',
'mean_wave_length')
4134 iret=nf90_put_att(ncid,varid(7),
'globwave_name',
'mean_wave_length')
4135 iret=nf90_put_att(ncid,varid(7),
'units',
'm')
4136 iret=nf90_put_att(ncid,varid(7),
'scale_factor',1.)
4137 iret=nf90_put_att(ncid,varid(7),
'add_offset',0.)
4138 iret=nf90_put_att(ncid,varid(7),
'valid_min',0.)
4139 iret=nf90_put_att(ncid,varid(7),
'valid_max',100.)
4140 iret=nf90_put_att(ncid,varid(7),
'_FillValue',nf90_fill_float)
4141 iret=nf90_put_att(ncid,varid(7),
'content',
'TX')
4142 iret=nf90_put_att(ncid,varid(7),
'associates',
'time station')
4144 iret=nf90_def_var(ncid,
'tr', nf90_float, (/ dimid(two),dimid(one) /), varid(8))
4145 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(8), 1, 1, deflate)
4146 iret=nf90_put_att(ncid,varid(8),
'long_name',
'mean period normalised by the relative frequency')
4147 iret=nf90_put_att(ncid,varid(8),
'standard_name',
'mean_period_normalised_by_the_relative_frequency')
4148 iret=nf90_put_att(ncid,varid(8),
'globwave_name',
'mean period normalised by the relative frequency')
4149 iret=nf90_put_att(ncid,varid(8),
'units',
's')
4150 iret=nf90_put_att(ncid,varid(8),
'scale_factor',1.)
4151 iret=nf90_put_att(ncid,varid(8),
'add_offset',0.)
4152 iret=nf90_put_att(ncid,varid(8),
'valid_min',0.)
4153 iret=nf90_put_att(ncid,varid(8),
'valid_max',100.)
4154 iret=nf90_put_att(ncid,varid(8),
'_FillValue',nf90_fill_float)
4155 iret=nf90_put_att(ncid,varid(8),
'content',
'TX')
4156 iret=nf90_put_att(ncid,varid(8),
'associates',
'time station')
4158 iret=nf90_def_var(ncid,
'th1p', nf90_float, (/ dimid(two),dimid(one) /), varid(9))
4159 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(9), 1, 1, deflate)
4160 iret=nf90_put_att(ncid,varid(9),
'long_name',
'mean wave direction from spectral moments at spectral peak')
4161 iret=nf90_put_att(ncid,varid(9),
'standard_name',
'dominant_wave_direction')
4162 iret=nf90_put_att(ncid,varid(9),
'globwave_name',
'dominant_wave_direction')
4163 iret=nf90_put_att(ncid,varid(9),
'units',
'degree')
4164 iret=nf90_put_att(ncid,varid(9),
'scale_factor',1.)
4165 iret=nf90_put_att(ncid,varid(9),
'add_offset',0.)
4166 iret=nf90_put_att(ncid,varid(9),
'valid_min',0.)
4167 iret=nf90_put_att(ncid,varid(9),
'valid_max',360.)
4168 iret=nf90_put_att(ncid,varid(9),
'_FillValue',nf90_fill_float)
4169 iret=nf90_put_att(ncid,varid(9),
'content',
'TX')
4170 iret=nf90_put_att(ncid,varid(9),
'associates',
'time station')
4173 iret=nf90_put_att(ncid,varid(9),
'direction_reference',
'True North')
4175 iret=nf90_put_att(ncid,varid(9),
'direction_reference',
'Rotated Pole Grid North')
4180 iret=nf90_def_var(ncid,
'sth1p', nf90_float, (/ dimid(two),dimid(one) /), varid(10))
4181 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(10), 1, 1, deflate)
4182 iret=nf90_put_att(ncid,varid(10),
'long_name',
'directional spread at spectral peak')
4183 iret=nf90_put_att(ncid,varid(10),
'standard_name',
'dominant_wave_spreading')
4184 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'dominant_wave_spreading')
4185 iret=nf90_put_att(ncid,varid(10),
'units',
'degree')
4186 iret=nf90_put_att(ncid,varid(10),
'scale_factor',1.)
4187 iret=nf90_put_att(ncid,varid(10),
'add_offset',0.)
4188 iret=nf90_put_att(ncid,varid(10),
'valid_min',0.)
4189 iret=nf90_put_att(ncid,varid(10),
'valid_max',360.)
4190 iret=nf90_put_att(ncid,varid(10),
'_FillValue',nf90_fill_float)
4191 iret=nf90_put_att(ncid,varid(10),
'content',
'TX')
4192 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station')
4194 iret=nf90_def_var(ncid,
'fp', nf90_float, (/ dimid(two),dimid(one) /), varid(11))
4195 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(11), 1, 1, deflate)
4196 iret=nf90_put_att(ncid,varid(11),
'long_name',
' peak frequency (Fp=1/Tp)')
4197 iret=nf90_put_att(ncid,varid(11),
'standard_name',
'dominant_wave_frequency')
4198 iret=nf90_put_att(ncid,varid(11),
'globwave_name',
'dominant_wave_frequency')
4199 iret=nf90_put_att(ncid,varid(11),
'units',
's-1')
4200 iret=nf90_put_att(ncid,varid(11),
'scale_factor',1.)
4201 iret=nf90_put_att(ncid,varid(11),
'add_offset',0.)
4202 iret=nf90_put_att(ncid,varid(11),
'valid_min',0.)
4203 iret=nf90_put_att(ncid,varid(11),
'valid_max',100.)
4204 iret=nf90_put_att(ncid,varid(11),
'_FillValue',nf90_fill_float)
4205 iret=nf90_put_att(ncid,varid(11),
'content',
'TX')
4206 iret=nf90_put_att(ncid,varid(11),
'associates',
'time station')
4208 iret=nf90_def_var(ncid,
'th1m', nf90_float, (/ dimid(two),dimid(one) /), varid(12))
4209 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(12), 1, 1, deflate)
4210 iret=nf90_put_att(ncid,varid(12),
'standard_name',
'mean wave direction from spectral moments')
4211 iret=nf90_put_att(ncid,varid(12),
'standard_name',
'mean_wave_direction')
4212 iret=nf90_put_att(ncid,varid(12),
'globwave_name',
'mean_wave_direction')
4213 iret=nf90_put_att(ncid,varid(12),
'units',
'degree')
4214 iret=nf90_put_att(ncid,varid(12),
'scale_factor',1.)
4215 iret=nf90_put_att(ncid,varid(12),
'add_offset',0.)
4216 iret=nf90_put_att(ncid,varid(12),
'valid_min',0.)
4217 iret=nf90_put_att(ncid,varid(12),
'valid_max',360.)
4218 iret=nf90_put_att(ncid,varid(12),
'_FillValue',nf90_fill_float)
4219 iret=nf90_put_att(ncid,varid(12),
'content',
'TX')
4220 iret=nf90_put_att(ncid,varid(12),
'associates',
'time station')
4223 iret=nf90_put_att(ncid,varid(12),
'direction_reference',
'True North')
4225 iret=nf90_put_att(ncid,varid(12),
'direction_reference',
'Rotated Pole Grid North')
4230 iret=nf90_def_var(ncid,
'sth1m', nf90_float, (/ dimid(two),dimid(one) /), varid(13))
4231 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(13), 1, 1, deflate)
4232 iret=nf90_put_att(ncid,varid(13),
'long_name',
'directional spread from spectral moments')
4233 iret=nf90_put_att(ncid,varid(13),
'standard_name',
'mean_wave_spreading')
4234 iret=nf90_put_att(ncid,varid(13),
'globwave_name',
'mean_wave_spreading')
4235 iret=nf90_put_att(ncid,varid(13),
'units',
'degree')
4236 iret=nf90_put_att(ncid,varid(13),
'scale_factor',1.)
4237 iret=nf90_put_att(ncid,varid(13),
'add_offset',0.)
4238 iret=nf90_put_att(ncid,varid(13),
'valid_min',0.)
4239 iret=nf90_put_att(ncid,varid(13),
'valid_max',360.)
4240 iret=nf90_put_att(ncid,varid(13),
'_FillValue',nf90_fill_float)
4241 iret=nf90_put_att(ncid,varid(13),
'content',
'TX')
4242 iret=nf90_put_att(ncid,varid(13),
'associates',
'time station')
4245 iret=nf90_enddef(ncid)
4253 ELSE IF (itype.EQ.2 .AND. otype.EQ.3)
THEN
4255 iret=nf90_def_var(ncid,
'ust', nf90_float, (/ dimid(two),dimid(one) /), varid(6))
4256 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(6), 1, 1, deflate)
4257 iret=nf90_put_att(ncid,varid(6),
'long_name',
'friction velocity')
4258 iret=nf90_put_att(ncid,varid(6),
'standard_name',
'friction_velocity')
4259 iret=nf90_put_att(ncid,varid(6),
'globwave_name',
'friction_velocity')
4260 iret=nf90_put_att(ncid,varid(6),
'units',
'm s-1')
4261 iret=nf90_put_att(ncid,varid(6),
'scale_factor',1.)
4262 iret=nf90_put_att(ncid,varid(6),
'add_offset',0.)
4263 iret=nf90_put_att(ncid,varid(6),
'valid_min',0.)
4264 iret=nf90_put_att(ncid,varid(6),
'valid_max',100.)
4265 iret=nf90_put_att(ncid,varid(6),
'_FillValue',nf90_fill_float)
4266 iret=nf90_put_att(ncid,varid(6),
'content',
'TX')
4267 iret=nf90_put_att(ncid,varid(6),
'associates',
'time station')
4269 iret=nf90_def_var(ncid,
'efst', nf90_float, (/ dimid(two),dimid(one) /), varid(7))
4270 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(7), 1, 1, deflate)
4271 iret=nf90_put_att(ncid,varid(7),
'long_name', &
4272 'nondimensionalized using surface elevation variance spectrum')
4273 iret=nf90_put_att(ncid,varid(7),
'standard_name',
'sea_surface_wave_variance_spectral_density')
4274 iret=nf90_put_att(ncid,varid(7),
'globwave_name',
'variance_spectral_density')
4275 iret=nf90_put_att(ncid,varid(7),
'units',
'-')
4276 iret=nf90_put_att(ncid,varid(7),
'scale_factor',1.)
4277 iret=nf90_put_att(ncid,varid(7),
'add_offset',0.)
4278 iret=nf90_put_att(ncid,varid(7),
'valid_min',0.)
4279 iret=nf90_put_att(ncid,varid(7),
'valid_max',100.)
4280 iret=nf90_put_att(ncid,varid(7),
'_FillValue',nf90_fill_float)
4281 iret=nf90_put_att(ncid,varid(7),
'content',
'TX')
4282 iret=nf90_put_att(ncid,varid(7),
'associates',
'time station')
4285 iret=nf90_put_att(ncid,varid(7),
'direction_reference',
'True North')
4287 iret=nf90_put_att(ncid,varid(7),
'direction_reference',
'Rotated Pole Grid North')
4292 iret=nf90_def_var(ncid,
'fpst', nf90_float, (/ dimid(two),dimid(one) /), varid(8))
4293 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(8), 1, 1, deflate)
4294 iret=nf90_put_att(ncid,varid(8),
'long_name',
'nondimensionalized using peak frequency (Fp=1/Tp)')
4295 iret=nf90_put_att(ncid,varid(8),
'standard_name',
'dominant_wave_frequency')
4296 iret=nf90_put_att(ncid,varid(8),
'globwave_name',
'dominant_wave_frequency')
4297 iret=nf90_put_att(ncid,varid(8),
'units',
'-')
4298 iret=nf90_put_att(ncid,varid(9),
'scale_factor',1.)
4299 iret=nf90_put_att(ncid,varid(9),
'add_offset',0.)
4300 iret=nf90_put_att(ncid,varid(9),
'valid_min',0.)
4301 iret=nf90_put_att(ncid,varid(9),
'valid_max',100.)
4302 iret=nf90_put_att(ncid,varid(8),
'_FillValue',nf90_fill_float)
4303 iret=nf90_put_att(ncid,varid(8),
'content',
'TX')
4304 iret=nf90_put_att(ncid,varid(8),
'associates',
'time station')
4306 iret=nf90_def_var(ncid,
'cd', nf90_float, (/ dimid(two),dimid(one) /), varid(9))
4307 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(9), 1, 1, deflate)
4308 iret=nf90_put_att(ncid,varid(9),
'long_name',
'drag coefficient')
4309 iret=nf90_put_att(ncid,varid(9),
'standard_name',
'drag_coefficient')
4310 iret=nf90_put_att(ncid,varid(9),
'globwave_name',
'drag_coefficient')
4311 iret=nf90_put_att(ncid,varid(9),
'units',
'*1000')
4312 iret=nf90_put_att(ncid,varid(9),
'scale_factor',1.)
4313 iret=nf90_put_att(ncid,varid(9),
'add_offset',0.)
4314 iret=nf90_put_att(ncid,varid(9),
'valid_min',0.)
4315 iret=nf90_put_att(ncid,varid(9),
'valid_max',100.)
4316 iret=nf90_put_att(ncid,varid(9),
'_FillValue',nf90_fill_float)
4317 iret=nf90_put_att(ncid,varid(9),
'content',
'TX')
4318 iret=nf90_put_att(ncid,varid(9),
'associates',
'time station')
4320 iret=nf90_def_var(ncid,
'alpha', nf90_float, (/ dimid(two),dimid(one) /), varid(10))
4321 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(10), 1, 1, deflate)
4322 iret=nf90_put_att(ncid,varid(10),
'long_name',
'alpha')
4323 iret=nf90_put_att(ncid,varid(10),
'standard_name',
'alpha')
4324 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'alpha')
4325 iret=nf90_put_att(ncid,varid(10),
'units',
'*100')
4326 iret=nf90_put_att(ncid,varid(10),
'scale_factor',1.)
4327 iret=nf90_put_att(ncid,varid(10),
'add_offset',0.)
4328 iret=nf90_put_att(ncid,varid(10),
'valid_min',0.)
4329 iret=nf90_put_att(ncid,varid(10),
'valid_max',100.)
4330 iret=nf90_put_att(ncid,varid(10),
'_FillValue',nf90_fill_float)
4331 iret=nf90_put_att(ncid,varid(10),
'content',
'TX')
4332 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station')
4336 iret=nf90_enddef(ncid)
4344 ELSE IF (itype.EQ.2 .AND. otype.EQ.4)
THEN
4346 iret=nf90_def_var(ncid,
'wnd', nf90_float, (/ dimid(two),dimid(one) /), varid(6))
4347 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(6), 1, 1, deflate)
4348 iret=nf90_put_att(ncid,varid(6),
'long_name',
'wind speed at 10m')
4349 iret=nf90_put_att(ncid,varid(6),
'standard_name',
'wind_speed')
4350 iret=nf90_put_att(ncid,varid(6),
'globwave_name',
'wind_speed')
4351 iret=nf90_put_att(ncid,varid(6),
'units',
'm s-1')
4352 iret=nf90_put_att(ncid,varid(6),
'scale_factor',1.)
4353 iret=nf90_put_att(ncid,varid(6),
'add_offset',0.)
4354 iret=nf90_put_att(ncid,varid(6),
'valid_min',0.)
4355 iret=nf90_put_att(ncid,varid(6),
'valid_max',100.)
4356 iret=nf90_put_att(ncid,varid(6),
'_FillValue',nf90_fill_float)
4357 iret=nf90_put_att(ncid,varid(6),
'content',
'TX')
4358 iret=nf90_put_att(ncid,varid(6),
'associates',
'time station')
4360 iret=nf90_def_var(ncid,
'efst', nf90_float, (/ dimid(two),dimid(one) /), varid(7))
4361 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(7), 1, 1, deflate)
4362 iret=nf90_put_att(ncid,varid(7),
'long_name', &
4363 'nondimensionalized using surface elevation variance spectrum')
4364 iret=nf90_put_att(ncid,varid(7),
'standard_name',
'sea_surface_wave_variance_spectral_density')
4365 iret=nf90_put_att(ncid,varid(7),
'globwave_name',
'variance_spectral_density')
4366 iret=nf90_put_att(ncid,varid(7),
'units',
'-')
4367 iret=nf90_put_att(ncid,varid(7),
'scale_factor',1.)
4368 iret=nf90_put_att(ncid,varid(7),
'add_offset',0.)
4369 iret=nf90_put_att(ncid,varid(7),
'valid_min',0.)
4370 iret=nf90_put_att(ncid,varid(7),
'valid_max',10.)
4371 iret=nf90_put_att(ncid,varid(7),
'_FillValue',nf90_fill_float)
4372 iret=nf90_put_att(ncid,varid(7),
'content',
'TX')
4373 iret=nf90_put_att(ncid,varid(7),
'associates',
'time station')
4376 iret=nf90_put_att(ncid,varid(7),
'direction_reference',
'True North')
4378 iret=nf90_put_att(ncid,varid(7),
'direction_reference',
'Rotated Pole Grid North')
4383 iret=nf90_def_var(ncid,
'fpst', nf90_float, (/ dimid(two),dimid(one) /), varid(8))
4384 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(8), 1, 1, deflate)
4385 iret=nf90_put_att(ncid,varid(8),
'long_name', &
4386 'nondimensionalized using peak frequency (Fp=1/Tp)')
4387 iret=nf90_put_att(ncid,varid(8),
'standard_name',
'dominant_wave_frequency')
4388 iret=nf90_put_att(ncid,varid(8),
'globwave_name',
'dominant_wave_frequency')
4389 iret=nf90_put_att(ncid,varid(8),
'units',
'-')
4390 iret=nf90_put_att(ncid,varid(8),
'scale_factor',1.)
4391 iret=nf90_put_att(ncid,varid(8),
'add_offset',0.)
4392 iret=nf90_put_att(ncid,varid(8),
'valid_min',0.)
4393 iret=nf90_put_att(ncid,varid(8),
'valid_max',100.)
4394 iret=nf90_put_att(ncid,varid(8),
'_FillValue',nf90_fill_float)
4395 iret=nf90_put_att(ncid,varid(8),
'content',
'TX')
4396 iret=nf90_put_att(ncid,varid(8),
'associates',
'time station')
4398 iret=nf90_def_var(ncid,
'cd', nf90_float, (/ dimid(two),dimid(one) /), varid(9))
4399 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(9), 1, 1, deflate)
4400 iret=nf90_put_att(ncid,varid(9),
'long_name',
'drag coefficient')
4401 iret=nf90_put_att(ncid,varid(9),
'standard_name',
'drag_coefficient')
4402 iret=nf90_put_att(ncid,varid(9),
'globwave_name',
'drag_coefficient')
4403 iret=nf90_put_att(ncid,varid(9),
'units',
'*1000')
4404 iret=nf90_put_att(ncid,varid(9),
'scale_factor',1.)
4405 iret=nf90_put_att(ncid,varid(9),
'add_offset',0.)
4406 iret=nf90_put_att(ncid,varid(9),
'valid_min',0.)
4407 iret=nf90_put_att(ncid,varid(9),
'valid_max',100.)
4408 iret=nf90_put_att(ncid,varid(9),
'_FillValue',nf90_fill_float)
4409 iret=nf90_put_att(ncid,varid(9),
'content',
'TX')
4410 iret=nf90_put_att(ncid,varid(9),
'associates',
'time station')
4412 iret=nf90_def_var(ncid,
'alpha', nf90_float, (/ dimid(two),dimid(one) /), varid(10))
4413 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(10), 1, 1, deflate)
4414 iret=nf90_put_att(ncid,varid(10),
'long_name',
'spectral intensity coefficient')
4415 iret=nf90_put_att(ncid,varid(10),
'standard_name',
'spectral_intensity_coefficient')
4416 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'spectral_intensity_coefficient')
4417 iret=nf90_put_att(ncid,varid(10),
'units',
'*100')
4418 iret=nf90_put_att(ncid,varid(10),
'scale_factor',1.)
4419 iret=nf90_put_att(ncid,varid(10),
'add_offset',0.)
4420 iret=nf90_put_att(ncid,varid(10),
'valid_min',0.)
4421 iret=nf90_put_att(ncid,varid(10),
'valid_max',100.)
4422 iret=nf90_put_att(ncid,varid(10),
'_FillValue',nf90_fill_float)
4423 iret=nf90_put_att(ncid,varid(10),
'content',
'TX')
4424 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station')
4427 iret=nf90_enddef(ncid)
4435 ELSE IF (itype.EQ.2 .AND. otype.EQ.5)
THEN
4437 iret=nf90_def_var(ncid,
'wnd', nf90_float, (/ dimid(two),dimid(one) /), varid(6))
4438 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(6), 1, 1, deflate)
4439 iret=nf90_put_att(ncid,varid(6),
'long_name',
'wind speed at 10m')
4440 iret=nf90_put_att(ncid,varid(6),
'standard_name',
'wind_speed')
4441 iret=nf90_put_att(ncid,varid(6),
'globwave_name',
'wind_speed')
4442 iret=nf90_put_att(ncid,varid(6),
'units',
'm s-1')
4443 iret=nf90_put_att(ncid,varid(6),
'scale_factor',1.)
4444 iret=nf90_put_att(ncid,varid(6),
'add_offset',0.)
4445 iret=nf90_put_att(ncid,varid(6),
'valid_min',0.)
4446 iret=nf90_put_att(ncid,varid(6),
'valid_max',100.)
4447 iret=nf90_put_att(ncid,varid(6),
'_FillValue',nf90_fill_float)
4448 iret=nf90_put_att(ncid,varid(6),
'content',
'TX')
4449 iret=nf90_put_att(ncid,varid(6),
'associates',
'time station')
4451 iret=nf90_def_var(ncid,
'wnddir', nf90_float, (/ dimid(two),dimid(one) /), varid(7))
4452 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(7), 1, 1, deflate)
4453 iret=nf90_put_att(ncid,varid(7),
'long_name',
'wind direction')
4454 iret=nf90_put_att(ncid,varid(7),
'standard_name',
'wind_from_direction')
4455 iret=nf90_put_att(ncid,varid(7),
'globwave_name',
'wind_from_direction')
4456 iret=nf90_put_att(ncid,varid(7),
'units',
'degree')
4457 iret=nf90_put_att(ncid,varid(7),
'scale_factor',1.)
4458 iret=nf90_put_att(ncid,varid(7),
'add_offset',0.)
4459 iret=nf90_put_att(ncid,varid(7),
'valid_min',0.)
4460 iret=nf90_put_att(ncid,varid(7),
'valid_max',360.)
4461 iret=nf90_put_att(ncid,varid(7),
'_FillValue',nf90_fill_float)
4462 iret=nf90_put_att(ncid,varid(7),
'content',
'TX')
4463 iret=nf90_put_att(ncid,varid(7),
'associates',
'time station')
4466 iret=nf90_put_att(ncid,varid(7),
'direction_reference',
'True North')
4468 iret=nf90_put_att(ncid,varid(7),
'direction_reference',
'Rotated Pole Grid North')
4473 iret=nf90_def_var(ncid,
'hs', nf90_float, (/ dimid(two),dimid(one) /), varid(8))
4474 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(8), 1, 1, deflate)
4475 iret=nf90_put_att(ncid,varid(8),
'long_name',
'spectral estimate of significant wave height')
4476 iret=nf90_put_att(ncid,varid(8),
'standard_name',
'sea_surface_wave_significant_height')
4477 iret=nf90_put_att(ncid,varid(8),
'globwave_name',
'significant_wave_height')
4478 iret=nf90_put_att(ncid,varid(8),
'units',
'm')
4479 iret=nf90_put_att(ncid,varid(8),
'scale_factor',1.)
4480 iret=nf90_put_att(ncid,varid(8),
'add_offset',0.)
4481 iret=nf90_put_att(ncid,varid(8),
'valid_min',0.)
4482 iret=nf90_put_att(ncid,varid(8),
'valid_max',100.)
4483 iret=nf90_put_att(ncid,varid(8),
'_FillValue',nf90_fill_float)
4484 iret=nf90_put_att(ncid,varid(8),
'content',
'TX')
4485 iret=nf90_put_att(ncid,varid(8),
'associates',
'time station')
4487 iret=nf90_def_var(ncid,
'hsst', nf90_float, (/ dimid(two),dimid(one) /), varid(9))
4488 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(9), 1, 1, deflate)
4489 iret=nf90_put_att(ncid,varid(9),
'long_name', &
4490 'nondimensionalized using spectral estimate of significant wave height')
4491 iret=nf90_put_att(ncid,varid(9),
'standard_name',
'sea_surface_wave_significant_height')
4492 iret=nf90_put_att(ncid,varid(9),
'globwave_name',
'significant_wave_height')
4493 iret=nf90_put_att(ncid,varid(9),
'units',
'-')
4494 iret=nf90_put_att(ncid,varid(9),
'scale_factor',1.)
4495 iret=nf90_put_att(ncid,varid(9),
'add_offset',0.)
4496 iret=nf90_put_att(ncid,varid(9),
'valid_min',0.)
4497 iret=nf90_put_att(ncid,varid(9),
'valid_max',100.)
4498 iret=nf90_put_att(ncid,varid(9),
'_FillValue',nf90_fill_float)
4499 iret=nf90_put_att(ncid,varid(9),
'content',
'TX')
4500 iret=nf90_put_att(ncid,varid(9),
'associates',
'time station')
4502 iret=nf90_def_var(ncid,
'cpu', nf90_float, (/ dimid(two),dimid(one) /), varid(10))
4503 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(10), 1, 1, deflate)
4504 iret=nf90_put_att(ncid,varid(10),
'long_name',
'phase speed at peak frequency on friction velocity')
4505 iret=nf90_put_att(ncid,varid(10),
'standard_name',
'peak_wave_age')
4506 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'peak_wave_age')
4507 iret=nf90_put_att(ncid,varid(10),
'units',
'-')
4508 iret=nf90_put_att(ncid,varid(10),
'scale_factor',1.)
4509 iret=nf90_put_att(ncid,varid(10),
'add_offset',0.)
4510 iret=nf90_put_att(ncid,varid(10),
'valid_min',0.)
4511 iret=nf90_put_att(ncid,varid(10),
'valid_max',100.)
4512 iret=nf90_put_att(ncid,varid(10),
'_FillValue',nf90_fill_float)
4513 iret=nf90_put_att(ncid,varid(10),
'content',
'TX')
4514 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station')
4516 iret=nf90_def_var(ncid,
'cmu', nf90_float, (/ dimid(two),dimid(one) /), varid(11))
4517 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(11), 1, 1, deflate)
4518 iret=nf90_put_att(ncid,varid(11),
'long_name',
'phase speed at mean frequency on friction velocity')
4519 iret=nf90_put_att(ncid,varid(11),
'standard_name',
'mean_wave_age')
4520 iret=nf90_put_att(ncid,varid(11),
'globwave_name',
'mean_wave_age')
4521 iret=nf90_put_att(ncid,varid(11),
'units',
'-')
4522 iret=nf90_put_att(ncid,varid(11),
'scale_factor',1.)
4523 iret=nf90_put_att(ncid,varid(11),
'add_offset',0.)
4524 iret=nf90_put_att(ncid,varid(11),
'valid_min',0.)
4525 iret=nf90_put_att(ncid,varid(11),
'valid_max',100.)
4526 iret=nf90_put_att(ncid,varid(11),
'_FillValue',nf90_fill_float)
4527 iret=nf90_put_att(ncid,varid(11),
'content',
'TX')
4528 iret=nf90_put_att(ncid,varid(11),
'associates',
'time station')
4530 iret=nf90_def_var(ncid,
'ast', nf90_float, (/ dimid(two),dimid(one) /), varid(12))
4531 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(12), 1, 1, deflate)
4532 iret=nf90_put_att(ncid,varid(12),
'long_name',
'air sea temperature difference')
4533 iret=nf90_put_att(ncid,varid(12),
'standard_name',
'air_sea_temperature_difference')
4534 iret=nf90_put_att(ncid,varid(12),
'globwave_name',
'air_sea_temperature_difference')
4535 iret=nf90_put_att(ncid,varid(12),
'units',
'degree')
4536 iret=nf90_put_att(ncid,varid(12),
'scale_factor',1.)
4537 iret=nf90_put_att(ncid,varid(12),
'add_offset',0.)
4538 iret=nf90_put_att(ncid,varid(12),
'valid_min',0.)
4539 iret=nf90_put_att(ncid,varid(12),
'valid_max',100.)
4540 iret=nf90_put_att(ncid,varid(12),
'_FillValue',nf90_fill_float)
4541 iret=nf90_put_att(ncid,varid(12),
'content',
'TX')
4542 iret=nf90_put_att(ncid,varid(12),
'associates',
'time station')
4546 iret=nf90_enddef(ncid)
4554 ELSE IF (itype.EQ.2 .AND. otype.EQ.6)
THEN
4556 iret=nf90_def_var(ncid,
'wnd', nf90_float, (/ dimid(two),dimid(one) /), varid(6))
4557 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(6), 1, 1, deflate)
4558 iret=nf90_put_att(ncid,varid(6),
'long_name',
'wind speed at 10m')
4559 iret=nf90_put_att(ncid,varid(6),
'standard_name',
'wind_speed')
4560 iret=nf90_put_att(ncid,varid(6),
'globwave_name',
'wind_speed')
4561 iret=nf90_put_att(ncid,varid(6),
'units',
'm s-1')
4562 iret=nf90_put_att(ncid,varid(6),
'scale_factor',1.)
4563 iret=nf90_put_att(ncid,varid(6),
'add_offset',0.)
4564 iret=nf90_put_att(ncid,varid(6),
'valid_min',0.)
4565 iret=nf90_put_att(ncid,varid(6),
'valid_max',100.)
4566 iret=nf90_put_att(ncid,varid(6),
'_FillValue',nf90_fill_float)
4567 iret=nf90_put_att(ncid,varid(6),
'content',
'TX')
4568 iret=nf90_put_att(ncid,varid(6),
'associates',
'time station')
4570 iret=nf90_def_var(ncid,
'wnddir', nf90_float, (/ dimid(two),dimid(one) /), varid(7))
4571 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(7), 1, 1, deflate)
4572 iret=nf90_put_att(ncid,varid(7),
'long_name',
'wind direction')
4573 iret=nf90_put_att(ncid,varid(7),
'standard_name',
'wind_from_direction')
4574 iret=nf90_put_att(ncid,varid(7),
'globwave_name',
'wind_from_direction')
4575 iret=nf90_put_att(ncid,varid(7),
'units',
'degree')
4576 iret=nf90_put_att(ncid,varid(7),
'scale_factor',1.)
4577 iret=nf90_put_att(ncid,varid(7),
'add_offset',0.)
4578 iret=nf90_put_att(ncid,varid(7),
'valid_min',0.)
4579 iret=nf90_put_att(ncid,varid(7),
'valid_max',360.)
4580 iret=nf90_put_att(ncid,varid(7),
'_FillValue',nf90_fill_float)
4581 iret=nf90_put_att(ncid,varid(7),
'content',
'TX')
4582 iret=nf90_put_att(ncid,varid(7),
'associates',
'time station')
4585 iret=nf90_put_att(ncid,varid(7),
'direction_reference',
'True North')
4587 iret=nf90_put_att(ncid,varid(7),
'direction_reference',
'Rotated Pole Grid North')
4592 iret=nf90_def_var(ncid,
'hs', nf90_float, (/ dimid(two),dimid(one) /), varid(8))
4593 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(8), 1, 1, deflate)
4594 iret=nf90_put_att(ncid,varid(8),
'long_name',
'spectral estimate of significant wave height')
4595 iret=nf90_put_att(ncid,varid(8),
'standard_name',
'sea_surface_wave_significant_height')
4596 iret=nf90_put_att(ncid,varid(8),
'globwave_name',
'significant_wave_height')
4597 iret=nf90_put_att(ncid,varid(8),
'units',
'm')
4598 iret=nf90_put_att(ncid,varid(8),
'scale_factor',1.)
4599 iret=nf90_put_att(ncid,varid(8),
'add_offset',0.)
4600 iret=nf90_put_att(ncid,varid(8),
'valid_min',0.)
4601 iret=nf90_put_att(ncid,varid(8),
'valid_max',100.)
4602 iret=nf90_put_att(ncid,varid(8),
'_FillValue',nf90_fill_float)
4603 iret=nf90_put_att(ncid,varid(8),
'content',
'TX')
4604 iret=nf90_put_att(ncid,varid(8),
'associates',
'time station')
4606 iret=nf90_def_var(ncid,
'tp', nf90_float, (/ dimid(two),dimid(one) /), varid(9))
4607 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(9), 1, 1, deflate)
4608 iret=nf90_put_att(ncid,varid(9),
'long_name',
'dominant wave period')
4609 iret=nf90_put_att(ncid,varid(9),
'standard_name',
'dominant_wave_period')
4610 iret=nf90_put_att(ncid,varid(9),
'globwave_name',
'dominant_wave_period')
4611 iret=nf90_put_att(ncid,varid(9),
'units',
's')
4612 iret=nf90_put_att(ncid,varid(9),
'scale_factor',1.)
4613 iret=nf90_put_att(ncid,varid(9),
'add_offset',0.)
4614 iret=nf90_put_att(ncid,varid(9),
'valid_min',0.)
4615 iret=nf90_put_att(ncid,varid(9),
'valid_max',100.)
4616 iret=nf90_put_att(ncid,varid(9),
'_FillValue',nf90_fill_float)
4617 iret=nf90_put_att(ncid,varid(9),
'content',
'TX')
4618 iret=nf90_put_att(ncid,varid(9),
'associates',
'time station')
4621 iret=nf90_enddef(ncid)
4627 ELSE IF (itype.EQ.3 .AND. otype.EQ.2)
THEN
4631 iret = nf90_def_dim(ncid,
'frequency', dimln(4), dimid(4))
4639 IF (iscale.EQ.0)
THEN
4640 iret=nf90_def_var(ncid,
'frequency', nf90_float, dimid(4), varid(6))
4641 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
4642 iret=nf90_def_var(ncid,
'frequencyst', nf90_float, dimid(4), varid(6))
4644 iret=nf90_def_var(ncid,
'ffp', nf90_float, dimid(4), varid(6))
4646 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(6), 1, 1, deflate)
4647 iret=nf90_put_att(ncid,varid(6),
'long_name',
'frequency of center band')
4648 iret=nf90_put_att(ncid,varid(6),
'standard_name',
'sea_surface_wave_frequency')
4649 iret=nf90_put_att(ncid,varid(6),
'globwave_name',
'frequency')
4650 iret=nf90_put_att(ncid,varid(6),
'units',
's-1')
4651 iret=nf90_put_att(ncid,varid(6),
'scale_factor',1.)
4652 iret=nf90_put_att(ncid,varid(6),
'add_offset',0.)
4653 iret=nf90_put_att(ncid,varid(6),
'valid_min',0.)
4654 iret=nf90_put_att(ncid,varid(6),
'valid_max',10.)
4655 iret=nf90_put_att(ncid,varid(6),
'_FillValue',nf90_fill_float)
4656 iret=nf90_put_att(ncid,varid(6),
'axis',
'Y')
4659 iret=nf90_def_var(ncid,
'dpt', nf90_float, (/ dimid(two),dimid(one) /), varid(7))
4660 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(7), 1, 1, deflate)
4661 iret=nf90_put_att(ncid,varid(7),
'long_name',
'depth')
4662 iret=nf90_put_att(ncid,varid(7),
'standard_name',
'depth')
4663 iret=nf90_put_att(ncid,varid(7),
'globwave_name',
'depth')
4664 iret=nf90_put_att(ncid,varid(7),
'units',
'm')
4665 iret=nf90_put_att(ncid,varid(7),
'scale_factor',1.)
4666 iret=nf90_put_att(ncid,varid(7),
'add_offset',0.)
4667 iret=nf90_put_att(ncid,varid(7),
'valid_min',-100.)
4668 iret=nf90_put_att(ncid,varid(7),
'valid_max',10000.)
4669 iret=nf90_put_att(ncid,varid(7),
'_FillValue',nf90_fill_float)
4670 iret=nf90_put_att(ncid,varid(7),
'content',
'TX')
4671 iret=nf90_put_att(ncid,varid(7),
'associates',
'time station')
4674 iret=nf90_def_var(ncid,
'ust', nf90_float, (/ dimid(two),dimid(one) /), varid(8))
4675 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(8), 1, 1, deflate)
4676 iret=nf90_put_att(ncid,varid(8),
'long_name',
'friction velocity')
4677 iret=nf90_put_att(ncid,varid(8),
'standard_name',
'friction_velocity')
4678 iret=nf90_put_att(ncid,varid(8),
'globwave_name',
'friction_velocity')
4679 iret=nf90_put_att(ncid,varid(8),
'units',
'm s-1')
4680 iret=nf90_put_att(ncid,varid(8),
'scale_factor',1.)
4681 iret=nf90_put_att(ncid,varid(8),
'add_offset',0.)
4682 iret=nf90_put_att(ncid,varid(8),
'valid_min',0.)
4683 iret=nf90_put_att(ncid,varid(8),
'valid_max',100.)
4684 iret=nf90_put_att(ncid,varid(8),
'_FillValue',nf90_fill_float)
4685 iret=nf90_put_att(ncid,varid(8),
'content',
'TX')
4686 iret=nf90_put_att(ncid,varid(8),
'associates',
'time station')
4689 iret=nf90_def_var(ncid,
'wnd', nf90_float, (/ dimid(two),dimid(one) /), varid(9))
4690 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(9), 1, 1, deflate)
4691 iret=nf90_put_att(ncid,varid(9),
'long_name',
'wind speed at 10m')
4692 iret=nf90_put_att(ncid,varid(9),
'standard_name',
'wind_speed')
4693 iret=nf90_put_att(ncid,varid(9),
'globwave_name',
'wind_speed')
4694 iret=nf90_put_att(ncid,varid(9),
'units',
'm s-1')
4695 iret=nf90_put_att(ncid,varid(9),
'scale_factor',1.)
4696 iret=nf90_put_att(ncid,varid(9),
'add_offset',0.)
4697 iret=nf90_put_att(ncid,varid(9),
'valid_min',0.)
4698 iret=nf90_put_att(ncid,varid(9),
'valid_max',100.)
4699 iret=nf90_put_att(ncid,varid(9),
'_FillValue',nf90_fill_float)
4700 iret=nf90_put_att(ncid,varid(9),
'content',
'TX')
4701 iret=nf90_put_att(ncid,varid(9),
'associates',
'time station')
4704 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
4705 iret=nf90_def_var(ncid,
'ef', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(10))
4706 iret=nf90_put_att(ncid,varid(10),
'long_name',
'surface elevation variance spectrum')
4707 iret=nf90_put_att(ncid,varid(10),
'standard_name',
'sea_surface_wave_variance_spectral_density')
4708 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'variance_spectral_density')
4709 iret=nf90_put_att(ncid,varid(10),
'units',
'm2 s')
4711 iret=nf90_def_var(ncid,
'efst', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(10))
4712 iret=nf90_put_att(ncid,varid(10),
'long_name', &
4713 'nondimensionalized using surface elevation variance spectrum')
4714 iret=nf90_put_att(ncid,varid(10),
'standard_name',
'sea_surface_wave_variance_spectral_density')
4715 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'variance_spectral_density')
4716 iret=nf90_put_att(ncid,varid(10),
'units',
'-')
4718 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(10), 1, 1, deflate)
4719 iret=nf90_put_att(ncid,varid(10),
'scale_factor',1.)
4720 iret=nf90_put_att(ncid,varid(10),
'add_offset',0.)
4721 iret=nf90_put_att(ncid,varid(10),
'valid_min',0.)
4722 iret=nf90_put_att(ncid,varid(10),
'valid_max',10.)
4723 iret=nf90_put_att(ncid,varid(10),
'_FillValue', nf90_fill_float)
4724 iret=nf90_put_att(ncid,varid(10),
'content',
'TXY')
4725 IF (iscale.EQ.0)
THEN
4726 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station frequency')
4727 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
4728 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station frequencyst')
4730 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station ffp')
4734 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
4735 iret=nf90_def_var(ncid,
'sin', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(11))
4736 iret=nf90_put_att(ncid,varid(11),
'long_name',
'wind input source term')
4737 iret=nf90_put_att(ncid,varid(11),
'standard_name',
'wind_input_source_term')
4738 iret=nf90_put_att(ncid,varid(11),
'globwave_name',
'wind_input_source_term')
4739 iret=nf90_put_att(ncid,varid(11),
'units',
'm2')
4741 iret=nf90_def_var(ncid,
'sinst', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(11))
4742 iret=nf90_put_att(ncid,varid(11),
'long_name', &
4743 'nondimensionalized using wind input source term')
4744 iret=nf90_put_att(ncid,varid(11),
'standard_name',
'wind_input_source_term')
4745 iret=nf90_put_att(ncid,varid(11),
'globwave_name',
'wind_input_source_term')
4746 iret=nf90_put_att(ncid,varid(11),
'units',
'-')
4748 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(11), 1, 1, deflate)
4749 iret=nf90_put_att(ncid,varid(11),
'scale_factor',1.)
4750 iret=nf90_put_att(ncid,varid(11),
'add_offset',0.)
4751 iret=nf90_put_att(ncid,varid(11),
'valid_min',-1.)
4752 iret=nf90_put_att(ncid,varid(11),
'valid_max',1.)
4753 iret=nf90_put_att(ncid,varid(11),
'_FillValue', nf90_fill_float)
4754 iret=nf90_put_att(ncid,varid(11),
'content',
'TXY')
4755 IF (iscale.EQ.0)
THEN
4756 iret=nf90_put_att(ncid,varid(11),
'associates',
'time station frequency')
4757 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
4758 iret=nf90_put_att(ncid,varid(11),
'associates',
'time station frequencyst')
4760 iret=nf90_put_att(ncid,varid(11),
'associates',
'time station ffp')
4764 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
4765 iret=nf90_def_var(ncid,
'snl', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(12))
4766 iret=nf90_put_att(ncid,varid(12),
'long_name',
'nonlinear 4 wave source term')
4767 iret=nf90_put_att(ncid,varid(12),
'standard_name',
'nonlinear_4_wave_source_term')
4768 iret=nf90_put_att(ncid,varid(12),
'globwave_name',
'nonlinear_4_wave_source_term')
4769 iret=nf90_put_att(ncid,varid(12),
'units',
'm2')
4771 iret=nf90_def_var(ncid,
'snlst', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(12))
4772 iret=nf90_put_att(ncid,varid(12),
'long_name', &
4773 'nondimensionalized using nonlinear 4 wave source term')
4774 iret=nf90_put_att(ncid,varid(12),
'standard_name',
'nonlinear_4_wave_source_term')
4775 iret=nf90_put_att(ncid,varid(12),
'globwave_name',
'nonlinear_4_wave_source_term')
4776 iret=nf90_put_att(ncid,varid(12),
'units',
'-')
4778 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(12), 1, 1, deflate)
4779 iret=nf90_put_att(ncid,varid(12),
'scale_factor',1.)
4780 iret=nf90_put_att(ncid,varid(12),
'add_offset',0.)
4781 iret=nf90_put_att(ncid,varid(12),
'valid_min',-1.)
4782 iret=nf90_put_att(ncid,varid(12),
'valid_max',1.)
4783 iret=nf90_put_att(ncid,varid(12),
'_FillValue', nf90_fill_float)
4784 iret=nf90_put_att(ncid,varid(12),
'content',
'TXY')
4785 IF (iscale.EQ.0)
THEN
4786 iret=nf90_put_att(ncid,varid(12),
'associates',
'time station frequency')
4787 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
4788 iret=nf90_put_att(ncid,varid(12),
'associates',
'time station frequencyst')
4790 iret=nf90_put_att(ncid,varid(12),
'associates',
'time station ffp')
4794 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
4795 iret=nf90_def_var(ncid,
'sds', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(13))
4796 iret=nf90_put_att(ncid,varid(13),
'long_name',
'wave breaking source term')
4797 iret=nf90_put_att(ncid,varid(13),
'standard_name',
'wave_breaking_source_term')
4798 iret=nf90_put_att(ncid,varid(13),
'globwave_name',
'wave_breaking_source_term')
4799 iret=nf90_put_att(ncid,varid(13),
'units',
'm2')
4801 iret=nf90_def_var(ncid,
'sdsst', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(13))
4802 iret=nf90_put_att(ncid,varid(13),
'long_name', &
4803 'nondimensionalized using wave breaking source term')
4804 iret=nf90_put_att(ncid,varid(13),
'standard_name',
'wave_breaking_source_term')
4805 iret=nf90_put_att(ncid,varid(13),
'globwave_name',
'wave_breaking_source_term')
4806 iret=nf90_put_att(ncid,varid(13),
'units',
'-')
4808 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(13), 1, 1, deflate)
4809 iret=nf90_put_att(ncid,varid(13),
'scale_factor',1.)
4810 iret=nf90_put_att(ncid,varid(13),
'add_offset',0.)
4811 iret=nf90_put_att(ncid,varid(13),
'valid_min',-1.)
4812 iret=nf90_put_att(ncid,varid(13),
'valid_max',1.)
4813 iret=nf90_put_att(ncid,varid(13),
'_FillValue', nf90_fill_float)
4814 iret=nf90_put_att(ncid,varid(13),
'content',
'TXY')
4815 IF (iscale.EQ.0)
THEN
4816 iret=nf90_put_att(ncid,varid(13),
'associates',
'time station frequency')
4817 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
4818 iret=nf90_put_att(ncid,varid(13),
'associates',
'time station frequencyst')
4820 iret=nf90_put_att(ncid,varid(13),
'associates',
'time station ffp')
4824 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
4825 iret=nf90_def_var(ncid,
'sbt', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(14))
4826 iret=nf90_put_att(ncid,varid(14),
'long_name',
'depth induced breaking source term')
4827 iret=nf90_put_att(ncid,varid(14),
'standard_name',
'depth_induced_breaking_source_term')
4828 iret=nf90_put_att(ncid,varid(14),
'globwave_name',
'depth_induced_breaking_source_term')
4829 iret=nf90_put_att(ncid,varid(14),
'units',
'm2')
4831 iret=nf90_def_var(ncid,
'sbtst', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(14))
4832 iret=nf90_put_att(ncid,varid(14),
'long_name', &
4833 'nondimensionalized using depth induced breaking source term')
4834 iret=nf90_put_att(ncid,varid(14),
'standard_name',
'depth_induced_breaking_source_term')
4835 iret=nf90_put_att(ncid,varid(14),
'globwave_name',
'depth_induced_breaking_source_term')
4836 iret=nf90_put_att(ncid,varid(14),
'units',
'-')
4838 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(14), 1, 1, deflate)
4839 iret=nf90_put_att(ncid,varid(14),
'scale_factor',1.)
4840 iret=nf90_put_att(ncid,varid(14),
'add_offset',0.)
4841 iret=nf90_put_att(ncid,varid(14),
'valid_min',-1.)
4842 iret=nf90_put_att(ncid,varid(14),
'valid_max',1.)
4843 iret=nf90_put_att(ncid,varid(14),
'_FillValue', nf90_fill_float)
4844 iret=nf90_put_att(ncid,varid(14),
'content',
'TXY')
4845 IF (iscale.EQ.0)
THEN
4846 iret=nf90_put_att(ncid,varid(14),
'associates',
'time station frequency')
4847 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
4848 iret=nf90_put_att(ncid,varid(14),
'associates',
'time station frequencyst')
4850 iret=nf90_put_att(ncid,varid(14),
'associates',
'time station ffp')
4854 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
4855 iret=nf90_def_var(ncid,
'sice', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(15))
4856 iret=nf90_put_att(ncid,varid(15),
'long_name',
'wave-ice interactions source term')
4857 iret=nf90_put_att(ncid,varid(15),
'standard_name',
'wave_ice_interactions_source_term')
4858 iret=nf90_put_att(ncid,varid(15),
'globwave_name',
'wave_ice_interactions_source_term')
4859 iret=nf90_put_att(ncid,varid(15),
'units',
'm2')
4861 iret=nf90_def_var(ncid,
'sicest', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(15))
4862 iret=nf90_put_att(ncid,varid(15),
'long_name',
'nondimensionalized using wave-ice interactions source term')
4863 iret=nf90_put_att(ncid,varid(15),
'standard_name',
'wave_ice_interactions_source_term')
4864 iret=nf90_put_att(ncid,varid(15),
'globwave_name',
'wave_ice_interactions_source_term')
4865 iret=nf90_put_att(ncid,varid(15),
'units',
'-')
4867 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(15), 1, 1, deflate)
4868 iret=nf90_put_att(ncid,varid(15),
'scale_factor',1.)
4869 iret=nf90_put_att(ncid,varid(15),
'add_offset',0.)
4870 iret=nf90_put_att(ncid,varid(15),
'valid_min',-1.)
4871 iret=nf90_put_att(ncid,varid(15),
'valid_max',1.)
4872 iret=nf90_put_att(ncid,varid(15),
'_FillValue', nf90_fill_float)
4873 iret=nf90_put_att(ncid,varid(15),
'content',
'TXY')
4874 IF (iscale.EQ.0)
THEN
4875 iret=nf90_put_att(ncid,varid(15),
'associates',
'time station frequency')
4876 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
4877 iret=nf90_put_att(ncid,varid(15),
'associates',
'time station frequencyst')
4879 iret=nf90_put_att(ncid,varid(15),
'associates',
'time station ffp')
4883 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
4884 iret=nf90_def_var(ncid,
'stot', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(16))
4885 iret=nf90_put_att(ncid,varid(16),
'long_name',
'total source term')
4886 iret=nf90_put_att(ncid,varid(16),
'standard_name',
'total_source_term')
4887 iret=nf90_put_att(ncid,varid(16),
'globwave_name',
'total_source_term')
4888 iret=nf90_put_att(ncid,varid(16),
'units',
'm2')
4890 iret=nf90_def_var(ncid,
'stotst', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(16))
4891 iret=nf90_put_att(ncid,varid(16),
'long_name',
'nondimensionalized using total source term')
4892 iret=nf90_put_att(ncid,varid(16),
'standard_name',
'total_source_term')
4893 iret=nf90_put_att(ncid,varid(16),
'globwave_name',
'total_source_term')
4894 iret=nf90_put_att(ncid,varid(16),
'units',
'-')
4896 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(16), 1, 1, deflate)
4897 iret=nf90_put_att(ncid,varid(16),
'scale_factor',1.)
4898 iret=nf90_put_att(ncid,varid(16),
'add_offset',0.)
4899 iret=nf90_put_att(ncid,varid(16),
'valid_min',-1.)
4900 iret=nf90_put_att(ncid,varid(16),
'valid_max',1.)
4901 iret=nf90_put_att(ncid,varid(16),
'_FillValue', nf90_fill_float)
4902 iret=nf90_put_att(ncid,varid(16),
'content',
'TXY')
4903 IF (iscale.EQ.0)
THEN
4904 iret=nf90_put_att(ncid,varid(16),
'associates',
'time station frequency')
4905 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
4906 iret=nf90_put_att(ncid,varid(16),
'associates',
'time station frequencyst')
4908 iret=nf90_put_att(ncid,varid(16),
'associates',
'time station ffp')
4912 iret=nf90_enddef(ncid)
4914 iret=nf90_put_var(ncid,varid(6),freq(1:
nk))
4921 ELSE IF (itype.EQ.3 .AND. otype.EQ.3)
THEN
4925 iret = nf90_def_dim(ncid,
'frequency', dimln(4), dimid(4))
4933 IF (iscale.EQ.0)
THEN
4934 iret=nf90_def_var(ncid,
'frequency', nf90_float, dimid(4), varid(6))
4935 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
4936 iret=nf90_def_var(ncid,
'frequencyst', nf90_float, dimid(4), varid(6))
4938 iret=nf90_def_var(ncid,
'ffp', nf90_float, dimid(4), varid(6))
4940 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(6), 1, 1, deflate)
4941 iret=nf90_put_att(ncid,varid(6),
'long_name',
'frequency of center band')
4942 iret=nf90_put_att(ncid,varid(6),
'standard_name',
'sea_surface_wave_frequency')
4943 iret=nf90_put_att(ncid,varid(6),
'globwave_name',
'frequency')
4944 iret=nf90_put_att(ncid,varid(6),
'units',
's-1')
4945 iret=nf90_put_att(ncid,varid(6),
'scale_factor',1.)
4946 iret=nf90_put_att(ncid,varid(6),
'add_offset',0.)
4947 iret=nf90_put_att(ncid,varid(6),
'valid_min',0.)
4948 iret=nf90_put_att(ncid,varid(6),
'valid_max',10.)
4949 iret=nf90_put_att(ncid,varid(6),
'_FillValue',nf90_fill_float)
4950 iret=nf90_put_att(ncid,varid(6),
'axis',
'Y')
4953 iret=nf90_def_var(ncid,
'dpt', nf90_float, (/ dimid(two),dimid(one) /), varid(7))
4954 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(7), 1, 1, deflate)
4955 iret=nf90_put_att(ncid,varid(7),
'long_name',
'depth')
4956 iret=nf90_put_att(ncid,varid(7),
'standard_name',
'depth')
4957 iret=nf90_put_att(ncid,varid(7),
'globwave_name',
'depth')
4958 iret=nf90_put_att(ncid,varid(7),
'units',
'm')
4959 iret=nf90_put_att(ncid,varid(7),
'scale_factor',1.)
4960 iret=nf90_put_att(ncid,varid(7),
'add_offset',0.)
4961 iret=nf90_put_att(ncid,varid(7),
'valid_min',-100.)
4962 iret=nf90_put_att(ncid,varid(7),
'valid_max',10000.)
4963 iret=nf90_put_att(ncid,varid(7),
'_FillValue',nf90_fill_float)
4964 iret=nf90_put_att(ncid,varid(7),
'content',
'TX')
4965 iret=nf90_put_att(ncid,varid(7),
'associates',
'time station')
4968 iret=nf90_def_var(ncid,
'ust', nf90_float, (/ dimid(two),dimid(one) /), varid(8))
4969 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(8), 1, 1, deflate)
4970 iret=nf90_put_att(ncid,varid(8),
'long_name',
'friction velocity')
4971 iret=nf90_put_att(ncid,varid(8),
'standard_name',
'friction_velocity')
4972 iret=nf90_put_att(ncid,varid(8),
'globwave_name',
'friction_velocity')
4973 iret=nf90_put_att(ncid,varid(8),
'units',
'm s-1')
4974 iret=nf90_put_att(ncid,varid(8),
'scale_factor',1.)
4975 iret=nf90_put_att(ncid,varid(8),
'add_offset',0.)
4976 iret=nf90_put_att(ncid,varid(8),
'valid_min',0.)
4977 iret=nf90_put_att(ncid,varid(8),
'valid_max',100.)
4978 iret=nf90_put_att(ncid,varid(8),
'_FillValue',nf90_fill_float)
4979 iret=nf90_put_att(ncid,varid(8),
'content',
'TX')
4980 iret=nf90_put_att(ncid,varid(8),
'associates',
'time station')
4983 iret=nf90_def_var(ncid,
'wnd', nf90_float, (/ dimid(two),dimid(one) /), varid(9))
4984 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(9), 1, 1, deflate)
4985 iret=nf90_put_att(ncid,varid(9),
'long_name',
'wind speed at 10m')
4986 iret=nf90_put_att(ncid,varid(9),
'standard_name',
'wind_speed')
4987 iret=nf90_put_att(ncid,varid(9),
'globwave_name',
'wind_speed')
4988 iret=nf90_put_att(ncid,varid(9),
'units',
'm s-1')
4989 iret=nf90_put_att(ncid,varid(9),
'scale_factor',1.)
4990 iret=nf90_put_att(ncid,varid(9),
'add_offset',0.)
4991 iret=nf90_put_att(ncid,varid(9),
'valid_min',0.)
4992 iret=nf90_put_att(ncid,varid(9),
'valid_max',100.)
4993 iret=nf90_put_att(ncid,varid(9),
'_FillValue',nf90_fill_float)
4994 iret=nf90_put_att(ncid,varid(9),
'content',
'TX')
4995 iret=nf90_put_att(ncid,varid(9),
'associates',
'time station')
4998 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
4999 iret=nf90_def_var(ncid,
'ef', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(10))
5000 iret=nf90_put_att(ncid,varid(10),
'long_name',
'surface elevation variance spectrum')
5001 iret=nf90_put_att(ncid,varid(10),
'standard_name',
'sea_surface_wave_variance_spectral_density')
5002 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'variance_spectral_density')
5003 iret=nf90_put_att(ncid,varid(10),
'units',
'm2 s')
5005 iret=nf90_def_var(ncid,
'efst', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(10))
5006 iret=nf90_put_att(ncid,varid(10),
'long_name', &
5007 'nondimensionalized using surface elevation variance spectrum')
5008 iret=nf90_put_att(ncid,varid(10),
'standard_name',
'sea_surface_wave_variance_spectral_density')
5009 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'variance_spectral_density')
5010 iret=nf90_put_att(ncid,varid(10),
'units',
'-')
5012 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(10), 1, 1, deflate)
5013 iret=nf90_put_att(ncid,varid(10),
'scale_factor',1.)
5014 iret=nf90_put_att(ncid,varid(10),
'add_offset',0.)
5015 iret=nf90_put_att(ncid,varid(10),
'valid_min',0.)
5016 iret=nf90_put_att(ncid,varid(10),
'valid_max',10.)
5017 iret=nf90_put_att(ncid,varid(10),
'_FillValue', nf90_fill_float)
5018 iret=nf90_put_att(ncid,varid(10),
'content',
'TXY')
5019 IF (iscale.EQ.0)
THEN
5020 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station frequency')
5021 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
5022 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station frequencyst')
5024 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station ffp')
5028 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
5029 iret=nf90_def_var(ncid,
'tini', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(11))
5030 iret=nf90_put_att(ncid,varid(11),
'long_name',
'wind input source term normalised by Ef')
5031 iret=nf90_put_att(ncid,varid(11),
'standard_name',
'inverse_time_scales_wind_input_source_term')
5032 iret=nf90_put_att(ncid,varid(11),
'globwave_name',
'inverse_time_scales_wind_input_source_term')
5033 iret=nf90_put_att(ncid,varid(11),
'units',
'm2')
5035 iret=nf90_def_var(ncid,
'tinist', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(11))
5036 iret=nf90_put_att(ncid,varid(11),
'long_name',
'nondimensionalized using wind input source term normalised by Ef')
5037 iret=nf90_put_att(ncid,varid(11),
'standard_name',
'inverse_time_scales_wind_input_source_term')
5038 iret=nf90_put_att(ncid,varid(11),
'globwave_name',
'inverse_time_scales_wind_input_source_term')
5039 iret=nf90_put_att(ncid,varid(11),
'units',
'-')
5041 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(11), 1, 1, deflate)
5042 iret=nf90_put_att(ncid,varid(11),
'scale_factor',1.)
5043 iret=nf90_put_att(ncid,varid(11),
'add_offset',0.)
5044 iret=nf90_put_att(ncid,varid(11),
'valid_min',-1.)
5045 iret=nf90_put_att(ncid,varid(11),
'valid_max',1.)
5046 iret=nf90_put_att(ncid,varid(11),
'_FillValue', nf90_fill_float)
5047 iret=nf90_put_att(ncid,varid(11),
'content',
'TXY')
5048 IF (iscale.EQ.0)
THEN
5049 iret=nf90_put_att(ncid,varid(11),
'associates',
'time station frequency')
5050 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
5051 iret=nf90_put_att(ncid,varid(11),
'associates',
'time station frequencyst')
5053 iret=nf90_put_att(ncid,varid(11),
'associates',
'time station ffp')
5058 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
5059 iret=nf90_def_var(ncid,
'tnli', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(12))
5060 iret=nf90_put_att(ncid,varid(12),
'long_name',
'nonlinear 4 wave source term normalised by Ef')
5061 iret=nf90_put_att(ncid,varid(12),
'standard_name',
'inverse_time_scales_nonlinear_4_wave_source_term')
5062 iret=nf90_put_att(ncid,varid(12),
'globwave_name',
'inverse_time_scales_nonlinear_4_wave_source_term')
5063 iret=nf90_put_att(ncid,varid(12),
'units',
'm2')
5065 iret=nf90_def_var(ncid,
'tnlist', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(12))
5066 iret=nf90_put_att(ncid,varid(12),
'long_name',
'nondimensionalized using nonlinear 4 wave source term normalised by Ef')
5067 iret=nf90_put_att(ncid,varid(12),
'standard_name',
'inverse_time_scales_nonlinear_4_wave_source_term')
5068 iret=nf90_put_att(ncid,varid(12),
'globwave_name',
'inverse_time_scales_nonlinear_4_wave_source_term')
5069 iret=nf90_put_att(ncid,varid(12),
'units',
'-')
5071 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(12), 1, 1, deflate)
5072 iret=nf90_put_att(ncid,varid(12),
'scale_factor',1.)
5073 iret=nf90_put_att(ncid,varid(12),
'add_offset',0.)
5074 iret=nf90_put_att(ncid,varid(12),
'valid_min',-1.)
5075 iret=nf90_put_att(ncid,varid(12),
'valid_max',1.)
5076 iret=nf90_put_att(ncid,varid(12),
'_FillValue', nf90_fill_float)
5077 iret=nf90_put_att(ncid,varid(12),
'content',
'TXY')
5078 IF (iscale.EQ.0)
THEN
5079 iret=nf90_put_att(ncid,varid(12),
'associates',
'time station frequency')
5080 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
5081 iret=nf90_put_att(ncid,varid(12),
'associates',
'time station frequencyst')
5083 iret=nf90_put_att(ncid,varid(12),
'associates',
'time station ffp')
5088 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
5089 iret=nf90_def_var(ncid,
'tdsi', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(13))
5090 iret=nf90_put_att(ncid,varid(13),
'long_name',
'wave breaking source term normalised by Ef')
5091 iret=nf90_put_att(ncid,varid(13),
'standard_name',
'inverse_time_scales_wave_breaking_source_term')
5092 iret=nf90_put_att(ncid,varid(13),
'globwave_name',
'inverse_time_scales_wave_breaking_source_term')
5093 iret=nf90_put_att(ncid,varid(13),
'units',
'm2')
5095 iret=nf90_def_var(ncid,
'tdsist', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(13))
5096 iret=nf90_put_att(ncid,varid(13),
'long_name',
'nondimensionalized using wave breaking source term normalised by Ef')
5097 iret=nf90_put_att(ncid,varid(13),
'standard_name',
'inverse_time_scales_wave_breaking_source_term')
5098 iret=nf90_put_att(ncid,varid(13),
'globwave_name',
'inverse_time_scales_wave_breaking_source_term')
5099 iret=nf90_put_att(ncid,varid(13),
'units',
'-')
5101 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(13), 1, 1, deflate)
5102 iret=nf90_put_att(ncid,varid(13),
'scale_factor',1.)
5103 iret=nf90_put_att(ncid,varid(13),
'add_offset',0.)
5104 iret=nf90_put_att(ncid,varid(13),
'valid_min',-1.)
5105 iret=nf90_put_att(ncid,varid(13),
'valid_max',1.)
5106 iret=nf90_put_att(ncid,varid(13),
'_FillValue', nf90_fill_float)
5107 iret=nf90_put_att(ncid,varid(13),
'content',
'TXY')
5108 IF (iscale.EQ.0)
THEN
5109 iret=nf90_put_att(ncid,varid(13),
'associates',
'time station frequency')
5110 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
5111 iret=nf90_put_att(ncid,varid(13),
'associates',
'time station frequencyst')
5113 iret=nf90_put_att(ncid,varid(13),
'associates',
'time station ffp')
5117 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
5118 iret=nf90_def_var(ncid,
'tbti', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(14))
5119 iret=nf90_put_att(ncid,varid(14),
'long_name',
'depth induced breaking source term normalised by Ef')
5120 iret=nf90_put_att(ncid,varid(14),
'standard_name',
'inverse_time_scales_depth_induced_breaking_source_term')
5121 iret=nf90_put_att(ncid,varid(14),
'globwave_name',
'inverse_time_scales_depth_induced_breaking_source_term')
5122 iret=nf90_put_att(ncid,varid(14),
'units',
'm2')
5124 iret=nf90_def_var(ncid,
'tbtist', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(14))
5125 iret=nf90_put_att(ncid,varid(14),
'long_name',
'nondimensionalized using depth induced breaking source term &
5127 iret=nf90_put_att(ncid,varid(14),
'standard_name',
'inverse_time_scales_depth_induced_breaking_source_term')
5128 iret=nf90_put_att(ncid,varid(14),
'globwave_name',
'inverse_time_scales_depth_induced_breaking_source_term')
5129 iret=nf90_put_att(ncid,varid(14),
'units',
'-')
5131 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(14), 1, 1, deflate)
5132 iret=nf90_put_att(ncid,varid(14),
'scale_factor',1.)
5133 iret=nf90_put_att(ncid,varid(14),
'add_offset',0.)
5134 iret=nf90_put_att(ncid,varid(14),
'valid_min',-1.)
5135 iret=nf90_put_att(ncid,varid(14),
'valid_max',1.)
5136 iret=nf90_put_att(ncid,varid(14),
'_FillValue', nf90_fill_float)
5137 iret=nf90_put_att(ncid,varid(14),
'content',
'TXY')
5138 IF (iscale.EQ.0)
THEN
5139 iret=nf90_put_att(ncid,varid(14),
'associates',
'time station frequency')
5140 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
5141 iret=nf90_put_att(ncid,varid(14),
'associates',
'time station frequencyst')
5143 iret=nf90_put_att(ncid,varid(14),
'associates',
'time station ffp')
5147 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
5148 iret=nf90_def_var(ncid,
'ticei', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(15))
5149 iret=nf90_put_att(ncid,varid(15),
'long_name',
'wave ice interactions source term normalised by Ef')
5150 iret=nf90_put_att(ncid,varid(15),
'standard_name',
'inverse_time_scales_wave_ice_interactions_source_term')
5151 iret=nf90_put_att(ncid,varid(15),
'globwave_name',
'inverse_time_scales_wave_ice_interactions_source_term')
5152 iret=nf90_put_att(ncid,varid(15),
'units',
'm2')
5154 iret=nf90_def_var(ncid,
'ticeist', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(15))
5155 iret=nf90_put_att(ncid,varid(15),
'long_name',
'nondimensionalized using wave ice interactions source term &
5157 iret=nf90_put_att(ncid,varid(15),
'standard_name',
'inverse_time_scales_wave_ice_interactions_source_term')
5158 iret=nf90_put_att(ncid,varid(15),
'globwave_name',
'inverse_time_scales_wave_ice_interactions_source_term')
5159 iret=nf90_put_att(ncid,varid(15),
'units',
'-')
5161 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(15), 1, 1, deflate)
5162 iret=nf90_put_att(ncid,varid(15),
'scale_factor',1.)
5163 iret=nf90_put_att(ncid,varid(15),
'add_offset',0.)
5164 iret=nf90_put_att(ncid,varid(15),
'valid_min',-1.)
5165 iret=nf90_put_att(ncid,varid(15),
'valid_max',1.)
5166 iret=nf90_put_att(ncid,varid(15),
'_FillValue', nf90_fill_float)
5167 iret=nf90_put_att(ncid,varid(15),
'content',
'TXY')
5168 IF (iscale.EQ.0)
THEN
5169 iret=nf90_put_att(ncid,varid(15),
'associates',
'time station frequency')
5170 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
5171 iret=nf90_put_att(ncid,varid(15),
'associates',
'time station frequencyst')
5173 iret=nf90_put_att(ncid,varid(15),
'associates',
'time station ffp')
5177 IF (iscale.EQ.0 .OR. iscale.EQ.3)
THEN
5178 iret=nf90_def_var(ncid,
'ttoti', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(16))
5179 iret=nf90_put_att(ncid,varid(16),
'long_name',
'total source term normalised by Ef')
5180 iret=nf90_put_att(ncid,varid(16),
'standard_name',
'inverse_time_scales_total_source_term')
5181 iret=nf90_put_att(ncid,varid(16),
'globwave_name',
'inverse_time_scales_total_source_term')
5182 iret=nf90_put_att(ncid,varid(16),
'units',
'm2')
5184 iret=nf90_def_var(ncid,
'ttotist', nf90_float,(/dimid(4),dimid(two),dimid(one)/), varid(16))
5185 iret=nf90_put_att(ncid,varid(16),
'long_name',
'nondimensionalized using total source term normalised by Ef')
5186 iret=nf90_put_att(ncid,varid(16),
'standard_name',
'inverse_time_scales_total_source_term')
5187 iret=nf90_put_att(ncid,varid(16),
'globwave_name',
'inverse_time_scales_total_source_term')
5188 iret=nf90_put_att(ncid,varid(16),
'units',
'-')
5190 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(16), 1, 1, deflate)
5191 iret=nf90_put_att(ncid,varid(16),
'scale_factor',1.)
5192 iret=nf90_put_att(ncid,varid(16),
'add_offset',0.)
5193 iret=nf90_put_att(ncid,varid(16),
'valid_min',-1.)
5194 iret=nf90_put_att(ncid,varid(16),
'valid_max',1.)
5195 iret=nf90_put_att(ncid,varid(16),
'_FillValue', nf90_fill_float)
5196 iret=nf90_put_att(ncid,varid(16),
'content',
'TXY')
5197 IF (iscale.EQ.0)
THEN
5198 iret=nf90_put_att(ncid,varid(16),
'associates',
'time station frequency')
5199 ELSE IF ( iscale.EQ.1 .OR. iscale.EQ.2 )
THEN
5200 iret=nf90_put_att(ncid,varid(16),
'associates',
'time station frequencyst')
5202 iret=nf90_put_att(ncid,varid(16),
'associates',
'time station ffp')
5206 iret=nf90_enddef(ncid)
5208 iret=nf90_put_var(ncid,varid(6),freq(1:
nk))
5215 ELSE IF (itype.EQ.3 .AND. otype.EQ.4)
THEN
5219 iret = nf90_def_dim(ncid,
'frequency', dimln(4), dimid(4))
5220 iret = nf90_def_dim(ncid,
'direction', dimln(5), dimid(5))
5228 iret=nf90_def_var(ncid,
'frequency', nf90_float, (/dimid(4)/), varid(6))
5229 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(6), 1, 1, deflate)
5230 iret=nf90_put_att(ncid,varid(6),
'long_name',
'frequency of center band')
5231 iret=nf90_put_att(ncid,varid(6),
'standard_name',
'sea_surface_wave_frequency')
5232 iret=nf90_put_att(ncid,varid(6),
'globwave_name',
'frequency')
5233 iret=nf90_put_att(ncid,varid(6),
'units',
's-1')
5234 iret=nf90_put_att(ncid,varid(6),
'scale_factor',1.)
5235 iret=nf90_put_att(ncid,varid(6),
'add_offset',0.)
5236 iret=nf90_put_att(ncid,varid(6),
'valid_min',0.)
5237 iret=nf90_put_att(ncid,varid(6),
'valid_max',10.)
5238 iret=nf90_put_att(ncid,varid(6),
'_FillValue',nf90_fill_float)
5239 iret=nf90_put_att(ncid,varid(6),
'axis',
'Y')
5242 iret=nf90_def_var(ncid,
'frequency1', nf90_float, (/dimid(4)/), varid(7))
5243 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(7), 1, 1, deflate)
5244 iret=nf90_put_att(ncid,varid(7),
'long_name',
'frequency of lower band')
5245 iret=nf90_put_att(ncid,varid(7),
'standard_name',
'frequency_of_lower_band')
5246 iret=nf90_put_att(ncid,varid(7),
'globwave_name',
'frequency_lower_band')
5247 iret=nf90_put_att(ncid,varid(7),
'units',
's-1')
5248 iret=nf90_put_att(ncid,varid(7),
'scale_factor',1.)
5249 iret=nf90_put_att(ncid,varid(7),
'add_offset',0.)
5250 iret=nf90_put_att(ncid,varid(7),
'valid_min',0.)
5251 iret=nf90_put_att(ncid,varid(7),
'valid_max',10.)
5252 iret=nf90_put_att(ncid,varid(7),
'_FillValue',nf90_fill_float)
5253 iret=nf90_put_att(ncid,varid(7),
'content',
'Y')
5254 iret=nf90_put_att(ncid,varid(7),
'associates',
'frequency')
5257 iret=nf90_def_var(ncid,
'frequency2', nf90_float, (/dimid(4)/), varid(8))
5258 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(8), 1, 1, deflate)
5259 iret=nf90_put_att(ncid,varid(8),
'long_name',
'frequency of upper band')
5260 iret=nf90_put_att(ncid,varid(8),
'standard_name',
'frequency_of_upper_band')
5261 iret=nf90_put_att(ncid,varid(8),
'globwave_name',
'frequency_upper_band')
5262 iret=nf90_put_att(ncid,varid(8),
'units',
's-1')
5263 iret=nf90_put_att(ncid,varid(8),
'scale_factor',1.)
5264 iret=nf90_put_att(ncid,varid(8),
'add_offset',0.)
5265 iret=nf90_put_att(ncid,varid(8),
'valid_min',0.)
5266 iret=nf90_put_att(ncid,varid(8),
'valid_max',10.)
5267 iret=nf90_put_att(ncid,varid(8),
'_FillValue',nf90_fill_float)
5268 iret=nf90_put_att(ncid,varid(8),
'content',
'Y')
5269 iret=nf90_put_att(ncid,varid(8),
'associates',
'frequency')
5273 iret=nf90_def_var(ncid,
'direction', nf90_float, (/dimid(5)/), varid(9))
5274 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(9), 1, 1, deflate)
5275 iret=nf90_put_att(ncid,varid(9),
'long_name',
'sea surface wave to direction')
5276 iret=nf90_put_att(ncid,varid(9),
'standard_name',
'sea_surface_wave_to_direction')
5277 iret=nf90_put_att(ncid,varid(9),
'globwave_name',
'direction')
5278 iret=nf90_put_att(ncid,varid(9),
'units',
'degree')
5279 iret=nf90_put_att(ncid,varid(9),
'scale_factor',1.)
5280 iret=nf90_put_att(ncid,varid(9),
'add_offset',0.)
5281 iret=nf90_put_att(ncid,varid(9),
'valid_min',0.)
5282 iret=nf90_put_att(ncid,varid(9),
'valid_max',360.)
5283 iret=nf90_put_att(ncid,varid(9),
'_FillValue',nf90_fill_float)
5284 iret=nf90_put_att(ncid,varid(9),
'axis',
'Z')
5287 iret=nf90_put_att(ncid,varid(9),
'direction_reference',
'True North')
5289 iret=nf90_put_att(ncid,varid(9),
'direction_reference',
'Rotated Pole Grid North')
5294 iret=nf90_def_var(ncid,
'dpt', nf90_float, (/ dimid(two),dimid(one) /), varid(10))
5295 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(10), 1, 1, deflate)
5296 iret=nf90_put_att(ncid,varid(10),
'long_name',
'depth')
5297 iret=nf90_put_att(ncid,varid(10),
'standard_name',
'depth')
5298 iret=nf90_put_att(ncid,varid(10),
'globwave_name',
'depth')
5299 iret=nf90_put_att(ncid,varid(10),
'units',
'm')
5300 iret=nf90_put_att(ncid,varid(10),
'scale_factor',1.)
5301 iret=nf90_put_att(ncid,varid(10),
'add_offset',0.)
5302 iret=nf90_put_att(ncid,varid(10),
'valid_min',-100.)
5303 iret=nf90_put_att(ncid,varid(10),
'valid_max',10000.)
5304 iret=nf90_put_att(ncid,varid(10),
'_FillValue',nf90_fill_float)
5305 iret=nf90_put_att(ncid,varid(10),
'content',
'TX')
5306 iret=nf90_put_att(ncid,varid(10),
'associates',
'time station')
5309 iret=nf90_def_var(ncid,
'wnd', nf90_float, (/ dimid(two),dimid(one) /), varid(11))
5310 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(11), 1, 1, deflate)
5311 iret=nf90_put_att(ncid,varid(11),
'long_name',
'wind speed at 10m')
5312 iret=nf90_put_att(ncid,varid(11),
'standard_name',
'wind_speed')
5313 iret=nf90_put_att(ncid,varid(11),
'globwave_name',
'wind_speed')
5314 iret=nf90_put_att(ncid,varid(11),
'units',
'm s-1')
5315 iret=nf90_put_att(ncid,varid(11),
'scale_factor',1.)
5316 iret=nf90_put_att(ncid,varid(11),
'add_offset',0.)
5317 iret=nf90_put_att(ncid,varid(11),
'valid_min',0.)
5318 iret=nf90_put_att(ncid,varid(11),
'valid_max',100.)
5319 iret=nf90_put_att(ncid,varid(11),
'_FillValue',nf90_fill_float)
5320 iret=nf90_put_att(ncid,varid(11),
'content',
'TX')
5321 iret=nf90_put_att(ncid,varid(11),
'associates',
'time station')
5323 iret=nf90_def_var(ncid,
'wnddir', nf90_float, (/ dimid(two),dimid(one) /), varid(12))
5324 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(12), 1, 1, deflate)
5325 iret=nf90_put_att(ncid,varid(12),
'long_name',
'wind direction')
5326 iret=nf90_put_att(ncid,varid(12),
'standard_name',
'wind_from_direction')
5327 iret=nf90_put_att(ncid,varid(12),
'standard_name',
'wind_from_direction')
5328 iret=nf90_put_att(ncid,varid(12),
'units',
'degree')
5329 iret=nf90_put_att(ncid,varid(12),
'scale_factor',1.)
5330 iret=nf90_put_att(ncid,varid(12),
'add_offset',0.)
5331 iret=nf90_put_att(ncid,varid(12),
'valid_min',0.)
5332 iret=nf90_put_att(ncid,varid(12),
'valid_max',360.)
5333 iret=nf90_put_att(ncid,varid(12),
'_FillValue',nf90_fill_float)
5334 iret=nf90_put_att(ncid,varid(12),
'content',
'TX')
5335 iret=nf90_put_att(ncid,varid(12),
'associates',
'time station')
5338 iret=nf90_put_att(ncid,varid(12),
'direction_reference',
'True North')
5340 iret=nf90_put_att(ncid,varid(12),
'direction_reference',
'Rotated Pole Grid North')
5345 iret=nf90_def_var(ncid,
'cur', nf90_float, (/ dimid(two),dimid(one) /), varid(13))
5346 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(13), 1, 1, deflate)
5347 iret=nf90_put_att(ncid,varid(13),
'long_name',
'sea water speed')
5348 iret=nf90_put_att(ncid,varid(13),
'standard_name',
'sea_water_speed')
5349 iret=nf90_put_att(ncid,varid(13),
'globwave_name',
'sea_water_speed')
5350 iret=nf90_put_att(ncid,varid(13),
'units',
'm s-1')
5351 iret=nf90_put_att(ncid,varid(13),
'scale_factor',1.)
5352 iret=nf90_put_att(ncid,varid(13),
'add_offset',0.)
5353 iret=nf90_put_att(ncid,varid(13),
'valid_min',0.)
5354 iret=nf90_put_att(ncid,varid(13),
'valid_max',100.)
5355 iret=nf90_put_att(ncid,varid(13),
'_FillValue',nf90_fill_float)
5356 iret=nf90_put_att(ncid,varid(13),
'content',
'TX')
5357 iret=nf90_put_att(ncid,varid(13),
'associates',
'time station')
5360 iret=nf90_def_var(ncid,
'curdir', nf90_float, (/ dimid(two),dimid(one) /), varid(14))
5361 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(14), 1, 1, deflate)
5362 iret=nf90_put_att(ncid,varid(14),
'long_name',
'direction from of sea water velocity')
5363 iret=nf90_put_att(ncid,varid(14),
'standard_name',
'direction_of_sea_water_velocity')
5364 iret=nf90_put_att(ncid,varid(14),
'globwave_name',
'direction_of_sea_water_velocity')
5365 iret=nf90_put_att(ncid,varid(14),
'units',
'degree')
5366 iret=nf90_put_att(ncid,varid(14),
'scale_factor',1.)
5367 iret=nf90_put_att(ncid,varid(14),
'add_offset',0.)
5368 iret=nf90_put_att(ncid,varid(14),
'valid_min',0.)
5369 iret=nf90_put_att(ncid,varid(14),
'valid_max',360.)
5370 iret=nf90_put_att(ncid,varid(14),
'_FillValue',nf90_fill_float)
5371 iret=nf90_put_att(ncid,varid(14),
'content',
'TX')
5372 iret=nf90_put_att(ncid,varid(14),
'associates',
'time station')
5375 iret=nf90_put_att(ncid,varid(14),
'direction_reference',
'True North')
5377 iret=nf90_put_att(ncid,varid(14),
'direction_reference',
'Rotated Pole Grid North')
5382 iret=nf90_def_var(ncid,
'ust', nf90_float, (/ dimid(two),dimid(one) /), varid(15))
5383 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(15), 1, 1, deflate)
5384 iret=nf90_put_att(ncid,varid(15),
'long_name',
'friction velocity')
5385 iret=nf90_put_att(ncid,varid(15),
'standard_name',
'friction_velocity')
5386 iret=nf90_put_att(ncid,varid(15),
'globwave_name',
'friction_velocity')
5387 iret=nf90_put_att(ncid,varid(15),
'units',
'm s-1')
5388 iret=nf90_put_att(ncid,varid(15),
'scale_factor',1.)
5389 iret=nf90_put_att(ncid,varid(15),
'add_offset',0.)
5390 iret=nf90_put_att(ncid,varid(15),
'valid_min',0.)
5391 iret=nf90_put_att(ncid,varid(15),
'valid_max',100.)
5392 iret=nf90_put_att(ncid,varid(15),
'_FillValue',nf90_fill_float)
5393 iret=nf90_put_att(ncid,varid(15),
'content',
'TX')
5394 iret=nf90_put_att(ncid,varid(15),
'associates',
'time station')
5397 IF (
PRESENT(flsrce) )
THEN
5398 IF ( flsrce(1) )
THEN
5399 iret=nf90_def_var(ncid,
'efth',nf90_float,(/dimid(5),dimid(4),dimid(two),dimid(one)/),varid(16))
5400 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(16), 1, 1, deflate)
5401 iret=nf90_put_att(ncid,varid(16),
'long_name',&
5402 'sea surface wave directional variance spectral density')
5403 iret=nf90_put_att(ncid,varid(16),
'standard_name',&
5404 'sea_surface_wave_directional_variance_spectral_density')
5405 iret=nf90_put_att(ncid,varid(16),
'globwave_name',
'directional_variance_spectral_density')
5406 iret=nf90_put_att(ncid,varid(16),
'units',
'm2 s rad-1')
5407 iret=nf90_put_att(ncid,varid(16),
'scale_factor',1.)
5408 iret=nf90_put_att(ncid,varid(16),
'add_offset',0.)
5409 iret=nf90_put_att(ncid,varid(16),
'valid_min',0.)
5410 iret=nf90_put_att(ncid,varid(16),
'valid_max',1.e20)
5411 iret=nf90_put_att(ncid,varid(16),
'_FillValue',nf90_fill_float)
5412 iret=nf90_put_att(ncid,varid(16),
'content',
'TXYZ')
5413 iret=nf90_put_att(ncid,varid(16),
'associates',
'time station frequency direction')
5416 iret=nf90_put_att(ncid,varid(16),
'direction_reference',
'True North')
5418 iret=nf90_put_att(ncid,varid(16),
'direction_reference',
'Rotated Pole Grid North')
5424 IF ( flsrce(2) )
THEN
5425 iret=nf90_def_var(ncid,
'sin',nf90_float,(/dimid(5),dimid(4),dimid(two),dimid(one)/),varid(17))
5426 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(17), 1, 1, deflate)
5427 iret=nf90_put_att(ncid,varid(17),
'long_name',
'wind input source term')
5428 iret=nf90_put_att(ncid,varid(17),
'standard_name',
'wind_input_source_term')
5429 iret=nf90_put_att(ncid,varid(17),
'globwave_name',
'wind_input_source_term')
5430 iret=nf90_put_att(ncid,varid(17),
'units',
'm2 rad-1')
5431 iret=nf90_put_att(ncid,varid(17),
'scale_factor',1.)
5432 iret=nf90_put_att(ncid,varid(17),
'add_offset',0.)
5433 iret=nf90_put_att(ncid,varid(17),
'valid_min',-1.)
5434 iret=nf90_put_att(ncid,varid(17),
'valid_max',1.)
5435 iret=nf90_put_att(ncid,varid(17),
'_FillValue',nf90_fill_float)
5436 iret=nf90_put_att(ncid,varid(17),
'content',
'TXYZ')
5437 iret=nf90_put_att(ncid,varid(17),
'associates',
'time station frequency direction')
5439 iret=nf90_put_att(ncid,varid(17),
'direction_reference',
'Rotated Pole Grid North')
5444 IF ( flsrce(3) )
THEN
5445 iret=nf90_def_var(ncid,
'snl',nf90_float,(/dimid(5),dimid(4),dimid(two),dimid(one)/),varid(18))
5446 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(18), 1, 1, deflate)
5447 iret=nf90_put_att(ncid,varid(18),
'long_name',
'nonlinear 4 wave source term')
5448 iret=nf90_put_att(ncid,varid(18),
'standard_name',
'nonlinear_4_wave_source_term')
5449 iret=nf90_put_att(ncid,varid(18),
'globwave_name',
'nonlinear_4_wave_source_term')
5450 iret=nf90_put_att(ncid,varid(18),
'units',
'm2 rad-1')
5451 iret=nf90_put_att(ncid,varid(18),
'scale_factor',1.)
5452 iret=nf90_put_att(ncid,varid(18),
'add_offset',0.)
5453 iret=nf90_put_att(ncid,varid(18),
'valid_min',-1.)
5454 iret=nf90_put_att(ncid,varid(18),
'valid_max',1.)
5455 iret=nf90_put_att(ncid,varid(18),
'_FillValue',nf90_fill_float)
5456 iret=nf90_put_att(ncid,varid(18),
'content',
'TXYZ')
5457 iret=nf90_put_att(ncid,varid(18),
'associates',
'time station frequency direction')
5459 iret=nf90_put_att(ncid,varid(18),
'direction_reference',
'Rotated Pole Grid North')
5464 IF ( flsrce(4) )
THEN
5465 iret=nf90_def_var(ncid,
'sds',nf90_float,(/dimid(5),dimid(4),dimid(two),dimid(one)/),varid(19))
5466 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(19), 1, 1, deflate)
5467 iret=nf90_put_att(ncid,varid(19),
'long_name',
'wave breaking source term')
5468 iret=nf90_put_att(ncid,varid(19),
'standard_name',
'wave_breaking_source_term')
5469 iret=nf90_put_att(ncid,varid(19),
'globwave_name',
'wave_breaking_source_term')
5470 iret=nf90_put_att(ncid,varid(19),
'units',
'm2 rad-1')
5471 iret=nf90_put_att(ncid,varid(19),
'scale_factor',1.)
5472 iret=nf90_put_att(ncid,varid(19),
'add_offset',0.)
5473 iret=nf90_put_att(ncid,varid(19),
'valid_min',-1.)
5474 iret=nf90_put_att(ncid,varid(19),
'valid_max',1.)
5475 iret=nf90_put_att(ncid,varid(19),
'_FillValue',nf90_fill_float)
5476 iret=nf90_put_att(ncid,varid(19),
'content',
'TXYZ')
5477 iret=nf90_put_att(ncid,varid(19),
'associates',
'time station frequency direction')
5479 iret=nf90_put_att(ncid,varid(19),
'direction_reference',
'Rotated Pole Grid North')
5484 IF ( flsrce(5) )
THEN
5485 iret=nf90_def_var(ncid,
'sbt',nf90_float,(/dimid(5),dimid(4),dimid(two),dimid(one)/),varid(20))
5486 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(20), 1, 1, deflate)
5487 iret=nf90_put_att(ncid,varid(20),
'long_name',
'depth induced breaking source term')
5488 iret=nf90_put_att(ncid,varid(20),
'standard_name',
'depth_induced_breaking_source_term')
5489 iret=nf90_put_att(ncid,varid(20),
'globwave_name',
'depth_induced_breaking_source_term')
5490 iret=nf90_put_att(ncid,varid(20),
'units',
'm2 rad-1')
5491 iret=nf90_put_att(ncid,varid(20),
'scale_factor',1.)
5492 iret=nf90_put_att(ncid,varid(20),
'add_offset',0.)
5493 iret=nf90_put_att(ncid,varid(20),
'valid_min',-1.)
5494 iret=nf90_put_att(ncid,varid(20),
'valid_max',1.)
5495 iret=nf90_put_att(ncid,varid(20),
'_FillValue',nf90_fill_float)
5496 iret=nf90_put_att(ncid,varid(20),
'content',
'TXYZ')
5497 iret=nf90_put_att(ncid,varid(20),
'associates',
'time station frequency direction')
5499 iret=nf90_put_att(ncid,varid(20),
'direction_reference',
'Rotated Pole Grid North')
5504 IF ( flsrce(6) )
THEN
5505 iret=nf90_def_var(ncid,
'sice',nf90_float,(/dimid(5),dimid(4),dimid(two),dimid(one)/),varid(21))
5506 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(21), 1, 1, deflate)
5507 iret=nf90_put_att(ncid,varid(21),
'long_name',
'wave-ice interactions source term')
5508 iret=nf90_put_att(ncid,varid(21),
'standard_name',
'wave_ice_intercations_source_term')
5509 iret=nf90_put_att(ncid,varid(21),
'globwave_name',
'wave_ice_intercations_source_term')
5510 iret=nf90_put_att(ncid,varid(21),
'units',
'm2 rad-1')
5511 iret=nf90_put_att(ncid,varid(21),
'scale_factor',1.)
5512 iret=nf90_put_att(ncid,varid(21),
'add_offset',0.)
5513 iret=nf90_put_att(ncid,varid(21),
'valid_min',-1.)
5514 iret=nf90_put_att(ncid,varid(21),
'valid_max',1.)
5515 iret=nf90_put_att(ncid,varid(21),
'_FillValue',nf90_fill_float)
5516 iret=nf90_put_att(ncid,varid(21),
'content',
'TXYZ')
5517 iret=nf90_put_att(ncid,varid(21),
'associates',
'time station frequency direction')
5519 iret=nf90_put_att(ncid,varid(21),
'direction_reference',
'Rotated Pole Grid North')
5524 IF ( flsrce(7) )
THEN
5525 iret=nf90_def_var(ncid,
'stt',nf90_float,(/dimid(5),dimid(4),dimid(two),dimid(one)/),varid(22))
5526 IF (nctype.EQ.4) iret=nf90_def_var_deflate(ncid, varid(22), 1, 1, deflate)
5527 iret=nf90_put_att(ncid,varid(22),
'long_name',
'total source term')
5528 iret=nf90_put_att(ncid,varid(22),
'standard_name',
'total_source_term')
5529 iret=nf90_put_att(ncid,varid(22),
'globwave_name',
'total_source_term')
5530 iret=nf90_put_att(ncid,varid(22),
'units',
'm2 rad-1')
5531 iret=nf90_put_att(ncid,varid(22),
'scale_factor',1.)
5532 iret=nf90_put_att(ncid,varid(22),
'add_offset',0.)
5533 iret=nf90_put_att(ncid,varid(22),
'valid_min',-1.)
5534 iret=nf90_put_att(ncid,varid(22),
'valid_max',1.)
5535 iret=nf90_put_att(ncid,varid(22),
'_FillValue',nf90_fill_float)
5536 iret=nf90_put_att(ncid,varid(22),
'content',
'TXYZ')
5537 iret=nf90_put_att(ncid,varid(22),
'associates',
'time station frequency direction')
5539 iret=nf90_put_att(ncid,varid(22),
'direction_reference',
'Rotated Pole Grid North')
5545 iret=nf90_enddef(ncid)
5547 iret=nf90_put_var(ncid,varid(6),freq(1:
nk))
5549 iret=nf90_put_var(ncid,varid(7),freq1(1:
nk))
5551 iret=nf90_put_var(ncid,varid(8),freq2(1:
nk))
5553 iret=nf90_put_var(ncid,varid(9),dir(1:
nth))
5579 IF (iret .NE. nf90_noerr)
THEN
5580 WRITE(
ndse,*)
' *** WAVEWATCH III ERROR IN OUNP :'
5581 WRITE(
ndse,*)
' NETCDF ERROR MESSAGE: '
5582 WRITE(
ndse,*) nf90_strerror(iret)
5583 WRITE(
ndse,*)
' ICODE: '