f_esmf_gridcreatefromfile Subroutine

subroutine f_esmf_gridcreatefromfile(gridp, filename, fileTypeFlag, regDecomp, decompflag, isSphere, polekindflag, len1, addCornerStagger, addUserArea, indexflag, addMask, varname, coordNames, rc)

Uses

  • proc~~f_esmf_gridcreatefromfile~~UsesGraph proc~f_esmf_gridcreatefromfile f_esmf_gridcreatefromfile module~esmf_distgridmod ESMF_DistGridMod proc~f_esmf_gridcreatefromfile->module~esmf_distgridmod module~esmf_gridmod ESMF_GridMod proc~f_esmf_gridcreatefromfile->module~esmf_gridmod module~esmf_logerrmod ESMF_LogErrMod proc~f_esmf_gridcreatefromfile->module~esmf_logerrmod module~esmf_utiltypesmod ESMF_UtilTypesMod proc~f_esmf_gridcreatefromfile->module~esmf_utiltypesmod module~esmf_vmmod ESMF_VMMod proc~f_esmf_gridcreatefromfile->module~esmf_vmmod module~esmf_distgridmod->module~esmf_logerrmod module~esmf_distgridmod->module~esmf_utiltypesmod module~esmf_distgridmod->module~esmf_vmmod module~esmf_basemod ESMF_BaseMod module~esmf_distgridmod->module~esmf_basemod module~esmf_delayoutmod ESMF_DELayoutMod module~esmf_distgridmod->module~esmf_delayoutmod module~esmf_distgridconnectionmod ESMF_DistGridConnectionMod module~esmf_distgridmod->module~esmf_distgridconnectionmod module~esmf_distgridregdecompmod ESMF_DistGridRegDecompMod module~esmf_distgridmod->module~esmf_distgridregdecompmod module~esmf_f90interfacemod ESMF_F90InterfaceMod module~esmf_distgridmod->module~esmf_f90interfacemod module~esmf_initmacrosmod ESMF_InitMacrosMod module~esmf_distgridmod->module~esmf_initmacrosmod module~esmf_ioutilmod ESMF_IOUtilMod module~esmf_distgridmod->module~esmf_ioutilmod module~esmf_gridmod->module~esmf_distgridmod module~esmf_gridmod->module~esmf_logerrmod module~esmf_gridmod->module~esmf_utiltypesmod module~esmf_gridmod->module~esmf_vmmod 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_gridmod->module~esmf_basemod module~esmf_gridmod->module~esmf_delayoutmod module~esmf_gridmod->module~esmf_f90interfacemod module~esmf_infomod ESMF_InfoMod module~esmf_gridmod->module~esmf_infomod 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_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_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 module~esmf_vmmod->module~esmf_logerrmod module~esmf_vmmod->module~esmf_utiltypesmod module~esmf_vmmod->iso_c_binding module~esmf_vmmod->module~esmf_f90interfacemod module~esmf_vmmod->module~esmf_initmacrosmod module~esmf_vmmod->module~esmf_ioutilmod

Arguments

Type IntentOptional Attributes Name
type(ESMF_Pointer) :: gridp
character(len=*), intent(in) :: filename
type(ESMF_FileFormat_Flag), optional :: fileTypeFlag
integer, optional :: regDecomp(2)
type(ESMF_Decomp_Flag), optional :: decompflag(2)
type(ESMF_Logical), optional :: isSphere
type(ESMF_PoleKind_Flag), optional :: polekindflag(1:len1)
integer :: len1
type(ESMF_Logical), optional :: addCornerStagger
type(ESMF_Logical), optional :: addUserArea
type(ESMF_Index_Flag), optional :: indexflag
type(ESMF_Logical), optional :: addMask
character(len=*), optional :: varname
character(len=*), optional :: coordNames(2)
integer, intent(out), optional :: rc

Calls

