Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
6ebc4e0
Use ymd instead of uninitialized date in wav_shr_mod.F90
NickSzapiro-NOAA May 6, 2025
aab6957
Consistent character(len=80) :: stdname in wav_import_export.F90
NickSzapiro-NOAA May 16, 2025
f469839
stdname len 80 in wmesmfmd.F90 too
NickSzapiro-NOAA May 16, 2025
1b77ef2
Bugfix regarding JONSWAP initialization
MHBalsmeier Aug 13, 2025
643cb5a
branch=IC4_safety_fix
ErickRogers Aug 20, 2025
3788ad4
Update CMAKE so that OASIS requires MPI (#1490)
JessicaMeixner-NOAA Sep 4, 2025
814c1a4
Correct the OASIS SMC grid by shifting one grid cell to the south-wes…
ukmo-juan-castillo Sep 4, 2025
9d9e3d0
Remove esmf directory (#1491)
JessicaMeixner-NOAA Sep 5, 2025
5721ada
Remove gotos in smc_docs/ (#1495)
ukmo-juan-castillo Sep 17, 2025
6642299
temporarily disable CI testing until we have time to fix (#1499)
JessicaMeixner-NOAA Sep 30, 2025
e3b1f1c
Update grib2 outputs to have complex packing (#1496)
sbanihash Oct 1, 2025
91c6fcc
fix warnings when building in debug mode and debug errors for ww3_gri…
mingchen-NOAA Oct 7, 2025
937ecec
Fix missing comma (#1503)
alcoat Oct 9, 2025
238cd41
Update include mpif.h to use mpif08 (#1498)
JessicaMeixner-NOAA Oct 16, 2025
50eeafb
resolve compiler remarks in w3bullmd.F90 w3cspcmd.F90 w3dispmd.F90 w3…
mingchen-NOAA Oct 16, 2025
ffc08be
resolve compiler remarks in w3fldsmd.F90 w3parall.F90 w3snl1md.F90 w3…
mingchen-NOAA Oct 16, 2025
97d4b96
Merge remote-tracking branch 'origin/develop' into dev2devufspluswarn…
JessicaMeixner-NOAA Oct 16, 2025
7fbc0e8
use mpif08 instead of include mpif.h for mesh cap code
JessicaMeixner-NOAA Oct 16, 2025
5dfaf99
Merge remote-tracking branch 'NS/stdname_len' into dev2devufspluswarn…
JessicaMeixner-NOAA Oct 16, 2025
f9af832
Merge remote-tracking branch 'NS/uninitialized_date' into dev2devufsp…
JessicaMeixner-NOAA Oct 16, 2025
a0348b2
Resolve GNU build issues and clean up EXTERNAL declarations (#1512)
mingchen-NOAA Oct 20, 2025
b3342c0
Merge remote-tracking branch 'EMC/develop' into dev2devufspluswarningfix
JessicaMeixner-NOAA Oct 20, 2025
99d831f
fix typo
JessicaMeixner-NOAA Oct 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
File renamed without changes.
20 changes: 11 additions & 9 deletions manual/eqs/ICE4.tex
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ \subsubsection{~$S_{ice}$: Empirical/parametric damping by sea ice} \label{sec:I
\opthead{IC4}{\ws/NRL}{C. Collins and E. Rogers}

\noindent
The fourth option ({\code IC4}) for damping of waves by sea ice was introduced by \cite{rep:CR17}. It gives methods to implement one of several simple, empirical/parametric forms for the dissipation of wave energy by sea ice. The motivation for {\code IC4} is to provide a simple, flexible, and efficient source term which reproduces, albeit in a highly parameterized way, some basic physics of wave-ice interaction. The method is set by the integer value (presently 1 to 7) for {\code IC4METHOD} namelist parameter: 1) an exponential fit to the field data of \cite{art:WAD88}, 2) the polynomial fit in \cite{art:MBK14}, 3) a quadratic fit to the calculations of \cite{art:KM08} given in \cite{art:HT15}, 4) Eq. 1 of \cite{art:Ko14}, 5) a simple step function with up to 4 steps (may be nonstationary and non-uniform), and 6) a simple step function with up to 10 steps (must be stationary and uniform), and 7) a formula from \cite{art:Dob15} which uses ice thickness. All but the fourth method of {\code IC4} feature frequency-dependent attenuation. With the fourth method, attenuation varies with waveheight but is uniform in frequency space.
The fourth option ({\code IC4}) for damping of waves by sea ice was introduced (in its earliest form) by \cite{rep:CR17}. It gives methods to implement one of several simple, empirical/parametric forms for the dissipation of wave energy by sea ice. The motivation for {\code IC4} is to provide a simple, flexible, and efficient source term which reproduces, albeit in a highly parameterized way, some basic physics of wave-ice interaction. The method is set by the integer value (presently 1 to 10) for {\code IC4METHOD} namelist parameter. The first six are: 1) an exponential fit to the field data of \cite{art:WAD88}, 2) the polynomial fit in \cite{art:MBK14}, 3) a quadratic fit to the calculations of \cite{art:KM08} given in \cite{art:HT15}, 4) Eq. 1 of \cite{art:Ko14}, 5) a simple step function with up to 4 steps (may be nonstationary and non-uniform), and 6) a simple step function with up to 10 steps (must be stationary and uniform). Methods 7, 8, and 9 use multivariate power fits with dependence on frequency and ice thickness. All but the fourth method of {\code IC4} feature frequency-dependent attenuation. With the fourth method, attenuation varies with waveheight but is uniform in frequency space.

