All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fixed GEOSpyD module on GMAO Desktops
- Update to Baselibs 8.9.0
- ESMF 8.8.0
- NCO 5.3.1
- CDO 2.5.0
- curl 8.11.1
- Add support for flang-new
- Turn off ESMPy building. It's not working and maybe we don't want to build from source anyway as it's easier through mamba
- Update to MPT 2.30 Baselibs at NAS. This is due to NAS updating the
mpi-hpe/mpt
module tompi-hpe/mpt.2.30
. While this does not break GEOS, CMake throws more errors due to differences in MPT that built Baselibs vs MPT that would build GEOS.
- Make
g5_modules
executable again
- Update to Baselibs 8.7.0
- ESMF 8.7.0
- FMS 2024.03
- HDF5 1.14.5
- curl 8.10.1
- NCO 5.2.8
- CDO 2.4.4
- GSL 2.8
- jpeg 9f
- Various build fixes
- Move to non-Anaconda GEOSpyD
- Just do not append Baselibs
LD_LIBRARY_PATH
at NAS. Seems to breakparallel_build.csh
- Updated the default processors for
parallel_build.csh
to Milan at NCCS and Rome at NAS
- Fix issue between
g5_modules
and csh at NAS- Changed order when setting
LD_LIBRARY_PATH
to avoid issues with csh and tclsh
- Changed order when setting
- Update to Baselibs 8.5.0
- GFE v1.16.0
- gFTL v1.14.0
- gFTL-shared v1.9.0
- fArgParse v1.8.0
- pFUnit v4.10.0
- yaFyaml v1.4.0
- GFE v1.16.0
- Update to Baselibs 8.4.0
- Restore FMS build (was erroneously removed in 8.2.0)
- Fixes for MPT and using icx/icpx at NAS
- Move to use Intel ifort 2021.13 on SLES 15 at NCCS, at NAS, and on GMAO Desktops
- Update to Baselibs 8.3.1
- ESMF 8.6.1
- FMS 2024.01.02
- curl 8.8.0
- NCO 5.2.6
- Various make system updates for other compilers and machines
- Move to use Intel ifort 2021.12 on SLES 15 at NCCS, at NAS, and on GMAO Desktops
- Update to GEOSpyD Min24.0.0 for Python3
- Update to Baselibs 8.0.2
- Has FMS 2024.01 and libyaml 0.2.5
- Move to use Intel MPI 2021.12 on SLES 15 at NCCS
- Add support for Milan processors at NAS
- Added yaml linter
- Update to Baselibs 7.24.0
- ESMF v8.6.1b04
- NCO 5.2.4
- curl 8.7.1
- Removed udunits2_fortran and FLAP (no longer needed)
- Move back to Open MPI 4 on SLES15 at NCCS
- Testing showed crashes at C360 and under various other circumstances
- Update to Baselibs 7.23.0
- Reverted to HDF5 1.10.11 (odd issues on NCCS machines with HDF5 1.14, investigating)
- GFE v1.15.0
- gFTL v1.13.0
- gFTL-shared v1.8.0
- fArgParse v1.7.0
- pFUnit v4.9.0
- yaFyaml v1.3.0
- pFlogger v1.14.0
- NCO 5.2.2
- Various other updates
- Move to use Open MPI 5 by default on SLES15 at NCCS
- Testing on GMAO Desktops showed that
LD_LIBRARY_PATH
could not be altered byg5_modules
. So this is disabled on GMAO Desktops
- Move to use GEOSpyD Min23.5.2 on GMAO desktops
- Move to Baselibs 7.18.1
- HDF5 1.14.3
- curl 8.6.0
- zlib 1.3.1
- Fix incorrect Open MPI module at NCCS SLES15
- Moved to Baselibs 7.17.1
- Fix for NAG and ESMF 8.6.0
- Update
g5_modules
to use GCC 11.4 as the backing C compiler on SLES 15 at NCCS- This was done as it was discovered that xgboost was not building on SLES15 with Intel when using GCC 12. Until xgboost can be updated to a newer version, this is the workaround.
- Moved to Baselibs 7.17.0
- GFE v1.12.0
- gFTL v1.11.0
- gFTL-shared v1.7.0
- fArgParse v1.6.0
- pFUnit v4.8.0
- yaFyaml v1.2.0
- pFlogger v1.11.0
- GFE v1.12.0
- Moved to Baselibs 7.16.0
- ESMF v8.6.0
- NCO 5.1.9
- CDO 2.3.0
- Move to Open MPI 4.1.6 with Intel on SLES 15 at NCCS.
- Move back to Open MPI 4.1.5 with Intel on SLES 15 on NCCS. This avoids a bug between GEOS' Intel debugging flags and MPI_Init with Open MPI 5.0.0 (see open-mpi/ompi#12113)
- Move to Open MPI 5.0.0 on SLES15 at NCCS
- Moved to Baselibs 7.15.1
- zlib 1.3
- curl 8.4.0
- HDF4 4.2.16-2
- HDF5 1.10.11
- nco 5.1.8
- CDO 2.2.2
- udunits2 2.2.28
- fortran_udunits2 v1.0.0-rc.2 (GMAO-SI-Team fork)
g5_modules
now exportsUDUNITS2_XML_PATH
- Fixed issue with clean option
- Fix issue with passing in build and install dirs
- Fixed breakage of debug, aggressive and many many other options
- Fixed issue with OS versioning when inside SLURM (has to be detected differently)
- Append
-SLES12
or-SLES15
on the build and install directories at NCCS when usingbuild.csh
to make it clear to users
- Fixed
build.csh
for using Milan at NCCS
- Added support for Milan at NCCS
- Uses Open MPI 4.1.5 on SCU17 rather than Intel MPI due to issues with Intel MPI
- Moved to Baselibs 7.14.0
- ESMF v8.5.0
- GFE v1.11.0
- gFTL-shared v1.6.1
- pFUnit v4.7.3
- curl 8.2.1
- NCO 5.1.7
- CDO 2.2.1
- Removed Haswell as build node option at NCCS (no longer available)
- Added an "any" option for the build node at NCCS which will submit to any available node type
- At NCCS with GNU, Cascade Lake is forced as Open MPI is built only for Infiniband
- Moved to Baselibs 7.13.0
- esmf v8.5.0b22
- curl 8.1.1
- HDF5 1.10.10
- netCDF-C 4.9.2
- netCDF-Fortran 4.6.1
- CDO 2.2.0
- Fixed issue with tmpdir at NAS
- Updated to use MPT 2.28 at NAS per their recommendation for running on new TOSS4 nodes
- This is done through the
mpi-hpt/mpt
module which resolves tompi-hpe/mpt.2.28_25Apr23_rhel87
- This is done through the
- Moved to Baselibs 7.12.0
- GFE v1.10.0
- curl 8.0.1
- NCO 5.1.5
- Removed the
-hydrostatic
andnon-hydrostatic
options frombuild.csh
as they are no longer needed as GEOS now builds both by default
- Add
-wait
option for waiting for batch jobs
- Moved to Baselibs 7.11.0
- ESMF v8.5.0b18
- Moved to Baselibs 7.10.0
- GFE v1.9.0
- curl v7.88.1
- Moved to Baselibs 7.9.0
- ESMF v8.5.0b13
- NOTE: This is a non-zero-diff change for GEOSgcm to precision changes in grid generation.
- ESMF v8.5.0b13
- Moved to Baselibs 7.8.0
- curl 7.87.0
- NCO 5.1.4
- CDO 2.1.1
- NOTE: CDO now requires C++17 so this means if you are building with Intel C++ (Classic), you should use GCC 11.1 or higher as the backing GCC compiler per the Intel docs
- Move to use GCC 11 at NCCS and NAS as needed above
- Moved to use GitHub Actions for label enforcement
- Moved to Baselibs 7.7.0
- Updated
- GFE v1.8.0
- fArgParse v1.4.1
- pFUnit v4.6.1
- GFE v1.8.0
- Updated
- Moved to Baselibs 7.6.0
- Updated
- ESMF v8.4.0
- zlib 1.2.13
- curl 7.86.0
- netCDF-C 4.9.0
- netCDF-Fortran 4.6.0
- NCO 5.1.1
- CDO 2.1.0
- Updated
- Add ability to pass in arbitrary CMake options to
build.csh
- Added
-gmi_mechanism
option tobuild.csh
for use with multiple GMI mechanism
- Add support for TOSS4 at NAS in
g5_modules
- Update to Intel 2022.1
- Moved to Baselibs 7.5.0
- Updated
- GFE v1.4.0
- Updated
- Moved to Baselibs 7.3.1
- Added
- xgboost v1.6.0
- Updated
- ESMF v8.3.0
- GFE v1.3.1
- HDF5 1.10.9
- curl 7.83.1
- HDF5 1.10.9
- NCO 5.0.7
- CDO 2.0.5
- Added
- Added Arm64 section to
g5_modules
- Added
.editorconfig
file
- Update to Baselibs v7.0.0
- NOTE: This is a major tick because the yaFyaml in Baselibs 7 is incompatible with code that used yaFyaml in Baselibs 6. This is MAPL for GEOS. Upcoming code changes will require the use of these new yaFyaml interfaces
- Change
build.csh
to only haveclean
orno clean
options. Theclean
option now always does a full remove-build-and-install followed by a cmake.
- Update to Baselibs 6.2.13
- Move to have both Python2 and Python3 loaded at the same time
- Removed support for SLES 12 and SLES 15 at NAS
- Changed dates in CHANGELOG to conform to ISO 8601
- Moved the default walltime at NAS to 1:30:00 due to observed slowness
- Updated the Rome code in
build.csh
to not use SLES15
- Update to Intel 2021.3
- Note: This is non-zero-diff for GEOSgcm vs Intel 2021.2
- Add
build.csh
option-no-tar
to turn off source tarfile generation (aka run CMake with-DINSTALL_SOURCE_TARFILE=OFF
)
- Per NAS advice, use MPT 2.25 on TOSS nodes
- Added Rome compute nodes (and tfe) to
build.csh
- Update to Baselibs 6.2.8
- When running on Cascade Lake nodes at NCCS, pass in
--ntasks-per-node=45
. Note that this script will never actually runmake -j48
and indeed only asks SLURM for 10 tasks, but this will suppress a loud warning.
- Add CMake option to install source tarfile by default in
build.csh
- Update license to Apache
- Cascade Lake at NCCS Support
- Update to Intel 2021.2 compiler and MPI
- Update to Baselibs 6.2.7
- Add cas to
build.csh
- Added Changelog enforcer
- Add
-rom
option to build script
- Update to Baselibs 6.2.4 (for GFE CMake Namespace)
- NOTE: This should be used in conjunction with ESMA_cmake v3.5.0
- Updates for different mepo styles
- Add
XTRAMODS2LOAD
tog5_modules
- Move to ESMF 8.1.0 (Baselibs 6.1.0)
- Add option for non-hydrostatic build
- Update to Baselibs 6.0.27
- This release updates to Baselibs 6.0.27 which is a minor update to the current 6.0.22. The differences were mainly in the build system, though an important update is the yaFyaml for some work being done in MAPL.
- Add hidden aggressive
CMAKE_BUILD_TYPE
- As we remove support for manage_externals, remove the reference in
build.csh
. No change to actual scripting.
- Update to Intel 19.1.3 and Baselibs 6.0.22
- This release updates from Intel 19.1.2 to 19.1.3. This is zero-diff in all testing save for MOM6 (which was tested by @yvikhlya said is not wrong, just different).
- Reduce number of make jobs with
build.csh
-
This is a major release of ESMA_env. Note that with these changes SLES 11 Support at NCCS is Removed
- ESMA Baselibs 6.0.16
- Use a new Python Stack: GEOSpyD/Min4.8.3_py2.7
- Update compilers and MPI stacks
- NCCS
- Intel Fortran 19.1.2
- Intel MPI 19.1.2
- NAS
- Intel Fortran 2020.2.254 (aka 19.1.2)
- MPT 2.17 (same as before)
- GMAO Desktop
- Intel Fortran 19.1.2
- Open MPI 4.0.4
- NCCS
- Remove the
NCCS/
directory as it was out-of-date - Add
-gnu
flag tobuild.csh
for easier building with GCC at NAS
The change to Baselibs 6.0.16 from 6.0.13 involves the following:
Library 6.0.13 6.0.16 cURL 7.70.0 7.72.0 NCO 4.9.1 4.9.3 pFUnit 4.1.8 4.1.12 gFTL 1.2.5 1.2.7 fArgParse 0.9.5 1.0.1 pFlogger 1.4.2 1.4.5 yaFyaml 0.3.3 0.4.1
- This release adds a new file,
BUILD_MODULES.rc
, which will contain the environment modules/Lua modules used during building (if environment/Lua modules are found).
-
Update to Baselibs 6.0.13
- This update moves ESMA_env to use Baselibs 6.0.13. Testing has been zero-diff.
Changes in this Baselibs include:
- ESMF 8.0.1
- gFTL-shared v1.0.7
- pFUnit v4.1.7
- pFlogger v1.4.2
- fArgParse v0.9.5
- yaFyaml v0.3.3
- Fixes for GCC 10
- Added patch for netcdf issue with GCC 10
- Added flag for HDF4 when using GCC 10
- Need to pass in extra flags to ESMF when using GCC 10
- Fix for detection for
--enable-dap
with netcdf
- Add
g5_modules.zsh
- Update to Baselibs 6.0.12
- Fix for bug at NAS
- Add
-nocmake
option for scripting
- Update to Baselibs 6.0.11
-
Release of MAPL 2.1 Compatible Environment
- This release mainly moves to use Baselibs 6.0.10 which has new and update libraries needed for MAPL 2.1. The differences between 6.0.4 and 6.0.10 are:
Library 6.0.4 6.0.10 cURL 7.67.0 7.69.1 HDF4 4.2.14 4.2.15 pFUnit 4.1.5 4.1.7 gFTL 1.2.2 1.2.5 gFTL-shared 1.0.2 1.0.5 fArgParse 0.9.2 0.9.3 pFlogger 1.3.5 yaFyaml 0.3.1 - Also, NAS installed 18.0.5 so this matches what is used at NCCS.
- Fix usage statement
- Add Skylake Build capability at NCCS
- Use Intel MPI 19.1 on SLES 12
- Combined SLES11 + SLES12
g5_modules
- Release of MAPL 2.0 Compatible Environment
- This release of ESMA_env is the version compatible with MAPL 2.0. Changes include:
- Use ESMA-Baselibs 6.0.4
- Move to GEOSpyD 2019.10 as Python stack
- NCCS
- Move to Intel 18.0.5
- Move to Intel MPI 18.0.5
- NAS
- Move to Intel 2019.3.199
- NAS does not have Intel MPI 18.0.5 installed
- Move to Intel 2019.3.199
- GMAO Desktops
- Move to Intel 18.0.5
- Move to Open MPI 4.0.0
- This release of ESMA_env is the version compatible with MAPL 2.0. Changes include:
- Use Ops build of Baselibs 5.1.7 at NCCS
- Add ability to specify directories and fix queues
- Source GEOSenv after SIVO-PyD
- This is a small change due to the structure of MOM6. The libcurl in SIVO-PyD was interfering with git's ability to do a submodule clone in MOM6 (no support for https). But, if GEOSenv is loaded after SIVO-PyD, it seems to fix this issue by letting git's libcurl (built by Bhat) to win and that seems to work.
- Detect CPU count on macOS correctly
- The
build.csh
script was assuming/proc/cpuinfo
existed on all systems. macOS does not have it.
- The
- Enable additional parallelism in build script
- Revert Python back to SIVO-PyD
- Change location of SI Team modulefiles on NCCS
- At build time, the ESMA_env will now create two files
CMAKE_RELEASE.rc
andGIT_VERSION.rc
that will have information on what versions of CMake and Git built this install.
- To not duplicate massive amounts of code across major GEOS-ESM fixtures, we move the bulk of
parallel_build.csh
to this repo in the namebuild.csh
. This is called by a small stub in fixtures.
- Also move
SITE.rc.in
andBASEDIR.rc.in
from fixture to here.
- This moves installation of
g5_modules
etc. from the fixture to this repo
- This was a bad copy-and-paste. Correct the basedir to point to the one for MPT
- Due to the sheer number of
g5_modules
references in GEOS, for now restore this script
- Initial release for GEOS