Earth System Modeling Framework

Software Screenshot:
Earth System Modeling Framework
Software Details:
Version: 5.3.0
Upload Date: 20 Feb 15
Developer: UCAR
Distribution Type: Freeware
Downloads: 17

Rating: 5.0/5 (Total Votes: 1)

ESMF (Earth System Modeling Framework) is a program for building high-performance, flexible software infrastructure to increase ease of use, performance portability, interoperability, and reuse in climate, numerical weather prediction, data assimilation, The ESMF defines an architecture for composing complex, coupled modeling systems and includes data structures and utilities for developing individual models.

The basic idea behind ESMF is that complicated applications should be broken up into smaller pieces, or components. A component is a unit of software composition that has a coherent function, and a standard calling interface and behavior. Components can be assembled to create multiple applications, and different implementations of a component may be available. In ESMF, a component may be a physical domain, or a function such as a coupler or I/O system.

ESMF also includes toolkits for building components and applications, such as regridding software, calendar management, logging and error handling, and parallel communications.

The figure below shows ESMF components in practice. It is a diagram of the structure of the NASA GEOS-5 Atmospheric General Circulation Model, built from the ground up using ESMF. Each of the boxes is an ESMF component, including the couplers. The hierarchical tree of components can be "snipped" at different levels so that the whole physics package could be replaced, or a single parameterization. Each component is potentially "swappable."

Features:

  • Full Fortran 90 interface, partial C/C++ interface
  • Fortran 90 Reference Manual and User's Guide
  • Runs on most high performance parallel computing platforms, including IBM, many Linux variants, Cray, Compaq, more (see here for the full list)
  • Supports MPI, OpenMP and hybrid user codes
  • 2500+ tests bundled with source distribution
  • Free user support
  • Active user community
  • Superstructure for coupling Earth system components:
  • Component, State and Coupler software that wraps user code with minimal overhead
  • Simple drivers that users can modify
  • Sequential or concurrent execution of components
  • Single executable capability
  • Limited multiple executable capability
  • Infrastructure for building Earth system components:
  • Time Manager that includes Gregorian, 360 day, no-leap, Julian, and other calendars, as well as a broad range of time functions
  • Data structures for storage and manipulation of Arrays, Fields, and Bundles of Fields on the same grid.
  • Parallel data communications and regridding software
  • Message logging tools
  • Resource file manager

What is new in this release:

  • A fault-tolerant extension to the ESMF_GridComp and ESMF_CplComp interfaces has been implemented.
  • Numerous enhancements and bugfixes.

What is new in version 3.2.0r:

  • This version modifies the code to enable backward compatibility and adds support for the PGI 11.x compiler version on Linux/PC and the Cray XT platform.

What is new in version 3.1.0rp2:

  • Added support for replicated dimensions in Field. A "0" entry in the gridToFieldMap argument in ESMF_FieldCreate() and ESMF_FieldSetCommit() indicates that a Grid dimension is not part of the Field. Instead the Field is replicated across all DEs along the corresponding Grid dimension.
  • Overloaded ESMF_FieldCreate() to accept a Fortran array pointer and preserve its properties (such as bounds and ability to deallocate).
  • Overloaded ESMF_FieldSetCommit() to accept a Fortran array pointer and preserve its properties (such as bounds and ability to deallocate).
  • The Grid now supports an ESMF_INDEX_USER option for the indexflag. This allows the user to explicitly set the lower bound of their local index space. This is necessary when creating a Field from a Fortran array pointer with non-standard indexing.
  • Overloaded ESMF_ArrayCreate() to accept a Fortran array pointer and preserve its properties (such as bounds and ability to deallocate).
  • Optimized ESMF_ArraySMM() and ESMF_ArrayBundleSMM() runtime performance, scalability and memory usage.
  • Added support for optimized communications for Arrays with different distributions, dimensions and sizes in the same ArrayBundle.
  • Added support for DEs with zero elements in DistGrid, Array and Field.
  • Made localDe argument optional in ESMF_ArrayGet() and ESMF_FieldGet() methods where not prohibited by overloading restrictions.
  • Alarms set to ring at timeStep 0, upon ESMF_ClockCreate(), now ring properly.
  • Alarms now ring properly for a Clock in ESMF_MODE_REVERSE.
  • Alarms now ring properly for a Clock using a negative timeStep.
  • Added default pointer size override feature to build system utilizing new environment variables ESMF_F90_PTR_BASE_SIZE and ESMF_F90_PTR_PLUS_RANK.

What is new in version 3.1.0rp1:

  • Added Attributes to the Grid class.
  • Added Attributes to the Array class.
  • Added minIndex and maxIndex arguments to ESMF_GridGet(). These arguments apply to the first tile.
  • Added minIndexPDimPDe and maxIndexPDimPDe arguments to ESMF_DistGridGet().
  • Added ESMF_GridMatch() method to compare two Grid objects.
  • A new section in the User's Guide entitled "Setting up ESMF to run Test Suite Applications" was added that outlines how users can specify their own mpirun scripts. ESMF now consistently uses the setting of environment variable ESMF_MPIRUN to launch the bundled test suite and example applications.
  • The following known bugs have been fixed.

Similar Software

Dxf2PostGIS
Dxf2PostGIS

3 Jun 15

TomTom Go
TomTom Go

2 Jun 15

polyfinder
polyfinder

20 Feb 15

Comments to Earth System Modeling Framework

Comments not found
Add Comment
Turn on images!