ESMF_3_1_0r Public Method Interface Additions and Modifications

Interface Changes for Attributes:

        (new) subroutine ESMF_AttributeGet([object], name, [value argument], rc)
        (old) subroutine ESMF_StateGetAttribute(state, name, [value argument], rc)
        (old) subroutine ESMF_BundleGetAttribute(bundle, name, [value argument], rc)
        (old) subroutine ESMF_FieldGetAttribute(field, name, [value argument], rc)

        (new) subroutine ESMF_AttributeGet([object], count, rc)
        (old) subroutine ESMF_StateGetAttributeCount(state, count, rc)
        (old) subroutine ESMF_BundleGetAttributeCount(bundle, count, rc)
        (old) subroutine ESMF_FieldGetAttributeCount(field, count, rc)

        (new) subroutine ESMF_AttributeGet([object], name, typekind, count, rc)
        (old) subroutine ESMF_StateGetAttributeInfo(state, name, typekind, count, rc)
        (old) subroutine ESMF_BundleGetAttributeInfo(bundle, name, typekind, count, rc)
        (old) subroutine ESMF_FieldGetAttributeInfo(field, name, typekind, count, rc)

        (new) subroutine ESMF_AttributeGet([object], attributeIndex, name, &
                        typekind, itemcount, rc)
        (old) subroutine ESMF_StateGetAttributeInfo(state, attributeIndex, name, &
                        typekind, count, rc)
        (old) subroutine ESMF_BundleGetAttributeInfo(bundle, attributeIndex, name, &
                        typekind, count, rc)
        (old) subroutine ESMF_FieldGetAttributeInfo(field, attributeIndex, name, &
                        typekind, count, rc)

        (new) subroutine ESMF_AttributeSet([object], name, [value argument], rc)
        (old) subroutine ESMF_StateSetAttribute(state, name, [value argument], rc)
        (old) subroutine ESMF_BundleSetAttribute(bundle, name, [value argument], rc)
        (old) subroutine ESMF_FieldSetAttribute(field, name, [value argument], rc)

              Supported values for [object] are:
                        type(ESMF_Field), intent(inout) :: field 
                        type(ESMF_FieldBundle), intent(inout) :: fieldbundle 
                        type(ESMF_State), intent(inout) :: state 

              Supported values for [value argument] are:
                        integer(ESMF_KIND_I4), intent(out) :: value 
                        integer(ESMF_KIND_I4), dimension(:), intent(out) :: valueList 
                        integer(ESMF_KIND_I8), intent(out) :: value 
                        integer(ESMF_KIND_I8), dimension(:), intent(out) :: valueList 
                        real (ESMF_KIND_R4), intent(out) :: value 
                        real (ESMF_KIND_R4), dimension(:), intent(out) :: valueList 
                        real (ESMF_KIND_R8), intent(out) :: value 
                        real (ESMF_KIND_R8), dimension(:), intent(out) :: valueList 
                        type(ESMF_Logical), intent(out) :: value 
                        type(ESMF_Logical), dimension(:), intent(out) :: valueList 
                        character (len = *), intent(out), value 

