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
 

Releases: 2* series

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".

Click on the link for any release to download the code.

Releases Release notes Known bugs

ESMF_2_2_2rp3

2/4/08

Reference Manual
(html) (pdf) 

User's Guide
(html) (pdf) 

Supported Platforms

  • Added support for Cray XT3/4 systems with CNL kernel.
  • Added scalimpi option to Linux.intel.default and Linux.pgi.default configurations. This has only been tested with the intel compiler.
  • Corrected string passing on internal inter-language interfaces. A symptom of the problem was the failure of ESMF_StringUTest.F90 on some x86_64 machines.
  • Same as release ESMF_2_2_2r.
  • PGI compiler 7.1-3 fails 4 examples and several TimeManager and LogErr unit tests.
  • Also see SourceForge bugs list.

ESMF_2_2_2rp2

10/22/07

Reference Manual
(html) (pdf)

User's Guide
(html) (pdf)

Supported Platforms

  • Added code to work around a bug in current Intel compiler versions on the NASA Altix system known as Columbia. This leads to failures in State and Grid interfaces when compiled in debug mode. It is unclear at this time if this is a system specific problem or not.
  • Added support for Intel compiler version 10.
  • Added port for gfortran compiler on Linux.
  • Added port for gfortran compiler on Darwin.
  • Added port for g95 compiler on Darwin.

ESMF_2_2_2rp1

6/15/07 

Reference Manual
(html) (pdf) 

User's Guide
(html) (pdf) 

Supported Platforms

  • Added port for x86_64 ABI to Linux.intel.default.
  • Added port for x86_64 ABI to Linux.absoft.default.
  • Added PGI 7.x support for Linux and Cray XT3/4.
  • Fixed build file issue that caused problems with GNU Make 3.81.
  • Fixed memory leak in non-blocking VM communications.
  • Replaced the ESMF_NONBLOCKING option section in the Reference Manual with a more thorough explanation.

ESMF_2_2_2r

12/1/06

Reference Manual
(html) (pdf) 

User's Guide
(html) (pdf) 

Supported Platforms

  • List of ESMF interface changes since ESMF_2_2_2.
  • This is the first ESMF release under the University of Illinois-NCSA Open Source License. Subsequent releases will be under this license.
  • Added an ESMF_LOG_NONE option to the "defaultLogType" argument of ESMF_Initialize() to turn off ESMF's default error logging.
  • Added an ESMF_KEEPMPI option to the "terminationflag" argument of ESMF_Finalize() to allow ESMF finalization without MPI shutdown.
  • Fixed the C/C++ interfaces for all but XLF and PGI compilers, and reactivated the C/C++ Component interface examples.
  • Optimized ESMF_BundleRedistStore(), ESMF_BundleRedist(), ESMF_FieldRedistStore(), and ESMF_FieldRedist() for arbitrarily distributed grids. A new algorithm was implemented in the ESMF Route code to initialize the arbitrary to arbitrary grid redistribution. The redist run routine has been optimized specifically for the Cray X1 machine. View performance report.
  • Added an ESMF_VMAllGatherV() method.
  • Reworked the build system to be more robust and portable. Some of the previously used environment variables have become obsolete or were replaced by new variables. A full list of the environmentvariables as well as build system details can be found in the User's Guide. The main README contains enough information to get started quickly.
  • Introduced enhanced support for compiling and linking user applications against ESMF. See the User's Guide or main README for details.
  • Added a section to the User's Guide on how to port ESMF to other platforms.
  • Ported ESMF to the Cray XT3, IBM BlueGene/L and Darwin xlfgcc.
  • Added the following system tests to test the Bundle and Field redistribution methods for both arbitrarily distributed grids and block distributed grids:
    • ESMF_BundleRedistArb2ArbSTest.F90
    • ESMF_BundleRedistBlk2ArbSTest.F90
    • ESMF_BundleRedistBlk2BlkSTest.F90
    • ESMF_FieldRedistArb2ArbSTest.F90
    • ESMF_FieldRedistBlk2ArbSTest.F90
    • ESMF_FieldRedistBlk2BlkSTest.F90
  • Augmented the exhaustive regrid unit test ESMF_RegridToolUTest.F90 to include regrid scenarios with different resolution source grid and destination grid.
  • Fixed unit test failures on the Linux PGI compiler:
    • ESMF_ArrayUTest.F90
    • ESMF_VMBarrierUTest.F90
  • On the Linux Lahey compiler, fixed failure of the unit test ESMF_VMSendNbVMRecvNbUTest.F90.
  • Added support for the LSF batch queuing system.
  • The following issues appear to be resolved due to compiler upgrades or indirectly as a result of other development:
    • Problem building with XL Fortran compiler version8.1.1.6, when compiling with the combination ESMF_PREC=64 and ESMF_BOPT=g.
    • Intermittent failure of the "ESMF_FlowWithCoupling" system test and the "ESMF_COUPLED_FLOW" demo on AIX.
    • On the Linux PGI 5.0-2 compiler, failure of the "ESMF_FlowWithCoupling" system test and the "ESMF_COUPLED_FLOW" demo to compile with -g, resulting in an internal compiler error.
    • Issues with configuration of MPICH with Intel 8.1.
  • C/C++ Component examples fail with the XLF and PGI compilers.
  • The ESMF_StateReconcile() call, generally used by couplers dealing with concurrently running Components, has an internalsize limit (which will be addressed in a subsequent release). There is no hard-coded limit to how many elements, i.e. States, Bundles, Fields, Arrays can be added to the State. However, there is a limit, roughly 20, on the maximum number of sub-elements contained by any element in the State passed into ESMF_StateReconcile().
  • ESMF_BundleGather(), ESMF_FieldGather() and ESMF_ArrayGather() are only expected to work on 2D grids with 2D data.
  • When ESMF_Array objects are created with a non-zero halo width, that width is added to all dimensions of the array, not only ones which correspond to the decomposed grid axes.
  • Overall, we have found that regridding using ArrayRegrid(), FieldRegrid(), and BundleRegrid() is not robust. We encourage customers interested in ESMF regridding to move to the ESMF_ArraySparseMatMul() approach in the ESMF 3 series while regrid methods are reworked.
  • The conservative regrid algorithm for full spheres, which includes special treatment of the poles, is largely untested and expected to produce errors.
  • The conservative regrid method for both regional and global grids produces incorrect results for PGI in MPIUNI mode.
  • On Cray X1, the conservative regrid method does not work when the grid is defined as a uniform horizontal LatLon grid with periodic longitude coordinate and the source and destination grid are of the same size.
  • On Cray XT3, the ESMF_VMBarrierUTest is incorrectly reported as failing. The origin of this problem seems to be a bug in Cray's implementation of MPI_Wtime(). This problem will also affect the validity of ESMF_VMWtime().
  • 'ESMF_LOG_SINGLE' is known to be broken. The symptoms are platform dependent and may appear non-deterministic.
  • All NAG compiler combinations we tested (on Linux as well as on Darwin) show random run-time failures when ESMF is compiled in optimized mode and also when user code that links with ESMF is compiled in optimized mode. We advise NAG users to set environment variable ESMF_OPTLEVEL to 0 (zero) when compiling ESMF and to not use optimization on user code that links against the ESMF library.
  • Darwin absoft version 8.2 fails unit test ESMF_CalRangeUTest.F90.
  • Also see SourceForge bugs list.

