Skip to content

Commit

Permalink
make ICNUMERICS namelist setting (to be put under MISC namelist) - Ic…
Browse files Browse the repository at this point in the history
… numerics fix should be applicable to ALL IC settings.
  • Loading branch information
erinethomas committed Feb 12, 2025
1 parent 6feed35 commit 97f26f0
Show file tree
Hide file tree
Showing 3 changed files with 147 additions and 98 deletions.
10 changes: 4 additions & 6 deletions model/src/w3gdatmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,6 @@ MODULE W3GDATMD
! IC4_FMIN Real Public Minimum frequency below which ki is set to
! some background level dissipation (for S_ice)
! IC4_KIBK Real Public Low, background level dissipation (for S_ice)
! IC4_NUMERICS Log. Public Turn on/off IC4 numerics fix
! PFMOVE Real Public Tunable parameter in GSE correction
! for moving grids.
! GRIDSHIFT Real Public Grid offset for multi-grid w/SCRIP
Expand Down Expand Up @@ -241,6 +240,7 @@ MODULE W3GDATMD
! for individual grid points.
! IICEDISP Log. Public Flag for use of the ice covered dispertion relation.
! IICESMOOTH Log. Public Flag to smooth the ice covered dispertion relation in broken ice.
! IC_NUMERICS Log. Public Turn on/off IC numerics fix
!
!
! GNAME C*30 Public Grid name.
Expand Down Expand Up @@ -701,6 +701,7 @@ MODULE W3GDATMD

LOGICAL :: GINIT, FLDRY, FLCX, FLCY, FLCTH, FLCK, FLSOU, IICEDISP,&
IICESMOOTH
LOGICAL, POINTER :: IC_NUMERICS
LOGICAL :: FLAGLL
LOGICAL :: CMPRTRCK
LOGICAL, POINTER :: FLAGST(:)
Expand Down Expand Up @@ -739,7 +740,6 @@ MODULE W3GDATMD
REAL, POINTER :: IC4_FC(:)
REAL, POINTER :: IC4_CN(:)
REAL :: IC4_FMIN, IC4_KIBK
LOGICAL, POINTER :: IC4_NUMERICS
#endif
#ifdef W3_IC5
REAL, POINTER :: IC5PARS(:)
Expand Down Expand Up @@ -1155,7 +1155,6 @@ MODULE W3GDATMD
REAL, POINTER :: IC4_FC(:)
REAL, POINTER :: IC4_CN(:)
REAL, POINTER :: IC4_FMIN, IC4_KIBK
LOGICAL, POINTER :: IC4_NUMERICS
#endif
#ifdef W3_IC5
REAL, POINTER :: IC5PARS(:)
Expand Down Expand Up @@ -1219,6 +1218,7 @@ MODULE W3GDATMD

