ESMX is used to implement a coupled system with two components (ATM and OCN). Both components are provided as NUOPC-compliant models.
Files and sub-directories that implement the fundamental concept demonstrated by the prototype. These are the primary artifacts to look at and to pattern actual user code after.
esmxBuild.yaml- Standard ESMX YAML file describing the build dependencies of theesmx_app(the executable) on components Lumo and Tawas.esmxRun.yaml- Standard ESMX YAML file describing the run configuration: Lumo is OCN, Tawas is ATM, and defining the run sequence.Lumo- Example OCN component. It uses a simple CMake based build system.TaWaS- Example ATM component. It uses a GNU Make based build system.
- Build the ESMX executable by using the command line tool:
This assumes that the
ESMX_Builderbindirectory of the desired ESMF installation is present in the user'sPATHenvironemnt variable. TheESMX_Buildertool first compiles all the required sub-components, and then links it into the final executable. - Run the
./install/bin/esmx_appexecutable on 4 PETs using the appropriate MPI launch procedure. E.g.:Or using the alternativempirun -np 4 ./install/bin/esmx_appesmxRun-Alt.yamlconfiguration that usesESMX_DataforATM.mpirun -np 4 ./install/bin/esmx_app esmxRunAlt.yaml
Files that are needed for the integration into ESMF's automated testing infrastructure for regression testing. These artifacts might be interesting to look at, but generally should not be used as patterns to follow in actual projects.
Makefile- GNU Makefile that defines targets that are used by the automated ESMF regression testing script.
- The default target of the
Makefilecalls theESMX_Buildercommand line tool to build the ESMX executable:make - The
runtarget of theMakefileuses the MPI launch procedure - identified by ESMF - to run./install/bin/esmx_appon 4 PETs.Or to run with the alternativemake runesmxRun-Alt.yamlconfiguration that usesESMX_DataforATM.make runalt - The
distcleantarget of theMakefileremoves all of the generated files.make distclean