ESMF_2_2_2

3/16/06

Reference Manual
(html) (pdf)

User's Guide
(html) (pdf)

Supported Platforms

 
  • List of ESMF interface changes since ESMF_3_0_1.
  • The ESMF_ArrayCreate(), ESMF_ArrayGet() and ESMF_ArrayScatter() interfaces were type/kind/rank overloaded.
  • ESMF_VMScatterV() and ESMF_VMGatherV() calls were added.
  • Methods across the framework had their return codes initialized to not implemented (ESMF_RC_NOT_IMPL). This is a step towards ensuring that unimplemented code returns appropriate errors when called.
  • LogErr calls were modified so that they need not set return codes prematurely to ESMF_SUCCESS. This is also a step towards ensuring that unimplemented code returns appropriate errors when called. This new LogErr behavior is not yet turned on, as there are still calls that rely on the former behavior of LogErr.
  • The declaration and usage of real and integer datatypes across the framework was standardized. The most significant change was the combination of type and kind into a single ESMF_TypeKind parameter. The new datatype conventions are included in the Developer's Guide.
  • A policy for the auto-promotion of user data via compile options was developed and is included in the Developer's Guide.
  • An ESMF_ConfigSetAttribute() call was implemented for 4-byte integers.
  • Conventions were established for a public ESMC optional argument API based on the variable-length argument list functionality provided by <stdarg.h>.
  • Added C interfaces for Config class (ESMC_Config). The ESMC_ConfigSetAttribute method is present, but not implemented.
  • An advanced stub for a new testing control system for running exhaustive tests on regrid and redist, called the test_harness, has been added. It runs and parses trivial bundle and field redistribution test configurations.
  • Fixed a bug that required Log files to be explicitly closed by the user before calling ESMF_Finalize.
  • Users may now open, write and close multiple Log files.
  • C/C++ Component examples fail with the XLF and PGI compilers as well as for the Linux/absoftintel combination.
  • The ESMF_StateReconcile() call, generally used by couplers dealing with Components running on exclusive petLists, has an internal size limit (which will be addressed in a subsequent release). There is no hard-coded limit to how many elements, i.e. States, Bundles, Fields, Arrays can be added to the State. However, there is a limit, roughly 20, on the maximum number of sub-elements contained by any element in the State passed into ESMF_StateReconcile() .
  • ESMF_BundleGather(), ESMF_FieldGather() and ESMF_ArrayGather() are only expected to work on 2D grids with 2D data.
  • When ESMF_InternArray objects are created with a non-zero halo width, that width is added to all dimensions of the array, not only ones which correspond to the decomposed grid axes.
  • Overall, we have found that regridding using ESMF_InternArrayRegrid(), FieldRegrid(), and BundleRegrid() is not robust. We encourage customers interested in ESMF regridding to move to the ESMF_ArraySparseMatMul() approach while regrid methods are reworked.
  • The conservative regrid algorithm for full spheres, which includes special treatment of the poles, is largely untested and expected to produce errors.
  • The conservative regrid method for both regional and global grids produces incorrect results for PGI in MPIUNI mode.
  • The documentation for ESMF_GetAttribute() and ESMF_SetAttribute() calls for multi-valued list Attributes does not show a required integer input "count" argument after the "name" argument. If the "count" argument, which represents the number of Attribute values, is inserted the call will work.
  • ESMF_LOG_SINGLE is known to be broken. The symptoms are platform dependent and may appear non-deterministic.
  • On IRIX64 the exhaustive unit tests compiled against MPI will intermittently hang when run in uni-PET mode if the ESMF library was built with ESMF_PTHREADS=ON. This issue does not show up when running the MPI version in multi-PET mode or when using the MPIUNI version in uni-PET runs. The issue disappears when the ESMF library is compiled with ESMF_PTHREADS=OFF (which is the default for IRIX64).
  • On Cray X1, the conservative regrid method does not work when the grid is defined as a uniform horizontal LatLon grid with periodic longitude coordinate and the source and destination grid are of the same size.
  • On Cray XT3/XT4, the ESMF_VMBarrierUTest is incorrectly reported as failing. The origin of this problem seems to be a bug in Cray's implementation of MPI_Wtime(). This problem will also affect the validity of ESMF_VMWtime().
  • ESMF fails to build on Cray XT3/XT4 with PGI 6.2.5 with an internal compiler error.
  • On IBM AIX systems in 32-bit mode StateLimitUTest fails in uni-PET mode.
  • On x86_64 systems using the medium-memory model with PGI 6.2-3 or PathScale 2.4 ESMF_ArrayDataUTest.F90 will report two failures. These failures indicate a problem with the F90 dope vector and ESMF must be assumed unreliable under these conditions.
  • On IBM BlueGene/L, tests in ESMF_ClockUTest.F90 fail for ESMF_BOPT=O/g. Fails ESMF_VMSendVMRecvUTest.F90 in uni-PET mode.
  • On Linux Lahey, a test in ESMF_ArrayDataUTest.F90 fails with ESMF_BOPT=g.
  • All NAG compiler combinations we tested (on Linux as well as on Darwin) show random run-time failures when ESMF is compiled in optimized mode and also when user code that links with ESMF is compiled in optimized mode. Consequently ESMF sets ESMF_OPTLEVEL to 0 (zero) by default when compiling ESMF with NAG and we advise NAG users to not use optimization on user code that links against the ESMF library.
  • On the PGI 5.0-2 compiler with mpiuni, five regriding unit tests fail.
  • On the PGI 6.1-1 compiler with mpiuni, multiple unit tests, examples and 2 system tests fail.
  • Also see SourceForge bugs list.

ESMF_2_2_1

2/14/06

Reference Manual
(html) (pdf) 

User's Guide
(html) (pdf) 

