ice_ic_params_t Derived Type

type, public :: ice_ic_params_t

Sea-ice IC scalar knob bundle (mirrors ice_evp_params_t). Built ONCE from &ocean_ice_ic_nml via ice_ic_params_from_config; every field a plain scalar (no derived-type deref inside the host loop, same discipline as the EVP params — though this module never runs on-device at all).


Inherited by

type~~ice_ic_params_t~~InheritedByGraph type~ice_ic_params_t ice_ic_params_t type~ocean_engine_t ocean_engine_t type~ocean_engine_t->type~ice_ic_params_t ic_par type~ocean_handle_t ocean_handle_t type~ocean_handle_t->type~ocean_engine_t engine

Components

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

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

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

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

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

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

integer, public :: conc_config = ICE_IC_CONC_ZERO

Parsed conc_config enum (ICE_IC_CONC_*).

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.

real(kind=wp), public :: s_ice = ICE_BULK_SALINITY

Ice bulk salinity (PSU) — SIS2 ICE_SALINITY_IC default, which matches ocean_sea_ice_init’s own sal_ice source value, so "uniform" at the default s_ice leaves sal_ice unchanged.

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

Ice/snow temperature (degC) — SIS2 ICE_TEMPERATURE_IC default.


Source Code

   type :: ice_ic_params_t
      !! Sea-ice IC scalar knob bundle (mirrors `ice_evp_params_t`).
      !! Built ONCE from `&ocean_ice_ic_nml` via `ice_ic_params_from_config`;
      !! every field a plain scalar (no derived-type deref inside the
      !! host loop, same discipline as the EVP params — though this
      !! module never runs on-device at all).
      integer  :: conc_config = ICE_IC_CONC_ZERO
         !! Parsed `conc_config` enum (`ICE_IC_CONC_*`).
      real(wp) :: conc = 0.0_wp
         !! Uniform-mode concentration [0,1] (nondim).
      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.
      real(wp) :: t_ice = -4.0_wp
         !! Ice/snow temperature (degC) — SIS2 `ICE_TEMPERATURE_IC`
         !! default.
      real(wp) :: s_ice = ICE_BULK_SALINITY
         !! Ice bulk salinity (PSU) — SIS2 `ICE_SALINITY_IC` default,
         !! which matches `ocean_sea_ice_init`'s own `sal_ice` source
         !! value, so `"uniform"` at the default `s_ice` leaves `sal_ice`
         !! unchanged.
      real(wp) :: arctic_edge = 91.0_wp
         !! `"latitudes"` Arctic edge (degrees_north) — SIS2
         !! `ARCTIC_ICE_EDGE_IC` default (no cell qualifies).
      real(wp) :: antarctic_edge = -91.0_wp
         !! `"latitudes"` Antarctic edge (degrees_north) — SIS2
         !! `ANTARCTIC_ICE_EDGE_IC` default (no cell qualifies).
   end type ice_ic_params_t