ESMF_ArraySpecSet Subroutine

public subroutine ESMF_ArraySpecSet(arrayspec, rank, typekind, keywordEnforcer, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_ArraySpec), intent(out) :: arrayspec
integer, intent(in) :: rank
type(ESMF_TypeKind_Flag), intent(in) :: typekind
type(ESMF_KeywordEnforcer), optional :: keywordEnforcer
integer, intent(out), optional :: rc

Calls

proc~~esmf_arrayspecset~~CallsGraph proc~esmf_arrayspecset ESMF_ArraySpecSet proc~esmf_logseterror ESMF_LogSetError proc~esmf_arrayspecset->proc~esmf_logseterror esmf_breakpoint esmf_breakpoint proc~esmf_logseterror->esmf_breakpoint proc~esmf_logrc2msg ESMF_LogRc2Msg proc~esmf_logseterror->proc~esmf_logrc2msg proc~esmf_logwrite ESMF_LogWrite proc~esmf_logseterror->proc~esmf_logwrite 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 proc~esmf_logclose->proc~esmf_logflush proc~esmf_logflush->proc~esmf_utiliounitflush proc~esmf_utilarray2string ESMF_UtilArray2String proc~esmf_logflush->proc~esmf_utilarray2string proc~esmf_logopenfile->proc~esmf_utiliounitflush proc~esmf_utiliounitget ESMF_UtilIOUnitGet proc~esmf_logopenfile->proc~esmf_utiliounitget

Called by

Arb2ArbBunReDistwESMF_ArraySpecSet
w
Arb2ArbFldReDistw
w
atmos_initw
w
atmos_initw
w
Blk2ArbBunRedistw
w
Blk2ArbFldRedistw
w
Blk2BlkBunRedistw
w
Blk2BlkFldRedistw
w
comp1_init_simplew
w
compInitw
w
compInitw
w
compInitw
w
create_arrayw
w
createArraysw
w
createArraysw
w
createFieldsw
w
createSingleTileFieldw
w
ESMF_ArrayArbIdxSMMUTestw
w
ESMF_ArrayBundleCreateUTestw
w
ESMF_ArrayBundleExw
w
ESMF_ArrayBundleHaloExw
w
ESMF_ArrayBundleIOUTestw
w
ESMF_ArrayCommNBExw
w
ESMF_ArrayCreateFromGridw
w
ESMF_ArrayCreateGetUTestw
w
ESMF_ArrayExw
w
ESMF_ArrayHaloExw
w
ESMF_ArrayHaloUTestw
w
ESMF_ArrayIOUTestw
w
ESMF_ArrayRedistExw
w
ESMF_ArrayRedistUTestw
w
ESMF_ArrayScatterGatherArbExw
w
ESMF_ArrayScatterGatherExw
w
ESMF_ArrayScatterUTestw
w
ESMF_ArraySparseMatMulExw
w
ESMF_ArraySpecExw
w
ESMF_ArraySpecUTestw
w
ESMF_FieldArbGridUTestw
w
ESMF_FieldArgGridExw
w
ESMF_FieldBundleCreateExw
w
ESMF_FieldBundleIOUTestw
w
ESMF_FieldCreateExw
w
ESMF_FieldExw
w
ESMF_FieldHaloUTestw
w
ESMF_FieldIOUTestw
w
ESMF_FieldRedistArbUTestw
w
ESMF_FieldRegridExw
w
ESMF_FieldRegridExw
w
ESMF_FieldRepDimExw
w
ESMF_FieldSphereRegridExw
w
ESMF_GridArbitraryUTestw
w
ESMF_GridCoordUTestw
w
ESMF_GridCreateExw
w
ESMF_GridCreateExw
w
ESMF_GridCreateExw
w
ESMF_GridItemUTestw
w
ESMF_LocStreamAddKeyAllocw
w
ESMF_MeshExw
w
ESMF_MeshUTestw
w
ESMF_RegridExw
w
f_esmf_arrayspecsetw
w
field_redist_testw
w
field_regrid_testw
w
FieldBundleHaloExw
w
FieldBundleRedistExw
w
FieldBundleSMMExw
w
FieldRedistw
w
FieldRedistExw
w
FieldSMMExw
w
land_initw
w
land_initw
w
myInitInFortranw
w
ocean_initw
w
test3d_generic_repdimw
w
test3d_generic_repdim_sctw
w
test3d_generic_sctptrw
w
test7d3_genericw
w
test7d3_generic_repdimw
w
test7d3_generic_repdim_sctw
w
test_3Dcartcsrvregridwmasksw
w
test_cartcsrvregridwmasksw
w
test_cartcsrvregridwmasksw
w
test_CartMeshToMesh_2ndw
w
test_CSGridToGridw
w
test_CSGridToGrid_2ndw
w
test_CSGridToGridWMasksw
w
test_csrvregridw
w
test_csrvregridwmasksw
w
test_csrvregridwmasksUserAreaw
w
test_DTOS_3DCartMeshToMeshw
w
test_DTOSGridToGridSph3Dw
w
test_eric_klusekw
w
test_extrap_creep_nrst_dw
w
test_extrap_nrst_dw
w
test_gather_1dw
w
test_gather_2dw
w
test_gather_3dw
w
test_globalindexw
w
test_GridToGridw
w
test_ignoreDegeneratew
w
test_MasksAndUserAreaw
w
test_mesh_extrap_creepw
w
test_MeshEasyElemsw
w
test_MeshToMeshw
w
test_MeshToMesh_2ndw
w
test_MeshToMeshCartw
w
test_MeshToMeshWMasksw
w
test_Nearest2DCartLSToLSw
w
test_Nearest3DCartLSToLSw
w
test_overlap_errorw
w
test_PatchMeshToLocStreamMaskw
w
test_PerLocStatusw
w
test_regrid0WidthDEsw
w
test_regrid180vs360w
w
test_regrid2TileDGw
w
test_regrid2TileDGw
w
test_regrid3Dw
w
test_regrid3D_DTOSw
w
test_regrid3D_STODw
w
test_regrid3DCartMeshToMeshw
w
test_regrid_extrap_creepw
w
test_regrid_extrap_near_npntsw
w
test_regrid_extrap_nearstodw
w
test_regrid_gridufrmw
w
test_regrid_nanw
w
test_regrid_snanw
w
test_regrid_w_gtomw
w
test_regridAllDstMaskw
w
test_RegridCart4ConcaveMeshw
w
test_RegridCart4ConcaveMeshw
w
test_regridCnrw
w
test_regridCollapsedQuadsw
w
test_RegridCsrv3DCartMeshw
w
test_RegridCsrvCartMeshw
w
test_RegridCsrvCartMultiPolyw
w
test_RegridCsrvCartPHFracNormw
w
test_RegridCsrvCartPHMeshw
w
test_regridDELOCALw
w
test_regridDGSphw
w
test_regridDisjointw
w
test_regridDisjointSDw
w
test_regridDstMaskw
w
test_regridEdgew
w
test_regridExtraFieldDimw
w
test_regridGridToGMLw
w
test_regridGridToGridSph3Dw
w
test_regridGridToLocStream3dw
w
test_regridGridToLocStreamLocCntw
w
test_regridGridToLocStreamRegDistw
w
test_regridGridToMeshw
w
test_regridIrregw
w
test_regridMatrixw
w
test_regridMatrixFactorw
w
test_regridMeshSph3x3ToGridw
w
test_regridMeshToGridw
w
test_regridMeshToGrid3Dw
w
test_regridMeshToGridSph3Dw
w
test_regridMeshToLocStreamMaskw
w
test_regridMeshToMeshw
w
test_regridMeshToMeshCenterw
w
test_regridMeshToMeshMaskw
w
test_regridMeshToMeshPatchw
w
test_regridMeshToMeshPHw
w
test_regridNearestDTOSMeshToMeshw
w
test_regridNearestLocStream_wClusterToMeshw
w
test_regridNearestLocStreamToGridw
w
test_regridNearestLocStreamToLocStreamw
w
test_regridNearestMeshToMeshw
w
test_regridPartialVMw
w
test_regridPerLocStatusw
w
test_regridPerLocStatusw
w
test_regridPerLocStatusExtrapw
w
test_regridPerLocStatusNSToDw
w
test_regridPHMeshToGridw
w
test_regridR4w
w
test_regridSMMArbGridw
w
test_RegridSph4ConcaveMeshw
w
test_RegridSph4ConcaveMeshw
w
test_regridSphDstMaskw
w
test_regridSphGCw
w
test_regridSphNearestw
w
test_regridSphNearestDToSw
w
test_regridSphPoleAllAvgw
w
test_regridSphPoleNonew
w
test_regridSphPoleNpntAvgw
w
test_regridSphPoleTeethw
w
test_regridSphSrcMaskw
w
test_regridSrcMaskw
w
test_regridSwitchedIndicesw
w
test_regridSwitchedIndicesIIw
w
test_regridTetMeshToGrid3Dw
w
test_SmallNumNbrsw
w
test_sph_csrv_w_frac_normw
w
test_STOD_3DCartMeshToMeshw
w
test_STODGridToGridSph3Dw
w
test_unmappedDstListw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
user_initw
w
userm1_initw
w
userm1_initw
w
userm1_initw
w
userm1_initw
w

