ice_ic_parse_conc_config Function

public pure function ice_ic_parse_conc_config(s) result(mode)

"zero"/"uniform"/"latitudes" -> ICE_IC_CONC_*; any other string -> ICE_IC_CONC_INVALID (fail-loud idiom: a pure function cannot abort, so validate_config V8 turns the sentinel into a logger%error; nml_enum allowed= is the first line of defence).

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: s

Return Value integer


Called by

proc~~ice_ic_parse_conc_config~~CalledByGraph proc~ice_ic_parse_conc_config ice_ic_parse_conc_config proc~ice_ic_params_from_config ice_ic_params_from_config proc~ice_ic_params_from_config->proc~ice_ic_parse_conc_config proc~validate_config validate_config proc~validate_config->proc~ice_ic_parse_conc_config proc~build_pending_handle build_pending_handle proc~build_pending_handle->proc~validate_config proc~engine_setup engine_setup proc~engine_setup->proc~ice_ic_params_from_config proc~complete_ocean_create complete_ocean_create proc~complete_ocean_create->proc~engine_setup proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_setup proc~driver_validate driver_validate proc~driver_validate->proc~engine_setup proc~rdb_ocean_create_from_string rdb_ocean_create_from_string proc~rdb_ocean_create_from_string->proc~build_pending_handle proc~rdb_ocean_create_from_string->proc~complete_ocean_create proc~rdb_ocean_create_pending rdb_ocean_create_pending proc~rdb_ocean_create_pending->proc~build_pending_handle proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean proc~rdb_ocean_create_finalize rdb_ocean_create_finalize proc~rdb_ocean_create_finalize->proc~complete_ocean_create

Source Code

   pure function ice_ic_parse_conc_config(s) result(mode)
      !! `"zero"`/`"uniform"`/`"latitudes"` -> `ICE_IC_CONC_*`; any other
      !! string -> `ICE_IC_CONC_INVALID` (fail-loud idiom: a `pure`
      !! function cannot abort, so `validate_config` V8 turns the
      !! sentinel into a `logger%error`; `nml_enum allowed=` is the first
      !! line of defence).
      character(len=*), intent(in) :: s
      integer :: mode

      select case (trim(s))
      case ("zero")
         mode = ICE_IC_CONC_ZERO
      case ("uniform")
         mode = ICE_IC_CONC_UNIFORM
      case ("latitudes")
         mode = ICE_IC_CONC_LATITUDES
      case default
         mode = ICE_IC_CONC_INVALID
      end select
   end function ice_ic_parse_conc_config