forcing_components_need_thermo Function

private pure function forcing_components_need_thermo(enable_components, enable_thermodynamics) result(bad)

&ocean_forcing_nml enable_components=.true. with &ocean_thermo_nml enable_thermodynamics=.false. is a configuration that validates but does nothing (the component set only feeds the assembler->apply_tracers thermo path) — named predicate per the lateral_closure_is_implemented idiom so validate_config reads as one line.

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: enable_components
logical, intent(in) :: enable_thermodynamics

Return Value logical


Called by

proc~~forcing_components_need_thermo~~CalledByGraph proc~forcing_components_need_thermo forcing_components_need_thermo proc~validate_config validate_config proc~validate_config->proc~forcing_components_need_thermo proc~build_pending_handle build_pending_handle proc~build_pending_handle->proc~validate_config 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_pending rdb_ocean_create_pending proc~rdb_ocean_create_pending->proc~build_pending_handle

Source Code

   pure logical function forcing_components_need_thermo(enable_components, &
                                                        enable_thermodynamics) result(bad)
      !! `&ocean_forcing_nml enable_components=.true.` with
      !! `&ocean_thermo_nml enable_thermodynamics=.false.` is a
      !! configuration that validates but does nothing (the component
      !! set only feeds the assembler->apply_tracers thermo path) —
      !! named predicate per the `lateral_closure_is_implemented` idiom
      !! so `validate_config` reads as one line.
      logical, intent(in) :: enable_components, enable_thermodynamics
      bad = enable_components .and. .not. enable_thermodynamics
   end function forcing_components_need_thermo