f_esmf_gridcreate1peridim Subroutine

subroutine f_esmf_gridcreate1peridim(gridp, maxIndex, len1, polekindflag, len2, periodicDim, poleDim, coordSys, coordTypeKind, indexflag, rc)

Uses

  • proc~~f_esmf_gridcreate1peridim~~UsesGraph proc~f_esmf_gridcreate1peridim f_esmf_gridcreate1peridim module~esmf_gridmod ESMF_GridMod proc~f_esmf_gridcreate1peridim->module~esmf_gridmod module~esmf_logerrmod ESMF_LogErrMod proc~f_esmf_gridcreate1peridim->module~esmf_logerrmod module~esmf_utiltypesmod ESMF_UtilTypesMod proc~f_esmf_gridcreate1peridim->module~esmf_utiltypesmod module~esmf_gridmod->module~esmf_logerrmod module~esmf_gridmod->module~esmf_utiltypesmod module~esmf_arraybundlemod ESMF_ArrayBundleMod module~esmf_gridmod->module~esmf_arraybundlemod module~esmf_arraymod ESMF_ArrayMod module~esmf_gridmod->module~esmf_arraymod module~esmf_arrayspecmod ESMF_ArraySpecMod module~esmf_gridmod->module~esmf_arrayspecmod module~esmf_basemod ESMF_BaseMod module~esmf_gridmod->module~esmf_basemod module~esmf_delayoutmod ESMF_DELayoutMod module~esmf_gridmod->module~esmf_delayoutmod module~esmf_distgridmod ESMF_DistGridMod module~esmf_gridmod->module~esmf_distgridmod module~esmf_f90interfacemod ESMF_F90InterfaceMod module~esmf_gridmod->module~esmf_f90interfacemod module~esmf_infomod ESMF_InfoMod module~esmf_gridmod->module~esmf_infomod module~esmf_initmacrosmod ESMF_InitMacrosMod module~esmf_gridmod->module~esmf_initmacrosmod module~esmf_iofiletypecheckmod ESMF_IOFileTypeCheckMod module~esmf_gridmod->module~esmf_iofiletypecheckmod module~esmf_iogridmosaicmod ESMF_IOGridmosaicMod module~esmf_gridmod->module~esmf_iogridmosaicmod module~esmf_iogridspecmod ESMF_IOGridspecMod module~esmf_gridmod->module~esmf_iogridspecmod module~esmf_ioscripmod ESMF_IOScripMod module~esmf_gridmod->module~esmf_ioscripmod module~esmf_ioutilmod ESMF_IOUtilMod module~esmf_gridmod->module~esmf_ioutilmod module~esmf_localarraymod ESMF_LocalArrayMod module~esmf_gridmod->module~esmf_localarraymod module~esmf_rhandlemod ESMF_RHandleMod module~esmf_gridmod->module~esmf_rhandlemod module~esmf_staggerlocmod ESMF_StaggerLocMod module~esmf_gridmod->module~esmf_staggerlocmod module~esmf_utilcubedspheremod ESMF_UtilCubedSphereMod module~esmf_gridmod->module~esmf_utilcubedspheremod module~esmf_vmmod ESMF_VMMod module~esmf_gridmod->module~esmf_vmmod module~esmf_logerrmod->module~esmf_utiltypesmod module~esmf_logerrmod->module~esmf_ioutilmod module~esmf_utilstringmod ESMF_UtilStringMod module~esmf_logerrmod->module~esmf_utilstringmod iso_c_binding iso_c_binding module~esmf_utiltypesmod->iso_c_binding

Arguments

Type IntentOptional Attributes Name
type(ESMF_Pointer) :: gridp
integer :: maxIndex(1:len1)
integer, intent(in) :: len1
type(ESMF_PoleKind_Flag), optional :: polekindflag(1:len2)
integer, intent(in) :: len2
integer, optional :: periodicDim
integer, optional :: poleDim
type(ESMF_CoordSys_Flag), optional :: coordSys
type(ESMF_TypeKind_Flag), optional :: coordTypeKind
type(ESMF_Index_Flag), optional :: indexflag
integer, intent(out), optional :: rc

