Skip to content

Commit

Permalink
Introduce IC4M8 and IC4M9 to WW3 (#1176)
Browse files Browse the repository at this point in the history
  • Loading branch information
ErickRogers authored Jan 23, 2024
1 parent 026fcdd commit 9a718fc
Show file tree
Hide file tree
Showing 38 changed files with 1,071 additions and 65 deletions.
16 changes: 15 additions & 1 deletion manual/eqs/ICE4.tex
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,20 @@ \subsubsection{~$S_{ice}$: Empirical/parametric damping by sea ice} \label{sec:I

{\code IC4M7}: This is a formula for dissipation from \cite{art:Dob15}, developed for a mixture of pancake and frazil ice, using data collected in the Weddell Sea (Antarctica). The formula depends on wave frequency and ice thickness:
\begin{equation}\label{eq:ice7}
{\alpha=0.2T^{-2.13}h} \:\:\: .
{\alpha=2k_i=0.2h^1f^{2.13}} \:\:\: .
\end{equation}
This method is described in \cite{rep:RPLA18}.

{\code IC4M8}: Like {\code IC4M7}, this method is in the general form of
\begin{equation}\label{eq:ice8}
{k_i=C_{hf}h^mf^n} \:\:\: .
\end{equation}
The formula is taken from \cite{Meylan2018}, where it is described as a ``Model with Order 3 Power Law''. It is applied by \cite{Liu2020}, where it is referred to as the ``M2'' model. The model specifies $m=1$ and $n=3$, and $C_{hf}$ is a user-specified calibration coefficient. \cite{Liu2020} provide calibration to two field cases and \cite{rep:RYW2021} provides a calibration to a third field case, \cite{art:RMK2021}. The third calibration is set as the default for {\code IC4M8}, $C_{hf}=0.059$, but can be changed in using the namelist parameter (constant and uniform) {\code IC4CN}, or using the spatially and/or temporally variable parameter ${C_{ice,2}}$ . Further details on the calibrations are available in the inline documentation in {\file w3sic4md.F90}. This method is functionally the same as the ``{\code M2}'' model in {\code IC5} (i.e., {\code IC5} with {\code IC5VEMOD=3}) and is redundantly included here as {\code IC4M8} because it is in the same ``family'' as {\code IC4M7} and {\code IC4M9}, being in the form of Eq. (\ref{eq:ice8}).

For an example of setting the namelist parameter, see {\file /regtests/ww3\_tic1.1/input\_IC4\_M8}.

{\code IC4M9}: This formula is taken from the ``monomial power fit'' given in section 2.2.3 of \cite{rep:RYW2021}. Like {\code IC4M7} and {\code IC4M8}, it is a specific case of the general form of Eq. (\ref{eq:ice8}). The specificity is the constraint that $m=n/2-1$. This constraint is derived by \cite{rep:RYW2021} by invoking the scaling from \cite{art:YRW2019}, which is based on Reynolds number with ice thickness as the relevant length scale. This is also given as equation 2 in \cite{art:YRW2022}. The default namelist settings are $C_{hf}=2.9$ and $n=4.5$, from calibration by \cite{rep:RYW2021} to \cite{art:RMK2021}. Further details, including alternative calibrations such as \cite{art:Yu2022}, are available in the inline documentation in {\file w3sic4md.F90}. Constant values can be set using namelist parameters, where $C_{hf}$ and $n$ are {\code IC4CN(1)} and {\code IC4CN(2)}, respectively. Spatially and/or temporally versions of the same can be specified as ${C_{ice,2}}$ and ${C_{ice,3}}$, respectively.

The namelist default $C_{hf}$ values in {\code IC4M8} and {\code IC4M9} are consistent with those of identical formulae implemented in \cite{man:SWAN4145A}.


4 changes: 2 additions & 2 deletions manual/eqs/ICE5.tex
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ \subsubsection{~$S_{ice}$: Damping by sea ice (effective medium models)} \label{
\begin{align}
k_i^{EFS} &\propto \eta h_i^3 \sigma^{11},\label{eq:fspw}\\ k_i^{RP} &\propto \frac{\eta}{\rho_w g^2} \sigma^3,\label{eq:rppw}
\end{align}
whereas previous field measurements \citep[e.g.,][]{Meylan2018, Rogers2021} support a power law $k_i \propto \sigma^n$, with $n$ between 2 and 4. Eqs.~(\ref{eq:fspw}) and (\ref{eq:rppw}) indicate at certain regimes (i.e., $k_r \approx k_0$ and low $k_i$), $k_i$ of the EFS model is too sensitive to wave frequency and $k_i$ of the RP model shows no dependence on ice thickness.
whereas previous field measurements \citep[e.g.,][]{Meylan2018, RMK21} support a power law $k_i \propto \sigma^n$, with $n$ between 2 and 4. Eqs.~(\ref{eq:fspw}) and (\ref{eq:rppw}) indicate at certain regimes (i.e., $k_r \approx k_0$ and low $k_i$), $k_i$ of the EFS model is too sensitive to wave frequency and $k_i$ of the RP model shows no dependence on ice thickness.

The third model included in the {\code IC5} module is based on the ``Model with Order 3 Power Law'' proposed by \citet[][their section 6.2; hereafter the M2 model]{Meylan2018}, which assumes the loss of wave energy is proportional to the horizontal ice velocity squared times the ice thickness. The attenuation rate is given by
\begin{equation}
Expand All @@ -52,4 +52,4 @@ \subsubsection{~$S_{ice}$: Damping by sea ice (effective medium models)} \label{
%
\cit{IC5VEMOD} {the sea ice model to be selected: 1 - {\code EFS}, 2 - {\code RP}, 3 - {\code M2}; Default=3 (i.e., \textbf{the {\code M2} model is chosen}).}
\end{clist}
The first 6 parameters were introduced to improve the stability of the numerical solver for the EFS model \citep[the solver may fail for small wave periods in some rare cases, particularly for shallow water depth $d$ and low $G$; see][]{Liu2020}. Nonetheless, since version 7.12, the M2 model becomes the default option and these limiters are therefore not used by default.
The first 6 parameters were introduced to improve the stability of the numerical solver for the EFS model \citep[the solver may fail for small wave periods in some rare cases, particularly for shallow water depth $d$ and low $G$; see][]{Liu2020}. Nonetheless, since version 7.12, the M2 model becomes the default option and these limiters are therefore not used by default.
81 changes: 73 additions & 8 deletions manual/manual.bib
Original file line number Diff line number Diff line change
Expand Up @@ -524,7 +524,7 @@ @TECHREPORT{rep:CR17
INSTITUTION = "{N}aval {R}esearch {L}aboratory, {S}tennis {S}pace {C}enter, {MS}",
TYPE = "NRL Memorandum Report",
NUMBER = "NRL/MR/7320--17-9726",
NOTE = "25 pp., www7320.nrlssc.navy.mil/pubs.php" }
NOTE = "25 pp., www7320.nrlssc.navy.mil/pubs" }

% item art:CRT17
Expand Down Expand Up @@ -1764,7 +1764,7 @@ @INPROCEEDINGS{pro:RZ14
TITLE = "New wave-ice interaction physics in {WAVEWATCH III}",
BOOKTITLE = Ice14,
PUBLISHER = "IAHR",
NOTE = "8 pp., www7320.nrlssc.navy.mil/pubs.php" }
NOTE = "8 pp., www7320.nrlssc.navy.mil/pubs" }

% item rep:RPLA18
Expand All @@ -1775,7 +1775,18 @@ @TECHREPORT{rep:RPLA18
INSTITUTION = "{N}aval {R}esearch {L}aboratory, {S}tennis {S}pace {C}enter, {MS}",
TYPE = "NRL Memorandum Report",
NUMBER = "NRL/MR/7320--18-9786",
NOTE = "179 pp., www7320.nrlssc.navy.mil/pubs.php" }
NOTE = "179 pp., www7320.nrlssc.navy.mil/pubs" }

% item rep:RYW2021
@TECHREPORT{rep:RYW2021,
AUTHOR = "W. E. Rogers and J. Yu and D. W. Wang",
YEAR = "2021",
TITLE = "Incorporating dependencies on ice thickness in empirical parameterizations of wave dissipation by sea ice",
INSTITUTION = "{N}aval {R}esearch {L}aboratory, {S}tennis {S}pace {C}enter, {MS}",
TYPE = "NRL Technical Report",
NUMBER = "NRL/OT/7320-21-5145",
NOTE = "35 pp., https://arxiv.org/abs/2104.01246" }

% item rep:RMK18
Expand All @@ -1786,7 +1797,7 @@ @TECHREPORT{rep:RMK18
INSTITUTION = "{N}aval {R}esearch {L}aboratory, {S}tennis {S}pace {C}enter, {MS}",
TYPE = "NRL Memorandum Report",
NUMBER = "NRL/MR/7320--18-9801",
NOTE = "25 pp., www7320.nrlssc.navy.mil/pubs.php" }
NOTE = "25 pp., www7320.nrlssc.navy.mil/pubs" }

