parse_opgf_variant Function

public pure function parse_opgf_variant(name) result(code)

Translate a namelist string into an OPGF_VARIANT_* code. Unrecognised values fall back to OPGF_VARIANT_FV_LITE (the production default).

Arguments

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

Return Value integer


Called by

proc~~parse_opgf_variant~~CalledByGraph proc~parse_opgf_variant parse_opgf_variant proc~configure_ocean_pgf configure_ocean_pgf proc~configure_ocean_pgf->proc~parse_opgf_variant proc~ocean_state_init_from_config ocean_state_t%ocean_state_init_from_config proc~ocean_state_init_from_config->proc~parse_opgf_variant proc~validate_config validate_config proc~validate_config->proc~parse_opgf_variant proc~build_pending_handle build_pending_handle proc~build_pending_handle->proc~validate_config proc~engine_setup engine_setup proc~engine_setup->proc~configure_ocean_pgf proc~engine_setup->proc~ocean_state_init_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 parse_opgf_variant(name) result(code)
      !! Translate a namelist string into an `OPGF_VARIANT_*` code.
      !! Unrecognised values fall back to `OPGF_VARIANT_FV_LITE` (the
      !! production default).
      character(len=*), intent(in) :: name
      integer :: code
      select case (trim(adjustl(name)))
      case ("mont", "MONT", "montgomery")
         code = OPGF_VARIANT_MONT
      case ("fv_lite", "FV_LITE", "fv-lite", "")
         code = OPGF_VARIANT_FV_LITE
      case ("fv_wright", "FV_WRIGHT", "fv-wright", "wright")
         code = OPGF_VARIANT_FV_WRIGHT
      case ("gprime", "GPRIME", "reduced_gravity")
         code = OPGF_VARIANT_GPRIME
      case ("fv_mom6", "FV_MOM6", "fv-mom6", "mom6_fv", "MOM6_FV")
         code = OPGF_VARIANT_FV_MOM6
      case default
         code = OPGF_VARIANT_FV_LITE
      end select
   end function parse_opgf_variant