proc~~f_esmf_gridcreatefromfile~~CallsGraph proc~f_esmf_gridcreatefromfile f_esmf_gridcreatefromfile interface~esmf_gridcreate ESMF_GridCreate proc~f_esmf_gridcreatefromfile->interface~esmf_gridcreate proc~esmf_logfounderror ESMF_LogFoundError proc~f_esmf_gridcreatefromfile->proc~esmf_logfounderror proc~esmf_gridcreatecopyfromnewdg ESMF_GridCreateCopyFromNewDG interface~esmf_gridcreate->proc~esmf_gridcreatecopyfromnewdg proc~esmf_gridcreatecopyfromreg ESMF_GridCreateCopyFromReg interface~esmf_gridcreate->proc~esmf_gridcreatecopyfromreg proc~esmf_gridcreateedgeconna ESMF_GridCreateEdgeConnA interface~esmf_gridcreate->proc~esmf_gridcreateedgeconna proc~esmf_gridcreateedgeconni ESMF_GridCreateEdgeConnI interface~esmf_gridcreate->proc~esmf_gridcreateedgeconni proc~esmf_gridcreateedgeconnr ESMF_GridCreateEdgeConnR interface~esmf_gridcreate->proc~esmf_gridcreateedgeconnr proc~esmf_gridcreatefrmdistgrid ESMF_GridCreateFrmDistGrid interface~esmf_gridcreate->proc~esmf_gridcreatefrmdistgrid proc~esmf_gridcreatefrmdistgridarb ESMF_GridCreateFrmDistGridArb interface~esmf_gridcreate->proc~esmf_gridcreatefrmdistgridarb proc~esmf_gridcreatefrmncfile ESMF_GridCreateFrmNCFile interface~esmf_gridcreate->proc~esmf_gridcreatefrmncfile proc~esmf_gridcreatefrmncfiledg ESMF_GridCreateFrmNCFileDG interface~esmf_gridcreate->proc~esmf_gridcreatefrmncfiledg 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

Source Code

  subroutine f_esmf_gridcreatefromfile(gridp, filename, fileTypeFlag, &
      regDecomp, decompflag, isSphere, polekindflag, len1, addCornerStagger, &
      addUserArea, indexflag, addMask, varname, coordNames, rc)

    use ESMF_UtilTypesMod
    use ESMF_LogErrMod
    use ESMF_GridMod
    use ESMF_DistGridMod
    use ESMF_VMMod

    implicit none

    ! arguments
    type(ESMF_Pointer)                     :: gridp
    character(len=*), intent(in)           :: filename
    type(ESMF_FileFormat_Flag), optional   :: fileTypeFlag
    integer, optional                      :: regDecomp(2)
    type(ESMF_Decomp_Flag), optional       :: decompflag(2)
    type(ESMF_Logical), optional           :: isSphere
    integer                                :: len1
    type(ESMF_PoleKind_Flag), optional     :: polekindflag(1:len1)
    type(ESMF_Logical), optional           :: addCornerStagger
    type(ESMF_Logical), optional           :: addUserArea
    type(ESMF_Index_Flag), optional        :: indexflag
    type(ESMF_Logical), optional           :: addMask
    character(len=*), optional             :: varname
    character(len=*), optional             :: coordNames(2)
    integer, intent(out), optional         :: rc
  
    type(ESMF_Grid)                     :: grid
    logical                             :: isSphere_loc
    logical                             :: addCornerStagger_loc
    logical                             :: addUserArea_loc
    logical                             :: addMask_loc

    !print '("Start ESMF_Grid_C.F90 : f_esmf_gridcreatefromfile(",A,", ",I1,"])")', filename, fileTypeFlag

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

    ! Set reasonable defaults for optional arguments
    isSphere_loc = .true.
    if(present(isSphere)) then
       isSphere_loc = isSphere
    endif
    
    addCornerStagger_loc = .false.
    if(present(addCornerStagger)) then
       addCornerStagger_loc = addCornerStagger
    endif
    
    addUserArea_loc = .false.
    if(present(addUserArea)) then
       addUserArea_loc = addUserArea
    endif
    
    addMask_loc = .false.
    if(present(addMask)) then
       addMask_loc = addMask
    endif
    
    grid = ESMF_GridCreate(filename, fileTypeFlag, &
                           regDecomp=regDecomp, &
                           decompflag=decompflag, &
                           isSphere=isSphere_loc, &
                           polekindflag=polekindflag, &
                           addCornerStagger=addCornerStagger_loc, &
                           addUserArea=addUserArea_loc, &
                           indexflag=indexflag, &
                           addMask=addMask_loc, &
                           varname=varname, &
                           coordNames=coordNames, &
                           rc=rc)
    if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, &
                           ESMF_CONTEXT, rcToReturn=rc)) return

    gridp = grid%this
  
    rc = ESMF_SUCCESS

    !print '("End ESMF_Grid_C.F90 : f_esmf_gridcreatefromfile()")'
  
  end subroutine f_esmf_gridcreatefromfile