Title: Code 930 Support for GMI
1Code 930 Support for GMI
- Tom Clune (NASA)
- Bigyani Das (CSC)
- Jae-Hoon Kim (CSC)
2Status
- GMI production runs are routinely and capably
executed by 930 staff. - Gaining significant familiarity with code, but
still reliant upon LLNL for some code
modifications. - LLNL support continues to be excellent.
- Staffing is currently low (1.5 vs 2.3 FTEs)
- Atmospheric Chemistry is becoming separate
sector.
3NCCS Resources provided to GMI
- GMI web site
- Data archival and community FTP service
- HEC - HP/CPQ alpha cluster
- Source repository
- Semi-private document bulletin board
- Mailing lists
4NCCS UserIDs
- Required to access the GMI data archive and
source repository - To obtain
- Fill out online form lthttp//nccstag.gsfc.nasa.go
v/gt - Use Sponsor Code Account a930b
- Request access to sourcemotel under other
platforms - Print, Sign, and Fax forms
- After creation of sourcemotel account contact
Thomas.L.Clune_at_nasa.gov to be added to GMI
project (for access to repository and bulletin
board)
5Sourcemotel
6Existing Coding Standards (LLNL)
- Any include files need a ".h" suffix use a ".F"
suffix for the other source files. - Use the " include" preprocessor declaration to
bring in include files. - Use "implicit none" declare all variables.
- All real declarations need to be "real8"
(including function returns). - Change any "e" exponents to "d" add "d0" to any
real numbers that don't have an exponent. - Do not use the "Real" or "Float" intrinsic
function just assign the variable, etc. to a
variable that is declared as real8. - Use generic calls for any intrinsic functions
(e.g., use Max, not Amax1). - Use our gmi_phys_constants.h file for all common
physical constants. - Put a "c Id README.softw,v 1.1.1.1 2003/06/12
142429 oloso Exp " at the top of each file
that will be archived.
7Coding Standards Document
- Living document to be added to repository.
- Possibly contradicts some extant GMI software.
- Items either mandatory or strongly encouraged.
- Areas of concern
- Portability/Safety
- Avoid non-standard implementations
- Use implicit none, etc.
- Encapsulation - pass all data through interfaces
- Numerical accuracy
- Parallelization
- Software engineering (where to put things and
what to call them). - ESMF?
8Background
ESMF
NASAs Earth Science Technology Office proposed
the creation of anEarth System Modeling
Framework (ESMF) in the September 2000 NASA
Cooperative Agreement Notice Increasing
Interoperability and Performance of Grand
Challenge Applications in the Earth, Space, Life
and Microgravity Sciences A large, interagency
collaboration with roots in the Common Modeling
Infrastructure Working Group proposed three
interlinked projects to develop and deploy the
ESMF, which were all funded Part I Core ESMF
Development (PI Killeen, NCAR) Part II
Modeling Applications (PI Marshall, MIT) Part
III Data Assimilation Applications (PI da
Silva, NASA GMAO)
9ESMF Project Description
ESMF
- GOALS To increase software reuse,
interoperability, ease of use and performance
portability in climate, weather, and data
assimilation applications - PRODUCTS
- Core framework Software for coupling
geophysical components and utilities for building
components - Applications Deployment of the ESMF in 15 of
the nations leading climate and weather models,
assembly of 8 new science-motivated applications - METRICS
- RESOURCES and TIMELINE 9.8M over 3 years
10Architecture
ESMF
Components Layer Gridded Components Coupler
Components
ESMF Superstructure
- ESMF provides an environment for assembling
geophysical components into applications. - ESMF provides a toolkit that components use to
- increase interoperability
- improve performance portability
- abstract common services
Model Layer
User Code
ESMF Infrastructure
Fields and Grids Layer
Low Level Utilities
External Libraries
BLAS, MPI, NetCDF,
- Becoming an ESMF Component
- Pack model import and export data into ESMF data
structures and conform to a standard calendar.
Use ESMF utilities internally as desired.
Organize model using standard ESMF methods
Initialize, Run, Finalize, ReadRestart,
WriteRestart. Methods may be multi-phase (Run
phase1, Run phase2). Method interfaces are
prescribed. - Instantiate an ESMF Component with name, type,
config information. Register standard model
methods with Component. If desired, register
data. - Use ESMF AppDriver to sequence and run
Components. -
11Time Line
ESMF
12ESMF GMI
- ESMF superstructure is the preferred technology
for coupling new components/modules. - ESMF infrastructure
- Potentially useful
- Considered on case-by-case basis
- Leverage GSFC GMAO support for Lin-Rood dynamical
core - Possibly reduce technology hysteresis with
contributing members.