Supported Platforms

  • List of ESMF interface changes since ESMF_2_2_0rp1
  • Changed the following in the ESMF_GridCompCreate() and ESMF_CplCompCreate() interfaces:
    • Added an interface with all optional arguments. In subsequent releases this may become the only supported interface.
    • We recommend that users call ESMF_xxxCompCreate() without specifying the parent VM. All tests, examples and demo codes have been modified to match the new convention.
    • If the parent VM is not specified the current VM is used as the parent VM (previously the global VM was used in this case).
  • Added support for high level MPMD. This makes xxxCompCreate() collective across all parent PETs and xxxCompSetServices() collective only across participating parent PETs.
  • Added a new blockingFlag for xxxCompInitialze(), xxxCompRun() and xxxCompFinalize() that eliminates some unnecessary synchronization points. This flag (ESMF_VASBLOCKING) is now the default.
  • The ESMF_StateReconcile() method no longer dumps core when the buffer size is exceeded. It returns an error message instead. (Please see the first item in the Known Bugs column.)
  • DELayout now issues warning if non 1-to-1 DELayouts or non logically rectangular DELayouts are created since most of the rest of the system does not handle these yet.
  • The Field and Bundle level redistribution communication calls have been rewritten. They now include 3+D data support and optimized communication calls for Bundles which contain Fields where the data arrays are congruent (same data type, same rank, etc).
  • Validate routines have been added for the Field and Bundle levels of the regrid, halo, and redistribution routines. If a hang or core dump appears to be associated with a call to the run routine for these operations, the route handle can be passed to a Validate routine which looks for inconsistencies and other problems.
  • Added full Fortran interface access to the non-blocking VM communications calls:
    • ESMF_VMSend()
    • ESMF_VMRecv()
    • ESMF_VMSendRecv()
    • ESMF_VMScatter()
    • ESMF_VMGather()
    • ESMF_VMReduce()
    • ESMF_VMAllGather()
    • ESMF_VMBroadcast()
  • Configuration attributes can be validated.
  • Configuration attributes can be checked for uniqueness. The "unique" argument in ESMF_ConfigLoadFile() now works.
  • Configuration files may contain logical attribute values.
  • LogErr no longer opens/closes logfile upon each write, enhancing performance.
  • The Log message length increased to 256 characters.
  • All Log messages (originating in either C++ or Fortran) go through Fortran for consistent, ordered output.
  • Time Manager defaults for any year, month, day calendar:
    • year = 0
    • month = 1
    • day =1
  • Improved regrid unit test structure to facilitate increasing test coverage.
  • Added system tests for MPMD (these are not automatically run by test scripts).
  • Added a unit test VMUserMpiInitUTest which checks that the user can explicitly call MPI_Init() before ESMF_Initialize().
  • Added unit tests for non-blocking VM communications.
  • Added support for the LSF batch queueing system on the AIX platform. (For NCAR computer users, this supports 'bluevista'.)
  • The files 'esmfuser.mk' and 'makefile.sample' in $ESMF_DIR/build replace the outdated 'link_rules.mk' files, showing how to link a user application with the ESMF library for any platform.
  • Added MPICH2 and IntelMPI support for Linux.intel.
  • The default linker front end on IRIX64 has been changed to CC, i.e. MIPSPro C++, for all ESMF applications. CC is now being used during link time regardless of the language in which the main program was written (Fortran90 or C++). In previous ESMF releases the f90 linker front end had been used to link applications on IRIX64 that provided the main program in Fortran. However, this led to problems during link time for applications that also contained C++ user code.
  • More documentation was added to the implementation notes part of the communication routines section.
  • Documented non-blocking features and limitations.
  • Added extensive new documentation on Grids and regridding.
  • Added reference documentation explaining that ESMF_CAL_NOCALENDAR does not track days, since the unit of a day is planet-specific.
  • The ESMF_StateReconcile() call, generally used by couplers dealing with concurrently running Components, has an internal size limit (which will be addressed in a subsequent release). There is no hard-coded limit to how many elements, i.e. States, Bundles, Fields, Arrays can be added to the State. However, there is a limit, roughly 20, on the maximum number of sub-elements contained by any element in the State passed into ESMF_StateReconcile().
  • ESMF_BundleGather(), ESMF_FieldGather() and ESMF_ArrayGather() are only expected to work on 2D grids with 2D data.
  • The conservative regrid algorithm for full spheres, which includes special treatment of the poles, is largely untested and expected to produce errors.
  • When ESMF_Array objects are created with a non-zero halo width, that width is added to all dimensions of the array, not only ones which correspond to the decomposed grid axes.
  • The C/C++ Component interface is broken, so the C++ examples have been removed from the makefiles for this release.
  • On AIX systems there is a problem in the XL Fortran compiler version 8.1.1.6, when compiling with the combination ESMF_PREC=64 and ESMF_BOPT=g. (Compiler version 8.1.1.4 works fine with all compile options, and ESMF_PREC=32 or ESMF_BOPT=O also work with either compiler version.)
  • On AIX the "ESMF_FlowWithCoupling" system test and the "ESMF_COUPLED_FLOW" demo fail intermittently.
  • On the Linux PGI 5.0-2 compiler the "ESMF_FlowWithCoupling" system test and the "ESMF_COUPLED_FLOW" demo fail to compile with -g, resulting in an internal compiler error. (PGI 5.2-4 works fine)
  • When compiling with Intel 8.1 and using MPICH, make sure the Intel/MPICH libraries are configured with: #define MPI2CPP_HAVE_BOOL 1 which may not be the default output from configure.
  • Main programs in C/C++ do not work with the PGI compiler.
  • On the Linux PGI compiler the followingunit tests fail:
    • ESMF_ArrayUTest.F90
    • ESMF_VMBarrierUTest.F90
  • On the Linux Lahey compiler the ESMF_VMSendNbVMRecvNbUTest.F90 unit test fails.
  • Support for the LSF batch queueing system on the AIX platform needs script not included in the release.
  • All NAG compiler combinations we tested (on Linux as well as on Darwin) show random run-time failures when ESMF is compiled in optimized mode and also whe n user code that links with ESMF is compiled in optimized mode. We advise NAG users to set environment variable ESMF_OPTLEVEL to 0 (zero) when compiling ESMF a nd to not use optimization on user code that links against the ESMF library.
  • Also see SourceForge bugs list.

ESMF_2_2_0rp1

11/04/05

Reference Manual
(html) (pdf)

User's Guide
(html) (pdf)

Supported Platforms

  • Fixed a bug in ESMF_StateReconcile() that caused memory corruption for objects containing attributes.
  • Modified an ESMF_StateReconcile() unit test to catch the bug described above.
  • Increased the size of the buffer used by ESMF_StateReconcile(), which caused a core dump if the buffer size was exceeded (this needs a better solution, but the patch will work for many users).
  • Removed all references to netcdf calls when ESMF_NO_IOCODE is set to true (due to conflicts between ESMF netcdf calls and user versions of the netcdf library)./li>
  • Fixed and documented an issue with MPICH that caused the working directory to be changed during the ESMF_Initialize() call. Now the API description of ESMF_Initialize() contains a paragraph discussing its dependency on MPI_Init() and the consequences thereof.
  • Added support for Intel 9.0 compilers on IA32 and IA64.
  • Same as release ESMF_2_2_0r with the exception of the ESMF_StateReconcile() bug.
  • Also see SourceForge bugs list.