In the following discussion we use {\code IC4M1} to denote {\code IC4} method 1, and so forth. {\code IC4} appears in the {\file switch} and namelist {\code IC4METHOD=1} (for example) appears in the file {\file ww3\_grid.inp}. Whereas in {\code IC1}, ${C_{ice,1}}$ is the user-determined attenuation, for {\code IC4M1}, {\code IC4M2}, and {\code IC4M4} ${C_{ice,n}}$ are constants of the equations. For {\code IC4M3}, ${C_{ice,1}}$ is ice thickness. For {\code IC4M5}, ${C_{ice,n}}$ controls the step function. Note that ${C_{ice,n}}$ may be provided by the user as non-stationary and non-uniform using methods analogous to methods used to input water levels.
In the following discussion we use {\code IC4M1} to denote {\code IC4} method 1, and so forth. {\code IC4} appears in the {\file switch} and namelist {\code IC4METHOD=1} (for example) appears in the file {\file ww3\_grid.inp}. Whereas in {\code IC1}, ${C_{ice,1}}$ is the user-determined attenuation, here the meaning of ${C_{ice,n}}$ is context-dependent. With {\code IC4M1}, {\code IC4M2}, and {\code IC4M4} ${C_{ice,n}}$ are constants of the equations. For {\code IC4M3}, {\code IC4M7}, {\code IC4M8}, and {\code IC4M9}, ${C_{ice,1}}$ is ice thickness. For {\code IC4M5}, ${C_{ice,n}}$ controls the step function. For {\code IC4M6}, namelist variables control the step function. Note that, for methods which use it, ${C_{ice,n}}$ may be provided by the user as non-stationary and non-uniform using methods analogous to methods used to input water levels.

