Skip to content

Commit c0b0160

Browse files
authored
Updated Numerical Solution for Wave Attenuation in sea ice (#1294)
* This PR adds a write statement in ww3_grid.out and therefore will result in changes in all ww3_grid.out files in regtests. *add IC4_NUMERICS namelist to w3gdatmd.F90 * add IC4_NUMERICS namelist to w3gridmd.F90 * make ICNUMERICS namelist setting (to be put under MISC namelist) - Ic numerics fix should be applicable to ALL IC settings. * IC_NUMERICS Fix for All sea ice source terms * remove lines that modify timestep in sea ice * remove pointer on line 704 w3gdatmd.F90
1 parent 6c8491a commit c0b0160

File tree

3 files changed

+162
-88
lines changed

3 files changed

+162
-88
lines changed

model/src/w3gdatmd.F90

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@ MODULE W3GDATMD
240240
! for individual grid points.
241241
! IICEDISP Log. Public Flag for use of the ice covered dispertion relation.
242242
! IICESMOOTH Log. Public Flag to smooth the ice covered dispertion relation in broken ice.
243+
! IC_NUMERICS Log. Public Turn on/off IC numerics fix
243244
!
244245
!
245246
! GNAME C*30 Public Grid name.
@@ -700,6 +701,7 @@ MODULE W3GDATMD
700701

701702
LOGICAL :: GINIT, FLDRY, FLCX, FLCY, FLCTH, FLCK, FLSOU, IICEDISP,&
702703
IICESMOOTH
704+
LOGICAL :: IC_NUMERICS
703705
LOGICAL :: FLAGLL
704706
LOGICAL :: CMPRTRCK
705707
LOGICAL, POINTER :: FLAGST(:)
@@ -1216,6 +1218,7 @@ MODULE W3GDATMD
12161218

12171219
LOGICAL, POINTER :: GINIT, FLDRY, FLCX, FLCY, FLCTH, FLCK, FLSOU, IICEDISP,&
12181220
IICESMOOTH
1221+
LOGICAL, POINTER :: IC_NUMERICS
12191222
LOGICAL, POINTER :: FLAGLL
12201223
LOGICAL, POINTER :: CMPRTRCK
12211224
LOGICAL, POINTER :: FLAGST(:)
@@ -2385,6 +2388,7 @@ SUBROUTINE W3SETG ( IMOD, NDSE, NDST )
23852388
FLSOU => GRIDS(IMOD)%FLSOU
23862389
IICEDISP => GRIDS(IMOD)%IICEDISP
23872390
IICESMOOTH => GRIDS(IMOD)%IICESMOOTH
2391+
IC_NUMERICS => GRIDS(IMOD)%IC_NUMERICS
23882392
!
23892393
GNAME => GRIDS(IMOD)%GNAME
23902394
FILEXT => GRIDS(IMOD)%FILEXT

model/src/w3gridmd.F90

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -809,6 +809,7 @@ MODULE W3GRIDMD
809809
!
810810
REAL(8) :: GSHIFT ! see notes in WMGHGH
811811
LOGICAL :: FLC, ICEDISP, TRCKCMPR
812+
LOGICAL :: ICNUMERICS
812813
INTEGER :: PTM ! Partitioning method
813814
REAL :: PTFC ! Part. cut off freq (for method 5)
814815
REAL :: AIRCMIN, AIRGB
@@ -1113,7 +1114,7 @@ MODULE W3GRIDMD
11131114
STDX, STDY, STDT, ICEHMIN, ICEHINIT, ICEDISP, &
11141115
ICESLN, ICEWIND, ICESNL, ICESDS, ICEHFAC, &
11151116
ICEHDISP, ICEDDISP, ICEFDISP, CALTYPE, &
1116-
TRCKCMPR, PTM, PTFC, BTBET
1117+
TRCKCMPR, PTM, PTFC, BTBET, ICNUMERICS
11171118
NAMELIST /OUTS/ P2SF, I1P2SF, I2P2SF, &
11181119
US3D, I1US3D, I2US3D, &
11191120
USSP, IUSSP, STK_WN, &
@@ -2765,6 +2766,7 @@ SUBROUTINE W3GRID()
27652766
STDY = -1.
27662767
STDT = -1.
27672768
ICEDISP = .FALSE.
2769+
ICNUMERICS=.FALSE.
27682770
CALTYPE = 'standard'
27692771
! Variables for 3D array output
27702772
E3D=0
@@ -3035,6 +3037,7 @@ SUBROUTINE W3GRID()
30353037
IICEHDISP = ICEHDISP
30363038
IICEDDISP = ICEDDISP
30373039
IICEFDISP = ICEFDISP
3040+
IC_NUMERICS=ICNUMERICS
30383041
PMOVE = MAX ( 0. , PMOVE )
30393042
PFMOVE = PMOVE
30403043
!
@@ -3424,7 +3427,7 @@ SUBROUTINE W3GRID()
34243427
ICEHINIT, ICEDISP, ICEHDISP, &
34253428
ICESLN, ICEWIND, ICESNL, ICESDS, &
34263429
ICEDDISP,ICEFDISP, CALTYPE, TRCKCMPR, &
3427-
BTBETA
3430+
BTBETA,ICNUMERICS
34283431
ELSE
34293432
WRITE (NDSO,2966) CICE0, CICEN, LICE, PMOVE, XSEED, FLAGTR, &
34303433
XP, XR, XFILT, IHMAX, HSPMIN, WSMULT, &
@@ -3434,7 +3437,7 @@ SUBROUTINE W3GRID()
34343437
ICEHINIT, ICEDISP, ICEHDISP, &
34353438
ICESLN, ICEWIND, ICESNL, ICESDS, &
34363439
ICEDDISP, ICEFDISP, CALTYPE, TRCKCMPR,&
3437-
BTBETA
3440+
BTBETA,ICNUMERICS
34383441
END IF
34393442
!
34403443
#ifdef W3_FLD1
@@ -6833,7 +6836,7 @@ SUBROUTINE W3GRID()
68336836
', ICESNL = ',F6.2,', ICESDS = ',F5.2,','/ &
68346837
' ICEDDISP = ',F5.2,', ICEFDISP = ',F5.2, &
68356838
', CALTYPE = ',A8,' , TRCKCMPR = ', L3,','/ &
6836-
' BTBET = ', F6.2, ' /')
6839+
' BTBET = ', F6.2, ', ICNUMERICS =',L3,' /')
68376840
!
68386841
2976 FORMAT ( ' &OUTS P2SF =',I2,', I1P2SF =',I2,', I2P2SF =',I3,','/&
68396842
' US3D =',I2,', I1US3D =',I3,', I2US3D =',I3,','/&

0 commit comments

Comments
 (0)