External Demonstrations
What are they?
The external demos outline the proper usage of an ESMF installation. An ESMF installation can be used in two ways:
- Building applications against the ESMF library
- Executing ESMF applications contained in the package
- Each one comes with its own self contained build system (Makefile).
- These cases treat the ESMF library as an external dependency, as is true for typical user code (and unlike the unit tests, examples, system tests and applications that come bundled with ESMF).
- They show how the bundled ESMF applications are executed and used.
- They can be checked out from the SourceForge repository individually.
- They should be viewed as templates for user applications.
Who are they for?
- Anybody interested in using the applications bundled with ESMF.
- Anybody considering writing their own ESMF applications.
Version Limitations
Tags used when checking out the external_demos module must match the installed ESMF release, or you may get errors. The table below indicates the ESMF versions for which the individual external demo modules are available.
| External Demo | Description | Supported in ESMF Versions: |
|---|---|---|
| ESMF_CoupledFlow | Coupled flow application with flow solver component and coupled injector component. | ESMF_5_2_0, ESMF_5_2_0r |
| ESMC_HelloWorld | Print out ``Hello ESMC World'' from a C program using an ESMF library installation. | ESMF_5_1_0, ESMF_5_2_0, ESMF_5_2_0r |
| ESMF_HelloWorld | Print out ``Hello ESMF World'' from a Fortran program using an ESMF library installation. | ESMF_5_1_0, ESMF_5_2_0, ESMF_5_2_0r |
| ESMF_InstallationCheck | Check the ESMF installation and print out diagnostics for reference | ESMF_5_1_0, ESMF_5_2_0, ESMF_5_2_0r |
| ESMF_RegridWeightGenCheck | Regridding weight generation testing; multiple grid pairs, types of regridding, and regridding options are represented. | ESMF_5_1_0, ESMF_5_2_0, ESMF_5_2_0r |
Checking Out
The external demos can be obtained from the main ESMF SourceForge CVS repository by following the instructions on that page for checking out modules by the anonymous CVS access.The entire external demos module
The command to checkout the entire external_demos module is (enter as one line):
cvs -z3 -d:pserver:anonymous@esmf.cvs.sourceforge.net:/cvsroot/esmf co -P -r [tag] external_demos
where:
[tag] is the CVS tag (e.g. ESMF_5_2_0r)
One individual external demo
The command to checkout one individual external demo is (enter as one line):
cvs -z3 -d:pserver:anonymous@esmf.cvs.sourceforge.net:/cvsroot/esmf co -P -r [tag] external_demos/[subdir]
where:
[tag] is the CVS tag (e.g. ESMF_5_2_0r)
[subdir] is the name of the external demo you would like to checkout.
Browse
Alternatively, the source can be viewed by browsing the external demos folder.
Directory Structure, Building and Running
Each individual external demo is located in its own subdirectory. This directory contains all of the necessary source and script files in addition to a case specific README and Makefile. Consult the README for case specific build and run instructions.
