MAPL_GenericMod Module

MODULE: MAPL_GenericMod

Author: GMAO SI-Team

MAPLGeneric allows the user to easily build ESMF gridded components. It has its own SetServices, Initialize, Run, and Finalize (IRF) methods, and thus is itself a valid gridded component, although somewhat non-standard since it makes its IRF methods public. An instance of MAPL_Generic does no useful work, but can be used as a null MAPL_Generic component.

The standard way to use MAPL_Generic is as an aid in building ESMF gridded components. A MAPL/ESMF gridded component built in this way will always have its own SetServices, which will call the subroutine MAPL_GenericSetServices. When MAPL_GenericSetServices is called it sets the component’s IRF methods to the generic versions, MAPL_GenericInitialize, MAPL_GenericFinalize, and MAPL_GenericRun. Any (or all) of these may be used as default methods by a gridded component. (As we will see below, using all three default IRF methods in this way need not be equivalent to instanciating a null component.) If for any of the three IRF methods the default version is inadequate, it can simply be overrided by having the component register its own method after the call to MAPL_GenericSetServices.

The generic IRF methods perform a number of useful functions, including creating, allocating, and initializing the components Import, Export, and Internal states. It would be a shame to waste this capability when a component needs to write its own version of an IRF method. A common situation is that the component wants support in performing these functions, but needs to do some (usually small) additional specialized work; for example, it may need to do some special initializations. In this case, one would write a light version of the IRF method that does the specialized work and calls directly the corresponding MAPL_Generic method to do the boilerplate. This is why MAPL_Generic, unlike a standard ESMF gridded component, makes its IRF methods public and why we added the Generic modifier (i.e., MAPL_GenericInitialize, rather than MAPL_Initialize), to emphasize that they are directly callable IRF methods.

MAPL_Generic may also be viewed as a fairly standard Fortran 90 class, which defines and makes public an opaque object that we refer to as a MAPL_Generic State. This object can be created only in association with a standard ESMF Gridded Component (GC), by making a MAPL_GenericSetServices call. This object can be obtained through an ESMF GC method which is currently provided with MAPL. The MAPL_Generic State is, therefore, just another thing that lives in the ESMF GC, like the grid and the configuration. The MAPL_Generic State is private, but user components can access its contents through public MAPL_Generic methods (Get, Set, etc). The bulk of MAPL_Generic consists of methods that act on this object.

MAPL_GenericSetServices and MAPL_Generic IRF methods cannot create their own ESMF grid. The grid must be inherited from the parent or created by the component either in its own SetServices or in its Initialize, if it is writing one. In any case, an important assumption of MAPL is that the grid must already be present in the component and initialized when MAPL_GenericSetServices is invoked. The same is true of the configuration.

In MAPL_Generic, we distinguish between simple (leaf) gridded compnents and composite gridded components, which contain other (child) gridded components. We also define three types of services, which can be registered by the component’s SetServices routine.

  • Functional services: These are the standard EMSF callable IRF methods for the component.
  • Data services: These are descriptions of the component’s import, export, and internal states, which can be manipulated by MAPL_Generic.
  • Child services: These are the services of the component’s children and their connectivity.
  • Profiling Services: These are profiling counters (clocks) that can be used by the component and are automatically reported by generic finalize.

MAPL_GenericSetServices provides generic versions of all these, as described below.


Uses

Used by

  • module~~mapl_genericmod~~UsedByGraph module~mapl_genericmod MAPL_GenericMod module~historytrajectorymod HistoryTrajectoryMod module~historytrajectorymod->module~mapl_genericmod module~mapl MAPL module~mapl->module~mapl_genericmod module~mapl_capgridcompmod MAPL_CapGridCompMod module~mapl_capgridcompmod->module~mapl_genericmod module~mapl_extdatagridcomp2g MAPL_ExtDataGridComp2G module~mapl_capgridcompmod->module~mapl_extdatagridcomp2g module~mapl_extdatagridcompmod MAPL_ExtDataGridCompMod module~mapl_capgridcompmod->module~mapl_extdatagridcompmod module~mapl_historygridcompmod MAPL_HistoryGridCompMod module~mapl_capgridcompmod->module~mapl_historygridcompmod module~mapl_extdatagridcomp2g->module~mapl_genericmod module~mapl_extdatagridcompmod->module~mapl_genericmod module~mapl_historygridcompmod->module~mapl_genericmod module~mapl_historygridcompmod->module~historytrajectorymod module~masksamplergeosatmod MaskSamplerGeosatMod module~mapl_historygridcompmod->module~masksamplergeosatmod module~stationsamplermod StationSamplerMod module~mapl_historygridcompmod->module~stationsamplermod module~mapl_orbgridcompmod MAPL_OrbGridCompMod module~mapl_orbgridcompmod->module~mapl_genericmod module~masksamplergeosatmod->module~mapl_genericmod module~stationsamplermod->module~mapl_genericmod program~comp_testing_driver comp_testing_driver program~comp_testing_driver->module~mapl_genericmod program~comp_testing_driver->module~mapl program~comp_testing_driver->module~mapl_capgridcompmod module~extdata_drivergridcompmod ExtData_DriverGridCompMod module~extdata_drivergridcompmod->module~mapl module~extdata_drivergridcompmod->module~mapl_extdatagridcomp2g module~extdata_drivergridcompmod->module~mapl_extdatagridcompmod module~extdata_drivergridcompmod->module~mapl_historygridcompmod module~extdatadrivermod ExtDataDriverMod module~extdatadrivermod->module~mapl module~extdatautroot_gridcompmod ExtDataUtRoot_GridCompMod module~extdatautroot_gridcompmod->module~mapl module~historytrajectory_implement HistoryTrajectory_implement module~historytrajectory_implement->module~historytrajectorymod module~main_mod main_mod module~main_mod->module~mapl module~mapl_capmod MAPL_CapMod module~mapl_capmod->module~mapl_capgridcompmod module~mapl_historycollectionmod MAPL_HistoryCollectionMod module~mapl_historycollectionmod->module~historytrajectorymod module~mapl_historycollectionmod->module~masksamplergeosatmod module~mapl_historycollectionmod->module~stationsamplermod module~mapl_mod MAPL_Mod module~mapl_mod->module~mapl module~masksamplergeosat_implement MaskSamplerGeosat_implement module~masksamplergeosat_implement->module~masksamplergeosatmod module~regrid_util_support_mod regrid_util_support_mod module~regrid_util_support_mod->module~mapl module~rutmod RUTMod module~rutmod->module~mapl_extdatagridcompmod module~varspecdescriptionmod VarspecDescriptionMod module~varspecdescriptionmod->module~mapl program~capdriver_main CapDriver_Main program~capdriver_main->module~mapl program~extdata_driver ExtData_Driver program~extdata_driver->module~mapl program~main~7 main program~main~7->module~mapl program~time_ave time_ave program~time_ave->module~mapl program~ut_extdata ut_ExtData program~ut_extdata->module~mapl_extdatagridcompmod

