University of Colorado
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".
|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.
|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
|Connect Attributes to class information, phase 2: Proper grid handling||
The name and other basic information that come in through the public class interfaces and are stored as intrinsic properties should be accessible, linkable, and writeable as Attributes. For this release, grid properties can be written as GridSpec files.
|Extend Python interface for ESMF regridding, phase 2: Priorities as set by users||
Completion of a next phase of the python interface to ESMF regridding. This task includes support for the UGRID Climate and Forecast convention for representing unstructured grids.
|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. Create more consistent and complete Array and Field read and write interfaces.
|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.|
|Parallelize ESMF_GridCreate from file||In Grid creation, the coordinates in the SCRIP file are read into PET0 and scattered to all other PETs. The code should be parallelized, possibly using pNETCDF or PIO for better performance.|
|Nearest neighbor interpolation method for regridding||The nearest neighbor method interpolation method is desired for applications such as downscaling.|
|Implement a bit for bit mode for the sparse matrix multiply||
Guarantee of bit for bit reproducibility is important for many climate applications.
This task will ensure bit for bit when running on the same number of processors.
|Introduce nesting into the NUOPC Layer prototype||
This task addresses several different ways in which nested grids may interact with coupling.
|Continue development of Exchange Grid||
Allow Fields built on Meshes or combinations of Grids and Meshes to be merged to create an Exchange Grid.
|Parallelize ESMF_MeshCreate from file||
In Mesh creation, the coordinates in the input file are read into PET0 and scattered to all other PETs. The code should be parallelized, possibly using pNETCDF or PIO for
|Test and port new I/O class across platforms||Test and port the new I/O class, primarily PIO, across platforms.|
|Implement consistent I/O approach||Merge the work done for the new I/O class with the efforts to parallelize Mesh and Grid creation.|
|Connect Attributes to class information, phase 3: Connect Attributes to Component and other class properties||The name and other basic information that come in through the public class interfaces and are stored as intrinsic properties should be accessible, linkable, and writeable as Attributes. For this release component and other class intrinsic properties are represented as Attributes.|
|Fix problem with Attribute removal||
Fix a problem that occurs when reconciling Attributes that have been removed.
|Extend Python interface for ESMF regridding, phase 3: Interface redesign||
The interface to the Python API for ESMF regridding should be made more pythonic. It currently echoes the Fortran interface that it is built on.
|Fix problem with proxies involving multiple objects that reference a single object||Fix problem where multiple objects that reference a single object produce multiple proxies for the single referenced object after reconcile. Change the behavior so that, for example, Fields that point to the same Grid produce a single Grid proxy that is referenced multiple times.|
|Complete fault tolerant components||
Enable fault tolerant components to pass Fields through States rather than just through files.
|Improved demo and online tutorial||Training and getting started materials need an overhaul.|
|Connector to support multiple modes of sharing fields for NUOPC||Implement vocabulary and interfaces for different kinds of sharing, including memory allocations, grids, and metadata.|
|Change destination to be point list for non-conservative regridding||
This will enable a regrid destination to be a single point, and will also enable Location Streams to be supported within regridding.
|Support for masking unstructured Meshes||This fills a gap and will offer convenience for Mesh users.|
|Return diagnostic outputs from RegridWeightGen||New options are desired on RegridWeightGen that would enable additional diagnostic outputs, such as error measues and maximum negative weights. Some diagnostic outputs are already available from the test utility RegridWeightGenCheck. This will also enable integrated regridding to be checked end-to-end using the same diagnostics as offline regridding.|