GEOS.F90 Source File


This file depends on

sourcefile~~geos.f90~~EfferentGraph sourcefile~geos.f90 GEOS.F90 sourcefile~mapl3g.f90 mapl3g.F90 sourcefile~geos.f90->sourcefile~mapl3g.f90 sourcefile~cap.f90 Cap.F90 sourcefile~mapl3g.f90->sourcefile~cap.f90 sourcefile~errorhandling.f90 ErrorHandling.F90 sourcefile~mapl3g.f90->sourcefile~errorhandling.f90 sourcefile~generic3g.f90 Generic3g.F90 sourcefile~mapl3g.f90->sourcefile~generic3g.f90 sourcefile~maplframework.f90 MaplFramework.F90 sourcefile~mapl3g.f90->sourcefile~maplframework.f90 sourcefile~cap.f90->sourcefile~errorhandling.f90 sourcefile~cap.f90->sourcefile~generic3g.f90 sourcefile~applicationsupport.f90 ApplicationSupport.F90 sourcefile~cap.f90->sourcefile~applicationsupport.f90 sourcefile~capgridcomp.f90 CapGridComp.F90 sourcefile~cap.f90->sourcefile~capgridcomp.f90 sourcefile~genericgridcomp.f90 GenericGridComp.F90 sourcefile~cap.f90->sourcefile~genericgridcomp.f90 sourcefile~keywordenforcer.f90 KeywordEnforcer.F90 sourcefile~cap.f90->sourcefile~keywordenforcer.f90 sourcefile~multistate.f90 MultiState.F90 sourcefile~cap.f90->sourcefile~multistate.f90 sourcefile~timestringconversion.f90 TimeStringConversion.F90 sourcefile~cap.f90->sourcefile~timestringconversion.f90 sourcefile~mapl_throw.f90 MAPL_Throw.F90 sourcefile~errorhandling.f90->sourcefile~mapl_throw.f90 sourcefile~componentdriver.f90 ComponentDriver.F90 sourcefile~generic3g.f90->sourcefile~componentdriver.f90 sourcefile~esmf_hconfigutilities.f90 ESMF_HConfigUtilities.F90 sourcefile~generic3g.f90->sourcefile~esmf_hconfigutilities.f90 sourcefile~esmf_interfaces.f90 ESMF_Interfaces.F90 sourcefile~generic3g.f90->sourcefile~esmf_interfaces.f90 sourcefile~generic3g.f90->sourcefile~genericgridcomp.f90 sourcefile~griddedcomponentdriver.f90 GriddedComponentDriver.F90 sourcefile~generic3g.f90->sourcefile~griddedcomponentdriver.f90 sourcefile~mapl_generic.f90~2 MAPL_Generic.F90 sourcefile~generic3g.f90->sourcefile~mapl_generic.f90~2 sourcefile~outermetacomponent.f90 OuterMetaComponent.F90 sourcefile~generic3g.f90->sourcefile~outermetacomponent.f90 sourcefile~outputinfo.f90 OutputInfo.F90 sourcefile~generic3g.f90->sourcefile~outputinfo.f90 sourcefile~usersetservices.f90 UserSetServices.F90 sourcefile~generic3g.f90->sourcefile~usersetservices.f90 sourcefile~verticaldimspec.f90 VerticalDimSpec.F90 sourcefile~generic3g.f90->sourcefile~verticaldimspec.f90 sourcefile~verticalgrid.f90 VerticalGrid.F90 sourcefile~generic3g.f90->sourcefile~verticalgrid.f90 sourcefile~maplframework.f90->sourcefile~errorhandling.f90 sourcefile~abstractdirectoryservice.f90 AbstractDirectoryService.F90 sourcefile~maplframework.f90->sourcefile~abstractdirectoryservice.f90 sourcefile~clientmanager.f90 ClientManager.F90 sourcefile~maplframework.f90->sourcefile~clientmanager.f90 sourcefile~clientthread.f90 ClientThread.F90 sourcefile~maplframework.f90->sourcefile~clientthread.f90 sourcefile~directoryservice.f90 DirectoryService.F90 sourcefile~maplframework.f90->sourcefile~directoryservice.f90 sourcefile~dso_utilities.f90 DSO_Utilities.F90 sourcefile~maplframework.f90->sourcefile~dso_utilities.f90 sourcefile~maplframework.f90->sourcefile~keywordenforcer.f90 sourcefile~mapl_profiler.f90 MAPL_Profiler.F90 sourcefile~maplframework.f90->sourcefile~mapl_profiler.f90 sourcefile~mpiserver.f90 MpiServer.F90 sourcefile~maplframework.f90->sourcefile~mpiserver.f90 sourcefile~pflogger_stub.f90 pflogger_stub.F90 sourcefile~maplframework.f90->sourcefile~pflogger_stub.f90 sourcefile~simulationtime.f90 SimulationTime.F90 sourcefile~maplframework.f90->sourcefile~simulationtime.f90

Source Code

#define I_AM_MAIN
#include "MAPL_Generic.h"

program geos
   use mapl3
   use esmf
   implicit none

   integer :: status
   type(ESMF_HConfig) :: hconfig
   logical :: is_model_pet
   type(ESMF_GridComp), allocatable :: servers(:)

   call MAPL_Initialize(hconfig, is_model_pet=is_model_pet, servers=servers, _RC)
   call run_geos(hconfig, is_model_pet=is_model_pet, servers=servers, _RC)
   call MAPL_Finalize(_RC)

contains

#undef I_AM_MAIN
#include "MAPL_Generic.h"

   subroutine run_geos(hconfig, is_model_pet, servers, rc)
      type(ESMF_HConfig), intent(inout) :: hconfig
      logical, intent(in) :: is_model_pet
      type(ESMF_GridComp), optional, intent(in) :: servers(:)
      integer, optional, intent(out) :: rc

      logical :: has_cap_hconfig
      type(ESMF_HConfig) :: cap_hconfig
      integer :: status

      has_cap_hconfig = ESMF_HConfigIsDefined(hconfig, keystring='cap', _RC)
      _ASSERT(has_cap_hconfig, 'No cap section found in configuration file')
      cap_hconfig = ESMF_HConfigCreateAt(hconfig, keystring='cap', _RC)

      call MAPL_run_driver(cap_hconfig, is_model_pet=is_model_pet, servers=servers, _RC)
      call ESMF_HConfigDestroy(cap_hconfig, _RC)

      _RETURN(_SUCCESS)
   end subroutine run_geos

end program geos