supports_hconfig.F90 Source File


This file depends on

sourcefile~~supports_hconfig.f90~~EfferentGraph sourcefile~supports_hconfig.f90 supports_hconfig.F90 sourcefile~errorhandling.f90 ErrorHandling.F90 sourcefile~supports_hconfig.f90->sourcefile~errorhandling.f90 sourcefile~lataxis.f90 LatAxis.F90 sourcefile~supports_hconfig.f90->sourcefile~lataxis.f90 sourcefile~mapl_range.f90 MAPL_Range.F90 sourcefile~supports_hconfig.f90->sourcefile~mapl_range.f90 sourcefile~mapl_throw.f90 MAPL_Throw.F90 sourcefile~errorhandling.f90->sourcefile~mapl_throw.f90 sourcefile~coordinateaxis.f90 CoordinateAxis.F90 sourcefile~lataxis.f90->sourcefile~coordinateaxis.f90 sourcefile~pfio.f90 pFIO.F90 sourcefile~lataxis.f90->sourcefile~pfio.f90 sourcefile~mapl_exceptionhandling.f90 MAPL_ExceptionHandling.F90 sourcefile~mapl_range.f90->sourcefile~mapl_exceptionhandling.f90

Source Code

#include "MAPL_ErrLog.h"

submodule (mapl3g_LatAxis) supports_hconfig_smod
   use mapl_RangeMod
!   use hconfig3g
   use esmf
   use mapl_ErrorHandling
   implicit none (type, external)

   integer, parameter :: R8 = ESMF_KIND_R8

contains

   logical module function supports_hconfig(hconfig, rc) result(supports)
      type(ESMF_HConfig), intent(in) :: hconfig
      integer, optional, intent(out) :: rc

      integer :: status
      logical :: has_jm_world
      logical :: has_lat_range
      logical :: has_pole
      supports = .true.

      has_jm_world = ESMF_HConfigIsDefined(hconfig, keystring='jm_world', _RC)
      _RETURN_UNLESS(has_jm_world)

      has_lat_range = ESMF_HConfigIsDefined(hconfig, keystring='lat_range', _RC)
      has_pole = ESMF_HConfigIsDefined(hconfig, keystring='pole', _RC)
      _RETURN_UNLESS(has_lat_range .neqv. has_pole)
      supports = .true.

      _RETURN(_SUCCESS)
   end function supports_hconfig

end submodule supports_hconfig_smod