Calls

proc~~f_esmf_gridcreate1peridim~~CallsGraph proc~f_esmf_gridcreate1peridim f_esmf_gridcreate1peridim interface~esmf_gridcreate1peridim ESMF_GridCreate1PeriDim proc~f_esmf_gridcreate1peridim->interface~esmf_gridcreate1peridim proc~esmf_logfounderror ESMF_LogFoundError proc~f_esmf_gridcreate1peridim->proc~esmf_logfounderror proc~esmf_gridcreate1peridima ESMF_GridCreate1PeriDimA interface~esmf_gridcreate1peridim->proc~esmf_gridcreate1peridima proc~esmf_gridcreate1peridimi ESMF_GridCreate1PeriDimI interface~esmf_gridcreate1peridim->proc~esmf_gridcreate1peridimi proc~esmf_gridcreate1peridimr ESMF_GridCreate1PeriDimR interface~esmf_gridcreate1peridim->proc~esmf_gridcreate1peridimr esmf_breakpoint esmf_breakpoint proc~esmf_logfounderror->esmf_breakpoint proc~esmf_logrc2msg ESMF_LogRc2Msg proc~esmf_logfounderror->proc~esmf_logrc2msg proc~esmf_logwrite ESMF_LogWrite proc~esmf_logfounderror->proc~esmf_logwrite proc~esmf_gridcreate1peridima->proc~esmf_logfounderror interface~esmf_distgridset ESMF_DistGridSet proc~esmf_gridcreate1peridima->interface~esmf_distgridset proc~coordinfofromcoorddeparb CoordInfoFromCoordDepArb proc~esmf_gridcreate1peridima->proc~coordinfofromcoorddeparb proc~esmf_gridcreatedistgridarb ESMF_GridCreateDistgridArb proc~esmf_gridcreate1peridima->proc~esmf_gridcreatedistgridarb proc~esmf_gridcreatefrmdistgridarb ESMF_GridCreateFrmDistGridArb proc~esmf_gridcreate1peridima->proc~esmf_gridcreatefrmdistgridarb proc~esmf_gridsetdestroydelayout ESMF_GridSetDestroyDELayout proc~esmf_gridcreate1peridima->proc~esmf_gridsetdestroydelayout proc~esmf_gridsetdestroydistgrid ESMF_GridSetDestroyDistgrid proc~esmf_gridcreate1peridima->proc~esmf_gridsetdestroydistgrid proc~esmf_logfoundallocerror ESMF_LogFoundAllocError proc~esmf_gridcreate1peridima->proc~esmf_logfoundallocerror proc~getindexspacearb GetIndexSpaceArb proc~esmf_gridcreate1peridima->proc~getindexspacearb proc~setup1periodicconn Setup1PeriodicConn proc~esmf_gridcreate1peridima->proc~setup1periodicconn proc~esmf_gridcreate1peridimi->proc~esmf_logfounderror proc~esmf_gridcreate1peridimi->interface~esmf_distgridset proc~coordinfofromcoorddep CoordInfoFromCoordDep proc~esmf_gridcreate1peridimi->proc~coordinfofromcoorddep proc~esmf_gridcreatedistgridirreg ESMF_GridCreateDistgridIrreg proc~esmf_gridcreate1peridimi->proc~esmf_gridcreatedistgridirreg proc~esmf_gridcreatefrmdistgrid ESMF_GridCreateFrmDistGrid proc~esmf_gridcreate1peridimi->proc~esmf_gridcreatefrmdistgrid proc~esmf_gridlua1peridim ESMF_GridLUA1PeriDim proc~esmf_gridcreate1peridimi->proc~esmf_gridlua1peridim proc~esmf_gridcreate1peridimi->proc~esmf_gridsetdestroydelayout proc~esmf_gridcreate1peridimi->proc~esmf_gridsetdestroydistgrid proc~esmf_gridcreate1peridimi->proc~esmf_logfoundallocerror proc~getindexspaceirreg GetIndexSpaceIrreg proc~esmf_gridcreate1peridimi->proc~getindexspaceirreg proc~esmf_gridcreate1peridimi->proc~setup1periodicconn proc~esmf_gridcreate1peridimr->proc~esmf_logfounderror proc~esmf_gridcreate1peridimr->interface~esmf_distgridset proc~esmf_gridcreate1peridimr->proc~coordinfofromcoorddep proc~esmf_gridcreatedistgridreg ESMF_GridCreateDistgridReg proc~esmf_gridcreate1peridimr->proc~esmf_gridcreatedistgridreg proc~esmf_gridcreate1peridimr->proc~esmf_gridcreatefrmdistgrid proc~esmf_gridcreate1peridimr->proc~esmf_gridlua1peridim proc~esmf_gridcreate1peridimr->proc~esmf_gridsetdestroydelayout proc~esmf_gridcreate1peridimr->proc~esmf_gridsetdestroydistgrid proc~esmf_gridcreate1peridimr->proc~esmf_logfoundallocerror proc~getindexspacereg GetIndexSpaceReg proc~esmf_gridcreate1peridimr->proc~getindexspacereg proc~esmf_gridcreate1peridimr->proc~setup1periodicconn c_esmc_loggeterrormsg c_esmc_loggeterrormsg proc~esmf_logrc2msg->c_esmc_loggeterrormsg c_esmc_vmwtime c_esmc_vmwtime proc~esmf_logwrite->c_esmc_vmwtime proc~esmf_logclose ESMF_LogClose proc~esmf_logwrite->proc~esmf_logclose proc~esmf_logflush ESMF_LogFlush proc~esmf_logwrite->proc~esmf_logflush proc~esmf_logopenfile ESMF_LogOpenFile proc~esmf_logwrite->proc~esmf_logopenfile proc~esmf_utiliounitflush ESMF_UtilIOUnitFlush proc~esmf_logwrite->proc~esmf_utiliounitflush proc~esmf_utilstring2array ESMF_UtilString2Array proc~esmf_logwrite->proc~esmf_utilstring2array

