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: June 2010

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

AS BUILT May 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 critic
al 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.
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.
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.
Implement off-line cubed sphere regrid Implement the ability to read in files describing cubed sphere and displaced pole grids, and regrid between them.


September 2010 v5.1.0

Task Description
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.
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.
Implement local conservation to improve conservative regridding Implement local conservation to improve conservative regridding.
API standardization (Initial) Review complete API carefully and fix any inconsistencies.
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 hea
vily involved.
C interface documentation Produce a Reference Manual for the C interface.
Initial data IO implementation This will likely involve incorporating PIO into ESMF.
Initial implementation of exchange grids This will require a design cycle.
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 themin 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).


December 2010 ESMF v5.1.0r

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


Last Update: May 29, 2015, 1:31 p.m. by Sylvia Murphy