Hosted by CU logo University of Colorado
Powered by ESGF-CoG logo
Welcome, Guest. | Login | Create Account
ESMF logo
You are at the CoG-CU node

Release Schedule: October 2011

Public releases have an "r" after the release name, e.g. 5_2_0r. Public releases that have been patched are labeled with their patch number e.g. "rp1", "rp2".


Feb 2012 ESMF v5.3.0

Task Description
3D conservative regridding Implement 3D conservative regridding for meshes and logically rectangular grids.
Improved polygon intersection for conservative regridding 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 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. 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 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 Implementation of fault tolerant components in collaboration with ESRL GSD.
Prototype implicit coupling strategy Develop and prototype within an application a strategy for implicit coupling.
Restructure reconcile for robustness 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 Modify ESMF Attributes to encode fields and scientific properties as currently encoded in the Common Information Model (CIM).
Complete development of Exchange Grid Complete Exchange Grid so that it is usable by production applications.
FieldBundleCreate packing behavior 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 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 The current ESMF interpolation weight file format is not well adapted to the UGRID format and should be changed.
Remove LAPACK dependency from build 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

Task Description
Improved demo and on-line tutorial 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 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 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 Completion of a next phase of the python interface to ESMF regridding, as prioritized by users.
Parallelize ESMF MeshCreate from file 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 Ensure that offline regrid can accept GridSpec files as input.
Implement component/clock reconcile 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 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.
  5. 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 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 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 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 Set up I/O to be more flexible by hiding implementation-specific details in an I/O class.


Last Update: May 29, 2015, 9:49 a.m. by Sylvia Murphy