Interface Changes for States:

        (new) subroutine ESMF_StateAdd(state, [item], rc)
        (old) subroutine ESMF_StateAddArray(state, array, proxyflag, rc)
        (old) subroutine ESMF_StateAddBundle(state, bundle, proxyflag, rc)
        (old) subroutine ESMF_StateAddField(state, field, proxyflag, rc)
        (old) subroutine ESMF_StateAddNameOnly(state, name, rc)
        (old) subroutine ESMF_StateAddState(state, nestedState, proxyflag, rc)
        (old) subroutine ESMF_StateAddOneRouteHandle(state, routehandle, rc)

        (new) subroutine ESMF_StateAdd(state, [itemList], count, rc)
        (old) subroutine ESMF_StateAddArray(state, arrayCount, arrayList, rc)
        (old) subroutine ESMF_StateAddBundle(state, bundleCount, bundleList, rc)
        (old) subroutine ESMF_StateAddField(state, fieldCount, fieldList, rc)
        (old) subroutine ESMF_StateAddNameOnly(state, nameCount, nameList, rc)
        (old) subroutine ESMF_StateAddStateList(state, nestedStateCount, nestedStateList, rc)
        (old) subroutine ESMF_StateAddRouteHandleList(state, routehandleCount, &
                        routehandleList, rc)

        (new) subroutine ESMF_StateGet(state, itemName, [item], nestedStateName, rc)
        (old) subroutine ESMF_StateGetArray(state, arrayName, array, nestedStateName, rc)
        (old) subroutine ESMF_StateGetBundle(state, bundleName, bundle, &
                        nestedStateName, rc)
        (old) subroutine ESMF_StateGetField(state, fieldName, field, &
                        nestedStateName, rc)
        (old) subroutine ESMF_StateGetState(state, nestedStateName, nestedState, rc)
        (old) subroutine ESMF_StateGetRouteHandle(state, routehandleName, routehandle, &
                        nestedStateName, rc)

        (new) subroutine ESMF_StateGet(state, name, stateitemtype, rc)
        (old) subroutine ESMF_StateGetItemInfo(state, name, stateitemtype, rc)

              Supported values for [item] are:
                        type(ESMF_Array), intent(in) :: array 
                        type(ESMF_ArrayBundle), intent(in) :: arraybundle 
                        type(ESMF_Field), intent(in) :: field 
                        type(ESMF_FieldBundle), intent(in) :: fieldbundle 
                        character (len=*), intent(in) :: name 
                        type(ESMF_RouteHandle), intent(in) :: routehandle 
                        type(ESMF_State), intent(in) :: nestedState 

              Supported values for [itemList] are:
                        type(ESMF_Array), intent(in) :: arrayList(:) 
                        type(ESMF_ArrayBundle), intent(in) :: arraybundleList(:) 
                        type(ESMF_Field), intent(in) :: fieldList(:) 
                        type(ESMF_FieldBundle), intent(in) :: fieldbundleList(:) 
                        character (len=*), intent(in) :: nameList(:) 
                        type(ESMF_RouteHandle), intent(in) :: routehandleList(:) 
                        type(ESMF_State), intent(in) :: stateList(:) 

Interface Changes for FieldBundles:

        The Bundle class was renamed FieldBundle and all method names were modified
        to reflect this change.

        (new) subroutine ESMF_FieldBundleAdd(bundle, field, rc)
        (old) subroutine ESMF_BundleAddField(bundle, field, rc)

        (new) subroutine ESMF_FieldBundleAdd(bundle, fieldCount, fieldList, rc)
        (old) subroutine ESMF_BundleAddField(bundle, fieldCount, fieldList, rc)

        (new) subroutine ESMF_FieldBundleGet(bundle, name, field, rc)
        (old) subroutine ESMF_BundleGetField(bundle, name, field, rc)

        (new) subroutine ESMF_FieldBundleGet(bundle, fieldIndex, field, rc)
        (old) subroutine ESMF_BundleGetField(bundle, fieldIndex, field, rc)

        (new) subroutine ESMF_FieldBundleGet(bundle, nameList, nameCount, rc)
        (old) subroutine ESMF_BundleGetFieldNames(bundle, nameList, nameCount, rc)

New Interfaces for Field:

	function ESMF_FieldCreate(grid, array, copyflag, staggerloc, &
			gridToFieldMap, ungriddedLBound, ungriddedUBound, maxHaloLWidth, &
			maxHaloUWidth, name, iospec, rc)

	function ESMF_FieldCreate(grid, farray, copyflag, staggerloc, &
			gridToFieldMap, ungriddedLBound, ungriddedUBound, maxHaloLWidth, &
			maxHaloUWidth, name, iospec, rc)

	function ESMF_FieldCreateEmpty(name, iospec, rc)

	subroutine ESMF_FieldGet(field, localDe, farray, &
			exclusiveLBound, exclusiveUBound, exclusiveCount, &
			computationalLBound, computationalUBound, computationalCount, &
 			totalLBound, totalUBound, totalCount, rc)

	subroutine ESMF_FieldGet(grid, localDe, staggerloc, gridToFieldMap, &
			ungriddedLBound, ungriddedUBound, &
			maxHaloLWidth, maxHaloUWidth, &
			totalLBound, totalUBound, totalCount, rc)

	subroutine ESMF_FieldSetCommit(field, grid, &
			farray, copyflag, staggerloc, gridToFieldMap, ungriddedLBound, &
			ungriddedUBound, maxHaloLWidth, maxHaloUWidth, rc)

