There are two ways to download the ESMP software, via tarball or the cvs repository. The tarballs are available by clicking on the links in the Releases table on this page. These tarballs include both the ESMP code and the corresponding ESMF code. Instructions for downloading the ESMP code from the CVS repository are at the bottom of this page.
The ESMP Snapshot Tag column in the table below can be used to create the snapshot tag for the ESMF code that corresponds to this version of ESMP by removing the part starting with '_ESMP_'.
There are also beta releases of the ESMPy package available in the table at the bottom of this page. ESMPy is a redesigned version of the ESMP package. Be advised that the ESMPy releases are still in an early stage of development and the API is in flux.
|
ESMP Snapshot Tag |
Date | Release Notes | Known Bugs |
|
ESMF_6_2_0_ESMP_01 |
05/17/13 | Added the capability to retrieve the coordinates of an unstructured Mesh object created from a NetCDF file in SCRIP (User's guide section 2.2.2) or UGRID (February 2013 version) format. |
Higher order patch recovery regridding does not work with 3D Grids and/or Meshes. ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. |
|
ESMF_6_1_0_ESMP_01 |
12/5/12 |
Added the capability to create an unstructured Mesh object from a NetCDF file in SCRIP (User's guide section 2.2.2) or UGRID (December 2012 version) format. Added a flag to ESMP_Initialize() that specifies that ESMF log files should not be created. The version_compare() method was added to give an easy way to determine which of two ESMP versions was released most recently. |
Higher order patch recovery regridding does not work with 3D Grids and/or Meshes. ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. |
|
ESMF_6_1_0_beta_snapshot_00_ESMP_01 |
9/6/12 | Added the ESMP_LogKind flag to allow ESMP_Initialize() to suppress ESMF library logging. |
NetCDF is not supported on Linux platforms due to issues with loading shared library dependencies. Higher order patch recovery regridding does not work with 3D Grids and/or Meshes. ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. |
|
ESMF_5_3_1_beta_snapshot_05_ESMP_01 |
6/26/12 |
Added the 'zeroregion' flag to ESMP_FieldRegrid() for specifying how to initialize the elements of a destination field before applying interpolated values. Added the 'gridToFieldMap' argument to ESMP_FieldCreate() to allow for Fields with indices different from the underlying Grid or Mesh. Added edge stagger locations for 2D grids and all stagger locations for 3D grids, change ESMP_STAGGER_CENTER3D to ESMP_STAGGER_CENTER_VCENTER. |
NetCDF is not supported on Linux platforms due to issues with loading shared library dependencies. ESMP_VMGetGlobal() does not work on Unicos. Higher order patch recovery regridding does not work with 3D Grids and/or Meshes. ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. |
|
ESMF_5_3_1_beta_snapshot_02_ESMP_01 |
5/30/12 |
Added all edge stagger locations for 2D Grids and all stagger locations for 3D Grids. Added ESMP_GridWrite() to write Grids to vtk formatted files. Changed the coordDim variable in the ESMP_GridGetCoord() function to use 0 based indexing. |
NetCDF is not supported on Linux platforms due to issues with loading shared library dependencies. Higher order patch recovery regridding does not work with 3D Grids and/or Meshes. ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. |
|
ESMF_5_3_0_ESMP_02 |
5/23/12 |
Added support for 3D Grids. Added support for 3D conservative regridding with Grids and Meshes. Added parallel support to the ESMP tutorial. |
NetCDF is not supported on Linux platforms due to issues with loading shared library dependencies. Higher order patch recovery regridding does not work with 3D Grids and/or Meshes. ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. |
|
ESMF_5_3_0_ESMP_01 |
5/4/12 |
Changed the Mesh connectivity array to use 0 based indexing. Modified the configuration strategy. Modified the version number. Updated the tutorial to show up in the documentation, as well as to have an optional parallel capability using mpi4py. |
NetCDF is not supported on Linux platforms due to issues with loading shared library dependencies. ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. |
|
ESMF_5_3_0_beta_snapshot_42_ESMP_01 |
4/18/12 |
Added the ability to get and set user areas from/on a Grid or Mesh. Added the ability to get a Field containing the fractions of the source and destination cells participating in a regridding operation. The default value for the 'coordSys' argument of the ESMP_GridCreateNoPeriDim() interface was changed from ESMP_COORDSYS_CART to ESMP_COORDSYS_SPH_DEG. |
NetCDF is not supported on Linux platforms due to issues with loading shared library dependencies. Some installations of g++/gfortran/openmpi on Darwin platforms can cause failures from within the C++ standard library as a result of calling ESMP_FieldRegridStore(). ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. |
|
ESMF_5_3_0_beta_snapshot_41_ESMP_01 |
4/11/12 |
Added the ability to mask out values on Grids and Meshes. Added parallel conservative remapping with Grids. Added several examples of masking with Grids and Meshes using both conservative and bilinear remapping. Removed the config file on 'make clean'. |
NetCDF is not supported on Linux platforms due to issues with loading shared library dependencies. Some installations of g++/gfortran/openmpi on Darwin platforms can cause failures from within the C++ standard library as a result of calling ESMP_FieldRegridStore(). ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. |
|
ESMF_5_3_0_beta_snapshot_37_ESMP_02 |
3/26/12 |
Upgraded the error handling to output standard Python exceptions instead of exiting when encountering an import error. Modified the 'clean' target to remove the 'configure' file. Modified the config mechanism to allow ESMP to be imported from any directory. Modified the Grid to use 0-based indexing. |
NetCDF is not supported on Linux platforms due to issues with loading shared library dependencies. Some installations of g++/gfortran/openmpi on Darwin platforms can cause failures from within the C++ standard library as a result of calling ESMP_FieldRegridStore(). Conservative remapping and parallel remapping does not work with the ESMP_Grid. ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. |
|
ESMF_5_3_0_beta_snapshot_37_ESMP_01 |
3/16/12 |
Added support for a single-tile logically rectangular discretization type called ESMP_Grid, only 2D Grids are supported in this release. This allows remapping between logically rectangular and unstructured discretization object types. Removed the gridToFieldMap, ungriddedLBound, ungriddedUBound arguments from the ESMP_FieldCreate() interfaces. |
NetCDF is not supported on Linux platforms due to issues with loading shared library dependencies. Some installations of g++/gfortran/openmpi on Darwin platforms can cause failures from within the C++ standard library as a result of calling ESMP_FieldRegridStore(). Conservative remapping and parallel remapping does not work with the ESMP_Grid. ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. ESMP cannot be imported from any directory other than the top level ESMP directory. |
|
ESMF_5_3_0_beta_snapshot_31_ESMP_02 |
2/1/12 |
Fixed a known bug that caused the parallel implementation on some Linux systems to load shared library dependencies incorrectly. Added a config.py file to allow hardcoding of the ESMFMKFILE environment variable (thanks to Dave Kindig and Alex Pletzer for this contribution). Fixed a known bug that made ESMP_FieldCreate() fail when using optional arguments on 32 bit machines. Fixed some broken links in the online ESMP package documentation. Added documentation for the ESMP_MeshLoc_Flag and the ESMP_REGRIDMETHOD_CONSERVE option to ESMP_FieldRegridStore(), and add missing documentation for all optional arguments. |
NetCDF is not supported on Linux platforms due to issues with loading shared library dependencies. Some installations of g++/gfortran/openmpi on Darwin platforms can cause failures from within the C++ standard library as a result of calling ESMP_FieldRegridStore(). ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. ESMP cannot be imported from any directory other than the top level ESMP directory. |
|
ESMF_5_3_0_beta_snapshot_31_ESMP_01 |
1/26/12 |
Conservative regridding support was added. The ability to create Fields on the elements of a Mesh was added with the optional meshloc flag in ESMP_FieldCreate(). Added support for a variety of data types (float64, float32, int16, int8) in the Field interface. The DE argument of ESMP_FieldGetPtr() was made optional. Added the ESMP_MeshGetOwned[Node/Element]Count() routines to allow access to the owned nodes/elements of a Mesh. |
The parallel implementation and NetCDF are not supported on Linux platforms due to issues with loading shared library dependencies. Some installations of g++/gfortran/openmpi on Darwin platforms can cause failures from within the C++ standard library as a result of calling ESMP_FieldRegridStore(). The optional arguments for gridToFieldMap, ungriddedLBoundN, and ungriddedUBoundN in ESMP_FieldCreate() may cause the routine to fail on 32 bit machines if not specified. ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. |
|
ESMF_5_3_0_beta_snapshot_29_ESMP_01 |
1/18/12 |
This is the baseline ESMP release, the following is a short list of its general capabilities: ESMF Field regridding (bilinear, patch recovery) on unstructured Mesh objects created with Numpy arrays. Write a Mesh to a vtk file.
|
The parallel implementation and NetCDF are not supported on Linux platforms due to issues with loading shared library dependencies. Some installations of g++/gfortran/openmpi on Darwin platforms can cause failures from within the C++ standard library as a result of calling ESMP_FieldRegridStore(). ESMP Fields are created in parallel with incorrect node counts on some processors, this can lead in access violations of the Field pointer when using the field.size The optional arguments for gridToFieldMap, ungriddedLBoundN, and ungriddedUBoundN in ESMP_FieldCreate() may cause the routine to fail on 32 bit machines if not specified. ESMP_MeshDestroy() will fail if ESMP_MeshFreeMemory() has already been called. ESMP_MeshFreeMemory() will fail if called on a Mesh that has not had nodes and elements added. The ESMP.src.remap module is in an undefined state and undocumented at this time. |
| Snapshot Tag | Date | Release Notes | Known Bugs |
|
ESMPy Tag: ESMPy_620b20_01
ESMF Tag: ESMF_6_2_0_beta_snapshot_20
|
04/19/13
|
The Field is now a derived type of numpy.MaskedArray. The installation has been improved - ESMFMKFILE is set as an option to the build command, and prefix can be used to set a customized installation directory in the install command. A standard build can now be done with the following command: [sudo] python setup.py build --ESMFMKFILE=<path_to_esmf.mk> install |
The Field mask is an alias of the Grid mask, underlying values are not updated from the Field level. Higher order patch recovery regridding does not work with 3D Grids and/or Meshes. |
|
ESMPy Tag: ESMPy_620b10_04
ESMF Tag: ESMF_6_2_0_beta_snapshot_10
|
03/04/13 |
The first beta release of the ESMPy package. This package is a redesigned version of ESMP. WARNING: The API is likely to change! |
Parallel Implementation is not fully functional. Higher order patch recovery regridding does not work with 3D Grids and/or Meshes. |
The ESMF and ESMP codes can be downloaded via anonymous CVS from two separate repositories. The ESMP software is available from the 'esmfcontrib' Sourceforge repository and the ESMF software is available from the 'esmf' Sourceforge repository. Please note that you will need the CVS package to download the code in this fashion.
Download the ESMP code like this:
cvs -d:pserver:anonymous@esmfcontrib.cvs.sourceforge.net:/cvsroot/esmfcontrib login
cvs -z3 -d:pserver:anonymous@esmfcontrib.cvs.sourceforge.net:/cvsroot/esmfcontrib co -P -d python -r<ESMP(y)_TAG> python
and download a tarball containing the corresponding ESMF code like this:
git archive --remote=git://esmf.git.sourceforge.net/gitroot/esmf/esmf --format=tar --prefix=esmf/ <ESMF_TAG> > esmf.tar