90 CHARACTER(LEN=10),
PARAMETER,
PRIVATE :: VERGRD =
'2021-08-06'
91 CHARACTER(LEN=35),
PARAMETER,
PRIVATE :: &
92 IDSTR =
'WAVEWATCH III MODEL DEFINITION FILE'
115 SUBROUTINE w3iogr ( INXOUT, NDSM, IMOD, FEXT &
321 INTEGER,
INTENT(IN) :: NDSM
322 INTEGER,
INTENT(IN),
OPTIONAL :: IMOD
323 CHARACTER,
INTENT(IN) :: INXOUT*(*)
324 CHARACTER,
INTENT(IN),
OPTIONAL :: FEXT*(*)
326 INTEGER,
INTENT(IN),
OPTIONAL :: NDSA
332 INTEGER :: IGRD, IERR, I, J, MTH, MK, ISEA, IX, IY
333 INTEGER :: IEXT, IPRE
335 INTEGER :: IK, ITH, IK2, ITH2
337 INTEGER,
ALLOCATABLE :: MAPTMP(:,:)
339 INTEGER :: IERR_MPI, IP
342 INTEGER,
SAVE :: IENT = 0
347 LOGICAL :: WRITE, FLTEST = .false., testll, &
349 LOGICAL,
SAVE :: FLINP = .false. , fldisp = .false., &
351 CHARACTER(LEN=10) :: VERTST
352 CHARACTER(LEN=13) :: TEMPXT
353 CHARACTER(LEN=30) :: TNAME0, TNAME1, TNAME2, TNAME3, &
354 TNAME4, TNAME5, TNAME6, &
355 TNAMEP, TNAMEG, TNAMEF, TNAMEI
356 CHARACTER(LEN=30) :: FNAME0, FNAME1, FNAME2, FNAME3, &
357 FNAME4, FNAME5, FNAME6, &
358 FNAMEP, FNAMEG, FNAMEF, FNAMEI
359 CHARACTER(LEN=35) :: IDTST
360 CHARACTER(LEN=60) :: MESSAGE(5)
363 REAL,
ALLOCATABLE :: XGRD4(:,:), YGRD4(:,:)
371 CALL strace (ient,
'W3IOGR')
374 call print_memcheck(memunit,
'memcheck_____:'//
' WIOGR SECTION 1')
376 message =(/
' MOD DEF FILE WAS GENERATED WITH A DIFFERENT ', &
377 ' WW3 VERSION OR USING A DIFFERENT SWITCH FILE. ', &
378 ' MAKE SURE WW3_GRID IS COMPILED WITH SAME SWITCH', &
379 ' AS WW3_SHEL OR WW3_MULTI, RUN WW3_GRID AGAIN ', &
380 ' AND THEN TRY AGAIN THE PROGRAM YOU JUST USED. '/)
382 tnamef =
'------------------------------'
383 tname0 =
'------------------------------'
384 tname1 =
'------------------------------'
385 tname2 =
'------------------------------'
386 tname3 =
'------------------------------'
387 tname4 =
'------------------------------'
388 tname5 =
'------------------------------'
389 tname6 =
'------------------------------'
390 tnamep =
'------------------------------'
391 tnameg =
'------------------------------'
392 tnamei =
'------------------------------'
395 tnamef =
'Wu (1980) '
398 tnamef =
'Tolman and Chalikov (1996) '
401 tnamef =
'T and C(1996) with cap on Cd '
404 tnamef =
'Hwang (2011) with cap on Cd '
407 tnamef =
'Direct use of stress '
410 tname0 =
'Not defined '
413 tname0 =
'Cavaleri and M.-R. (1982) '
416 tname1 =
'Not defined '
419 tname1 =
'WAM cycles 1 through 3 '
422 tname1 =
'Tolman and Chalikov (1996) '
425 tname1 =
'WAM cycle 4+ '
428 tname1 =
'Ardhuin et al. (2009+) '
431 tname1 =
'BYDB input and dissipation '
434 tname2 =
'Not defined '
437 tname2 =
'Discrete Interaction Approx. '
440 tname2 =
'Exact nonlinear interactions '
443 tname2 =
'Generalized Multiple DIA '
446 tname2 =
'Two Scaled Approximation '
449 tname2 =
'Generalized Kinetic Equation '
452 tname3 =
'Not defined '
461 tname3 =
'Muddy Bed (D & L) '
464 tnamei =
'Ice sink term (uniform k_i) '
467 tnamei =
'Ice sink term (Lui et al) '
470 tnamei =
'Ice sink term (Wang and Shen) '
473 tnamei =
'Ice sink term (empirical) '
476 tnamei =
'Ice sink term (eff. medium) '
479 tname4 =
'Not defined '
482 tname4 =
'Battjes and Janssen (1978) '
485 tname5 =
'Not defined '
488 tname6 =
'Not defined '
491 tnamep =
'No propagation '
494 tnamep =
'First order upstream '
497 tnamep =
'3rd order UQ scheme '
500 tnamep =
'2nd order UNO scheme '
503 tnameg =
'No GSE aleviation '
506 tnameg =
'No GSE aleviation (1up prop) '
509 tnameg =
'Diffusion operator '
512 tnameg =
'Averaging operator '
536 IF (
PRESENT(imod) )
THEN
542 IF (
PRESENT(fext) )
THEN
548 IF (inxout.NE.
'READ' .AND. inxout.NE.
'WRITE' &
549 .AND. inxout.NE.
'GRID')
THEN
554 WRITE = inxout .EQ.
'WRITE'
557 WRITE (
ndst,9000) inxout,
WRITE, ndsm, igrd, tempxt
563 call print_memcheck(memunit,
'memcheck_____:'//
' WIOGR SECTION 2')
573 form=
'UNFORMATTED', convert=
file_endian,err=800,iostat=ierr)
576 form=
'FORMATTED',err=800,iostat=ierr)
580 form=
'UNFORMATTED', convert=
file_endian,status=
'OLD',err=800,iostat=ierr)
591 fname4, fname5, fname6, fnamep, fnameg, &
595 'IDSTR, VERGRD, NX, NY, NSEA, NTH, NK, &
596 NBI, NFBPO, GNAME, FNAME0, FNAME1, FNAME2, FNAME3, &
597 FNAME4, FNAME5, FNAME6, FNAMEP, FNAMEG, &
601 fname4, fname5, fname6, fnamep, fnameg, &
608 WRITE (ndsa,*)
'NCel, NUFc, NVFc, NRLv, MRFct:', &
613 WRITE (ndsa,*)
'NGLO, NARC, NBGL, NBAC, NBSMC:', &
622 '(NBO(I),I=0,NFBPO), (NBO2(I),I=0,NFBPO):', &
628 fname4, fname5, fname6, fnamep, fnameg, &
634 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
635 idtst, vertst, nx, ny, nsea, mth, mk, &
636 nbi, nfbpo, gname, fname0, fname1, fname2, fname3, &
637 fname4, fname5, fname6, fnamep, fnameg, &
641 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
642 ncel, nufc, nvfc, nrlv, mrfct
643 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
644 nglo, narc, nbgl, nbac, nbsmc
652 WRITE (ndst,9001) idstr, vergrd, nx, ny, nsea, nth, nk, &
653 nbi, nfbpo, 9, gname, fname0, fname1, fname2, fname3, &
654 fname4, fname5, fname6, fnamep, fnameg, &
658 IF ( idtst .NE. idstr )
THEN
659 IF ( iaproc .EQ. naperr ) &
660 WRITE (ndse,901) idtst, idstr
663 IF ( vertst .NE. vergrd )
THEN
664 IF ( iaproc .EQ. naperr ) &
665 WRITE (ndse,902) vertst, vergrd
668 IF ( nfbpo .GT. 9 )
THEN
669 IF ( iaproc .EQ. naperr ) &
670 WRITE (ndse,904) nfbpo, 9
673 IF ( fname0 .NE. tname0 )
THEN
674 IF ( iaproc .EQ. naperr ) &
675 WRITE (ndse,905) 0, filext(:iext), fname0, tname0, &
679 IF ( fname1 .NE. tname1 )
THEN
680 IF ( iaproc .EQ. naperr ) &
681 WRITE (ndse,905) 1, filext(:iext), fname1, tname1, &
685 IF ( fname2 .NE. tname2 )
THEN
686 IF ( iaproc .EQ. naperr ) &
687 WRITE (ndse,905) 2, filext(:iext), fname2, tname2, &
691 IF ( fname3 .NE. tname3 )
THEN
692 IF ( iaproc .EQ. naperr ) &
693 WRITE (ndse,905) 3, filext(:iext), fname3, tname3, &
697 IF ( fnamei .NE. tnamei )
THEN
698 IF ( iaproc .EQ. naperr ) &
699 WRITE (ndse,905) 3, filext(:iext), fnamei, tnamei, &
703 IF ( fname4 .NE. tname4 )
THEN
704 IF ( iaproc .EQ. naperr ) &
705 WRITE (ndse,905) 4, filext(:iext), fname4, tname4, &
709 IF ( fname5 .NE. tname5 )
THEN
710 IF ( iaproc .EQ. naperr ) &
711 WRITE (ndse,905) 5, filext(:iext), fname5, tname5, &
715 IF ( fname6 .NE. tname6 )
THEN
716 IF ( iaproc .EQ. naperr ) &
717 WRITE (ndse,905) 6, filext(:iext), fname6, tname6, &
721 IF ( fnamep .NE. tnamep )
THEN
722 IF ( iaproc .EQ. naperr ) &
723 WRITE (ndse,906) fnamep, tnamep
726 IF ( fnameg .NE. tnameg )
THEN
727 IF ( iaproc .EQ. naperr ) &
728 WRITE (ndse,907) fnameg, tnameg, message
731 IF ( fnamef .NE. tnamef )
THEN
732 IF ( iaproc .EQ. naperr ) &
733 WRITE (ndse,908) filext(:iext), fnamef, tnamef, message
737 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
738 (nbo(i),i=0,nfbpo), (nbo2(i),i=0,nfbpo)
740 WRITE (ndst,9002) (nbo(i),i=0,nfbpo)
741 WRITE (ndst,9003) (nbo2(i),i=0,nfbpo)
745 call print_memcheck(memunit,
'memcheck_____:'//
' WIOGR SECTION 3')
750 ALLOCATE ( maptmp(ny,nx) )
753 maptmp = mapsta + 8*mapst2
755 gtype, flagll, iclose
758 'GTYPE, FLAGLL, ICLOSE:', &
759 gtype, flagll, iclose
764 SELECT CASE ( gtype )
766 CASE ( rlgtype, smctype )
776 REAL(XGRD),
REAL(YGRD)
779 'REAL(XGRD), REAL(YGRD):', &
780 REAL(XGRD),
REAL(YGRD)
784 fsn, fspsi,fsfct,fsnimp,fstotalimp,fstotalexp, &
785 fsbccfl, fsrefraction, fsfreqshift, fssource, &
786 do_change_wlv, solverthr_stp, crit_dep_stp, &
787 ntri,countot, countri, nnz, &
788 b_jgs_terminate_maxiter, &
789 b_jgs_terminate_difference, &
790 b_jgs_terminate_norm, &
792 b_jgs_block_gauss_seidel, &
799 b_jgs_source_nonlinear
802 'FSN, FSPSI,FSFCT,FSNIMP,FSTOTALIMP,FSTOTALEXP, &
803 FSBCCFL, FSREFRACTION, FSFREQSHIFT, FSSOURCE, &
804 DO_CHANGE_WLV, SOLVERTHR_STP, CRIT_DEP_STP, &
805 NTRI,COUNTOT, COUNTRI, NNZ, &
806 B_JGS_TERMINATE_MAXITER, &
807 B_JGS_TERMINATE_DIFFERENCE, &
808 B_JGS_TERMINATE_NORM, &
810 B_JGS_BLOCK_GAUSS_SEIDEL, &
817 B_JGS_SOURCE_NONLINEAR:', &
818 fsn, fspsi,fsfct,fsnimp,fstotalimp,fstotalexp, &
819 fsbccfl, fsrefraction, fsfreqshift, fssource, &
820 do_change_wlv, solverthr_stp, crit_dep_stp, &
821 ntri,countot, countri, nnz, &
822 b_jgs_terminate_maxiter, &
823 b_jgs_terminate_difference, &
824 b_jgs_terminate_norm, &
826 b_jgs_block_gauss_seidel, &
833 b_jgs_source_nonlinear
840 x0, y0, sx, sy, dxymax, xgrd, ygrd, trigp, tria, &
841 len, ien, angle0, angle, si, maxx, maxy, &
842 dxymax, index_cell, ccon, countcon, ie_cell, &
843 pos_cell, iobp, iobpa, iobdp, iobpd, iaa, jaa, posi
846 'X0, Y0, SX, SY, DXYMAX, XGRD, YGRD, TRIGP, TRIA, &
847 LEN, IEN, ANGLE0, ANGLE, SI, MAXX, MAXY, &
848 DXYMAX, INDEX_CELL, CCON, COUNTCON, IE_CELL, &
849 POS_CELL, IOBP, IOBPA, IOBDP, IOBPD, IAA, JAA, POSI:', &
850 x0, y0, sx, sy, dxymax, xgrd, ygrd, trigp, tria, &
851 len, ien, angle0, angle, si, maxx, maxy, &
852 dxymax, index_cell, ccon, countcon, ie_cell, &
853 pos_cell, iobp, iobpa, iobdp, iobpd, iaa, jaa, posi
858 zb, maptmp, mapfs, mapsf, trflag
861 'ZB, MAPTMP, MAPFS, MAPSF, TRFLAG:', &
862 zb, maptmp, mapfs, mapsf, trflag
866 IF( gtype .EQ. smctype )
THEN
867 WRITE (ndsm) nlvcel, nlvufc, nlvvfc
868 WRITE (ndsm) ijkcel, ijkufc, ijkvfc, ismcbp
871 WRITE (ndsm) ctrnx, ctrny, clatf
873 WRITE (ndsa,*)
'NLvCel, NLvUFc, NLvVFc:', &
874 nlvcel, nlvufc, nlvvfc
875 WRITE (ndsa,*)
'IJKCel, IJKUFc, IJKVFc, ISMCBP:', &
876 ijkcel, ijkufc, ijkvfc, ismcbp
877 WRITE (ndsa,*)
'ICLBAC:', &
879 WRITE (ndsa,*)
'ANGARC:', &
881 WRITE (ndsa,*)
'CTRNX, CTRNY, CLATF:', &
885 WRITE (ndse,
"(' NRLv, MRFct and NBSMC values are',3I9)") nrlv, mrfct, nbsmc
886 WRITE (ndse,
"(' IJKCel, IJKUFc, IJKVFc Write for',3I9)") ncel, nufc, nvfc
887 WRITE (ndse,
"(' CTRNXY transparency write for 2x', I9)") ncel
892 IF ( trflag .NE. 0 )
WRITE (ndsm) trnx, trny
894 IF ( trflag .NE. 0 )
WRITE (ndsa,*)
'TRNX, TRNY:', trnx, trny
897 dtcfl, dtcfli, dtmax, dtmin, dmin, ctmax, &
898 fice0, ficen, ficel, pfmove, fldry, flcx, flcy, flcth, &
899 flck, flsou, flbpi, flbpo, clats, clatis, cthg0s, &
900 stexu, steyu, stedu, iicehmin, iicehinit, iicedisp, &
901 icescales(1:4), caltype, cmprtrck, iicehfac, iicehdisp,&
902 iiceddisp, iicefdisp, btbeta, &
906 'DTCFL, DTCFLI, DTMAX, DTMIN, DMIN, CTMAX, &
907 FICE0, FICEN, FICEL, PFMOVE, FLDRY, FLCX, FLCY, FLCTH, &
908 FLCK, FLSOU, FLBPI, FLBPO, CLATS, CLATIS, CTHG0S, &
909 STEXU, STEYU, STEDU, IICEHMIN, IICEHINIT, IICEDISP, &
910 ICESCALES(1:4), CALTYPE, CMPRTRCK, IICEHFAC, IICEHDISP,&
911 IICEDDISP, IICEFDISP, BTBETA, &
912 AAIRCMIN, AAIRGB:', &
913 dtcfl, dtcfli, dtmax, dtmin, dmin, ctmax, &
914 fice0, ficen, ficel, pfmove, fldry, flcx, flcy, flcth, &
915 flck, flsou, flbpi, flbpo, clats, clatis, cthg0s, &
916 stexu, steyu, stedu, iicehmin, iicehinit, iicedisp, &
917 icescales(1:4), caltype, cmprtrck, iicehfac, iicehdisp,&
918 iiceddisp, iicefdisp, btbeta, &
924 WRITE(ndsa,*)
'GRIDSHIFT:', &
928 WRITE (ndsm) nitersec1
930 WRITE (ndsa,*)
'NITERSEC1:', &
936 WRITE (ndsm) polat, polon, angld, flagunr
938 WRITE (ndsa,*)
'PoLat, PoLon, AnglD, FLAGUNR:', &
939 polat, polon, angld, flagunr
946 call print_memcheck(memunit,
'memcheck_____:'//
' WIOGR SECTION 4')
948 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
949 gtype, flagll, iclose
951 IF (.NOT.ginit)
CALL w3dimx ( igrd, nx, ny, nsea, ndse, ndst &
953 , ncel, nufc, nvfc, nrlv, nbsmc &
954 , narc, nbac, nspec &
960 SELECT CASE ( gtype )
962 CASE ( rlgtype, smctype )
963 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
966 xgrd(:,ix) = real(x0 + real(ix-1)*sx)
969 ygrd(iy,:) = real(y0 + real(iy-1)*sy)
972 ALLOCATE(xgrd4(ny,nx),ygrd4(ny,nx)); xgrd4 = 0.; ygrd4 = 0.
973 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
977 DEALLOCATE(xgrd4, ygrd4)
979 x0 = huge(x0); y0 = huge(y0)
980 sx = huge(sx); sy = huge(sy)
982 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
983 fsn, fspsi,fsfct,fsnimp,fstotalimp,fstotalexp, &
984 fsbccfl, fsrefraction, fsfreqshift, fssource, &
985 do_change_wlv, solverthr_stp, crit_dep_stp, &
986 ntri,countot, countri, nnz, &
987 b_jgs_terminate_maxiter, &
988 b_jgs_terminate_difference, &
989 b_jgs_terminate_norm, &
991 b_jgs_block_gauss_seidel, &
998 b_jgs_source_nonlinear
999 IF (.NOT. guginit)
THEN
1000 CALL w3dimug ( igrd, ntri, nx, countot, nnz, ndse, ndst )
1002 call print_memcheck(memunit,
'memcheck_____:'//
' WIOGR SECTION 5')
1004 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1005 x0, y0, sx, sy, dxymax, xgrd, ygrd, trigp, tria, &
1006 len, ien, angle0, angle, si, maxx, maxy, &
1007 dxymax, index_cell, ccon, countcon, ie_cell, &
1008 pos_cell, iobp, iobpa, iobdp, iobpd, iaa, jaa, posi
1009 call print_memcheck(memunit,
'memcheck_____:'//
' WIOGR SECTION 6')
1013 IF (gtype.NE.ungtype)
CALL w3gntx ( igrd, ndse, ndst )
1014 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1015 zb, maptmp, mapfs, mapsf, trflag
1018 IF( gtype .EQ. smctype )
THEN
1019 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1020 nlvcel, nlvufc, nlvvfc
1021 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1022 ijkcel, ijkufc, ijkvfc, ismcbp
1023 DO j=lbound(ijkcel,2), ubound(ijkcel,2)
1024 ijkcel3(j) = ijkcel(3,j)
1025 ijkcel4(j) = ijkcel(4,j)
1027 DO j=lbound(ijkvfc,2), ubound(ijkvfc,2)
1028 ijkvfc5(j) = ijkvfc(5,j)
1029 ijkvfc6(j) = ijkvfc(6,j)
1031 DO j=lbound(ijkufc,2), ubound(ijkufc,2)
1032 ijkufc5(j) = ijkufc(5,j)
1033 ijkufc6(j) = ijkufc(6,j)
1035 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1037 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1039 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1044 mapsta = mod(maptmp+2,8) - 2
1045 mapst2 = (maptmp-mapsta) / 8
1046 mapsf(:,3) = mapsf(:,2) + (mapsf(:,1)-1)*ny
1047 IF ( trflag .NE. 0 )
THEN
1048 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) TRNX, trny
1057 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1058 dtcfl, dtcfli, dtmax, dtmin, dmin, ctmax, &
1059 fice0, ficen, ficel, pfmove, fldry, flcx, flcy, &
1060 flcth, flck, flsou, flbpi, flbpo, clats, clatis, &
1061 cthg0s, stexu, steyu, stedu, iicehmin, iicehinit, &
1062 iicedisp, icescales(1:4), caltype, cmprtrck, iicehfac, &
1063 iiceddisp, iicehdisp, iicefdisp, btbeta, &
1066 READ(ndsm,
END=801,ERR=802,IOSTAT=IERR)gridshift
1068 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) nitersec1
1073 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) PoLat, PoLon, AnglD, flagunr
1078 call print_memcheck(memunit,
'memcheck_____:'//
' WIOGR SECTION 7')
1081 WRITE (ndst,9010) gtype, flagll, iclose, sx, sy, x0, y0, trflag
1082 WRITE (ndst,9011)
'MAPSTA'
1083 DO iy=min(ny,20), 1, -1
1084 WRITE (ndst,9012) (mapsta(iy,ix),ix=1,min(nx,30))
1086 WRITE (ndst,9011)
'MAPST2'
1087 DO iy=min(ny,20), 1, -1
1088 WRITE (ndst,9012) (mapst2(iy,ix),ix=1,min(nx,30))
1090 WRITE (ndst,9011)
'MAPFS'
1091 DO iy=min(ny,20), 1, -1
1092 WRITE (ndst,9013) (mapfs(iy,ix),ix=1,min(nx,12))
1094 IF ( trflag .NE. 0 )
THEN
1095 WRITE (ndst,9011)
'TRNX'
1096 DO iy=min(ny,20), 1, -1
1097 WRITE (ndst,9014) (trnx(iy,ix),ix=1,min(nx,12))
1099 WRITE (ndst,9011)
'TRNY'
1100 DO iy=min(ny,20), 1, -1
1101 WRITE (ndst,9014) (trny(iy,ix),ix=1,min(nx,12))
1106 DEALLOCATE ( maptmp )
1109 WRITE (ndst,9015) dtcfl, dtcfli, dtmax, dtmin, &
1110 dmin, ctmax, fice0, ficen, ficel, pfmove, &
1112 WRITE (ndst,9016) fldry, flcx, flcy, flcth, flck, &
1114 WRITE (ndst,9017) (clats(isea),isea=1,1), &
1115 (clatis(isea),isea=1,1), (cthg0s(iy),isea=1,1)
1123 mapwn, mapth, dth, th, esin, ecos, es2, esc, ec2, &
1124 xfr, fr1, sig, sig2, dsip, dsii, dden, dden2, fte, &
1125 ftf, ftwn, fttr, ftwl, facti1, facti2, fachfa, fachfe
1128 'MAPWN, MAPTH, DTH, TH, ESIN, ECOS, ES2, ESC, EC2, &
1129 XFR, FR1, SIG, SIG2, DSIP, DSII, DDEN, DDEN2, FTE, &
1130 FTF, FTWN, FTTR, FTWL, FACTI1, FACTI2, FACHFA, FACHFE:', &
1131 mapwn, mapth, dth, th, esin, ecos, es2, esc, ec2, &
1132 xfr, fr1, sig, sig2, dsip, dsii, dden, dden2, fte, &
1133 ftf, ftwn, fttr, ftwl, facti1, facti2, fachfa, fachfe
1136 IF (.NOT.sinit)
CALL w3dims ( igrd, nk, nth, ndse, ndst )
1137 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1138 mapwn, mapth, dth, th, esin, ecos, es2, esc, ec2, &
1139 xfr, fr1, sig, sig2, dsip, dsii, dden, dden2, fte, &
1140 ftf, ftwn, fttr, ftwl, facti1, facti2, fachfa, fachfe
1145 WRITE (ndst,9030) (mapwn(i),i=1,8), (mapth(i),i=1,8), dth*rade, &
1146 (th(i)*rade,i=1,4), (esin(i),i=1,4), (ecos(i),i=1,4), &
1147 xfr, sig(1)*tpiinv, sig(nk)*tpiinv, fte, ftf, ftwn, fttr, &
1148 ftwl, facti1, facti2, fachfa, fachfe
1156 e3df, p2msf, us3df,usspf, ussp_wn
1159 'E3DF, P2MSF, US3DF,USSPF, USSP_WN:', &
1160 e3df, p2msf, us3df,usspf, ussp_wn
1163 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1164 e3df, p2msf, us3df,usspf, ussp_wn
1167 IF ( inxout .EQ.
'GRID' )
THEN
1177 xbpo, ybpo, rdbpo, ipbpo, isbpo
1180 'XBPO, YBPO, RDBPO, IPBPO, ISBPO:', &
1181 xbpo, ybpo, rdbpo, ipbpo, isbpo
1184 CALL w3dmo5 ( igrd, ndse, ndst, 2 )
1185 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1186 xbpo, ybpo, rdbpo, ipbpo, isbpo
1193 DO j=nbo(i-1)+1,nbo(i)
1194 WRITE (ndst,9022) j-nbo(i-1), (ipbpo(j,k),k=1,4), &
1197 WRITE (ndst,9023) (isbpo(j),j=nbo2(i-1)+1,nbo2(i))
1206 ihmax, hspmin, wsmult, wscut, flcomb, noswll, &
1210 'IHMAX, HSPMIN, WSMULT, WSCUT, FLCOMB, NOSWLL, &
1212 ihmax, hspmin, wsmult, wscut, flcomb, noswll, &
1216 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1217 ihmax, hspmin, wsmult, wscut, flcomb, noswll, &
1222 WRITE (ndst,9025) ihmax, hspmin, wsmult, wscut, flcomb, noswll
1230 facp, xrel, xflt, fxfm, fxpm, xft, xfc, facsd, fhmax, &
1231 ffacberg, delab, fwtable
1234 'FACP, XREL, XFLT, FXFM, FXPM, XFT, XFC, FACSD, FHMAX, &
1235 FFACBERG, DELAB, FWTABLE:', &
1236 facp, xrel, xflt, fxfm, fxpm, xft, xfc, facsd, fhmax, &
1237 ffacberg, delab, fwtable
1259 rref, refpars, reflc, refld
1262 'RREF, REFPARS, REFLC, REFLD:', &
1263 rref, refpars, reflc, refld
1295 ic4pars,ic4_ki,ic4_fc,ic4_cn,ic4_fmin,ic4_kibk
1298 'IC4PARS,IC4_KI,IC4_FC,IC4_CN,IC4_FMIN,IC4_KIBK:', &
1299 ic4pars,ic4_ki,ic4_fc,ic4_cn,ic4_fmin,ic4_kibk
1312 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1313 facp, xrel, xflt, fxfm, fxpm, xft, xfc, facsd, fhmax, &
1314 ffacberg, delab, fwtable
1316 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1320 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1324 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1325 rref, refpars, reflc, refld
1328 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1332 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1336 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1340 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1341 ic4pars,ic4_ki,ic4_fc,ic4_cn,ic4_fmin,ic4_kibk
1344 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1350 WRITE (ndst,9040) facp, xrel, xflt, fxfm, fxpm, xft, xfc, &
1363 WRITE (ndsm) nittin, cinxsi
1365 WRITE (ndsa,*)
' NITTIN, CINXSI:', &
1369 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) NITTIN, cinxsi
1371 IF ( fltest )
WRITE (ndst,9048) nittin, cinxsi
1377 nittin, cinxsi, cd_max, cap_id
1380 'NITTIN, CINXSI, CD_MAX, CAP_ID:', &
1381 nittin, cinxsi, cd_max, cap_id
1384 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1385 nittin, cinxsi, cd_max, cap_id
1387 IF ( fltest )
WRITE (ndst,9048) nittin, cap_id, cinxsi, cd_max
1394 WRITE (ndsa,*)
' FLX4A0:', &
1398 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) flx4a0
1405 WRITE (ndsm) slnc1, fspm, fshf
1407 WRITE (ndsa,*)
' SLNC1, FSPM, FSHF:', &
1411 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) SLNC1, FSPM, fshf
1413 IF ( fltest )
WRITE (ndst,9049) slnc1, fspm, fshf
1418 WRITE (ndsm) sinc1, sdsc1
1420 WRITE (ndsa,*)
' SINC1, SDSC1:', &
1424 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) SINC1, sdsc1
1426 IF ( fltest )
WRITE (ndst,9050) sinc1, sdsc1
1433 shstab, ofstab, ccng, ccps, ffng, ffps, &
1434 cdsa0, cdsa1, cdsa2, sdsaln, &
1435 cdsb0, cdsb1, cdsb2, cdsb3, fpimin, xfh, xf1, xf2
1439 SHSTAB, OFSTAB, CCNG, CCPS, FFNG, FFPS, &
1440 CDSA0, CDSA1, CDSA2, SDSALN, &
1441 CDSB0, CDSB1, CDSB2, CDSB3, FPIMIN, XFH, XF1, XF2:',&
1443 shstab, ofstab, ccng, ccps, ffng, ffps, &
1444 cdsa0, cdsa1, cdsa2, sdsaln, &
1445 cdsb0, cdsb1, cdsb2, cdsb3, fpimin, xfh, xf1, xf2
1448 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1450 shstab, ofstab, ccng, ccps, ffng, ffps, &
1451 cdsa0, cdsa1, cdsa2, sdsaln, &
1452 cdsb0, cdsb1, cdsb2, cdsb3, fpimin, xfh, xf1, xf2
1453 IF ( .NOT. flinp )
CALL inptab
1456 IF ( fltest )
WRITE (ndst,9050) &
1457 zwind, fswell, cdsa0, cdsa1, cdsa2, &
1458 sdsaln, cdsb0, cdsb1, cdsb2, cdsb3, fpimin, xfh, xf1, &
1459 xf2, shstab, ofstab, ccng, ccps, ffng, ffps
1465 zzwnd, aalpha, zz0max, bbeta, ssinthp, zzalp, &
1466 sswellf, ssdsc1, wwnmeanp, wwnmeanptail, sstxftf, &
1467 sstxftftail, sstxftwn, &
1468 ddelta1, ddelta2, sstxftf, sstxftwn, &
1472 'ZZWND, AALPHA, ZZ0MAX, BBETA, SSINTHP, ZZALP, &
1473 SSWELLF, SSDSC1, WWNMEANP, WWNMEANPTAIL, SSTXFTF, &
1474 SSTXFTFTAIL, SSTXFTWN, &
1475 DDELTA1, DDELTA2, SSTXFTF, SSTXFTWN, &
1477 zzwnd, aalpha, zz0max, bbeta, ssinthp, zzalp, &
1478 sswellf, ssdsc1, wwnmeanp, wwnmeanptail, sstxftf, &
1479 sstxftftail, sstxftwn, &
1480 ddelta1, ddelta2, sstxftf, sstxftwn, &
1484 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1485 zzwnd, aalpha, zz0max, bbeta, ssinthp, zzalp, &
1486 sswellf, ssdsc1, wwnmeanp, wwnmeanptail, sstxftf, &
1487 sstxftftail, sstxftwn, &
1488 ddelta1, ddelta2, sstxftf, sstxftwn, &
1490 IF ( .NOT. flinp )
THEN
1501 zzwnd, aalpha, zz0max, bbeta, ssinthp, zzalp, &
1502 ttauwshelter, sswellfpar, sswellf, ssinbr, &
1504 ssdsiso, ssdsbr, ssdsbt, ssdsbm, ssdsp, &
1505 ssdscos, ssdsdth, wwnmeanp, wwnmeanptail,sstxftf, &
1506 sstxftftail, sstxftwn, sstxftf, sstxftwn, &
1507 ssdsbrf1, ssdsbrf2, ssdsbrfdf,ssdsbck, ssdsabk, &
1508 ssdspbk, ssdsbint, ffxpm, ffxfm, ffxfa, &
1510 iktab, dcki, qbi, satindices, satweights, &
1511 dikcumul, cumulw, sintailpar, capchnk
1514 'ZZWND, AALPHA, ZZ0MAX, BBETA, SSINTHP, ZZALP, &
1515 TTAUWSHELTER, SSWELLFPAR, SSWELLF, SSINBR, &
1517 SSDSISO, SSDSBR, SSDSBT, SSDSBM, SSDSP, &
1518 SSDSCOS, SSDSDTH, WWNMEANP, WWNMEANPTAIL,SSTXFTF, &
1519 SSTXFTFTAIL, SSTXFTWN, SSTXFTF, SSTXFTWN, &
1520 SSDSBRF1, SSDSBRF2, SSDSBRFDF,SSDSBCK, SSDSABK, &
1521 SSDSPBK, SSDSBINT, FFXPM, FFXFM, FFXFA, &
1523 IKTAB, DCKI, QBI, SATINDICES, SATWEIGHTS, &
1524 DIKCUMUL, CUMULW, SINTAILPAR, CAPCHNK:', &
1525 zzwnd, aalpha, zz0max, bbeta, ssinthp, zzalp, &
1526 ttauwshelter, sswellfpar, sswellf, ssinbr, &
1528 ssdsiso, ssdsbr, ssdsbt, ssdsbm, ssdsp, &
1529 ssdscos, ssdsdth, wwnmeanp, wwnmeanptail,sstxftf, &
1530 sstxftftail, sstxftwn, sstxftf, sstxftwn, &
1531 ssdsbrf1, ssdsbrf2, ssdsbrfdf,ssdsbck, ssdsabk, &
1532 ssdspbk, ssdsbint, ffxpm, ffxfm, ffxfa, &
1534 iktab, dcki, qbi, satindices, satweights, &
1535 dikcumul, cumulw, sintailpar, capchnk
1537 IF (sintailpar(1).GT.0.5)
THEN
1538 WRITE (ndsm) delust, deltail, deltauw, delu, delalp, &
1540 IF (ttauwshelter.GT.0)
WRITE (ndsm) tauhft2
1542 WRITE (ndsa,*)
'DELUST, DELTAIL, DELTAUW, DELU, DELALP,&
1544 delust, deltail, deltauw, delu, delalp, &
1546 IF (ttauwshelter.GT.0)
WRITE (ndsa,*)
'TAUHFT2:', tauhft2
1550 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1551 zzwnd, aalpha, zz0max, bbeta, ssinthp, zzalp, &
1552 ttauwshelter, sswellfpar, sswellf, ssinbr, &
1554 ssdsiso, ssdsbr, ssdsbt, ssdsbm, ssdsp, &
1555 ssdscos, ssdsdth, wwnmeanp, wwnmeanptail,sstxftf, &
1556 sstxftftail, sstxftwn, sstxftf, sstxftwn, &
1557 ssdsbrf1, ssdsbrf2, ssdsbrfdf,ssdsbck, ssdsabk, &
1558 ssdspbk, ssdsbint, ffxpm, ffxfm, ffxfa, &
1560 iktab, dcki, qbi, satindices, satweights, &
1561 dikcumul, cumulw, sintailpar, capchnk
1562 IF (sintailpar(1).GT.0.5)
THEN
1563 CALL insin4(.false.)
1564 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1565 delust, deltail, deltauw, delu, delalp, &
1567 IF (ttauwshelter.GT.0)
READ(ndsm,
END=801,ERR=802,IOSTAT=IERR) tauhft2
1574 WRITE (ndsm) sin6a0, sds6et, sds6a1, sds6a2, &
1575 sds6p1, sds6p2, swl6s6, swl6b1, swl6cstb1, &
1578 WRITE (ndsa,*)
'SIN6A0, SDS6ET, SDS6A1, SDS6A2, &
1579 SDS6P1, SDS6P2, SWL6S6, SWL6B1, SWL6CSTB1, &
1581 sin6a0, sds6et, sds6a1, sds6a2, &
1582 sds6p1, sds6p2, swl6s6, swl6b1, swl6cstb1, &
1586 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1587 sin6a0, sds6et, sds6a1, sds6a2, &
1588 sds6p1, sds6p2, swl6s6, swl6b1, swl6cstb1, &
1598 snlc1, lam, kdcon, kdmn, snls1, snls2, snls3, &
1599 iqtpe, nltail, gqnf1, gqnt1, &
1600 gqnq_om2, gqthrsat, gqthrcou, gqamp
1603 'SNLC1, LAM, KDCON, KDMN, SNLS1, SNLS2, SNLS3, &
1604 IQTPE, NLTAIL, GQNF1, GQNT1, &
1605 GQNQ_OM2, GQTHRSAT, GQTHRCOU, GQAMP:', &
1606 snlc1, lam, kdcon, kdmn, snls1, snls2, snls3, &
1607 iqtpe, nltail, gqnf1, gqnt1, &
1608 gqnq_om2, gqthrsat, gqthrcou, gqamp
1611 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1612 snlc1, lam, kdcon, kdmn, snls1, snls2, snls3, &
1613 iqtpe, nltail, gqnf1, gqnt1, &
1614 gqnq_om2, gqthrsat, gqthrcou, gqamp
1616 IF ( fltest )
WRITE (ndst,9051) snlc1, lam, &
1617 kdcon, kdmn, snls1, snls2, snls3, &
1618 iqtpe, nltail, gqnf1, gqnt1, gqnq_om2, &
1619 gqthrsat, gqthrcou, gqamp
1624 WRITE (ndsm) iqtpe, nltail, ndpths
1627 WRITE (ndsa,*)
'IQTPE, NLTAIL, NDPTHS:', &
1628 iqtpe, nltail, ndpths
1629 WRITE (ndsa,*)
'DPTHNL:', &
1633 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1634 iqtpe, nltail, ndpths
1635 ALLOCATE ( mpars(igrd)%SNLPS%DPTHNL(ndpths) )
1636 dpthnl => mpars(igrd)%SNLPS%DPTHNL
1638 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) dpthnl
1640 IF ( fltest )
WRITE (ndst,9051) iqtpe, nltail, ndpths
1641 IF ( fltest )
WRITE (ndst,9151) dpthnl
1646 WRITE (ndsm) snlnq, snlmsc, snlnsc, snlsfd, snlsfs
1647 WRITE (ndsm) snll(1:snlnq), snlm(1:snlnq), &
1648 snlt(1:snlnq), snlcd(1:snlnq), &
1651 WRITE (ndsa,*)
'SNLNQ, SNLMSC, SNLNSC, SNLSFD, SNLSFS:',&
1652 snlnq, snlmsc, snlnsc, snlsfd, snlsfs
1653 WRITE (ndsa,*)
'SNLL(1:SNLNQ), SNLM(1:SNLNQ), &
1654 SNLT(1:SNLNQ), SNLCD(1:SNLNQ), &
1656 snll(1:snlnq), snlm(1:snlnq), &
1657 snlt(1:snlnq), snlcd(1:snlnq), &
1661 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1662 snlnq, snlmsc, snlnsc, snlsfd, snlsfs
1663 ALLOCATE ( mpars(igrd)%SNLPS%SNLL(snlnq), &
1664 mpars(igrd)%SNLPS%SNLM(snlnq), &
1665 mpars(igrd)%SNLPS%SNLT(snlnq), &
1666 mpars(igrd)%SNLPS%SNLCD(snlnq), &
1667 mpars(igrd)%SNLPS%SNLCS(snlnq) )
1668 snll => mpars(igrd)%SNLPS%SNLL
1669 snlm => mpars(igrd)%SNLPS%SNLM
1670 snlt => mpars(igrd)%SNLPS%SNLT
1671 snlcd => mpars(igrd)%SNLPS%SNLCD
1672 snlcs => mpars(igrd)%SNLPS%SNLCS
1674 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1675 snll, snlm, snlt, snlcd, snlcs
1677 IF ( fltest )
WRITE (ndst,9051) snlnq, snlmsc, snlnsc, &
1681 WRITE (ndst,9151) snll(i), snlm(i), snlt(i), &
1689 WRITE (ndsm) itsa, ialt
1691 WRITE (ndsa,*)
'ITSA, IALT:', &
1695 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1698 IF ( fltest )
WRITE (ndst,9051) itsa, ialt
1705 WRITE (ndsm) qr5dpt, qr5oml, qi5dis, qi5kev, &
1706 qi5nnz, qi5ipl, qi5pmx
1708 WRITE (ndsa,*)
'QR5DPT, QR5OML, QI5DIS, QI5KEV, &
1709 QI5NNZ, QI5IPL, QI5PMX:', &
1710 qr5dpt, qr5oml, qi5dis, qi5kev, &
1711 qi5nnz, qi5ipl, qi5pmx
1714 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1715 qr5dpt, qr5oml, qi5dis, qi5kev, &
1716 qi5nnz, qi5ipl, qi5pmx
1718 IF ( fltest )
WRITE (ndst,9051) qr5dpt, qr5oml, qi5dis, &
1719 qi5kev, qi5nnz, qi5ipl, &
1726 cnlsa, cnlsc, cnlsfm, cnlsc1, cnlsc2, cnlsc3
1729 'CNLSA, CNLSC, CNLSFM, CNLSC1, CNLSC2, CNLSC3:', &
1730 cnlsa, cnlsc, cnlsfm, cnlsc1, cnlsc2, cnlsc3
1733 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1734 cnlsa, cnlsc, cnlsfm, cnlsc1, cnlsc2, cnlsc3
1736 IF ( fltest )
WRITE (ndst,9251) &
1737 cnlsa, cnlsc, cnlsfm, cnlsc1, cnlsc2, cnlsc3
1741 IF ( .NOT.
WRITE )
THEN
1742 IF (iqtpe.GT.0)
THEN
1743 CALL insnl1 ( igrd )
1750 IF ( .NOT.
WRITE )
CALL insnl3
1753 IF ( .NOT.
WRITE )
CALL insnls
1759 IF ( flsnl2 .AND. .NOT.
WRITE )
THEN
1761 CALL mpi_barrier ( mpi_comm_wave, ierr_mpi )
1766 IF ( .NOT.
WRITE )
CALL insnl2
1769 IF ( flsnl2 .AND. .NOT.
WRITE )
THEN
1770 DO ip=iaproc, naproc-1
1771 CALL mpi_barrier ( mpi_comm_wave, ierr_mpi )
1782 WRITE (ndsa,*)
'SBTC1:', sbtc1
1785 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) sbtc1
1787 IF ( fltest )
WRITE (ndst,9052) sbtc1
1794 sbtcx, sed_d50, sed_psic
1797 'SBTCX, SED_D50, SED_PSIC:', &
1798 sbtcx, sed_d50, sed_psic
1801 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1802 sbtcx, sed_d50, sed_psic
1808 call print_memcheck(memunit,
'memcheck_____:'//
' WIOGR SECTION 8')
1812 sdbc1, sdbc2, fdonly
1815 'SDBC1, SDBC2, FDONLY:', &
1816 sdbc1, sdbc2, fdonly
1819 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1820 sdbc1, sdbc2, fdonly
1823 IF ( fltest )
WRITE (ndst,9053) sdbc1, sdbc2, fdonly
1828 WRITE (ndsm) uostfilelocal, uostfileshadow, &
1829 uostfactorlocal, uostfactorshadow
1831 WRITE (ndsa,*)
'UOSTFILELOCAL, UOSTFILESHADOW, &
1832 UOSTFACTORLOCAL, UOSTFACTORSHADOW:', &
1833 uostfilelocal, uostfileshadow, &
1834 uostfactorlocal, uostfactorshadow
1837 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1838 uostfilelocal, uostfileshadow, &
1839 uostfactorlocal, uostfactorshadow
1840 CALL uost_initgrid(igrd, uostfilelocal, uostfileshadow, &
1841 uostfactorlocal, uostfactorshadow)
1851 WRITE (ndsm) is1c1, is1c2
1853 WRITE (ndsa,*)
'IS1C1, IS1C2:', is1c1, is1c2
1856 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) IS1C1, is1c2
1862 WRITE (ndsm) is2pars
1864 WRITE (ndsa,*)
'IS3PARS:', is2pars
1867 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) is2pars
1868 IF ( .NOT. flis )
THEN
1880 WRITE (ndsm) dtme, clatmn
1882 WRITE (ndsa,*)
'DTME, CLATMN:', dtme, clatmn
1885 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1889 IF ( fltest )
WRITE (ndst,9060) dtme, clatmn
1894 WRITE (ndsm) wdcg, wdth
1896 WRITE (ndsa,*)
'WDCG, WDTH:', wdcg, wdth
1899 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1903 IF ( fltest )
WRITE (ndst,9060) wdcg, wdth
1908 WRITE(ndsm) dtms, refran, funo3, fverg, fswnd, arctc
1910 WRITE(ndsa,*)
'DTMS, Refran, FUNO3, FVERG, FSWND, ARCTC:', &
1911 dtms, refran, funo3, fverg, fswnd, arctc
1914 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1915 dtms, refran, funo3, fverg, fswnd, arctc
1918 IF ( fltest )
WRITE (ndst,9260) dtms, refran
1923 WRITE (ndsm) tail_id, tail_lev, tail_tran1, tail_tran2
1925 WRITE (ndsa,*)
'TAIL_ID, TAIL_LEV, TAIL_TRAN1, TAIL_TRAN2:', &
1926 tail_id, tail_lev, tail_tran1, tail_tran2
1929 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1930 tail_id, tail_lev, tail_tran1, tail_tran2
1935 WRITE (ndsm) tail_id, tail_lev, tail_tran1, tail_tran2
1937 WRITE (ndsa,*)
'TAIL_ID, TAIL_LEV, TAIL_TRAN1, TAIL_TRAN2:', &
1938 tail_id, tail_lev, tail_tran1, tail_tran2
1941 READ (ndsm,
END=801,ERR=802,IOSTAT=IERR) &
1942 tail_id, tail_lev, tail_tran1, tail_tran2
1949 IF ( .NOT.
WRITE .AND. .NOT.fldisp )
THEN
1963 call print_memcheck(memunit,
'memcheck_____:'//
' WIOGR SECTION 9')
1970 IF ( iaproc .EQ. naperr )
WRITE (ndse,1000) filext(:iext), ierr
1974 IF ( iaproc .EQ. naperr )
WRITE (ndse,1001) filext(:iext)
1978 IF ( iaproc .EQ. naperr )
WRITE (ndse,1002) filext(:iext), ierr, &
1984 900
FORMAT (/
' *** WAVEWATCH III ERROR IN W3IOGR :'/ &
1985 ' ILEGAL INXOUT VALUE: ',a/)
1986 901
FORMAT (/
' *** WAVEWATCH III ERROR IN W3IOGR :'/ &
1987 ' ILEGAL IDSTR, READ : ',a/ &
1989 902
FORMAT (/
' *** WAVEWATCH III ERROR IN W3IOGR :'/ &
1990 ' ILEGAL VERGRD, READ : ',a/ &
1992 904
FORMAT (/
' *** WAVEWATCH III ERROR IN W3IOGR :'/ &
1993 ' ILEGAL NFBPO READ : ',i8/ &
1995 905
FORMAT (/
' *** WAVEWATCH III ERROR IN W3IOGR :'/ &
1996 ' UNEXPECTED SOURCE TERM IDENTIFIER',i2/ &
1997 ' IN mod_def.',a,
' FILE : ',a/ &
1998 ' EXPECTED FROM switch FILE : ',a,/ &
2001 906
FORMAT (/
' *** WAVEWATCH III ERROR IN W3IOGR :'/ &
2002 ' UNEXPECTED PROPAGATION SCHEME IDENTIFIER'/ &
2005 ' CHECK CONSISTENCY OF SWITCHES IN PROGRAMS'/)
2006 907
FORMAT (/
' *** WAVEWATCH III ERROR IN W3IOGR :'/ &
2007 ' UNEXPECTED GSE ALEVIATION IDENTIFIER'/ &
2012 908
FORMAT (/
' *** WAVEWATCH III ERROR IN W3IOGR :'/ &
2013 ' UNEXPECTED FLUX PARAMETERIZATION IDENTIFIER'/ &
2014 ' IN mod_def.',a,
' :',a/ &
2019 1000
FORMAT (/
' *** WAVEWATCH III ERROR IN W3IOGR : '/ &
2020 ' ERROR IN OPENING mod_def.',a,
' FILE'/ &
2022 1001
FORMAT (/
' *** WAVEWATCH III ERROR IN W3IOGR : '/ &
2023 ' PREMATURE END OF mod_def.',a,
' FILE'/)
2024 1002
FORMAT (/
' *** WAVEWATCH III ERROR IN W3IOGR : '/, &
2025 ' ERROR IN READING FROM mod_def.',a,
' FILE'/ &
2030 9000
FORMAT (
' TEST W3IOGR : INXOUT = ',a,
', WRITE = ',l1, &
2031 ', UNIT =',i3,
', IGRD =',i3,
', FEXT = ',a)
2032 9001
FORMAT (
' TEST W3IOGR : TEST PARAMETERS :'/ &
2035 ' NX/Y/SEA : ',3i10/ &
2036 ' NTH,NK : ',2i10/ &
2051 9002
FORMAT (
' NBO : ',10i5)
2052 9003
FORMAT (
' NBO2 : ',10i5)
2054 9010
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD GRID'/ &
2058 ' SX, SY : ',2e10.3/ &
2059 ' X0, Y0 : ',2e10.3/ &
2061 9011
FORMAT (
' LOWER LEFT PART OF ',a)
2062 9012
FORMAT (
' ',4x,30i2)
2063 9013
FORMAT (
' ',12i6)
2064 9014
FORMAT (
' ',12f6.2)
2065 9015
FORMAT (
' STEPS : ',4f8.1/ &
2066 ' DEPTH : ',f8.1,f10.3/ &
2067 ' FICE0/N: ',f9.2,f8.2/ &
2068 ' FICEL : ',f9.1 / &
2069 ' PFMOVE : ',f9.2 / &
2070 ' STEXU : ',f9.2 / &
2071 ' STEYU : ',f9.2 / &
2074 9016
FORMAT (
' FLAGS : ',8l2)
2075 9017
FORMAT (
' CLATS : ',3f8.3,
' ...'/ &
2076 ' CLATIS : ',3f8.3,
' ...'/ &
2077 ' CTHG0S : ',3e11.3,
' ...')
2079 9020
FORMAT (
' TEST W3IOGR : MODULE W3ODATMD OUT5')
2080 9021
FORMAT (
' INTERPOLATION DATA : FILE ',i1)
2081 9022
FORMAT (
' ',i5,2x,4i4,2x,4f5.2)
2082 9023
FORMAT (
' ',10i7)
2083 9025
FORMAT (
' TEST W3IOGR : MODULE W3ODATMD OUT6'/ &
2084 ' PARTITIONING DATA :',i5,3e10.3,l4,2x,i4)
2086 9030
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SGRD'/ &
2087 ' MAPWN : ',8i4,
' ...'/ &
2088 ' MAPTH : ',8i4,
' ...'/ &
2090 ' TH : ',4f6.1,
' ...'/ &
2091 ' ESIN : ',4f6.3,
' ...'/ &
2092 ' ECOS : ',4f6.3,
' ...'/ &
2094 ' FR : ',f6.3,
' ...',f6.3/ &
2095 ' FACs : ',6e10.3/ &
2098 9040
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD NPAR'/ &
2099 ' FACs : ',5e10.3/ &
2104 9048
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SFLP'/ &
2105 ' FLUXES : ',i5,3x,e10.3)
2108 9048
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SFLP'/ &
2109 ' FLUXES : ',2i5,3x,2e10.3)
2113 9049
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SLNP'/ &
2118 9050
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SRCP'/ &
2119 ' INPUT : ',e10.3/ &
2123 9050
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SRCP'/ &
2124 ' INPUT : ',2e10.3/ &
2125 ' DISSIP : ',4e10.3/ &
2132 9051
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SNLP'/ &
2133 ' DATA : ',2e10.3/ &
2138 9051
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SNLP'/ &
2139 ' DATA : ',i4,f5.1,i4)
2140 9151
FORMAT (
' ',5f7.1)
2144 9051
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SNLP'/ &
2145 ' DATA : ',i4,4f8.3)
2146 9151
FORMAT (
' ',2f8.3,f6.1,2e12.4)
2150 9051
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SNLP'/ &
2155 9051
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SNLP'/ &
2156 ' DATA : ', f7.1, f8.2, 2i2.1, i12, 2i2.1)
2160 9251
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SNLP (NLS)'/ &
2161 ' DATA : ',f8.3,e12.4,4f8.3)
2165 9052
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SBTP'/ &
2170 9053
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SDBP'/ &
2171 ' DATA : ',2e10.3,l4)
2175 9060
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD PROP'/ &
2180 9060
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD PROP'/ &
2185 9260
FORMAT (
' TEST W3IOGR : MODULE W3GDATMD SMCG'/ &
2190 9070
FORMAT (
' TEST W3IOGR : DISPERSION INTEPOLATION TABLES')