About ESMF Download Users Developers Management Work Plans Metrics Impacts Conventions

October 2011 Release Schedule

View All Release Schedules

Internal Release (Beta) Public Release
Task Expected for the Release Task Required for the Release
Outside Contribution Expected


Scroll over links in the schedule to view a detailed task description.

Feb 2012 ESMF v5.3.0
3D conservative regridding Task Description: Implement 3D conservative regridding for meshes and logically rectangular grids.
Improved polygon intersection for conservative regridding Task Description: In certain cases, the current polygon intersection algorithm being used in the conservative interpolation can have problems if source and destination cells align closely along an edge. Numerical problems in this case can lead to small gaps between neighboring cells and a degradation of conservative accuracy.
Connect Attributes to class information, phase 1: Connect Attributes to basic grid properties Task Description: The name and other basic information that comes in through the public class interfaces should be connected to the basic Attribute hierarchy associated with that object. Phase 1 will start with grid information.
Extend python interface for ESMF regridding, phase 1: Improve build and testing, complete mesh interface, align with emerging CF libraries. Task Description: Improve the build, complete an initial mesh interface, and align the interface with emerging CF libraries. The last involves coordination with the data services and visualization community.
AttributeUpdate bug fix and additional testing Task Description: The ESMF_AttributeUpdate() does not work in the case where the only changes to the Attribute hierarchy have been Attribute removals. This class is not sufficiently well tested.
Fault tolerant MPMD-based components Task Description: Implementation of fault tolerant components in collaboration with ESRL GSD.
Prototype implicit coupling strategy Task Description: Develop and prototype within an application a strategy for implicit coupling.
Restructure reconcile for robustness Task Description: The current implementation of ESMF_StateReconcile is very inefficient. It creates a lot of messages of redundant data and it is not scalable. Thus, the whole function is being redesigned.
Enable Field and scientific Attribute properties Task Description: Modify ESMF Attributes to encode fields and scientific properties as currently encoded in the Common Information Model (CIM).
Complete development of Exchange Grid Task Description: Complete Exchange Grid so that it is usable by production applications.
FieldBundleCreate packing behavior Task Description: The ESMF_FieldBundleCreate() call should be able to "pack" Fields together on creation. The Create call would have the same input info as the ESMF_FieldCreate() plus a list of the Fields to be put into the FieldBundle. There should also be an internal flag that would disallow adding more Fields after a FieldBundle has been packed.
Add 2D UGRID support to offline regrid Task Description: Supporting the emerging Climate and Forecast (CF) UGRID specification and phasing out the ESMF unstructured format will assist users who are trying to use CF conventions consistently.
Define and implement an interpolation weight format for offline regrid suitable for use with UGRID Task Description: The current ESMF interpolation weight file format is not well adapted to the UGRID format and should be changed.
Remove LAPACK dependency from build Task Description: Only a small part of this library is used and it creates a dependency on users that should be removed.
May 2012 ESMF v5.3.1
Improved demo and on-line tutorial Task Description: The tutorial needs to be revisited and carefully reviewed and updated.
Connect Attributes to class information, phase 2: Connect Attributes to Component and other class properties Task Description: The name and other basic information that comes in through the public class interfaces should be connected to the basic Attribute hierarchy associated with that object.
Parallelize ESMF_GridCreate from file Task Description: In Grid creation, the coordinates in the SCRIP file are read into PET0 and scattered to all other PETs when creating the Grid. The code should be parallelized, possibly using PNETCDF or PIO for better performance.
Extend Python interface for ESMF regridding, phase 2: File based I/O, polish interface, make numpy array optional feature, or priorities as set by users Task Description: Completion of a next phase of the python interface to ESMF regridding, as prioritized by users.
Parallelize ESMF MeshCreate from file Task Description: In order to parallelize ESMF_MeshCreateFromScrip(), the method has to be parallelized. Further, ESMF has the potential of running out of memory when a large grid's node coordinate definition is distributed on all the PETs when creating the Mesh from the ESMF file. This needs to be parallelized as well.
Add single tile mosaic GridSpec support to offline regrid Task Description: Ensure that offline regrid can accept GridSpec files as input.
Implement component/clock reconcile Task Description: In order to facilitate the movement of clock information around ESMF, implement a component reconcile method and a clock update method. These should provide a convenient and standard way to communication time information in concurrently running components.
Introduce dummy ocean into NEMS prototype Task Description: The NUOPC implementation of NEMS currently drives the ATM alone. There are several steps needed to finish demonstration of coupling with a dummy OCN component:
  1. First need to merge in latest NEMS trunk changes into NUOPC branch (b/c regression testing has changed again on trunk).
  2. Verify new regression test results (changed b/c of TRUNK changes).
  3. Verify that difference in regression test results with 5.2.0r is due to Field order in FieldBundle (b/c of ESMF 5.2.0r).
  4. Support ATM (GFS) to run multiple intervals - this needs help from NEMS person familiar with GFS. e) Introduce a dummy OCN component and connect with ATM for a few Fields and drive for a few ATM-OCN coupling steps in explicit mode.
Mesh subsetting Task Description: Given a polygon (in most cases a quadrilateral) return a new mesh containing just the cells within the polygon. There are three options (the new mesh consists of cells):
  1. which fit within the polygon.
  2. which overlap the polygon.
  3. chopped to fit within the polygon.
For non-conservative regrid change destination to be point list Task Description: Currently for any regridding the destination is a Mesh object. For non-conservative regridding this isn't really necessary and it could be just a list of points. This would have many benefits: It would reduce the memory used, it would make things somewhat more time efficient, it would solve the current bugs with not being able to regrid single points, or destination meshes with less than 2 width DEs. It would also allow us to trivially hook up location streams as a destination of the regridding. It would in general allow us to regrid to just points instead of imposing some kind of structure on them, it seem like this freedom would let us handle a lot of cases easily which would otherwise take unnecessary work and have unnecessary restrictions.
Catch up on NUOPC milestones and implementation, multiple tickets Task Description: This ticket is open for any work that is required to support achievement of NUOPC milestones.
I/O set up for more than one package and format Task Description: Set up I/O to be more flexible by hiding implementation-specific details in an I/O class.