diff --git a/ProFSea-environment.lock b/ProFSea-environment.lock index 796c8c1..a07935d 100644 --- a/ProFSea-environment.lock +++ b/ProFSea-environment.lock @@ -3,96 +3,186 @@ # platform: linux-64 @EXPLICIT https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2023.11.17-hbcca054_0.conda -https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libgfortran-3.0.0-1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_3.conda -https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_3.conda +https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.1.4-hbd8a1cb_0.conda +https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda +https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda +https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_17.conda +https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-8_cp313.conda +https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_3.conda -https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.25.0-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/geos-3.9.1-h9c3ff4c_2.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.1-h0b41bf4_3.conda -https://conda.anaconda.org/conda-forge/linux-64/icu-67.1-he1b5a44_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.19-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda +https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_2.conda +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_17.conda +https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.3-hb03c661_0.conda +https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-h39aace5_0.conda +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda +https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.6-hb03c661_0.conda +https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.3-hecca717_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_17.conda +https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_17.conda +https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda +https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda +https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_17.conda +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda +https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda +https://conda.anaconda.org/conda-forge/linux-64/xxhash-0.8.3-hb47aa4a_0.conda +https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda +https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda +https://conda.anaconda.org/conda-forge/linux-64/geos-3.14.1-h480dda7_0.conda +https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda +https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda +https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda -https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.5.0-hcb278e6_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libffi-3.3-h58526e2_2.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-ha4646dd_3.conda -https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.2-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda -https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.4-h59595ed_2.conda -https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1w-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/xxhash-0.8.2-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda -https://conda.anaconda.org/conda-forge/linux-64/krb5-1.20.1-hf9c8cef_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_3.conda -https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.51.0-hdcd2b5c_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.44.2-h2797004_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.10.0-haa6b8db_3.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_17.conda +https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.54-h421ea60_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.2-h0c1763c_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_17.conda https://conda.anaconda.org/conda-forge/linux-64/libudunits2-2.2.28-h40f5838_3.conda -https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda -https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda -https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-hd590300_5.conda -https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.5-hfc55251_0.conda -https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-h267a509_2.conda -https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.10.2-hc401514_3.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libcurl-7.87.0-h6312ad2_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.26-pthreads_h413a1c8_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-ha9c0a0a_2.conda -https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.44.2-h2c6b66d_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda +https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda +https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda +https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda +https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda +https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda +https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-h3e06ad9_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda +https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda +https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hceb46e0_1.conda +https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda +https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda +https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hb03c661_1.conda +https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda +https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda +https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.1-h73754d4_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.0-h1fed272_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_4.conda +https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda +https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda +https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.51.2-hbc0de68_0.conda https://conda.anaconda.org/conda-forge/linux-64/udunits2-2.2.28-h40f5838_3.conda -https://conda.anaconda.org/conda-forge/linux-64/curl-7.87.0-h6312ad2_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-21_linux64_openblas.conda -https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.3.2-h658648e_1.conda -https://repo.anaconda.com/pkgs/main/linux-64/proj-8.0.1-h1217e81_0.conda -https://repo.anaconda.com/pkgs/main/linux-64/python-3.7.7-hcff3b4d_5.conda -https://conda.anaconda.org/conda-forge/noarch/certifi-2023.11.17-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/cloudpickle-2.2.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/fsspec-2023.1.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-21_linux64_openblas.conda -https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-21_linux64_openblas.conda -https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.6.1-h5e45101_3.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.12-h4f16b4b_0.conda +https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-hed03a55_1.conda +https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hd9c7081_0.conda +https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda +https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.18-h0c24ade_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda +https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-hb8b1518_5.conda +https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.18.0-h4e3cde8_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.1-ha770c72_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda +https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.6.0-h9635ea4_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda +https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda +https://conda.anaconda.org/conda-forge/linux-64/python-3.13.5-hec9711d_102_cp313.conda +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda +https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.46-hb03c661_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda +https://conda.anaconda.org/conda-forge/noarch/certifi-2026.1.4-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyh8f84b5b_1.conda +https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda +https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda +https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.1-ha770c72_0.conda +https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.1.0-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h1b119a7_105.conda +https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py313hc8edb43_2.conda +https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-5_h0358290_openblas.conda +https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda +https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-5_h47877c9_openblas.conda +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/packaging-23.2-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.1.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/pyshp-2.3.1-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.7-2_cp37m.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/pytz-2023.3.post1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.7.1-pyha770c72_0.conda -https://conda.anaconda.org/conda-forge/noarch/wheel-0.42.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/antlr-python-runtime-4.7.2-py37h89c1867_1003.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.1-py37h540881e_1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/numpy-1.21.6-py37h976b520_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/partd-1.4.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.2.1-py37hcc46e62_6.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/python-xxhash-2.0.0-py37h5e8e339_1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0-py37h540881e_4.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/setuptools-59.8.0-py37h89c1867_1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/tornado-6.2-py37h540881e_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.7.1-hd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.2-py37hc105733_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/dask-core-2022.2.0-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.3-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.4-py37h7cecad7_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/pandas-1.3.5-py37he8f5f7f_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/pip-23.3.2-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/scipy-1.7.3-py37hf2a6cf1_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/shapely-1.8.0-py37h48c49eb_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/cf-units-3.0.1-py37hb1e94ed_2.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.2.2-py37h1d35a4c_1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.4.1-py37ha292673_200.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.20.0-py37hbe109c4_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.2.2-1.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/iris-3.1.0-pyhd8ed1ab_3.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py313h3dea7bd_0.conda +https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda +https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.10-he970967_0.conda +https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda +https://conda.anaconda.org/conda-forge/linux-64/pillow-12.1.0-py313h80991f8_0.conda +https://conda.anaconda.org/conda-forge/noarch/pip-26.0.1-pyh145f28c_0.conda +https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.1-he0df7b0_2.conda +https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda +https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.3-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2025.3-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/linux-64/python-xxhash-3.6.0-py313heab5758_1.conda +https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py313h3dea7bd_1.conda +https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda +https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda +https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.4-py313hd02dea0_0.conda +https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda +https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda +https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.15.0-h7e30c49_1.conda +https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.61.1-py313h3dea7bd_0.conda +https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.8-hf7376ad_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_h11f7409_103.conda +https://conda.anaconda.org/conda-forge/linux-64/libpq-18.1-h5c52fec_2.conda +https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.1-hca5e8e5_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda +https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.2-py313hf6604e3_1.conda +https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py313h77f6078_2.conda +https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda +https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda +https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py313h29aa505_1.conda +https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py313hc8edb43_4.conda +https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.1.2-pyhcf101f3_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.8-default_h99862b1_3.conda +https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.8-default_h746c552_3.conda +https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.1-py313h08cd8bf_0.conda +https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.1-py313h11c21cd_1.conda +https://conda.anaconda.org/conda-forge/linux-64/shapely-2.1.2-py313had47c43_2.conda +https://conda.anaconda.org/conda-forge/linux-64/cf-units-3.3.1-py313h29aa505_0.conda +https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.1.0-h15599e2_0.conda +https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.8-py313h683a580_0.conda +https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.4-nompi_py313h16051e2_102.conda +https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py313h08cd8bf_1.conda +https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.3-h5c1c036_1.conda +https://conda.anaconda.org/conda-forge/noarch/iris-3.14.1-pyha770c72_0.conda +https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.9.3-py313h85046ba_2.conda +https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.8-py313h78bf25f_0.conda diff --git a/ProFSea-environment.yml b/ProFSea-environment.yml index e0d6d41..2d5cf93 100755 --- a/ProFSea-environment.yml +++ b/ProFSea-environment.yml @@ -3,13 +3,13 @@ channels: - conda-forge dependencies: - numpy - - pandas - - python=3.7.7 - - scipy + - pandas<=2.3.1 + - python=3.13.5 + - scipy<=1.16.1 - pyyaml - netcdf4 - matplotlib - - libwebp>=1.3.2 + - libwebp - cartopy - iris - tqdm \ No newline at end of file diff --git a/README.md b/README.md index 3eefabf..1ba2bb0 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,9 @@ Users are advised to read this guide before using any products as it describes t The ProFSea tool user guide should be cited as: Perks, R. J. (2023). Met Office Projecting Future Sea Level (ProFSea) tool - User Guide (1.1). Met Office. https://doi.org/10.5281/zenodo.10245409 +--- +Once the `ProFSea-env` conda environment has been set up, users must also run `pip install -e .` from the root (top-most) directory in order to run the tool. + ## Contributors Several people have contributed to the development of the ProFSea tool and User Guide documentation, namely: Rachel Perks, Jacob Cheung, Benjamin Harrison, Katie Hodge, Mathew Palmer, Michael Sanderson, Hamish Steptoe, Jennifer Weeks and Gregory Munday. @@ -20,7 +23,7 @@ This work was supported by the UK Research & Innovation (UKRI) Strategic Priorit ## Licence ProFSea is licensed under the [Open Government Licence 3.0](https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/). -If you have any queries about this tool please contact: enquiries@metoffice.gov.uk +If you have any queries or feedback about this tool please contact Rachel Perks at rachel.perks@metoffice.gov.uk or the Met Office Service Desk at enquiries@metoffice.gov.uk.
Met Office
diff --git a/profsea/slr_pkg/__init__.py b/profsea/slr_pkg/__init__.py index 3d0ae21..56e3656 100644 --- a/profsea/slr_pkg/__init__.py +++ b/profsea/slr_pkg/__init__.py @@ -42,7 +42,11 @@ def extract_dyn_steric_regression(models, df, scenarios): :param scenarios: list of RCP scenarios """ # Base directory for CMIP "zos" and "zostoga" data - datadir = settings["cmipinfo"]["sealevelbasedir"] + if settings["datalocation"] != "": + datadir = os.path.join(settings["datalocation"],"cmip5/") + else: + datadir = settings["cmipinfo"]["sealevelbasedir"] + # Dictionary of CMIP models and experiments zos_dict = cmip.zos_dictionary() @@ -88,21 +92,21 @@ def extract_dyn_steric_regression(models, df, scenarios): try: # dynamic sea level (zos) zos_date = zos_dict[model][scenario]['driftcorr'] - zos_file = f'{datadir}normalized_zos_Omon_{model}_' \ - f'{scenario}_{zos_date}_driftcorr.nc' + zos_file = os.path.join(datadir, f'normalized_zos_Omon_{model}_' \ + f'{scenario}_{zos_date}_driftcorr.nc') zos = cubedata.read_zos_cube(zos_file)[0][:, j, i] # -------------------------------------------------------- # global mean thermosteric (zostoga) # Extract, and drift-correct CMIP "zostoga" data # Normal (concatenated) zostoga_date = zos_dict[model][scenario]['zostoga'] - zostoga_file = f'{datadir}zostoga_Omon_{model}_' \ - f'{scenario}_{zostoga_date}.nc' + zostoga_file = os.path.join(datadir, f'zostoga_Omon_{model}_' \ + f'{scenario}_{zostoga_date}.nc') zostoga_raw = cubedata.read_zos_cube(zostoga_file)[0] # piControl (concatenated) piControl_date = zos_dict[model][scenario]['piControl'] - zostoga_pic_file = f'{datadir}zostoga_Omon_' \ - f'{model}_piControl_{piControl_date}.nc' + zostoga_pic_file = os.path.join(datadir, f'zostoga_Omon_' \ + f'{model}_piControl_{piControl_date}.nc') zostoga_pic = cubedata.read_zos_cube(zostoga_pic_file)[0] regr = process.Regress('linear') @@ -374,9 +378,18 @@ def choose_montecarlo_dir(): """ end_yr = settings["projection_end_year"] if (end_yr >= 2050) & (end_yr <= 2100): - mcdir = settings["short_montecarlodir"] + if settings["datalocation"] != "": + mcdir = os.path.join(settings["datalocation"], + "monte_carlo_timeseries") + else: + mcdir = settings["short_montecarlodir"] + elif (end_yr > 2100) & (end_yr <= 2300): - mcdir = settings["long_montecarlodir"] + if settings["datalocation"] != "": + mcdir = os.path.join(settings["datalocation"], "slr") + else: + mcdir = settings["long_montecarlodir"] + else: raise ValueError('Projection end year must be between 2050 and 2300') diff --git a/profsea/step1_extract_cmip.py b/profsea/step1_extract_cmip.py index 3ef7661..5621efa 100644 --- a/profsea/step1_extract_cmip.py +++ b/profsea/step1_extract_cmip.py @@ -72,7 +72,11 @@ def extract_ssh_data(cmip_sea): :param cmip_sea: variable to distinguish between which CMIP models to use :return: CMIP model names, and associated SSH data cubes """ - cmip_dir = settings["cmipinfo"]["sealevelbasedir"] + if settings["datalocation"] != "": + cmip_dir = os.path.join(settings["datalocation"],"cmip5/") + else: + cmip_dir = settings["cmipinfo"]["sealevelbasedir"] + # Select CMIP models to use depending on whether location is within a # marginal sea if cmip_sea == 'all': @@ -89,8 +93,14 @@ def extract_ssh_data(cmip_sea): for model in model_names: print(f'Getting data for {model} model') cmip_date = cmip_dict[model]['historical'] - cmip_file = f'{cmip_dir}zos_Omon_{model}_historical_{cmip_date}.nc' - cube = cubeutils.loadcube(cmip_file, ncvar='zos')[0] + cmip_file = os.path.join(cmip_dir, f'zos_Omon_{model}_historical_{cmip_date}.nc') + try: + cube = cubeutils.loadcube(cmip_file, ncvar='zos')[0] + except IOError: + raise FileNotFoundError(os.path.join(cmip_file), + '- CMIP5 sea level data not found, please' \ + ' check file path') + cubes.append(cube.slices(['latitude', 'longitude']).next()) return model_names, cubes @@ -299,9 +309,9 @@ def main(): print(f' No lat lon specified - use tide gauge metadata if ' f'available') print(f'User specified science method is: {settings["sciencemethod"]}') - if {settings["cmipinfo"]["cmip_sea"]} == {'all'}: + if {settings["cmip_sea"]} == {'all'}: print('User specified all CMIP models') - elif {settings["cmipinfo"]["cmip_sea"]} == {'marginal'}: + elif {settings["cmip_sea"]} == {'marginal'}: print('User specified CMIP models for marginal seas only') # Extract site data from station list (e.g. tide gauge location) or @@ -314,7 +324,7 @@ def main(): # Find the nearest, appropriate ocean point in CMIP models to specified # site location - cmip_models, ssh_cubes = extract_ssh_data(settings["cmipinfo"]["cmip_sea"]) + cmip_models, ssh_cubes = extract_ssh_data(settings["cmip_sea"]) ocean_point_wrapper(df_site_data, cmip_models, ssh_cubes) diff --git a/profsea/step2_extract_steric_dyn_regression.py b/profsea/step2_extract_steric_dyn_regression.py index 599b1b9..040846b 100644 --- a/profsea/step2_extract_steric_dyn_regression.py +++ b/profsea/step2_extract_steric_dyn_regression.py @@ -20,14 +20,14 @@ def extract_cmip5_steric_dyn_regression(df): scenarios = ['rcp26', 'rcp45', 'rcp85'] # Select CMIP5 models to use - if settings["cmipinfo"]["cmip_sea"] == 'all': + if settings["cmip_sea"] == 'all': model_names = models.cmip5_names() - elif settings["cmipinfo"]["cmip_sea"] == 'marginal': + elif settings["cmip_sea"] == 'marginal': model_names = models.cmip5_names_marginal() else: raise UnboundLocalError( 'The selected CMIP5 models to use - cmip_sea = ' + - f'{settings["cmipinfo"]["cmip_sea"]} - ' + + f'{settings["cmip_sea"]} - ' + 'is not recognised') # Calculate the regression parameters and plot the results @@ -51,9 +51,9 @@ def main(): print(f' No lat lon specified - use tide gauge metadata if ' f'available') print(f'User specified science method is: {settings["sciencemethod"]}') - if {settings["cmipinfo"]["cmip_sea"]} == {'all'}: + if {settings["cmip_sea"]} == {'all'}: print('User specified all CMIP models') - elif {settings["cmipinfo"]["cmip_sea"]} == {'marginal'}: + elif {settings["cmip_sea"]} == {'marginal'}: print('User specified CMIP models for marginal seas only') # Extract site data from station list (e.g. tide gauge location) or diff --git a/profsea/step3_process_regional_sealevel_projections.py b/profsea/step3_process_regional_sealevel_projections.py index 0db288e..db529c2 100644 --- a/profsea/step3_process_regional_sealevel_projections.py +++ b/profsea/step3_process_regional_sealevel_projections.py @@ -203,7 +203,14 @@ def calculate_sl_components(mcdir, components, scenario, site_loc, loc_coords, offset = G_offset * offset_slopes[comp] - cube = iris.load_cube(os.path.join(mcdir, f'{scenario}_{comp}.nc')) + try: + cube = iris.load_cube(os.path.join(mcdir, f'{scenario}_{comp}.nc')) + except IOError: + raise FileNotFoundError(os.path.join(mcdir, + f'{scenario}_{comp}.nc'), + '- monte carlo file not found, please ' \ + 'check file path') + montecarlo_G[cc, :, :] = cube.data[:nyrs, resamples] + offset if comp == 'exp': @@ -322,7 +329,13 @@ def create_FP_interpolator(datadir, dfile, method='linear'): :param method: interpolation type --> 'linear' or 'nearest' :return: 2D Interpolator object """ - cube = iris.load_cube(os.path.join(datadir, dfile)) + try: + cube = iris.load_cube(os.path.join(datadir, dfile)) + except IOError: + raise FileNotFoundError(os.path.join(datadir, dfile), + '- grd fingerprint file not found, ' \ + 'please check file path') + lon = cube.coord('longitude').points lat = cube.coord('latitude').points @@ -395,15 +408,21 @@ def load_CMIP5_slope_coeffs_UK(scenario): :return: 1D array of slope coefficients and 1D array of weights """ print('running function load_CMIP5_slope_coeffs_UK') - in_zosdir_uk = settings["cmipinfo"]["slopecoeffsuk"] + if settings["datalocation"] != "": + in_zosdir_uk = os.path.join(settings["datalocation"], + "uk_cmip_slope_coefficients") + else: + in_zosdir_uk = settings["cmipinfo"]["slopecoeffsuk"] + filename_uk = f'{scenario}_CMIP5_regress_coeffs_uk_mask_1.pickle' try: with open(os.path.join(in_zosdir_uk, filename_uk), 'rb') as f: data = pickle.load(f, encoding='latin1')['uk_mask_1'] except FileNotFoundError: - raise FileNotFoundError(filename_uk, - '- scenario selected does not exist') + raise FileNotFoundError(os.path.join(in_zosdir_uk, filename_uk), + '- CMIP5 UK Slope Coefficients not found, ' \ + 'please check file path') # Keys are: 'coeffs', 'models', 'weights' coeffs = data['coeffs'] @@ -425,21 +444,39 @@ def read_gia_estimates(sci_method, coords): print('running function read_gia_estimates') # Directories containing GIA data (independent of scenario) if sci_method == 'global': - gia_file = settings["giaestimates"]["global"] + if settings["datalocation"] != "": + gia_file = os.path.join(settings["datalocation"], "gia_estimates", + "global_GIA_interpolators.pickle") + else: + gia_file = settings["giaestimates"]["global"] + elif sci_method == 'UK': - gia_file = settings["giaestimates"]["uk"] + if settings["datalocation"] != "": + gia_file = os.path.join(settings["datalocation"], "gia_estimates", + "Bradley_GIA_interpolator.pickle") + else: + gia_file = settings["giaestimates"]["uk"] else: raise UnboundLocalError('The selected GIA estimate - ' + f'{sci_method} - is not available') - with open(gia_file, "rb") as ifp: - GIA_dict = pickle.load(ifp, encoding='latin1') + try: + with open(gia_file, "rb") as ifp: + GIA_dict = pickle.load(ifp, encoding='latin1') + except FileNotFoundError: + raise FileNotFoundError(os.path.join("gia_estimates", gia_file), + '- gia estimates file not found, please ' \ + 'check file path') GIA_vals = [] lat, lon = coords + # The GIA_dict contains interpolator objects for key in list(GIA_dict.keys()): - val = GIA_dict[key]([lat, lon])[0] + old_grid = GIA_dict[key].grid + old_vals = GIA_dict[key].values + new_rgi = RegularGridInterpolator(old_grid, old_vals) + val = np.squeeze(new_rgi([lat, lon])) GIA_vals.append(val) nGIA = len(GIA_vals) @@ -461,9 +498,18 @@ def setup_FP_interpolators(components, sci_method): print('running function setup_FP_interpolators') # Directories for the Slangen, Spada and Klemann fingerprints - slangendir = settings["fingerprints"]["slangendir"] - spadadir = settings["fingerprints"]["spadadir"] - klemanndir = settings["fingerprints"]["klemanndir"] + if settings["datalocation"] != "": + slangendir = os.path.join(settings["datalocation"], + "grd_fingerprints") + spadadir = os.path.join(settings["datalocation"], + "grd_fingerprints") + klemanndir = os.path.join(settings["datalocation"], + "grd_fingerprints") + else: + slangendir = settings["fingerprints"]["slangendir"] + spadadir = settings["fingerprints"]["spadadir"] + klemanndir = settings["fingerprints"]["klemanndir"] + # Create empty dictionaries for the Slangen, Spada and Klemann fingerprints # interpolator objects. @@ -516,9 +562,9 @@ def main(): print(f' No lat lon specified - use tide gauge metadata if ' f'available') print(f'User specified science method is: {settings["sciencemethod"]}') - if {settings["cmipinfo"]["cmip_sea"]} == {'all'}: + if {settings["cmip_sea"]} == {'all'}: print('User specified all CMIP models') - elif {settings["cmipinfo"]["cmip_sea"]} == {'marginal'}: + elif {settings["cmip_sea"]} == {'marginal'}: print('User specified CMIP models for marginal seas only') print(f'\nProjecting out to: {settings["projection_end_year"]}\n') diff --git a/profsea/step4_plot_regional_sealevel.py b/profsea/step4_plot_regional_sealevel.py index 051375c..5b9292b 100644 --- a/profsea/step4_plot_regional_sealevel.py +++ b/profsea/step4_plot_regional_sealevel.py @@ -912,9 +912,9 @@ def main(): print(f' No lat lon specified - use tide gauge metadata if ' f'available') print(f'User specified science method is: {settings["sciencemethod"]}') - if {settings["cmipinfo"]["cmip_sea"]} == {'all'}: + if {settings["cmip_sea"]} == {'all'}: print('User specified all CMIP models') - elif {settings["cmipinfo"]["cmip_sea"]} == {'marginal'}: + elif {settings["cmip_sea"]} == {'marginal'}: print('User specified CMIP models for marginal seas only') # Extract site data from station list (e.g. tide gauge location) or diff --git a/profsea/tide_gauge_locations.py b/profsea/tide_gauge_locations.py index ced9dd4..161a584 100644 --- a/profsea/tide_gauge_locations.py +++ b/profsea/tide_gauge_locations.py @@ -95,7 +95,7 @@ def extract_site_info(data_source, data_type, region, site_name, latlon): keep='first')].transpose() df_temp = pd.DataFrame(site_data).transpose() - dfObj = dfObj.append(df_temp) + dfObj = dfObj._append(df_temp) elif latlon != [[]]: print(f'{site_to_check} - Site metadata taken from user input') @@ -110,7 +110,7 @@ def extract_site_info(data_source, data_type, region, site_name, latlon): 'Location', 'Dataset type', 'Station ID', 'Latitude', 'Longitude']) df_temp = df_temp.set_index('Location') - dfObj = dfObj.append(df_temp) + dfObj = dfObj._append(df_temp) else: raise IndexError(f'No site metadata for this site: {site_to_check}, have you spelled it correctly?') diff --git a/profsea/user-settings.yml b/profsea/user-settings.yml index bbdacb6..47181d0 100644 --- a/profsea/user-settings.yml +++ b/profsea/user-settings.yml @@ -29,10 +29,15 @@ plot_tide_gauge_data: True # bool # Science method # UKCP18 --> sciencemethod: 'UK' -# Palmer et al (2020) --> sciencemethod: 'global +# Palmer et al (2020) --> sciencemethod: 'global' # N.B. Used to identify which GIA estimates to use sciencemethod: 'global' # str +# cmip_sea: for non-UK locations, specify if site is within marginal sea +# Not in a marginal sea --> cmip_sea: 'all' +# Marginal sea --> cmip_sea: 'marginal' +cmip_sea: 'all' # str + # Tide gauge information (recommend default below) # source: source of tide gauge information # N.B. Also used to identify which TG directory to use @@ -44,12 +49,16 @@ tidegaugeinfo: datafq: ['annual'] # list psmsldir: '/home/user/data/PSMSL/' +# File path of data from CEDA (up to 'profsea_tool' directory) +# N.B. If working with data in a different structure to the default, +# leave this as a blank string and fill in the directory paths below +datalocation: '/home/user/data/deposited2023/profsea_tool/' + + +# Optional Settings: Settings listed below only need to be set if datalocation is blank + # CMIP information cmipinfo: -# cmip_sea: for non-UK locations, specify if site is within marginal sea -# Not in a marginal sea --> cmip_sea: 'all' -# Marginal sea --> cmip_sea: 'marginal' - cmip_sea: 'all' # str # sealevelbasedir: Base directory for CMIP "zos" and "zostoga" data sealevelbasedir: '/deposited2023/profsea_tool/cmip5/' # slopecoeffsuk: CMIP5 slope coefficients developed for UKCP18 @@ -60,8 +69,8 @@ cmipinfo: # UKCP18 --> UK specific ones # Global locations --> Lambeck, ICE5G giaestimates: - global: '/deposited2023/profsea_tool/gia_estimates /global_GIA_interpolators.pickle' - uk: '‘/deposited2023/profsea_tool/gia_estimates/Bradley_GIA_interpolator.pickle' + global: '/deposited2023/profsea_tool/gia_estimates/global_GIA_interpolators.pickle' + uk: '/deposited2023/profsea_tool/gia_estimates/Bradley_GIA_interpolator.pickle' # Directories for the Slangen, Spada and Klemann fingerprints fingerprints: @@ -71,5 +80,5 @@ fingerprints: # Directory of Monte Carlo time series for new projections # N.B. Originally developed by Jonathan Gregory -short_montecarlodir: '/path/to/2100/montecarlo/simulations' # Required for projections up to 2100 -long_montecarlodir: '/path/to/2300/montecarlo/simulations' # Required for projections from 2100 up to 2300 +short_montecarlodir: '/deposited2023/profsea_tool/monte_carlo_timeseries/' # Required for projections up to 2100 +long_montecarlodir: '/deposited2023/profsea_tool/slr/' # Required for projections from 2100 up to 2300