Small constructor — build once from &ocean_ice_ic_nml. Copies
ice_evp_params_from_config’s shape; the one difference is
conc_config, a STRING here (parsed internally), because the
namelist knob is a nml_enum string, not an already-parsed
integer.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | conc_config | |||
| real(kind=wp), | intent(in) | :: | conc | |||
| real(kind=wp), | intent(in) | :: | h_ice | |||
| real(kind=wp), | intent(in) | :: | h_snow | |||
| real(kind=wp), | intent(in) | :: | t_ice | |||
| real(kind=wp), | intent(in) | :: | s_ice | |||
| real(kind=wp), | intent(in) | :: | arctic_edge | |||
| real(kind=wp), | intent(in) | :: | antarctic_edge |
pure function ice_ic_params_from_config(conc_config, conc, h_ice, h_snow, & t_ice, s_ice, arctic_edge, & antarctic_edge) result(par) !! Small constructor — build once from `&ocean_ice_ic_nml`. Copies !! `ice_evp_params_from_config`'s shape; the one difference is !! `conc_config`, a STRING here (parsed internally), because the !! namelist knob is a `nml_enum` string, not an already-parsed !! integer. character(len=*), intent(in) :: conc_config real(wp), intent(in) :: conc, h_ice, h_snow, t_ice, s_ice real(wp), intent(in) :: arctic_edge, antarctic_edge type(ice_ic_params_t) :: par par%conc_config = ice_ic_parse_conc_config(conc_config) par%conc = conc par%h_ice = h_ice par%h_snow = h_snow par%t_ice = t_ice par%s_ice = s_ice par%arctic_edge = arctic_edge par%antarctic_edge = antarctic_edge end function ice_ic_params_from_config