{\code IC4M1}: an exponential equation was chosen to fit the data contained in table 2 of \cite{art:WAD88} which results in preferential attenuation of high frequency waves. This parameterizes the well-known low-pass filtering effect of ice. The equation has the following form:
\begin{equation}\label{eq:ice1}
Expand All @@ -26,13 +26,15 @@ \subsubsection{~$S_{ice}$: Empirical/parametric damping by sea ice} \label{sec:I

With appropriate coefficients, this polynomial method can be used to reproduce the so-called “roll-over effect” where the attenuation is non-monotonic in frequency space. However, some recent studies do not indicate this effect, e.g. \cite{art:RTS16} and \cite{art:LK17}, and it may just be a spurious artifact in prior observational studies.

Though ${C_{ice,1...5}}$ can be specified to vary in time and space, this feature is rarely used in practice. Most users will prefer to use constant values, and for convenience, these can be set using namelist parameters, where $C_{ice,i}$ is specified as {\code IC4CN(i)} in the {\code SIC4} namelist rather than as an input field using {\file ww3\_prep}, etc.

{\code IC4M3}: \cite{art:HT15} fit a quadratic equation to the attenuation coefficient calculated by \cite{art:KM08} as a function of frequency, $T$, and ice thickness, $h$. Attenuation increases for thicker ice and higher frequencies (lower periods). The number of coefficients of the quadratic equation were prohibitively large to be user-determined, so the equation is hardwired in and the tunable parameter, ${C_{ice,1}}$, is ice thickness $h$. This method is described and applied in \cite{rep:CR17}. For reference, the equation is the following:
\begin{equation}\label{eq:ice3}
{\ln{\alpha(T,h)}} = -0.3203 + 2.058h - 0.9375T - 0.4269h^2 + 0.1566hT + 0.0006T^2
\end{equation}

\noindent
There are two warnings to make about {\code IC4M3}. First, the equation itself was an extrapolation of the original range of $h$ used to calculate the attenuation coefficients in \cite{art:KM08} which was between 0.5 and 3 m, see \cite{art:HT15}. Second, in \cite{art:KM08}, wave attenuation predicted is based on scattering (a conservative process), whereas in {\code IC4M3}, the wave attenuation is treated as dissipation (non-conservative). This is ad hoc and not recommended for general use. Most especially, users should think twice before using {\code IC4M3} in combination with scattering routines {\code IS1} or {\code IS2}, since this is essentially double-counting scattering.
There are four warnings to make about {\code IC4M3}. First, the equation itself was an extrapolation of the original range of $h$ used to calculate the attenuation coefficients in \cite{art:KM08} which was between 0.5 and 3 m, see \cite{art:HT15}. Second, in \cite{art:KM08}, wave attenuation predicted is based on scattering (a conservative process), whereas in {\code IC4M3}, the wave attenuation is treated as dissipation (non-conservative). Third, we recommend against using {\code IC4M3} in combination with scattering routines {\code IS1} or {\code IS2}, since this would include scattering twice. Fourth, the implementation assumes that one floe is encountered per meter. This is a departure from \cite{art:HT15} which allows this length scale to vary. The reader is referred to the inline documentation in {\file w3sic4md.F90} for further detail.

{\code IC4M4}: \cite{art:Ko14} found that attenuation was a function of significant wave height. Attenuation increased linearly with ${H_s}$ until ${H_s} = 3$ m at which point attenuation is capped, thus:
\begin{equation}
Expand All @@ -44,11 +46,11 @@ \subsubsection{~$S_{ice}$: Empirical/parametric damping by sea ice} \label{sec:I
\end{equation}
where {$k_i=\frac{\partial H_s}{\partial dx}/H_s$}.

The values given in \cite{art:Ko14} are ${C_{ice,1...2}}=[5.35\times 10^{-6}, 16.05\times 10^{-6}]$. See regression test {\file ww3\_tic1.1/input\_IC4/M4} for examples. This method is described and applied in \cite{rep:CR17}.
The values given in \cite{art:Ko14} are ${C_{ice,1...2}}=[5.35\times 10^{-6}, 16.05\times 10^{-6}]$. See regression test {\file ww3\_tic1.1/input\_IC4\_M4} for examples. This method is described and applied in \cite{rep:CR17}.

{\code IC4M5}: This is a simple step function with up to 4 steps. It is controlled by the optionally nonstationary and non-uniform parameters ${C_{ice,1...7}}$. Parameters ${C_{ice,1...4}}$ control the step levels, which are in terms of dissipation rate, ${k_i}$. Parameters ${C_{ice,5...7}}$ control the step boundaries (given in Hz). See regression test {\file ww3\_tic1.1/input\_IC4/M5} for examples. This method is described in \cite{rep:CR17}.
{\code IC4M5}: This is a simple step function with up to 4 steps. It is controlled by the optionally nonstationary and non-uniform parameters ${C_{ice,1...7}}$. Parameters ${C_{ice,1...4}}$ control the step levels, which are in terms of dissipation rate, ${k_i}$. Parameters ${C_{ice,5...7}}$ control the step boundaries (given in Hz). See regression test {\file ww3\_tic1.1/input\_IC4\_M5} for examples. This method is described in \cite{rep:CR17}.

{\code IC4M6}: This is a simple step function with up to 10 steps. It is controlled by the stationary and uniform namelist parameters {\code IC4KI} and {\code IC4FC}. Array {\code IC4KI} controls the step levels, which are in terms of dissipation rate, ${k_i}$, in radians per meter. Array {\code IC4FC} controls the step boundaries (given in Hz). See regression test {\file ww3\_tic1.1/input\_IC4/M6} for examples.
{\code IC4M6}: This is a simple step function with up to 10 steps. It is controlled by the stationary and uniform namelist parameters {\code IC4KI} and {\code IC4FC}. Array {\code IC4KI} controls the step levels, which are in terms of dissipation rate, ${k_i}$, in radians per meter. Array {\code IC4FC} controls the step boundaries (given in Hz). See regression test {\file ww3\_tic1.1/input\_IC4\_M6} for examples.

{\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}
Expand All @@ -60,12 +62,12 @@ \subsubsection{~$S_{ice}$: Empirical/parametric damping by sea ice} \label{sec:I
\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}).
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 via the namelist parameter {\code IC4CN} (constant and uniform settings), or by 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.
{\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} and \cite{art:YRW2022} 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. Spatial and/or temporal variability of the same can be specified using ${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}.

{\code IC4M10} is a method for attenuation due to scattering by sea ice floes, depending on ice thickness and floe size, based on \cite{art:MHB21}.
16 changes: 16 additions & 0 deletions manual/manual.bib
Original file line number Diff line number Diff line change
Expand Up @@ -3226,6 +3226,22 @@ @ARTICLE{art:MBK14
number = "C14",
PAGES = "5,046--5,051" }

% item art:MHB21

@article{art:MHB21,
author = {Michael H. Meylan and Christopher Horvat and Cecilia M. Bitz and Luke G. Bennetts},
year = {2021},
title = {A floe size dependent scattering model in two- and three-dimensions for wave attenuation by ice floes},
journal=OMOD,
volume = {161},
pages = {101779},
issn = {1463-5003},
doi = {https://doi.org/10.1016/j.ocemod.2021.101779},
url = {https://www.sciencedirect.com/science/article/pii/S1463500321000299},
keywords = {Sea ice, Ocean waves, Scattering},
publisher={Elsevier}
}

% item art:HT15

@ARTICLE{art:HT15,
Expand Down
2 changes: 1 addition & 1 deletion model/bin/ww3_from_ftp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ usage()
curr_dir=`pwd`

# Set WW3 code version
ww3ver=v7.14.1
ww3ver=v7.14.2

interactive='n'
keep='n'
Expand Down
Loading