supports_hconfig.F90 Source File


This file depends on

sourcefile~~supports_hconfig.f90~3~~EfferentGraph sourcefile~supports_hconfig.f90~3 supports_hconfig.F90 sourcefile~errorhandling.f90 ErrorHandling.F90 sourcefile~supports_hconfig.f90~3->sourcefile~errorhandling.f90 sourcefile~lonaxis.f90 LonAxis.F90 sourcefile~supports_hconfig.f90~3->sourcefile~lonaxis.f90 sourcefile~mapl_range.f90 MAPL_Range.F90 sourcefile~supports_hconfig.f90~3->sourcefile~mapl_range.f90 sourcefile~mapl_throw.f90 MAPL_Throw.F90 sourcefile~errorhandling.f90->sourcefile~mapl_throw.f90 sourcefile~coordinateaxis.f90 CoordinateAxis.F90 sourcefile~lonaxis.f90->sourcefile~coordinateaxis.f90 sourcefile~pfio.f90 pFIO.F90 sourcefile~lonaxis.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_LonAxis) supports_hconfig_smod
   use mapl_RangeMod
   use mapl_ErrorHandling
   use esmf
   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_im_world
      logical :: has_lon_range
      logical :: has_dateline

      supports = .true.

      has_im_world = ESMF_HConfigIsDefined(hconfig, keystring='lon_range', _RC)
      _RETURN_UNLESS(has_im_world)

      has_lon_range = ESMF_HConfigIsDefined(hconfig, keystring='lon_range', _RC)
      has_dateline = ESMF_HConfigIsDefined(hconfig, keystring='dateline', _RC)
      _RETURN_UNLESS(has_lon_range .neqv. has_dateline)
      supports = .true.

      _RETURN(_SUCCESS)
   end function supports_hconfig

end submodule supports_hconfig_smod