is_canonical_diag_name Function

public pure function is_canonical_diag_name(name) result(yes)

.true. if name is one of the canonical default diagnostics registered by register_default_diags (including the conditionally-registered EPBL / kappa-shear / tracer / sea-ice diags). Used by the selection orchestrator to route a spec entry to either the canonical-override path or the derived-catalog registration path.

Arguments

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

Return Value logical


Called by

proc~~is_canonical_diag_name~~CalledByGraph proc~is_canonical_diag_name is_canonical_diag_name proc~apply_diag_selection apply_diag_selection proc~apply_diag_selection->proc~is_canonical_diag_name proc~engine_configure_diag engine_configure_diag proc~engine_configure_diag->proc~apply_diag_selection proc~engine_setup engine_setup proc~engine_setup->proc~engine_configure_diag 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~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 proc~rdb_ocean_create_from_string rdb_ocean_create_from_string proc~rdb_ocean_create_from_string->proc~complete_ocean_create

Variables

Type Visibility Attributes Name Initial
integer, private :: i

Source Code

   pure function is_canonical_diag_name(name) result(yes)
      !! `.true.` if `name` is one of the canonical default diagnostics
      !! registered by `register_default_diags` (including the
      !! conditionally-registered EPBL / kappa-shear / tracer / sea-ice
      !! diags).  Used by the selection orchestrator to route a spec entry
      !! to either the canonical-override path or the derived-catalog
      !! registration path.
      character(len=*), intent(in) :: name
      logical :: yes
      integer :: i

      yes = .false.
      do i = 1, N_CANONICAL_DIAGS
         if (trim(CANONICAL_DIAG_NAMES(i)) == trim(name)) then
            yes = .true.
            return
         end if
      end do
   end function is_canonical_diag_name