ESMF_2_2_0r

07/13/05

Reference Manual
(html) (pdf)

User's Guide
(html) (pdf)

Supported Platforms

  • List of ESMF interface changes since ESMF_2_1_1.
  • Fixed the following known bugs from previous releases:
    • Calling the redistribution and halo functions from a parent, coupler, or higher level Component fails on ESMF_Fields created in a child Component if that child is running on only a subset of the caller Component's PETs. This is the case, for example, when child Components are running concurrently.
    • Fixed the issue in the first-order conservative regrid sweep algorithm that calculated correct results but was inefficient.
  • Renamed dePetList argument in ESMF_DELayoutCreate() to petList to be more consistent with rest of the framework. Added more helpful comments describing the function of the petList argument.
  • Eliminated a bug in the VM setup which caused the sequence of PETs in the petList argument to ESMF_XXXCompCreate() to be ignored. Now the PETs of the child Component map to the parent PETs as is expected according to the petList sequence.
  • The initial phases of new code needed to optimize ESMF_Bundle level communication code have been added. An ESMF_Bundle which contains identically structured ESMF_Fields will only compute a single Route table and apply it to all ESMF_Fields. Later releases will include more optimizations inside the communication code itself.
  • The Log HALT_ON_ERROR function is now implemented.
  • In the Time Manager, ESMF_Clocks and ESMF_Alarms can now be run in reverse via a new optional ESMF_Direction type argument, which can have the values ESMF_MODE_REVERSE or ESMF_MODE_FORWARD in ESMF_ClockSet()/Get(). Forward mode is the default.
  • In the source tree, the Base directory was split into Base and Util, with utility routines which are not directly part of the Base class moved into the Util directory.
  • The default pointer size on Linux systems is now automatically determined using the output of the 'uname' command. 64-bit hardware defaults to ESMF_PREC 64, 32-bit hardware defaults to ESMF_PREC 32.
  • The ESMF_StateReconcile() call, generally used by couplers dealing with concurrently running Components, has an internal size limit (which will be addressed in a subsequent release). There is no hard-coded limit to how many elements, i.e. States, Bundles, Fields, Arrays can be added to the State. However, there is a limit, roughly 2, on the maximum number of sub-elements contained by any element in the State passed into ESMF_StateReconcile(). ESMF_StateReconcile() causes a core dump inthe buffer size is exceeded.
  • Calling ESMF_StateReconcile() for objects with attributes causes memory corruption.
  • The conservative regrid algorithm for full spheres, which includes special treatment of the poles, is largely untested and expected to produce errors.
  • When ESMF_Array objects are created with a non-zero halo width, that width is added to all dimensions of the array, not only ones which correspond to the decomposed grid axes.
  • The following Time Manager calendar conversions do not work: Gregorian <--> NoLeap <--> 360  Day.
  • Main programs in C/C++ do not work with the PGI compiler.
  • The ESMF_Bundle halo and redist functions must be called with ESMF_Bundles which contain identical ESMF_Field data types, rank, shape, and relative locations. Any other type of ESMF_Bundle will return with an ESMF_RC_NOT_IMPL error.
  • ESMF_BundleGather(), ESMF_FieldGather() and ESMF_ArrayGather() are only expected to work on 2D grids with 2D data.
  • On the Cray X1:
    • The __LINE__ macro does not work in F90; "line 8" is always printed from methods such as ESMF_Test();
    • The ESMF_RowReduce system test, ESMF_LogErrEx.F90 and ESMFVMAllFullReduceEx.F90 examples and several unit tests fail.
  • On IRIX64:
    • The ESMF_LogErrUTest.F90 unit tests fail due to a difference in log file format as described in Sourceforge bug 1172026;
    • The ESMF_LogErrUTest.F90 crashes when attempting to read a log file in Fortran that was created in C as described in Sourceforge bug 1212893.
  • All NAG compiler combinations we tested (on Linux as well as on Darwin) show random run-time failures when ESMF is compiled in optimized mode and also when user code that links with ESMF is compiled in optimized mode. We advise NAG users to set environment variable ESMF_OPTLEVEL to 0 (zero) when compiling ESMF and to not use optimization on user code that links against the ESMF library.
  • On Darwin XLF compiler:
    • ESMF_FieldRegridMulti system test fails with ESMF_COMM=mpiuni;
    • Several examples fail with ESMF_COMM=lam and ESMF_BOPT=g;
    • ESMF_BundleCommUTest.F90 unit test fails with ESMF_BOPT=g and ESMF_COMM=mpiuni.
  • On AIX systems there is a problem in the XL Fortran compiler version 8.1.1.6, when compiling with the combination ESMF_PREC=64 and ESMF_BOPT=g. (Compiler version 8.1.1.4 works fine with all compile options, and ESMF_PREC=32 or ESMF_BOPT=O also work with either compiler version.)
  • When compiling with Intel 8.1 and using MPICH, make sure the Intel/MPICH libraries are configured with:
    #define MPI2CPP_HAVE_BOOL 1
    which may not be the default output from configure.
  • Also see SourceForge bugs list.

ESMF_2_1_1

05/27/05

Reference Manual
(html) (pdf)

User's Guide
(html) (pdf)

