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

Release Schedule: November 2009

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". Tasks marked with a ** are required for the release.

AS BUILT November 2009 ESMF v4.0.0r

Task Description
Component concept works with MAPL Currently MAPL is based on certain assumptions about the interaction between Components and VM that don't hold in general. In order to allow MAPL to work correctly where components run on different sets of PETs it will be necessary to adjust some of the Component/VM concepts in ESMF. This task will require collaboration with the MAPL developers to ensure full compatibility.
Method to return Initialize/Run/Finalize and phase This is a function to return, for a standard component method, whether it is Initialize/Run/Finalize and what phase it is.
User-method callbacks for data assimilation This capability will enable users to store and stransfer custom methods within a State.
Sequential ensemble example with internal state Ensemble example that demonstrates the use of internal states.
Performance profiling of ArrayBundles with sparse matrix multiply Profile ArrayBundles for redistribution and sparse matrix multiply.
Complete arbitrarily distributed Grids Complete arbitrarily distributed Grids and integrate them into Fields.
**Land-sea masks for regrid Likely implemented using masks at the regrid interface.
Continued development of hierarchical attributes Implementation of standard attribute packages and XML outputs.
Attribute update As required by CCSM, this is for communicating Attributes during runtime.
Preliminary IO container class This task is to build the IO class shell and implement an initial XML read/write.
Demonstrate use of test harness with regrid Test harness has been shown to work for regridding for grids with unformly spaced coordinates.  This task is to show that regrid tests also work for grids with non-uniformly spaced coordinates.
Native Windows port Port to the native Windows platform.
Reconcile and close bug and feature request tickets Revisit and close as many old bug and feature request tickets as possible.
Add VM documentation Add VM documentation.
C interfaces for unstructured mesh Add C interfaces for unstructured mesh.
Use test case to stress reconcile Create a use test case to stress reconcile.
System tests for OpenMP Create system tests for OpenMP.

 

March 2010 ESMF v5.0.0

Task Description
Non-blocking Routehandle communication This is needed for asynchronous Component interaction, e.g. with an I/O component. Some work has been done, but a test method needs to still be implemented and the final API resolved. Once we have that, and all works well, it needs to be documented and taken to the Field level.
Run-time sizing of non-distributed dimensions for Routehandles Enable Routehandle communications to handle runtime sizing of non-distributed dimensions.  This is critical for performance sensitive CCSM support, and it will be a benefit to any application that needs to do routehandle-based communications
 between objects where the size of the non-distributed dimensions change.
Communication support for data objects that contain both arbitrarily distributed and non-arbitrarily distributed dimensions Communication support for Fields/Arrays that contain both arbitrarily and non-arbitrarily distributed dimensions. This requires that the Array sparse matrix multiply must support multi-component sequence indices in the "full, non-factorized sparse matrix" mode.
Communication support for Fields with replicated dimensions Communication support for Fields/Arrays with replicated dimensions. The "full, non-factorized sparse matrix" mode of multi-component sequence indices is expected to be useful in implementing this.
Rework object referencing and destruction Automatic garbage collection of ESMF objects on the Component scope. When done correctly it should solve a lot of issues that we have several tickets open for (some very old ones!). A lot is already done for this, but some critical pieces are still missing.There will also be a fair amount of documentation to be written to explain and demonstrate the ESMF garbage collection concepts, and to define the associated object concepts.
ESMF_ArrayHalo() for single patch simple connectivity DistGrids Implement Array halo and ensure that it fixes previous errors. The most critical of these errors was that the halo used to be declared in all dimensions, whether it was distributed or not.  Task includes use test cases and documentation.
Array methods needed for conservative regrid Implement Array and Routehandle functionality required by conservative Regrid corrections. At a minimum this will result in an internal interface to a scalar product of two sequentialized Arrays. Eventually this may turn into a set of user accessible Array methods.
Full grid is equal function This function will determine if two Grids match exactly down to element to element equality of coordinates. Equality at this level will ensure that the Grids can be used interchangeably in a Regrid operation or in  building a FieldBundle. Some user research will be necessary to determine if this equality should optionally include Grid items, such as area or Grid properties such as factorization which can be different even if element by element comparisons match.
Implement grid connections in regridding methods Complete the connection of the Grid topology specification (connections) and index space specification to the regrid. This step will remove some obvious holes in the Regrid (e.g. the current restriction preventing the regridding  of Fields on a Grids with an  ESMF_INDEX_DELOCAL index space), and is a necessary first step to completing 3 and 4 below. An output from this task should be a set of tests regridding with grid connections and with non ESMF_INDEX_GLOBAL index space.
Support for tripole grid shortcuts This functionality will allow the user to create a tripole Grid by specifying the proper parameters in the Grid create interface. The resulting tripole Grid should be usable in FieldRegridStore() with the pole connections properly represented. Some user research and design work may be necessary to ensure that we're creating the tripole as the users require. This task doesn't entail generating tripole coordinates for users, although testing will require either some internal generation or reading them in from a file.
Implement multi-tile grid representation This functionality will allow the user to create a Grid consisting of a set of  logically rectangular tiles connected together by using a Grid create interface. The resulting  Grid should be usable in FieldRegridStore() with the inter-tile connections properly represented. This task will likely require specifying a new set of Grid create interfaces. Some user research and design work may be necessary to ensure that we're creating the grids as the users require and that the new interfaces are user friendly. This task doesn't entail generating coordinates for users, although testing will require either some internal generation or reading them in from a file. An output from this task should be a set of tests regridding to/from a few example multi-tile Grids (e.g cubed sphere grids, or a partially refined grid).
Make the treatment of characters consistent At the public Fortran and C/C++ API levels, as well as internally including the F90/C interface, ensure consistent implementation of character and string types. Horizontally across the library, this affects mostly Getting/Setting of ESMF class names and specifying method options, particularly for ESM[F,C]_<Class>Print(). Vertically, the Config and Attribute classes are heavily involved.
C interface documentation Produce a Reference Manual for the C interface.
Initial data IO implementation Task Description This will likely involve incorporating PIO into ESMF.
Initial implementation of exchange grids This will require a design cycle.
Make concurrency more robust Fixes (two of them) for the scaling issue with the dynamic serialization buffers, speed problems with reconcile, the 'redundant grid serialization' issue (some group discussion required), and problems with StateAdd and with FieldBundles.
Conservative regrid 2D, 1st order Calculate a conservative correction vector that can be applied to a previously interpolated field. The initial implementation will appear in the offline regridding application. This method should work for any dimension.
Conservative regrid higher order higher dimensions Calculate interpolation weights for conservative interpolation at higher than 1st order.  This method should work for any dimension.  The method is undetermined at this point so the time estimate is uncertain.
API standardization (Initial) Review complete API carefully and fix any inconsistencies.
Implement off-line cubed sphere regrid Implement the ability to read in files describing cubed sphere and displaced pole grids, and regrid between them.
Compliance tester Automated compliance tester; first level is ensuring no errors on standard calls such as ESMF_Initialize(), Run(), and Finalize().  Create a program which performs these checks and also prints out Attributes via ESMF_AttributeWrite() for manual inspection.
Final sweep of bugs and feature requests for API freeze Resolve all possible before freeze.

 

September 2010 ESMF v5.0.0r

Task Description
**Prepare updated tutorial materials Deliver final tutorial materials, ideally including an on-line tutorial.
API standardization, ongoing Review complete API carefully and fix any inconsistencies. This is a second phase of this task.
**Review and supplement documentation Review Reference Manual and Users Guide and supplement with user-requested materials.

 

Last Update: May 29, 2015, 3:09 p.m. by Sylvia Murphy