% item art:RH09
Expand All @@ -1811,6 +1822,33 @@ @ARTICLE{art:RTS16
doi = "doi:10.1002/2016JC012251"
}

% item art:YRW2019
@ARTICLE{art:YRW2019,
AUTHOR = "J. Yu and W. E. Rogers and D. W. Wang",
YEAR = 2019,
TITLE = "A Scaling for Wave Dispersion Relationships in Ice-Covered Waters",
JOURNAL = JGR,
VOLUME = "124",
PAGES = "8429--8438" ,
doi = "doi:10.1029/2018JC014870"
}

% item art:Yu2022
@Article{art:Yu2022,
AUTHOR = {Yu, Jie},
TITLE = {Wave Boundary Layer at the Ice-Water Interface},
JOURNAL = {Journal of Marine Science and Engineering},
VOLUME = {10},
YEAR = {2022},
NUMBER = {10},
ARTICLE-NUMBER = {1472},
URL = {https://www.mdpi.com/2077-1312/10/10/1472},
ISSN = {2077-1312},
DOI = {10.3390/jmse10101472}
}

% item art:CFSRR10
@ARTICLE{art:CFSRR10,
Expand Down Expand Up @@ -2346,7 +2384,7 @@ @TECHREPORT{rep:RC09
INSTITUTION = "{N}aval {R}esearch {L}aboratory, {S}tennis {S}pace {C}enter, {MS}",
TYPE = "NRL Memorandum Report",
NUMBER = "NRL/MR/7320--09-9193",
NOTE = "42 pp., www7320.nrlssc.navy.mil/pubs.php" }
NOTE = "42 pp., www7320.nrlssc.navy.mil/pubs" }

% item rep:RO13
Expand All @@ -2357,7 +2395,7 @@ @TECHREPORT{rep:RO13
INSTITUTION = "{N}aval {R}esearch {L}aboratory, {S}tennis {S}pace {C}enter, {MS}",
TYPE = "NRL Memorandum Report",
NUMBER = "NRL/MR/7320--13-9462",
NOTE = "31 pp., www7320.nrlssc.navy.mil/pubs.php" }
NOTE = "31 pp., www7320.nrlssc.navy.mil/pubs" }

