diff --git a/model/ftn/w3gdatmd.ftn b/model/ftn/w3gdatmd.ftn index 477cd6afc..b03ec803b 100644 --- a/model/ftn/w3gdatmd.ftn +++ b/model/ftn/w3gdatmd.ftn @@ -220,7 +220,7 @@ ! FLDRY Log. Public Flag for 'dry' run (IO and data ! processing only). ! FLCx Log. Public Flags for prop. is different spaces. -! FLSOU Log. Public Flag for source term calcualtion. +! FLSOU Log. Public Flag for source term calculation. ! FUNO3 Log. Public Flag for 3rd order UNO3 scheme on SMC grid. ! FVERG Log. Public Flag for 1-2-1 averaging smoothing on SMC grid. ! FSWND Log. Public Flag for sea-point only wind input on SMC grid. diff --git a/model/ftn/w3iogrmd.ftn b/model/ftn/w3iogrmd.ftn index b325a7a77..4808b1a0b 100644 --- a/model/ftn/w3iogrmd.ftn +++ b/model/ftn/w3iogrmd.ftn @@ -67,7 +67,7 @@ !/ !/ Private parameter statements (ID strings) !/ - CHARACTER(LEN=10), PARAMETER, PRIVATE :: VERGRD = '2020-04-15' + CHARACTER(LEN=10), PARAMETER, PRIVATE :: VERGRD = '2020-06-18' CHARACTER(LEN=35), PARAMETER, PRIVATE :: & IDSTR = 'WAVEWATCH III MODEL DEFINITION FILE' !/ @@ -146,6 +146,7 @@ !/ 18-Aug-2018 : S_{ice} IC5 (Q. Liu) ( version 6.06 ) !/ 26-Aug-2018 : UOST (Mentaschi et al. 2015, 2018) ( version 6.06 ) !/ 15-Apr-2020 : Adds optional opt-out for CFL on BC ( version 7.08 ) +!/ 18-Jun-2020 : Adds 360-day calendar option ( version 7.08 ) !/ !/ Copyright 2009-2013 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights @@ -234,7 +235,7 @@ !/NLX USE W3SNLXMD, ONLY: INSNLX !/NLS USE W3SNLSMD, ONLY: INSNLS !/IS2 USE W3SIS2MD, ONLY: INSIS2 - USE W3TIMEMD, ONLY: NOLEAP + USE W3TIMEMD, ONLY: CALTYPE USE W3SERVMD, ONLY: EXTCDE !/S USE W3SERVMD, ONLY: STRACE USE W3DISPMD @@ -640,7 +641,7 @@ FICE0, FICEN, FICEL, PFMOVE, FLDRY, FLCX, FLCY, FLCTH, & FLCK, FLSOU, FLBPI, FLBPO, CLATS, CLATIS, CTHG0S, & STEXU, STEYU, STEDU, IICEHMIN, IICEHINIT, IICEDISP, & - ICESCALES(1:4), NOLEAP, CMPRTRCK, IICEHFAC, IICEHDISP, & + ICESCALES(1:4), CALTYPE, CMPRTRCK, IICEHFAC, IICEHDISP,& IICEDDISP, IICEFDISP, BTBETA WRITE(NDSM)GRIDSHIFT @@ -780,7 +781,7 @@ FICE0, FICEN, FICEL, PFMOVE, FLDRY, FLCX, FLCY, & FLCTH, FLCK, FLSOU, FLBPI, FLBPO, CLATS, CLATIS, & CTHG0S, STEXU, STEYU, STEDU, IICEHMIN, IICEHINIT, & - IICEDISP, ICESCALES(1:4), NOLEAP, CMPRTRCK, IICEHFAC, & + IICEDISP, ICESCALES(1:4), CALTYPE, CMPRTRCK, IICEHFAC, & IICEDDISP, IICEHDISP, IICEFDISP, BTBETA !/DEBUGIOGR WRITE(740+IAPROC,*) 'W3IOGR, step 7.14' !/DEBUGIOGR FLUSH(740+IAPROC) diff --git a/model/ftn/w3timemd.ftn b/model/ftn/w3timemd.ftn index e5760264b..75a5aef32 100644 --- a/model/ftn/w3timemd.ftn +++ b/model/ftn/w3timemd.ftn @@ -72,7 +72,7 @@ ! INTEGER, PRIVATE :: PRFTB(8) LOGICAL, PRIVATE :: FLPROF = .FALSE. - LOGICAL, PUBLIC :: NOLEAP + CHARACTER, PUBLIC :: CALTYPE*8 ! CONTAINS !/ ------------------------------------------------------------------- / @@ -192,13 +192,14 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 29-Nov-1999 | +!/ | Last update : 18-Jun-2020 | !/ +-----------------------------------+ !/ Based on INCYMD of the GLA GCM. !/ !/ 18-Oct-1998 : Final FORTRAN 77 ( version 1.18 ) !/ 29-Nov-1999 : Upgrade to FORTRAN 90 ( version 2.00 ) !/ 10-Jan-2017 : Add NOLEAP option, 365 day calendar ( version 6.00 ) +!/ 18-Jun-2020 : Add 360-day calendar option ( version 7.08 ) !/ ! 1. Purpose : ! @@ -247,7 +248,6 @@ !/ INTEGER :: NY, NM, ND INTEGER, SAVE :: NDPM(12) - DATA NDPM / 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 / !/S INTEGER, SAVE :: IENT = 0 LOGICAL :: LEAP !/ @@ -255,18 +255,27 @@ !/ !/S CALL STRACE (IENT, 'IYMD21') ! +! Declare the number of days in month depending on calendar +! + IF (TRIM(CALTYPE) .EQ. '360_day' ) THEN + NDPM=(/ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 /) + ELSE + NDPM=(/ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 /) + END IF +! ! "Unpack" and increment date : ! NY = NYMD / 10000 NM = MOD(NYMD,10000) / 100 NM = MIN ( 12 , MAX(1,NM) ) ND = MOD(NYMD,100) + M - LEAP = MOD(NY,400).EQ.0 .OR. & - ( MOD(NY,4).EQ.0 .AND. MOD(NY,100).NE.0 ) ! Add override for simulations with no leap years - IF (NOLEAP) then + IF (TRIM(CALTYPE) .EQ. 'standard' ) THEN + LEAP = MOD(NY,400).EQ.0 .OR. & + ( MOD(NY,4).EQ.0 .AND. MOD(NY,100).NE.0 ) + ELSE LEAP = .false. - ENDIF + END IF ! ! M = -1, change month if necessary : ! @@ -314,12 +323,13 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 05-Jan-2001 | +!/ | Last update : 18-Jun-2020 | !/ +-----------------------------------+ !/ !/ 23-Mar-1993 : Final FORTRAN 77 ( version 1.18 ) !/ 29-Nov-1999 : Upgrade to FORTRAN 90 ( version 2.00 ) !/ 05-Jan-2001 : Y2K leap year error correction. ( version 2.05 ) +!/ 18-Jun-2020 : Add 360-day calendar support ( version 7.08 ) !/ !/ ! 1. Purpose : @@ -401,9 +411,17 @@ IF (NY1.EQ.NY2) GOTO 200 IF (NST.GT.0) THEN NY2 = NY2 - 1 - ND = ND + MYMD21 ( NY2*10000 + 1231 ) + IF (TRIM(CALTYPE) .EQ. '360_day' ) THEN + ND = ND + MYMD21 ( NY2*10000 + 1230 ) + ELSE + ND = ND + MYMD21 ( NY2*10000 + 1231 ) + END IF ELSE - ND = ND - MYMD21 ( NY2*10000 + 1231 ) + IF (TRIM(CALTYPE) .EQ. '360_day' ) THEN + ND = ND - MYMD21 ( NY2*10000 + 1230 ) + ELSE + ND = ND - MYMD21 ( NY2*10000 + 1231 ) + END IF NY2 = NY2 + 1 ENDIF GOTO 100 @@ -428,13 +446,14 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 29-Nov-1999 | +!/ | Last update : 18-Jun-2020 | !/ +-----------------------------------+ !/ Based on MODYMD of the GLA GCM. !/ !/ 19-Oct-1998 : Final FORTRAN 77 ( version 1.18 ) !/ 29-Nov-1999 : Upgrade to FORTRAN 90 ( version 2.00 ) !/ 10-Jan-2017 : Add NOLEAP option, 365 day calendar ( version 6.01 ) +!/ 18-Jun-2020 : Add 360-day calendar support ( version 7.08 ) !/ ! 1. Purpose : ! @@ -482,7 +501,6 @@ !/ INTEGER :: NY, NM, ND INTEGER, SAVE :: NDPM(12) - DATA NDPM / 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 / !/S INTEGER, SAVE :: IENT = 0 LOGICAL :: LEAP !/ @@ -490,15 +508,24 @@ !/ !/S CALL STRACE (IENT, 'MYMD21') ! +! Declare the number of days in month depending on calendar +! + IF (TRIM(CALTYPE) .EQ. '360_day' ) THEN + NDPM=(/ 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 /) + ELSE + NDPM=(/ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 /) + END IF +! ! "Unpack" and increment date : ! NY = NYMD / 10000 NM = MOD(NYMD,10000) / 100 ND = MOD(NYMD,100) - LEAP = MOD(NY,400).EQ.0 .OR. & - ( MOD(NY,4).EQ.0 .AND. MOD(NY,100).NE.0 ) !Allow override for NoLeap simulations - IF (NOLEAP) THEN + IF (TRIM(CALTYPE) .EQ. 'standard' ) THEN + LEAP = MOD(NY,400).EQ.0 .OR. & + ( MOD(NY,4).EQ.0 .AND. MOD(NY,100).NE.0 ) + ELSE LEAP=.false. ENDIF ! @@ -1431,10 +1458,11 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | M. Accensi | !/ | FORTRAN 90 | -!/ | Last update : 15-May-2018 | +!/ | Last update : 18-Jun-2020 | !/ +-----------------------------------+ !/ !/ 15-May-2018 : Origination ( version 6.05 ) +!/ 18-Jun-2020 : Addition of 360-day calendar ( version 7.08 ) !/ ! 1. Purpose : ! @@ -1484,19 +1512,34 @@ ! ! Convert dates and times : ! - A1 = (14-T1(2))/12 - B1 = T1(1) + 4800 - A1 - C1 = T1(2) + 12*A1 - 3 - D1 = T1(3) + (153*C1 + 2)/5 + 365*B1 + B1/4 -B1/100 + B1/400 - E1 = 3600.0*T1(5) + 60.0*(T1(6)-T1(4)) + T1(7) + T1(8)/1000.0 + IF (TRIM(CALTYPE) .EQ. '360_day' ) THEN + A1 = (T2(1)-T1(1))*360 + (T2(2)-T1(2))*30 + (T2(3)-T1(3)) + + E1 = 3600.0*T1(5) + 60.0*(T1(6)-T1(4)) + T1(7) + T1(8)/1000.0 + E2 = 3600.0*T2(5) + 60.0*(T2(6)-T2(4)) + T2(7) + T2(8)/1000.0 ! - A2 = (14-T2(2))/12 - B2 = T2(1) + 4800 - A2 - C2 = T2(2) + 12*A2 - 3 - D2 = T2(3) + (153*C2 + 2)/5 + 365*B2 + B2/4 -B2/100 + B2/400 - E2 = 3600.0*T2(5) + 60.0*(T2(6)-T2(4)) + T2(7) + T2(8)/1000.0 + TSUB = DBLE(A1) + (E2-E1)/86400.0d0 + ELSE + A1 = (14-T1(2))/12 + B1 = T1(1) + 4800 - A1 + C1 = T1(2) + 12*A1 - 3 + D1 = T1(3) + (153*C1 + 2)/5 + 365*B1 + IF (TRIM(CALTYPE) .EQ. 'standard' ) THEN + D1 = D1 + B1/4 -B1/100 + B1/400 + ENDIF + E1 = 3600.0*T1(5) + 60.0*(T1(6)-T1(4)) + T1(7) + T1(8)/1000.0 +! + A2 = (14-T2(2))/12 + B2 = T2(1) + 4800 - A2 + C2 = T2(2) + 12*A2 - 3 + D2 = T2(3) + (153*C2 + 2)/5 + 365*B2 + IF (TRIM(CALTYPE) .EQ. 'standard' ) THEN + D2 = D2 + B2/4 -B2/100 + B2/400 + ENDIF + E2 = 3600.0*T2(5) + 60.0*(T2(6)-T2(4)) + T2(7) + T2(8)/1000.0 ! - TSUB = DBLE(D2-D1) + (E2-E1)/86400.0d0 + TSUB = DBLE(D2-D1) + (E2-E1)/86400.0d0 + ENDIF ! RETURN !/ diff --git a/model/ftn/ww3_grid.ftn b/model/ftn/ww3_grid.ftn index 501ec4c54..31d12cb7e 100644 --- a/model/ftn/ww3_grid.ftn +++ b/model/ftn/ww3_grid.ftn @@ -106,6 +106,7 @@ !/ 22-Jan-2020 : Update default values for IS2 ( version 7.05 ) !/ 20-Feb-2020 : Include Romero's dissipation in ST4 ( version 7.06 ) !/ 15-Apr-2020 : Adds optional opt-out for CFL on BC ( version 7.08 ) +!/ 18-Jun-2020 : Adds 360-day calendar option ( version 7.08 ) !/ !/ Copyright 2009-2013 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights @@ -519,7 +520,7 @@ IPBPO, ISBPO, XBPO, YBPO, RDBPO, FNMPRE, & IHMAX, HSPMIN, WSMULT, WSCUT, FLCOMB, & NOSWLL, PTMETH, PTFCUT - USE W3TIMEMD, ONLY: NOLEAP + USE W3TIMEMD, ONLY: CALTYPE USE W3NMLGRIDMD ! !/NL3 USE W3SNL3MD, ONLY: LAMMAX, DELTHM @@ -892,8 +893,8 @@ RWNDC, FACBERG, NOSW, GSHIFT, WCOR1, WCOR2, & STDX, STDY, STDT, ICEHMIN, ICEHINIT, ICEDISP, & ICESLN, ICEWIND, ICESNL, ICESDS, ICEHFAC, & - ICEHDISP, ICEDDISP, ICEFDISP, NOLEAP, TRCKCMPR, & - PTM, PTFC, BTBET + ICEHDISP, ICEDDISP, ICEFDISP, CALTYPE, & + TRCKCMPR, PTM, PTFC, BTBET NAMELIST /OUTS/ P2SF, I1P2SF, I2P2SF, & US3D, I1US3D, I2US3D, & USSP, IUSSP, STK_WN, & @@ -2239,7 +2240,7 @@ STDY = -1. STDT = -1. ICEDISP = .FALSE. - NOLEAP = .FALSE. + CALTYPE = 'standard' ! Variables for 3D array output E3D=0 I1E3D=1 @@ -2582,6 +2583,11 @@ !/MLIM J = 1 WRITE (NDSO,967) FHMAX, FHMAX/SQRT(2.), YESXNO(J) IF ( FHMAX.LT.0.50 .AND. J.EQ.1 ) WRITE (NDST,968) +! + IF (TRIM(CALTYPE) .NE. 'standard' .AND. & + TRIM(CALTYPE) .NE. '360_day' .AND. & + TRIM(CALTYPE) .NE. '365_day' ) GOTO 2003 + WRITE (NDST,1973) CALTYPE WRITE (NDSO,*) ! ! 6.x Read values for FLD stress calculation @@ -2761,7 +2767,7 @@ STDX, STDY, STDT, ICEHMIN, ICEHFAC, & ICEHINIT, ICEDISP, ICEHDISP, & ICESLN, ICEWIND, ICESNL, ICESDS, & - ICEDDISP,ICEFDISP, NOLEAP, TRCKCMPR, & + ICEDDISP,ICEFDISP, CALTYPE, TRCKCMPR, & BTBETA ELSE WRITE (NDSO,2966) CICE0, CICEN, LICE, PMOVE, XSEED, FLAGTR, & @@ -2771,7 +2777,7 @@ STDX, STDY, STDT, ICEHMIN, ICEHFAC, & ICEHINIT, ICEDISP, ICEHDISP, & ICESLN, ICEWIND, ICESNL, ICESDS, & - ICEDDISP, ICEFDISP, NOLEAP, TRCKCMPR, & + ICEDDISP, ICEFDISP, CALTYPE, TRCKCMPR,& BTBETA END IF ! @@ -5188,6 +5194,10 @@ 2002 CONTINUE WRITE (NDSE,1002) IERR CALL EXTCDE ( 62 ) +! + 2003 CONTINUE + WRITE (NDSE,1003) + CALL EXTCDE ( 64 ) ! 2222 CONTINUE IF ( GTYPE .NE. UNGTYPE) THEN @@ -5689,6 +5699,7 @@ ' Hrms,max/d factor (-) :',F9.3/ & ' Limiter activated : ',A) 968 FORMAT ( ' *** FACTOR DANGEROUSLY LOW ***') + 1973 FORMAT (/' Calendar type : ',A) ! !/REF1 969 FORMAT (/' Shoreline reflection ',A/ & !/REF1 ' --------------------------------------------------') @@ -5781,7 +5792,7 @@ ' ICESLN = ',F6.2,', ICEWIND = ',F6.2, & ', ICESNL = ',F6.2,', ICESDS = ',F5.2,','/ & ' ICEDDISP = ',F5.2,', ICEFDISP = ',F5.2, & - ', NOLEAP = ',L3,' , TRCKCMPR = ', L3,','/ & + ', CALTYPE = ',A8,' , TRCKCMPR = ', L3,','/ & ' BTBET = ', F6.2, ' /') ! 2976 FORMAT ( ' &OUTS P2SF =',I2,', I1P2SF =',I2,', I2P2SF =',I3,','/& @@ -5964,6 +5975,10 @@ 1002 FORMAT (/' *** WAVEWATCH III ERROR IN W3GRID : '/ & ' ERROR IN READING FROM INPUT FILE'/ & ' IOSTAT =',I5/) +! + 1003 FORMAT (/' *** WAVEWATCH III ERROR IN W3GRID : '/ & + ' INVALID CALENDAR TYPE: SELECT ONE OF:', & + ' standard, 360_day, or 365_day '/) ! 1004 FORMAT (/' *** WAVEWATCH III ERROR IN W3GRID : '/ & ' CANNOT READ UNFORMATTED (IDFM = 3) FROM UNIT', & diff --git a/model/ftn/ww3_ounf.ftn b/model/ftn/ww3_ounf.ftn index 26650f84e..66dd41d97 100644 --- a/model/ftn/ww3_ounf.ftn +++ b/model/ftn/ww3_ounf.ftn @@ -32,6 +32,7 @@ !/ 12-Sep-2018 : Added extra partitioned fields ( version 6.06 ) !/ 25-Sep-2018 : Add WBT parameter ( version 6.06 ) !/ 28-Mar-2019 : Bugfix to NBIPART check. ( version 6.07 ) +!/ 18-Jun-2020 : Support for 360-day calendar. ( version 7.08 ) !/ !/ Copyright 2009-2013 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights @@ -4969,18 +4970,25 @@ IRET = NF90_DEF_VAR(NCID, 'time', NF90_DOUBLE, DIMID(4+EXTRADIM), VARID(3+EXTRADIM)) !/NC4 IF (NCTYPE.EQ.4) IRET = NF90_DEF_VAR_DEFLATE(NCID, VARID(3+EXTRADIM), 1, 1, DEFLATE) CALL CHECK_ERR(IRET) - IRET=NF90_PUT_ATT(NCID,VARID(3+EXTRADIM),'long_name','julian day (UT)') + SELECT CASE (TRIM(CALTYPE)) + CASE ('360_day') + IRET=NF90_PUT_ATT(NCID,VARID(3+EXTRADIM),'long_name','time in 360 day calendar') + CASE ('365_day') + IRET=NF90_PUT_ATT(NCID,VARID(3+EXTRADIM),'long_name','time in 365 day calendar') + CASE ('standard') + IRET=NF90_PUT_ATT(NCID,VARID(3+EXTRADIM),'long_name','julian day (UT)') + END SELECT CALL CHECK_ERR(IRET) IRET=NF90_PUT_ATT(NCID,VARID(3+EXTRADIM),'standard_name','time') CALL CHECK_ERR(IRET) - IRET=NF90_PUT_ATT(NCID,VARID(3+EXTRADIM),'calendar','standard') - CALL CHECK_ERR(IRET) IRET=NF90_PUT_ATT(NCID,VARID(3+EXTRADIM),'units','days since 1990-01-01 00:00:00') CALL CHECK_ERR(IRET) IRET=NF90_PUT_ATT(NCID,VARID(3+EXTRADIM),'conventions', & 'relative julian days with decimal part (as parts of the day )') IRET=NF90_PUT_ATT(NCID,VARID(3+EXTRADIM),'axis','T') CALL CHECK_ERR(IRET) + IRET=NF90_PUT_ATT(NCID,VARID(3+extradim),'calendar',TRIM(CALTYPE)) + CALL CHECK_ERR(IRET) ! ! triangles for irregular grids ! diff --git a/model/ftn/ww3_ounp.ftn b/model/ftn/ww3_ounp.ftn index be2e50294..e3b737a95 100644 --- a/model/ftn/ww3_ounp.ftn +++ b/model/ftn/ww3_ounp.ftn @@ -52,6 +52,7 @@ !/ (in source terms) !/ 15-May-2018 : Add namelist feature ( version 6.05 ) !/ 18-Aug-2018 : S_{ice} IC5 (Q. Liu) ( version 6.06 ) +!/ 18-Jun-2020 : Support for 360-day calendar. ( version 7.08 ) !/ !/ Copyright 2009 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights @@ -160,7 +161,7 @@ USE W3IOPOMD, ONLY: W3IOPO USE W3SERVMD, ONLY : ITRACE, NEXTLN, EXTCDE, STRSPLIT !/S USE W3SERVMD, ONLY : STRACE - USE W3TIMEMD, ONLY: STME21, TICK21, DSEC21, T2D, TSUB, U2D + USE W3TIMEMD, ONLY: CALTYPE, STME21, TICK21, DSEC21, T2D, TSUB, U2D !/ USE W3GDATMD USE W3WDATMD, ONLY: TIME @@ -2665,12 +2666,19 @@ IRET=NF90_DEF_VAR(NCID, 'time', NF90_DOUBLE, DIMID(1), VARID(1)) CALL CHECK_ERR(IRET) !/NC4 IF (NCTYPE.EQ.4) IRET=NF90_DEF_VAR_DEFLATE(NCID, VARID(1), 1, 1, DEFLATE) - IRET=NF90_PUT_ATT(NCID,VARID(1),'long_name','julian day (UT)') + SELECT CASE (TRIM(CALTYPE)) + CASE ('360_day') + IRET=NF90_PUT_ATT(NCID,VARID(1),'long_name','time in 360 day calendar') + CASE ('365_day') + IRET=NF90_PUT_ATT(NCID,VARID(1),'long_name','time in 365 day calendar') + CASE ('standard') + IRET=NF90_PUT_ATT(NCID,VARID(1),'long_name','julian day (UT)') + END SELECT IRET=NF90_PUT_ATT(NCID,VARID(1),'standard_name','time') - IRET=NF90_PUT_ATT(NCID,VARID(1),'calendar','standard') IRET=NF90_PUT_ATT(NCID,VARID(1),'units','days since 1990-01-01 00:00:00') IRET=NF90_PUT_ATT(NCID,VARID(1),'conventions','Relative julian days with decimal part (as parts of the day)') - IRET=NF90_PUT_ATT(NCID,VARID(1),'axis','T') + IRET=NF90_PUT_ATT(NCID,VARID(1),'axis','T') + IRET=NF90_PUT_ATT(NCID,VARID(1),'calendar',TRIM(CALTYPE)) ! station IRET=NF90_DEF_VAR(NCID, 'station', NF90_INT, (/DIMID(2)/), VARID(27)) diff --git a/model/ftn/ww3_trnc.ftn b/model/ftn/ww3_trnc.ftn index f12c259a9..4bd3dfaf1 100644 --- a/model/ftn/ww3_trnc.ftn +++ b/model/ftn/ww3_trnc.ftn @@ -12,6 +12,7 @@ !/ 17-Feb-2016 : Creation ( version 5.11 ) !/ 11-Apr-2016 : Adapted to use more options ( version 5.11 ) !/ 15-May-2018 : Add namelist feature ( version 6.05 ) +!/ 18-Jun-2020 : Support for 360-day calendar. ( version 7.08 ) !/ !/ Copyright 2014 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights @@ -791,13 +792,20 @@ ! time IRET=NF90_DEF_VAR(NCID, 'time', NF90_DOUBLE, (/DIMID(1)/), VARID(1)) !/NC4 IF (NCTYPE.EQ.4) IRET=NF90_DEF_VAR_DEFLATE(NCID, VARID(1), 1, 1, DEFLATE) - IRET=NF90_PUT_ATT(NCID,VARID(1),'long_name','julian day (UT)') + SELECT CASE (TRIM(CALTYPE)) + CASE ('360_day') + IRET=NF90_PUT_ATT(NCID,VARID(1),'long_name','time in 360 day calendar') + CASE ('365_day') + IRET=NF90_PUT_ATT(NCID,VARID(1),'long_name','time in 365 day calendar') + CASE ('standard') + IRET=NF90_PUT_ATT(NCID,VARID(1),'long_name','julian day (UT)') + END CASE IRET=NF90_PUT_ATT(NCID,VARID(1),'standard_name','time') - IRET=NF90_PUT_ATT(NCID,VARID(1),'calendar','standard') IRET=NF90_PUT_ATT(NCID,VARID(1),'units','days since 1990-01-01 00:00:00') IRET=NF90_PUT_ATT(NCID,VARID(1),'conventions', & 'Relative julian days with decimal part (as parts of the day)') IRET=NF90_PUT_ATT(NCID,VARID(1),'axis','T') + IRET=NF90_PUT_ATT(NCID,VARID(1),'calendar',TRIM(CALTYPE)) ! frequency IRET=NF90_DEF_VAR(NCID, 'frequency', NF90_FLOAT, (/DIMID(2)/),VARID(2)) diff --git a/model/inp/ww3_grid.inp b/model/inp/ww3_grid.inp index 1a4dffe5b..5074281b0 100644 --- a/model/inp/ww3_grid.inp +++ b/model/inp/ww3_grid.inp @@ -440,6 +440,9 @@ $ STDX : Space-Time Extremes X-Length $ STDY : Space-Time Extremes Y-Length $ STDT : Space-Time Extremes Duration $ P2SF : ...... +$ CALTYPE: Calendar type. The only accepted +$ values are 'standard' (default), +$ '365_day', or '360_day'. $ $ Diagnostic Sea-state Dependent Stress- - - - - - - - - - - - - - - - - $ Reichl et al. 2014 : Namelist FLD1 diff --git a/model/nml/namelists.nml b/model/nml/namelists.nml new file mode 100644 index 000000000..4d79c30a3 --- /dev/null +++ b/model/nml/namelists.nml @@ -0,0 +1,147 @@ +! Switch FLD1 +!&FLD1 TAILTYPE = 0, TAILLEV = 0.006, TAILT1 = 1.25, TAILT2 = 3.00 / +! Switch FLD2 +!&FLD2 TAILTYPE = 0, TAILLEV = 0.006, TAILT1 = 1.25, TAILT2 = 3.00 / +! Switch FLX3 +!&FLX3 CDMAX = 2.5E-3, CTYPE = 0 / +! Switch FLX4 +!&FLX4 CDFAC = 1.0 / +! Switch IC2 +!&SIC2 IC2DISPER = .FALSE., IC2TURB = 1., IC2TURBS = 0., IC2ROUGH = 0.01, +!IC2REYNOLDS = 1.5E5, IC2SMOOTH = 2E5, IC2VISC = 1., IC2DMAX = 0. / +! Switch IC3 +!&SIC3 IC3MAXTHK = 100.0, IC3MAXCNC = 100.0, IC2TURB = 2.0, IC2TURBS = 0., +!IC2ROUGH = 0.02, IC2REYNOLDS = 1.5E5, IC2SMOOTH = 7.0E4, IC2VISC = 2.0, +!IC3CHENG = .TRUE., USECGICE = .FALSE., IC3HILIM = 100.0, IC3KILIM = 100.0, +!IC3HICE = -1.0, IC3VISC = -2.0, IC3DENS = -3.0, IC3ELAS = -4.0 / +! Switch IC4 +!&SIC4 IC4METHOD = 1, IC4KI = 0.0, IC4FC = 0.0 / +! Switch IC5 +!&SIC5 IC5MINIG = 1., IC5MINWT = 0., IC5MAXKRATIO = 1E9, IC5MAXKI = 100., +!IC5MINHW = 300., IC5MAXITER = 100., IC5RKICK = 0., IC5KFILTER = 0.0025 / +! Switch IG1 +!&SIG1 IGMETHOD = 2, IGADDOUTP = 0, IGSOURCE = 2, IGSTERMS = 0, +!IGMAXFREQ = 0.03, IGSOURCEATBP = 0, IGBCOVERWRITE = .TRUE., +!IGSWELLMAX = .TRUE., IGKDMIN = 1.1, IGFIXEDDEPTH = 0., +!IGEMPIRICAL = 0.00125 / +! Switch LN1 +!&SLN1 CLIN = 80., RFPM = 1., RFHF = 0.5 / +! Switch ST1 +!&SIN1 CINP = 0.25 / +! Switch ST2 +!&SIN2 ZWND = 10., SWELLF = 0.100, STABSH = 1.38, STABOF = -0.01, +!CNEG = -0.1, CPOS = 0.1, FNEG = 150. / +! Switch ST3 +!&SIN3 ZWND = 10., ALPHA0 = 0.0095, Z0MAX = 0.0, BETAMAX = 1.2, +!SINTHP = 2., SWELLF = 0., ZALP = 0.0110 / +! Switch ST4 +!&SIN4 ZWND = 10., ALPHA0 = 0.0095, Z0MAX = 0.0, Z0RAT = 0.04, BETAMAX = 1.43, +!SINTHP = 2., SWELLF = 0.66, SWELLFPAR = 1, SWELLF2 = -0.018, SWELLF3 = 0.022, +!SWELLF4 = 1.5E5, SWELLF5 = 1.2, SWELLF6 = 0., SWELLF7 = 360000., +!TAUWSHELTER = 0.3, ZALP = 0.006, SINBR = 0. / +! Switch NL1 +!&SNL1 LAMBDA = 0.25, NLPROP = 1.00E7, KDCONV = 0.75, KDMIN = 0.50, +!SNLCS1 = 5.5, SNLCS2 = 0.833, SNLCS3 = -1.25 / +! Switch NL2 +!&SNL2 IQTYPE = 2, TAILNL = -FACHF, NDEPTH = 0 / +! Switch NL2 +!&ANL2 DEPTHS = 100*1000. / +! Switch NL3 +!&SNL3 NQDEF = 0, MSC = 0., NSC = -3.5, KDFD = 0.20, KDFS = 5.00 / +! Switch NL3 +!&ANL3 QPARMS = 100*(0.25 , 0.00, -1., 1.E7, 0.00) / +! Switch NL4 +!&SNL4 INDTSA = 1, ALTLP = 2 / +! Switch NLS +!&SNLS A34 = 0.05, FHFC = 1.E10, DNM = 0.25, FC1 = 1.25, FC2 = 1.50, +!FC3 = 6.00 / +! Switch ST1 +!&SDS1 CDIS = -2.36E-5, APM = 3.02E-3 / +! Switch ST2 +!&SDS2 SDSA0 = 4.8, SDSA1 = 1.7e-4, SDSA2 = 2.0, SDSB0 = 0.3e-3, +!SDSB1 = 0.47, PHIMIN = 0.003, SDSALN = 0.002, FPIMIN = 0.009 / +! Switch ST3 +!&SDS3 SDSC1 = -2.1, WNMEANP = 0.5, FXFM3 = 2.5, FXPM3 = 4., +!WNMEANPTAIL = 0.5, SDSDELTA1 = 0.4, SDSDELTA2 = 0.6 / +! Switch ST4 +!&SDS4 WNMEANP = 0.5, FXFM3 = 2.5, FXFMAGE = 0., FXPM3 = 4., +!WNMEANPTAIL = -0.5, SDSBCHOICE = 1, SDSC2 = -2.2E-5, SDSCUM = -0.40344, +!SDSC4 = 1., SDSC5 = 0., SDSNUW = 0., SDSC6 = 0.3, SDSBR = 0.90E-3, +!SDSBRFDF = 0, SDSBRF1 = 0.5, SDSP = 2., SDSDTH = 80., SDSCOS = 2., +!SDSISO = 2, SDSBM0 = 1., SDSBM1 = 0., SDSBM2 = 0., SDSBM3 = 0., +!SDSBM4 = 0., SDSBCK = 0., SDSABK = 1.5, SDSPBK = 4., SDSBINT = 0.3, +!SDSHCK = 1.5, WHITECAPWIDTH = 0.3, SDSSTRAIN = 0., SDSFACMTF = 400, +!SDSSTRAINA = 15., SDSSTRAIN2 = 0., WHITECAPDUR = 0.56, SDSBT = 1.100E-3, +!SDSL = 3.5000e-05, SPMSS = 0.5, SDSNMTF = 1.5, SDSCUMP = 2., SDSMWD = .9, +!SDSMWPOW = 1. SDKOF = 3. / +! Switch ST6 +!&SIN6 SINA0 = 0.09, SINWS = 32.0, SINFC = 6.0 / +! Switch ST6 +!&SDS6 SDSET = .TRUE., SDSA1 = 4.75E-06, SDSP1 = 4, SDSA2 = 7.00E-05, +!SDSP2 = 4 / +! Switch ST6 +!&SWL6 CSTB1 = .FALSE., SWLB1 = 0.41E-02 / +! Switch BT1 +!&SBT1 GAMMA = -0.067 / +! Switch BT4 +!&SBT4 SEDMAPD50 = .FALSE., SED_D50_UNIFORM = 2.E-4, RIPFAC1 = 0.4, +!RIPFAC2 = -2.5, RIPFAC3 = 1.2, RIPFAC4 = 0.05, SIGDEPTH = 0.05, +!BOTROUGHMIN = 0.01, BOTROUGHFAC = 1.00 / +! Switch DB1 +!&SDB1 BJALFA = 1., BJGAM = 0.73, BJFLAG = .TRUE. / +! Switch UOST +!&UOST UOSTFILELOCAL = 'obstructions_local.name.in', +!UOSTFILESHADOW = 'obstructions_shadow.name.in', UOSTFACTORLOCAL = 1, +!UOSTFACTORSHADOW = 1 / +! Switch PR1 +!&PRO1 CFLTM = 0.7 / +! Switch PR2 +!&PRO2 CFLTM = 0.7, DTIME = 0., LATMIN = 70. / +! Switch SMC +!&PSMC CFLTM = 0.7, LVSMC = 1, ISHFT = 0, JEQT = 0, NBISMC = 0, +!DTIME = 0.0, LATMIN = 86.0, RFMAXD = 80.0, UNO3 = .FALSE., +!AVERG = .FALSE., SEAWND = .FALSE. / +! Switch PR3 +!&PRO3 CFLTM = 0.7, WDTHCG = 1.5, WDTHTH = 1.5 / +&UNST UGOBCAUTO = .TRUE., UGBCCFL = .TRUE., UGOBCDEPTH= -10., +UGOBCFILE = 'unset', EXPFSN = .TRUE., EXPFSPSI = .FALSE., +EXPFSFCT = .FALSE., IMPFSN = .FALSE., IMPTOTAL = .FALSE., +EXPTOTAL = .FALSE., IMPREFRACTION = .FALSE., IMPFREQSHIFT = .FALSE., +IMPSOURCE = .FALSE., SETUP_APPLY_WLV = .FALSE., SOLVERTHR_SETUP = 1E-14, +CRIT_DEP_SETUP = 0.1, JGS_TERMINATE_MAXITER = .TRUE., +JGS_TERMINATE_DIFFERENCE = .TRUE., JGS_TERMINATE_NORM = .FALSE., +JGS_LIMITER = .FALSE., JGS_BLOCK_GAUSS_SEIDEL = .TRUE., +JGS_USE_JACOBI = .TRUE., JGS_MAXITER = 100, JGS_PMIN = 1, +JGS_DIFF_THR = 1.E-10, JGS_NORM_THR = 1.E-20, JGS_NLEVEL = 0, +JGS_SOURCE_NONLINEAR = .FALSE. / +&MISC CICE0 = 0.5, CICEN = 0.5, LICE = 0., ICEHFAC = 1.0, ICEHMIN = 0.2, +ICEHINIT = 0.5, ICESLN = 1.0, ICEWIND = 1.0, ICESNL = 1.0, ICESDS = 1.0, +ICEHDISP = 0.6, ICEDDISP = 80, ICEFDISP = 2, GSHIFT = 0.0D0, PMOVE = 0.5, +XSEED = 1., FLAGTR = 0, XP = 0.15, XR = 0.10, XFILT = 0.05, IHM = 100, +HSPM = 0.05, WSM = 1.7, WSC = 0.333, FLC = .TRUE., TRCKCMPR = .TRUE., +NOSW = 5, PTM = 1, PTFC = 0.1, FMICHE = 1.6, RWNDC = 1., WCOR1 = 99., +WCOR2 = 0., BTBET = 1.2, STDX = -1., STDY = -1., STDT = -1., +ICEDISP = .FALSE., CALTYPE = 'standard', FACBERG=1. / +&OUTS E3D = 0, I1E3D = 1, I2E3D = 32, P2SF = 0, I1P2SF = 1, +I2P2SF = 15, US3D = 0, I1US3D = 1, I2US3D = 32, USSP = 0, +IUSSP = 1, STK_WN(:) = 0.0, STK_WN(1) = 0.00628, TH1MF = 0, +I1TH1M = 1, I2TH1M = 32, STH1MF = 0, I1STH1M = 1, I2STH1M = 32, +TH2MF = 0, I1TH2M = 1, I2TH2M = 32, STH2MF = 0, I1STH2M = 1. +I2STH2M = 32 / +! Switch ISI1 +!&SIS1 ISC1 = 1., ISC2 = 0. / +! Switch ISI2 +!&SIS2 ISC1 = 1., IS2C2 = 0., IS2C3 = 0., IS2CONC = 0., IS2BACKSCAT = 1., +!IS2BREAK = .FALSE., IS2BREAKF = 3.6, IS2FLEXSTR = 6.00E+05, +!IS2ISOSCAT = .TRUE., IS2DISP = .FALSE., IS2DUPDATE = .TRUE., +!IS2FRAGILITY = 0.9, IS2DMIN = 20, IS2DAMP = 0., IS2CREEPB = 0., +!IS2CREEPC = 0.4, IS2CREEPD = 0.5, IS2CREEPN = 3.0, IS2BREAKE = 1., +!IS2WIM1 = 1., IS2ANDISB = .TRUE., IS2ANDISE = 0.55, IS2ANDISD = 2.0E-9, +!IS2ANDISN = 1. / +! Switch REF1 +!&REF1 REFCOAST = 0., REFMAP = 0., REFMAPD = 0., REFRMAX = 1., +!REFFREQPOW = 2., REFFREQ = 0., REFCOSP_STRAIGHT = 4., +!REFSLOPE = 0.22, REFSUBGRID = 0., REFICEBERG = 0., REFUNSTSOURCE = 0. / +! Switch RTD +!&ROTD PLAT = -999.9, PLON = -999.9, UNROT = .TRUE. / +END OF NAMELISTS diff --git a/regtests/bin/matrix.base b/regtests/bin/matrix.base index f424e85b0..314590289 100755 --- a/regtests/bin/matrix.base +++ b/regtests/bin/matrix.base @@ -31,7 +31,7 @@ prop1D prop2D time fetch hur1mg \ multi01 multi02 multi03 multi04 multi05 \ hybd shwtr unstr pdlib smcgr mudice infgrv \ - uost assim multi06 multi07 multi08 + uost assim calendar multi06 multi07 multi08 do eval " value=\$$par" # echo "$par = $value" @@ -84,7 +84,8 @@ echo " echo ' Multi 06 (curv. + reg. grds) : $multi06'" >> matrix.head echo " echo ' Multi 07 (unstr. + reg. grds) : $multi07'" >> matrix.head echo " echo ' Multi 08 (with ice) : $multi08'" >> matrix.head - echo " echo ' Assim Update of the restart file : $assim'" >> matrix.head + echo " echo ' Assim Update of the restart file : $assim'" >> matrix.head + echo " echo ' Calendar type : $calendar'" >> matrix.head echo " echo ' '" >> matrix.head if [ -n "$filter" ] then @@ -2002,6 +2003,16 @@ echo "$rtst -s ST4 -w work_UPD6_U_cap -i input_UPD6_U_cap $ww3 ww3_ta1" >> matrix.body fi +# 365_day and 360_day calendars, no switch sharing here + + if [ "$calendar" = 'y' ] && [ "$shrd" = 'y' ] + then + echo ' ' >> matrix.body + echo "$rtst -g STD -w work_STD -o netcdf $ww3 ww3_tc1" >> matrix.body + echo "$rtst -g C360 -w work_C360 -o netcdf $ww3 ww3_tc1" >> matrix.body + echo "$rtst -g C365 -w work_C365 -o netcdf $ww3 ww3_tc1" >> matrix.body + fi + # --------------------------------------------------------------------------- # # 3. End of script output # # --------------------------------------------------------------------------- # diff --git a/regtests/bin/matrix_ukmo_cray b/regtests/bin/matrix_ukmo_cray index f40eec117..eedd6492a 100755 --- a/regtests/bin/matrix_ukmo_cray +++ b/regtests/bin/matrix_ukmo_cray @@ -122,6 +122,7 @@ fi export infgrv='y' # Second harmonic generation tests export uost='y' # ww3_ts4 Unresolved Obstacles Source Term (UOST) export assim='y' # Restart spectra update + export calendar='y' # Calendar type export multi01='y' # mww3_test_01 (wetting and drying) export multi02='y' # mww3_test_02 (basic two-way nesting test)) diff --git a/regtests/ww3_tc1/info b/regtests/ww3_tc1/info new file mode 100644 index 000000000..d7c9f0700 --- /dev/null +++ b/regtests/ww3_tc1/info @@ -0,0 +1,37 @@ +############################################################################# +# # +# ww3_tc1 Test script for WW-III, 365_day and 360_day calendar # +# # +# Model should be compiled with the switches : # +# # +# !/FLn !/LNn !/STn !/NLn !/BTn !/DBn !/TRn !/BSn !/XXn # +# Select source term, growth needed, other opt. # +# !/PR0 No propagation. # +# !/WNX1 !/WNT1 !/CRX1 !/CRT1 Wind and current interpolation. # +# !/O1 !/O2 !/O3 !/O4 !/O5 !/O6 !/O7 Sdt out output options. # +# # +# # +# - No other optional switches should be used. # +# - Test case input (default): # +# * ww3_grid.inp : (default) # +# + dry run # +# + one point grid without propagation. # +# + Spectral grid: ntheta = 24, nf = 25 f1 = 0.042 , fgamma = 1.1 # +# * switch options : # +# + switch : WAM 3 phyics. # +# # +# Example run_test commands: # +# (some details will vary by local system and configuration) # +# ./bin/run_test -g STD -w work_STD -o netcdf ../model ww3_tc1 # +# ./bin/run_test -g C360 -w work_C360 -o netcdf ../model ww3_tc1 # +# ./bin/run_test -g C365 -w work_C365 -o netcdf ../model ww3_tc1 # +# +# Hendrik Tolman, Jun 2002 # +# Last Mod : Jun 2020 # +# # +# Copyright 2009-2013 National Weather Service (NWS), # +# National Oceanic and Atmospheric Administration. All rights # +# reserved. WAVEWATCH III is a trademark of the NWS. # +# No unauthorized use without permission. # +# # +############################################################################# diff --git a/regtests/ww3_tc1/input/STANDARD.depth b/regtests/ww3_tc1/input/STANDARD.depth new file mode 100644 index 000000000..863a9b9d1 --- /dev/null +++ b/regtests/ww3_tc1/input/STANDARD.depth @@ -0,0 +1,3 @@ +1 1 1 +1 1 1 +1 1 1 diff --git a/regtests/ww3_tc1/input/namelists_360_day.nml b/regtests/ww3_tc1/input/namelists_360_day.nml new file mode 100644 index 000000000..5859c1517 --- /dev/null +++ b/regtests/ww3_tc1/input/namelists_360_day.nml @@ -0,0 +1,2 @@ +&MISC XP = 0.075, CALTYPE = '360_day' / +END OF NAMELISTS diff --git a/regtests/ww3_tc1/input/namelists_365_day.nml b/regtests/ww3_tc1/input/namelists_365_day.nml new file mode 100644 index 000000000..97515bbe2 --- /dev/null +++ b/regtests/ww3_tc1/input/namelists_365_day.nml @@ -0,0 +1,2 @@ +&MISC XP = 0.075, CALTYPE = '365_day' / +END OF NAMELISTS diff --git a/regtests/ww3_tc1/input/namelists_standard.nml b/regtests/ww3_tc1/input/namelists_standard.nml new file mode 100644 index 000000000..9dcc95499 --- /dev/null +++ b/regtests/ww3_tc1/input/namelists_standard.nml @@ -0,0 +1,2 @@ +&MISC XP = 0.075, CALTYPE = 'standard' / +END OF NAMELISTS diff --git a/regtests/ww3_tc1/input/points.list b/regtests/ww3_tc1/input/points.list new file mode 100644 index 000000000..5ad8fde50 --- /dev/null +++ b/regtests/ww3_tc1/input/points.list @@ -0,0 +1 @@ +0.0 0.0 'The_point' diff --git a/regtests/ww3_tc1/input/switch b/regtests/ww3_tc1/input/switch new file mode 100644 index 000000000..18b3596c9 --- /dev/null +++ b/regtests/ww3_tc1/input/switch @@ -0,0 +1 @@ +F90 NC4 NOGRB SHRD PR0 FLX1 LN1 ST1 NL1 BT1 DB1 TR0 BS0 IC0 IS0 REF0 XX0 WNT1 WNX1 CRT1 CRX1 O0 O1 O2 O3 O4 O5 O6 O7 O10 O11 diff --git a/regtests/ww3_tc1/input/ww3_grid_C360.inp b/regtests/ww3_tc1/input/ww3_grid_C360.inp new file mode 100644 index 000000000..b4314da20 --- /dev/null +++ b/regtests/ww3_tc1/input/ww3_grid_C360.inp @@ -0,0 +1,30 @@ +$ WAVEWATCH III Grid preprocessor input file +$ ------------------------------------------ + '360_day SOURCE TERM TEST ' +$ + 1.10 0.0347 32 36 0.5 +$ + T F F F F T + 86400. 600. 600. 15. +$ + &MISC XP = 0.075, CALTYPE = '360_day' / +END OF NAMELISTS +$ + 'RECT' T 'NONE' + 3 3 + 1. 1. 1.E-2 + -1. -1. 1.E-2 +$ + -5. 5.75 10 -2500. 3 1 '(....)' 'UNIT' 'input' +$ + 1 1 1 + 1 1 1 + 1 1 1 +$ + 10 1 1 '(....)' 'PART' 'input' +$ + 0 0 F + 0 0 F + 0 0 +$ + 0. 0. 0. 0. 0 diff --git a/regtests/ww3_tc1/input/ww3_grid_C360.nml b/regtests/ww3_tc1/input/ww3_grid_C360.nml new file mode 100644 index 000000000..188101af4 --- /dev/null +++ b/regtests/ww3_tc1/input/ww3_grid_C360.nml @@ -0,0 +1,227 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_grid.nml - Grid pre-processing ! +! -------------------------------------------------------------------- ! + +! -------------------------------------------------------------------- ! +! Define the spectrum parameterization via SPECTRUM_NML namelist +! +! * namelist must be terminated with / +! * definitions & defaults: +! SPECTRUM%XFR = 0. ! frequency increment +! SPECTRUM%FREQ1 = 0. ! first frequency (Hz) +! SPECTRUM%NK = 0 ! number of frequencies (wavenumbers) +! SPECTRUM%NTH = 0 ! number of direction bins +! SPECTRUM%THOFF = 0. ! relative offset of first direction [-0.5,0.5] +! -------------------------------------------------------------------- ! +&SPECTRUM_NML + SPECTRUM%XFR = 1.10 + SPECTRUM%FREQ1 = 0.0347 + SPECTRUM%NK = 32 + SPECTRUM%NTH = 36 + SPECTRUM%THOFF = 0.5 +/ + +! -------------------------------------------------------------------- ! +! Define the run parameterization via RUN_NML namelist +! +! * namelist must be terminated with / +! * definitions & defaults: +! RUN%FLDRY = F ! dry run (I/O only, no calculation) +! RUN%FLCX = F ! x-component of propagation +! RUN%FLCY = F ! y-component of propagation +! RUN%FLCTH = F ! direction shift +! RUN%FLCK = F ! wavenumber shift +! RUN%FLSOU = F ! source terms +! -------------------------------------------------------------------- ! +&RUN_NML + RUN%FLDRY = T + RUN%FLSOU = T +/ + +! -------------------------------------------------------------------- ! +! Define the timesteps parameterization via TIMESTEPS_NML namelist +! +! * It is highly recommended to set up time steps which are multiple +! between them. +! +! * The first time step to calculate is the maximum CFL time step +! which depend on the lowest frequency FREQ1 previously set up and the +! lowest spatial grid resolution in meters DXY. +! reminder : 1 degree=60minutes // 1minute=1mile // 1mile=1.852km +! The formula for the CFL time is : +! Tcfl = DXY / (G / (FREQ1*4*Pi) ) with the constants Pi=3,14 and G=9.8m/s²; +! DTXY ~= 90% Tcfl +! DTMAX ~= 3 * DTXY (maximum global time step limit) +! +! * The refraction time step depends on how strong can be the current velocities +! on your grid : +! DTKTH ~= DTMAX / 2 ! in case of no or light current velocities +! DTKTH ~= DTMAX / 10 ! in case of strong current velocities +! +! * The source terms time step is usually defined between 5s and 60s. +! A common value is 10s. +! DTMIN ~= 10 +! +! * namelist must be terminated with / +! * definitions & defaults: +! TIMESTEPS%DTMAX = 0. ! maximum global time step (s) +! TIMESTEPS%DTXY = 0. ! maximum CFL time step for x-y (s) +! TIMESTEPS%DTKTH = 0. ! maximum CFL time step for k-th (s) +! TIMESTEPS%DTMIN = 0. ! minimum source term time step (s) +! -------------------------------------------------------------------- ! +&TIMESTEPS_NML + TIMESTEPS%DTMAX = 86400. + TIMESTEPS%DTXY = 600. + TIMESTEPS%DTKTH = 600. + TIMESTEPS%DTMIN = 15. +/ + +! -------------------------------------------------------------------- ! +! Define the grid to preprocess via GRID_NML namelist +! +! * the tunable parameters for source terms, propagation schemes, and +! numerics are read using namelists. +! * Any namelist found in the folowing sections is temporarily written +! to param.scratch, and read from there if necessary. +! * The order of the namelists is immaterial. +! * Namelists not needed for the given switch settings will be skipped +! automatically +! +! * grid type can be : +! 'RECT' : rectilinear +! 'CURV' : curvilinear +! 'UNST' : unstructured (triangle-based) +! +! * coordinate system can be : +! 'SPHE' : Spherical (degrees) +! 'CART' : Cartesian (meters) +! +! * grid closure can only be applied in spherical coordinates +! +! * grid closure can be : +! 'NONE' : No closure is applied +! 'SMPL' : Simple grid closure. Grid is periodic in the +! : i-index and wraps at i=NX+1. In other words, +! : (NX+1,J) => (1,J). A grid with simple closure +! : may be rectilinear or curvilinear. +! 'TRPL' : Tripole grid closure : Grid is periodic in the +! : i-index and wraps at i=NX+1 and has closure at +! : j=NY+1. In other words, (NX+1,J<=NY) => (1,J) +! : and (I,NY+1) => (NX-I+1,NY). Tripole +! : grid closure requires that NX be even. A grid +! : with tripole closure must be curvilinear. +! +! * The coastline limit depth is the value which distinguish the sea +! points to the land points. All the points with depth values (ZBIN) +! greater than this limit (ZLIM) will be considered as excluded points +! and will never be wet points, even if the water level grows over. +! It can only overwrite the status of a sea point to a land point. +! The value must have a negative value under the mean sea level +! +! * The minimum water depth allowed to compute the model is the absolute +! depth value (DMIN) used in the model if the input depth is lower to +! avoid the model to blow up. +! +! * namelist must be terminated with / +! * definitions & defaults: +! GRID%NAME = 'unset' ! grid name (30 char) +! GRID%NML = 'namelists.nml' ! namelists filename +! GRID%TYPE = 'unset' ! grid type +! GRID%COORD = 'unset' ! coordinate system +! GRID%CLOS = 'unset' ! grid closure +! +! GRID%ZLIM = 0. ! coastline limit depth (m) +! GRID%DMIN = 0. ! abs. minimum water depth (m) +! -------------------------------------------------------------------- ! +&GRID_NML + GRID%NAME = '360_day SOURCE TERM TEST' + GRID%NML = '../input/namelists_360_day.nml' + GRID%TYPE = 'RECT' + GRID%COORD = 'SPHE' + GRID%CLOS = 'NONE' + GRID%ZLIM = -5. + GRID%DMIN = 5.75 +/ + +! -------------------------------------------------------------------- ! +! Define the rectilinear grid type via RECT_NML namelist +! - only for RECT grids - +! +! * The minimum grid size is 3x3. +! +! * If the grid increments SX and SY are given in minutes of arc, the scaling +! factor SF must be set to 60. to provide an increment factor in degree. +! +! * If CSTRG='SMPL', then SX is forced to 360/NX. +! +! * value <= value_read / scale_fac +! +! * namelist must be terminated with / +! * definitions & defaults: +! RECT%NX = 0 ! number of points along x-axis +! RECT%NY = 0 ! number of points along y-axis +! +! RECT%SX = 0. ! grid increment along x-axis +! RECT%SY = 0. ! grid increment along y-axis +! RECT%SF = 1. ! scaling division factor for x-y axis +! +! RECT%X0 = 0. ! x-coordinate of lower-left corner (deg) +! RECT%Y0 = 0. ! y-coordinate of lower-left corner (deg) +! RECT%SF0 = 1. ! scaling division factor for x0,y0 coord +! -------------------------------------------------------------------- ! +&RECT_NML + RECT%NX = 3 + RECT%NY = 3 + RECT%SX = 1. + RECT%SY = 1. + RECT%SF = 1.E-2 + RECT%X0 = -1. + RECT%Y0 = -1. + RECT%SF0 = 1.E-2 +/ + +! -------------------------------------------------------------------- ! +! Define the depth to preprocess via DEPTH_NML namelist +! - for RECT and CURV grids - +! +! * if no obstruction subgrid, need to set &MISC FLAGTR = 0 +! +! * The depth value must have negative values under the mean sea level +! +! * value <= value_read * scale_fac +! +! * IDLA : Layout indicator : +! 1 : Read line-by-line bottom to top. (default) +! 2 : Like 1, single read statement. +! 3 : Read line-by-line top to bottom. +! 4 : Like 3, single read statement. +! * IDFM : format indicator : +! 1 : Free format. (default) +! 2 : Fixed format. +! 3 : Unformatted. +! * FORMAT : element format to read : +! '(....)' : auto detected (default) +! '(f10.6)' : float type +! +! * Example : +! IDF SF IDLA IDFM FORMAT FILENAME +! 50 0.001 1 1 '(....)' 'GLOB-30M.bot' +! +! * namelist must be terminated with / +! * definitions & defaults: +! DEPTH%SF = 1. ! scale factor +! DEPTH%FILENAME = 'unset' ! filename +! DEPTH%IDF = 50 ! file unit number +! DEPTH%IDLA = 1 ! layout indicator +! DEPTH%IDFM = 1 ! format indicator +! DEPTH%FORMAT = '(....)' ! formatted read format +! -------------------------------------------------------------------- ! +&DEPTH_NML + DEPTH%SF = -2500. + DEPTH%FILENAME = '../input/STANDARD.depth' + DEPTH%IDLA = 3 +/ + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! diff --git a/regtests/ww3_tc1/input/ww3_grid_C365.inp b/regtests/ww3_tc1/input/ww3_grid_C365.inp new file mode 100644 index 000000000..4688fa4b6 --- /dev/null +++ b/regtests/ww3_tc1/input/ww3_grid_C365.inp @@ -0,0 +1,30 @@ +$ WAVEWATCH III Grid preprocessor input file +$ ------------------------------------------ + '365_day SOURCE TERM TEST ' +$ + 1.10 0.0347 32 36 0.5 +$ + T F F F F T + 86400. 600. 600. 15. +$ + &MISC XP = 0.075, CALTYPE = '365_day' / +END OF NAMELISTS +$ + 'RECT' T 'NONE' + 3 3 + 1. 1. 1.E-2 + -1. -1. 1.E-2 +$ + -5. 5.75 10 -2500. 3 1 '(....)' 'UNIT' 'input' +$ + 1 1 1 + 1 1 1 + 1 1 1 +$ + 10 1 1 '(....)' 'PART' 'input' +$ + 0 0 F + 0 0 F + 0 0 +$ + 0. 0. 0. 0. 0 diff --git a/regtests/ww3_tc1/input/ww3_grid_C365.nml b/regtests/ww3_tc1/input/ww3_grid_C365.nml new file mode 100644 index 000000000..32579e18f --- /dev/null +++ b/regtests/ww3_tc1/input/ww3_grid_C365.nml @@ -0,0 +1,227 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_grid.nml - Grid pre-processing ! +! -------------------------------------------------------------------- ! + +! -------------------------------------------------------------------- ! +! Define the spectrum parameterization via SPECTRUM_NML namelist +! +! * namelist must be terminated with / +! * definitions & defaults: +! SPECTRUM%XFR = 0. ! frequency increment +! SPECTRUM%FREQ1 = 0. ! first frequency (Hz) +! SPECTRUM%NK = 0 ! number of frequencies (wavenumbers) +! SPECTRUM%NTH = 0 ! number of direction bins +! SPECTRUM%THOFF = 0. ! relative offset of first direction [-0.5,0.5] +! -------------------------------------------------------------------- ! +&SPECTRUM_NML + SPECTRUM%XFR = 1.10 + SPECTRUM%FREQ1 = 0.0347 + SPECTRUM%NK = 32 + SPECTRUM%NTH = 36 + SPECTRUM%THOFF = 0.5 +/ + +! -------------------------------------------------------------------- ! +! Define the run parameterization via RUN_NML namelist +! +! * namelist must be terminated with / +! * definitions & defaults: +! RUN%FLDRY = F ! dry run (I/O only, no calculation) +! RUN%FLCX = F ! x-component of propagation +! RUN%FLCY = F ! y-component of propagation +! RUN%FLCTH = F ! direction shift +! RUN%FLCK = F ! wavenumber shift +! RUN%FLSOU = F ! source terms +! -------------------------------------------------------------------- ! +&RUN_NML + RUN%FLDRY = T + RUN%FLSOU = T +/ + +! -------------------------------------------------------------------- ! +! Define the timesteps parameterization via TIMESTEPS_NML namelist +! +! * It is highly recommended to set up time steps which are multiple +! between them. +! +! * The first time step to calculate is the maximum CFL time step +! which depend on the lowest frequency FREQ1 previously set up and the +! lowest spatial grid resolution in meters DXY. +! reminder : 1 degree=60minutes // 1minute=1mile // 1mile=1.852km +! The formula for the CFL time is : +! Tcfl = DXY / (G / (FREQ1*4*Pi) ) with the constants Pi=3,14 and G=9.8m/s²; +! DTXY ~= 90% Tcfl +! DTMAX ~= 3 * DTXY (maximum global time step limit) +! +! * The refraction time step depends on how strong can be the current velocities +! on your grid : +! DTKTH ~= DTMAX / 2 ! in case of no or light current velocities +! DTKTH ~= DTMAX / 10 ! in case of strong current velocities +! +! * The source terms time step is usually defined between 5s and 60s. +! A common value is 10s. +! DTMIN ~= 10 +! +! * namelist must be terminated with / +! * definitions & defaults: +! TIMESTEPS%DTMAX = 0. ! maximum global time step (s) +! TIMESTEPS%DTXY = 0. ! maximum CFL time step for x-y (s) +! TIMESTEPS%DTKTH = 0. ! maximum CFL time step for k-th (s) +! TIMESTEPS%DTMIN = 0. ! minimum source term time step (s) +! -------------------------------------------------------------------- ! +&TIMESTEPS_NML + TIMESTEPS%DTMAX = 86400. + TIMESTEPS%DTXY = 600. + TIMESTEPS%DTKTH = 600. + TIMESTEPS%DTMIN = 15. +/ + +! -------------------------------------------------------------------- ! +! Define the grid to preprocess via GRID_NML namelist +! +! * the tunable parameters for source terms, propagation schemes, and +! numerics are read using namelists. +! * Any namelist found in the folowing sections is temporarily written +! to param.scratch, and read from there if necessary. +! * The order of the namelists is immaterial. +! * Namelists not needed for the given switch settings will be skipped +! automatically +! +! * grid type can be : +! 'RECT' : rectilinear +! 'CURV' : curvilinear +! 'UNST' : unstructured (triangle-based) +! +! * coordinate system can be : +! 'SPHE' : Spherical (degrees) +! 'CART' : Cartesian (meters) +! +! * grid closure can only be applied in spherical coordinates +! +! * grid closure can be : +! 'NONE' : No closure is applied +! 'SMPL' : Simple grid closure. Grid is periodic in the +! : i-index and wraps at i=NX+1. In other words, +! : (NX+1,J) => (1,J). A grid with simple closure +! : may be rectilinear or curvilinear. +! 'TRPL' : Tripole grid closure : Grid is periodic in the +! : i-index and wraps at i=NX+1 and has closure at +! : j=NY+1. In other words, (NX+1,J<=NY) => (1,J) +! : and (I,NY+1) => (NX-I+1,NY). Tripole +! : grid closure requires that NX be even. A grid +! : with tripole closure must be curvilinear. +! +! * The coastline limit depth is the value which distinguish the sea +! points to the land points. All the points with depth values (ZBIN) +! greater than this limit (ZLIM) will be considered as excluded points +! and will never be wet points, even if the water level grows over. +! It can only overwrite the status of a sea point to a land point. +! The value must have a negative value under the mean sea level +! +! * The minimum water depth allowed to compute the model is the absolute +! depth value (DMIN) used in the model if the input depth is lower to +! avoid the model to blow up. +! +! * namelist must be terminated with / +! * definitions & defaults: +! GRID%NAME = 'unset' ! grid name (30 char) +! GRID%NML = 'namelists.nml' ! namelists filename +! GRID%TYPE = 'unset' ! grid type +! GRID%COORD = 'unset' ! coordinate system +! GRID%CLOS = 'unset' ! grid closure +! +! GRID%ZLIM = 0. ! coastline limit depth (m) +! GRID%DMIN = 0. ! abs. minimum water depth (m) +! -------------------------------------------------------------------- ! +&GRID_NML + GRID%NAME = '365_day SOURCE TERM TEST' + GRID%NML = '../input/namelists_365_day.nml' + GRID%TYPE = 'RECT' + GRID%COORD = 'SPHE' + GRID%CLOS = 'NONE' + GRID%ZLIM = -5. + GRID%DMIN = 5.75 +/ + +! -------------------------------------------------------------------- ! +! Define the rectilinear grid type via RECT_NML namelist +! - only for RECT grids - +! +! * The minimum grid size is 3x3. +! +! * If the grid increments SX and SY are given in minutes of arc, the scaling +! factor SF must be set to 60. to provide an increment factor in degree. +! +! * If CSTRG='SMPL', then SX is forced to 360/NX. +! +! * value <= value_read / scale_fac +! +! * namelist must be terminated with / +! * definitions & defaults: +! RECT%NX = 0 ! number of points along x-axis +! RECT%NY = 0 ! number of points along y-axis +! +! RECT%SX = 0. ! grid increment along x-axis +! RECT%SY = 0. ! grid increment along y-axis +! RECT%SF = 1. ! scaling division factor for x-y axis +! +! RECT%X0 = 0. ! x-coordinate of lower-left corner (deg) +! RECT%Y0 = 0. ! y-coordinate of lower-left corner (deg) +! RECT%SF0 = 1. ! scaling division factor for x0,y0 coord +! -------------------------------------------------------------------- ! +&RECT_NML + RECT%NX = 3 + RECT%NY = 3 + RECT%SX = 1. + RECT%SY = 1. + RECT%SF = 1.E-2 + RECT%X0 = -1. + RECT%Y0 = -1. + RECT%SF0 = 1.E-2 +/ + +! -------------------------------------------------------------------- ! +! Define the depth to preprocess via DEPTH_NML namelist +! - for RECT and CURV grids - +! +! * if no obstruction subgrid, need to set &MISC FLAGTR = 0 +! +! * The depth value must have negative values under the mean sea level +! +! * value <= value_read * scale_fac +! +! * IDLA : Layout indicator : +! 1 : Read line-by-line bottom to top. (default) +! 2 : Like 1, single read statement. +! 3 : Read line-by-line top to bottom. +! 4 : Like 3, single read statement. +! * IDFM : format indicator : +! 1 : Free format. (default) +! 2 : Fixed format. +! 3 : Unformatted. +! * FORMAT : element format to read : +! '(....)' : auto detected (default) +! '(f10.6)' : float type +! +! * Example : +! IDF SF IDLA IDFM FORMAT FILENAME +! 50 0.001 1 1 '(....)' 'GLOB-30M.bot' +! +! * namelist must be terminated with / +! * definitions & defaults: +! DEPTH%SF = 1. ! scale factor +! DEPTH%FILENAME = 'unset' ! filename +! DEPTH%IDF = 50 ! file unit number +! DEPTH%IDLA = 1 ! layout indicator +! DEPTH%IDFM = 1 ! format indicator +! DEPTH%FORMAT = '(....)' ! formatted read format +! -------------------------------------------------------------------- ! +&DEPTH_NML + DEPTH%SF = -2500. + DEPTH%FILENAME = '../input/STANDARD.depth' + DEPTH%IDLA = 3 +/ + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! diff --git a/regtests/ww3_tc1/input/ww3_grid_STD.inp b/regtests/ww3_tc1/input/ww3_grid_STD.inp new file mode 100644 index 000000000..76d054917 --- /dev/null +++ b/regtests/ww3_tc1/input/ww3_grid_STD.inp @@ -0,0 +1,30 @@ +$ WAVEWATCH III Grid preprocessor input file +$ ------------------------------------------ + 'STANDARD SOURCE TERM TEST ' +$ + 1.10 0.0347 32 36 0.5 +$ + T F F F F T + 86400. 600. 600. 15. +$ + &MISC XP = 0.075, CALTYPE = 'standard' / +END OF NAMELISTS +$ + 'RECT' T 'NONE' + 3 3 + 1. 1. 1.E-2 + -1. -1. 1.E-2 +$ + -5. 5.75 10 -2500. 3 1 '(....)' 'UNIT' 'input' +$ + 1 1 1 + 1 1 1 + 1 1 1 +$ + 10 1 1 '(....)' 'PART' 'input' +$ + 0 0 F + 0 0 F + 0 0 +$ + 0. 0. 0. 0. 0 diff --git a/regtests/ww3_tc1/input/ww3_grid_STD.nml b/regtests/ww3_tc1/input/ww3_grid_STD.nml new file mode 100644 index 000000000..270299532 --- /dev/null +++ b/regtests/ww3_tc1/input/ww3_grid_STD.nml @@ -0,0 +1,227 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_grid.nml - Grid pre-processing ! +! -------------------------------------------------------------------- ! + +! -------------------------------------------------------------------- ! +! Define the spectrum parameterization via SPECTRUM_NML namelist +! +! * namelist must be terminated with / +! * definitions & defaults: +! SPECTRUM%XFR = 0. ! frequency increment +! SPECTRUM%FREQ1 = 0. ! first frequency (Hz) +! SPECTRUM%NK = 0 ! number of frequencies (wavenumbers) +! SPECTRUM%NTH = 0 ! number of direction bins +! SPECTRUM%THOFF = 0. ! relative offset of first direction [-0.5,0.5] +! -------------------------------------------------------------------- ! +&SPECTRUM_NML + SPECTRUM%XFR = 1.10 + SPECTRUM%FREQ1 = 0.0347 + SPECTRUM%NK = 32 + SPECTRUM%NTH = 36 + SPECTRUM%THOFF = 0.5 +/ + +! -------------------------------------------------------------------- ! +! Define the run parameterization via RUN_NML namelist +! +! * namelist must be terminated with / +! * definitions & defaults: +! RUN%FLDRY = F ! dry run (I/O only, no calculation) +! RUN%FLCX = F ! x-component of propagation +! RUN%FLCY = F ! y-component of propagation +! RUN%FLCTH = F ! direction shift +! RUN%FLCK = F ! wavenumber shift +! RUN%FLSOU = F ! source terms +! -------------------------------------------------------------------- ! +&RUN_NML + RUN%FLDRY = T + RUN%FLSOU = T +/ + +! -------------------------------------------------------------------- ! +! Define the timesteps parameterization via TIMESTEPS_NML namelist +! +! * It is highly recommended to set up time steps which are multiple +! between them. +! +! * The first time step to calculate is the maximum CFL time step +! which depend on the lowest frequency FREQ1 previously set up and the +! lowest spatial grid resolution in meters DXY. +! reminder : 1 degree=60minutes // 1minute=1mile // 1mile=1.852km +! The formula for the CFL time is : +! Tcfl = DXY / (G / (FREQ1*4*Pi) ) with the constants Pi=3,14 and G=9.8m/s²; +! DTXY ~= 90% Tcfl +! DTMAX ~= 3 * DTXY (maximum global time step limit) +! +! * The refraction time step depends on how strong can be the current velocities +! on your grid : +! DTKTH ~= DTMAX / 2 ! in case of no or light current velocities +! DTKTH ~= DTMAX / 10 ! in case of strong current velocities +! +! * The source terms time step is usually defined between 5s and 60s. +! A common value is 10s. +! DTMIN ~= 10 +! +! * namelist must be terminated with / +! * definitions & defaults: +! TIMESTEPS%DTMAX = 0. ! maximum global time step (s) +! TIMESTEPS%DTXY = 0. ! maximum CFL time step for x-y (s) +! TIMESTEPS%DTKTH = 0. ! maximum CFL time step for k-th (s) +! TIMESTEPS%DTMIN = 0. ! minimum source term time step (s) +! -------------------------------------------------------------------- ! +&TIMESTEPS_NML + TIMESTEPS%DTMAX = 86400. + TIMESTEPS%DTXY = 600. + TIMESTEPS%DTKTH = 600. + TIMESTEPS%DTMIN = 15. +/ + +! -------------------------------------------------------------------- ! +! Define the grid to preprocess via GRID_NML namelist +! +! * the tunable parameters for source terms, propagation schemes, and +! numerics are read using namelists. +! * Any namelist found in the folowing sections is temporarily written +! to param.scratch, and read from there if necessary. +! * The order of the namelists is immaterial. +! * Namelists not needed for the given switch settings will be skipped +! automatically +! +! * grid type can be : +! 'RECT' : rectilinear +! 'CURV' : curvilinear +! 'UNST' : unstructured (triangle-based) +! +! * coordinate system can be : +! 'SPHE' : Spherical (degrees) +! 'CART' : Cartesian (meters) +! +! * grid closure can only be applied in spherical coordinates +! +! * grid closure can be : +! 'NONE' : No closure is applied +! 'SMPL' : Simple grid closure. Grid is periodic in the +! : i-index and wraps at i=NX+1. In other words, +! : (NX+1,J) => (1,J). A grid with simple closure +! : may be rectilinear or curvilinear. +! 'TRPL' : Tripole grid closure : Grid is periodic in the +! : i-index and wraps at i=NX+1 and has closure at +! : j=NY+1. In other words, (NX+1,J<=NY) => (1,J) +! : and (I,NY+1) => (NX-I+1,NY). Tripole +! : grid closure requires that NX be even. A grid +! : with tripole closure must be curvilinear. +! +! * The coastline limit depth is the value which distinguish the sea +! points to the land points. All the points with depth values (ZBIN) +! greater than this limit (ZLIM) will be considered as excluded points +! and will never be wet points, even if the water level grows over. +! It can only overwrite the status of a sea point to a land point. +! The value must have a negative value under the mean sea level +! +! * The minimum water depth allowed to compute the model is the absolute +! depth value (DMIN) used in the model if the input depth is lower to +! avoid the model to blow up. +! +! * namelist must be terminated with / +! * definitions & defaults: +! GRID%NAME = 'unset' ! grid name (30 char) +! GRID%NML = 'namelists.nml' ! namelists filename +! GRID%TYPE = 'unset' ! grid type +! GRID%COORD = 'unset' ! coordinate system +! GRID%CLOS = 'unset' ! grid closure +! +! GRID%ZLIM = 0. ! coastline limit depth (m) +! GRID%DMIN = 0. ! abs. minimum water depth (m) +! -------------------------------------------------------------------- ! +&GRID_NML + GRID%NAME = 'STANDARD SOURCE TERM TEST' + GRID%NML = '../input/namelists_standard.nml' + GRID%TYPE = 'RECT' + GRID%COORD = 'SPHE' + GRID%CLOS = 'NONE' + GRID%ZLIM = -5. + GRID%DMIN = 5.75 +/ + +! -------------------------------------------------------------------- ! +! Define the rectilinear grid type via RECT_NML namelist +! - only for RECT grids - +! +! * The minimum grid size is 3x3. +! +! * If the grid increments SX and SY are given in minutes of arc, the scaling +! factor SF must be set to 60. to provide an increment factor in degree. +! +! * If CSTRG='SMPL', then SX is forced to 360/NX. +! +! * value <= value_read / scale_fac +! +! * namelist must be terminated with / +! * definitions & defaults: +! RECT%NX = 0 ! number of points along x-axis +! RECT%NY = 0 ! number of points along y-axis +! +! RECT%SX = 0. ! grid increment along x-axis +! RECT%SY = 0. ! grid increment along y-axis +! RECT%SF = 1. ! scaling division factor for x-y axis +! +! RECT%X0 = 0. ! x-coordinate of lower-left corner (deg) +! RECT%Y0 = 0. ! y-coordinate of lower-left corner (deg) +! RECT%SF0 = 1. ! scaling division factor for x0,y0 coord +! -------------------------------------------------------------------- ! +&RECT_NML + RECT%NX = 3 + RECT%NY = 3 + RECT%SX = 1. + RECT%SY = 1. + RECT%SF = 1.E-2 + RECT%X0 = -1. + RECT%Y0 = -1. + RECT%SF0 = 1.E-2 +/ + +! -------------------------------------------------------------------- ! +! Define the depth to preprocess via DEPTH_NML namelist +! - for RECT and CURV grids - +! +! * if no obstruction subgrid, need to set &MISC FLAGTR = 0 +! +! * The depth value must have negative values under the mean sea level +! +! * value <= value_read * scale_fac +! +! * IDLA : Layout indicator : +! 1 : Read line-by-line bottom to top. (default) +! 2 : Like 1, single read statement. +! 3 : Read line-by-line top to bottom. +! 4 : Like 3, single read statement. +! * IDFM : format indicator : +! 1 : Free format. (default) +! 2 : Fixed format. +! 3 : Unformatted. +! * FORMAT : element format to read : +! '(....)' : auto detected (default) +! '(f10.6)' : float type +! +! * Example : +! IDF SF IDLA IDFM FORMAT FILENAME +! 50 0.001 1 1 '(....)' 'GLOB-30M.bot' +! +! * namelist must be terminated with / +! * definitions & defaults: +! DEPTH%SF = 1. ! scale factor +! DEPTH%FILENAME = 'unset' ! filename +! DEPTH%IDF = 50 ! file unit number +! DEPTH%IDLA = 1 ! layout indicator +! DEPTH%IDFM = 1 ! format indicator +! DEPTH%FORMAT = '(....)' ! formatted read format +! -------------------------------------------------------------------- ! +&DEPTH_NML + DEPTH%SF = -2500. + DEPTH%FILENAME = '../input/STANDARD.depth' + DEPTH%IDLA = 3 +/ + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! diff --git a/regtests/ww3_tc1/input/ww3_ounf.inp b/regtests/ww3_tc1/input/ww3_ounf.inp new file mode 100644 index 000000000..ec821a4b2 --- /dev/null +++ b/regtests/ww3_tc1/input/ww3_ounf.inp @@ -0,0 +1,41 @@ +$ -------------------------------------------------------------------- $ +$ WAVEWATCH III Grid output post-processing $ +$--------------------------------------------------------------------- $ +$ Time, time increment and number of outputs +$ + 19680228 000000 86400 99 +$ +$ +$ Output request flags identifying fields as in ww3_shel.inp. See that +$ file for a full documentation of field output options. Namelist type +$ selection is used here (for alternative F/T flags, see ww3_shel.inp). +$ + N + HS +$ +$--------------------------------------------------------------------- $ +$ NetCDF version [3,4] and variable type 4 [2 = SHORT, 3 = it depends , 4 = REAL] +$ Output type 0 1 2 [0,1,2,3,4,5] (swell partition) +$ variables T [T] or not [F] in the same file +$ + 3 3 + 0 1 2 3 + T +$ +$ -------------------------------------------------------------------- $ +$ File prefix +$ number of characters in date +$ IX, IY range +$ + ww3. + 6 + 2 2 2 2 +$ +$ For each field and time a new file is generated with the file name +$ ww3.date_xxx.nc , where date is a conventional time idicator with S3 +$ characters, +$ and xxx is a field identifier. +$ +$ -------------------------------------------------------------------- $ +$ End of input file $ +$ -------------------------------------------------------------------- $ diff --git a/regtests/ww3_tc1/input/ww3_ounf.nml b/regtests/ww3_tc1/input/ww3_ounf.nml new file mode 100644 index 000000000..4a12549bb --- /dev/null +++ b/regtests/ww3_tc1/input/ww3_ounf.nml @@ -0,0 +1,60 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III ww3_ounf.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + +! -------------------------------------------------------------------- ! +! Define the output fields to postprocess via FIELD_NML namelist +! +! * the detailed list of field names FIELD%LIST is given in ww3_shel.nml +! DPT CUR WND AST WLV ICE IBG D50 IC1 IC5 +! HS LM T02 T0M1 T01 FP DIR SPR DP HIG +! EF TH1M STH1M TH2M STH2M WN +! PHS PTP PLP PDIR PSPR PWS PDP PQP PPE PGW PSW PTM10 PT01 PT02 PEP TWS PNR +! UST CHA CGE FAW TAW TWA WCC WCF WCH WCM FWS +! SXY TWO BHD FOC TUS USS P2S USF P2L TWI FIC +! ABR UBR BED FBB TBB +! MSS MSC WL02 AXT AYT AXY +! DTD FC CFX CFD CFK +! U1 U2 +! +! * namelist must be terminated with / +! * definitions & defaults: +! FIELD%TIMESTART = '19000101 000000' ! Stop date for the output field +! FIELD%TIMESTRIDE = '0' ! Time stride for the output field +! FIELD%TIMESTOP = '29001231 000000' ! Stop date for the output field +! FIELD%TIMECOUNT = '1000000000' ! Number of time steps +! FIELD%TIMESPLIT = 6 ! [0(nodate),4(yearly),6(monthly),8(daily),10(hourly)] +! FIELD%LIST = 'unset' ! List of output fields +! FIELD%PARTITION = '0 1 2 3' ! List of wave partitions ['0 1 2 3 4 5'] +! FIELD%SAMEFILE = T ! All the variables in the same file [T|F] +! FIELD%TYPE = 3 ! [2 = SHORT, 3 = it depends , 4 = REAL] +! -------------------------------------------------------------------- ! +&FIELD_NML + FIELD%TIMESTART = '19680228 000000' + FIELD%TIMESTRIDE = '86400' + FIELD%TIMECOUNT = '99' + FIELD%LIST = 'HS' +/ + +! -------------------------------------------------------------------- ! +! Define the content of the output file via FILE_NML namelist +! +! * namelist must be terminated with / +! * definitions & defaults: +! FILE%PREFIX = 'ww3.' ! Prefix for output file name +! FILE%NETCDF = 3 ! Netcdf version [3|4] +! FILE%IX0 = 1 ! First X-axis or node index +! FILE%IXN = 1000000000 ! Last X-axis or node index +! FILE%IY0 = 1 ! First Y-axis index +! FILE%IYN = 1000000000 ! Last Y-axis index +! -------------------------------------------------------------------- ! +&FILE_NML + FILE%IX0 = 2 + FILE%IXN = 2 + FILE%IY0 = 2 + FILE%IYN = 2 +/ + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! diff --git a/regtests/ww3_tc1/input/ww3_shel.inp b/regtests/ww3_tc1/input/ww3_shel.inp new file mode 100644 index 000000000..e361d8b89 --- /dev/null +++ b/regtests/ww3_tc1/input/ww3_shel.inp @@ -0,0 +1,29 @@ +$ WAVEWATCH III shell input file +$ ------------------------------ + F T + F T + T T + F + F + F + F +$ + 19680228 000000 + 19680301 000000 +$ + 1 +$ + 19680228 000000 86400 19680301 000000 +$ + N + HS +$ + 19680228 000000 0 19680301 000000 + 19680228 000000 0 19680301 000000 + 19680228 000000 0 19680301 000000 + 19680228 000000 0 19680301 000000 + 19680228 000000 0 19680301 000000 +$ + 'WND' 19680228 000000 6. 128. 0. + 'STP' +$ diff --git a/regtests/ww3_tc1/input/ww3_shel.nml b/regtests/ww3_tc1/input/ww3_shel.nml new file mode 100644 index 000000000..3249147bc --- /dev/null +++ b/regtests/ww3_tc1/input/ww3_shel.nml @@ -0,0 +1,345 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III ww3_shel.nml - single-grid model ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define top-level model parameters via DOMAIN_NML namelist +! +! * IOSTYP defines the output server mode for parallel implementation. +! 0 : No data server processes, direct access output from +! each process (requires true parallel file system). +! 1 : No data server process. All output for each type +! performed by process that performs computations too. +! 2 : Last process is reserved for all output, and does no +! computing. +! 3 : Multiple dedicated output processes. +! +! * namelist must be terminated with / +! * definitions & defaults: +! DOMAIN%IOSTYP = 1 ! Output server type +! DOMAIN%START = '19680606 000000' ! Start date for the entire model +! DOMAIN%STOP = '19680607 000000' ! Stop date for the entire model +! -------------------------------------------------------------------- ! +&DOMAIN_NML + DOMAIN%STOP = '19690101 000000' +/ + +! -------------------------------------------------------------------- ! +! Define each forcing via the INPUT_NML namelist +! +! * The FORCING flag can be : 'F' for "no forcing" +! 'T' for "external forcing file" +! 'H' for "homogeneous forcing input" +! 'C' for "coupled forcing field" +! +! * homogeneous forcing is not available for ICE_CONC +! +! * The ASSIM flag can : 'F' for "no forcing" +! 'T' for "external forcing file" +! +! * namelist must be terminated with / +! * definitions & defaults: +! INPUT%FORCING%WATER_LEVELS = 'F' +! INPUT%FORCING%CURRENTS = 'F' +! INPUT%FORCING%WINDS = 'F' +! INPUT%FORCING%ICE_CONC = 'F' +! INPUT%FORCING%ICE_PARAM1 = 'F' +! INPUT%FORCING%ICE_PARAM2 = 'F' +! INPUT%FORCING%ICE_PARAM3 = 'F' +! INPUT%FORCING%ICE_PARAM4 = 'F' +! INPUT%FORCING%ICE_PARAM5 = 'F' +! INPUT%FORCING%MUD_DENSITY = 'F' +! INPUT%FORCING%MUD_THICKNESS = 'F' +! INPUT%FORCING%MUD_VISCOSITY = 'F' +! INPUT%ASSIM%MEAN = 'F' +! INPUT%ASSIM%SPEC1D = 'F' +! INPUT%ASSIM%SPEC2D = 'F' +! -------------------------------------------------------------------- ! +&INPUT_NML + INPUT%FORCING%WINDS = 'H' +/ + +! -------------------------------------------------------------------- ! +! Define the output types point parameters via OUTPUT_TYPE_NML namelist +! +! * the point file is a space separated values per line : lon lat 'name' +! +! * the full list of field names is : +! All parameters listed below are available in output file of the types +! ASCII and NetCDF. If selected output file types are grads or grib, +! some parameters may not be available. The first two columns in the +! table below identify such cases by flags, cols 1 (GRB) and 2 (GXO) +! refer to grib (ww3_grib) and grads (gx_outf), respectively. +! +! Columns 3 and 4 provide group and parameter numbers per group. +! Columns 5, 6 and 7 provide: +! 5 - code name (internal) +! 6 - output tags (names used is ASCII file extensions, NetCDF +! variable names and namelist-based selection +! 7 - Long parameter name/definition +! +! G G +! R X Grp Param Code Output Parameter/Group +! B O Numb Numbr Name Tag Definition +! -------------------------------------------------- +! 1 Forcing Fields +! ------------------------------------------------- +! T T 1 1 DW DPT Water depth. +! T T 1 2 C[X,Y] CUR Current velocity. +! T T 1 3 UA WND Wind speed. +! T T 1 4 AS AST Air-sea temperature difference. +! T T 1 5 WLV WLV Water levels. +! T T 1 6 ICE ICE Ice concentration. +! T T 1 7 IBG IBG Iceberg-induced damping. +! T T 1 8 D50 D50 Median sediment grain size. +! T T 1 9 IC1 IC1 Ice thickness. +! T T 1 10 IC5 IC5 Ice flow diameter. +! ------------------------------------------------- +! 2 Standard mean wave Parameters +! ------------------------------------------------- +! T T 2 1 HS HS Wave height. +! T T 2 2 WLM LM Mean wave length. +! T T 2 3 T02 T02 Mean wave period (Tm0,2). +! T T 2 4 TM10 TM10 Mean wave period (Tm-1,0). +! T T 2 5 T01 T01 Mean wave period (Tm0,1). +! T T 2 6 FP0 FP Peak frequency. +! T T 2 7 THM DIR Mean wave direction. +! T T 2 8 THS SPR Mean directional spread. +! T T 2 9 THP0 DP Peak direction. +! T T 2 10 HIG HIG Infragravity height +! T T 2 11 STMAXE MXE Max surface elev (STE) +! T T 2 12 STMAXD MXES St Dev of max surface elev (STE) +! T T 2 13 HMAXE MXH Max wave height (STE) +! T T 2 14 HCMAXE MXHC Max wave height from crest (STE) +! T T 2 15 HMAXD SDMH St Dev of MXC (STE) +! T T 2 16 HCMAXD SDMHC St Dev of MXHC (STE) +! F T 2 17 WBT WBT Domiant wave breaking probability bT +! ------------------------------------------------- +! 3 Spectral Parameters (first 5) +! ------------------------------------------------- +! F F 3 1 EF EF Wave frequency spectrum +! F F 3 2 TH1M TH1M Mean wave direction from a1,b2 +! F F 3 3 STH1M STH1M Directional spreading from a1,b2 +! F F 3 4 TH2M TH2M Mean wave direction from a2,b2 +! F F 3 5 STH2M STH2M Directional spreading from a2,b2 +! F F 3 6 WN WN Wavenumber array +! ------------------------------------------------- +! 4 Spectral Partition Parameters +! ------------------------------------------------- +! T T 4 1 PHS PHS Partitioned wave heights. +! T T 4 2 PTP PTP Partitioned peak period. +! T T 4 3 PLP PLP Partitioned peak wave length. +! T T 4 4 PDIR PDIR Partitioned mean direction. +! T T 4 5 PSI PSPR Partitioned mean directional spread. +! T T 4 6 PWS PWS Partitioned wind sea fraction. +! T T 4 7 PTHP0 PDP Peak wave direction of partition. +! T T 4 8 PQP PQP Goda peakdedness parameter of partition. +! T T 4 9 PPE PPE JONSWAP peak enhancement factor of partition. +! T T 4 10 PGW PGW Gaussian frequency width of partition. +! T T 4 11 PSW PSW Spectral width of partition. +! T T 4 12 PTM1 PTM10 Mean wave period (Tm-1,0) of partition. +! T T 4 13 PT1 PT01 Mean wave period (Tm0,1) of partition. +! T T 4 14 PT2 PT02 Mean wave period (Tm0,2) of partition. +! T T 4 15 PEP PEP Peak spectral density of partition. +! T T 4 16 PWST TWS Total wind sea fraction. +! T T 4 17 PNR PNR Number of partitions. +! ------------------------------------------------- +! 5 Atmosphere-waves layer +! ------------------------------------------------- +! T T 5 1 UST UST Friction velocity. +! F T 5 2 CHARN CHA Charnock parameter +! F T 5 3 CGE CGE Energy flux +! F T 5 4 PHIAW FAW Air-sea energy flux +! F T 5 5 TAUWI[X,Y] TAW Net wave-supported stress +! F T 5 6 TAUWN[X,Y] TWA Negative part of the wave-supported stress +! F F 5 7 WHITECAP WCC Whitecap coverage +! F F 5 8 WHITECAP WCF Whitecap thickness +! F F 5 9 WHITECAP WCH Mean breaking height +! F F 5 10 WHITECAP WCM Whitecap moment +! F F 5 11 FWS FWS Wind sea mean period +! ------------------------------------------------- +! 6 Wave-ocean layer +! ------------------------------------------------- +! F F 6 1 S[XX,YY,XY] SXY Radiation stresses. +! F F 6 2 TAUO[X,Y] TWO Wave to ocean momentum flux +! F F 6 3 BHD BHD Bernoulli head (J term) +! F F 6 4 PHIOC FOC Wave to ocean energy flux +! F F 6 5 TUS[X,Y] TUS Stokes transport +! F F 6 6 USS[X,Y] USS Surface Stokes drift +! F F 6 7 [PR,TP]MS P2S Second-order sum pressure +! F F 6 8 US3D USF Spectrum of surface Stokes drift +! F F 6 9 P2SMS P2L Micro seism source term +! F F 6 10 TAUICE TWI Wave to sea ice stress +! F F 6 11 PHICE FIC Wave to sea ice energy flux +! ------------------------------------------------- +! 7 Wave-bottom layer +! ------------------------------------------------- +! F F 7 1 ABA ABR Near bottom rms amplitides. +! F F 7 2 UBA UBR Near bottom rms velocities. +! F F 7 3 BEDFORMS BED Bedforms +! F F 7 4 PHIBBL FBB Energy flux due to bottom friction +! F F 7 5 TAUBBL TBB Momentum flux due to bottom friction +! ------------------------------------------------- +! 8 Spectrum parameters +! ------------------------------------------------- +! F F 8 1 MSS[X,Y] MSS Mean square slopes +! F F 8 2 MSC[X,Y] MSC Spectral level at high frequency tail +! F F 8 3 WL02[X,Y] WL02 East/X North/Y mean wavelength compon +! F F 8 4 ALPXT AXT Correl sea surface gradients (x,t) +! F F 8 5 ALPYT AYT Correl sea surface gradients (y,t) +! F F 8 6 ALPXY AXY Correl sea surface gradients (x,y) +! ------------------------------------------------- +! 9 Numerical diagnostics +! ------------------------------------------------- +! T T 9 1 DTDYN DTD Average time step in integration. +! T T 9 2 FCUT FC Cut-off frequency. +! T T 9 3 CFLXYMAX CFX Max. CFL number for spatial advection. +! T T 9 4 CFLTHMAX CFD Max. CFL number for theta-advection. +! F F 9 5 CFLKMAX CFK Max. CFL number for k-advection. +! ------------------------------------------------- +! 10 User defined +! ------------------------------------------------- +! F F 10 1 U1 User defined #1. (requires coding ...) +! F F 10 2 U2 User defined #1. (requires coding ...) +! ------------------------------------------------- +! +! Section 4 consist of a set of fields, index 0 = wind sea, index +! 1:NOSWLL are first NOSWLL swell fields. +! +! +! * output track file formatted (T) or unformated (F) +! +! * coupling fields exchanged list is : +! - Sent fields by ww3: +! - Ocean model : T0M1 OCHA OHS DIR BHD TWO UBR FOC TAW TUS USS LM DRY +! - Atmospheric model : ACHA AHS TP (or FP) FWS +! - Ice model : IC5 TWI +! - Received fields by ww3: +! - Ocean model : SSH CUR +! - Atmospheric model : WND +! - Ice model : ICE IC1 IC5 +! +! * namelist must be terminated with / +! * definitions & defaults: +! TYPE%FIELD%LIST = 'unset' +! TYPE%POINT%FILE = 'points.list' +! TYPE%TRACK%FORMAT = T +! TYPE%PARTITION%X0 = 0 +! TYPE%PARTITION%XN = 0 +! TYPE%PARTITION%NX = 0 +! TYPE%PARTITION%Y0 = 0 +! TYPE%PARTITION%YN = 0 +! TYPE%PARTITION%NY = 0 +! TYPE%PARTITION%FORMAT = T +! TYPE%COUPLING%SENT = 'unset' +! TYPE%COUPLING%RECEIVED = 'unset' +! +! -------------------------------------------------------------------- ! +&OUTPUT_TYPE_NML + TYPE%FIELD%LIST = 'HS' + TYPE%POINT%FILE = '../input/points.list' +/ + +! -------------------------------------------------------------------- ! +! Define output dates via OUTPUT_DATE_NML namelist +! +! * start and stop times are with format 'yyyymmdd hhmmss' +! * if time stride is equal '0', then output is disabled +! * time stride is given in seconds +! +! * namelist must be terminated with / +! * definitions & defaults: +! DATE%FIELD%START = '19680606 000000' +! DATE%FIELD%STRIDE = '0' +! DATE%FIELD%STOP = '19680607 000000' +! DATE%POINT%START = '19680606 000000' +! DATE%POINT%STRIDE = '0' +! DATE%POINT%STOP = '19680607 000000' +! DATE%TRACK%START = '19680606 000000' +! DATE%TRACK%STRIDE = '0' +! DATE%TRACK%STOP = '19680607 000000' +! DATE%RESTART%START = '19680606 000000' +! DATE%RESTART%STRIDE = '0' +! DATE%RESTART%STOP = '19680607 000000' +! DATE%BOUNDARY%START = '19680606 000000' +! DATE%BOUNDARY%STRIDE = '0' +! DATE%BOUNDARY%STOP = '19680607 000000' +! DATE%PARTITION%START = '19680606 000000' +! DATE%PARTITION%STRIDE = '0' +! DATE%PARTITION%STOP = '19680607 000000' +! DATE%COUPLING%START = '19680606 000000' +! DATE%COUPLING%STRIDE = '0' +! DATE%COUPLING%STOP = '19680607 000000' +! +! DATE%RESTART = '19680606 000000' '0' '19680607 000000' +! -------------------------------------------------------------------- ! +&OUTPUT_DATE_NML + DATE%FIELD = '19680228 000000' '86400' '19690101 000000' + DATE%POINT = '19680228 000000' '86400' '19690101 000000' +/ + +! -------------------------------------------------------------------- ! +! Define homogeneous input via HOMOG_COUNT_NML and HOMOG_INPUT_NML namelist +! +! * the number of each homogeneous input is defined by HOMOG_COUNT +! * the total number of homogeneous input is automatically calculated +! * the homogeneous input must start from index 1 to N +! * if VALUE1 is equal 0, then the homogeneous input is desactivated +! * NAME can be IC1, IC2, IC3, IC4, IC5, MDN, MTH, MVS, LEV, CUR, WND, ICE, MOV +! * each homogeneous input is defined over a maximum of 3 values detailled below : +! - IC1 is defined by thickness +! - IC2 is defined by viscosity +! - IC3 is defined by density +! - IC4 is defined by modulus +! - IC5 is defined by floe diameter +! - MDN is defined by density +! - MTH is defined by thickness +! - MVS is defined by viscosity +! - LEV is defined by height +! - CUR is defined by speed and direction +! - WND is defined by speed, direction and airseatemp +! - ICE is defined by concentration +! - MOV is defined by speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! HOMOG_COUNT%N_IC1 = 0 +! HOMOG_COUNT%N_IC2 = 0 +! HOMOG_COUNT%N_IC3 = 0 +! HOMOG_COUNT%N_IC4 = 0 +! HOMOG_COUNT%N_IC5 = 0 +! HOMOG_COUNT%N_MDN = 0 +! HOMOG_COUNT%N_MTH = 0 +! HOMOG_COUNT%N_MVS = 0 +! HOMOG_COUNT%N_LEV = 0 +! HOMOG_COUNT%N_CUR = 0 +! HOMOG_COUNT%N_WND = 0 +! HOMOG_COUNT%N_ICE = 0 +! HOMOG_COUNT%N_MOV = 0 +! +! HOMOG_INPUT(I)%NAME = 'unset' +! HOMOG_INPUT(I)%DATE = '19680606 000000' +! HOMOG_INPUT(I)%VALUE1 = 0 +! HOMOG_INPUT(I)%VALUE2 = 0 +! HOMOG_INPUT(I)%VALUE3 = 0 +! -------------------------------------------------------------------- ! +&HOMOG_COUNT_NML + HOMOG_COUNT%N_CUR = 1 + HOMOG_COUNT%N_WND = 1 +/ + +&HOMOG_INPUT_NML + HOMOG_INPUT(1)%NAME = 'CUR' + HOMOG_INPUT(1)%VALUE1 = 2. + HOMOG_INPUT(1)%VALUE2 = 90. + + HOMOG_INPUT(2)%NAME = 'WND' + HOMOG_INPUT(2)%VALUE1 = 6. + HOMOG_INPUT(2)%VALUE2 = 128. + HOMOG_INPUT(2)%VALUE3 = 0. +/ + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! diff --git a/regtests/ww3_tc1/input/ww3_strt.inp b/regtests/ww3_tc1/input/ww3_strt.inp new file mode 100644 index 000000000..3d5caaa9f --- /dev/null +++ b/regtests/ww3_tc1/input/ww3_strt.inp @@ -0,0 +1,47 @@ +$ WAVEWATCH III Initial conditions input file +$ ------------------------------------------- +$ Spectral grid: 1.10 0.0347 32 36 0.5 +$ ITYPE = 4 -- user definded spectrum F(f,theta) +$ U10,UDIR,HS,DIR,FP,QP = 5.98m s-1 128.1deg 1.89m 150.4deg 0.0849Hz 1.394 +$ PART. 0: HS,TP,DIR = 1.77m 1 142eg +$ PART. 1: HS,TP,DIR = 0.48m 1 215eg +$ PART. 2: HS,TP,DIR = 0.46m 7 218eg + 4 + 0.0 + 3.4656872e-10 5.3617562e-08 5.5510318e-06 4.0496141e-04 5.6677330e-03 3.4468323e-02 1.1456734e-02 1.2244309e-02 9.4532603e-03 2.3022726e-02 1.4082973e-02 6.7626372e-02 4.1647919e-02 5.8256846e-02 1.3999003e-01 3.1056023e-01 4.3494570e-01 3.4193361e-01 2.2385013e-01 1.4882421e-01 9.6881658e-02 6.6197328e-02 4.7751117e-02 3.3114668e-02 2.2624839e-02 1.5499644e-02 1.0394566e-02 6.9591003e-03 4.7515417e-03 3.2526101e-03 2.2217254e-03 1.5130206e-03 + 8.5975622e-11 1.0933919e-08 2.9444150e-06 3.2586488e-04 8.3286874e-03 5.1433466e-02 1.5595458e-02 3.5638928e-02 1.2303863e-01 8.5783809e-01 7.2696191e-01 1.0150232e+00 5.5978644e-01 4.4972908e-01 4.7626275e-01 5.1937389e-01 5.2969766e-01 4.4621545e-01 3.0085206e-01 1.8540274e-01 1.1414018e-01 7.4205562e-02 5.1795397e-02 3.6095098e-02 2.4509914e-02 1.6891265e-02 1.1897530e-02 8.4069557e-03 5.8793239e-03 4.0304894e-03 2.7210517e-03 1.8260386e-03 + 2.1045285e-10 9.4176755e-10 2.9343164e-07 1.1955093e-04 1.7439831e-02 2.8067589e-01 2.6785088e-01 5.2418703e-01 2.3448720e+00 3.6634574e+00 2.9453812e+00 2.4414101e+00 1.5568509e+00 7.4804586e-01 5.8935523e-01 5.9456229e-01 6.2258333e-01 5.3981096e-01 3.6365283e-01 2.0869653e-01 1.2819451e-01 8.1414908e-02 5.5120021e-02 3.8978331e-02 2.7839165e-02 1.9629128e-02 1.3980614e-02 9.8509453e-03 6.8331948e-03 4.6435790e-03 3.1108905e-03 2.0598129e-03 + 4.9093374e-10 3.7760230e-09 1.6705526e-07 1.1903087e-04 2.1583866e-02 8.1054723e-01 1.2674494e+00 2.1959660e+00 6.0521774e+00 4.4130545e+00 3.5334492e+00 2.7526555e+00 2.0861695e+00 9.5746481e-01 6.5808201e-01 5.9404325e-01 5.8829111e-01 5.0562203e-01 3.3746380e-01 2.0159721e-01 1.3455749e-01 8.8838860e-02 5.9800774e-02 4.2662516e-02 3.1071780e-02 2.2053985e-02 1.5648179e-02 1.0962604e-02 7.5424099e-03 5.0797826e-03 3.3754185e-03 2.2036717e-03 + 3.1007125e-10 4.9579780e-09 9.4447927e-07 2.1034645e-04 7.7247764e-03 5.0725269e-01 1.4985381e+00 2.1839995e+00 3.1409645e+00 4.1095943e+00 3.6633821e+00 2.9350462e+00 1.9006779e+00 7.8937209e-01 5.0660706e-01 4.1810057e-01 3.8078547e-01 3.7327620e-01 2.7425963e-01 1.8099880e-01 1.2944433e-01 9.2680454e-02 6.4303368e-02 4.5764156e-02 3.3101622e-02 2.3637645e-02 1.6732685e-02 1.1684541e-02 7.9751275e-03 5.2796714e-03 3.4566163e-03 2.2352426e-03 + 7.2402145e-12 6.4103567e-09 3.4513923e-06 2.6401741e-04 8.6452917e-04 5.7971813e-03 6.6000357e-02 1.3073207e-01 4.8704764e-01 2.4507670e+00 3.6930103e+00 2.4735250e+00 1.1215655e+00 4.6602359e-01 3.1395012e-01 2.5041431e-01 2.0134440e-01 2.4540383e-01 2.2866599e-01 1.6317818e-01 1.1931450e-01 8.9903295e-02 6.7536667e-02 4.7812797e-02 3.4311339e-02 2.4289731e-02 1.7037969e-02 1.1789965e-02 8.0265049e-03 5.2662594e-03 3.4206205e-03 2.2066371e-03 + 2.8640458e-11 1.5099131e-08 5.6433055e-06 1.1149590e-04 9.4027619e-04 8.4169917e-03 7.6222126e-03 1.3038188e-01 2.8071862e-01 6.1509764e-01 1.0620489e+00 1.5211523e+00 8.9985341e-01 3.8978899e-01 2.5199449e-01 1.6007465e-01 1.0516737e-01 1.3361335e-01 1.7723280e-01 1.4822856e-01 1.1125323e-01 8.6403549e-02 6.8080470e-02 4.8341129e-02 3.4284383e-02 2.4142027e-02 1.6585706e-02 1.1303791e-02 7.6806862e-03 5.0722193e-03 3.3163261e-03 2.1552076e-03 + 7.5352077e-12 9.8951123e-09 1.6645506e-06 6.6271692e-05 2.6168197e-04 1.6667154e-03 4.1287546e-03 2.5062577e-03 2.1365378e-02 1.5522286e-01 1.9447243e-01 1.5565276e-01 1.6766286e-01 1.6912225e-01 1.3604525e-01 8.6060457e-02 5.6593928e-02 6.2732369e-02 1.0299122e-01 1.3501558e-01 1.0701787e-01 8.3788045e-02 6.4798087e-02 4.6573468e-02 3.2614443e-02 2.2984017e-02 1.5644506e-02 1.0539083e-02 7.0900330e-03 4.6924483e-03 3.0932904e-03 2.0378814e-03 + 1.0040365e-12 2.2422719e-09 2.5189576e-07 7.2807197e-06 3.1878826e-05 2.5157278e-04 7.9576549e-04 2.5034028e-03 1.8835047e-03 2.5988661e-03 5.1073595e-03 7.1522128e-03 1.2329847e-02 1.4983562e-02 1.9407276e-02 1.8061820e-02 1.9715499e-02 2.3127832e-02 3.9515954e-02 8.9319631e-02 1.0043963e-01 7.8606382e-02 6.0897931e-02 4.3419495e-02 2.9692657e-02 2.0445097e-02 1.4090415e-02 9.5397197e-03 6.4055324e-03 4.2407503e-03 2.7966753e-03 1.8478847e-03 + 3.4390936e-13 1.0529004e-10 7.4716139e-10 7.1558626e-10 2.5393806e-08 5.0109611e-07 7.1323106e-05 3.9127827e-04 9.5185975e-04 3.6289673e-03 1.6489400e-02 1.5271336e-02 1.4704324e-02 6.7255702e-03 6.0202004e-03 4.0549766e-03 5.2032336e-03 7.7908924e-03 1.3420912e-02 3.6278822e-02 7.6186508e-02 6.7972682e-02 5.3085282e-02 3.9494529e-02 2.7291976e-02 1.8016858e-02 1.2028644e-02 8.1086550e-03 5.4978039e-03 3.6936780e-03 2.4564639e-03 1.6233516e-03 + 5.3683251e-13 6.4181507e-11 1.8422018e-10 4.1832260e-10 1.9098909e-08 2.9454819e-07 4.9877544e-06 1.8272144e-04 2.5565112e-03 1.3384066e-02 4.2993642e-02 3.3039145e-02 3.1142186e-02 2.0227864e-02 2.5687136e-02 7.9410709e-03 4.0865401e-03 5.1084524e-03 8.8750497e-03 1.9310893e-02 4.2960074e-02 5.4326698e-02 4.1121535e-02 3.1948444e-02 2.3221929e-02 1.5978720e-02 1.0845928e-02 7.1920264e-03 4.6615480e-03 3.0203960e-03 2.0009042e-03 1.3331333e-03 + 6.6991378e-13 7.9520314e-11 7.4929163e-10 7.7635132e-10 5.6741820e-09 2.9950108e-08 8.1724352e-07 3.7276222e-05 3.3610320e-04 7.4670429e-04 2.1499072e-04 9.8452321e-04 1.3862010e-03 2.7418362e-03 3.3457289e-03 1.3987173e-03 1.3869889e-03 3.2272814e-03 6.2931571e-03 1.0668539e-02 1.7887220e-02 2.9353183e-02 2.8426893e-02 2.2445252e-02 1.7600287e-02 1.2849257e-02 9.1739167e-03 6.3640727e-03 4.2405399e-03 2.7093119e-03 1.7177726e-03 1.0800263e-03 + 1.5252808e-13 1.1331040e-11 7.2797150e-11 8.6524782e-10 8.5281178e-09 4.9283841e-08 2.7647152e-07 3.1077113e-06 2.0919899e-05 6.4892600e-05 2.0823022e-04 7.3509972e-04 1.0392757e-03 1.3913326e-03 6.9975713e-04 4.4299776e-04 3.8456442e-04 1.4034371e-03 3.0016406e-03 4.5043090e-03 6.7004613e-03 1.0549942e-02 1.3356404e-02 1.2179254e-02 1.0923689e-02 8.9445412e-03 6.8441080e-03 5.0320462e-03 3.5496298e-03 2.3479690e-03 1.5092746e-03 9.3661225e-04 + 6.2208661e-14 9.7689530e-14 6.0933306e-13 2.0565934e-11 1.6596580e-10 1.2954067e-09 1.6445929e-09 1.9028039e-09 1.4088917e-09 5.4281530e-09 2.4854563e-07 2.1474084e-07 2.3513874e-07 6.9457906e-07 3.9532082e-07 2.8812130e-06 3.8456084e-05 3.7877014e-04 1.1383838e-03 1.7021737e-03 2.4873414e-03 3.6202902e-03 4.4927518e-03 4.7200145e-03 4.7667208e-03 4.6681920e-03 4.0473775e-03 3.2736529e-03 2.4864688e-03 1.7359443e-03 1.1627892e-03 7.4115710e-04 + 5.7117993e-14 3.2970528e-13 5.9513450e-11 2.9413758e-09 4.1434241e-08 1.5573128e-06 2.6096525e-06 6.9527250e-06 1.5639325e-05 2.0756479e-04 1.3695601e-03 1.9946429e-03 1.4891851e-03 1.5534521e-03 9.3947211e-04 3.1692890e-04 2.0152758e-04 1.9535961e-04 4.1399381e-04 6.1490980e-04 8.3684118e-04 1.2122735e-03 1.4865240e-03 1.6369222e-03 1.6414102e-03 1.6548410e-03 1.6045477e-03 1.4826823e-03 1.2555723e-03 9.6070691e-04 6.9035211e-04 4.6157814e-04 + 5.9332678e-12 7.0032799e-11 4.7550515e-09 2.0013465e-07 2.2532643e-06 4.4325730e-05 4.1350577e-05 1.5075921e-04 2.4277393e-03 2.7064377e-02 1.1916302e-01 8.4063098e-02 2.3818364e-02 1.3568403e-02 9.1984980e-03 5.1375376e-03 2.5563943e-03 1.3938696e-03 8.3839556e-04 4.5544180e-04 2.8629988e-04 3.5989034e-04 4.6390027e-04 5.2691408e-04 5.2780396e-04 4.8793340e-04 4.2392226e-04 3.8817231e-04 3.4977985e-04 3.0635254e-04 2.4921558e-04 1.8294639e-04 + 7.1345652e-11 3.8286757e-10 1.9627677e-08 7.3145083e-07 7.0669166e-06 6.3959029e-05 5.2701173e-05 5.5510888e-04 9.7202212e-03 7.7723876e-02 1.3490671e-01 3.9297178e-02 9.7570680e-03 6.2860250e-03 4.2948490e-03 4.2473841e-03 3.6112072e-03 1.2116790e-03 4.9334241e-04 1.6176623e-04 6.5825850e-05 7.3814277e-05 1.1102846e-04 1.3881538e-04 1.4543356e-04 1.3092831e-04 9.6637596e-05 6.9970709e-05 5.2277064e-05 4.4999131e-05 3.9461891e-05 3.2361891e-05 + 3.1360090e-10 2.3517882e-10 6.1160126e-09 2.1862223e-07 1.7161885e-06 7.5910939e-06 8.6731641e-05 1.3582237e-03 4.1432511e-03 9.8250424e-03 4.3874085e-03 9.9274833e-03 6.2045455e-03 8.9074131e-03 1.0843529e-02 2.9309280e-02 6.0993470e-03 1.0789986e-03 3.2459345e-04 5.4114455e-05 9.0977082e-06 8.6455148e-06 1.5837357e-05 2.3498655e-05 2.8057691e-05 2.7583257e-05 2.0637854e-05 1.3176072e-05 7.4429418e-06 4.4079252e-06 3.0335757e-06 2.3866023e-06 + 3.6331133e-11 6.2768957e-11 2.2280906e-10 3.4562226e-09 1.7951098e-08 1.5296946e-06 7.4054245e-05 2.9568700e-04 1.6198552e-04 1.8816520e-04 4.8738104e-05 1.6734384e-03 1.8257271e-02 5.4082526e-03 4.2119464e-03 4.3195579e-03 1.3555400e-03 5.7895290e-04 1.2379581e-04 1.3872734e-05 1.7392920e-06 8.1406972e-07 1.1584196e-06 1.8463843e-06 2.7026031e-06 3.2111884e-06 2.8654886e-06 2.0496282e-06 1.1815523e-06 5.7462233e-07 2.8210394e-07 1.4588943e-07 + 5.1233102e-12 1.0883854e-10 2.5416774e-10 1.2637221e-09 4.8039102e-09 2.5493739e-07 6.4712494e-06 7.8600533e-06 9.8642868e-06 1.9609852e-05 2.4360219e-05 2.4754616e-05 1.0873780e-03 9.9761726e-04 3.4404543e-04 4.8214191e-05 2.0010024e-05 2.5276753e-05 8.4936892e-06 1.0787376e-06 1.7786351e-07 8.8808051e-08 7.1487698e-08 6.2453068e-08 8.0722799e-08 1.0931289e-07 1.3002290e-07 1.2126452e-07 8.5910557e-08 4.2447624e-08 2.0557787e-08 9.8836779e-09 + 1.1753774e-12 3.5287138e-11 1.6361634e-10 9.5090469e-10 2.3954869e-09 8.2360785e-09 2.7359684e-07 1.7429731e-05 3.3421915e-05 6.8985195e-05 2.9762954e-04 1.0916146e-04 3.7379476e-04 1.4845899e-04 1.0895281e-05 1.7918614e-05 5.0133858e-05 6.1947485e-06 4.1373832e-07 3.6703362e-08 2.1951454e-08 9.4103410e-09 4.3012789e-09 1.5108526e-09 8.6684071e-10 8.2681606e-10 9.8525577e-10 1.0823988e-09 9.7748964e-10 4.9871030e-10 2.4766517e-10 1.2111567e-10 + 2.4857904e-13 1.3508565e-12 6.9366119e-12 4.1949531e-11 2.3902436e-10 6.1941101e-09 2.3203279e-07 1.4145811e-05 6.0864771e-04 2.2246838e-03 4.1952431e-03 1.4004821e-02 2.3169998e-02 1.4481596e-02 9.4053632e-04 7.5969088e-04 1.0825061e-05 4.4258201e-07 3.3805785e-09 3.4402228e-09 4.4652286e-09 2.0003346e-09 8.6669044e-10 1.1450933e-10 8.4262770e-12 3.4809950e-12 2.0336723e-12 1.3488082e-12 1.1270955e-12 5.9136219e-13 2.9925156e-13 1.4819526e-13 + 1.3444820e-11 2.3762833e-10 2.3727778e-10 2.5696960e-09 1.6081305e-08 3.4689535e-07 1.3004470e-05 1.5468983e-04 2.7224133e-03 1.1786178e-02 7.9325447e-03 8.0892202e-03 1.4172921e-02 6.5851281e-03 4.8684754e-04 4.9572915e-04 2.2122948e-04 6.4195879e-06 2.0074943e-07 3.2417211e-09 4.7113635e-10 1.0939659e-09 4.5214835e-10 2.8293611e-11 4.3664670e-13 8.1810589e-14 2.8400046e-14 8.1720858e-15 1.5069402e-15 5.3701095e-16 2.3582594e-16 1.1123170e-16 + 6.7527456e-11 3.6527930e-09 4.7977206e-08 3.2100949e-08 9.3101050e-08 6.8027578e-07 4.7347880e-06 4.1962267e-05 9.7804202e-04 2.8221840e-03 2.0612502e-03 1.4788262e-03 1.6916610e-03 2.5470066e-03 3.2365447e-04 8.9733046e-05 8.4598476e-05 2.9965495e-06 6.8608735e-08 8.5828300e-10 4.3975273e-10 3.8175835e-10 2.2834550e-10 6.7012840e-11 5.6249026e-11 3.6822156e-11 1.7762805e-11 5.4447679e-12 1.0323088e-12 4.3206411e-13 1.9521904e-13 9.2513684e-14 + 6.3072443e-11 3.2392755e-09 4.4625665e-08 2.4199156e-08 8.3788720e-08 4.8877411e-07 1.3552551e-06 1.5001593e-06 1.8600696e-05 8.6934979e-06 9.9198205e-06 1.4943399e-07 1.2561962e-08 7.4619580e-05 9.9588706e-06 1.9624569e-09 1.5665198e-06 7.5424488e-08 8.3893035e-09 1.0528792e-08 1.6305988e-08 2.2872566e-08 2.9165905e-08 3.0165737e-08 2.2674577e-08 1.1763875e-08 4.5146153e-09 1.2388526e-09 2.5342103e-10 1.0705765e-10 5.0429449e-11 2.4429934e-11 + 1.4967201e-10 8.3461886e-09 1.4366942e-07 2.8613670e-07 2.8401123e-06 1.4424400e-05 3.3170058e-05 2.3211815e-05 2.6473830e-05 3.5707046e-05 1.4291565e-05 1.1732180e-05 4.0972932e-06 2.4943852e-06 9.0462777e-07 4.3574593e-07 1.6398756e-07 1.4416923e-07 3.5975495e-07 7.3141064e-07 1.1043091e-06 1.3692501e-06 1.3816351e-06 1.1174461e-06 7.0912051e-07 3.4553224e-07 1.3558436e-07 4.5692332e-08 1.5461218e-08 8.6545517e-09 4.5686601e-09 2.1714777e-09 + 1.0198775e-10 4.7978927e-09 7.6742793e-08 7.9601523e-07 1.7751485e-05 3.8755657e-05 7.5754244e-05 1.6769429e-05 1.1822070e-05 1.6584105e-05 1.1026284e-05 7.7634286e-06 3.1981606e-06 2.5636878e-06 9.3755585e-07 4.6696630e-07 2.8949103e-07 2.2088675e-06 7.1005843e-06 1.2764403e-05 1.7650927e-05 1.9620351e-05 1.6752902e-05 1.1459371e-05 6.8976178e-06 3.8544213e-06 2.1864016e-06 1.3489487e-06 8.7520635e-07 5.5801291e-07 2.8568775e-07 1.2470346e-07 + 7.9651355e-11 6.7358972e-09 1.8060811e-07 9.6915082e-06 2.3737522e-04 5.5434753e-04 2.2434136e-03 6.1560329e-04 4.9493776e-04 6.9131237e-04 8.6476665e-04 1.0161987e-03 2.8598937e-03 1.1042859e-03 1.1854495e-03 1.8272788e-04 9.7628246e-05 7.6392695e-05 7.8939382e-05 1.0831292e-04 1.3433564e-04 1.3978999e-04 1.1603453e-04 8.4719439e-05 6.3255022e-05 5.0019640e-05 4.0200459e-05 2.9500296e-05 1.9186664e-05 1.1307332e-05 5.5700621e-06 2.4330202e-06 + 9.3878690e-12 1.0432852e-09 7.4450988e-08 2.4094084e-06 2.2636646e-05 5.3205393e-05 2.5563955e-04 9.1978058e-05 8.2805898e-05 1.1626170e-04 8.1581512e-04 1.0021178e-03 1.0326478e-03 3.9858674e-04 2.6989239e-04 1.3483464e-04 1.2258405e-04 1.6818462e-04 5.2806211e-04 6.7619351e-04 7.4868154e-04 8.0946356e-04 7.5168622e-04 6.5554061e-04 5.6436972e-04 4.7035652e-04 3.6666967e-04 2.5326165e-04 1.5476346e-04 8.7637338e-05 4.3933760e-05 2.0238973e-05 + 5.3382708e-11 6.6115535e-09 8.6611226e-07 1.8714451e-05 8.9384077e-05 1.8912141e-04 2.0642369e-03 1.0366332e-03 8.1671099e-04 2.1444437e-04 6.7245355e-04 9.9054712e-04 3.2333550e-03 1.8861479e-03 1.3565035e-03 2.5940713e-04 4.0057609e-03 6.1491001e-03 4.7656684e-03 3.7785582e-03 3.7206775e-03 3.9742179e-03 3.7024620e-03 3.2816685e-03 2.6675621e-03 2.0043505e-03 1.4010910e-03 9.0696826e-04 5.4281281e-04 3.1259184e-04 1.6887770e-04 8.5199863e-05 + 8.1318606e-12 1.3611126e-09 2.1763609e-07 4.6766540e-06 5.7706544e-05 7.6814023e-05 1.9896356e-04 3.4293777e-04 3.6022440e-04 4.0349267e-05 9.2688743e-03 1.4093378e-01 5.5282697e-02 1.9528725e-03 1.4936910e-03 8.3346471e-02 5.6409106e-02 2.6113832e-02 1.5923113e-02 1.2654407e-02 1.2229951e-02 1.2206811e-02 1.0690127e-02 8.7046726e-03 6.3827359e-03 4.3320432e-03 2.8218287e-03 1.8038445e-03 1.1177277e-03 6.7845616e-04 3.9698501e-04 2.1608836e-04 + 3.6327427e-11 4.8719009e-08 2.1611148e-05 3.0366774e-04 7.2079577e-04 2.3808222e-02 5.1319242e-01 7.3975873e-01 5.7569659e-01 2.8054935e-01 2.0009850e-01 1.7221752e-01 5.9314806e-02 7.1398866e-01 5.7935226e-01 3.1770462e-01 1.4029369e-01 6.0958304e-02 3.8721811e-02 3.1490494e-02 2.8506741e-02 2.5956783e-02 2.0137865e-02 1.4683492e-02 1.0033434e-02 6.5823314e-03 4.3067457e-03 2.8285610e-03 1.8177798e-03 1.1278542e-03 6.8231614e-04 3.8771966e-04 + 2.5325884e-09 1.5048736e-06 4.7678608e-04 3.8764554e-03 3.9458857e-03 8.5041843e-02 2.1200852e+00 2.4640102e+00 1.3439357e+00 3.8935670e-01 3.4065381e-01 2.0831972e-01 8.8696465e-02 4.9762321e-01 6.6472775e-01 4.9070469e-01 2.3192263e-01 1.4043875e-01 9.6375003e-02 6.4619638e-02 4.8638605e-02 3.7873533e-02 2.7182495e-02 1.9245133e-02 1.3276502e-02 8.9094779e-03 5.9583299e-03 3.9417930e-03 2.5377325e-03 1.5669386e-03 9.6317148e-04 5.7039119e-04 + 1.3446662e-09 1.1353945e-06 2.3753602e-04 2.0689033e-03 2.6591020e-02 4.7348514e-02 8.0373544e-01 6.8671513e-01 3.8545904e-01 1.5388671e-01 1.1742350e-01 1.0052034e-01 3.2595605e-02 6.1434627e-02 2.4335682e-01 3.1559548e-01 2.5782478e-01 2.1554187e-01 1.4672770e-01 8.7433465e-02 5.9326887e-02 4.3972783e-02 3.2531615e-02 2.3712201e-02 1.6690260e-02 1.1233231e-02 7.4189627e-03 4.8702685e-03 3.1488007e-03 1.9582252e-03 1.2209774e-03 7.4791478e-04 + 2.5060293e-10 7.9305138e-08 7.8220219e-06 3.8885334e-04 1.2956260e-02 3.4177275e-03 1.0121481e-02 3.1865712e-03 4.0536276e-03 3.2452475e-03 7.5883856e-03 8.5630575e-03 9.6532302e-03 6.8903506e-02 1.4028235e-01 1.8698202e-01 2.8705198e-01 2.3469260e-01 1.5293723e-01 1.0037652e-01 6.7986503e-02 5.0547138e-02 3.8330782e-02 2.7771460e-02 1.9304376e-02 1.2970338e-02 8.5135195e-03 5.5912398e-03 3.6533533e-03 2.3051593e-03 1.4576167e-03 9.2182896e-04 + 2.5134131e-11 1.6610308e-08 2.1779776e-06 1.0046641e-04 5.7445420e-04 1.3361064e-03 3.0726469e-03 3.5723951e-03 3.7305751e-03 3.4696977e-03 3.1180535e-03 5.2349460e-03 9.7212512e-03 2.4001207e-02 6.5375313e-02 1.8134753e-01 3.4960151e-01 2.6439470e-01 1.7495602e-01 1.2037574e-01 8.1043020e-02 5.8185950e-02 4.3335266e-02 3.0446887e-02 2.0952258e-02 1.4311092e-02 9.5048845e-03 6.2484881e-03 4.1092490e-03 2.6540784e-03 1.7316678e-03 1.1492297e-03 +$ \ No newline at end of file