ocean_ice_ic_config_t Derived Type

type, public :: ocean_ice_ic_config_t

&ocean_ice_ic_nml: sea-ice ANALYTIC initial-condition path (PR 24). Default conc_config="zero" early-returns before touching a single ice array => byte-identical to today for every existing nml/test. v1 ships "uniform" (scalar) and "latitudes" (SIS2 polar-cap analytic form) only — file-backed ICs are deliberately NOT in the allowed list ("file" is v1.1, PR-14).


Inherited by

type~~ocean_ice_ic_config_t~~InheritedByGraph type~ocean_ice_ic_config_t ocean_ice_ic_config_t type~ocean_config_t ocean_config_t type~ocean_config_t->type~ocean_ice_ic_config_t ice_ic type~config_t config_t type~config_t->type~ocean_config_t ocean type~ocean_handle_t ocean_handle_t type~ocean_handle_t->type~config_t cfg

Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: antarctic_edge = -91.0_wp

"latitudes" Antarctic ice edge (degrees_north) — SIS2 ANTARCTIC_ICE_EDGE_IC default (no cell qualifies => no ice).

real(kind=wp), public :: arctic_edge = 91.0_wp

"latitudes" Arctic ice edge (degrees_north) — SIS2 ARCTIC_ICE_EDGE_IC default (no cell qualifies => no ice).

real(kind=wp), public :: conc = 0.0_wp

Uniform-mode concentration [0,1] (nondim). "uniform" only.

character(len=32), public :: conc_config = "zero"

"zero" (default, no-op) / "uniform" / "latitudes".

real(kind=wp), public :: h_ice = 0.0_wp

Ice thickness (m) where seeded — SIS2 ICE_INIT_MASS as a thickness.

real(kind=wp), public :: h_snow = 0.0_wp

Snow thickness (m) where seeded — SIS2 SNOW_INIT_MASS as a thickness. Snow is a one-way street (no snowfall source anywhere in the tree) — this can only ever melt.

real(kind=wp), public :: s_ice = 4.0_wp

Ice bulk salinity (PSU) — SIS2 ICE_SALINITY_IC default, matching ICE_BULK_SALINITY (ocean_sea_ice_init’s own sal_ice source value).

real(kind=wp), public :: t_ice = -4.0_wp

Ice/snow temperature (degC) fed through the exact ice_enth_from_ts inversion — SIS2 ICE_TEMPERATURE_IC default.


Source Code

   type :: ocean_ice_ic_config_t
      !! `&ocean_ice_ic_nml`: sea-ice ANALYTIC initial-condition path (PR
      !! 24). Default `conc_config="zero"` early-returns before touching
      !! a single ice array => byte-identical to today for every existing
      !! nml/test. v1 ships `"uniform"` (scalar) and `"latitudes"` (SIS2
      !! polar-cap analytic form) only — file-backed ICs are deliberately
      !! NOT in the allowed list (`"file"` is v1.1, PR-14).
      character(len=32) :: conc_config = "zero"
         !! `"zero"` (default, no-op) / `"uniform"` / `"latitudes"`.
      real(wp) :: conc = 0.0_wp
         !! Uniform-mode concentration [0,1] (nondim). `"uniform"` only.
      real(wp) :: h_ice = 0.0_wp
         !! Ice thickness (m) where seeded — SIS2 `ICE_INIT_MASS` as a
         !! thickness.
      real(wp) :: h_snow = 0.0_wp
         !! Snow thickness (m) where seeded — SIS2 `SNOW_INIT_MASS` as a
         !! thickness. Snow is a one-way street (no snowfall source
         !! anywhere in the tree) — this can only ever melt.
      real(wp) :: t_ice = -4.0_wp
         !! Ice/snow temperature (degC) fed through the exact
         !! `ice_enth_from_ts` inversion — SIS2 `ICE_TEMPERATURE_IC`
         !! default.
      real(wp) :: s_ice = 4.0_wp
         !! Ice bulk salinity (PSU) — SIS2 `ICE_SALINITY_IC` default,
         !! matching `ICE_BULK_SALINITY` (`ocean_sea_ice_init`'s own
         !! `sal_ice` source value).
      real(wp) :: arctic_edge = 91.0_wp
         !! `"latitudes"` Arctic ice edge (degrees_north) — SIS2
         !! `ARCTIC_ICE_EDGE_IC` default (no cell qualifies => no ice).
      real(wp) :: antarctic_edge = -91.0_wp
         !! `"latitudes"` Antarctic ice edge (degrees_north) — SIS2
         !! `ANTARCTIC_ICE_EDGE_IC` default (no cell qualifies => no ice).
   end type ocean_ice_ic_config_t