Source Code

  subroutine f_esmf_gridcreate1peridim(gridp, maxIndex, len1, &
                                       polekindflag, len2, &
                                       periodicDim, &
                                       poleDim, &
                                       coordSys, &
                                       coordTypeKind, &
                                       indexflag, rc)

    use ESMF_UtilTypesMod
    use ESMF_LogErrMod
    use ESMF_GridMod

    implicit none

    ! arguments
    type(ESMF_Pointer)                  :: gridp
    integer, intent(in)                 :: len1, len2
    integer                             :: maxIndex(1:len1)
    type(ESMF_PoleKind_Flag), optional  :: polekindflag(1:len2)
    integer, optional                   :: periodicDim
    integer, optional                   :: poleDim
    type(ESMF_CoordSys_Flag), optional  :: coordSys
    type(ESMF_TypeKind_Flag), optional  :: coordTypeKind
    type(ESMF_Index_Flag), optional     :: indexflag
    integer, intent(out), optional      :: rc              
  
    type(ESMF_Grid) :: grid
    integer         :: poleDim_Loc

    ! initialize return code; assume routine not implemented
    rc = ESMF_RC_NOT_IMPL

    ! set default for poleDim
    if (present(poleDim)) then
      poleDim_Loc = poleDim
    else
      poleDim_Loc = 2
    endif

    grid = ESMF_GridCreate1PeriDim(maxIndex=maxIndex, &
                                   polekindflag=polekindflag, &
                                   periodicDim=periodicDim, &
                                   poleDim=poleDim_Loc, &
                                   coordSys=coordSys, &
                                   coordTypeKind=coordTypeKind, &
                                   indexflag=indexflag, &
                                   rc=rc)    

    if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, &
      ESMF_CONTEXT, rcToReturn=rc)) return
 
    gridp = grid%this
  
    rc = ESMF_SUCCESS
  
  end subroutine f_esmf_gridcreate1peridim