Interface Changes for Field:

	
	(new) function ESMF_FieldCreate(grid, arrayspec, &
			staggerloc, gridToFieldMap, ungriddedLBound, ungriddedUBound, &
			maxHaloLWidth, maxHaloUWidth, name, iospec, rc)

	(old) function ESMF_FieldCreate(grid, arrayspec, allocflag, &
			staggerloc, gridToFieldMap, ungriddedLBound, ungriddedUBound, &
			maxHaloLWidth, maxHaloUWidth, name, iospec, rc)

	(new) subroutine ESMF_FieldGet(field, grid, array, typekind, dimCount, &
			staggerloc, gridToFieldMap, ungriddedLBound, ungriddedUBound, &
			maxHaloLWidth, maxHaloUWidth, name, iospec, rc)

	(old) subroutine ESMF_FieldGet(field, grid, array, typekind, rank, &
			staggerloc, gridToFieldMap, ungriddedLBound, ungriddedUBound, &
			maxHaloLWidth, maxHaloUWidth, name, iospec, rc)

New Interfaces for Array:

        ESMF_ArraySMMRelease(routehandle, rc)

        ESMF_ArrayRedistRelease(routehandle, rc)

Interface Changes for Array:

	(new) subroutine ESMF_ArrayGet(array, localDe, farrayPtr, rc)

	(old) subroutine ESMF_ArrayGet(array, farrayPtr, rc)

	(new) subroutine ESMF_ArraySMM(srcArray, dstArray, routehandle, &
                        zeroflag, checkflag, rc)
        (old) subroutine ESMF_ArraySparseMatMul(srcArray, dstArray, routehandle, &
          		zeroflag, checkflag, rc)

	(new) subroutine ESMF_ArraySMMStore(srcArray, dstArray, &
          		routehandle, factorList, factorIndexList, rc)
	(old) subroutine ESMF_ArraySparseMatMulStore(srcArray, dstArray, &
          		routehandle, factorList, factorIndexList, rc)

	(new) subroutine ESMF_ArraySMMStore(srcArray, dstArray, &
          		routehandle, rc)
	(old) subroutine ESMF_ArraySparseMatMulStore(srcArray, dstArray, &
          		routehandle, rc)

New Interface for Grid:

	function ESMF_GridGetStatus(grid)

