About ESMF Download Users Developers Management Work Plans Metrics Impacts

System Tests

System tests generally involve multiple components and framework functions. They are bundled with the ESMF distribution and can be found in the directory esmf/src/system_tests.

Due to data structure rework, not all system tests are in every release. The table below shows which system tests are in which supported internal and public releases.

Name Description In ESMF Versions:
ArbitraryDistribution Redistribution of an irregularly distributed logically rectangular Grid using a Field level interface. 300
ArrayBundleRedist Testing of the Array Bundle Redist capability between two gridded components 400r
ArrayBundleSparseMatMul Testing of the sparse matrix multipy capability between two gridded components 310r-310rp2, 311, 400, 400r
ArrayRedist 2D Array redistribution-transpose. 310-310p1, 310r-310rp2, 311, 400, 400r
ArrayRedist3D 3D Array redistribution-transpose. 311, 400, 400r
ArrayRedistMPMD 2D Array redistribution-transpose, with two Gridded Components compiled into separate executables, and executed following the MPMD paradigm. 310r-310rp2, 311, 400, 400r
ArrayRedistOpenMP 2D Array redistribution-transpose, with two Gridded Components using OpenMP. 400r
ArrayRedistSharedObj 2D Array redistribution-transpose, with some Components compiled separately from the executable, into shared objects, that are dynamically loaded during run-time. 400, 400r
ArrayScatterGather Use of ESMF_ArrayScatter() and ESMF_ArrayGather() to redistribute Array data between three different components running on different sets of PETs. 310-310p1, 310r-310rp2, 311, 400, 400r
ArraySparseMatMul Use of a sparse matrix multiply to redistribute a source Array to a differently distributed destination Array. 300, 301, 302, 303, 310-310p1, 310r-310rp2, 311, 400, 400r
Attribute Demonstrates the use of Attributes, Attribute hierarchies, and Attribute packages in a multi-component setting. 311,400, 400r
BundleRedistArb2Arb Redistribution from an arbitrarily distributed Bundle to an arbitrarily distributed Bundle. 222r-222rp3, 301, 302, 303
BundleRedistBlk2Arb Redistribution from a block distributed Bundle to an arbitrarily distributed Bundle. 222r-222rp3, 301, 302, 303
BundleRedistBlk2Blk Redistribution from a block distributed Bundle to a block distributed Bundle. 222r-222rp3, 301, 302, 303, 311
CompCreate Complete Component create with intra-grid communications. 222r-222rp3, 300, 301, 302, 303, 310-310p1, 310r-310rp2, 311, 400, 400r
CompFortranAndC Verifies that states are transfered accurately between components that are implemented in different languages (Fortran and C). 311, 400, 400r
ConcurrentComponent Coupling of concurrently executing Gridded Components on exclusive sets of PETs. 310r-310rp2, 311, 400r
ConcurrentEnsemble Demonstrates how a concurrent ensemble can be written using ESMF. The ensemble configuration changed for the 400r version of this system test. 400, 400r
DirectCoupling Coupling between three components without returning to an upper level to exchange data. 310p1, 310r-310rp2, 311, 400, 400r
DistDir Creation of a distributed directory for efficient parallel communications within a Component - basic directory creation and lookups are verified. 303, 310-310p1, 310r-310rp2, 311
FieldBundleRedistArb2Arb Redistribution from a arbitrarily distributed FieldBundle to a arbitrarily distributed FieldBundle. 400r
FieldBundleRedistBlk2Arb Redistribution from a block distributed FieldBundle to a arbitrarily distributed FieldBundle. 400r
FieldBundleRedistBlk2Blk Redistribution from a block distributed FieldBundle to a block distributed FieldBundle. 400, 400r
FieldBundleSMM Use of a sparse matrix multiply to redistribute a source FieldBundle to a differently distributed destination FieldBundle. 310rp2, 311, 400, 400r
FieldConcurrentComponent Demonstrates the use of ESMF coupling framework to couple 2 gridded components with 1 coupler component. The coupler component runs on the union of the PETs that are exclusively allocated to each individual gridded component. 400, 400r
FieldExclusive Bilinear regridding between two concurrent Gridded Components on different PETs. 222r-222rp3, 300, 301, 302, 303
FieldHalo Simple halo operation. 222r-222rp3, 300, 301, 302, 303
FieldHaloPeriodic Halo operation on a Field with periodic boundary conditions. 222r-222rp3, 300, 301, 302, 303
FieldLocStreamSMM Use of a sparse matrix multiply to redistribute a source Field with Location Stream to a destination Field with Location Stream. 400r
FieldMeshSMM Use of a sparse matrix multiply to redistribute a source Field with a Mesh to a destination Field with normal block structure Grid. 400r
FieldRedist Redistribute/transpose data through FieldRedist interface. 222r-222rp3, 300, 301, 302, 303, 311, 400, 400r
FieldRedistArb2Arb Redistribution from an arbitrarily distributed Field to an arbitrarily distributed Field. 222r-222rp3, 301, 302, 303, 400r
FieldRedistBlk2Arb Redistribution from a block distributed Field to an arbitrarily distributed Field. 222r-222rp3, 301, 302, 303, 400r
FieldRedistBlk2Blk Redistribution from a block distributed FieldBundle to another block distributed FieldBundle. 222r-222rp3, 301, 302, 303, 311, 400, 400r
FieldRegrid Bilinear regridding between different Grids on different DELayouts. 222r-222rp3, 300, 301, 302, 303, 400r
FieldRegridConserv First order conservative regridding between different Grids on different DELayouts. 222r-222rp3, 300, 301, 302, 303
FieldRegridDisjoint Verifies that regridding works correctly between components running on disjoint sets of PETs. 400r
FieldRegridMesh Verifies that Mesh reconcile works correctly. 400r
FieldRegridMulti Bilinear regridding between 3D Fields on 2D Grids. 222r-222rp3, 300, 301, 302, 303
FieldRegridOrder Bilinear regridding between Grids with different index orders. 222r-222rp3, 300, 301, 302, 303
FieldRegridOverlap Verifies that regridding works correctly between components running on partially overlapping sets of PETs. 400r
FieldSparseMatMul Use of a sparse matrix multiply to redistribute a source Field to a differently distributed destination Field. 310-310p1, 310r-310rp2, 311, 400, 400r
FlowComp PDE solution in a Component with a Clock. 222r-222rp3, 300, 301, 302, 303
FlowWithCoupling PDE solution with coupled Components. 222r-222rp3, 300, 301, 302, 303
InternalStateEnsemble Demonstrate how an ensemble can be written using the internal State of ESMF. 400
RecursiveComponent Recursive creation of subcomponents and demonstration of a recursive Component call tree. 310r-310rp2, 311, 400, 400r
SequentialEnsemble Sequential ensemble example using different initial conditions for different ensemble members. 400r
SeqEnsemEx Sequential ensemble example using different initial conditions for different ensemble members. 311, 400
SimpleCoupling Simple coupling. 300, 301, 302, 303