Interfaces

public interface MAPL_AddAttributeToFields

  • private recursive subroutine MAPL_AddAttributeToFields_I4(gc, field_name, att_name, att_val, rc)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout), pointer :: gc
    character(len=*), intent(in) :: field_name
    character(len=*), intent(in) :: att_name
    integer(kind=int32), intent(in) :: att_val
    integer, intent(out), optional :: rc

public interface MAPL_AddChild

  • private recursive function AddChildFromGC(GC, name, SS, petList, configFile, rc)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: name
    real :: SS
    integer, intent(in), optional :: petList(:)
    character(len=*), intent(in), optional :: configFile
    integer, intent(out), optional :: rc

    Return Value integer

  • private recursive function AddChildFromMeta(META, NAME, GRID, CONFIGFILE, SS, parentGC, petList, rc)

    $ call ESMF_GridCompSetServices ( child_meta%gridcomp, SS, userRC=userRC, rc=status);if(MAPL_Verify(status ,”/home/runner/work/MAPL/MAPL/generic/MAPL_Generic.F90”,4746 ,rc)) return $ if(MAPL_Verify(userRC,”/home/runner/work/MAPL/MAPL/generic/MAPL_Generic.F90”,4747 ,rc)) return

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_MetaComp), intent(inout), target :: META
    character(len=*), intent(in) :: NAME
    type(ESMF_Grid), intent(inout), optional :: GRID
    character(len=*), intent(in), optional :: CONFIGFILE
    real :: SS
    type(ESMF_GridComp), intent(in), optional :: parentGC
    integer, intent(in), optional :: petList(:)
    integer, intent(out), optional :: rc

    Return Value integer

  • private recursive function AddChildFromDSO_old(name, userRoutine, grid, ParentGC, SharedObj, petList, configFile, rc)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: name
    character(len=*), intent(in) :: userRoutine
    type(ESMF_Grid), intent(inout), optional :: grid
    type(ESMF_GridComp), intent(inout), optional :: ParentGC
    character(len=*), intent(in), optional :: SharedObj
    integer, intent(in), optional :: petList(:)
    character(len=*), intent(in), optional :: configFile
    integer, intent(out), optional :: rc

    Return Value integer

  • private recursive function AddChildFromDSO(gc, name, userRoutine, grid, sharedObj, petList, configFile, rc)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: gc
    character(len=*), intent(in) :: name
    character(len=*), intent(in) :: userRoutine
    type(ESMF_Grid), intent(inout), optional :: grid
    character(len=*), intent(in), optional :: sharedObj
    integer, intent(in), optional :: petList(:)
    character(len=*), intent(in), optional :: configFile
    integer, intent(out), optional :: rc

    Return Value integer

  • private recursive function AddChildFromDSOMeta(META, name, userRoutine, sharedObj, grid, petList, configFile, parentGC, rc)

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_MetaComp), intent(inout), target :: META
    character(len=*), intent(in) :: name
    character(len=*), intent(in) :: userRoutine
    character(len=*), intent(in) :: sharedObj
    type(ESMF_Grid), intent(inout), optional :: grid
    integer, intent(in), optional :: petList(:)
    character(len=*), intent(in), optional :: configFile
    type(ESMF_GridComp), intent(in), optional :: parentGC
    integer, intent(out), optional :: rc

    Return Value integer