Source Code

  subroutine ESMF_ArraySpecSet(arrayspec, rank, typekind, keywordEnforcer, rc)
!
! !ARGUMENTS:
    type(ESMF_ArraySpec),     intent(out)           :: arrayspec
    integer,                  intent(in)            :: rank
    type(ESMF_TypeKind_Flag), intent(in)            :: typekind
type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below
    integer,                  intent(out), optional :: rc
!
! !STATUS:
! \begin{itemize}
! \item\apiStatusCompatibleVersion{5.2.0r}
! \end{itemize}
!
! !DESCRIPTION:
!   Creates a description of the data -- the typekind, the rank,
!   and the dimensionality.
!
!   The arguments are:
!   \begin{description}
!   \item[arrayspec]
!     The {\tt ESMF\_ArraySpec} to set.
!   \item[rank]
!     Array rank (dimensionality -- 1D, 2D, etc). Maximum allowed is 7D.
!   \item[typekind]
!     Array typekind.  See section \ref{const:typekind} for valid values.
!   \item[{[rc]}]
!     Return code; equals {\tt ESMF\_SUCCESS} if there are no errors.
!   \end{description}
!
!EOP
!------------------------------------------------------------------------------
    ! initialize return code; assume routine not implemented
    if (present(rc)) rc = ESMF_RC_NOT_IMPL

    ! mark output as uninitialized    
    ESMF_INIT_SET_DELETED(arrayspec)

    ! set rank
    arrayspec%rank = rank
    if (rank < 1 .or. rank > ESMF_MAXDIM) then
      ! not a valid rank value
      call ESMF_LogSetError(rcToCheck=ESMF_RC_OBJ_BAD, &
        msg="bad value for rank", &
        ESMF_CONTEXT, rcToReturn=rc)
      return  ! bail out
    endif

    ! set typekind (do not need check because parameterized type)
    arrayspec%typekind = typekind
    
    ! mark output as successfully initialized
    ESMF_INIT_SET_DEFINED(arrayspec)

    ! return successfully
    if (present(rc)) rc = ESMF_SUCCESS

  end subroutine ESMF_ArraySpecSet