make_LatLonGeomSpec_from_hconfig.F90 Source File


This file depends on

sourcefile~~make_latlongeomspec_from_hconfig.f90~~EfferentGraph sourcefile~make_latlongeomspec_from_hconfig.f90 make_LatLonGeomSpec_from_hconfig.F90 sourcefile~base.f90 Base.F90 sourcefile~make_latlongeomspec_from_hconfig.f90->sourcefile~base.f90 sourcefile~coordinateaxis.f90 CoordinateAxis.F90 sourcefile~make_latlongeomspec_from_hconfig.f90->sourcefile~coordinateaxis.f90 sourcefile~errorhandling.f90 ErrorHandling.F90 sourcefile~make_latlongeomspec_from_hconfig.f90->sourcefile~errorhandling.f90 sourcefile~geomspec.f90 GeomSpec.F90 sourcefile~make_latlongeomspec_from_hconfig.f90->sourcefile~geomspec.f90 sourcefile~latlongeomspec.f90 LatLonGeomSpec.F90 sourcefile~make_latlongeomspec_from_hconfig.f90->sourcefile~latlongeomspec.f90 sourcefile~mapl_range.f90 MAPL_Range.F90 sourcefile~make_latlongeomspec_from_hconfig.f90->sourcefile~mapl_range.f90 sourcefile~pfio.f90 pFIO.F90 sourcefile~make_latlongeomspec_from_hconfig.f90->sourcefile~pfio.f90

Source Code

#include "MAPL_ErrLog.h"

submodule (mapl3g_LatLonGeomSpec) make_LatLonGeomSpec_from_hconfig_smod
   use mapl3g_CoordinateAxis
   use mapl3g_GeomSpec
   use pfio
   use MAPL_RangeMod
   use MAPLBase_Mod
   use mapl_ErrorHandling
   use esmf
   implicit none (type, external)
   
contains

   ! HConfig section
   module function make_LatLonGeomSpec_from_hconfig(hconfig, rc) result(spec)
      type(LatLonGeomSpec) :: spec
      type(ESMF_HConfig), intent(in) :: hconfig
      integer, optional, intent(out) :: rc

      logical :: is_regional
      integer :: status

      spec%lon_axis = make_LonAxis(hconfig, _RC)
      spec%lat_axis = make_LatAxis(hconfig, _RC)
      associate (im => spec%lon_axis%get_extent(), jm => spec%lat_axis%get_extent())
        spec%decomposition = make_Decomposition(hconfig, dims=[im,jm], _RC)
      end associate

      _RETURN(_SUCCESS)
   end function make_LatLonGeomSpec_from_hconfig

end submodule make_LatLonGeomSpec_from_hconfig_smod