Interface Changes for Grid:

	(new) subroutine ESMF_GridAddCoord(grid, staggerloc,  &
                	staggerEdgeLWidth, staggerEdgeUWidth, staggerAlign, &
                	totalLWidth, totalUWidth, rc)
	(old) subroutine ESMF_GridAllocCoord(grid, staggerloc,  &
                	staggerEdgeLWidth, staggerEdgeUWidth, staggerAlign, &
                	totalLWidth, totalUWidth, rc)

	(new) function ESMF_GridCreate(name,coordTypeKind,distgrid, &
                        distgridToGridMap,  coordDimCount, coordDimMap, &
`                        gridEdgeLWidth, gridEdgeUWidth, gridAlign, indexflag, &
                        destroyDistGrid, destroyDELayout, rc)
	(old) function ESMF_GridCreate(name,coordTypeKind,distgrid, &
                        distgridToGridMap, undistLBound, undistUBound, coordRank, coordDimMap, &
gridEdgeLWidth, gridEdgeUWidth, gridAlign, indexflag, rc) (new) ESMF_GridCreateShapeTile(name,coordTypeKind, minIndex, & countsPerDEDim1,countsPerDeDim2, countsPerDEDim3, & connDim1, connDim2, connDim3, & poleStaggerLoc1, poleStaggerLoc2, poleStaggerLoc3, & bipolePos1, bipolePos2, bipolePos3, & coordDep1, coordDep2, coordDep3, & gridEdgeLWidth, gridEdgeUWidth, gridAlign, & indexflag, petMap, rc) (old) function ESMF_GridCreateShapeTile(name,coordTypeKind, minIndex, & countsPerDEDim1,countsPerDeDim2, countsPerDEDim3, & connDim1, connDim2, connDim3, & poleStaggerLoc1, poleStaggerLoc2, poleStaggerLoc3, & bipolePos1, bipolePos2, bipolePos3, & coordDep1, coordDep2, coordDep3, & gridEdgeLWidth, gridEdgeUWidth, gridAlign, & indexflag, distDim, petMap, rc) (new) function ESMF_GridCreateShapeTile(name, coordTypeKind, & regDecomp, decompFlag, minIndex, maxIndex, & connDim1, connDim2, connDim3, & poleStaggerLoc1, poleStaggerLoc2, poleStaggerLoc3, & bipolePos1, bipolePos2, bipolePos3, & coordDep1, coordDep2, coordDep3, & gridEdgeLWidth, gridEdgeUWidth, gridAlign, & indexflag, petMap, rc) (old) function ESMF_GridCreateShapeTile(name, coordTypeKind, & regDecomp, decompFlag, minIndex, maxIndex, & connDim1, connDim2, connDim3, & poleStaggerLoc1, poleStaggerLoc2, poleStaggerLoc3, & bipolePos1, bipolePos2, bipolePos3, & coordDep1, coordDep2, coordDep3, & gridEdgeLWidth, gridEdgeUWidth, gridAlign, & indexflag, distDim, petMap, rc) (new) subroutine ESMF_GridGet(grid, name, coordTypeKind, & dimCount, tileCount, staggerlocsCount, localDECount, distgrid, & distgridToGridMap, coordDimCount, coordDimMap, & gridEdgeLWidth, gridEdgeUWidth, gridAlign, & indexFlag, rc) (old) subroutine ESMF_GridGet(grid, name, coordTypeKind, & rank, distRank, undistRank, & tileCount, staggerlocsCount, localDECount, distgrid, & distgridToGridMap, undistLBound, undistUBound, coordRank, coordDimMap, & gridEdgeLWidth, gridEdgeUWidth, gridAlign, & indexFlag, rc) (new) subroutine ESMF_GridGet(grid, staggerloc, & computationalEdgeLWidth, computationalEdgeUWidth, rc) (old) subroutine ESMF_GridGet(grid, staggerloc, & computationalEdgeLWidth, computationalEdgeUWidth, & undistLBound,undistUBound, rc) (new) subroutine ESMF_GridSet(grid, name,coordTypeKind,distgrid, & distgridToGridMap, coordDimCount, coordDimMap, & gridEdgeLWidth, gridEdgeUWidth, gridAlign, indexflag, & destroyDistGrid, destroyDELayout, rc) (old) subroutine ESMF_GridSet(grid, name,coordTypeKind,distgrid, & distgridToGridMap, undistLBound, undistUBound, coordRank, coordDimMap, & gridEdgeLWidth, gridEdgeUWidth, gridAlign, indexflag, rc) (new) subroutine ESMF_GridSetCommitShapeTile(grid, name,coordTypeKind, minIndex, & countsPerDEDim1,countsPerDeDim2, countsPerDEDim3, & connDim1, connDim2, connDim3, & poleStaggerLoc1, poleStaggerLoc2, poleStaggerLoc3, & bipolePos1, bipolePos2, bipolePos3, & coordDep1, coordDep2, coordDep3, & gridEdgeLWidth, gridEdgeUWidth, gridAlign, & indexflag, petMap, rc) (old) subroutine ESMF_GridSetCommitShapeTile(grid, name,coordTypeKind, minIndex, & countsPerDEDim1,countsPerDeDim2, countsPerDEDim3, & connDim1, connDim2, connDim3, & poleStaggerLoc1, poleStaggerLoc2, poleStaggerLoc3, & bipolePos1, bipolePos2, bipolePos3, & coordDep1, coordDep2, coordDep3, & gridEdgeLWidth, gridEdgeUWidth, gridAlign, & indexflag, distDim, petMap, rc) (new) subroutine ESMF_GridSetCommitShapeTile(grid, name, coordTypeKind, & regDecomp, decompFlag, minIndex, maxIndex, & connDim1, connDim2, connDim3, & poleStaggerLoc1, poleStaggerLoc2, poleStaggerLoc3, & bipolePos1, bipolePos2, bipolePos3, & coordDep1, coordDep2, coordDep3, & gridEdgeLWidth, gridEdgeUWidth, gridAlign, & indexflag, petMap, rc) (old) subroutine ESMF_GridSetCommitShapeTile(grid, name, coordTypeKind, & regDecomp, decompFlag, minIndex, maxIndex, & connDim1, connDim2, connDim3, & poleStaggerLoc1, poleStaggerLoc2, poleStaggerLoc3, & bipolePos1, bipolePos2, bipolePos3, & coordDep1, coordDep2, coordDep3, & gridEdgeLWidth, gridEdgeUWidth, gridAlign, & indexflag, distDim, petMap, rc)