public interface MAPL_AddConnectivity

  • private subroutine MAPL_AddConnectivityRename(GC, SRC_NAME, SRC_ID, DST_NAME, DST_ID, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: SRC_NAME
    integer, intent(in) :: SRC_ID
    character(len=*), intent(in) :: DST_NAME
    integer, intent(in) :: DST_ID
    integer, intent(out), optional :: RC
  • private subroutine MAPL_AddConnectivityRenameMany(GC, SRC_NAME, SRC_ID, DST_NAME, DST_ID, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: SRC_NAME(:)
    integer, intent(in) :: SRC_ID
    character(len=*), intent(in) :: DST_NAME(:)
    integer, intent(in) :: DST_ID
    integer, intent(out), optional :: RC
  • private subroutine MAPL_AddConnectivityMany(GC, SHORT_NAME, SRC_ID, DST_ID, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: SHORT_NAME(:)
    integer, intent(in) :: SRC_ID
    integer, intent(in) :: DST_ID
    integer, intent(out), optional :: RC

public interface MAPL_AddExportSpec

  • private subroutine MAPL_StateAddExportSpec_(GC, SHORT_NAME, LONG_NAME, UNITS, DIMS, VLOCATION, DATATYPE, NUM_SUBTILES, REFRESH_INTERVAL, AVERAGING_INTERVAL, HALOWIDTH, PRECISION, DEFAULT, UNGRIDDED_DIMS, UNGRIDDED_UNIT, UNGRIDDED_NAME, UNGRIDDED_COORDS, FIELD_TYPE, STAGGERING, ROTATION, DEPENDS_ON, DEPENDS_ON_CHILDREN, positive, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: SHORT_NAME
    character(len=*), intent(in), optional :: LONG_NAME
    character(len=*), intent(in), optional :: UNITS
    integer, intent(in), optional :: DIMS
    integer, intent(in), optional :: VLOCATION
    integer, intent(in), optional :: DATATYPE
    integer, intent(in), optional :: NUM_SUBTILES
    integer, intent(in), optional :: REFRESH_INTERVAL
    integer, intent(in), optional :: AVERAGING_INTERVAL
    integer, intent(in), optional :: HALOWIDTH
    integer, intent(in), optional :: PRECISION
    real, intent(in), optional :: DEFAULT
    integer, intent(in), optional :: UNGRIDDED_DIMS(:)
    character(len=*), intent(in), optional :: UNGRIDDED_UNIT
    character(len=*), intent(in), optional :: UNGRIDDED_NAME
    real, intent(in), optional :: UNGRIDDED_COORDS(:)
    integer, intent(in), optional :: FIELD_TYPE
    integer, intent(in), optional :: STAGGERING
    integer, intent(in), optional :: ROTATION
    character(len=*), intent(in), optional :: DEPENDS_ON(:)
    logical, intent(in), optional :: DEPENDS_ON_CHILDREN
    character(len=*), intent(in), optional :: positive
    integer, intent(out), optional :: RC
  • private subroutine MAPL_StateAddExportSpecFrmChld(GC, SHORT_NAME, CHILD_ID, RC, TO_NAME)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: SHORT_NAME
    integer, intent(in) :: CHILD_ID
    integer, intent(out), optional :: RC
    character(len=*), intent(in), optional :: TO_NAME
  • private subroutine MAPL_StateAddExportSpecFrmChld_All(GC, CHILD_ID, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    integer, intent(in) :: CHILD_ID
    integer, intent(out), optional :: RC
  • private subroutine MAPL_StateAddExportSpecFrmAll(STATE, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_MetaComp), intent(inout) :: STATE
    integer, intent(out), optional :: RC

public interface MAPL_AddImportSpec

  • private subroutine MAPL_StateAddImportSpec_(GC, SHORT_NAME, LONG_NAME, UNITS, DIMS, VLOCATION, DATATYPE, NUM_SUBTILES, REFRESH_INTERVAL, AVERAGING_INTERVAL, HALOWIDTH, PRECISION, DEFAULT, RESTART, UNGRIDDED_DIMS, FIELD_TYPE, STAGGERING, ROTATION, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: SHORT_NAME
    character(len=*), intent(in), optional :: LONG_NAME
    character(len=*), intent(in), optional :: UNITS
    integer, intent(in), optional :: DIMS
    integer, intent(in), optional :: VLOCATION
    integer, intent(in), optional :: DATATYPE
    integer, intent(in), optional :: NUM_SUBTILES
    integer, intent(in), optional :: REFRESH_INTERVAL
    integer, intent(in), optional :: AVERAGING_INTERVAL
    integer, intent(in), optional :: HALOWIDTH
    integer, intent(in), optional :: PRECISION
    real, intent(in), optional :: DEFAULT
    integer, intent(in), optional :: RESTART
    integer, intent(in), optional :: UNGRIDDED_DIMS(:)
    integer, intent(in), optional :: FIELD_TYPE
    integer, intent(in), optional :: STAGGERING
    integer, intent(in), optional :: ROTATION
    integer, intent(out), optional :: RC
  • private subroutine MAPL_StateAddImportSpecFrmChld(STATE, SHORT_NAME, CHILD_ID, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_MetaComp), intent(inout) :: STATE
    character(len=*), intent(in) :: SHORT_NAME
    integer, intent(in) :: CHILD_ID
    integer, intent(out), optional :: RC

public interface MAPL_AddInternalSpec

  • private subroutine MAPL_StateAddInternalSpec(GC, SHORT_NAME, LONG_NAME, UNITS, DIMS, VLOCATION, DATATYPE, NUM_SUBTILES, REFRESH_INTERVAL, AVERAGING_INTERVAL, DEFAULT, RESTART, HALOWIDTH, PRECISION, FRIENDLYTO, ADD2EXPORT, ATTR_RNAMES, ATTR_INAMES, ATTR_RVALUES, ATTR_IVALUES, UNGRIDDED_DIMS, FIELD_TYPE, STAGGERING, ROTATION, RC)

    MAPL_StateAddInternalSpec — Sets specifications for an item in the INTERNAL state.

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: SHORT_NAME
    character(len=*), intent(in), optional :: LONG_NAME
    character(len=*), intent(in), optional :: UNITS
    integer, intent(in), optional :: DIMS
    integer, intent(in), optional :: VLOCATION
    integer, intent(in), optional :: DATATYPE
    integer, intent(in), optional :: NUM_SUBTILES
    integer, intent(in), optional :: REFRESH_INTERVAL
    integer, intent(in), optional :: AVERAGING_INTERVAL
    real, intent(in), optional :: DEFAULT
    integer, intent(in), optional :: RESTART
    character(len=*), intent(in), optional :: HALOWIDTH
    integer, intent(in), optional :: PRECISION
    character(len=*), intent(in), optional :: FRIENDLYTO
    logical, intent(in), optional :: ADD2EXPORT
    character(len=*), intent(in), optional :: ATTR_RNAMES(:)
    character(len=*), intent(in), optional :: ATTR_INAMES(:)
    real, intent(in), optional :: ATTR_RVALUES(:)
    integer, intent(in), optional :: ATTR_IVALUES(:)
    integer, intent(in), optional :: UNGRIDDED_DIMS(:)
    integer, intent(in), optional :: FIELD_TYPE
    integer, intent(in), optional :: STAGGERING
    integer, intent(in), optional :: ROTATION
    integer, intent(out), optional :: RC

public interface MAPL_CheckpointState

  • private subroutine MAPL_ESMFStateWriteToFile(STATE, CLOCK, FILENAME, FILETYPE, MPL, HDR, write_with_oserver, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_State), intent(inout) :: STATE
    type(ESMF_Clock), intent(in) :: CLOCK
    character(len=*), intent(in) :: FILENAME
    character(len=*), intent(inout) :: FILETYPE
    type(MAPL_MetaComp), intent(inout) :: MPL
    logical, intent(in) :: HDR
    logical, intent(in), optional :: write_with_oserver
    integer, intent(out), optional :: RC

public interface MAPL_CopyFriendliness

  • private subroutine MAPL_CopyFriendlinessInField(FIELDOUT, FIELDIN, rc)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_Field), intent(inout) :: FIELDOUT
    type(ESMF_Field), intent(inout) :: FIELDIN
    integer, intent(out), optional :: rc
  • private subroutine MAPL_CopyFriendlinessInState(STATEOUT, nameOUT, STATEIN, nameIN, rc)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_State), intent(inout) :: STATEOUT
    character(len=*), intent(in) :: nameOUT
    type(ESMF_State), intent(in) :: STATEIN
    character(len=*), intent(in) :: nameIN
    integer, intent(out), optional :: rc

public interface MAPL_Get

  • private subroutine MAPL_GenericStateGet(STATE, IM, JM, LM, VERTDIM, NX, NY, NX0, NY0, LAYOUT, GCNames, LONS, LATS, grid, ORBIT, RUNALARM, IMPORTspec, EXPORTspec, INTERNALspec, INTERNAL_ESMF_STATE, TILETYPES, TILEKIND, TILELATS, TILELONS, TILEAREA, LOCSTREAM, EXCHANGEGRID, CLOCK, NumInitPhases, NumRunPhases, GCS, CCS, GIM, GEX, CF, HEARTBEAT, childrens_names, childrens_gridcomps, childrens_import_states, childrens_export_states, RC)

    This is the way of querying the opaque {\em MAPL_Generic} state object. The arguments are: - STATE The MAPL object to be queried. - IM Size of the first horizontal dimension (X) of local arrays. - JM Size of the second horizontal dimension (Y) of local arrays. - LM Size of the vertical dimension. - VERTDIM Position of the vertical dimension of 2 or higher dimensional arrays. - NX Size of the DE array dimension aligned with the first horizontal dimension of arrays - NY Size of the DE array dimension aligned with the second horizontal dimension of arrays - NX0, NY0 Coordinates of current DE. - LONS X coordinates of array locations. Currently longitude in radians. - LATS Y coordinates of array locations. Currently latitude in radians. - INTERNAL_ESMF_STATE The gridded component’s INTERNAL state. - GCNames Names of the children. - GCS The child gridded components. - GIM The childrens’ IMPORT states. - GEX The childrens’ EXPORT states. - CCS Array of child-to-child couplers.

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_MetaComp), intent(inout), target :: STATE
    integer, intent(out), optional :: IM
    integer, intent(out), optional :: JM
    integer, intent(out), optional :: LM
    integer, intent(out), optional :: VERTDIM
    integer, intent(out), optional :: NX
    integer, intent(out), optional :: NY
    integer, intent(out), optional :: NX0
    integer, intent(out), optional :: NY0
    type(ESMF_DELayout), intent(out), optional :: LAYOUT
    character(len=ESMF_MAXSTR), optional, pointer :: GCNames(:)
    real, optional, pointer :: LONS(:,:)
    real, optional, pointer :: LATS(:,:)
    type(ESMF_Grid), optional :: grid
    type(MAPL_SunOrbit), intent(out), optional :: ORBIT
    type(ESMF_Alarm), intent(out), optional :: RUNALARM
    type(MAPL_VarSpec), optional, pointer :: IMPORTspec(:)
    type(MAPL_VarSpec), optional, pointer :: EXPORTspec(:)
    type(MAPL_VarSpec), optional, pointer :: INTERNALspec(:)
    type(ESMF_State), intent(out), optional :: INTERNAL_ESMF_STATE
    integer, optional, pointer :: TILETYPES(:)
    integer, optional, pointer :: TILEKIND(:)
    real, optional, pointer :: TILELATS(:)
    real, optional, pointer :: TILELONS(:)
    real, optional, pointer :: TILEAREA(:)
    type(MAPL_LocStream), intent(out), optional :: LOCSTREAM
    type(MAPL_LocStream), intent(out), optional :: EXCHANGEGRID
    type(ESMF_Clock), intent(out), optional :: CLOCK
    integer, intent(out), optional :: NumInitPhases
    integer, intent(out), optional :: NumRunPhases
    type(ESMF_GridComp), optional, pointer :: GCS(:)
    type(ESMF_CplComp), optional, pointer :: CCS(:,:)
    type(ESMF_State), optional, pointer :: GIM(:)
    type(ESMF_State), optional, pointer :: GEX(:)
    type(ESMF_Config), intent(out), optional :: CF
    real, intent(out), optional :: HEARTBEAT
    character(len=ESMF_MAXSTR), optional, allocatable :: childrens_names(:)
    type(ESMF_GridComp), optional, allocatable :: childrens_gridcomps(:)
    type(ESMF_State), optional, allocatable :: childrens_import_states(:)
    type(ESMF_State), optional, allocatable :: childrens_export_states(:)
    integer, intent(out), optional :: RC

public interface MAPL_GetLogger

  • private subroutine MAPL_GetLogger_gc(gc, lgr, rc)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: gc
    class(Logger), pointer :: lgr
    integer, intent(out), optional :: rc
  • private subroutine MAPL_GetLogger_meta(meta, lgr, rc)

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_MetaComp), intent(in) :: meta
    class(Logger), pointer :: lgr
    integer, intent(out), optional :: rc

public interface MAPL_GetObjectFromGC

  • private subroutine MAPL_InternalStateGet(GC, MAPLOBJ, RC)

    This is the recommended way of getting the opaque MAPL Generic state object from the gridded component (GC). It can be called at any time after MAPL_GenericSetServices has been called on GC. Note that you get a pointer to the object.

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    type(MAPL_MetaComp), pointer :: MAPLOBJ
    integer, intent(out), optional :: RC

public interface MAPL_GetResource

  • private subroutine MAPL_GetResourceFromConfig_scalar(config, val, label, unusable, default, value_is_set, rc)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_Config), intent(inout) :: config
    class(*), intent(inout) :: val
    character(len=*), intent(in) :: label
    class(KeywordEnforcer), intent(in), optional :: unusable
    class(*), intent(in), optional :: default
    logical, intent(out), optional :: value_is_set
    integer, intent(out), optional :: rc
  • private subroutine MAPL_GetResourceFromMAPL_scalar(state, val, label, unusable, default, value_is_set, rc)

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_MetaComp), intent(inout) :: state
    class(*), intent(inout) :: val
    character(len=*), intent(in) :: label
    class(KeywordEnforcer), intent(in), optional :: unusable
    class(*), intent(in), optional :: default
    logical, intent(out), optional :: value_is_set
    integer, intent(out), optional :: rc
  • private subroutine MAPL_GetResourceFromConfig_array(config, vals, label, unusable, default, value_is_set, rc)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_Config), intent(inout) :: config
    class(*), intent(inout) :: vals(:)
    character(len=*), intent(in) :: label
    class(KeywordEnforcer), intent(in), optional :: unusable
    class(*), intent(in), optional :: default(:)
    logical, intent(out), optional :: value_is_set
    integer, intent(out), optional :: rc
  • private subroutine MAPL_GetResourceFromMAPL_array(state, vals, label, unusable, default, value_is_set, rc)

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_MetaComp), intent(inout) :: state
    class(*), intent(inout) :: vals(:)
    character(len=*), intent(in) :: label
    class(KeywordEnforcer), intent(in), optional :: unusable
    class(*), intent(in), optional :: default(:)
    logical, intent(out), optional :: value_is_set
    integer, intent(out), optional :: rc

