parse_pv_adv_scheme Function

public pure function parse_pv_adv_scheme(name) result(code)

Translate a namelist string into a PV_ADV_* code. An unrecognised string returns PV_ADV_INVALID (fail-loud — a typo must not silently degrade the PV interpolation). weno5/weno7 are implemented; they additionally require nghost >= 4/5 (pv_adv_required_nghost), checked at configure.

Arguments

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

Return Value integer


Called by

proc~~parse_pv_adv_scheme~~CalledByGraph proc~parse_pv_adv_scheme parse_pv_adv_scheme proc~configure_ocean_forcing configure_ocean_forcing proc~configure_ocean_forcing->proc~parse_pv_adv_scheme proc~required_halo required_halo proc~required_halo->proc~parse_pv_adv_scheme proc~validate_config validate_config proc~validate_config->proc~parse_pv_adv_scheme 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_forcing proc~rdb_ocean_required_halo rdb_ocean_required_halo proc~rdb_ocean_required_halo->proc~required_halo 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_pv_adv_scheme(name) result(code)
      !! Translate a namelist string into a `PV_ADV_*` code.  An
      !! unrecognised string returns `PV_ADV_INVALID` (fail-loud — a typo
      !! must not silently degrade the PV interpolation).  `weno5`/`weno7`
      !! are implemented; they additionally require `nghost >= 4`/`5`
      !! (`pv_adv_required_nghost`), checked at configure.
      character(len=*), intent(in) :: name
      integer :: code
      select case (trim(adjustl(name)))
      case ("centered", "CENTERED", "centred", "center")
         code = PV_ADV_CENTERED
      case ("weno3", "WENO3")
         code = PV_ADV_WENO3
      case ("weno5", "WENO5")
         code = PV_ADV_WENO5
      case ("weno7", "WENO7")
         code = PV_ADV_WENO7
      case default
         code = PV_ADV_INVALID
      end select
   end function parse_pv_adv_scheme