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: February 2007

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 **. Tasks with a ^ are expected to come from an outside contribution.

Jan 2007 ESMF v3.0.1

Task Description
Add communicator to component interface Add communicator to component interface
Continue to fix memory leaks Continue to fix memory leaks
Standardize initialization behavior Standardize initialization behavior
^Add Component/State/Config C interfaces Add Component/State/Config C interfaces

 

Apr 2007 ESMF v3.0.2

Task Description
Config set implemented Config set implemented
Measure redist performance on 1000+ procs Measure redist performance on 1000+ procs
Datatypes consistent across framework Datatypes consistent across framework
Make sure unused code returns errors Make sure unused code returns errors
Tests and examples for reconcile Tests and examples for reconcile
ArrayCreate TKR overloading The ArrayCreate() interfaces that take native F90 arrays need to be fully TKR overloaded to provide complete coverage of user data formats.
DistGridGet provides topology information In order to support single patch DistGrids with simple connectivity, i.e. periodicity, the DistGridGet() implementation must be advanced to provide the necessary topology information. This task includes the implementation of necessary DistGrid internal data representations. This task also needs to include implementation of the ConnectionTransforms if we want to deal with vector quantities in the Halo.
Test, examples, and doc review for DistGrid Test, examples, and doc review for DistGrid
Improved Grid testing framework The goal of the improved testing framework is to thoroughly define which grid combinations are fully tested, as well as to provide a mechanism to better track errors back to the tests. The combined parameter space of Grid methods is huge, so it is import to specify exactly what configurations of grids, coordinates, distributions and remappings are fully functional, and when errors arrise, to track them back to the exact configuration that failed. This will be an expanded version of the current testing code in place for redistribution and regridding. The testing framework intends to be more general and comprehensive than the previous testing code and would report the results as human readable descriptions of the test configuration, using the proposed taxonomy for field representation, redistribution and regridding. Task breakdown:
  1. Configurable test suite (separate by major function using proposed field syntax)
  2. Parser to translate field syntax to action
  3. Automated generation of reports specifying tested grid configurations
Fix halt on error problem Fix halt on error problem

 

Aug 2007 ESMF v3.0.3

Task Description
Tests and examples for ensembles Tests and examples for ensembles
Array support of single patch simple conn DistGrid The Array class implementation must be able to support single patch DistGrids with simple connectivity. Also needs to be able to handle ConnectionTransforms in the DistGrid argument.
Profile and optimize ArraySparseMatMul Profile and optimize the ArraySparseMatMul() method for realistic data sets to ensure performance compares to other packages.
Test, examples, and doc review for Array Test, examples, and doc review for Array
Interlanguage implementation consistency Interlanguage implementation consistency
Array communications underpinning and Route merge The possibility of merging the Array communications implementation with the Route code must be investigated. The product of this task is an internally used Array communications strategy and implementation utilized in Array communication calls such as: ArraySparseMatMul(), ArrayHalo(), ArrayGather(), ArrayScatter().
Basic new Grid functionality This task is the design and implementation of the basic new Grid methods. This first phase will include the design of the entire single and multi-tile architecture, but only the implementation of the single tile case. Multi-tile cases will be implemented later. The grid functionality being developed includes the creation and destruction of a Grid container class and a Grid tile class. An important function of the Grid class is to generate the complete Grid specification from the information that's supplied. For example, given the cell center locations, the Grid class needs to generate the coordinates for any staggered positions. It also includes the functionality for attaching Grid tiles together to produce a continuous grid, as well as a halo update capability. For the first pass this attachment will likely be very simple (just direct array subset to array subset copies). It will be limited by functionality supplied by the new Array and new DistGrid classes. The interfaces here are normal subroutine based-interfaces (no use of function tables/set services paradigm). This task will include the design and implementation of a basic set of information retrieval subroutines for the Grid class (e.g. get coordinate information). It will also include the identification of a set of problems of interest(e.g. WRF-HYCOM) to be used as use test cases. This task will include the creation of the following routines (or equivalent):
  • ESMF_GridMosaicCreate()
  • ESMF_GridMosaicDestroy()
  • ESMF_GridMosaicGet()
  • ESMF_GridMosaicValidate()
  • ESMF_GridMosaicPrint()
  • ESMF_GridTileCreate()
  • ESMF_GridTileDestroy()
  • ESMF_GridTileGet()
  • ESMF_GridTileAttach()
  • ESMF_GridTileValidate()
  • ESMF_GridTilePrint()
Test, profile, and doc review Test, profile, and doc review
ArraySparseMatMul completion

Need to complete ArraySparseMatMul implementation to:

  • work with Arrays with undistributed dimensions
  • work with pre-distributed interpolation weights
Test, examples, and doc review for Array sparse matrix multiply Test, examples, and doc review for Array sparse matrix multiply
ArrayBundle Create and sparse matrix multiply Implement ArrayBundles in order to optimize collective sends of multiple Arrays that are discontinuous in memory but share the same DistGrid. This task includes ArrayBundleCreate() and ArrayBundleSparseMatMul() but may not include the full range of Gets and other convenience methods.
Grid generation from user

This task is the design and implementation of the system for user Grid generation. At this time we anticipate that this system will work in a similar way to the component set services routines for the gridded and coupler components. There will be a set of interfaces which allows the user to store their subroutines in a function table for generating the Grid information. The Grid generation subroutine will use these user provided subroutines to generate a new Grid. This Grid generation subroutine will employ the new Grid functionality implemented in 1. The following is a description of what we expect the basic Grid generation path to look like:

Grid generation steps:

  1. Create a Mosaic Grid object to hold the grid information.
  2. Generate the tensor style Grid coordinates and meta data,including connection specifications.
  3. Create Grid tiles with the data created in above item.
  4. Specify the tile connection within the Mosaic.
Use test case for new Grid and SparseMatMul Develop a use test case using the new Grid structures and the enhanced Array SparseMatMul routine that illustrates how to interpolate between two grids using the Array class SparseMatMul routines. We are proposing targeting a WRF and HYCOM coupling. The custom weights needed for the Array SparseMatMul calls will be provided externally using the I/O capability currently in use in the original SparseMatMul Use Test Case. This I/O capability will be improved as time allows.
ArrayHalo for single patch simple conn DistGrids Design and implementation of ArrayHalo() call for single patch, simple connectivity DistGrids, including asymmetric updates.
Test, examples and doc review for ArrayHalo Test, examples and doc review for ArrayHalo
Use test case for ArrayHalo Use test case for ArrayHalo

 

Dec 2007 ESMF v3.0.3r

Jan 2008 ESMF v.3.0.4

Task Description
Port to Sun platform Port to Sun platform
Add VM documentation Add VM documentation
Make the treatment of logicals and characters consistent Make the treatment of logicals and characters consistent
ArrayGather and Scatter for single patch simple conn ArrayGather and Scatter for single patch simple conn
System tests for OpenMP System tests for OpenMP
^Implement location streams Implement location streams
Implement unstructured grids Implement unstructured grids
Make concurrency more robust Make concurrency more robust
Method to return IRF and phase Method to return IRF and phase

 

Last Update: June 18, 2015, 2:41 p.m. by Sylvia Murphy