Supported Platforms

  • List of ESMF interface changes since ESMF_2_1_0rp3
  • More error checking added to the State routines.
  • Added the Abort option on ESMF_Finalize().
  • Fixed two regrid bugs for globally-indexed Fields:
    • Appeared in the bilinear regridding around domain edges on any processor except PE 0.
    • Appeared for 3D fields where the non-grid related index did not have a lower bound of one, for any regridding algorithm.
  • Additional regrid unit tests added.
  • ESMF_BundleRedistStore(), ESMF_FieldRedistStore() and ESMF_ArrayRedistStore() routines take a VMinstead of a DELayout.
  • Optional argument to select internal route data-packing and asychronous settings added to the ESMF_BundleRedistStore(), ESMF_FieldRedistStore() and ESMF_ArrayRedistStore() routines.
  • Halowidth removed from the ESMF_FieldCreate() calls where an already-created array is specified, which already contains halo information.
  • ESMF_VMAllGather() routine added.
  • Added option to create child Components which share the parent's VM.
  • Julian calendar added to Time Manager.
  • Added ESMF_CalendarIsLeapYear() and ESMF_TimeIsLeapYear() methods.
  • Additional internal packing options added to support different memory/ communication overhead ratios on different hardware platforms.
  • Extensive makefile and build system updates, including 64-bit PGI support, user-contributed g95 support, support for mpich on OSF (HP), updated make targets, and updated README's and User's Guide content.
  • It is now possible to compile ESMF withoutPthread dependency. If the environment variable ESMF_PTHREADS is set to OFF all Pthread dependent features of ESMF will be disabled. This can be used to simplify debugging and on systems that don't provide a functioning Pthread library. (This is different from the pthread-less default VM that was introduced in 2.1.0rp2!)
  • Compile-time options in system tests to run with threading enabled.
  • Output of unit and systems tests now go through the ESMF_Log facility, allowing multiprocessor test output to be cleanly collated.
  • Updated output scripts for results of unit and system tests.
  • More complete compiler and flag information printed for the output of 'gmake info'.
  • Site files need now only contain differences, not entire copies of the default makefiles.
  • Makefile target changes:
    • The previous default target was named 'all' but it only built libesmf. The current default target is named 'lib' and does the same thing. The new target 'all' builds the library and all the examples, tests, and demos.
    • The previous targets which were just 'tests' (e.g. build_tests) are now more specific: build_unit_tests, etc. There are new targets which are 'all_tests' to build everything.
    • Complete makefile target documentation may be found in the ESMF top level README file and in the User's Guide (subsection 6.2.3).
  • Added reference documentation about negative timesteps (as currently implemented, which is different from the upcoming reverse mode).
  • Expanded and updated the reference document bibliography, with citations.
  • The ESMF_StateReconcile() call, generally used by couplers dealing with concurrently running Components, has an internal size limit (which will be addressed in a subsequent release). There is no hard-coded limit to how many elements, i.e. States, Bundles, Fields, Arrays can be added to the State. However, there is a limit, roughly 2, on the maximum number of sub-elements contained by any element in the State passed into ESMF_StateReconcile(). ESMF_StateReconcile() causes a core dump if the buffer size is exceeded.
  • Calling ESMF_StateReconcile() for objects with attributes causes memory corruption.
  • Calling the redistribution and halo functions from a parent, coupler, or higher level Component fails on ESMF_Fields created in a child Component if that child is running on only a subset of the caller Component's PETs. This is the case, for example, when child Components are running concurrently. ESMF_FieldRegrid() does work correctly in this situation. Redistribution and halo functions work correctly when called from a child Component on ESMF_Fields created in that child Component.
  • The Log function "Halt on Error" has not been implemented, so we expect an error from the unit test ESMF_LogErrHaltUTest.F90 on all platforms. Log message is: FAILED, ESMF_LogErrHaltUTest.F90, line 96. The Halt on Error test failed.
  • The conservative regrid algorithm for full spheres, which includes special treatment of the poles, is largely untested and expected to produce errors. There is also some logic that is not correctly handling the situation where the physical domains of two Grids are slightly offset.  It does not result in errors or incorrect results but can be very inefficient.
  • ESMF_BundleGather(), ESMF_FieldGather() and ESMF_ArrayGather() are only expected to work on 2D grids with 2D data.
  • When ESMF_Array objects are created with a non-zero halo width, that width is added to all dimensions of the array, not only ones which correspond to the decomposed grid axes.
  • The following Time Manager calendar conversions do not work: Gregorian <--> NoLeap <--> 360  Day.
  • On several platforms examples with a main in C/C++ do not link.These include Linux/Lahey, Linux/Absoft, Linux/PGI with mpiuni, and OSF1 (halem).
  • The operating system and all compilers on the Cray X1 at Ames were updated this week. There are problems running with the updated system; to run on the X1 follow the instructions for reverting back to the original environment, or contact us for help in running with the latest system.
  • The default compiler on the Compaq (halem), Fortran  551J, is compatible with this release. Fortran 551L core dumps when running system tests.
  • On AIX systems there is a problem in the XL Fortran compiler version 8.1.1.6, when compiling with the combination ESMF_PREC=64 and ESMF_BOPT=g. (Compiler version 8.1.1.4 works fine with all compile options, and ESMF_PREC=32 or ESMF_BOPT=O also work with either compiler version.)
  • When compiling with Intel 8.1 and using MPICH, make sure the Intel/MPICH libraries are configured with:
    #define MPI2CPP_HAVE_BOOL 1
    which may not be the default output from configure.
  • On the Cray X1, the __LINE__ macro does not work in F90; "line 8" is always printed from methods such as ESMF_Test().
  • The ESMF_VMAllFullReduceEx.F90 example fails on the Cray X1.
  • On the SGI IRIX64 with ESMF_PREC=32, all system tests pass but hang up with ESMF_PREC=64.
  • The ESMF_LogErrUTest.F90 unit tests fail on IRIX64 due to a difference in log file format as described in Sourceforge bug 1172026.
  • The ESMF_VMBarrierUTest.F90 unit test fails on Linux/NAG, Linux/Intel, Linux/PGI and Linux/Lahey platforms.
  • Also see SourceForge bugs list.

ESMF_2_0_0rp3

5/6/05

Reference Manual
(html) (pdf)

User's Guide
(html) (pdf)

  • The following Regrid known bugs from the previous release have been fixed:
    • ESMF regrid functions operate only on R8 data. (It now operates on R4 and R8 data.)
    • ESMF regrid functions do not operate correctly on data with non-zero halo widths. 
    • Some regrid results may show some "banding" when regridding between decompositions where processor domains overlap only slightly.
  • Same as known bugs for ESMF_2_0_0rp2 excluding those listed in the Release Notes column.
  • Also see SourceForge bugs list.

ESMF_2_1_0rp3

05/19/05


Reference Manual
(html) (pdf)

User's Guide
(html) (pdf)

Supported Platforms

  • Fixed the known bug listed in release ESMF_2_1_0rp2:
    • Banding problem in bilinear regridding, at the bottom or left boundaries of some destination DEs (those bounding other DEs and not at domain edges in those directions), in regridding decompositions except R-to-C or C-to-R and under certain coordinate overlay circumstances.
  • Added unit tests to test more Regrid combinations and to verify that the above bug has been fixed.
  • Same as release ESMF_2_1_0rp2 with the exception of the bilinear regridding banding problem.
  • Also see SourceForge bugs list.

ESMF_2_1_0rp2

03/11/05