% item rep:Roland2008
Expand Down Expand Up @@ -2606,6 +2644,17 @@ @MANUAL{man:SWAN3
ADDRESS = "P.O. Box 5048, 2600 GA Delft, The Netherlands",
NOTE = "see http://swan.ct.tudelft.nl" }

% item man:SWAN4145A
@MANUAL{man:SWAN4145A,
AUTHOR = "{SWAN team}",
YEAR = "2023",
TITLE = "{SWAN Cycle III} version 41.45A User Manual",
ORGANIZATION = "Delft University of Technology,
Faculty of Civil Engineering and Geosciences",
ADDRESS = "P.O. Box 5048, 2600 GA Delft, The Netherlands",
NOTE = "see https://swanmodel.sourceforge.io/" }

% item man:Jones98
@MANUAL{man:Jones98,
Expand Down Expand Up @@ -3485,10 +3534,14 @@ @article{Liu2021
title={{Global Wave Hindcasts Using the Observation-based Source Terms: Description and Validation}},
author={Liu, Qingxiang and Babanin, Alexander and Rogers, W Erick and Zieger, Stefan and Young, Ian and Bidlot, Jean-Raymond and Durrant, Tom and Ewans, Kevin and Guan, Changlong and Kirezci, Cagil and Lemos, Gil and MacHutchon, Keith and Moon, Il-Ju and Rapizo, Henrique and Ribal, Agustinus and Semedo, Alvaro and Wang, Juanjuan},
journal={Journal of Advances in Modeling Earth Systems (JAMES)},
year={submitted}
year = {2021},
volume = {13},
number = {8},
pages = {e2021MS002493},
doi = {https://doi.org/10.1029/2021MS002493},
}

@article{Rogers2021,
@article{art:RMK2021,
title = {Estimates of spectral wave attenuation in Antarctic sea ice, using model/data inversion},
journal = {Cold Regions Science and Technology},
volume = {182},
Expand All @@ -3499,6 +3552,18 @@ @article{Rogers2021
author = {W. Erick Rogers and Michael H. Meylan and Alison L. Kohout}
}

@article{art:YRW2022,
title = {A new method for parameterization of wave dissipation by sea ice},
journal = {Cold Regions Science and Technology},
volume = {199},
pages = {103582},
year = {2022},
issn = {0165-232X},
doi = {https://doi.org/10.1016/j.coldregions.2022.103582},
url = {https://www.sciencedirect.com/science/article/pii/S0165232X2200101X},
author = {Jie Yu and W. Erick Rogers and David W. Wang},
}

@article{Forristall1981,
author = {Forristall, George Z.},
doi = {10.1029/JC086iC09p08075},
Expand Down
4 changes: 2 additions & 2 deletions model/nml/ww3_shel.nml
Original file line number Diff line number Diff line change
Expand Up @@ -319,9 +319,9 @@
! * 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
! * if VALUE1 is equal 0, then the homogeneous input is deactivated
! * 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 :
! * each homogeneous input is defined over a maximum of 3 values detailed below :
! - IC1 is defined by thickness
! - IC2 is defined by viscosity
! - IC3 is defined by density
Expand Down
21 changes: 17 additions & 4 deletions model/src/w3gdatmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -199,10 +199,14 @@ MODULE W3GDATMD
! Default is 1.0, meaning that 100% ice
! concentration result in zero source term
! If set to 0.0, then ice has no direct impact on Sln / Sin / Snl / Sds
! IC3PARS R.A. Public various parameters for use in IC4, handled as
! IC3PARS R.A. Public various parameters for use in IC3, handled as
! an array for simplicity
! IC4_KI R.A. Public KI (dissipation rate) values for use in IC4
! IC4_FC R.A. Public FC (frequency bin separators) for use in IC4
! IC4_KI R.A. Public KI (dissipation rate) values for use in IC4M6
! IC4_FC R.A. Public FC (frequency bin separators) for use in IC4M6
! IC4_CN R.A. Public Coefficients for use in IC4M2
! 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)
! 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 @@ -615,7 +619,7 @@ MODULE W3GDATMD
IPARS = -1, NAUXGR
!
#ifdef W3_IC4
INTEGER, PARAMETER :: NIC4=10
INTEGER, PARAMETER :: NIC4=16 , NIC42=5
#endif
INTEGER, PARAMETER :: RLGTYPE = 1
INTEGER, PARAMETER :: CLGTYPE = 2
Expand Down Expand Up @@ -732,6 +736,8 @@ MODULE W3GDATMD
INTEGER, POINTER :: IC4PARS(:)
REAL, POINTER :: IC4_KI(:)
REAL, POINTER :: IC4_FC(:)
REAL, POINTER :: IC4_CN(:)
REAL :: IC4_FMIN, IC4_KIBK
#endif
#ifdef W3_IC5
REAL, POINTER :: IC5PARS(:)
Expand Down Expand Up @@ -1144,6 +1150,8 @@ MODULE W3GDATMD
INTEGER, POINTER :: IC4PARS(:)
REAL, POINTER :: IC4_KI(:)
REAL, POINTER :: IC4_FC(:)
REAL, POINTER :: IC4_CN(:)
REAL, POINTER :: IC4_FMIN, IC4_KIBK
#endif
#ifdef W3_IC5
REAL, POINTER :: IC5PARS(:)
Expand Down Expand Up @@ -1840,6 +1848,8 @@ SUBROUTINE W3DIMX ( IMOD, MX, MY, MSEA, NDSE, NDST &
CHECK_ALLOC_STATUS ( ISTAT )
ALLOCATE ( GRIDS(IMOD)%IC4_FC(NIC4), STAT=ISTAT )
CHECK_ALLOC_STATUS ( ISTAT )
ALLOCATE ( GRIDS(IMOD)%IC4_CN(NIC42), STAT=ISTAT )
CHECK_ALLOC_STATUS ( ISTAT )
#endif
#ifdef W3_IC5
ALLOCATE ( GRIDS(IMOD)%IC5PARS(9), STAT=ISTAT )
Expand Down Expand Up @@ -2314,6 +2324,9 @@ SUBROUTINE W3SETG ( IMOD, NDSE, NDST )
IC4PARS => GRIDS(IMOD)%IC4PARS
IC4_KI => GRIDS(IMOD)%IC4_KI
IC4_FC => GRIDS(IMOD)%IC4_FC
IC4_CN => GRIDS(IMOD)%IC4_CN
IC4_FMIN => GRIDS(IMOD)%IC4_FMIN
IC4_KIBK => GRIDS(IMOD)%IC4_KIBK
#endif
#ifdef W3_IC5
IC5PARS => GRIDS(IMOD)%IC5PARS
Expand Down
15 changes: 12 additions & 3 deletions model/src/w3gridmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ MODULE W3GRIDMD
!/ 07-Jun-2021 : S_{nl} GKE NL5 (Q. Liu) ( version 7.13 )
!/ 19-Jul-2021 : Momentum and air density support ( version 7.14 )
!/ 28-Feb-2023 : GQM as an alternative for NL1 ( version 7.15 )
!/ 11-Jan-2024 : New namelist parameters for IC4 ( version 7.15 )
!/
!/ Copyright 2009-2013 National Weather Service (NWS),
!/ National Oceanic and Atmospheric Administration. All rights
Expand Down Expand Up @@ -764,9 +765,10 @@ MODULE W3GRIDMD

#ifdef W3_IC4
INTEGER :: IC4METHOD
REAL :: IC4KI(NIC4), IC4FC(NIC4)
REAL :: IC4KI(NIC4), IC4FC(NIC4), &
IC4CN(NIC42), IC4FMIN, IC4KIBK
#endif
!

#ifdef W3_IC5
REAL :: IC5MINIG, IC5MINWT, &
IC5MAXKRATIO, IC5MAXKI, IC5MINHW, &
Expand Down Expand Up @@ -970,7 +972,8 @@ MODULE W3GRIDMD
IC3VISC, IC3ELAS, IC3DENS, IC3HICE
#endif
#ifdef W3_IC4
NAMELIST /SIC4/ IC4METHOD, IC4KI, IC4FC
NAMELIST /SIC4/ IC4METHOD, IC4KI, IC4FC, IC4CN, IC4FMIN, &
IC4KIBK
#endif
#ifdef W3_IC5
NAMELIST /SIC5/ IC5MINIG, IC5MINWT, IC5MAXKRATIO, &
Expand Down Expand Up @@ -2891,6 +2894,9 @@ SUBROUTINE W3GRID()
IC4METHOD = 1 !switch for methods within IC4
IC4KI=0.0
IC4FC=0.0
IC4CN=0.0
IC4FMIN=0.0
IC4KIBK=0.0
#endif
!
#ifdef W3_IC5
Expand Down Expand Up @@ -5313,6 +5319,9 @@ SUBROUTINE W3GRID()
IC4PARS(1)=IC4METHOD
IC4_KI=IC4KI
IC4_FC=IC4FC
IC4_CN=IC4CN
IC4_FMIN=IC4FMIN
IC4_KIBK=IC4KIBK
#endif
!
#ifdef W3_IC5
Expand Down
8 changes: 4 additions & 4 deletions model/src/w3iogrmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1292,11 +1292,11 @@ SUBROUTINE W3IOGR ( INXOUT, NDSM, IMOD, FEXT &
#endif
#ifdef W3_IC4
WRITE (NDSM) &
IC4PARS,IC4_KI,IC4_FC
IC4PARS,IC4_KI,IC4_FC,IC4_CN,IC4_FMIN,IC4_KIBK
#ifdef W3_ASCII
WRITE (NDSA,*) &
'IC4PARS,IC4_KI,IC4_FC:', &
IC4PARS,IC4_KI,IC4_FC
'IC4PARS,IC4_KI,IC4_FC,IC4_CN,IC4_FMIN,IC4_KIBK:', &
IC4PARS,IC4_KI,IC4_FC,IC4_CN,IC4_FMIN,IC4_KIBK
#endif
#endif
#ifdef W3_IC5
Expand Down Expand Up @@ -1338,7 +1338,7 @@ SUBROUTINE W3IOGR ( INXOUT, NDSM, IMOD, FEXT &
#endif
#ifdef W3_IC4
READ (NDSM,END=801,ERR=802,IOSTAT=IERR) &
IC4PARS,IC4_KI,IC4_FC
IC4PARS,IC4_KI,IC4_FC,IC4_CN,IC4_FMIN,IC4_KIBK
#endif
#ifdef W3_IC5
READ (NDSM,END=801,ERR=802,IOSTAT=IERR) &
Expand Down
Loading

0 comments on commit 9a718fc

Please sign in to comment.