public interface MAPL_GridCompGetFriendlies

  • private recursive subroutine MAPL_GridCompGetFriendlies0(GC, TO, BUNDLE, AddGCPrefix, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: TO(:)
    type(ESMF_FieldBundle), intent(inout) :: BUNDLE
    logical, intent(in), optional :: AddGCPrefix
    integer, intent(out), optional :: RC
  • private subroutine MAPL_GridCompGetFriendlies1(GC, TO, BUNDLE, AddGCPrefix, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: TO
    type(ESMF_FieldBundle), intent(inout) :: BUNDLE
    logical, intent(in), optional :: AddGCPrefix
    integer, intent(out), optional :: RC
  • private subroutine MAPL_GridCompGetFriendlies2(GC, TO, BUNDLE, AddGCPrefix, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC(:)
    character(len=*), intent(in) :: TO
    type(ESMF_FieldBundle), intent(inout) :: BUNDLE
    logical, intent(in), optional :: AddGCPrefix
    integer, intent(out), optional :: RC
  • private subroutine MAPL_GridCompGetFriendlies3(GC, TO, BUNDLE, AddGCPrefix, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC(:)
    character(len=*), intent(in) :: TO(:)
    type(ESMF_FieldBundle), intent(inout) :: BUNDLE
    logical, intent(in), optional :: AddGCPrefix
    integer, intent(out), optional :: RC

public interface MAPL_ReadForcing

  • private subroutine MAPL_ReadForcing1(STATE, NAME, DATAFILE, CURRENTTIME, FORCING, INIT_ONLY, ON_TILES, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_MetaComp), intent(inout) :: STATE
    character(len=*), intent(in) :: NAME
    character(len=*), intent(in) :: DATAFILE
    type(ESMF_Time), intent(inout) :: CURRENTTIME
    real, intent(out) :: FORCING(:)
    logical, intent(in), optional :: INIT_ONLY
    logical, intent(in), optional :: ON_TILES
    integer, intent(out), optional :: RC
  • private subroutine MAPL_ReadForcing2(STATE, NAME, DATAFILE, CURRENTTIME, FORCING, INIT_ONLY, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_MetaComp), intent(inout) :: STATE
    character(len=*), intent(in) :: NAME
    character(len=*), intent(in) :: DATAFILE
    type(ESMF_Time), intent(inout) :: CURRENTTIME
    real, intent(out) :: FORCING(:,:)
    logical, intent(in), optional :: INIT_ONLY
    integer, intent(out), optional :: RC

public interface MAPL_Set

  • private subroutine MAPL_GenericStateSet(STATE, ORBIT, LM, RUNALARM, CHILDINIT, LOCSTREAM, EXCHANGEGRID, CLOCK, NAME, CF, ConfigFile, component, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_MetaComp), intent(inout) :: STATE
    type(MAPL_SunOrbit), intent(in), optional :: ORBIT
    integer, intent(in), optional :: LM
    type(ESMF_Alarm), intent(in), optional :: RUNALARM
    logical, intent(in), optional :: CHILDINIT
    type(MAPL_LocStream), intent(in), optional :: LOCSTREAM
    type(MAPL_LocStream), intent(in), optional :: EXCHANGEGRID
    type(ESMF_Clock), intent(in), optional :: CLOCK
    character(len=*), intent(in), optional :: NAME
    type(ESMF_Config), intent(in), optional :: CF
    character(len=*), intent(in), optional :: ConfigFile
    class(AbstractComponent), intent(in), optional :: component
    integer, intent(out), optional :: RC
  • private subroutine MAPL_GenericStateSetFromGC(GC, ORBIT, LM, RUNALARM, CHILDINIT, LOCSTREAM, EXCHANGEGRID, CLOCK, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    type(MAPL_SunOrbit), intent(in), optional :: ORBIT
    integer, intent(in), optional :: LM
    type(ESMF_Alarm), intent(in), optional :: RUNALARM
    logical, intent(in), optional :: CHILDINIT
    type(MAPL_LocStream), intent(in), optional :: LOCSTREAM
    type(MAPL_LocStream), intent(in), optional :: EXCHANGEGRID
    type(ESMF_Clock), intent(in), optional :: CLOCK
    integer, intent(out), optional :: RC

public interface MAPL_TerminateImport

  • private subroutine MAPL_DoNotConnect(GC, SHORT_NAME, CHILD, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: SHORT_NAME
    integer, intent(in) :: CHILD
    integer, intent(out), optional :: RC
  • private subroutine MAPL_DoNotConnectMany(GC, SHORT_NAME, CHILD, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: SHORT_NAME(:)
    integer, intent(in) :: CHILD
    integer, intent(out), optional :: RC
  • private subroutine MAPL_DoNotConnectAnyImport(GC, CHILD, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    integer, intent(in) :: CHILD
    integer, intent(out), optional :: RC
  • private subroutine MAPL_TerminateImportAllBut(GC, SHORT_NAMES, CHILD_IDS, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: SHORT_NAMES(:)
    integer, intent(in) :: CHILD_IDS(:)
    integer, intent(out), optional :: RC
  • private subroutine MAPL_TerminateImportAll(GC, ALL, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    logical, intent(in) :: ALL
    integer, intent(out), optional :: RC

public interface MAPL_TimerAdd

  • private subroutine MAPL_GenericStateClockAdd(GC, NAME, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(inout) :: GC
    character(len=*), intent(in) :: NAME
    integer, intent(out), optional :: RC

public interface MAPL_TimerOff

  • private subroutine MAPL_GenericStateClockOff(STATE, NAME, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_MetaComp), intent(inout) :: STATE
    character(len=*), intent(in) :: NAME
    integer, intent(out), optional :: RC

public interface MAPL_TimerOn

  • private subroutine MAPL_GenericStateClockOn(STATE, NAME, RC)

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_MetaComp), intent(inout) :: STATE
    character(len=*), intent(in) :: NAME
    integer, intent(out), optional :: RC

public interface MAPL_VerifyFriendly

  • private function MAPL_VerifyFriendlyInField(FIELD, FRIEND2COMP, RC) result(FRIENDLY)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_Field), intent(inout) :: FIELD
    character(len=*), intent(in) :: FRIEND2COMP
    integer, intent(out), optional :: RC

    Return Value logical

  • private function MAPL_VerifyFriendlyInState(STATE, NAME, FRIEND2COMP, RC) result(FRIENDLY)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_State), intent(in) :: STATE
    character(len=*), intent(in) :: NAME
    character(len=*), intent(in) :: FRIEND2COMP
    integer, intent(out), optional :: RC

    Return Value logical


Derived Types

type, public, extends(MaplGenericComponent) ::  MAPL_MetaComp

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: full_name
character(len=ESMF_MAXSTR), public :: COMPNAME
character(len=ESMF_MAXSTR), public, allocatable :: GCNameList(:)
integer, public :: ALARMLAST = 0
integer, public, pointer :: phase_coldstart(:) => null()
integer, public, pointer :: phase_final(:) => null()
integer, public, pointer :: phase_init(:) => null()
integer, public, pointer :: phase_record(:) => null()
integer, public, pointer :: phase_run(:) => null()
logical, public, pointer :: CCcreated(:,:) => null()
logical, public :: ChildInit = .true.
logical, public :: threading_active = .FALSE.
logical, public :: use_threads = .FALSE.
real, public :: HEARTBEAT
type(ESMF_Alarm), public :: ALARM(0:LAST_ALARM)
type(ESMF_Clock), public :: CLOCK
type(ESMF_Config), public :: CF
type(ESMF_CplComp), public, pointer :: CCS(:,:) => null()
type(ESMF_GridComp), public :: RootGC
type(ESMF_GridComp), public :: gridcomp
type(ESMF_GridComp), public, pointer :: parentGC => null()
type(ESMF_State), public, pointer :: CEX(:,:) => null()
type(ESMF_State), public, pointer :: CIM(:,:) => null()
type(ESMF_State), public :: FORCING
type(ESMF_State), public :: export_state
type(ESMF_State), public :: import_state
type(ESMF_State), public :: internal_state
class(AbstractComponent), public, allocatable :: component
type(ComponentSpecification), public :: component_spec
class(ConcreteComposite), public, pointer :: composite => null()
type(DistributedProfiler), public :: t_profiler
type(MAPL_Connectivity), public :: connectList
type(MAPL_GenericRecordType), public, pointer :: RECORD => null()
type(MAPL_InitialState), public :: initial_state
type(MAPL_Link), public, pointer :: LINK(:) => null()
type(MAPL_LocStream), public :: ExchangeGrid
type(MAPL_LocStream), public :: LOCSTREAM
type(MAPL_SunOrbit), public :: ORBIT
type(MaplGrid), public :: grid
type(SubComponent), public, allocatable :: subcomponents(:)
type(entryPointVector), public :: run_entry_points
type(providedServiceItemVector), public :: provided_services
type(requestedServiceItemVector), public :: requested_services

Type-Bound Procedures

procedure, public :: activate_threading
procedure, public :: add_child
procedure, public :: add_child_component
procedure, public :: create_subobjects
procedure, public :: deactivate_threading
procedure, public :: finalize => stub
procedure, public :: finalize_child => stub_child
generic, public :: get_child => get_child_by_name, get_child_by_index
procedure, public :: get_child_by_index
procedure, public :: get_child_by_name
procedure, public :: get_child_export_state
procedure, public :: get_child_gridcomp
procedure, public :: get_child_idx
procedure, public :: get_child_import_state
procedure, public :: get_child_internal_state
procedure, public :: get_component
procedure, public :: get_composite
procedure, public :: get_export_state
procedure, public :: get_grid
procedure, public :: get_gridcomp
procedure, public :: get_import_state
procedure, public :: get_internal_state
procedure, public :: get_ith_child
procedure, public :: get_logger
procedure, public :: get_num_children
procedure, public :: get_parent
procedure, public :: get_use_threads
procedure, public :: initialize => stub
procedure, public :: initialize_child => stub_child
procedure, public :: is_threading_active
procedure, public :: run => stub
procedure, public :: run_child => stub_child
procedure, public :: set_component
procedure, public :: set_composite
procedure, public :: set_logger
procedure, public :: set_use_threads

Functions

public function MAPL_RecordAlarmIsRinging(META, unusable, MODE, RC)

Arguments

Type IntentOptional Attributes Name
type(MAPL_MetaComp), intent(inout) :: META
class(KeywordEnforcer), intent(in), optional :: unusable
integer, intent(in), optional :: MODE
integer, intent(out), optional :: RC

Return Value logical

public function MAPL_RootGcRetrieve(META) result(GC)

Arguments

Type IntentOptional Attributes Name
type(MAPL_MetaComp), intent(in) :: META

Return Value type(ESMF_GridComp)


Subroutines

public subroutine MAPL_AddRecord(MAPLOBJ, ALARM, filetype, rc)

Arguments

Type IntentOptional Attributes Name
type(MAPL_MetaComp), intent(inout) :: MAPLOBJ
type(ESMF_Alarm), intent(inout) :: ALARM(:)
integer, intent(in) :: filetype(:)
integer, intent(out), optional :: rc

public subroutine MAPL_AdvertiseService(GC, SERVICE, BUNDLE, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
character(len=*), intent(in) :: SERVICE
character(len=*), intent(in) :: BUNDLE
integer, intent(out), optional :: RC

public subroutine MAPL_ChildAddAttribToImportSpec(STATE, CHILD_ID, REFRESH_INTERVAL, AVERAGING_INTERVAL, OFFSET, RC)

Arguments

Type IntentOptional Attributes Name
type(MAPL_MetaComp), intent(inout) :: STATE
integer, intent(in) :: CHILD_ID
integer, intent(in), optional :: REFRESH_INTERVAL
integer, intent(in), optional :: AVERAGING_INTERVAL
integer, intent(in), optional :: OFFSET
integer, intent(out), optional :: RC

public subroutine MAPL_ConnectService(GC, PROVIDER, REQUESTER, SERVICE, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
character(len=*), intent(in) :: PROVIDER
character(len=*), intent(in) :: REQUESTER
character(len=*), intent(in) :: SERVICE
integer, intent(out), optional :: RC

public subroutine MAPL_DateStampGet(clock, DateStamp, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Clock) :: clock
character(len=*) :: DateStamp
integer, optional :: rc

public recursive subroutine MAPL_DestroyStateSave(GC, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
integer, intent(out), optional :: rc

public recursive subroutine MAPL_DisableRecord(MAPLOBJ, ALARM_NAME, rc)

Arguments

Type IntentOptional Attributes Name
type(MAPL_MetaComp), intent(inout) :: MAPLOBJ
character(len=*), intent(in) :: ALARM_NAME
integer, intent(out), optional :: rc

public subroutine MAPL_DoNotAllocateImport(GC, NAME, notFoundOK, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
character(len=*), intent(in) :: NAME
logical, intent(in), optional :: notFoundOK
integer, intent(out), optional :: RC

public subroutine MAPL_DoNotAllocateInternal(GC, NAME, notFoundOK, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
character(len=*), intent(in) :: NAME
logical, intent(in), optional :: notFoundOK
integer, intent(out) :: RC

public subroutine MAPL_DoNotDeferExport(GC, NAMES, RC)

For each entry in NAMES marks the export spec to not be deferred during MAPL_GenericInitialize.

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
character(len=*), intent(in) :: NAMES(:)
integer, intent(out), optional :: RC

public subroutine MAPL_ESMFStateReadFromFile(STATE, CLOCK, FILENAME, MPL, HDR, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_State), intent(inout) :: STATE
type(ESMF_Clock), intent(in) :: CLOCK
character(len=*), intent(in) :: FILENAME
type(MAPL_MetaComp), intent(inout) :: MPL
logical, intent(in) :: HDR
integer, intent(out), optional :: RC

public subroutine MAPL_ExchangeGridGet(GC, EXCH, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(MAPL_LocStream), intent(inout) :: EXCH
integer, intent(out), optional :: RC

public recursive subroutine MAPL_ExchangeGridSet(GC, EXCH, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(MAPL_LocStream), intent(in) :: EXCH
integer, intent(out), optional :: RC

public recursive subroutine MAPL_ExportStateGet(export, name, result, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_State), intent(in) :: export(:)
character(len=*), intent(in) :: name
type(ESMF_State), intent(out) :: result
integer, intent(out) :: rc

public subroutine MAPL_FriendlyGet(GC, NAME, FIELD, REQUESTER, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
character(len=*), intent(in) :: NAME
type(ESMF_Field), intent(out) :: FIELD
character(len=*), intent(in), optional :: REQUESTER
integer, intent(out), optional :: RC

public recursive subroutine MAPL_GCGet(GC, name, result, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
character(len=*), intent(in) :: name
type(ESMF_GridComp), intent(inout) :: result
integer, intent(out), optional :: rc

public recursive subroutine MAPL_GenericFinalize(GC, IMPORT, EXPORT, CLOCK, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(ESMF_State), intent(inout) :: IMPORT
type(ESMF_State), intent(inout) :: EXPORT
type(ESMF_Clock), intent(inout) :: CLOCK
integer, intent(out), optional :: RC

public recursive subroutine MAPL_GenericInitialize(GC, IMPORT, EXPORT, CLOCK, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(ESMF_State), intent(inout) :: IMPORT
type(ESMF_State), intent(inout) :: EXPORT
type(ESMF_Clock), intent(inout) :: CLOCK
integer, intent(out), optional :: RC

public subroutine MAPL_GenericMakeXchgNatural(STATE, RC)

Arguments

Type IntentOptional Attributes Name
type(MAPL_MetaComp), intent(inout) :: STATE
integer, intent(out), optional :: RC

public recursive subroutine MAPL_GenericRecord(GC, IMPORT, EXPORT, CLOCK, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(ESMF_State), intent(inout) :: IMPORT
type(ESMF_State), intent(inout) :: EXPORT
type(ESMF_Clock), intent(inout) :: CLOCK
integer, intent(out), optional :: RC

public recursive subroutine MAPL_GenericRefresh(GC, IMPORT, EXPORT, CLOCK, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(ESMF_State), intent(inout) :: IMPORT
type(ESMF_State), intent(inout) :: EXPORT
type(ESMF_Clock), intent(inout) :: CLOCK
integer, intent(out), optional :: RC

public recursive subroutine MAPL_GenericRunChildren(GC, IMPORT, EXPORT, CLOCK, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(ESMF_State), intent(inout) :: IMPORT
type(ESMF_State), intent(inout) :: EXPORT
type(ESMF_Clock), intent(inout) :: CLOCK
integer, intent(out), optional :: RC

public subroutine MAPL_GenericRunCouplers(STATE, CHILD, CLOCK, RC)

Arguments

Type IntentOptional Attributes Name
type(MAPL_MetaComp), intent(inout) :: STATE
integer, intent(in) :: CHILD
type(ESMF_Clock), intent(inout) :: CLOCK
integer, intent(out), optional :: RC

public recursive subroutine MAPL_GenericSetServices(GC, RC)

MAPL_GenericSetServices performs the following tasks:

Read more…

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC

Gridded component

integer, intent(out) :: RC

Return code

public recursive subroutine MAPL_GenericStateRestore(GC, IMPORT, EXPORT, CLOCK, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(ESMF_State), intent(inout) :: IMPORT
type(ESMF_State), intent(inout) :: EXPORT
type(ESMF_Clock), intent(inout) :: CLOCK
integer, intent(out), optional :: RC

public recursive subroutine MAPL_GenericStateSave(GC, IMPORT, EXPORT, CLOCK, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(ESMF_State), intent(inout) :: IMPORT
type(ESMF_State), intent(inout) :: EXPORT
type(ESMF_Clock), intent(inout) :: CLOCK
integer, intent(out), optional :: RC

public recursive subroutine MAPL_GetAllExchangeGrids(GC, LSADDR, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
integer(kind=INT64), pointer :: LSADDR(:)
integer, intent(out) :: RC

public recursive subroutine MAPL_GetChildLocstream(GC, result, name, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(MAPL_LocStream), intent(out) :: result
character(len=*), intent(in) :: name
integer, intent(out) :: rc

public subroutine MAPL_GridCompSetEntryPoint(GC, registeredMethod, usersRoutine, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(ESMF_Method_Flag), intent(in) :: registeredMethod
real :: usersRoutine
integer, intent(out), optional :: RC

public subroutine MAPL_GridCreate(GC, MAPLOBJ, ESMFGRID, srcGC, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout), optional :: GC
type(MAPL_MetaComp), intent(inout), optional, target :: MAPLOBJ
type(ESMF_Grid), intent(out), optional :: ESMFGRID
type(ESMF_GridComp), intent(inout), optional :: srcGC
integer, intent(out), optional :: rc

public recursive subroutine MAPL_ImportStateGet(GC, import, name, result, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(ESMF_State), intent(in) :: import
character(len=*), intent(in) :: name
type(ESMF_State), intent(out) :: result
integer, intent(out) :: rc

public recursive subroutine MAPL_InternalESMFStateGet(GC, name, result, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
character(len=*), intent(in) :: name
type(ESMF_State), intent(out) :: result
integer, intent(out) :: rc

public subroutine MAPL_InternalStateCreate(GC, MAPLOBJ, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(MAPL_MetaComp), pointer :: MAPLOBJ
integer, intent(out), optional :: RC

public subroutine MAPL_InternalStateRetrieve(GC, MAPLOBJ, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
type(MAPL_MetaComp), pointer :: MAPLOBJ
integer, intent(out), optional :: RC

public subroutine MAPL_MethodAdd(state, label, userRoutine, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_State), intent(inout) :: state
character(len=*), intent(in) :: label
procedure(I_CallBackMethod) :: userRoutine
integer, intent(out), optional :: rc

public subroutine MAPL_RequestService(GC, SERVICE, VARS, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
character(len=*), intent(in) :: SERVICE
character(len=*), intent(in) :: VARS(:)
integer, intent(out), optional :: RC

public recursive subroutine MAPL_SetStateSave(state, filetype, rc)

Arguments

Type IntentOptional Attributes Name
type(MAPL_MetaComp), intent(inout) :: state
integer, intent(in) :: filetype
integer, intent(out), optional :: rc

public subroutine MAPL_SetVarSpecForCC(GCA, GCB, CCAxB, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GCA
type(ESMF_GridComp), intent(inout) :: GCB
type(ESMF_CplComp), intent(inout) :: CCAxB
integer, intent(out), optional :: RC

public subroutine MAPL_StateAlarmAdd(STATE, ALARM, RC)

Arguments

Type IntentOptional Attributes Name
type(MAPL_MetaComp), intent(inout) :: STATE
type(ESMF_Alarm), intent(in) :: ALARM
integer, intent(out), optional :: RC

public subroutine MAPL_StateAlarmGet(STATE, ALARM, NAME, RC)

Arguments

Type IntentOptional Attributes Name
type(MAPL_MetaComp), intent(inout) :: STATE
type(ESMF_Alarm), intent(out) :: ALARM
character(len=*), intent(in) :: NAME
integer, intent(out), optional :: RC

public subroutine MAPL_StateCreateFromSpec(STATE, SPEC, DEFER, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_State), intent(inout) :: STATE
type(MAPL_VarSpec), intent(inout), target :: SPEC(:)
logical, intent(in), optional :: DEFER
integer, intent(out), optional :: RC

public subroutine MAPL_StateCreateFromSpecNew(STATE, spec, DEFER, range, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_State), intent(inout) :: STATE
type(StateSpecification), intent(inout), target :: spec
logical, intent(in), optional :: DEFER
integer, intent(in), optional :: range(2)
integer, intent(out), optional :: RC

public recursive subroutine MAPL_StatePrintSpecCSV(GC, printSpec, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
integer, intent(in) :: printSpec
integer, intent(out), optional :: RC