Reference Manual
(html (pdf)

User's Guide
(html) (pdf)

  • Pthread-less default VM, i.e. the VMs of newly created Components will by default run without the use of threads.
  • Extended the command line argument code to correctly set options for ps(1) of BSD derived OSs, e.g. Darwin.
  • Fixed a problem with ESMF_StateReconcile() that would overwrite memory depending on the DELayout type. Sometimes no symptoms were evident and other times it would core dump. When the problem occurred, system test ESMF_FieldExcl would fail intermittently on the Linux platforms.
  • The performance for the redistribution function with arbitrarily distributed grids has been optimized.
  • The makefiles have been updated to support PGI 5.x, Absoft 9.x and NAG 5.x on Linux clusters.
  • Modified the command line Perl scripts so that now the number of passes and failures are printed as the last line of the script output instead of the first line.
  • Fixed bug in unit tests that falsely indicated that they were failing by relabeling tests that were mislabeled as non-exhaustive but were actually exhaustive. This problem occurred on all platforms. The following unit tests failed when run as non-exhaustive multi-processor:
    • ESMF_FRoute4UTest.F90
    • ESMF_FRoute8UTest.F90
    • ESMF_RegridUTest.F90
    • ESMF_TimeUTest.F90
  • The ESMF_StateReconcile() call, generally used by couplers dealing with concurrently running Components, has an internal size limit (which will be addressed in a subsequent release). There is no hard-coded limit to how many elements, i.e. States, Bundles, Fields, Arrays can be added to the State. However, there is a limit, roughly 2, on the maximum number of sub-elements contained by any element in the State passed into ESMF_StateReconcile(). ESMF_StateReconcile() causes a core dump if the buffer size is exceeded.
  • Calling ESMF_StateReconcile() for objects with attributes causes memory corruption.
  • Calling the redistribution and halo functions from a parent, coupler, or higher level Component fails on ESMF_Fields created in a child Component if that child is running on only a subset of the caller Component's PETs. This is the case, for example, when child Components are running concurrently. ESMF_FieldRegrid() does work correctly in this situation. Redistribution and halo functions work correctly when called from a child Component on ESMF_Fields created in that child Component.
  • Banding problem in bilinear regridding, at the bottom or left boundaries of some destination D Es (those bounding other DEs and not at domain edges in those directions), in regridding decompositions except R-to-C or C-to-R and under certain coordinate overlay circumstances.
  • ESMF_HaltType settings ESMF_LOG_HALTWARNING and ESMF_LOG_HALTERROR do not actually halt the code.
  • The default compiler on the Compaq (halem), Fortran 551J, is compatible with this release. Fortran 551L core dumps when running system tests.
  • ESMF_BundleGather(), ESMF_FieldGather() and ESMF_ArrayGather() are only expected to work on 2D grids with 2D data.
  • When ESMF_Array objects are created with a non-zero halo width, that width is added to all dimensions of the array, not only ones which correspond to the decomposed grid axes.
  • On AIX systems there is a problem in the XL Fortran compiler version 8.1.1.6, when compiling with the combination ESMF_PREC=64 and ESMF_BOPT=g. (Compiler version 8.1.1.4 works fine with all compile options, and ESMF_PREC=32 or ESMF_BOPT=O also work with either compiler version.)
  • When compiling with Intel 8.1 and using MPICH, make sure the Intel/MPICH libraries are configured with:
    #define MPI2CPP_HAVE_BOOL 1
    which may not be the default output from configure.
  • Main programs in C/C++ do not work with the PGI compiler.
  • On the Cray X1, the __LINE__ macro does not work in F90; "line 8" is always printed from methods such as ESMF_Test().
  • The following Time Manager calendar conversions do not work: Gregorian <--> NoLeap <--> 360 Day.
  • On the Darwin XLF compiler:
    • Example ESMF_LogErrEx.F90 fails.
    • System test, ESMF_FieldRegridMulti uni fails with ESMF_BOPT=O and ESMF_COMM=mpiuni.
    • Several examples fail with ESMF_BOPT=g and ESMF_COMM=lam.
  • On the Linux PGI Compiler, 9 examples fail with ESMF_BOPT=g.
  • Also see SourceForge bugs list.

ESMF_2_1_0rp1

02/11/05


Reference Manual
(html) (pdf)

User's Guide
(html) (pdf)

  • Concurrent Components run on the Altix and most Linux platforms now. Check the specific compiler release notes for any restrictions on supported compiler versions.
  • The Intel makefiles have been updated to support more compile-time configuration options.
  • A makefile target for running the demo uniprocessor was added (useful, for example, when ESMF is compiled with the mpiuni bypass libs.)  It is: ESMF_COUPLED_FLOW_uni
  • The output when building and running the unit tests, the examples, and the system tests has been improved.
  • Better defaults have been added to several Log interfaces, so the operations happen on the default Log if no user Log is specified.
  • Fixed problem that existed on halem linking applications with C main.
  • Added better diagnostic for when pthread_create fails because of limit settings.
  • Fixed an issue creating a Field from an allocated Fortran array.
  • Fixed the following Time Manager bugs:
    • Bug #1101904, "Disable stopTime to make clock run forever."
    • Bug #1113438, "getting dayOfYear should impose day boundary for getting hrs."
    • Bug #1118178, "ESMF_TimeGet returns string with %lld not %04lld."
  • The ESMF_StateReconcile() call, generally used by couplers dealing with concurrently running Components, has an internal size limit (which will be addressed in a subsequent release). There is no hard-coded limit to how many elements, i.e. States, Bundles, Fields, Arrays can be added to the State. However, there is a limit, roughly 2, on the maximum number of sub-elements contained by any element in the State passed into ESMF_StateReconcile(). ESMF_StateReconcile() causes a core dump if the buffer size is exceeded.
  • Calling ESMF_StateReconcile() for objects with attributes causes memory corruption.
  • Calling the redistribution and halo functions from a parent, coupler, or higher level Component fails on ESMF_Fields created in a child Component if that child is running on only a subset of the caller Component's PETs.  This is the case, for example, when child Components are running concurrently.  ESMF_FieldRegrid() does work correctly in this situation.  Redistribution and halo functions work correctly when called from a child Component on ESMF_Fields created in that child Component.
  • The default compiler on the Compaq (halem), Fortran  551J, is compatible with this release. Fortran 551L core dumps when running system tests.
  • ESMF_BundleGather(), ESMF_FieldGather() and ESMF_ArrayGather() are only expected to work on 2D grids with 2D data.
  • When ESMF_Array objects are created with a non-zero halo width, that width is added to all dimensions of the array, not only ones which correspond to the decomposed grid axes.
  • On AIX systems there is a problem in the XL Fortran compiler version 8.1.1.6, when compiling with the combination ESMF_PREC=64 and ESMF_BOPT=g. (Compiler version 8.1.1.4 works fine with all compile options, and ESMF_PREC=32 or ESMF_BOPT=O also work with either compiler version.)
  • When compiling with Intel 8.1 and using MPICH, make sure the Intel/MPICH libraries are configured with:
     #define MPI2CPP_HAVE_BOOL 1
     which may not be the default output from configure.
  • Main programs in C/C++ do not work with the PGI compiler.
  • The ESMF_StateReconcile() call does not work with the Lahey compiler.  The ESMF_FieldExcl system test uses this call, so it will not work either.
  • On the Cray X1, the __LINE__ macro does not work in F90; "line 8" is always printed from methods such as ESMF_Test().
  • The ESMF_VMGetMPICommunicatorEx example fails on the Linux/intel 64-bit build.
  • The ESMF_StateUTest test fails on the Linux/PGI build.
  • The ESMF_StateEx example fails on the Linux/PGI build.
  • Several of the examples fail on the Mac OS X/xlf build.
  • The ESMF_StateUTest fails 2 tests on the Linux/absoft build
  • The following Time Manager calendar conversions do not work: Gregorian <--> NoLeap <--> 360  Day
  • Also see SourceForge bugs list.

ESMF_2_1_0r

01/14/05

Reference Manual
(html) (pdf)

User's Guide
(html) (pdf)

  • Concurrent Component support has been added.  Component initialize, run, and finalize routines can be called with a flag which causes control to return immediately to the calling Component which can then start other Components in parallel.  Concurrency features are not yet operating correctly on Linux and Altix platforms (see Known Bugs).
  • Components can be created and run on a subset of the parent's Persistent Execution Threads, PETs. An ESMF_StateReconcile() call was added so that a parent Component can ensure that child Components who will be communicating each have all the State information that they need, even if Fields were not originally declared on both children.
  • Support for arbitrarily distributed grids and their redistribution to and from grids with block decompositions has been added.  This is currently very slow.
  • The issue with regrid that occasionally caused banding has been fixed.
  • The issue with regrid that occasionally returned NaNs on spherical coordinate systems has been fixed.
  • The issue with halo for periodic boundaries on non-decomposed axes has been fixed.
  • Problems with Route on PET counts that are not powers of 2 were fixed, and Route now works correctly for any PET count.
  • Some Field level communication routines now take a VM, not a DELayout.
  • Redist and regrid use asynchronous communications internally.
  • Support for concurrent Components has been activated in the VM.
  • Overhead when entering/exiting VM contexts has been reduced.
  • Conflicts between VM and MPICH's devices due to POSIX signal overlaps have been resolved.
  • New VM now works reliably with old, non-posix compliant (pre-NPTL) LinuxThreads, as well as POSIX compliant threads.
  • Internally added non-blocking communications to the VM to enhance RouteRun performance.
  • Several of the communication calls in the VM API have been overloaded to accept data of type 'ESMF_Logical' and 'Character'.
  • A new method ESMF_VMGetCurrent() has been added which can be used anywhere from within an ESMF application to obtain the current VM context without the need to provide any input information.
  • Component wait can now be called even on not currently running Components, in which case it will return immediately.
  • Buffering support has been added to LogErr. Writes to a Log now go through an adjustable buffer to improve performance.
  • Every entry in a Log now has the PET number prepended to the entry.
  • Multilog support has been added to LogErr. When the multilog option is set during Log initialization, separate Log files are created for the output from each PET.
  • Units of fractional seconds (specified with integers) are now supported within ESMF_Time and ESMF_TimeInterval.  The shortcut arguments ms, us, and ns (millisecond, microsecond, nanosecond) for Set()/Get() methods can be used as well as the more general arguments sN and sD (numerator, denominator).  Fractional seconds in Times and Time Intervals may fully participate in Clock, Alarm and Calendar objects and methods.  They also are fully functional within arithmetic (integer based) and comparison operations.
  • The following Time Manager bugs/enhancements have been fixed/done:
    • The Alarm limit per Clock is now dynamic in increments of 200.
    • ESMF_ClockPrint()/ESMF_TimePrint() now correctly adjusts for leap years.
    • The implicit day boundary in ESMF_TimeGet() has changed to a user-supplied boundary (fixed bug 1099731).
    • An Alarm will now ring immediately if its ring time is set equal to the Clock start time.
    • Can now drive No-Leap and 360-Day calendar-based times with seconds only.
    • Direct errors are now generated when dd < 1 or mm < 1 in ESMF_TimeSet().
    • Can now call ESMF_TimeSet() with only the dd argument; yy defaults to 0 and mm defaults to 1.
    • ESMF_ClockValidate() now works correctly after the end of an ESMF_ClockAdvance() loop.
  • The ESMF_StateReconcile() call, generally used by couplers dealing with concurrently running Components, has an internal size limit (which will be addressed in a subsequent release). There is no hard-coded limit to how many elements, i.e. States, Bundles, Fields, Arrays can be added to the State. However, there is a limit, roughly 2, on the maximum number of sub-elements contained by any element in the State passed into ESMF_StateReconcile(). ESMF_StateReconcile() causes a core dump if the buffer size is exceeded.
  • Calling ESMF_StateReconcile() for objects with attributes causes memory corruption.
  • Calling the redistribution and halo functions from a parent, coupler, or higher level Component fails on ESMF_Fields created in a child Component if that child is running on only a subset of the caller Component's PETs.  This is the case, for example, when child Components are running concurrently.  ESMF_FieldRegrid() does work correctly in this situation.  Redistribution and halo functions work correctly when called from a child Component on ESMF_Fields created in that child Component.
  • The default compiler on the Compaq (halem), Fortran  551J, is compatible with this release. Fortran 551L core dumps when running system tests.
  • ESMF_BundleGather(), ESMF_FieldGather() and ESMF_ArrayGather() are only expected to work on 2D grids with 2D data.
  • When ESMF_Array objects are created with a non-zero halo width, that width is added to all dimensions of the array, not only ones which correspond to the decomposed grid axes.
  • On AIX systems there is a problem in the XL Fortran compiler version 8.1.1.6, when compiling with the combination ESMF_PREC=64 and ESMF_BOPT=g. (Compiler version 8.1.1.4 works fine with all compile options, and ESMF_PREC=32 or ESMF_BOPT=O also work with either compiler version.)
  • When compiling with Intel 8.1 and using MPICH, make sure the Intel/MPICH libraries are configured with:
     #define MPI2CPP_HAVE_BOOL 1
     which may not be the default output from configure.
  • Main programs in C/C++ do not work with the PGI compiler.
  • The ESMF_StateReconcile() call does not work on the Linux and Altix builds of ESMF.  The ESMF_FieldExcl system test uses this call, so it will not work on these platforms either.
  • On the Cray X1, the __LINE__ macro does not work in F90; "line 8" is always printed from methods such as ESMF_Test().
  • The ESMF_VMGetMPICommunicatorEx example fails on the Linux/intel 64-bit build.
  • The ESMF_StateUTest test fails on the Linux/PGI build.
  • The ESMF_StateEx example fails on the Linux/PGI build.
  • Several of the examples fail on the Mac OS X/xlf build.
  • The ESMF_StateUTest fails 2 tests on the Linux/absoft build.
  • Also see SourceForge bugs list.

ESMF_2_0_1

9/24/04

ReferenceManual
(html) (pdf)

User's Guide
(html) (pdf)

  • ESMF_ArrayGather() now works even when the individual Arrays aren't identical sizes. This also fixes problems with ESMF_ArrayWrite()/ESMF_FieldWrite().
  • Array object now sets halo width correctly (bug 995309).
  • ESMF_FieldSetDataPointer() routine fixed to correctly create an Array.
  • ESMF_FieldWrite() supports R8 data.
  • Bundle level communication routines added (loops over Fields).
  • Bundles now validate that the Grids match, and contain more error checking.
  • The src/Infrastructure/IO/src files no longer require preprocessing.
  • Regrid supports R4 data.
  • Regrid code now correctly handles Fields with non-zero halo widths.
  • LogError now buffers messages internally before flushing them to a file, and has updated documentation.
  • Config no longer triggers errors from Fortran OPEN() when the file has read-only file permissions.
  • Time manager bugs fixed:
    • Bug 1014766 fixed; "dayOfYear always returns 1."  (also fixed similar bug in dayOfWeek).
    • The maximum number of alarms per clock has been increased to 200, from 100 previously.
    • Bug 996229 fixed; "Non-sticky alarms not functioning properly".
  • Build and test fixes:
    • ESMF_BUILD fixed for building files in a different directory from the source.
    • Automated nightly unit tests now run multiprocessor on some platforms.
  • Documents now build without having to compile the library first.
  • More documentation added for Grid and Regrid functions.
  • The default compiler on the Compaq (halem), Fortran  551J, is compatible with this release. Fortran 551L core dumps when running system tests.
  • ESMF_BundleGather(), ESMF_FieldGather() and ESMF_ArrayGather() are only expected to work on 2D grids with 2D data.
  • When ESMF_Array objects are created with a non-zero halo width, that width is added to all dimensions of the array, not only ones which correspond to the decomposed grid axes.
  • This release returns an internal compile error with the PGI/Linux compiler and ESMF_BOPT=g. It builds successfully with ESMF_BOPT=O.
  • There are known problems running with -O on Mac OS X compiling with absoft and running with lam mpi.  The workaround is to compile with ESMF_BOPT=g.
  • On AIX systems there is a problem in the XL Fortran compiler version 8.1.1.6, when compiling with the exact combination ESMF_PREC=64 and ESMF_BOPT=g. (Compiler version 8.1.1.4 works fine with all compile options, and ESMF_PREC=32 or ESMF_BOPT=O also work with either compiler version.)
  •  When compiling with Intel 8.1 and using MPICH, make sure the Intel/MPICH libraries are configured with:
    #define MPI2CPP_HAVE_BOOL 1
    which may not be the default output from configure.
  • Main programs in C/C++ do not work with the PGI compiler.
  • Routes will only work on PET counts that are powers of 2.
  • Some regrid results may show "banding" when regridding between decompositions where processor domains overlap only slightly.
  • Halo does not work correctly for periodic boundaries on non-decomposed axes.
  • Also see SourceForge bugs list.

ESMF_2_0_0rp2

7/26/04

Reference Manual
(html) (pdf)

User's Guide
(html) (pdf)

  • All AddAttribute() routines have been renamed SetAttribute() to address problems with method semantics.
  • Support has been added for attribute types of I4, I8 and R4, R8, both single values and lists.
  • Support has been added for setting and getting attributes on Grid objects.
  • Two bugs have been fixed in the VM code:
    • On some MPICH environments VM ran with only one PET, regardless of the number specified on the mpirun command line.
    • Segmentation faults when using MPICH's P4 device.
  • The following TimeMgr bugs have been fixed:
    • The 20 TimeInterval unit test failures under the PGI compile caused by PGI's peculiarity on passing missing F90 optional args, as well as inconsistent F90 local variable initializer behavior.
    • Erroneous LogErr messages caused by a lack of F95 derived-type initializers on all platforms.
  • Main programs in C/C++ do not work with the PGI compiler.
  • All the system tests pass running single processor except ESMF_FieldRedist() with the lahey compiler and ESMF_BOPT=O.
  • When ESMF_Array objects are created with a non-zero halo width, that width is added to all dimensions of the array, not only ones which correspond to the decomposed grid axes.
  • ESMF regrid functions operate only on R8 data. 
  • ESMF regrid functions do not operate correctly on data with non-zero halo widths.
  • ESMF_BundleGather(), ESMF_FieldGather() and ESMF_ArrayGather() are only expected to work on 2D grids with 2D data.
  • ESMF_FieldCreate() does not do sufficient error checking when given an already-existing ESMF_Array or allocated Fortran array pointer. Please see the examples in the Field directory.
  • Non-sticky alarms in Time Manager are not functioning properly.
  • ESMF_FieldGather() and ESMF_ArrayGather() only work correctly for evenly decomposed Grids.
  • When compiling with Intel 8.1 and using MPICH, make sure the Intel/MPICH libraries are configured with:
    #define MPI2CPP_HAVE_BOOL 1
    which may not be the default output from configure.
  • Routes will only work on processor counts that are powers of 2.
  • Some regrid results may show some "banding" when regridding between decompositions where processor domains overlap only slightly.
  • Halo does not work correctly for periodic boundaries on non-decomposed axes.
  • Also see SourceForge bugs list.

ESMF_2_0_0rp1

6/30/04

Reference Manual
(html) (pdf)

User's Guide
(html) (pdf)

  • Added Mac xlf build.

ESMF_2_0_0r

6/23/04

Reference Manual
(html) (pdf)

User's Guide
(html) (pdf)

  • Reference Manual and User's Guide reviewed and cleaned up.
  • ESMF_FieldWrite() working.
  •  
  • Main programs in C do not work with the PGI compiler.
  • All the system tests pass running single processor except ESMF_FieldRedist() with the lahey compiler and ESMF_BOPT=O.
  • When ESMF_Array objects are created with a non-zero haloWidth, that width is added to all dimensions of the array, not only ones which correspond to the decomposed grid axes.
  • ESMF regrid functions operate only on R8 data. 
  • ESMF regrid functions do not operate correctly on data with non-zero halo widths.
  • ESMF_BundleGather(), ESMF_FieldGather() and ESMF_ArrayGather() are only expected to work on 2D grids with 2D data.
  • ESMF_FieldCreate() does not do sufficient error checking when given an already-existing ESMF_Array or allocated Fortran array pointer. Please see the examples in the Field directory.
  • Problems with the VM:
    • On some MPICH environments VM ran with only one PET, regardless of the number specified on the mpirun command line.
    • Segmentation faults when using MPICH's P4 device.
  • Time Manager bugs:
    • Non-sticky alarms in Time Manager are not functioning properly.
  • ESMF_FieldGather() and ESMF_ArrayGather() only work correctly for evenly decomposed Grids.
  • Also see SourceForge bugs list.

 

 

Last Update: Feb. 24, 2015, 10:20 a.m. by deleted user