LOGICAL, POINTER :: GINIT, FLDRY, FLCX, FLCY, FLCTH, FLCK, FLSOU, IICEDISP,&
IICESMOOTH
LOGICAL, POINTER :: IC_NUMERICS
LOGICAL, POINTER :: FLAGLL
LOGICAL, POINTER :: CMPRTRCK
LOGICAL, POINTER :: FLAGST(:)
Expand Down Expand Up @@ -1855,8 +1855,6 @@ SUBROUTINE W3DIMX ( IMOD, MX, MY, MSEA, NDSE, NDST &
CHECK_ALLOC_STATUS ( ISTAT )
ALLOCATE ( GRIDS(IMOD)%IC4_CN(NIC42), STAT=ISTAT )
CHECK_ALLOC_STATUS ( ISTAT )
ALLOCATE ( GRIDS(IMOD)%IC4_NUMERICS, STAT=ISTAT )
CHECK_ALLOC_STATUS ( ISTAT )
#endif
#ifdef W3_IC5
ALLOCATE ( GRIDS(IMOD)%IC5PARS(9), STAT=ISTAT )
Expand Down Expand Up @@ -2334,7 +2332,6 @@ SUBROUTINE W3SETG ( IMOD, NDSE, NDST )
IC4_CN => GRIDS(IMOD)%IC4_CN
IC4_FMIN => GRIDS(IMOD)%IC4_FMIN
IC4_KIBK => GRIDS(IMOD)%IC4_KIBK
IC4_NUMERICS => GRIDS(IMOD)%IC4_NUMERICS
#endif
#ifdef W3_IC5
IC5PARS => GRIDS(IMOD)%IC5PARS
Expand Down Expand Up @@ -2391,6 +2388,7 @@ SUBROUTINE W3SETG ( IMOD, NDSE, NDST )
FLSOU => GRIDS(IMOD)%FLSOU
IICEDISP => GRIDS(IMOD)%IICEDISP
IICESMOOTH => GRIDS(IMOD)%IICESMOOTH
IC_NUMERICS => GRIDS(IMOD)%IC_NUMERICS
!
GNAME => GRIDS(IMOD)%GNAME
FILEXT => GRIDS(IMOD)%FILEXT
Expand Down
16 changes: 8 additions & 8 deletions model/src/w3gridmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -769,7 +769,6 @@ MODULE W3GRIDMD
INTEGER :: IC4METHOD
REAL :: IC4KI(NIC4), IC4FC(NIC4), &
IC4CN(NIC42), IC4FMIN, IC4KIBK
LOGICAL :: IC4NUMERICS
#endif

#ifdef W3_IC5
Expand Down Expand Up @@ -810,6 +809,7 @@ MODULE W3GRIDMD
!
REAL(8) :: GSHIFT ! see notes in WMGHGH
LOGICAL :: FLC, ICEDISP, TRCKCMPR
LOGICAL :: ICNUMERICS
INTEGER :: PTM ! Partitioning method
REAL :: PTFC ! Part. cut off freq (for method 5)
REAL :: AIRCMIN, AIRGB
Expand Down Expand Up @@ -977,7 +977,7 @@ MODULE W3GRIDMD
#endif
#ifdef W3_IC4
NAMELIST /SIC4/ IC4METHOD, IC4KI, IC4FC, IC4CN, IC4FMIN, &
IC4KIBK, IC4NUMERICS
IC4KIBK
#endif
#ifdef W3_IC5
NAMELIST /SIC5/ IC5MINIG, IC5MINWT, IC5MAXKRATIO, &
Expand Down Expand Up @@ -1114,7 +1114,7 @@ MODULE W3GRIDMD
STDX, STDY, STDT, ICEHMIN, ICEHINIT, ICEDISP, &
ICESLN, ICEWIND, ICESNL, ICESDS, ICEHFAC, &
ICEHDISP, ICEDDISP, ICEFDISP, CALTYPE, &
TRCKCMPR, PTM, PTFC, BTBET
TRCKCMPR, PTM, PTFC, BTBET, ICNUMERICS
NAMELIST /OUTS/ P2SF, I1P2SF, I2P2SF, &
US3D, I1US3D, I2US3D, &
USSP, IUSSP, STK_WN, &
Expand Down Expand Up @@ -2766,6 +2766,7 @@ SUBROUTINE W3GRID()
STDY = -1.
STDT = -1.
ICEDISP = .FALSE.
ICNUMERICS=.FALSE.
CALTYPE = 'standard'
! Variables for 3D array output
E3D=0
Expand Down Expand Up @@ -2912,7 +2913,6 @@ SUBROUTINE W3GRID()
IC4CN=0.0
IC4FMIN=0.0
IC4KIBK=0.0
IC4NUMERICS=.FALSE.
#endif
!
#ifdef W3_IC5
Expand Down Expand Up @@ -3037,6 +3037,7 @@ SUBROUTINE W3GRID()
IICEHDISP = ICEHDISP
IICEDDISP = ICEDDISP
IICEFDISP = ICEFDISP
IC_NUMERICS=ICNUMERICS
PMOVE = MAX ( 0. , PMOVE )
PFMOVE = PMOVE
!
Expand Down Expand Up @@ -3426,7 +3427,7 @@ SUBROUTINE W3GRID()
ICEHINIT, ICEDISP, ICEHDISP, &
ICESLN, ICEWIND, ICESNL, ICESDS, &
ICEDDISP,ICEFDISP, CALTYPE, TRCKCMPR, &
BTBETA
BTBETA,ICNUMERICS
ELSE
WRITE (NDSO,2966) CICE0, CICEN, LICE, PMOVE, XSEED, FLAGTR, &
XP, XR, XFILT, IHMAX, HSPMIN, WSMULT, &
Expand All @@ -3436,7 +3437,7 @@ SUBROUTINE W3GRID()
ICEHINIT, ICEDISP, ICEHDISP, &
ICESLN, ICEWIND, ICESNL, ICESDS, &
ICEDDISP, ICEFDISP, CALTYPE, TRCKCMPR,&
BTBETA
BTBETA,ICNUMERICS
END IF
!
#ifdef W3_FLD1
Expand Down Expand Up @@ -5348,7 +5349,6 @@ SUBROUTINE W3GRID()
IC4_CN=IC4CN
IC4_FMIN=IC4FMIN
IC4_KIBK=IC4KIBK
IC4_NUMERICS=IC4NUMERICS
#endif
!
#ifdef W3_IC5
Expand Down Expand Up @@ -6836,7 +6836,7 @@ SUBROUTINE W3GRID()
', ICESNL = ',F6.2,', ICESDS = ',F5.2,','/ &
' ICEDDISP = ',F5.2,', ICEFDISP = ',F5.2, &
', CALTYPE = ',A8,' , TRCKCMPR = ', L3,','/ &
' BTBET = ', F6.2, ' /')
' BTBET = ', F6.2, ', ICNUMERICS =',L3,' /')
!
2976 FORMAT ( ' &OUTS P2SF =',I2,', I1P2SF =',I2,', I2P2SF =',I3,','/&
' US3D =',I2,', I1US3D =',I3,', I2US3D =',I3,','/&
Expand Down
Loading

0 comments on commit 97f26f0

Please sign in to comment.