diff --git a/e3sm_supported_machines/bootstrap.py b/e3sm_supported_machines/bootstrap.py index 3c377fe..1a80a99 100755 --- a/e3sm_supported_machines/bootstrap.py +++ b/e3sm_supported_machines/bootstrap.py @@ -134,12 +134,12 @@ def build_env(is_test, recreate, compiler, mpi, conda_mpi, version, channels = f'{channels} -c conda-forge/label/{package}_dev' # edit if not using a release candidate for a given package - dev_labels = ['zppy', 'zstash'] + dev_labels = ['e3sm_diags', 'e3sm_to_cmip', 'mache', 'mpas_analysis', + 'mpas_tools', 'zstash'] for package in dev_labels: channels = f'{channels} -c conda-forge/label/{package}_dev' channels = f'{channels} ' \ f'-c conda-forge ' \ - f'-c defaults ' \ f'-c e3sm/label/e3sm_dev' else: channels = '--override-channels -c conda-forge -c defaults -c e3sm' diff --git a/e3sm_supported_machines/default.cfg b/e3sm_supported_machines/default.cfg index 5cad7a1..57a020b 100644 --- a/e3sm_supported_machines/default.cfg +++ b/e3sm_supported_machines/default.cfg @@ -18,14 +18,14 @@ python = 3.10 mpi = nompi # the version of ILAMB -ilamb = 2.6 +ilamb = 2.7 # the version of mache to use during deployment (should match the version used # in the package itself) -mache = 1.17.0 +mache = 1.18.0 # the version of mpi4py to build if using system compilers -mpi4py = 3.1.4 +mpi4py = 3.1.5 # the version of esmpy to build if using system compilers (must match esmf from # spack below) diff --git a/e3sm_supported_machines/shared.py b/e3sm_supported_machines/shared.py index 09d73f2..1af4cc3 100644 --- a/e3sm_supported_machines/shared.py +++ b/e3sm_supported_machines/shared.py @@ -14,7 +14,7 @@ def parse_args(bootstrap): parser = argparse.ArgumentParser( description='Deploy E3SM-Unified') - parser.add_argument("--version", dest="version", default="1.9.1", + parser.add_argument("--version", dest="version", default="1.9.2", help="The version of E3SM-Unified to deploy") parser.add_argument("--conda", dest="conda_base", help="Path for the conda base") diff --git a/e3sm_supported_machines/templates/load_e3sm_unified.sh.template b/e3sm_supported_machines/templates/load_e3sm_unified.sh.template index de3fbb3..d90ab28 100644 --- a/e3sm_supported_machines/templates/load_e3sm_unified.sh.template +++ b/e3sm_supported_machines/templates/load_e3sm_unified.sh.template @@ -4,7 +4,7 @@ source {{ conda_base }}/etc/profile.d/mamba.sh export E3SMU_SCRIPT="{{ script_filename }}" export E3SMU_MACHINE="{{ machine }}" -if [ -z "${SLURM_JOB_ID}" ] && [ -z "${COBALT_JOBID}" ] +if [ -z ${SLURM_JOB_ID+x} ] && [ -z ${COBALT_JOBID+x} ] then # we seem to be on a login node, so load the no-MPI environment diff --git a/recipes/e3sm-unified/build_and_upload.bash b/recipes/e3sm-unified/build_and_upload.bash index 04c70c4..22e1020 100755 --- a/recipes/e3sm-unified/build_and_upload.bash +++ b/recipes/e3sm-unified/build_and_upload.bash @@ -2,26 +2,44 @@ set -e -rm -rf ~/mambaforge/conda-bld +conda_dir=${HOME}/miniforge +os_dir=linux-64 upload=False dev=False +rm -rf ${conda_dir}/conda-bld + if [ $dev == "True" ] then - channels="-c conda-forge/label/zstash_dev \ - -c conda-forge/label/zppy_dev \ + + channels="-c conda-forge/label/e3sm_diags_dev \ + -c conda-forge/label/e3sm_to_cmip_dev \ + -c conda-forge/label/mache_dev \ + -c conda-forge/label/mpas_analysis_dev \ + -c conda-forge/label/mpas_tools_dev \ + -c conda-forge/label/zstash_dev \ -c conda-forge" + + for file in configs/mpi_mpich_python3.10.yaml configs/mpi_hpc_python3.10.yaml + do + conda mambabuild -m $file --override-channels --use-local $channels . + done + + if [ $upload == "True" ] + then + anaconda upload -u e3sm -l e3sm_dev ${conda_dir}/conda-bld/${os_dir}/e3sm-unified-*.tar.bz2 + fi + else - channels="-c conda-forge" -fi -# for file in configs/mpi_mpich_python3.10.yaml configs/mpi_hpc_python3.10.yaml -for file in configs/mpi_*_python*.yaml -do - conda mambabuild -m $file --override-channels --use-local $channels . -done + channels="-c conda-forge" + for file in configs/mpi_*_python*.yaml + do + conda mambabuild -m $file --override-channels --use-local $channels . + done -if [ $upload == "True" ] -then - anaconda upload -u e3sm ${HOME}/miniconda3/conda-bld/linux-64/e3sm-unified-*.tar.bz2 + if [ $upload == "True" ] + then + anaconda upload -u e3sm ${conda_dir}/conda-bld/${os_dir}/e3sm-unified-*.tar.bz2 + fi fi diff --git a/recipes/e3sm-unified/conda_first_failure.py b/recipes/e3sm-unified/conda_first_failure.py index 067399b..70801e4 100755 --- a/recipes/e3sm-unified/conda_first_failure.py +++ b/recipes/e3sm-unified/conda_first_failure.py @@ -2,28 +2,29 @@ import subprocess specs = ['python=3.10', - 'openssl >=3.1.0,<4.0a0', - #'globus-cli', - 'hdf5=1.14.0 nompi_*', - 'libnetcdf 4.9.2 nompi_*', - 'netcdf4 1.6.4 nompi_*', - 'xarray 2023.5.0', - 'dask 2023.6.0', - 'proj 9.2.1', - 'pyproj 3.6.0', - #'e3sm_diags 2.8.0', - #'e3sm_to_cmip 1.9.1', + 'ncvis-climate 2023.09.12', + 'libnetcdf 4.9.2 mpi_mpich_*', + 'chemdyg 0.1.4', + 'e3sm_diags 2.9.0', + 'e3sm_to_cmip 1.11.0', 'geometric_features 1.2.0', + 'globus-cli >=3.15.0', + 'ilamb 2.7', 'ipython', 'jupyter', 'livvkit 3.0.1', - 'mache 1.16.0rc1', - 'mpas-analysis 1.9.0rc1', - 'mpas_tools 0.20.0', + 'mache 1.17.0', + 'moab 5.5.1', + 'mpas-analysis 1.9.1rc1', + 'mpas_tools 0.27.0', + 'nco 5.1.9', 'pcmdi_metrics 2.3.1', - #'xcdat 0.5.0', - #'zstash 1.3.0', - 'zppy 2.3.0rc1', + 'tempest-remap 2.2.0', + 'tempest-extremes 2.2.1', + 'xcdat 0.6.1', + 'zppy 2.3.1', + 'zstash 1.4.2rc1', + 'mpich', 'blas', 'bottleneck', 'cartopy >=0.17.0', @@ -32,27 +33,36 @@ 'cdtime 3.1.4', 'cdutil 8.2.1', 'cmocean', + 'dask 2023.6.0', 'dogpile.cache', 'eofs', + 'esmf 8.4.2 mpi_mpich_*', + 'esmpy 8.4.2', 'f90nml', 'ffmpeg', 'genutil 8.2.1', 'globus-sdk', 'gsw', + 'hdf5 1.14.2 mpi_mpich_*', 'ipygany', 'lxml', - 'matplotlib', + 'matplotlib 3.7.1', 'metpy', + 'mpi4py', 'nb_conda', 'nb_conda_kernels', 'ncview 2.1.8', - 'ncvis-climate', + 'ncvis-climate 2023.09.12', + 'netcdf4 1.6.4 nompi_*', + 'notebook <7.0.0', 'numpy >1.13', 'output_viewer 1.3.3', 'pillow', 'plotly', 'progressbar2', + 'proj 9.3.1', 'pyevtk', + 'pyproj 3.6.1', 'pyremap', 'pytest', 'pywavelets', @@ -61,20 +71,19 @@ 'shapely', 'sympy >=0.7.6', 'tabulate', + 'xarray 2023.5.0', 'xesmf', 'cython', 'cf-units >=2.0.0', 'psutil', - 'pandas', + 'pandas' ] base_command = ['mamba', 'create', '-y', '-n', 'test', '--dry-run', '--override-channels', - '-c', 'conda-forge/label/mache_dev', '-c', 'conda-forge/label/mpas_analysis_dev', - '-c', 'conda-forge/label/zppy_dev', - '-c', 'conda-forge', - '-c', 'defaults'] + '-c', 'conda-forge/label/zstash_dev', + '-c', 'conda-forge'] prevEnd = None highestValid = -1 diff --git a/recipes/e3sm-unified/meta.yaml b/recipes/e3sm-unified/meta.yaml index bef90e9..a28c437 100644 --- a/recipes/e3sm-unified/meta.yaml +++ b/recipes/e3sm-unified/meta.yaml @@ -1,5 +1,5 @@ {% set name = "E3SM-Unified" %} -{% set version = "1.9.1" %} +{% set version = "1.9.2" %} {% set build = 0 %} package: @@ -31,26 +31,26 @@ requirements: ### main packages ### - python - chemdyg 0.1.4 - - e3sm_diags 2.9.0 - - e3sm_to_cmip 1.10.0 + - e3sm_diags 2.10.1 + - e3sm_to_cmip 1.11.1 - geometric_features 1.2.0 # fixes an issues with cryptography <37 constraint - globus-cli >=3.15.0 - - ilamb 2.6 # [mpi != 'nompi' and mpi != 'hpc'] + - ilamb 2.7 # [mpi != 'nompi' and mpi != 'hpc'] - ipython - jupyter - livvkit 3.0.1 - - mache 1.17.0 + - mache 1.18.0 - moab 5.5.1 {{ mpi_prefix }}_tempest_* # [mpi != 'hpc'] - - mpas-analysis 1.9.0 - - mpas_tools 0.27.0 + - mpas-analysis 1.9.1 + - mpas_tools 0.30.0 - nco 5.1.9 # [mpi != 'hpc'] - pcmdi_metrics 2.3.1 - tempest-remap 2.2.0 # [mpi != 'hpc'] - tempest-extremes 2.2.1 {{ mpi_prefix }}_* # [mpi != 'hpc'] - - xcdat 0.5.0 + - xcdat 0.6.1 - zppy 2.3.1 - - zstash 1.4.1 # [linux] + - zstash 1.4.2 # [linux] ### dependencies ### - {{ mpi }} # [mpi != 'nompi' and mpi != 'hpc'] - blas @@ -71,7 +71,7 @@ requirements: - genutil 8.2.1 - globus-sdk - gsw - - hdf5 1.14.2 {{ mpi_prefix }}_* + - hdf5 1.14.3 {{ mpi_prefix }}_* - ipygany - libnetcdf 4.9.2 {{ mpi_prefix }}_* - lxml @@ -81,7 +81,7 @@ requirements: - nb_conda - nb_conda_kernels - ncview 2.1.8 - - ncvis-climate + - ncvis-climate 2023.09.12 - netcdf4 1.6.4 nompi_* - notebook <7.0.0 - numpy >1.13 @@ -90,9 +90,9 @@ requirements: - pillow - plotly - progressbar2 - - proj 9.2.1 + - proj 9.3.1 - pyevtk - - pyproj 3.6.0 + - pyproj 3.6.1 - pyremap - pytest - pywavelets @@ -104,7 +104,7 @@ requirements: - xarray 2023.5.0 - xesmf - # addition ilamb 2.6 dependencies, for system MPI builds + # addition ilamb 2.7 dependencies, for system MPI builds - cython - cf-units >=2.0.0 - psutil @@ -132,7 +132,6 @@ test: - zstash --help # [linux] - ilamb-fetch -h # [mpi != 'nompi' and mpi != 'hpc'] - ilamb-run -h # [mpi != 'nompi' and mpi != 'hpc'] - - ilamb-table -h # [mpi != 'nompi' and mpi != 'hpc'] - ncks --help # [mpi != 'hpc'] - ncap2 --help # [mpi != 'hpc'] - jupyter --help