diff --git a/.github/workflows/create-condalock-file.yml b/.github/workflows/create-condalock-file.yml new file mode 100644 index 0000000000..33c745dadb --- /dev/null +++ b/.github/workflows/create-condalock-file.yml @@ -0,0 +1,89 @@ +name: Conda lock file creation + +on: + push: + branches: + - main + schedule: + - cron: '0 4 */10 * *' + +jobs: + create-verify-lock-file: + name: Create and verify conda lock file for latest Python + runs-on: 'ubuntu-latest' + steps: + - uses: actions/checkout@v2 + - uses: conda-incubator/setup-miniconda@v2 + with: + auto-update-conda: true + python-version: "3.10" + miniconda-version: "latest" + activate-environment: esmvaltool-fromlock + channels: conda-forge + - name: Show conda config + shell: bash -l {0} + run: | + conda info + conda list + conda config --show-sources + conda config --show + - name: Gather Python info + shell: bash -l {0} + run: | + which python + python --version + - name: Install conda-lock + shell: bash -l {0} + run: conda install -y conda-lock + - name: Create conda lock file for linux-64 + shell: bash -l {0} + run: conda-lock lock --platform linux-64 -f environment.yml --mamba + - name: Creating environment from lock file + shell: bash -l {0} + run: conda create --name esmvaltool-fromlock --file conda-linux-64.lock + - name: Installing pip + shell: bash -l {0} + run: conda install pip + - name: Gather pip info + shell: bash -l {0} + run: pip --version + - name: Gather Python info again + shell: bash -l {0} + run: | + which python + python --version + - shell: bash -l {0} + run: pip install -e .[develop] + - shell: bash -l {0} + run: esmvaltool --help + - shell: bash -l {0} + run: esmvaltool version + - shell: bash -l {0} + run: pytest -n 2 -m "not installation and not sequential" + - shell: bash -l {0} + run: pytest -n 0 -m "sequential" + # Automated PR + # see https://github.com/marketplace/actions/create-pull-request + - name: Create Automated PR if conda lock file has changed + uses: peter-evans/create-pull-request@v3 + with: + token: ${{ secrets.GITHUB_TOKEN }} + commit-message: Updating Linux condalock file + author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> + signoff: false + branch: condalock-update + delete-branch: true + title: '[Condalock] Update Linux condalock file' + body: | + Update condalock file + Automatic Pull Request. + labels: | + testing + condalock + automatedPR + assignees: valeriupredoi + reviewers: valeriupredoi + team-reviewers: | + owners + maintainers + draft: false diff --git a/.github/workflows/install-from-condalock-file.yml b/.github/workflows/install-from-condalock-file.yml new file mode 100644 index 0000000000..84e5ad2696 --- /dev/null +++ b/.github/workflows/install-from-condalock-file.yml @@ -0,0 +1,68 @@ +# Install esmvalcore from a conda lock file +# To build a conda lock file install conda-lock first then +# run conda-lock lock --platform linux-64 -f environment.yml --mamba +# (mamba activated for speed). Change platform for osx-64 or win-64. +# Env creation then happens as per normal use with +# mamba create --name esmvaltool-fromlock --file conda-linux-64.lock +# note that pip and conda are NOT installed. + +name: Conda-lock Install +on: + push: + branches: + - main + # run the test only if the PR is to main + # turn it on if required + #pull_request: + # branches: + # - main + schedule: + - cron: '0 0 * * *' + +jobs: + linux: + runs-on: "ubuntu-latest" + strategy: + matrix: + python-version: ["3.7", "3.8", "3.9", "3.10"] + fail-fast: false + name: Linux Python ${{ matrix.python-version }} + steps: + - uses: actions/checkout@v2 + - uses: conda-incubator/setup-miniconda@v2 + with: + activate-environment: esmvaltool-fromlock + python-version: ${{ matrix.python-version }} + channels: conda-forge + - shell: bash -l {0} + run: mkdir -p source_install_linux_artifacts_python_${{ matrix.python-version }} + - shell: bash -l {0} + run: conda --version 2>&1 | tee source_install_linux_artifacts_python_${{ matrix.python-version }}/conda_version.txt + - shell: bash -l {0} + run: which python + - shell: bash -l {0} + run: python -V 2>&1 | tee source_install_linux_artifacts_python_${{ matrix.python-version }}/python_version.txt + - shell: bash -l {0} + run: conda create --name esmvaltool-fromlock --file conda-linux-64.lock + - shell: bash -l {0} + run: conda install pip + - shell: bash -l {0} + run: which python + - shell: bash -l {0} + run: pip --version + - shell: bash -l {0} + run: pip install -e .[develop] + - shell: bash -l {0} + run: esmvaltool --help + - shell: bash -l {0} + run: esmvaltool version 2>&1 | tee source_install_linux_artifacts_python_${{ matrix.python-version }}/version.txt + - shell: bash -l {0} + run: pytest -n 2 -m "not installation and not sequential" + - shell: bash -l {0} + run: pytest -n 0 -m "sequential" + - name: Upload artifacts + if: ${{ always() }} # upload artifacts even if fail + uses: actions/upload-artifact@v2 + with: + name: Source_Install_Linux_python_${{ matrix.python-version }} + path: source_install_linux_artifacts_python_${{ matrix.python-version }} diff --git a/conda-linux-64.lock b/conda-linux-64.lock new file mode 100644 index 0000000000..2ad3fb2420 --- /dev/null +++ b/conda-linux-64.lock @@ -0,0 +1,194 @@ +# Generated by conda-lock. +# platform: linux-64 +# input_hash: 17174979413bb1638d023a31d1bd2e48ee696c44c10b57ed724ba737bace28cc +@EXPLICIT +https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 +https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2021.10.8-ha878542_0.tar.bz2#575611b8a84f45960e87722eeb51fa26 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2#0c96522c6bdaed4b1566d11387caaf45 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2#34893075a5c9e55cdafac56607368fc6 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2#4d59c254e01d9cde7957100457e2d5fb +https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-hab24e00_0.tar.bz2#19410c3df09dfb12d1206132a1d357c5 +https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-2.6.32-he073ed8_15.tar.bz2#5dd5127afd710f91f6a75821bac0a4f0 +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2#bd4f2e711b39af170e7ff15163fe87ee +https://conda.anaconda.org/conda-forge/linux-64/libgcc-devel_linux-64-9.4.0-hd854feb_11.tar.bz2#db20b3d6b359c3ca9674ad3f33562bab +https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-11.2.0-h5c6108e_11.tar.bz2#2dcb18a9a0fa31f4f29e5a9b3eade394 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-devel_linux-64-9.4.0-hd854feb_11.tar.bz2#74ffe15d508b9d20e5a8ed33ebfc5481 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-11.2.0-he4da1e4_11.tar.bz2#0bf83958e788f1e75ba26154cb702afe +https://conda.anaconda.org/conda-forge/linux-64/mpi-1.0-mpich.tar.bz2#c1fcff3417b5a22bbc4cf6e8c23648cf +https://conda.anaconda.org/conda-forge/noarch/poppler-data-0.4.11-hd8ed1ab_0.tar.bz2#abc27381c4f005da588cffa1f76403ee +https://conda.anaconda.org/conda-forge/noarch/tzdata-2021e-he74cb21_0.tar.bz2#a751ec502589ebdc2eceb183ff602569 +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2#f766549260d6815b0c52253f1fb1bb29 +https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-11.2.0-h69a702a_11.tar.bz2#4ea2f9f83b617a7682e8aa05dcb37c6a +https://conda.anaconda.org/conda-forge/linux-64/libgomp-11.2.0-h1d223b6_11.tar.bz2#1d16527c76842bf9c41e9399d39d8097 +https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.12-he073ed8_15.tar.bz2#66c192522eacf5bb763568b4e415d133 +https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-1_gnu.tar.bz2#561e277319a41d4f24f5c05a9ef63c04 +https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.36.1-h193b22a_2.tar.bz2#32aae4265554a47ea77f7c09f86aeb3b +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2#fee5683a3f04bd15cbd8318b096a27ab +https://conda.anaconda.org/conda-forge/linux-64/binutils-2.36.1-hdd6e379_2.tar.bz2#3111f86041b5b6863545ca49130cca95 +https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.36-hf3e587d_1.tar.bz2#7d750bafc3cc7121170387583ecf0ff1 +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-11.2.0-h1d223b6_11.tar.bz2#e3495f4f93cfd6b68021cbe2b5844cd5 +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h7f98852_4.tar.bz2#a1fd65c7ccbf10880423d82bca54eb54 +https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.18.1-h7f98852_0.tar.bz2#f26ef8098fab1f719c91eb760d63381a +https://conda.anaconda.org/conda-forge/linux-64/expat-2.4.1-h9c3ff4c_0.tar.bz2#16054ef3cb3ec5d8d29d08772662f65d +https://conda.anaconda.org/conda-forge/linux-64/freexl-1.0.6-h7f98852_0.tar.bz2#fb707484f02b122edec5fe3d1f3f552f +https://conda.anaconda.org/conda-forge/linux-64/geos-3.10.0-h9c3ff4c_0.tar.bz2#f3e1934c48463a3fbc87075ba2e94070 +https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.1-h36c2ea0_2.tar.bz2#626e68ae9cc5912d6adb79d318cf962d +https://conda.anaconda.org/conda-forge/linux-64/icu-69.1-h9c3ff4c_0.tar.bz2#e0773c9556d588b062a4e1424a6a02fa +https://conda.anaconda.org/conda-forge/linux-64/jbig-2.1-h7f98852_2003.tar.bz2#1aa0cee79792fa97b7ff4545110b60bf +https://conda.anaconda.org/conda-forge/linux-64/jpeg-9d-h36c2ea0_0.tar.bz2#ea02ce6037dbe81803ae6123e5ba1568 +https://conda.anaconda.org/conda-forge/linux-64/json-c-0.15-h98cffda_0.tar.bz2#f32d45a88e7462be446824654dbcf4a4 +https://conda.anaconda.org/conda-forge/linux-64/lerc-3.0-h9c3ff4c_0.tar.bz2#7fcefde484980d23f0ec24c11e314d2e +https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.8-h7f98852_0.tar.bz2#91d22aefa665265e8e31988b15145c8a +https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h516909a_1.tar.bz2#6f8720dff19e17ce5d48cfe7f3d2f0a3 +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2#d645c6d2ac96843a2bfaccd2d62b3ac3 +https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.16-h516909a_0.tar.bz2#5c0f338a513a2943c659ae619fca9211 +https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-h7f98852_0.tar.bz2#39b1328babf85c7c3a61636d9cd50206 +https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.18-pthreads_h8fe5266_0.tar.bz2#41532e4448c0cce086d6570f95e4e12e +https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-9.4.0-h79bfe98_11.tar.bz2#25da5fb8de6c9fd7eb5b465acd87a5b3 +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.32.1-h7f98852_1000.tar.bz2#772d69f030955d9646d3d0eaf21d859d +https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.2.1-h7f98852_0.tar.bz2#90607c4c0247f04ec98b48997de71c1a +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.11-h36c2ea0_1013.tar.bz2#dcddf696ff5dfcab567100d691678e18 +https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.3-h9c3ff4c_1.tar.bz2#fbe97e8fa6f275d7c76a09e795adc3e6 +https://conda.anaconda.org/conda-forge/linux-64/mpich-3.4.2-h846660c_100.tar.bz2#0868d02349fc7e128d4bdc515b58dd7e +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.2-h58526e2_4.tar.bz2#509f2a21c4a09214cd737a480dfd80c9 +https://conda.anaconda.org/conda-forge/linux-64/nspr-4.32-h9c3ff4c_1.tar.bz2#29ded371806431b0499aaee146abfc3e +https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1l-h7f98852_0.tar.bz2#de7b38a1542dbe6f41653a8ae71adc53 +https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2#c05d1820a6d34ff07aaaab7a9b7eddaa +https://conda.anaconda.org/conda-forge/linux-64/pixman-0.40.0-h36c2ea0_0.tar.bz2#660e72c82f2e75a6b3fe6a6e75c79f19 +https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2#22dad4df6e8630e8dff2428f6f6a7036 +https://conda.anaconda.org/conda-forge/linux-64/tzcode-2021e-h7f98852_0.tar.bz2#68f160505f506e8a688d3450dc3f437c +https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2#4b230e8381279d76131116660f5a241a +https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.0.10-h7f98852_0.tar.bz2#d6b0b50b49eccfe0be0373be628be0f3 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.9-h7f98852_0.tar.bz2#bf6f803a544f26ebbdc3bfff272eb179 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2#be93aabceefa2fac576e971aef407908 +https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-h7f98852_1002.tar.bz2#06feff3d2634e3097ce2fe681474b534 +https://conda.anaconda.org/conda-forge/linux-64/xorg-xextproto-7.3.0-h7f98852_1002.tar.bz2#1e15f6ad85a7d743a2ac68dae6c82b98 +https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-h7f98852_1007.tar.bz2#b4a4381d54784606820704f7b5f05a15 +https://conda.anaconda.org/conda-forge/linux-64/xxhash-0.8.0-h7f98852_3.tar.bz2#52402c791f35e414e704b7a113f99605 +https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.5-h516909a_1.tar.bz2#33f601066901f3e1a85af3522a8113f9 +https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h516909a_0.tar.bz2#03a530e925414902547cf48da7756db8 +https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-9.4.0-h03d3576_11.tar.bz2#af63ecae331d9d8f40727eb7db93eeee +https://conda.anaconda.org/conda-forge/linux-64/gettext-0.19.8.1-h73d1719_1008.tar.bz2#af49250eca8e139378f8ff0ae9e57251 +https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-12_linux64_openblas.tar.bz2#4f93ba28c628a2c27cf39c055e6b219c +https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2#4d331e44109e3f0e19b4cb8f9b82f3e1 +https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-h0ad649c_7.tar.bz2#b879e4b42dc77e0316aa6a0d8dacfcae +https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.13-h7f98852_1003.tar.bz2#a9371e9e40aded194dcba1447606c9a1 +https://conda.anaconda.org/conda-forge/linux-64/readline-8.1-h46c0cb4_0.tar.bz2#5788de3c8d7a7d64ac56c784c4ef48e6 +https://conda.anaconda.org/conda-forge/linux-64/udunits2-2.2.27.27-hc3e0081_2.tar.bz2#91f5207ecab9bab80964f49dfd81dbcc +https://conda.anaconda.org/conda-forge/linux-64/xerces-c-3.2.3-h8ce2273_4.tar.bz2#b313f2002c5534313e3b2b74a76a051b +https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.3-hd9c2040_1000.tar.bz2#9e856f78d5c80d5a78f61e72d1d473a3 +https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.11-h36c2ea0_1013.tar.bz2#cf7190238072a41e9579e4476a6a60b8 +https://conda.anaconda.org/conda-forge/linux-64/gcc-9.4.0-h192d537_1.tar.bz2#ba31f4c7ff4537907899106538c35f09 +https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-9.4.0-h391b98a_1.tar.bz2#1dc00eab8ce4b3341aae9f54c19b810a +https://conda.anaconda.org/conda-forge/linux-64/gfortran_impl_linux-64-9.4.0-h0003116_11.tar.bz2#2c21b8ffe4c2ce138ec56943ac7a95f8 +https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-9.4.0-h03d3576_11.tar.bz2#c0c0f0e29f95fa2d9ca1e62d1ea81dcc +https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h10796ff_3.tar.bz2#21a8d66dc17f065023b33145c42652fe +https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-12_linux64_openblas.tar.bz2#2e5082d4a9a18c21100e6ce5b6bcb4ec +https://conda.anaconda.org/conda-forge/linux-64/libglib-2.70.0-h174f98d_1.tar.bz2#923cee7bae6f8dcbe12da21520e3ba4b +https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-12_linux64_openblas.tar.bz2#9f401a6807a97e0c859d7522ae3d51ec +https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.43.0-h812cca2_1.tar.bz2#d0a7846b7b3b8fb0d8b36904a53b8155 +https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.37-h21135ba_2.tar.bz2#b6acf807307d033d4b7e758b4f44b036 +https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.10.0-ha56f1ee_2.tar.bz2#6ab4eaa11ff01801cffca0a27489dc04 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.12-h885dcf4_1.tar.bz2#d1355eaa48f465782f228275a0a69771 +https://conda.anaconda.org/conda-forge/linux-64/libzip-1.8.0-h4de3113_1.tar.bz2#175a746a43d42c053b91aa765fbc197d +https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.36.0-h9cd32fc_2.tar.bz2#3588c2c6cb9f9bcc65b544ab1c715d60 +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.11-h27826a3_1.tar.bz2#84e76fb280e735fec1efd2d21fd9cb27 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.7.2-h7f98852_0.tar.bz2#12a61e640b8894504326aadafccbb790 +https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.0-ha95c52a_0.tar.bz2#b56f94865e2de36abf054e7bfa499034 +https://conda.anaconda.org/conda-forge/linux-64/boost-cpp-1.74.0-h359cf19_5.tar.bz2#5778a2e0609975fac9b24ed637180d28 +https://conda.anaconda.org/conda-forge/linux-64/c-compiler-1.3.0-h7f98852_0.tar.bz2#543ebd7ec7822fc5fb0284adfa3ba284 +https://conda.anaconda.org/conda-forge/linux-64/freetype-2.10.4-h0708190_1.tar.bz2#4a06f2ac2e5bfae7b6b245171c3f07aa +https://conda.anaconda.org/conda-forge/linux-64/gfortran_linux-64-9.4.0-hf0ab688_1.tar.bz2#a78f3dc7f1318710899565c50734c0f0 +https://conda.anaconda.org/conda-forge/linux-64/gxx-9.4.0-h192d537_1.tar.bz2#96e20744daa7f87d7cdf76c40bc73fef +https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-9.4.0-h0316aca_1.tar.bz2#8c020fd66512f59c968546a840af6112 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.19.2-hcc1bbae_3.tar.bz2#e29650992ae593bc05fc93722483e5c3 +https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.3.0-h6f004c6_2.tar.bz2#34fda41ca84e67232888c9a885903055 +https://conda.anaconda.org/conda-forge/linux-64/nss-3.71-hb5efdd6_0.tar.bz2#a2109f76ebafb68c0889453cbb39e1c1 +https://conda.anaconda.org/conda-forge/linux-64/python-3.9.7-hb7a2778_3_cpython.tar.bz2#ab54b978f6f24c485d22a80de0f66bf8 +https://conda.anaconda.org/conda-forge/linux-64/tiledb-2.3.4-he87e0bf_0.tar.bz2#fc60915b52f99c5eba16c858a54f32e7 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h7f98852_1.tar.bz2#536cc5db4d0a3ba0630541aec064b5e4 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-h7f98852_1003.tar.bz2#f59c1242cc1dd93e72c2ee2b360979eb +https://conda.anaconda.org/conda-forge/noarch/attrs-21.2.0-pyhd8ed1ab_0.tar.bz2#d2e1c7f388ac403df7079b411c37cc50 +https://conda.anaconda.org/conda-forge/noarch/cloudpickle-2.0.0-pyhd8ed1ab_0.tar.bz2#3a8fc8b627d5fb6af827e126a10a86c6 +https://conda.anaconda.org/conda-forge/linux-64/cxx-compiler-1.3.0-h4bd325d_0.tar.bz2#0fbd916fafd28bc73ba5b9855fdfc94d +https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2#a50559fad0affdbb33729a68669ca1cb +https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.13.1-hba837de_1005.tar.bz2#fd3611672eb91bc9d24fd6fb970037eb +https://conda.anaconda.org/conda-forge/noarch/fsspec-2021.11.0-pyhd8ed1ab_0.tar.bz2#4dc640d7025327ae332e7ff3658ade6e +https://conda.anaconda.org/conda-forge/linux-64/gfortran-9.4.0-h2018a41_1.tar.bz2#e59a5e122c9b375329e00a9f85ba9683 +https://conda.anaconda.org/conda-forge/noarch/heapdict-1.0.1-py_0.tar.bz2#77242bfb1e74a627fb06319b5a2d3b95 +https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.12-hddcbb42_0.tar.bz2#797117394a4aa588de6d741b06fad80f +https://conda.anaconda.org/conda-forge/linux-64/libcurl-7.80.0-h2574ce0_0.tar.bz2#5d0784b790350f7939bb5d3f2c32e700 +https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-h238a007_1014.tar.bz2#abd8e196ad04781818acef26cc451d66 +https://conda.anaconda.org/conda-forge/linux-64/libpq-13.3-hd57d9b9_3.tar.bz2#3882b459a3c08029088197318acd3a21 +https://conda.anaconda.org/conda-forge/noarch/locket-0.2.0-py_2.tar.bz2#709e8671651c7ec3d1ad07800339ff1d +https://conda.anaconda.org/conda-forge/noarch/olefile-0.46-pyh9f0ad1d_1.tar.bz2#0b2e68acc8c78c8cc392b90983481f58 +https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.4.0-hb52868f_1.tar.bz2#b7ad78ad2e9ee155f59e6428406ee824 +https://conda.anaconda.org/conda-forge/noarch/pyparsing-2.4.7-pyhd8ed1ab_1.tar.bz2#49cdb8bb03aab9dd1e9e1b30ee2e970c +https://conda.anaconda.org/conda-forge/noarch/pyshp-2.1.3-pyh44b312d_0.tar.bz2#2d1867b980785eb44b8122184d8b42a6 +https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-2_cp39.tar.bz2#39adde4247484de2bb4000122fdcf665 +https://conda.anaconda.org/conda-forge/noarch/pytz-2021.3-pyhd8ed1ab_0.tar.bz2#7e4f811bff46a5a6a7e0094921389395 +https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 +https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_0.tar.bz2#6d6552722448103793743dabfbda532d +https://conda.anaconda.org/conda-forge/noarch/tblib-1.7.0-pyhd8ed1ab_0.tar.bz2#3d4afc31302aa7be471feb6be048ed76 +https://conda.anaconda.org/conda-forge/noarch/toolz-0.11.2-pyhd8ed1ab_0.tar.bz2#f348d1590550371edfac5ed3c1d44f7e +https://conda.anaconda.org/conda-forge/noarch/typing_extensions-3.10.0.2-pyha770c72_0.tar.bz2#85dfd487a244bbe2cf7019ce8a39b5bc +https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.0-pyhd8ed1ab_1.tar.bz2#3aa2c3e25dd361b453d010388b9cdff1 +https://conda.anaconda.org/conda-forge/linux-64/antlr-python-runtime-4.7.2-py39hf3d152e_1003.tar.bz2#5e8330e806e50bd6137ebd125f4bc1bb +https://conda.anaconda.org/conda-forge/linux-64/cairo-1.16.0-ha00ac49_1009.tar.bz2#d1dff57b8731c245d3247b46d002e1c9 +https://conda.anaconda.org/conda-forge/linux-64/certifi-2021.10.8-py39hf3d152e_1.tar.bz2#67982d98030fde9139a64219dbe4db5e +https://conda.anaconda.org/conda-forge/linux-64/cfitsio-4.0.0-h9a35b8e_0.tar.bz2#6b214116ecabe2c5457a93b9763de61d +https://conda.anaconda.org/conda-forge/linux-64/click-8.0.3-py39hf3d152e_1.tar.bz2#30b637487f64a02e32591c667047cf08 +https://conda.anaconda.org/conda-forge/linux-64/curl-7.80.0-h2574ce0_0.tar.bz2#4d8fd67e5ab7e00fde8ad085464f43b7 +https://conda.anaconda.org/conda-forge/linux-64/cytoolz-0.11.2-py39h3811e60_1.tar.bz2#fca41893970eeb22f31e53c50c22dbbd +https://conda.anaconda.org/conda-forge/linux-64/fortran-compiler-1.3.0-h1990efc_0.tar.bz2#fc19435a9a259c341f8478068036099c +https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.12.1-mpi_mpich_h9c45103_1.tar.bz2#848971db056bf44543aa2ce530fcaa90 +https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.3.2-py39h1a9c180_1.tar.bz2#0692e15dbf6632726be4ed08aaeb37e1 +https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.0.1-py39h3811e60_1.tar.bz2#bba8fc0d724caa73a96220e48aac3b61 +https://conda.anaconda.org/conda-forge/linux-64/mpi4py-3.1.2-py39h6438238_0.tar.bz2#5f7eb38d8dff8520d7b82f5d4523de0f +https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.2-py39h1a9c180_2.tar.bz2#0882d2cf7190fee7d538fc7f3527378e +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.21.4-py39hdbf815f_0.tar.bz2#3ef30a1c931a3cfe564ca5212b3fa8fe +https://conda.anaconda.org/conda-forge/noarch/packaging-21.2-pyhd8ed1ab_1.tar.bz2#80ab704308a0c870245dc4cb62c6c156 +https://conda.anaconda.org/conda-forge/noarch/partd-1.2.0-pyhd8ed1ab_0.tar.bz2#0c32f563d7f22e3a34c95cad8cc95651 +https://conda.anaconda.org/conda-forge/linux-64/pillow-8.4.0-py39ha612740_0.tar.bz2#f36987ff4c71212ed574c8a2c190edb3 +https://conda.anaconda.org/conda-forge/linux-64/postgresql-13.3-h2510834_3.tar.bz2#5b3cae3b6161548a60a5f5178a7f0c23 +https://conda.anaconda.org/conda-forge/linux-64/proj-8.2.0-h277dcde_0.tar.bz2#7ba8c7a9bf1c2fedf4a6d6dc92839baf +https://conda.anaconda.org/conda-forge/linux-64/psutil-5.8.0-py39h3811e60_2.tar.bz2#e8848835fcdc39313f3214a44d8a4e2a +https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984 +https://conda.anaconda.org/conda-forge/linux-64/python-xxhash-2.0.2-py39h3811e60_1.tar.bz2#c763ed7d9b844a10a498a7a66319901a +https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0-py39h3811e60_3.tar.bz2#057928f10b3eaa98b088b7b57c6dabb8 +https://conda.anaconda.org/conda-forge/linux-64/setuptools-58.5.3-py39hf3d152e_0.tar.bz2#d50f066535f4794ce3c88bf8c44085de +https://conda.anaconda.org/conda-forge/linux-64/tornado-6.1-py39h3811e60_2.tar.bz2#5a7bb7af2f3bcf31ee6cd817de1d5011 +https://conda.anaconda.org/conda-forge/noarch/zict-2.0.0-py_0.tar.bz2#4750152be22f24d695b3004c5e1712d3 +https://conda.anaconda.org/conda-forge/linux-64/cftime-1.5.1.1-py39hce5d2b2_1.tar.bz2#de752948eb85895d5131ac3599c43ca3 +https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1-py_0.tar.bz2#4fd2c6b53934bd7d96d1f3fdaf99b79f +https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_1.tar.bz2#a29b7c141d6b2de4bb67788a5f107734 +https://conda.anaconda.org/conda-forge/linux-64/compilers-1.3.0-ha770c72_0.tar.bz2#9e0cda2ff85c8fba2ba4fb0046c61764 +https://conda.anaconda.org/conda-forge/noarch/dask-core-2021.11.1-pyhd8ed1ab_0.tar.bz2#9737b8117bd1b2b7e5e666330184d5db +https://conda.anaconda.org/conda-forge/linux-64/geotiff-1.7.0-h90a4e78_5.tar.bz2#512429d22b756a8b04efce724021dc22 +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.0.3-pyhd8ed1ab_0.tar.bz2#036d872c653780cb26e797e2e2f61b4c +https://conda.anaconda.org/conda-forge/linux-64/kealib-1.4.14-h87e4c3c_3.tar.bz2#41bf142f90ede16fa293161cbeff0335 +https://conda.anaconda.org/conda-forge/linux-64/libdap4-3.20.6-hd7c4107_2.tar.bz2#c265ae57e3acdc891f3e2b93cf6784f5 +https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.8.1-mpi_mpich_h319fa22_1.tar.bz2#7583fbaea3648f692c0c019254bc196c +https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.0.1-hed11718_11.tar.bz2#9ba6f2179fc5abd4fe647c33066ef197 +https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.4.3-py39h2fa2bec_1.tar.bz2#17559929ff13c2a2be1618c1d657191b +https://conda.anaconda.org/conda-forge/noarch/munch-2.5.0-py_0.tar.bz2#31d9e9be500e25ff0050bc9f57a6bcd7 +https://conda.anaconda.org/conda-forge/linux-64/pandas-1.3.4-py39hde0f152_1.tar.bz2#8b043715b3ecda6b4546c962aff6f519 +https://conda.anaconda.org/conda-forge/noarch/pip-21.3.1-pyhd8ed1ab_0.tar.bz2#e4fe2a9af78ff11f1aced7e62128c6a8 +https://conda.anaconda.org/conda-forge/linux-64/poppler-21.10.0-ha39eefc_0.tar.bz2#deef2d4ccf55a26a1637e71c9bdd602b +https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.2.1-py39h1b810de_5.tar.bz2#f473aba26fbf2ff72e5d57c52f07fc20 +https://conda.anaconda.org/conda-forge/linux-64/python-stratify-0.2.post0-py39hce5d2b2_1.tar.bz2#bea7af8119c8d38d9b55e7dc48b3bcd8 +https://conda.anaconda.org/conda-forge/linux-64/scipy-1.7.2-py39hee8e79c_0.tar.bz2#6f67769d2c14095f1d7bf4f07b5a961b +https://conda.anaconda.org/conda-forge/linux-64/shapely-1.8.0-py39hc7dd4e9_2.tar.bz2#42099c9e0be545c1d8d1e7824fc3e6db +https://conda.anaconda.org/conda-forge/linux-64/bokeh-2.4.1-py39hf3d152e_1.tar.bz2#6eeece7242ec65f312d2201a800043c8 +https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.20.1-py39h9134429_3.tar.bz2#19cbff34106dbcef0c550e3bf49d66a3 +https://conda.anaconda.org/conda-forge/linux-64/cf-units-3.0.1.post0-py39hce5d2b2_0.tar.bz2#cdd6977ad51fc5db4052983abd490827 +https://conda.anaconda.org/conda-forge/linux-64/distributed-2021.11.1-py39hf3d152e_0.tar.bz2#dc4b4a821dca5eef5035f8044e65ec3f +https://conda.anaconda.org/conda-forge/linux-64/libgdal-3.3.3-hc0e84f1_6.tar.bz2#8861c82c73a807a27b39297e42a58543 +https://conda.anaconda.org/conda-forge/linux-64/netcdf-fortran-4.5.3-mpi_mpich_h1364a43_6.tar.bz2#9caa0cf923af3d037897c6d7f8ea57c0 +https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.5.8-nompi_py39h64b754b_101.tar.bz2#75875ec36c7d80400bd7bb0b23fab429 +https://conda.anaconda.org/conda-forge/noarch/dask-2021.11.1-pyhd8ed1ab_0.tar.bz2#80e9c01969a48befbb315f402e64251d +https://conda.anaconda.org/conda-forge/linux-64/esmf-8.2.0-mpi_mpich_h4975321_100.tar.bz2#56f5c650937b1667ad0a557a0dff3bc4 +https://conda.anaconda.org/conda-forge/linux-64/gdal-3.3.3-py39h0494519_6.tar.bz2#36fe5392d1ade74f67db502f74c9a96b +https://conda.anaconda.org/conda-forge/linux-64/esmpy-8.2.0-mpi_mpich_py39h8bb458d_101.tar.bz2#347f324dd99dfb0b1479a466213b55bf +https://conda.anaconda.org/conda-forge/linux-64/fiona-1.8.20-py39h427c1bf_2.tar.bz2#6862cc3966a202433503289aec9fd43d +https://conda.anaconda.org/conda-forge/linux-64/iris-3.1.0-py39hf3d152e_1.tar.bz2#7a796651196171bf01ab84e16792ae78 diff --git a/doc/quickstart/install.rst b/doc/quickstart/install.rst index d973e3caa1..ba19474e3a 100644 --- a/doc/quickstart/install.rst +++ b/doc/quickstart/install.rst @@ -212,5 +212,51 @@ yourself if you are just running diagnostics: .. note:: If you would like to use pre-installed versions on HPC clusters (currently CEDA-JASMIN and DKRZ-MISTRAL), please have a look at - :ref:`the ESMValTool instructions too `. + :ref:`these instructions `. + +Installation from the conda lock file +------------------------------------- + +A fast conda environment creation is possible using the provided conda lock files. This is a secure alternative +to the installation from source, whenever the conda environment can not be created for some reason. A conda lock file +is an explicit environment file that contains pointers to dependency packages as they are hosted on the Anaconda cloud; +these have frozen version numbers, build hashes, and channel names, parameters established at the time +of the conda lock file creation, so may be obsolete after a while, +but they allow for a robust environment creation while they're still up-to-date. +We regenerate these lock files every 10 days, so to minimize the risk of dependencies becoming obsolete. +Conda environment creation from a lock file is done just like with any other environment file: + +.. code-block:: bash + + conda create --name esmvaltool --file conda-linux-64.lock + + +.. note:: + `pip` and `conda` are NOT installed, so you will have to install them in the new environment: use conda-forge as channel): ``conda install -c conda-forge pip`` at the very minimum so we can install `esmvalcore` afterwards. + + +Creating a conda lock file +-------------------------- + +We provide a conda lock file for Linux-based operating systems, but if you prefer to +build a conda lock file yourself, install the `conda-lock` package first: + +.. code-block:: bash + + conda install -c conda-forge conda-lock + +then run + +.. code-block:: bash + + conda-lock lock --platform linux-64 -f environment.yml --mamba + +(mamba activated for speed) to create a conda lock file for Linux platforms, +or run + +.. code-block:: bash + + conda-lock lock --platform osx-64 -f environment.yml --mamba + +to create a lock file for OSX platforms. Note however, that using conda lock files on OSX is still problematic!