-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Define data model for catalog attributes using pydantic #46
base: master
Are you sure you want to change the base?
Conversation
…ts validation against controlled vocabularies. Add logging and tests.
catalog/README.md
Outdated
|
||
Each catalog type (e.g. reanalysis) defines a _data model_, a representation of the attributes that make up a catalog entry. This data model is defined using pydantic, which makes it easy to impose rules and restrictions to the values entered in the catalog. It is possible, for example, to constrain an attribute to a type, a list of possibilities or a regular expression. | ||
|
||
The definition of CVs for attributes uses `pyessv`, the library underlying metadata validation in ES-DOC. The `pyessv-archive` repository is cloned locally and loaded by pyessv at import time. pyessv defines a naming hierarchy: authority, scope, collection, term. Within a data model, each attribute bound by a CV is typed as an `Enum`, with a list of _terms_ taken from a pyessv _collection_, for example: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this cloning performed by pyessv or by the user? Is there a helper function for this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
by the user.
not that I know of.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair enough. For my purposes, I added a git clone command to my tox
configuration to better automate setup testing. Do you think the pyessv maintainers would appreciate a PR with helper function to do just that?
…l) to production faster Full build pulls newer RavenPy which requires more testing and a new RavenWPS to match. This requires more time for testing. esgf-pyclient for pavics-sdi esgf-dap.ipynb, PR Ouranosinc/pavics-sdi#269 xncml for gen_catalog refactoring, PR Ouranosinc/pavics-vdb#46 ``` Step 4/5 : RUN umask 0000 && mamba install -c conda-forge -c cdat -c bokeh -c plotly -c pyston -c pyviz/label/dev -c defaults -n birdy esgf-pyclient && pip install xncml ---> Running in 11f0bd71b9ff Transaction Prefix: /opt/conda/envs/birdy Updating specs: - esgf-pyclient - ca-certificates - certifi - openssl Package Version Build Channel Size ─────────────────────────────────────────────────────────────────────────────────────────── Install: ─────────────────────────────────────────────────────────────────────────────────────────── + astor 0.8.1 pyh9f0ad1d_0 conda-forge/noarch 26kB + aws-c-auth 0.6.26 hf365957_1 conda-forge/linux-64 96kB + aws-c-compression 0.2.16 h03acc5a_5 conda-forge/linux-64 19kB + aws-c-http 0.7.6 hf342b9f_0 conda-forge/linux-64 192kB + aws-c-mqtt 0.8.6 hc4349f7_12 conda-forge/linux-64 144kB + aws-c-s3 0.2.7 h909e904_1 conda-forge/linux-64 76kB + aws-c-sdkutils 0.1.8 h03acc5a_0 conda-forge/linux-64 54kB + aws-crt-cpp 0.19.8 hf7fbfca_12 conda-forge/linux-64 318kB + base58 2.1.1 pyhd8ed1ab_0 conda-forge/noarch 9kB + boto3 1.24.59 pyhd8ed1ab_0 conda-forge/noarch 74kB + cattrs 22.2.0 pyhd8ed1ab_0 conda-forge/noarch 31kB + esgf-pyclient 0.3.1 pyh1a96a4e_2 conda-forge/noarch 23kB + libarrow 11.0.0 h33598ff_9_cpu conda-forge/linux-64 27MB + libgrpc 1.51.1 hcf146ea_3 conda-forge/linux-64 5MB + myproxyclient 2.1.0 pyhd8ed1ab_2 conda-forge/noarch 27kB + qhull 2020.2 h4bd325d_2 conda-forge/linux-64 2MB + requests-cache 1.0.1 pyhd8ed1ab_0 conda-forge/noarch 49kB + s3transfer 0.6.0 pyhd8ed1ab_0 conda-forge/noarch 57kB + ujson 5.7.0 py38h8dc9893_0 conda-forge/linux-64 51kB + url-normalize 1.4.3 pyhd8ed1ab_0 conda-forge/noarch 10kB + xeus-zmq 1.0.2 h0541b36_2 conda-forge/linux-64 347kB Change: ─────────────────────────────────────────────────────────────────────────────────────────── - fiona 1.8.22 py38hc72d8cd_2 conda-forge + fiona 1.8.22 py38h85a5e0f_5 conda-forge/linux-64 801kB - hdf5 1.12.2 mpi_mpich_h08b82f9_0 conda-forge + hdf5 1.12.2 mpi_mpich_h5d83325_1 conda-forge/linux-64 3MB - libarchive 3.5.2 hb890918_3 conda-forge + libarchive 3.5.2 hada088e_3 conda-forge/linux-64 2MB - libcups 2.3.3 h3e49a29_2 conda-forge + libcups 2.3.3 h36d4200_3 conda-forge/linux-64 5MB - libevent 2.1.10 h9b69904_4 conda-forge + libevent 2.1.10 h28343ad_4 conda-forge/linux-64 1MB - libssh2 1.10.0 haa6b8db_3 conda-forge + libssh2 1.10.0 hf14f497_3 conda-forge/linux-64 Cached - libzip 1.9.2 hc869a4a_1 conda-forge + libzip 1.9.2 hc929e4a_1 conda-forge/linux-64 Cached - pulseaudio 16.1 h4a94279_0 conda-forge + pulseaudio 16.1 h126f2b6_0 conda-forge/linux-64 2MB - pycurl 7.45.1 py38h61f0cdf_3 conda-forge + pycurl 7.45.1 py38he9e1d38_3 conda-forge/linux-64 77kB - qt-main 5.15.6 h7acdfc8_2 conda-forge + qt-main 5.15.6 hf6cd601_5 conda-forge/linux-64 55MB - wget 1.20.3 ha56f1ee_1 conda-forge + wget 1.20.3 ha35d2d1_1 conda-forge/linux-64 835kB Upgrade: ─────────────────────────────────────────────────────────────────────────────────────────── - arrow-cpp 9.0.0 py38he270906_2_cpu conda-forge + arrow-cpp 11.0.0 ha770c72_9_cpu conda-forge/linux-64 31kB - aws-c-cal 0.5.11 h95a6274_0 conda-forge + aws-c-cal 0.5.21 h48707d8_2 conda-forge/linux-64 44kB - aws-c-common 0.6.2 h7f98852_0 conda-forge + aws-c-common 0.8.14 h0b41bf4_0 conda-forge/linux-64 200kB - aws-c-event-stream 0.2.7 h3541f99_13 conda-forge + aws-c-event-stream 0.2.20 h00877a2_4 conda-forge/linux-64 54kB - aws-c-io 0.10.5 hfb6a706_0 conda-forge + aws-c-io 0.13.19 h5b20300_3 conda-forge/linux-64 144kB - aws-checksums 0.1.11 ha31a3da_7 conda-forge + aws-checksums 0.1.14 h03acc5a_5 conda-forge/linux-64 50kB - aws-sdk-cpp 1.8.186 hecaee15_4 conda-forge + aws-sdk-cpp 1.10.57 h17c43bd_8 conda-forge/linux-64 4MB - blosc 1.21.1 h83bc5f7_3 conda-forge + blosc 1.21.3 hafa529b_0 conda-forge/linux-64 40kB - ca-certificates 2022.9.24 ha878542_0 conda-forge + ca-certificates 2022.12.7 ha878542_0 conda-forge/linux-64 146kB - certifi 2022.9.24 pyhd8ed1ab_0 conda-forge + certifi 2022.12.7 pyhd8ed1ab_0 conda-forge/noarch 151kB - cryptography 38.0.4 py38h2b5fc30_0 conda-forge + cryptography 40.0.1 py38h3d167d9_0 conda-forge/linux-64 1MB - curl 7.86.0 h7bff187_1 conda-forge + curl 7.88.1 hdc1c0ab_1 conda-forge/linux-64 88kB - gdal 3.5.3 py38h1f15b03_4 conda-forge + gdal 3.6.0 py38h58634bd_13 conda-forge/linux-64 1MB - grpc-cpp 1.47.1 hbad87ad_6 conda-forge + grpc-cpp 1.51.1 h27aab58_3 conda-forge/linux-64 22kB - grpcio 1.47.1 py38h5b6373e_6 conda-forge + grpcio 1.51.1 py38h8dc9893_3 conda-forge/linux-64 769kB - kealib 1.4.15 ha7026e8_1 conda-forge + kealib 1.5.0 ha7026e8_0 conda-forge/linux-64 Cached - krb5 1.19.3 h3790be6_0 conda-forge + krb5 1.20.1 h81ceb04_0 conda-forge/linux-64 1MB - libabseil 20220623.0 cxx17_h48a1fff_5 conda-forge + libabseil 20230125.0 cxx17_hcb278e6_1 conda-forge/linux-64 1MB - libcurl 7.86.0 h7bff187_1 conda-forge + libcurl 7.88.1 hdc1c0ab_1 conda-forge/linux-64 359kB - libgdal 3.5.3 hcb70f40_4 conda-forge + libgdal 3.6.0 h2f87c3e_13 conda-forge/linux-64 10MB - libgoogle-cloud 2.1.0 h9ebe8e8_2 conda-forge + libgoogle-cloud 2.8.0 h3c06191_0 conda-forge/linux-64 38MB - libnghttp2 1.47.0 hdcd2b5c_1 conda-forge + libnghttp2 1.52.0 h61bc06f_0 conda-forge/linux-64 622kB - libpq 14.5 hd77ab85_1 conda-forge + libpq 15.2 hb675445_0 conda-forge/linux-64 2MB - libprotobuf 3.20.2 h6239696_0 conda-forge + libprotobuf 3.21.12 h3eb15da_0 conda-forge/linux-64 2MB - libthrift 0.16.0 h491838f_2 conda-forge + libthrift 0.18.0 h5e4af38_0 conda-forge/linux-64 4MB - mysql-common 8.0.31 haf5c9bc_0 conda-forge + mysql-common 8.0.32 ha901b37_1 conda-forge/linux-64 760kB - mysql-libs 8.0.31 h28c427c_0 conda-forge + mysql-libs 8.0.32 hd7da12d_1 conda-forge/linux-64 2MB - nodejs 18.12.1 h96d913c_0 conda-forge + nodejs 18.15.0 h8d033a5_0 conda-forge/linux-64 15MB - openssl 1.1.1s h166bdaf_0 conda-forge + openssl 3.1.0 h0b41bf4_0 conda-forge/linux-64 3MB - orc 1.7.6 h6c59b99_0 conda-forge + orc 1.8.2 hfdbbad2_2 conda-forge/linux-64 907kB - postgresql 14.5 hdeef612_1 conda-forge + postgresql 15.2 h3248436_0 conda-forge/linux-64 5MB - protobuf 3.20.2 py38hfa26641_1 conda-forge + protobuf 4.21.12 py38h8dc9893_0 conda-forge/linux-64 323kB - pyarrow 9.0.0 py38h097c49a_2_cpu conda-forge + pyarrow 11.0.0 py38hf05218d_9_cpu conda-forge/linux-64 4MB - pyopenssl 22.1.0 pyhd8ed1ab_0 conda-forge + pyopenssl 23.1.1 pyhd8ed1ab_0 conda-forge/noarch 128kB - python 3.8.15 h257c98d_0_cpython conda-forge + python 3.8.16 he550d4f_1_cpython conda-forge/linux-64 23MB - rasterio 1.3.3 py38hb7ee17c_3 conda-forge + rasterio 1.3.4 py38h485b76c_0 conda-forge/linux-64 9MB - re2 2022.06.01 h27087fc_1 conda-forge + re2 2023.02.02 hcb278e6_0 conda-forge/linux-64 201kB - s2n 1.0.10 h9b69904_0 conda-forge + s2n 1.3.41 h3358134_0 conda-forge/linux-64 362kB - tiledb 2.11.3 h1e4a385_1 conda-forge + tiledb 2.13.2 hd532e3d_0 conda-forge/linux-64 5MB - xeus 2.4.1 h70bab47_0 conda-forge + xeus 3.0.5 hac2b420_1 conda-forge/linux-64 343kB - xeus-python 0.14.3 py38h9f61dbb_1 conda-forge + xeus-python 0.15.8 py38hfbd4bf9_1 conda-forge/linux-64 769kB Downgrade: ─────────────────────────────────────────────────────────────────────────────────────────── - streamlit 1.15.1 pyhd8ed1ab_0 conda-forge + streamlit 1.8.0 pyhd8ed1ab_0 conda-forge/noarch 8MB Summary: Install: 21 packages Change: 11 packages Upgrade: 41 packages Downgrade: 1 packages Total download: 251MB ─────────────────────────────────────────────────────────────────────────────────────────── Confirm changes: [Y/n] Looking for: ['esgf-pyclient'] Pinned packages: - python 3.8.* Preparing transaction: ...working... done Verifying transaction: ...working... done Downloading xncml-0.2-py2.py3-none-any.whl (869 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 869.2/869.2 kB 8.3 MB/s eta 0:00:00 Requirement already satisfied: xarray in /opt/conda/envs/birdy/lib/python3.8/site-packages (from xncml) (2022.10.0) Collecting xmltodict Downloading xmltodict-0.13.0-py2.py3-none-any.whl (10.0 kB) Collecting xsdata Downloading xsdata-22.12-py3-none-any.whl (185 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 185.7/185.7 kB 18.0 MB/s eta 0:00:00 Requirement already satisfied: cftime in /opt/conda/envs/birdy/lib/python3.8/site-packages (from xncml) (1.6.2) Requirement already satisfied: netCDF4 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from xncml) (1.6.2) Requirement already satisfied: dask in /opt/conda/envs/birdy/lib/python3.8/site-packages (from xncml) (2022.11.1) Requirement already satisfied: numpy>1.13.3 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from cftime->xncml) (1.23.5) Requirement already satisfied: pyyaml>=5.3.1 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (6.0) Requirement already satisfied: fsspec>=0.6.0 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (2022.11.0) Requirement already satisfied: click>=7.0 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (8.1.3) Requirement already satisfied: partd>=0.3.10 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (1.3.0) Requirement already satisfied: packaging>=20.0 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (21.3) Requirement already satisfied: toolz>=0.8.2 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (0.12.0) Requirement already satisfied: cloudpickle>=1.1.1 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (2.2.0) Requirement already satisfied: pandas>=1.3 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from xarray->xncml) (1.3.5) Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from packaging>=20.0->dask->xncml) (3.0.9) Requirement already satisfied: python-dateutil>=2.7.3 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from pandas>=1.3->xarray->xncml) (2.8.2) Requirement already satisfied: pytz>=2017.3 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from pandas>=1.3->xarray->xncml) (2022.6) Requirement already satisfied: locket in /opt/conda/envs/birdy/lib/python3.8/site-packages (from partd>=0.3.10->dask->xncml) (1.0.0) Requirement already satisfied: six>=1.5 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from python-dateutil>=2.7.3->pandas>=1.3->xarray->xncml) (1.16.0) Installing collected packages: xsdata, xmltodict, xncml Successfully installed xmltodict-0.13.0 xncml-0.2 xsdata-22.12 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv Removing intermediate container 11f0bd71b9ff ---> 00cd0ac38b2b Step 5/5 : USER jenkins ---> Running in 9b00ba912ac4 ```
…l) to production faster Full build pulls newer RavenPy which requires more testing and a new RavenWPS to match. This requires more time for testing. esgf-pyclient for pavics-sdi esgf-dap.ipynb, PR Ouranosinc/pavics-sdi#269 xncml for gen_catalog refactoring, PR Ouranosinc/pavics-vdb#46 ``` Step 4/5 : RUN umask 0000 && mamba install -c conda-forge -c cdat -c bokeh -c plotly -c pyston -c pyviz/label/dev -c defaults -n birdy esgf-pyclient && pip install xncml ---> Running in 11f0bd71b9ff Transaction Prefix: /opt/conda/envs/birdy Updating specs: - esgf-pyclient - ca-certificates - certifi - openssl Package Version Build Channel Size ─────────────────────────────────────────────────────────────────────────────────────────── Install: ─────────────────────────────────────────────────────────────────────────────────────────── + astor 0.8.1 pyh9f0ad1d_0 conda-forge/noarch 26kB + aws-c-auth 0.6.26 hf365957_1 conda-forge/linux-64 96kB + aws-c-compression 0.2.16 h03acc5a_5 conda-forge/linux-64 19kB + aws-c-http 0.7.6 hf342b9f_0 conda-forge/linux-64 192kB + aws-c-mqtt 0.8.6 hc4349f7_12 conda-forge/linux-64 144kB + aws-c-s3 0.2.7 h909e904_1 conda-forge/linux-64 76kB + aws-c-sdkutils 0.1.8 h03acc5a_0 conda-forge/linux-64 54kB + aws-crt-cpp 0.19.8 hf7fbfca_12 conda-forge/linux-64 318kB + base58 2.1.1 pyhd8ed1ab_0 conda-forge/noarch 9kB + boto3 1.24.59 pyhd8ed1ab_0 conda-forge/noarch 74kB + cattrs 22.2.0 pyhd8ed1ab_0 conda-forge/noarch 31kB + esgf-pyclient 0.3.1 pyh1a96a4e_2 conda-forge/noarch 23kB + libarrow 11.0.0 h33598ff_9_cpu conda-forge/linux-64 27MB + libgrpc 1.51.1 hcf146ea_3 conda-forge/linux-64 5MB + myproxyclient 2.1.0 pyhd8ed1ab_2 conda-forge/noarch 27kB + qhull 2020.2 h4bd325d_2 conda-forge/linux-64 2MB + requests-cache 1.0.1 pyhd8ed1ab_0 conda-forge/noarch 49kB + s3transfer 0.6.0 pyhd8ed1ab_0 conda-forge/noarch 57kB + ujson 5.7.0 py38h8dc9893_0 conda-forge/linux-64 51kB + url-normalize 1.4.3 pyhd8ed1ab_0 conda-forge/noarch 10kB + xeus-zmq 1.0.2 h0541b36_2 conda-forge/linux-64 347kB Change: ─────────────────────────────────────────────────────────────────────────────────────────── - fiona 1.8.22 py38hc72d8cd_2 conda-forge + fiona 1.8.22 py38h85a5e0f_5 conda-forge/linux-64 801kB - hdf5 1.12.2 mpi_mpich_h08b82f9_0 conda-forge + hdf5 1.12.2 mpi_mpich_h5d83325_1 conda-forge/linux-64 3MB - libarchive 3.5.2 hb890918_3 conda-forge + libarchive 3.5.2 hada088e_3 conda-forge/linux-64 2MB - libcups 2.3.3 h3e49a29_2 conda-forge + libcups 2.3.3 h36d4200_3 conda-forge/linux-64 5MB - libevent 2.1.10 h9b69904_4 conda-forge + libevent 2.1.10 h28343ad_4 conda-forge/linux-64 1MB - libssh2 1.10.0 haa6b8db_3 conda-forge + libssh2 1.10.0 hf14f497_3 conda-forge/linux-64 Cached - libzip 1.9.2 hc869a4a_1 conda-forge + libzip 1.9.2 hc929e4a_1 conda-forge/linux-64 Cached - pulseaudio 16.1 h4a94279_0 conda-forge + pulseaudio 16.1 h126f2b6_0 conda-forge/linux-64 2MB - pycurl 7.45.1 py38h61f0cdf_3 conda-forge + pycurl 7.45.1 py38he9e1d38_3 conda-forge/linux-64 77kB - qt-main 5.15.6 h7acdfc8_2 conda-forge + qt-main 5.15.6 hf6cd601_5 conda-forge/linux-64 55MB - wget 1.20.3 ha56f1ee_1 conda-forge + wget 1.20.3 ha35d2d1_1 conda-forge/linux-64 835kB Upgrade: ─────────────────────────────────────────────────────────────────────────────────────────── - arrow-cpp 9.0.0 py38he270906_2_cpu conda-forge + arrow-cpp 11.0.0 ha770c72_9_cpu conda-forge/linux-64 31kB - aws-c-cal 0.5.11 h95a6274_0 conda-forge + aws-c-cal 0.5.21 h48707d8_2 conda-forge/linux-64 44kB - aws-c-common 0.6.2 h7f98852_0 conda-forge + aws-c-common 0.8.14 h0b41bf4_0 conda-forge/linux-64 200kB - aws-c-event-stream 0.2.7 h3541f99_13 conda-forge + aws-c-event-stream 0.2.20 h00877a2_4 conda-forge/linux-64 54kB - aws-c-io 0.10.5 hfb6a706_0 conda-forge + aws-c-io 0.13.19 h5b20300_3 conda-forge/linux-64 144kB - aws-checksums 0.1.11 ha31a3da_7 conda-forge + aws-checksums 0.1.14 h03acc5a_5 conda-forge/linux-64 50kB - aws-sdk-cpp 1.8.186 hecaee15_4 conda-forge + aws-sdk-cpp 1.10.57 h17c43bd_8 conda-forge/linux-64 4MB - blosc 1.21.1 h83bc5f7_3 conda-forge + blosc 1.21.3 hafa529b_0 conda-forge/linux-64 40kB - ca-certificates 2022.9.24 ha878542_0 conda-forge + ca-certificates 2022.12.7 ha878542_0 conda-forge/linux-64 146kB - certifi 2022.9.24 pyhd8ed1ab_0 conda-forge + certifi 2022.12.7 pyhd8ed1ab_0 conda-forge/noarch 151kB - cryptography 38.0.4 py38h2b5fc30_0 conda-forge + cryptography 40.0.1 py38h3d167d9_0 conda-forge/linux-64 1MB - curl 7.86.0 h7bff187_1 conda-forge + curl 7.88.1 hdc1c0ab_1 conda-forge/linux-64 88kB - gdal 3.5.3 py38h1f15b03_4 conda-forge + gdal 3.6.0 py38h58634bd_13 conda-forge/linux-64 1MB - grpc-cpp 1.47.1 hbad87ad_6 conda-forge + grpc-cpp 1.51.1 h27aab58_3 conda-forge/linux-64 22kB - grpcio 1.47.1 py38h5b6373e_6 conda-forge + grpcio 1.51.1 py38h8dc9893_3 conda-forge/linux-64 769kB - kealib 1.4.15 ha7026e8_1 conda-forge + kealib 1.5.0 ha7026e8_0 conda-forge/linux-64 Cached - krb5 1.19.3 h3790be6_0 conda-forge + krb5 1.20.1 h81ceb04_0 conda-forge/linux-64 1MB - libabseil 20220623.0 cxx17_h48a1fff_5 conda-forge + libabseil 20230125.0 cxx17_hcb278e6_1 conda-forge/linux-64 1MB - libcurl 7.86.0 h7bff187_1 conda-forge + libcurl 7.88.1 hdc1c0ab_1 conda-forge/linux-64 359kB - libgdal 3.5.3 hcb70f40_4 conda-forge + libgdal 3.6.0 h2f87c3e_13 conda-forge/linux-64 10MB - libgoogle-cloud 2.1.0 h9ebe8e8_2 conda-forge + libgoogle-cloud 2.8.0 h3c06191_0 conda-forge/linux-64 38MB - libnghttp2 1.47.0 hdcd2b5c_1 conda-forge + libnghttp2 1.52.0 h61bc06f_0 conda-forge/linux-64 622kB - libpq 14.5 hd77ab85_1 conda-forge + libpq 15.2 hb675445_0 conda-forge/linux-64 2MB - libprotobuf 3.20.2 h6239696_0 conda-forge + libprotobuf 3.21.12 h3eb15da_0 conda-forge/linux-64 2MB - libthrift 0.16.0 h491838f_2 conda-forge + libthrift 0.18.0 h5e4af38_0 conda-forge/linux-64 4MB - mysql-common 8.0.31 haf5c9bc_0 conda-forge + mysql-common 8.0.32 ha901b37_1 conda-forge/linux-64 760kB - mysql-libs 8.0.31 h28c427c_0 conda-forge + mysql-libs 8.0.32 hd7da12d_1 conda-forge/linux-64 2MB - nodejs 18.12.1 h96d913c_0 conda-forge + nodejs 18.15.0 h8d033a5_0 conda-forge/linux-64 15MB - openssl 1.1.1s h166bdaf_0 conda-forge + openssl 3.1.0 h0b41bf4_0 conda-forge/linux-64 3MB - orc 1.7.6 h6c59b99_0 conda-forge + orc 1.8.2 hfdbbad2_2 conda-forge/linux-64 907kB - postgresql 14.5 hdeef612_1 conda-forge + postgresql 15.2 h3248436_0 conda-forge/linux-64 5MB - protobuf 3.20.2 py38hfa26641_1 conda-forge + protobuf 4.21.12 py38h8dc9893_0 conda-forge/linux-64 323kB - pyarrow 9.0.0 py38h097c49a_2_cpu conda-forge + pyarrow 11.0.0 py38hf05218d_9_cpu conda-forge/linux-64 4MB - pyopenssl 22.1.0 pyhd8ed1ab_0 conda-forge + pyopenssl 23.1.1 pyhd8ed1ab_0 conda-forge/noarch 128kB - python 3.8.15 h257c98d_0_cpython conda-forge + python 3.8.16 he550d4f_1_cpython conda-forge/linux-64 23MB - rasterio 1.3.3 py38hb7ee17c_3 conda-forge + rasterio 1.3.4 py38h485b76c_0 conda-forge/linux-64 9MB - re2 2022.06.01 h27087fc_1 conda-forge + re2 2023.02.02 hcb278e6_0 conda-forge/linux-64 201kB - s2n 1.0.10 h9b69904_0 conda-forge + s2n 1.3.41 h3358134_0 conda-forge/linux-64 362kB - tiledb 2.11.3 h1e4a385_1 conda-forge + tiledb 2.13.2 hd532e3d_0 conda-forge/linux-64 5MB - xeus 2.4.1 h70bab47_0 conda-forge + xeus 3.0.5 hac2b420_1 conda-forge/linux-64 343kB - xeus-python 0.14.3 py38h9f61dbb_1 conda-forge + xeus-python 0.15.8 py38hfbd4bf9_1 conda-forge/linux-64 769kB Downgrade: ─────────────────────────────────────────────────────────────────────────────────────────── - streamlit 1.15.1 pyhd8ed1ab_0 conda-forge + streamlit 1.8.0 pyhd8ed1ab_0 conda-forge/noarch 8MB Summary: Install: 21 packages Change: 11 packages Upgrade: 41 packages Downgrade: 1 packages Total download: 251MB ─────────────────────────────────────────────────────────────────────────────────────────── Confirm changes: [Y/n] Looking for: ['esgf-pyclient'] Pinned packages: - python 3.8.* Preparing transaction: ...working... done Verifying transaction: ...working... done Downloading xncml-0.2-py2.py3-none-any.whl (869 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 869.2/869.2 kB 8.3 MB/s eta 0:00:00 Requirement already satisfied: xarray in /opt/conda/envs/birdy/lib/python3.8/site-packages (from xncml) (2022.10.0) Collecting xmltodict Downloading xmltodict-0.13.0-py2.py3-none-any.whl (10.0 kB) Collecting xsdata Downloading xsdata-22.12-py3-none-any.whl (185 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 185.7/185.7 kB 18.0 MB/s eta 0:00:00 Requirement already satisfied: cftime in /opt/conda/envs/birdy/lib/python3.8/site-packages (from xncml) (1.6.2) Requirement already satisfied: netCDF4 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from xncml) (1.6.2) Requirement already satisfied: dask in /opt/conda/envs/birdy/lib/python3.8/site-packages (from xncml) (2022.11.1) Requirement already satisfied: numpy>1.13.3 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from cftime->xncml) (1.23.5) Requirement already satisfied: pyyaml>=5.3.1 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (6.0) Requirement already satisfied: fsspec>=0.6.0 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (2022.11.0) Requirement already satisfied: click>=7.0 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (8.1.3) Requirement already satisfied: partd>=0.3.10 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (1.3.0) Requirement already satisfied: packaging>=20.0 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (21.3) Requirement already satisfied: toolz>=0.8.2 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (0.12.0) Requirement already satisfied: cloudpickle>=1.1.1 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from dask->xncml) (2.2.0) Requirement already satisfied: pandas>=1.3 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from xarray->xncml) (1.3.5) Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from packaging>=20.0->dask->xncml) (3.0.9) Requirement already satisfied: python-dateutil>=2.7.3 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from pandas>=1.3->xarray->xncml) (2.8.2) Requirement already satisfied: pytz>=2017.3 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from pandas>=1.3->xarray->xncml) (2022.6) Requirement already satisfied: locket in /opt/conda/envs/birdy/lib/python3.8/site-packages (from partd>=0.3.10->dask->xncml) (1.0.0) Requirement already satisfied: six>=1.5 in /opt/conda/envs/birdy/lib/python3.8/site-packages (from python-dateutil>=2.7.3->pandas>=1.3->xarray->xncml) (1.16.0) Installing collected packages: xsdata, xmltodict, xncml Successfully installed xmltodict-0.13.0 xncml-0.2 xsdata-22.12 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv Removing intermediate container 11f0bd71b9ff ---> 00cd0ac38b2b Step 5/5 : USER jenkins ---> Running in 9b00ba912ac4 ```
…ix Jenkins failure (#118) # Overview This is a build on top of an existing build. A fresh full build because it would pull a newer RavenPy which would requires a newer RavenWPS, which do not start at this moment. This incremental build is faster to test and will fix our failing Jenkins due to missing package `esgf-pyclient`. It is annoying to have Jenkins failing since a while just for a missing package. ## Changes - Adds `esgf-pyclient` for esgf-dap.ipynb (Ouranosinc/pavics-sdi#269) - Adds `xncml` for gen_catalog refactoring (Ouranosinc/pavics-vdb#46) - Fixes annoying harmless error `ERROR 1: PROJ: proj_create_from_database: Open of /opt/conda/envs/birdy/share/proj failed` - Jenkins: lower job retention duration since we now have separated jobs for nightly trigger and manual trigger - Existing `intake-esm` pin: #109 - Relevant changes (alphabetical order): ```diff > - esgf-pyclient=0.3.1=pyh1a96a4e_2 < - gdal=3.5.3=py38h1f15b03_4 > - gdal=3.6.0=py38h58634bd_13 > - xncml==0.2 ``` ## Test - Deployed as "beta" image in production for bokeh visualization performance regression testing. - Manual test notebook https://github.com/Ouranosinc/PAVICS-landing/blob/master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-5Visualization.ipynb for bokeh visualization performance and it looks fine. - Jenkins build: one known intermittent error [job-PAVICS-e2e-workflow-tests-quick-fix-production-image-3-consoleText.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11151086/job-PAVICS-e2e-workflow-tests-quick-fix-production-image-3-consoleText.txt) ## Related Issue / Discussion - Matching notebook fixes: - Pavics-sdi: Ouranosinc/pavics-sdi#285 - Deployment to PAVICS: bird-house/birdhouse-deploy#308 ## Additional Information Full diff conda env export: [221130-221130-update230403-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11151115/221130-221130-update230403-conda-env-export.diff.txt) Full new conda env export: [221130-update230403-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11151116/221130-update230403-conda-env-export.yml.txt) DockerHub build logs: [Dockerhub-buildlogs-pavics-workflow-tests-221130-update230403.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11151131/Dockerhub-buildlogs-pavics-workflow-tests-221130-update230403.txt)
…ure (#308) Jupyter: new image to add esgf-pyclient and xncml to fix Jenkins failure See PR Ouranosinc/PAVICS-e2e-workflow-tests#118 for more details. - Adds `esgf-pyclient` for esgf-dap.ipynb (Ouranosinc/pavics-sdi#269) - Adds `xncml` for gen_catalog refactoring (Ouranosinc/pavics-vdb#46) - Fixes annoying harmless error `ERROR 1: PROJ: proj_create_from_database: Open of /opt/conda/envs/birdy/share/proj failed` - Relevant changes (alphabetical order): ```diff > - esgf-pyclient=0.3.1=pyh1a96a4e_2 < - gdal=3.5.3=py38h1f15b03_4 > - gdal=3.6.0=py38h58634bd_13 > - xncml==0.2 ```
… and latest of everything else (#115) ## Changes - Jenkins: add RavenPy repo - Re-organize tutorial notebooks on PAVICS: dropped `esgf-compute-api` examples and group all Raven notebooks (RavenWPS and RavenPy) into one folder `raven`. - Jupyter env changes: - Update to python `3.9`, from `3.8` - Adds `esgf-pyclient` for esgf-dap.ipynb (https://github.com/Ouranosinc/pavics-sdi/pull/269) - Adds `xncml` for gen_catalog refactoring (https://github.com/Ouranosinc/pavics-vdb/pull/46) - Adds Globus Personnal Connect to be able to transfer big files in and out of the Jupyter env - Fixes annoying harmless error `ERROR 1: PROJ: proj_create_from_database: Open of /opt/conda/envs/birdy/share/proj failed` - Existing `intake-esm` pin: https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/issues/109 - Shrink image by almost 2G - Relevant changes (alphabetical order): ```diff < - birdy=0.8.1=pyh6c4a22f_1 > - birdy=0.8.4=pyh1a96a4e_0 < - cf_xarray=0.7.5=pyhd8ed1ab_0 > - cf_xarray=0.8.0=pyhd8ed1ab_0 < - clisops=0.9.3=pyh1a96a4e_0 > - clisops=0.9.6=pyh1a96a4e_0 < - dask=2022.11.1=pyhd8ed1ab_0 > - dask=2023.5.1=pyhd8ed1ab_0 < - esmf=8.2.0=mpi_mpich_h5a1934d_102 < - esmpy=8.2.0=mpi_mpich_py38h9147699_101 > - esmf=8.4.0=mpi_mpich_hc592774_104 > - esmpy=8.4.0=mpi_mpich_py39h3088dd8_102 < - fiona=1.8.22=py38h85a5e0f_5 > - fiona=1.9.1=py39hbc5ff6d_0 < - flox=0.6.4=pyhd8ed1ab_0 > - flox=0.7.2=pyhd8ed1ab_0 < - gdal=3.6.0=py38h58634bd_13 > - gdal=3.6.2=py39hc6cd174_6 < - owslib=0.27.2=pyhd8ed1ab_1 > - owslib=0.28.1=pyhd8ed1ab_0 # new > - pyogrio=0.5.1=py39hbc5ff6d_0 < - python=3.8.16=he550d4f_1_cpython > - python=3.9.16=h2782a2a_0_cpython < - raven-hydro=3.0.4.322=ha46ed4c_2 < - ravenpy=0.9.0=pyha21a80b_0 > - raven-hydro=0.2.1=py39h8e2dbb5_1 > - ravenpy=0.12.0=py39hf3d152e_2 < - rioxarray=0.13.1=pyhd8ed1ab_0 > - rioxarray=0.14.1=pyhd8ed1ab_0 < - roocs-utils=0.6.3=pyh1a96a4e_0 > - roocs-utils=0.6.4=pyh1a96a4e_0 # new > - seaborn=0.12.2=hd8ed1ab_0 < - xarray=2022.10.0=pyhd8ed1ab_0 > - xarray=2023.1.0=pyhd8ed1ab_0 < - xclim=0.39.0=pyhd8ed1ab_0 > - xclim=0.43.0=py39hf3d152e_1 < - xesmf=0.6.3=pyhd8ed1ab_1 > - xesmf=0.7.1=pyhd8ed1ab_0 # new > - hsclient==0.3.3 ``` ## Test - Deployed as "beta" image in production for bokeh visualization performance regression testing. - Manual test notebook https://github.com/Ouranosinc/PAVICS-landing/blob/master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-5Visualization.ipynb for bokeh visualization performance and it looks fine. - Jenkins build, all passed: [job-PAVICS-e2e-workflow-tests-new-docker-build-198-consoleText.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11621190/job-PAVICS-e2e-workflow-tests-new-docker-build-198-consoleText.txt) [ravenpy-job-PAVICS-e2e-workflow-tests-new-docker-build-200-consoleText.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11621191/ravenpy-job-PAVICS-e2e-workflow-tests-new-docker-build-200-consoleText.txt) ## Related Issue / Discussion - Matching notebook fixes: - Pavics-sdi: https://github.com/Ouranosinc/pavics-sdi/pull/281 - Finch: https://github.com/bird-house/finch/pull/275 - PAVICS-landing: https://github.com/Ouranosinc/PAVICS-landing/pull/64 - RavenPy: https://github.com/CSHS-CWRA/RavenPy/pull/287 - Deployment to PAVICS: https://github.com/bird-house/birdhouse-deploy/pull/332 - Jenkins-config changes for new RavenPy notebooks: https://github.com/Ouranosinc/jenkins-config/pull/15 - Other issues found while working on this one - https://github.com/Ouranosinc/PAVICS-landing/issues/66 - https://github.com/Ouranosinc/PAVICS-landing/issues/65 ## Additional Information Full diff conda env export: [221130-update230403-230530-1-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11621128/221130-update230403-230530-1-conda-env-export.diff.txt) ```diff 9,11c9,12 < - affine=2.3.1=pyhd8ed1ab_0 < - aiobotocore=2.4.0=pyhd8ed1ab_0 < - aiohttp=3.8.3=py38h0a891b7_1 --- > - affine=2.4.0=pyhd8ed1ab_0 > - aiobotocore=2.5.0=pyhd8ed1ab_0 > - aiofiles=22.1.0=pyhd8ed1ab_0 > - aiohttp=3.8.4=py39h72bdee0_0 14c15,16 < - alembic=1.8.1=pyhd8ed1ab_0 --- > - aiosqlite=0.19.0=pyhd8ed1ab_0 > - alembic=1.11.1=pyhd8ed1ab_0 16,18c18,20 < - altair=4.2.0=pyhd8ed1ab_1 < - ansi2html=1.8.0=py38h578d9bd_1 < - anyio=3.6.2=pyhd8ed1ab_0 --- > - altair=5.0.1=pyhd8ed1ab_0 > - ansi2html=1.8.0=py39hf3d152e_1 > - anyio=3.6.1=pyhd8ed1ab_1 22,23c24 < - argon2-cffi-bindings=21.2.0=py38h0a891b7_3 < - arrow-cpp=11.0.0=ha770c72_9_cpu --- > - argon2-cffi-bindings=21.2.0=py39hb9d737c_3 26c27 < - asttokens=2.2.0=pyhd8ed1ab_0 --- > - asttokens=2.2.1=pyhd8ed1ab_0 30,44c31,45 < - attrs=22.1.0=pyh71513ae_1 < - aws-c-auth=0.6.26=hf365957_1 < - aws-c-cal=0.5.21=h48707d8_2 < - aws-c-common=0.8.14=h0b41bf4_0 < - aws-c-compression=0.2.16=h03acc5a_5 < - aws-c-event-stream=0.2.20=h00877a2_4 < - aws-c-http=0.7.6=hf342b9f_0 < - aws-c-io=0.13.19=h5b20300_3 < - aws-c-mqtt=0.8.6=hc4349f7_12 < - aws-c-s3=0.2.7=h909e904_1 < - aws-c-sdkutils=0.1.8=h03acc5a_0 < - aws-checksums=0.1.14=h03acc5a_5 < - aws-crt-cpp=0.19.8=hf7fbfca_12 < - aws-sdk-cpp=1.10.57=h17c43bd_8 < - babel=2.11.0=pyhd8ed1ab_0 --- > - attrs=23.1.0=pyh71513ae_1 > - aws-c-auth=0.6.27=he072965_1 > - aws-c-cal=0.5.26=hf677bf3_1 > - aws-c-common=0.8.19=hd590300_0 > - aws-c-compression=0.2.16=hbad4bc6_7 > - aws-c-event-stream=0.2.20=hb4b372c_7 > - aws-c-http=0.7.7=h2632f9a_4 > - aws-c-io=0.13.21=h9fef7b8_5 > - aws-c-mqtt=0.8.11=h2282364_1 > - aws-c-s3=0.3.0=hcb5a9b2_2 > - aws-c-sdkutils=0.1.9=hbad4bc6_2 > - aws-checksums=0.1.14=hbad4bc6_7 > - aws-crt-cpp=0.20.2=he0fdcb3_0 > - aws-sdk-cpp=1.10.57=h059227d_13 > - babel=2.12.1=pyhd8ed1ab_1 48d48 < - backports.zoneinfo=0.2.1=py38h0a891b7_7 50,51c50,51 < - bcrypt=3.2.2=py38h0a891b7_1 < - beautifulsoup4=4.11.1=pyha770c72_0 --- > - bcrypt=3.2.2=py39hb9d737c_1 > - beautifulsoup4=4.12.2=pyha770c72_0 53,56c53,56 < - birdy=0.8.1=pyh6c4a22f_1 < - bleach=5.0.1=pyhd8ed1ab_0 < - blinker=1.5=pyhd8ed1ab_0 < - blosc=1.21.3=hafa529b_0 --- > - birdy=0.8.4=pyh1a96a4e_0 > - bleach=6.0.0=pyhd8ed1ab_0 > - blinker=1.6.2=pyhd8ed1ab_0 > - blosc=1.21.4=h0f2a231_0 58,62c58,62 < - boltons=21.0.0=pyhd8ed1ab_0 < - boost-cpp=1.78.0=h75c5d50_1 < - boto3=1.24.59=pyhd8ed1ab_0 < - botocore=1.27.59=pyhd8ed1ab_0 < - bottleneck=1.3.5=py38h26c90d9_1 --- > - boltons=23.0.0=pyhd8ed1ab_0 > - boost-cpp=1.78.0=h5adbc97_2 > - boto3=1.26.76=pyhd8ed1ab_0 > - botocore=1.29.76=pyhd8ed1ab_0 > - bottleneck=1.3.7=py39h389d5f1_0 66,67c66 < - brotli-python=1.0.9=py38hfa26641_8 < - brotlipy=0.7.0=py38h0a891b7_1005 --- > - brotlipy=0.7.0=py39hb9d737c_1005 70,72c69,71 < - c-ares=1.18.1=h7f98852_0 < - c-blosc2=2.5.0=h7a311fb_0 < - ca-certificates=2022.12.7=ha878542_0 --- > - c-ares=1.19.1=hd590300_0 > - c-blosc2=2.9.2=hb4ffafa_0 > - ca-certificates=2023.5.7=hbcca054_0 75c74 < - cachetools=5.2.0=pyhd8ed1ab_0 --- > - cachetools=5.3.0=pyhd8ed1ab_0 77c76 < - cartopy=0.21.0=py38hf6c3373_3 --- > - cartopy=0.21.1=py39h6e7ad6e_0 80,82c79,81 < - cdms2=3.1.5=py38hc1ef740_14 < - cdtime=3.1.4=py38hc54c017_7 < - certifi=2022.12.7=pyhd8ed1ab_0 --- > - cdms2=3.1.5=py39h36de48d_15 > - cdtime=3.1.4=py39he83c29a_7 > - certifi=2023.5.7=pyhd8ed1ab_0 84,86c83,85 < - cf_xarray=0.7.5=pyhd8ed1ab_0 < - cffi=1.15.1=py38h4a40e3a_2 < - cfgrib=0.9.10.3=pyhd8ed1ab_0 --- > - cf_xarray=0.8.0=pyhd8ed1ab_0 > - cffi=1.15.1=py39he91dace_3 > - cfgrib=0.9.10.4=pyhd8ed1ab_0 89,90c88,89 < - cftime=1.6.2=py38h26c90d9_1 < - charls=2.3.4=h9c3ff4c_0 --- > - cftime=1.6.2=py39h2ae25f5_1 > - charls=2.4.2=h59595ed_0 96,97c95,96 < - clisops=0.9.3=pyh1a96a4e_0 < - cloudpickle=2.2.0=pyhd8ed1ab_0 --- > - clisops=0.9.6=pyh1a96a4e_0 > - cloudpickle=2.2.1=pyhd8ed1ab_0 100,105c99,104 < - commonmark=0.9.1=py_0 < - configurable-http-proxy=4.5.3=he2f69ee_3 < - contourpy=1.0.6=py38h43d8883_0 < - coverage=6.5.0=py38h0a891b7_1 < - cryptography=40.0.1=py38h3d167d9_0 < - curl=7.88.1=hdc1c0ab_1 --- > - comm=0.1.3=pyhd8ed1ab_0 > - configurable-http-proxy=4.5.4=he2f69ee_2 > - contourpy=1.0.7=py39h4b4f3f3_0 > - coverage=7.2.7=py39hd1e30aa_0 > - cryptography=40.0.2=py39h079d5ae_0 > - curl=8.1.2=h409715c_0 107,111c106,110 < - cytoolz=0.12.0=py38h0a891b7_1 < - dash=2.7.0=pyhd8ed1ab_0 < - dask=2022.11.1=pyhd8ed1ab_0 < - dask-core=2022.11.1=pyhd8ed1ab_0 < - dask-labextension=6.0.0=pyhd8ed1ab_0 --- > - cytoolz=0.12.0=py39hb9d737c_1 > - dash=2.9.3=pyhd8ed1ab_2 > - dask=2023.5.1=pyhd8ed1ab_0 > - dask-core=2023.5.1=pyhd8ed1ab_0 > - dask-labextension=6.1.0=pyhd8ed1ab_0 113c112 < - datashader=0.14.3=pyh1a96a4e_0 --- > - datashader=0.14.4=pyh1a96a4e_0 115c114 < - dav1d=1.0.0=h166bdaf_1 --- > - dav1d=1.2.0=hd590300_0 117c116 < - debugpy=1.6.4=py38hfa26641_0 --- > - debugpy=1.6.7=py39h227be39_0 122c121 < - distarray=2.12.2=pyhd8ed1ab_2 --- > - distarray=2.12.2=pyh050c7b8_4 124c123 < - distributed=2022.11.1=pyhd8ed1ab_0 --- > - distributed=2023.5.1=pyhd8ed1ab_0 127,128c126,127 < - eccodes=2.27.0=h164a9dd_0 < - elfutils=0.186=he364ef2_0 --- > - eccodes=2.28.0=h7513371_1 > - elfutils=0.189=hde5d1a3_0 133,135c132,135 < - esmf=8.2.0=mpi_mpich_h5a1934d_102 < - esmpy=8.2.0=mpi_mpich_py38h9147699_101 < - exceptiongroup=1.0.4=pyhd8ed1ab_0 --- > - esmf=8.4.0=mpi_mpich_hc592774_104 > - esmpy=8.4.0=mpi_mpich_py39h3088dd8_102 > - exceptiongroup=1.1.1=pyhd8ed1ab_0 > - execnet=1.9.0=pyhd8ed1ab_0 137c137 < - expat=2.5.0=h27087fc_0 --- > - expat=2.5.0=hcb278e6_1 140,148c140,147 < - fftw=3.3.10=nompi_hf0379b8_105 < - filelock=3.8.0=pyhd8ed1ab_0 < - findlibs=0.0.2=pyhd8ed1ab_0 < - fiona=1.8.22=py38h85a5e0f_5 < - flask=2.2.2=pyhd8ed1ab_0 < - flask-compress=1.13=pyhd8ed1ab_0 < - flit-core=3.8.0=pyhd8ed1ab_0 < - flox=0.6.4=pyhd8ed1ab_0 < - folium=0.13.0=pyhd8ed1ab_0 --- > - fftw=3.3.10=nompi_hc118613_107 > - filelock=3.12.0=pyhd8ed1ab_0 > - findlibs=0.0.5=pyhd8ed1ab_0 > - fiona=1.9.1=py39hbc5ff6d_0 > - flask=2.3.2=pyhd8ed1ab_0 > - flit-core=3.9.0=pyhd8ed1ab_0 > - flox=0.7.2=pyhd8ed1ab_0 > - folium=0.14.0=pyhd8ed1ab_0 153c152 < - fontconfig=2.14.1=hc2a2eb6_0 --- > - fontconfig=2.14.2=h14ed4e7_0 156c155 < - fonttools=4.38.0=py38h0a891b7_1 --- > - fonttools=4.39.4=py39hd1e30aa_0 160,161c159,160 < - frozenlist=1.3.3=py38h0a891b7_0 < - fsspec=2022.11.0=pyhd8ed1ab_0 --- > - frozenlist=1.3.3=py39hb9d737c_0 > - fsspec=2023.5.0=pyh1a96a4e_0 163c162 < - future=0.18.2=pyhd8ed1ab_6 --- > - future=0.18.3=pyhd8ed1ab_0 165,167c164,166 < - gcsfs=2022.11.0=pyhd8ed1ab_0 < - gdal=3.6.0=py38h58634bd_13 < - geckodriver=0.32.0=h4b87306_0 --- > - gcsfs=2023.5.0=pyhd8ed1ab_0 > - gdal=3.6.2=py39hc6cd174_6 > - geckodriver=0.33.0=hd2f7af9_0 169,170c168,169 < - geopandas=0.12.1=pyhd8ed1ab_1 < - geopandas-base=0.12.1=pyha770c72_1 --- > - geopandas=0.13.0=pyhd8ed1ab_0 > - geopandas-base=0.13.0=pyha770c72_0 173,175c172,174 < - geotiff=1.7.1=ha76d385_4 < - geoviews=1.9.5=pyhd8ed1ab_0 < - geoviews-core=1.9.5=pyha770c72_0 --- > - geotiff=1.7.1=h7a142b4_6 > - geoviews=1.9.6=pyhd8ed1ab_0 > - geoviews-core=1.9.6=pyha770c72_0 178c177 < - giflib=5.2.1=h36c2ea0_2 --- > - giflib=5.2.1=h0b41bf4_3 180,182c179,181 < - gitpython=3.1.29=pyhd8ed1ab_0 < - glib=2.74.1=h6239696_1 < - glib-tools=2.74.1=h6239696_1 --- > - gitpython=3.1.31=pyhd8ed1ab_0 > - glib=2.76.3=hfc55251_0 > - glib-tools=2.76.3=hfc55251_0 185,187c184,186 < - google-api-core=2.10.2=pyhd8ed1ab_0 < - google-auth=2.14.1=pyh1a96a4e_0 < - google-auth-oauthlib=0.7.1=pyhd8ed1ab_0 --- > - google-api-core=2.11.0=pyhd8ed1ab_0 > - google-auth=2.19.0=pyh1a96a4e_0 > - google-auth-oauthlib=1.0.0=pyhd8ed1ab_0 189,198c188,197 < - google-cloud-storage=2.6.0=pyh1a96a4e_0 < - google-crc32c=1.1.2=py38h57c428a_4 < - google-resumable-media=2.4.0=pyhd8ed1ab_0 < - googleapis-common-protos=1.57.0=pyhd8ed1ab_3 < - greenlet=2.0.1=py38hfa26641_0 < - grpc-cpp=1.51.1=h27aab58_3 < - grpcio=1.51.1=py38h8dc9893_3 < - gst-plugins-base=1.21.2=h3e40eee_0 < - gstreamer=1.21.2=hd4edc92_0 < - gstreamer-orc=0.4.33=h166bdaf_0 --- > - google-cloud-storage=2.9.0=pyh1a96a4e_0 > - google-crc32c=1.1.2=py39h8db88ab_4 > - google-resumable-media=2.5.0=pyhd8ed1ab_0 > - googleapis-common-protos=1.57.1=pyhd8ed1ab_0 > - graphite2=1.3.13=h58526e2_1001 > - greenlet=2.0.2=py39h3d6467e_1 > - grpcio=1.54.2=py39h227be39_2 > - gst-plugins-base=1.22.0=h4243ec0_2 > - gstreamer=1.22.0=h25f0c4b_2 > - gstreamer-orc=0.4.34=hd590300_0 200,202c199,202 < - h5netcdf=1.1.0=pyhd8ed1ab_0 < - h5py=3.7.0=nompi_py38h7927eab_102 < - haversine=2.7.0=pyhd8ed1ab_0 --- > - h5netcdf=1.1.0=pyhd8ed1ab_1 > - h5py=3.8.0=mpi_mpich_py39hadaddcd_0 > - harfbuzz=6.0.0=h8e241bc_0 > - haversine=2.8.0=pyhd8ed1ab_0 205,207c205,206 < - heapdict=1.0.1=py_0 < - holoviews=1.15.2=pyhd8ed1ab_0 < - hvplot=0.8.2=pyhd8ed1ab_0 --- > - holoviews=1.16.0=pyhd8ed1ab_0 > - hvplot=0.8.3=pyhd8ed1ab_0 209c208 < - identify=2.5.9=pyhd8ed1ab_0 --- > - identify=2.5.24=pyhd8ed1ab_0 211,217c210,217 < - imagecodecs=2022.9.26=py38hf74bd01_4 < - imageio=2.22.4=pyhfa7a67d_1 < - importlib-metadata=5.1.0=pyha770c72_0 < - importlib_metadata=5.1.0=hd8ed1ab_0 < - importlib_resources=5.10.0=pyhd8ed1ab_0 < - iniconfig=1.1.1=pyh9f0ad1d_0 < - intake=0.6.6=pyhd8ed1ab_0 --- > - imagecodecs=2023.1.23=py39hd061359_0 > - imageio=2.28.1=pyh24c5eb1_0 > - importlib-metadata=6.6.0=pyha770c72_0 > - importlib-resources=5.12.0=pyhd8ed1ab_0 > - importlib_metadata=6.6.0=hd8ed1ab_0 > - importlib_resources=5.12.0=pyhd8ed1ab_0 > - iniconfig=2.0.0=pyhd8ed1ab_0 > - intake=0.7.0=pyhd8ed1ab_0 221,222c221,222 < - intake-xarray=0.6.1=pyhd8ed1ab_0 < - ipykernel=6.17.1=pyh210e3f2_0 --- > - intake-xarray=0.7.0=pyhd8ed1ab_0 > - ipykernel=6.23.1=pyh210e3f2_0 224c224 < - ipython=8.6.0=pyh41d4057_1 --- > - ipython=8.13.2=pyh41d4057_0 226c226 < - ipywidgets=8.0.2=pyhd8ed1ab_1 --- > - ipywidgets=8.0.6=pyhd8ed1ab_0 228,229c228,229 < - jack=1.9.21=he978b8e_1 < - jasper=2.0.33=ha77e612_0 --- > - jack=1.9.22=h11f4161_0 > - jasper=2.0.33=h0ff4b12_1 234c234 < - jpeg=9e=h166bdaf_2 --- > - jpeg=9e=h0b41bf4_3 239,240c239,240 < - jupyter=1.0.0=py38h578d9bd_7 < - jupyter-archive=3.3.3=pyhd8ed1ab_0 --- > - jupyter=1.0.0=py39hf3d152e_8 > - jupyter-archive=3.3.4=pyhd8ed1ab_1 242,244c242,244 < - jupyter-resource-usage=0.6.4=pyhd8ed1ab_0 < - jupyter-server-mathjax=0.2.6=pyhc268e32_0 < - jupyter-server-proxy=3.2.2=pyhd8ed1ab_0 --- > - jupyter-resource-usage=0.7.1=pyhd8ed1ab_0 > - jupyter-server-mathjax=0.2.6=pyh5bfe37b_1 > - jupyter-server-proxy=4.0.0=pyhd8ed1ab_0 246,249c246,252 < - jupyter_client=7.3.4=pyhd8ed1ab_0 < - jupyter_console=6.4.4=pyhd8ed1ab_0 < - jupyter_core=5.1.0=py38h578d9bd_0 < - jupyter_server=1.23.3=pyhd8ed1ab_0 --- > - jupyter_client=7.4.1=pyhd8ed1ab_0 > - jupyter_console=6.6.3=pyhd8ed1ab_0 > - jupyter_core=5.3.0=py39hf3d152e_0 > - jupyter_events=0.6.3=pyhd8ed1ab_0 > - jupyter_server=1.23.6=pyhd8ed1ab_0 > - jupyter_server_fileid=0.9.0=pyhd8ed1ab_0 > - jupyter_server_ydoc=0.8.0=pyhd8ed1ab_0 251,254c254,258 < - jupyterhub=3.0.0=pyh2a2186d_1 < - jupyterhub-base=3.0.0=pyh2a2186d_1 < - jupyterlab=3.5.0=pyhd8ed1ab_0 < - jupyterlab-git=0.40.1=pyhd8ed1ab_0 --- > - jupyter_ydoc=0.2.3=pyhd8ed1ab_0 > - jupyterhub=4.0.0=pyh2a2186d_0 > - jupyterhub-base=4.0.0=pyh2a2186d_0 > - jupyterlab=3.6.3=pyhd8ed1ab_0 > - jupyterlab-git=0.41.0=pyhd8ed1ab_1 258,260c262,264 < - jupyterlab_server=2.16.3=pyhd8ed1ab_0 < - jupyterlab_widgets=3.0.3=pyhd8ed1ab_0 < - jupytext=1.14.1=pyhd0ecf6b_0 --- > - jupyterlab_server=2.22.1=pyhd8ed1ab_0 > - jupyterlab_widgets=3.0.7=pyhd8ed1ab_1 > - jupytext=1.14.5=pyhcff175f_0 264c268 < - kiwisolver=1.4.4=py38h43d8883_1 --- > - kiwisolver=1.4.4=py39hf939315_1 267,269c271,274 < - lazy-object-proxy=1.8.0=py38h0a891b7_0 < - lcms2=2.14=h6ed2654_0 < - ld_impl_linux-64=2.39=hcc3a1bd_1 --- > - lazy-object-proxy=1.9.0=py39h72bdee0_0 > - lazy_loader=0.2=pyhd8ed1ab_0 > - lcms2=2.15=hfd0df8a_0 > - ld_impl_linux-64=2.40=h41732ed_0 271,275c276,280 < - libabseil=20230125.0=cxx17_hcb278e6_1 < - libaec=1.0.6=h9c3ff4c_0 < - libarchive=3.5.2=hada088e_3 < - libarrow=11.0.0=h33598ff_9_cpu < - libavif=0.11.1=h5cdd6b5_0 --- > - libabseil=20230125.2=cxx17_h59595ed_2 > - libaec=1.0.6=hcb278e6_1 > - libarchive=3.6.2=h3d51595_0 > - libarrow=10.0.1=hf815326_25_cpu > - libavif=0.11.1=hff004cb_1 280c285 < - libcap=2.66=ha37c62d_0 --- > - libcap=2.67=he9d0100_0 282,285c287,290 < - libcdms=3.1.2=h2973bc7_118 < - libcf=1.0.3=py38h0c3d773_115 < - libclang=15.0.6=default_h2e3cab8_0 < - libclang13=15.0.6=default_h3a83d3e_0 --- > - libcdms=3.1.2=hf94f14b_119 > - libcf=1.0.3=py39h6c807ef_115 > - libclang=15.0.7=default_h7634d5b_2 > - libclang13=15.0.7=default_h9986a30_2 288,289c293 < - libcurl=7.88.1=hdc1c0ab_1 < - libdap4=3.20.6=hd7c4107_2 --- > - libcurl=8.1.2=h409715c_0 291c295 < - libdeflate=1.14=h166bdaf_0 --- > - libdeflate=1.17=h0b41bf4_0 297a302 > - libexpat=2.5.0=hcb278e6_1 302c307 < - libgdal=3.6.0=h2f87c3e_13 --- > - libgdal=3.6.2=h8c90c07_6 305c310 < - libglib=2.74.1=h606061b_1 --- > - libglib=2.76.3=hebfc3b9_0 308,310c313,315 < - libgoogle-cloud=2.8.0=h3c06191_0 < - libgpg-error=1.45=hc0c96e0_0 < - libgrpc=1.51.1=hcf146ea_3 --- > - libgoogle-cloud=2.10.1=hac9eb74_1 > - libgpg-error=1.46=h620e276_0 > - libgrpc=1.54.2=hb20ce57_2 315,317c320,323 < - libllvm11=11.1.0=he0ac6c6_5 < - libllvm15=15.0.6=h63197d8_0 < - libmicrohttpd=0.9.75=h2603550_1 --- > - libllvm14=14.0.6=hcd5def8_2 > - libllvm15=15.0.7=hadd5161_1 > - libllvm16=16.0.1=hadd5161_0 > - libmicrohttpd=0.9.76=h87ba234_0 320a327 > - libnuma=2.0.16=h0b41bf4_1 329c336 < - libsndfile=1.1.0=h27087fc_0 --- > - libsndfile=1.2.0=hb75c966_0 332,333c339,340 < - libspatialite=5.0.1=h7c8129e_22 < - libsqlite=3.40.0=h753d276_0 --- > - libspatialite=5.0.1=h221c8f1_23 > - libsqlite=3.42.0=h2797004_0 336c343 < - libsystemd0=252=h2a991cd_0 --- > - libsystemd0=253=h8c4010b_1 338,341c345,348 < - libthrift=0.18.0=h5e4af38_0 < - libtiff=4.4.0=h55922b4_4 < - libtool=2.4.6=h9c3ff4c_1008 < - libudev1=252=h166bdaf_0 --- > - libthrift=0.18.1=h5e4af38_0 > - libtiff=4.5.0=h6adf6a1_2 > - libtool=2.4.7=h27087fc_0 > - libudev1=253=h0b41bf4_1 344c351 < - libuuid=2.32.1=h7f98852_1000 --- > - libuuid=2.38.1=h0b41bf4_0 347c354 < - libwebp-base=1.2.4=h166bdaf_0 --- > - libwebp-base=1.3.0=h0b41bf4_0 349,350c356,357 < - libxkbcommon=1.0.3=he3ba5ed_0 < - libxml2=2.10.3=h7463322_0 --- > - libxkbcommon=1.5.0=h79f4944_1 > - libxml2=2.10.3=hca2bb57_4 355c362,363 < - llvmlite=0.39.1=py38h38d86a4_1 --- > - llvmlite=0.40.0=py39h174d805_0 > - lmoments3=1.0.5=pyhd8ed1ab_0 357,360c365,368 < - loguru=0.6.0=py38h578d9bd_2 < - lxml=4.9.1=py38ha9ef780_1 < - lz4=4.0.2=py38h1bf946c_0 < - lz4-c=1.9.3=h9c3ff4c_1 --- > - loguru=0.7.0=py39hf3d152e_0 > - lxml=4.9.2=py39h14694de_0 > - lz4=4.3.2=py39h724f13c_0 > - lz4-c=1.9.4=hcb278e6_0 363,369c371,377 < - mamba_gator=5.2.0=pyhd8ed1ab_0 < - mapclassify=2.4.3=pyhd8ed1ab_0 < - markdown=3.4.1=pyhd8ed1ab_0 < - markdown-it-py=2.1.0=pyhd8ed1ab_0 < - markupsafe=2.1.1=py38h0a891b7_2 < - matplotlib=3.6.2=py38h578d9bd_0 < - matplotlib-base=3.6.2=py38hb021067_0 --- > - mamba_gator=5.2.1=pyhd8ed1ab_0 > - mapclassify=2.5.0=pyhd8ed1ab_1 > - markdown=3.4.3=pyhd8ed1ab_0 > - markdown-it-py=2.2.0=pyhd8ed1ab_0 > - markupsafe=2.1.2=py39h72bdee0_0 > - matplotlib=3.7.1=py39hf3d152e_0 > - matplotlib-base=3.7.1=py39he190548_0 371c379 < - mdit-py-plugins=0.3.1=pyhd8ed1ab_0 --- > - mdit-py-plugins=0.3.5=pyhd8ed1ab_0 374,376c382,384 < - mesalib=21.2.5=h0e4506f_3 < - mistune=2.0.4=pyhd8ed1ab_0 < - mpg123=1.30.2=h27087fc_1 --- > - mesalib=23.0.2=h3855f93_0 > - mistune=2.0.5=pyhd8ed1ab_0 > - mpg123=1.31.3=hcb278e6_0 378c386 < - mpi4py=3.1.4=py38h97ac3a3_0 --- > - mpi4py=3.1.4=py39h32b9844_0 380,381c388,389 < - msgpack-python=1.0.4=py38h43d8883_1 < - multidict=6.0.2=py38h0a891b7_2 --- > - msgpack-python=1.0.5=py39h4b4f3f3_0 > - multidict=6.0.4=py39h72bdee0_0 383,384c391,392 < - multiprocess=0.70.14=py38h0a891b7_3 < - munch=2.5.0=py_0 --- > - multiprocess=0.70.14=py39hb9d737c_3 > - munch=3.0.0=pyhd8ed1ab_0 387,395c395,403 < - mysql-common=8.0.32=ha901b37_1 < - mysql-libs=8.0.32=hd7da12d_1 < - nbclassic=0.4.8=pyhd8ed1ab_0 < - nbclient=0.7.2=pyhd8ed1ab_0 < - nbconvert=7.2.5=pyhd8ed1ab_0 < - nbconvert-core=7.2.5=pyhd8ed1ab_0 < - nbconvert-pandoc=7.2.5=pyhd8ed1ab_0 < - nbdime=3.1.1=pyhd8ed1ab_0 < - nbformat=5.7.0=pyhd8ed1ab_0 --- > - mysql-common=8.0.32=hf1915f5_2 > - mysql-libs=8.0.32=hca2cd23_2 > - nbclassic=1.0.0=pyhb4ecaf3_1 > - nbclient=0.7.4=pyhd8ed1ab_0 > - nbconvert=7.4.0=pyhd8ed1ab_0 > - nbconvert-core=7.4.0=pyhd8ed1ab_0 > - nbconvert-pandoc=7.4.0=pyhd8ed1ab_0 > - nbdime=3.2.1=pyhd8ed1ab_0 > - nbformat=5.8.0=pyhd8ed1ab_0 402,403c410,411 < - netcdf-fortran=4.6.0=mpi_mpich_hd09bd1e_1 < - netcdf4=1.6.2=nompi_py38h2250339_100 --- > - netcdf-fortran=4.6.0=mpi_mpich_h1e13492_2 > - netcdf4=1.6.2=nompi_py39hfaa66c4_100 405,406c413,414 < - networkx=2.8.8=pyhd8ed1ab_0 < - nodeenv=1.7.0=pyhd8ed1ab_0 --- > - networkx=3.1=pyhd8ed1ab_0 > - nodeenv=1.8.0=pyhd8ed1ab_0 408,409c416,417 < - notebook=6.5.2=pyha770c72_1 < - notebook-shim=0.2.2=pyhd8ed1ab_0 --- > - notebook=6.5.4=pyha770c72_0 > - notebook-shim=0.2.3=pyhd8ed1ab_0 411,415c419,423 < - nss=3.82=he02c5a1_0 < - numba=0.56.4=py38h9a4aae9_0 < - numcodecs=0.10.2=py38hfa26641_0 < - numpy=1.23.5=py38h7042d01_0 < - numpy_groupies=0.9.20=pyhd8ed1ab_0 --- > - nss=3.89=he45b914_0 > - numba=0.57.0=py39hb75a051_0 > - numcodecs=0.11.0=py39h227be39_1 > - numpy=1.23.5=py39h3d75532_0 > - numpy_groupies=0.9.22=pyhd8ed1ab_0 418,421c426,428 < - openjpeg=2.5.0=h7d73246_1 < - openssl=3.1.0=h0b41bf4_0 < - orc=1.8.2=hfdbbad2_2 < - ostrich=21.03.16=h4bd325d_1 --- > - openjpeg=2.5.0=hfec8fc6_2 > - openssl=3.1.1=hd590300_0 > - orc=1.8.3=hfdbbad2_0 423c430 < - owslib=0.27.2=pyhd8ed1ab_1 --- > - owslib=0.28.1=pyhd8ed1ab_0 425c432 < - packaging=21.3=pyhd8ed1ab_0 --- > - packaging=23.1=pyhd8ed1ab_0 427,428c434,435 < - pandas=1.3.5=py38h43a58ef_0 < - pandoc=2.19.2=h32600fe_1 --- > - pandas=1.3.5=py39hde0f152_0 > - pandoc=2.19.2=h32600fe_2 430,433c437,440 < - panel=0.14.1=pyhd8ed1ab_0 < - param=1.12.2=pyh6c4a22f_0 < - paramiko=2.12.0=pyhd8ed1ab_0 < - parquet-cpp=1.5.1=2 --- > - panel=0.14.4=pyhd8ed1ab_0 > - parallelio=2.5.10=mpi_mpich_h862c5c2_100 > - param=1.13.0=pyh1a96a4e_0 > - paramiko=3.2.0=pyhd8ed1ab_0 435c442 < - partd=1.3.0=pyhd8ed1ab_0 --- > - partd=1.4.0=pyhd8ed1ab_0 438d444 < - pcre=8.45=h9c3ff4c_0 442,444c448,450 < - pillow=9.2.0=py38h9eb91d8_3 < - pint=0.20.1=pyhd8ed1ab_0 < - pip=22.3.1=pyhd8ed1ab_0 --- > - pillow=9.4.0=py39h2320bf1_1 > - pint=0.21=pyhd8ed1ab_0 > - pip=23.1.2=pyhd8ed1ab_0 447,448c453,454 < - platformdirs=2.5.2=pyhd8ed1ab_1 < - plotly=5.11.0=pyhd8ed1ab_0 --- > - platformdirs=3.5.1=pyhd8ed1ab_0 > - plotly=5.14.1=pyhd8ed1ab_0 451,453c457,459 < - pooch=1.6.0=pyhd8ed1ab_0 < - poppler=22.11.0=h92391eb_0 < - poppler-data=0.4.11=hd8ed1ab_0 --- > - pooch=1.7.0=pyha770c72_3 > - poppler=23.01.0=h091648b_0 > - poppler-data=0.4.12=hd8ed1ab_0 457,461c463,467 < - pre-commit=2.20.0=py38h578d9bd_1 < - proj=9.1.0=h93bde94_0 < - prometheus_client=0.15.0=pyhd8ed1ab_0 < - prompt-toolkit=3.0.33=pyha770c72_0 < - prompt_toolkit=3.0.33=hd8ed1ab_0 --- > - pre-commit=3.3.2=pyha770c72_0 > - proj=9.1.1=h8ffa02c_2 > - prometheus_client=0.17.0=pyhd8ed1ab_0 > - prompt-toolkit=3.0.38=pyha770c72_0 > - prompt_toolkit=3.0.38=hd8ed1ab_0 463c469 < - protobuf=4.21.12=py38h8dc9893_0 --- > - protobuf=4.21.12=py39h227be39_0 465c471 < - psutil=5.9.4=py38h0a891b7_0 --- > - psutil=5.9.5=py39h72bdee0_0 468c474,476 < - pulseaudio=16.1=h126f2b6_0 --- > - pulseaudio=16.1=hcb278e6_3 > - pulseaudio-client=16.1=h5195f5e_3 > - pulseaudio-daemon=16.1=ha8d29e2_3 470c478 < - pyarrow=11.0.0=py38hf05218d_9_cpu --- > - pyarrow=10.0.1=py39he4327e9_25_cpu 476,478c484,486 < - pycurl=7.45.1=py38he9e1d38_3 < - pydantic=1.10.2=py38h0a891b7_1 < - pydap=3.3.0=pyhd8ed1ab_0 --- > - pycurl=7.45.1=py39h9297c8b_3 > - pydantic=1.10.8=py39hd1e30aa_0 > - pydap=3.4.0=pyhd8ed1ab_0 480,482c488,491 < - pygeos=0.13=py38hafd38ec_2 < - pygments=2.13.0=pyhd8ed1ab_0 < - pyjwt=2.6.0=pyhd8ed1ab_0 --- > - pygeos=0.14=py39hc9151fd_0 > - pygments=2.15.1=pyhd8ed1ab_0 > - pyjwt=2.7.0=pyhd8ed1ab_0 > - pymbolic=2022.2=pyhd8ed1ab_0 485c494,495 < - pynacl=1.5.0=py38h0a891b7_2 --- > - pynacl=1.5.0=py39hb9d737c_2 > - pyogrio=0.5.1=py39hbc5ff6d_0 488,491c498,501 < - pyproj=3.4.0=py38hce0a2d1_2 < - pyqt=5.15.7=py38h7492b6b_2 < - pyqt5-sip=12.11.0=py38hfa26641_2 < - pyrsistent=0.19.2=py38h0a891b7_0 --- > - pyproj=3.5.0=py39hf8a5840_0 > - pyqt=5.15.7=py39h5c7b992_3 > - pyqt5-sip=12.11.0=py39h227be39_3 > - pyrsistent=0.19.3=py39h72bdee0_0 494,497c504,506 < - pyston_lite=2.3.4=py38h0a891b7_1 < - pyston_lite_autoload=2.3.4=pyh44b312d_1 < - pytest=7.2.0=pyhd8ed1ab_2 < - python=3.8.16=he550d4f_1_cpython --- > - pytest=7.3.1=pyhd8ed1ab_0 > - pytest-xdist=3.3.1=pyhd8ed1ab_0 > - python=3.9.16=h2782a2a_0_cpython 499,501c508,510 < - python-eccodes=1.4.2=py38h26c90d9_1 < - python-fastjsonschema=2.16.2=pyhd8ed1ab_0 < - python-json-logger=2.0.1=pyh9f0ad1d_0 --- > - python-eccodes=1.5.1=py39h389d5f1_0 > - python-fastjsonschema=2.17.1=pyhd8ed1ab_0 > - python-json-logger=2.0.7=pyhd8ed1ab_0 503,506c512,515 < - python-tzdata=2022.7=pyhd8ed1ab_0 < - python_abi=3.8=3_cp38 < - pytz=2022.6=pyhd8ed1ab_0 < - pytz-deprecation-shim=0.1.0.post0=py38h578d9bd_3 --- > - python-tzdata=2023.3=pyhd8ed1ab_0 > - python_abi=3.9=3_cp39 > - pytools=2022.1.14=pyhd8ed1ab_0 > - pytz=2023.3=pyhd8ed1ab_0 508,521c517,530 < - pyviz_comms=2.2.1=pyhd8ed1ab_1 < - pywavelets=1.3.0=py38h26c90d9_2 < - pyyaml=6.0=py38h0a891b7_5 < - pyzmq=24.0.1=py38hfc09fa9_1 < - qhull=2020.2=h4bd325d_2 < - qt-main=5.15.6=hf6cd601_5 < - qtconsole=5.4.0=pyhd8ed1ab_0 < - qtconsole-base=5.4.0=pyha770c72_0 < - qtpy=2.3.0=pyhd8ed1ab_0 < - rasterio=1.3.4=py38h485b76c_0 < - raven-hydro=3.0.4.322=ha46ed4c_2 < - ravenpy=0.9.0=pyha21a80b_0 < - re2=2023.02.02=hcb278e6_0 < - readline=8.1.2=h0f457ee_0 --- > - pyviz_comms=2.3.0=pyhd8ed1ab_0 > - pywavelets=1.4.1=py39h389d5f1_0 > - pyyaml=6.0=py39hb9d737c_5 > - pyzmq=25.0.2=py39h0be026e_0 > - qt-main=5.15.8=h5d23da1_6 > - qtconsole=5.4.3=pyhd8ed1ab_0 > - qtconsole-base=5.4.3=pyha770c72_0 > - qtpy=2.3.1=pyhd8ed1ab_0 > - rasterio=1.3.6=py39h09b1985_0 > - raven-hydro=0.2.1=py39h8e2dbb5_1 > - ravenpy=0.12.0=py39hf3d152e_2 > - rdma-core=28.9=h59595ed_1 > - re2=2023.03.02=h8c504da_0 > - readline=8.2=h8228510_1 523c532 < - requests=2.28.1=pyhd8ed1ab_1 --- > - requests=2.31.0=pyhd8ed1ab_0 528,530c537,540 < - rich=12.6.0=pyhd8ed1ab_0 < - rioxarray=0.13.1=pyhd8ed1ab_0 < - roocs-utils=0.6.3=pyh1a96a4e_0 --- > - rfc3339-validator=0.1.4=pyhd8ed1ab_0 > - rfc3986-validator=0.1.1=pyh9f0ad1d_0 > - rioxarray=0.14.1=pyhd8ed1ab_0 > - roocs-utils=0.6.4=pyh1a96a4e_0 532,548c542,560 < - rtree=1.0.1=py38h02d302b_1 < - ruamel.yaml=0.17.21=py38h0a891b7_2 < - ruamel.yaml.clib=0.2.7=py38h0a891b7_0 < - s2n=1.3.41=h3358134_0 < - s3fs=2022.11.0=pyhd8ed1ab_0 < - s3transfer=0.6.0=pyhd8ed1ab_0 < - scikit-image=0.19.3=py38h8f669ce_2 < - scikit-learn=1.1.3=py38h4c4ba11_1 < - scipy=1.8.1=py38h8ce737c_3 < - scp=0.14.4=pyhd8ed1ab_0 < - selenium=4.6.0=pyhd8ed1ab_0 < - semver=2.13.0=pyh9f0ad1d_0 < - send2trash=1.8.0=pyhd8ed1ab_0 < - setuptools=59.8.0=py38h578d9bd_1 < - shapely=1.8.5=py38hafd38ec_2 < - simpervisor=0.4=pyhd8ed1ab_0 < - sip=6.7.5=py38hfa26641_0 --- > - rtree=1.0.1=py39hb102c33_1 > - ruamel.yaml=0.17.30=py39hd1e30aa_0 > - ruamel.yaml.clib=0.2.7=py39h72bdee0_1 > - s2n=1.3.44=h06160fa_0 > - s3fs=2023.5.0=pyhd8ed1ab_0 > - s3transfer=0.6.1=pyhd8ed1ab_0 > - scikit-image=0.20.0=py39h7c7b5a8_1 > - scikit-learn=1.2.2=py39hc236052_2 > - scipy=1.9.1=py39h8ba3f38_0 > - scp=0.14.5=pyhd8ed1ab_0 > - seaborn=0.12.2=hd8ed1ab_0 > - seaborn-base=0.12.2=pyhd8ed1ab_0 > - selenium=4.9.1=pyhd8ed1ab_0 > - semver=3.0.0=pyhd8ed1ab_0 > - send2trash=1.8.2=pyh41d4057_0 > - setuptools=59.8.0=py39hf3d152e_1 > - shapely=2.0.1=py39hc9151fd_0 > - simpervisor=1.0.0=pyhd8ed1ab_0 > - sip=6.7.9=py39h3d6467e_0 552c564 < - snappy=1.1.9=hbd366e4_2 --- > - snappy=1.1.10=h9fff704_0 557,560c569,572 < - sparse=0.13.0=pyhd8ed1ab_0 < - spotpy=1.6.1=pyhd8ed1ab_0 < - sqlalchemy=1.4.44=py38h0a891b7_0 < - sqlite=3.40.0=h4ff8645_0 --- > - sparse=0.14.0=pyhd8ed1ab_0 > - spotpy=1.6.2=pyhd8ed1ab_0 > - sqlalchemy=2.0.15=py39hd1e30aa_0 > - sqlite=3.42.0=h2c6b66d_0 562c574 < - statsmodels=0.13.5=py38h26c90d9_2 --- > - statsmodels=0.14.0=py39h0f8d45d_1 565,566c577,578 < - tenacity=8.1.0=pyhd8ed1ab_0 < - terminado=0.17.0=pyh41d4057_0 --- > - tenacity=8.2.2=pyhd8ed1ab_0 > - terminado=0.17.1=pyh41d4057_0 569c581 < - tifffile=2022.10.10=pyhd8ed1ab_0 --- > - tifffile=2023.4.12=pyhd8ed1ab_0 576,578c588,590 < - tornado=6.1=py38h0a891b7_3 < - tqdm=4.64.1=pyhd8ed1ab_0 < - traitlets=5.6.0=pyhd8ed1ab_0 --- > - tornado=6.3.2=py39hd1e30aa_0 > - tqdm=4.65.0=pyhd8ed1ab_1 > - traitlets=5.9.0=pyhd8ed1ab_0 580,589c592,602 < - trio=0.21.0=py38h578d9bd_0 < - trio-websocket=0.9.2=pyhd8ed1ab_0 < - typing-extensions=4.4.0=hd8ed1ab_0 < - typing_extensions=4.4.0=pyha770c72_0 < - tzcode=2022g=h166bdaf_0 < - tzdata=2022g=h191b570_0 < - tzlocal=4.2=py38h578d9bd_2 < - ujson=5.7.0=py38h8dc9893_0 < - ukkonen=1.0.1=py38h43d8883_3 < - unicodedata2=15.0.0=py38h0a891b7_0 --- > - trio=0.22.0=py39hf3d152e_1 > - trio-websocket=0.10.2=pyhd8ed1ab_0 > - typing-extensions=4.6.2=hd8ed1ab_0 > - typing_extensions=4.6.2=pyha770c72_0 > - tzcode=2023c=h0b41bf4_0 > - tzdata=2023c=h71feb2d_0 > - tzlocal=5.0.1=py39hf3d152e_0 > - ucx=1.14.1=hf587318_1 > - ujson=5.7.0=py39h227be39_0 > - ukkonen=1.0.1=py39hf939315_3 > - unicodedata2=15.0.0=py39hb9d737c_0 591c604 < - urllib3=1.26.13=pyhd8ed1ab_0 --- > - urllib3=1.26.15=pyhd8ed1ab_0 593,594c606,607 < - validators=0.18.2=pyhd3deb0d_0 < - virtualenv=20.17.0=py38h578d9bd_0 --- > - validators=0.20.0=pyhd8ed1ab_0 > - virtualenv=20.23.0=pyhd8ed1ab_0 596,597c609,610 < - watchdog=2.1.9=py38h578d9bd_1 < - wcwidth=0.2.5=pyh9f0ad1d_2 --- > - watchdog=3.0.0=py39hf3d152e_0 > - wcwidth=0.2.6=pyhd8ed1ab_0 600,602c613,615 < - websocket-client=1.4.2=pyhd8ed1ab_0 < - websockets=10.4=py38h0a891b7_1 < - werkzeug=2.2.2=pyhd8ed1ab_0 --- > - websocket-client=1.5.2=pyhd8ed1ab_0 > - websockets=11.0.3=py39hd1e30aa_0 > - werkzeug=2.3.4=pyhd8ed1ab_0 604,606c617,619 < - wheel=0.38.4=pyhd8ed1ab_0 < - widgetsnbextension=4.0.3=pyhd8ed1ab_0 < - wrapt=1.14.1=py38h0a891b7_1 --- > - wheel=0.40.0=pyhd8ed1ab_0 > - widgetsnbextension=4.0.7=pyhd8ed1ab_0 > - wrapt=1.15.0=py39h72bdee0_0 608c621 < - xarray=2022.10.0=pyhd8ed1ab_0 --- > - xarray=2023.1.0=pyhd8ed1ab_0 614c627 < - xclim=0.39.0=pyhd8ed1ab_0 --- > - xclim=0.43.0=py39hf3d152e_1 616c629 < - xesmf=0.6.3=pyhd8ed1ab_1 --- > - xesmf=0.7.1=pyhd8ed1ab_0 618c631 < - xeus-python=0.15.8=py38hfbd4bf9_1 --- > - xeus-python=0.15.9=py39h7633fee_0 621c634 < - xeus-zmq=1.0.2=h0541b36_2 --- > - xeus-zmq=1.0.3=h0541b36_0 622a636 > - xkeyboard-config=2.38=h0b41bf4_0 624c638 < - xlsxwriter=3.0.3=pyhd8ed1ab_0 --- > - xlsxwriter=3.1.2=pyhd8ed1ab_0 630,633c644,647 < - xorg-libice=1.0.10=h7f98852_0 < - xorg-libsm=1.2.3=hd9c2040_1000 < - xorg-libx11=1.7.2=h7f98852_0 < - xorg-libxau=1.0.9=h7f98852_0 --- > - xorg-libice=1.1.1=hd590300_0 > - xorg-libsm=1.2.4=h7391055_0 > - xorg-libx11=1.8.4=h0b41bf4_0 > - xorg-libxau=1.0.11=hd590300_0 636c650 < - xorg-libxext=1.3.4=h7f98852_1 --- > - xorg-libxext=1.3.4=h0b41bf4_2 644c658 < - xorg-xextproto=7.3.0=h7f98852_1002 --- > - xorg-xextproto=7.3.0=h0b41bf4_1003 647c661 < - xrft=1.0.0=pyhd8ed1ab_0 --- > - xrft=1.0.1=pyhd8ed1ab_0 649c663 < - xyzservices=2022.9.0=pyhd8ed1ab_0 --- > - xyzservices=2023.5.0=pyhd8ed1ab_1 650a665 > - y-py=0.5.9=py39h50f1755_0 652,653c667,669 < - yarl=1.8.1=py38h0a891b7_0 < - zarr=2.13.3=pyhd8ed1ab_0 --- > - yarl=1.9.2=py39hd1e30aa_0 > - ypy-websocket=0.8.2=pyhd8ed1ab_0 > - zarr=2.14.2=pyhd8ed1ab_0 656,657c672,673 < - zict=2.2.0=pyhd8ed1ab_0 < - zipp=3.11.0=pyhd8ed1ab_0 --- > - zict=3.0.0=pyhd8ed1ab_0 > - zipp=3.15.0=pyhd8ed1ab_0 659,660c675,676 < - zlib-ng=2.0.6=h166bdaf_0 < - zstd=1.5.2=h6239696_4 --- > - zlib-ng=2.0.7=h0b41bf4_0 > - zstd=1.5.2=h3eb15da_6 662,673c678,701 < - astunparse==1.6.3 < - colour==0.1.5 < - geojson==2.5.0 < - ipython-blocking==0.3.1 < - jupyterlab-logout==0.5.0 < - jupyterlab-tabular-data-editor==1.0.0 < - jupyternotify==0.1.15 < - pixiedust==1.1.19 < - pytest-tornasync==0.6.0.post2 < - xmltodict==0.13.0 < - xncml==0.2 < - xsdata==22.12 --- > - arrow==1.2.3 > - astunparse==1.6.3 > - colour==0.1.5 > - dnspython==2.3.0 > - email-validator==2.0.0.post2 > - fqdn==1.5.1 > - geojson==3.0.1 > - hsclient==0.3.3 > - hsmodels==0.5.5 > - ipython-blocking==0.3.1 > - isodate==0.6.1 > - isoduration==20.11.0 > - jsonpointer==2.3 > - jupyterlab-logout==0.5.0 > - jupyterlab-tabular-data-editor==1.0.0 > - jupyternotify==0.1.15 > - pixiedust==1.1.19 > - pytest-tornasync==0.6.0.post2 > - rdflib==5.0.0 > - uri-template==1.2.0 > - webcolors==1.13 > - xmltodict==0.13.0 > - xncml==0.2 > - xsdata==23.5 ``` Full new conda env export: [230530-1-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11621130/230530-1-conda-env-export.yml.txt) ``` name: birdy channels: - cdat - conda-forge - defaults dependencies: - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=2_gnu - affine=2.4.0=pyhd8ed1ab_0 - aiobotocore=2.5.0=pyhd8ed1ab_0 - aiofiles=22.1.0=pyhd8ed1ab_0 - aiohttp=3.8.4=py39h72bdee0_0 - aioitertools=0.11.0=pyhd8ed1ab_0 - aiosignal=1.3.1=pyhd8ed1ab_0 - aiosqlite=0.19.0=pyhd8ed1ab_0 - alembic=1.11.1=pyhd8ed1ab_0 - alsa-lib=1.2.8=h166bdaf_0 - altair=5.0.1=pyhd8ed1ab_0 - ansi2html=1.8.0=py39hf3d152e_1 - anyio=3.6.1=pyhd8ed1ab_1 - aom=3.5.0=h27087fc_0 - appdirs=1.4.4=pyh9f0ad1d_0 - argon2-cffi=21.3.0=pyhd8ed1ab_0 - argon2-cffi-bindings=21.2.0=py39hb9d737c_3 - asciitree=0.3.3=py_2 - astor=0.8.1=pyh9f0ad1d_0 - asttokens=2.2.1=pyhd8ed1ab_0 - async-timeout=4.0.2=pyhd8ed1ab_0 - async_generator=1.10=py_0 - attr=2.5.1=h166bdaf_1 - attrs=23.1.0=pyh71513ae_1 - aws-c-auth=0.6.27=he072965_1 - aws-c-cal=0.5.26=hf677bf3_1 - aws-c-common=0.8.19=hd590300_0 - aws-c-compression=0.2.16=hbad4bc6_7 - aws-c-event-stream=0.2.20=hb4b372c_7 - aws-c-http=0.7.7=h2632f9a_4 - aws-c-io=0.13.21=h9fef7b8_5 - aws-c-mqtt=0.8.11=h2282364_1 - aws-c-s3=0.3.0=hcb5a9b2_2 - aws-c-sdkutils=0.1.9=hbad4bc6_2 - aws-checksums=0.1.14=hbad4bc6_7 - aws-crt-cpp=0.20.2=he0fdcb3_0 - aws-sdk-cpp=1.10.57=h059227d_13 - babel=2.12.1=pyhd8ed1ab_1 - backcall=0.2.0=pyh9f0ad1d_0 - backports=1.0=pyhd8ed1ab_3 - backports.functools_lru_cache=1.6.4=pyhd8ed1ab_0 - base58=2.1.1=pyhd8ed1ab_0 - bcrypt=3.2.2=py39hb9d737c_1 - beautifulsoup4=4.12.2=pyha770c72_0 - bias_correction=0.4=pyhd8ed1ab_0 - birdy=0.8.4=pyh1a96a4e_0 - bleach=6.0.0=pyhd8ed1ab_0 - blinker=1.6.2=pyhd8ed1ab_0 - blosc=1.21.4=h0f2a231_0 - bokeh=2.4.3=pyhd8ed1ab_3 - boltons=23.0.0=pyhd8ed1ab_0 - boost-cpp=1.78.0=h5adbc97_2 - boto3=1.26.76=pyhd8ed1ab_0 - botocore=1.29.76=pyhd8ed1ab_0 - bottleneck=1.3.7=py39h389d5f1_0 - branca=0.6.0=pyhd8ed1ab_0 - brotli=1.0.9=h166bdaf_8 - brotli-bin=1.0.9=h166bdaf_8 - brotlipy=0.7.0=py39hb9d737c_1005 - brunsli=0.1=h9c3ff4c_0 - bzip2=1.0.8=h7f98852_4 - c-ares=1.19.1=hd590300_0 - c-blosc2=2.9.2=hb4ffafa_0 - ca-certificates=2023.5.7=hbcca054_0 - cached-property=1.5.2=hd8ed1ab_1 - cached_property=1.5.2=pyha770c72_1 - cachetools=5.3.0=pyhd8ed1ab_0 - cairo=1.16.0=ha61ee94_1014 - cartopy=0.21.1=py39h6e7ad6e_0 - cattrs=22.2.0=pyhd8ed1ab_0 - cdat_info=8.2.1=pyhd8ed1ab_2 - cdms2=3.1.5=py39h36de48d_15 - cdtime=3.1.4=py39he83c29a_7 - certifi=2023.5.7=pyhd8ed1ab_0 - certipy=0.1.3=py_0 - cf_xarray=0.8.0=pyhd8ed1ab_0 - cffi=1.15.1=py39he91dace_3 - cfgrib=0.9.10.4=pyhd8ed1ab_0 - cfgv=3.3.1=pyhd8ed1ab_0 - cfitsio=4.2.0=hd9d235c_0 - cftime=1.6.2=py39h2ae25f5_1 - charls=2.4.2=h59595ed_0 - charset-normalizer=2.1.1=pyhd8ed1ab_0 - click=8.1.3=unix_pyhd8ed1ab_2 - click-plugins=1.1.1=py_0 - cligj=0.7.2=pyhd8ed1ab_1 - climpred=2.3.0=pyhd8ed1ab_0 - clisops=0.9.6=pyh1a96a4e_0 - cloudpickle=2.2.1=pyhd8ed1ab_0 - colorama=0.4.6=pyhd8ed1ab_0 - colorcet=3.0.1=pyhd8ed1ab_0 - comm=0.1.3=pyhd8ed1ab_0 - configurable-http-proxy=4.5.4=he2f69ee_2 - contourpy=1.0.7=py39h4b4f3f3_0 - coverage=7.2.7=py39hd1e30aa_0 - cryptography=40.0.2=py39h079d5ae_0 - curl=8.1.2=h409715c_0 - cycler=0.11.0=pyhd8ed1ab_0 - cytoolz=0.12.0=py39hb9d737c_1 - dash=2.9.3=pyhd8ed1ab_2 - dask=2023.5.1=pyhd8ed1ab_0 - dask-core=2023.5.1=pyhd8ed1ab_0 - dask-labextension=6.1.0=pyhd8ed1ab_0 - dataclasses=0.8=pyhc8e2a94_3 - datashader=0.14.4=pyh1a96a4e_0 - datashape=0.5.4=py_1 - dav1d=1.2.0=hd590300_0 - dbus=1.13.6=h5008d03_3 - debugpy=1.6.7=py39h227be39_0 - decorator=5.1.1=pyhd8ed1ab_0 - defusedxml=0.7.1=pyhd8ed1ab_0 - descartes=1.1.0=py_4 - dill=0.3.6=pyhd8ed1ab_1 - distarray=2.12.2=pyh050c7b8_4 - distlib=0.3.6=pyhd8ed1ab_0 - distributed=2023.5.1=pyhd8ed1ab_0 - docopt=0.6.2=py_1 - docrep=0.3.2=pyh44b312d_0 - eccodes=2.28.0=h7513371_1 - elfutils=0.189=hde5d1a3_0 - entrypoints=0.4=pyhd8ed1ab_0 - eofs=1.4.0=py_0 - esgf-compute-api=2.3.9=0_h1234567_ - esgf-pyclient=0.3.1=pyh1a96a4e_2 - esmf=8.4.0=mpi_mpich_hc592774_104 - esmpy=8.4.0=mpi_mpich_py39h3088dd8_102 - exceptiongroup=1.1.1=pyhd8ed1ab_0 - execnet=1.9.0=pyhd8ed1ab_0 - executing=1.2.0=pyhd8ed1ab_0 - expat=2.5.0=hcb278e6_1 - fasteners=0.17.3=pyhd8ed1ab_0 - fastprogress=1.0.3=pyhd8ed1ab_0 - fftw=3.3.10=nompi_hc118613_107 - filelock=3.12.0=pyhd8ed1ab_0 - findlibs=0.0.5=pyhd8ed1ab_0 - fiona=1.9.1=py39hbc5ff6d_0 - flask=2.3.2=pyhd8ed1ab_0 - flit-core=3.9.0=pyhd8ed1ab_0 - flox=0.7.2=pyhd8ed1ab_0 - folium=0.14.0=pyhd8ed1ab_0 - font-ttf-dejavu-sans-mono=2.37=hab24e00_0 - font-ttf-inconsolata=3.000=h77eed37_0 - font-ttf-source-code-pro=2.038=h77eed37_0 - font-ttf-ubuntu=0.83=hab24e00_0 - fontconfig=2.14.2=h14ed4e7_0 - fonts-conda-ecosystem=1=0 - fonts-conda-forge=1=0 - fonttools=4.39.4=py39hd1e30aa_0 - freeglut=3.2.2=h9c3ff4c_1 - freetype=2.12.1=hca18f0e_1 - freexl=1.0.6=h166bdaf_1 - frozenlist=1.3.3=py39hb9d737c_0 - fsspec=2023.5.0=pyh1a96a4e_0 - funcsigs=1.0.2=py_3 - future=0.18.3=pyhd8ed1ab_0 - g2clib=1.6.3=hbecde78_1 - gcsfs=2023.5.0=pyhd8ed1ab_0 - gdal=3.6.2=py39hc6cd174_6 - geckodriver=0.33.0=hd2f7af9_0 - geographiclib=1.52=pyhd8ed1ab_0 - geopandas=0.13.0=pyhd8ed1ab_0 - geopandas-base=0.13.0=pyha770c72_0 - geopy=2.3.0=pyhd8ed1ab_0 - geos=3.11.1=h27087fc_0 - geotiff=1.7.1=h7a142b4_6 - geoviews=1.9.6=pyhd8ed1ab_0 - geoviews-core=1.9.6=pyha770c72_0 - gettext=0.21.1=h27087fc_0 - gflags=2.2.2=he1b5a44_1004 - giflib=5.2.1=h0b41bf4_3 - gitdb=4.0.10=pyhd8ed1ab_0 - gitpython=3.1.31=pyhd8ed1ab_0 - glib=2.76.3=hfc55251_0 - glib-tools=2.76.3=hfc55251_0 - glog=0.6.0=h6f12383_0 - gnutls=3.7.8=hf3e180e_0 - google-api-core=2.11.0=pyhd8ed1ab_0 - google-auth=2.19.0=pyh1a96a4e_0 - google-auth-oauthlib=1.0.0=pyhd8ed1ab_0 - google-cloud-core=2.3.2=pyhd8ed1ab_0 - google-cloud-storage=2.9.0=pyh1a96a4e_0 - google-crc32c=1.1.2=py39h8db88ab_4 - google-resumable-media=2.5.0=pyhd8ed1ab_0 - googleapis-common-protos=1.57.1=pyhd8ed1ab_0 - graphite2=1.3.13=h58526e2_1001 - greenlet=2.0.2=py39h3d6467e_1 - grpcio=1.54.2=py39h227be39_2 - gst-plugins-base=1.22.0=h4243ec0_2 - gstreamer=1.22.0=h25f0c4b_2 - gstreamer-orc=0.4.34=hd590300_0 - h11=0.14.0=pyhd8ed1ab_0 - h5netcdf=1.1.0=pyhd8ed1ab_1 - h5py=3.8.0=mpi_mpich_py39hadaddcd_0 - harfbuzz=6.0.0=h8e241bc_0 - haversine=2.8.0=pyhd8ed1ab_0 - hdf4=4.2.15=h9772cbc_5 - hdf5=1.12.2=mpi_mpich_h5d83325_1 - holoviews=1.16.0=pyhd8ed1ab_0 - hvplot=0.8.3=pyhd8ed1ab_0 - icu=70.1=h27087fc_0 - identify=2.5.24=pyhd8ed1ab_0 - idna=3.4=pyhd8ed1ab_0 - imagecodecs=2023.1.23=py39hd061359_0 - imageio=2.28.1=pyh24c5eb1_0 - importlib-metadata=6.6.0=pyha770c72_0 - importlib-resources=5.12.0=pyhd8ed1ab_0 - importlib_metadata=6.6.0=hd8ed1ab_0 - importlib_resources=5.12.0=pyhd8ed1ab_0 - iniconfig=2.0.0=pyhd8ed1ab_0 - intake=0.7.0=pyhd8ed1ab_0 - intake-esm=2021.8.17=pyhd8ed1ab_0 - intake-geopandas=0.4.0=pyhd8ed1ab_0 - intake-thredds=2022.8.19=pyhd8ed1ab_0 - intake-xarray=0.7.0=pyhd8ed1ab_0 - ipykernel=6.23.1=pyh210e3f2_0 - ipyleaflet=0.17.2=pyhd8ed1ab_0 - ipython=8.13.2=pyh41d4057_0 - ipython_genutils=0.2.0=py_1 - ipywidgets=8.0.6=pyhd8ed1ab_0 - itsdangerous=2.1.2=pyhd8ed1ab_0 - jack=1.9.22=h11f4161_0 - jasper=2.0.33=h0ff4b12_1 - jedi=0.18.2=pyhd8ed1ab_0 - jinja2=3.1.2=pyhd8ed1ab_1 - jmespath=1.0.1=pyhd8ed1ab_0 - joblib=1.2.0=pyhd8ed1ab_0 - jpeg=9e=h0b41bf4_3 - json-c=0.16=hc379101_0 - json5=0.9.5=pyh9f0ad1d_0 - jsonpickle=2.2.0=pyhd8ed1ab_0 - jsonschema=4.17.3=pyhd8ed1ab_0 - jupyter=1.0.0=py39hf3d152e_8 - jupyter-archive=3.3.4=pyhd8ed1ab_1 - jupyter-dash=0.4.2=pyhd8ed1ab_1 - jupyter-resource-usage=0.7.1=pyhd8ed1ab_0 - jupyter-server-mathjax=0.2.6=pyh5bfe37b_1 - jupyter-server-proxy=4.0.0=pyhd8ed1ab_0 - jupyter_bokeh=3.0.5=pyhd8ed1ab_0 - jupyter_client=7.4.1=pyhd8ed1ab_0 - jupyter_console=6.6.3=pyhd8ed1ab_0 - jupyter_core=5.3.0=py39hf3d152e_0 - jupyter_events=0.6.3=pyhd8ed1ab_0 - jupyter_server=1.23.6=pyhd8ed1ab_0 - jupyter_server_fileid=0.9.0=pyhd8ed1ab_0 - jupyter_server_ydoc=0.8.0=pyhd8ed1ab_0 - jupyter_telemetry=0.1.0=pyhd8ed1ab_1 - jupyter_ydoc=0.2.3=pyhd8ed1ab_0 - jupyterhub=4.0.0=pyh2a2186d_0 - jupyterhub-base=4.0.0=pyh2a2186d_0 - jupyterlab=3.6.3=pyhd8ed1ab_0 - jupyterlab-git=0.41.0=pyhd8ed1ab_1 - jupyterlab-system-monitor=0.8.0=pyhd8ed1ab_2 - jupyterlab-topbar=0.6.1=pyhd8ed1ab_2 - jupyterlab_pygments=0.2.2=pyhd8ed1ab_0 - jupyterlab_server=2.22.1=pyhd8ed1ab_0 - jupyterlab_widgets=3.0.7=pyhd8ed1ab_1 - jupytext=1.14.5=pyhcff175f_0 - jxrlib=1.1=h7f98852_2 - kealib=1.5.0=ha7026e8_0 - keyutils=1.6.1=h166bdaf_0 - kiwisolver=1.4.4=py39hf939315_1 - krb5=1.20.1=h81ceb04_0 - lame=3.100=h166bdaf_1003 - lazy-object-proxy=1.9.0=py39h72bdee0_0 - lazy_loader=0.2=pyhd8ed1ab_0 - lcms2=2.15=hfd0df8a_0 - ld_impl_linux-64=2.40=h41732ed_0 - lerc=4.0.0=h27087fc_0 - libabseil=20230125.2=cxx17_h59595ed_2 - libaec=1.0.6=hcb278e6_1 - libarchive=3.6.2=h3d51595_0 - libarrow=10.0.1=hf815326_25_cpu - libavif=0.11.1=hff004cb_1 - libblas=3.9.0=16_linux64_openblas - libbrotlicommon=1.0.9=h166bdaf_8 - libbrotlidec=1.0.9=h166bdaf_8 - libbrotlienc=1.0.9=h166bdaf_8 - libcap=2.67=he9d0100_0 - libcblas=3.9.0=16_linux64_openblas - libcdms=3.1.2=hf94f14b_119 - libcf=1.0.3=py39h6c807ef_115 - libclang=15.0.7=default_h7634d5b_2 - libclang13=15.0.7=default_h9986a30_2 - libcrc32c=1.1.2=h9c3ff4c_0 - libcups=2.3.3=h36d4200_3 - libcurl=8.1.2=h409715c_0 - libdb=6.2.32=h9c3ff4c_0 - libdeflate=1.17=h0b41bf4_0 - libdrm=2.4.114=h166bdaf_0 - libdrs=3.1.2=hf593df3_118 - libdrs_f=3.1.2=h7e76ec7_114 - libedit=3.1.20191231=he28a2e2_2 - libev=4.33=h516909a_1 - libevent=2.1.10=h28343ad_4 - libexpat=2.5.0=hcb278e6_1 - libffi=3.4.2=h7f98852_5 - libflac=1.4.2=h27087fc_0 - libgcc-ng=12.2.0=h65d4601_19 - libgcrypt=1.10.1=h166bdaf_0 - libgdal=3.6.2=h8c90c07_6 - libgfortran-ng=12.2.0=h69a702a_19 - libgfortran5=12.2.0=h337968e_19 - libglib=2.76.3=hebfc3b9_0 - libglu=9.0.0=he1b5a44_1001 - libgomp=12.2.0=h65d4601_19 - libgoogle-cloud=2.10.1=hac9eb74_1 - libgpg-error=1.46=h620e276_0 - libgrpc=1.54.2=hb20ce57_2 - libiconv=1.17=h166bdaf_0 - libidn2=2.3.4=h166bdaf_0 - libkml=1.3.0=h37653c0_1015 - liblapack=3.9.0=16_linux64_openblas - libllvm14=14.0.6=hcd5def8_2 - libllvm15=15.0.7=hadd5161_1 - libllvm16=16.0.1=hadd5161_0 - libmicrohttpd=0.9.76=h87ba234_0 - libnetcdf=4.8.1=mpi_mpich_hcd871d9_6 - libnghttp2=1.52.0=h61bc06f_0 - libnsl=2.0.0=h7f98852_0 - libnuma=2.0.16=h0b41bf4_1 - libogg=1.3.4=h7f98852_1 - libopenblas=0.3.21=pthreads_h78a6416_3 - libopus=1.3.1=h7f98852_1 - libpciaccess=0.17=h166bdaf_0 - libpng=1.6.39=h753d276_0 - libpq=15.2=hb675445_0 - libprotobuf=3.21.12=h3eb15da_0 - librttopo=1.1.0=ha49c73b_12 - libsndfile=1.2.0=hb75c966_0 - libsodium=1.0.18=h36c2ea0_1 - libspatialindex=1.9.3=h9c3ff4c_4 - libspatialite=5.0.1=h221c8f1_23 - libsqlite=3.42.0=h2797004_0 - libssh2=1.10.0=hf14f497_3 - libstdcxx-ng=12.2.0=h46fd767_19 - libsystemd0=253=h8c4010b_1 - libtasn1=4.19.0=h166bdaf_0 - libthrift=0.18.1=h5e4af38_0 - libtiff=4.5.0=h6adf6a1_2 - libtool=2.4.7=h27087fc_0 - libudev1=253=h0b41bf4_1 - libunistring=0.9.10=h7f98852_0 - libutf8proc=2.8.0=h166bdaf_0 - libuuid=2.38.1=h0b41bf4_0 - libuv=1.44.2=h166bdaf_0 - libvorbis=1.3.7=h9c3ff4c_0 - libwebp-base=1.3.0=h0b41bf4_0 - libxcb=1.13=h7f98852_1004 - libxkbcommon=1.5.0=h79f4944_1 - libxml2=2.10.3=hca2bb57_4 - libxslt=1.1.37=h873f0b0_0 - libzip=1.9.2=hc929e4a_1 - libzlib=1.2.13=h166bdaf_4 - libzopfli=1.0.3=h9c3ff4c_0 - llvmlite=0.40.0=py39h174d805_0 - lmoments3=1.0.5=pyhd8ed1ab_0 - locket=1.0.0=pyhd8ed1ab_0 - loguru=0.7.0=py39hf3d152e_0 - lxml=4.9.2=py39h14694de_0 - lz4=4.3.2=py39h724f13c_0 - lz4-c=1.9.4=hcb278e6_0 - lzo=2.10=h516909a_1000 - mako=1.2.4=pyhd8ed1ab_0 - mamba_gator=5.2.1=pyhd8ed1ab_0 - mapclassify=2.5.0=pyhd8ed1ab_1 - markdown=3.4.3=pyhd8ed1ab_0 - markdown-it-py=2.2.0=pyhd8ed1ab_0 - markupsafe=2.1.2=py39h72bdee0_0 - matplotlib=3.7.1=py39hf3d152e_0 - matplotlib-base=3.7.1=py39he190548_0 - matplotlib-inline=0.1.6=pyhd8ed1ab_0 - mdit-py-plugins=0.3.5=pyhd8ed1ab_0 - mdurl=0.1.0=pyhd8ed1ab_0 - memory_profiler=0.61.0=pyhd8ed1ab_0 - mesalib=23.0.2=h3855f93_0 - mistune=2.0.5=pyhd8ed1ab_0 - mpg123=1.31.3=hcb278e6_0 - mpi=1.0=mpich - mpi4py=3.1.4=py39h32b9844_0 - mpich=4.0.3=h846660c_100 - msgpack-python=1.0.5=py39h4b4f3f3_0 - multidict=6.0.4=py39h72bdee0_0 - multipledispatch=0.6.0=py_0 - multiprocess=0.70.14=py39hb9d737c_3 - munch=3.0.0=pyhd8ed1ab_0 - munkres=1.1.4=pyh9f0ad1d_0 - myproxyclient=2.1.0=pyhd8ed1ab_2 - mysql-common=8.0.32=hf1915f5_2 - mysql-libs=8.0.32=hca2cd23_2 - nbclassic=1.0.0=pyhb4ecaf3_1 - nbclient=0.7.4=pyhd8ed1ab_0 - nbconvert=7.4.0=pyhd8ed1ab_0 - nbconvert-core=7.4.0=pyhd8ed1ab_0 - nbconvert-pandoc=7.4.0=pyhd8ed1ab_0 - nbdime=3.2.1=pyhd8ed1ab_0 - nbformat=5.8.0=pyhd8ed1ab_0 - nbresuse=0.4.0=pyhd8ed1ab_0 - nbval=0.9.6=pyh9f0ad1d_0 - nc-time-axis=1.4.1=pyhd8ed1ab_0 - ncurses=6.3=h27087fc_1 - nest-asyncio=1.5.6=pyhd8ed1ab_0 - nested_dict=1.61=pyhd3deb0d_0 - netcdf-fortran=4.6.0=mpi_mpich_h1e13492_2 - netcdf4=1.6.2=nompi_py39hfaa66c4_100 - nettle=3.8.1=hc379101_1 - networkx=3.1=pyhd8ed1ab_0 - nodeenv=1.8.0=pyhd8ed1ab_0 - nodejs=18.15.0=h8d033a5_0 - notebook=6.5.4=pyha770c72_0 - notebook-shim=0.2.3=pyhd8ed1ab_0 - nspr=4.35=h27087fc_0 - nss=3.89=he45b914_0 - numba=0.57.0=py39hb75a051_0 - numcodecs=0.11.0=py39h227be39_1 - numpy=1.23.5=py39h3d75532_0 - numpy_groupies=0.9.22=pyhd8ed1ab_0 - oauthlib=3.2.2=pyhd8ed1ab_0 - openblas=0.3.21=pthreads_h320a7e8_3 - openjpeg=2.5.0=hfec8fc6_2 - openssl=3.1.1=hd590300_0 - orc=1.8.3=hfdbbad2_0 - outcome=1.2.0=pyhd8ed1ab_0 - owslib=0.28.1=pyhd8ed1ab_0 - p11-kit=0.24.1=hc5aa10d_0 - packaging=23.1=pyhd8ed1ab_0 - pamela=1.0.0=py_0 - pandas=1.3.5=py39hde0f152_0 - pandoc=2.19.2=h32600fe_2 - pandocfilters=1.5.0=pyhd8ed1ab_0 - panel=0.14.4=pyhd8ed1ab_0 - parallelio=2.5.10=mpi_mpich_h862c5c2_100 - param=1.13.0=pyh1a96a4e_0 - paramiko=3.2.0=pyhd8ed1ab_0 - parso=0.8.3=pyhd8ed1ab_0 - partd=1.4.0=pyhd8ed1ab_0 - pathos=0.3.0=pyhd8ed1ab_0 - patsy=0.5.3=pyhd8ed1ab_0 - pcre2=10.40=hc3806b6_0 - pexpect=4.8.0=pyh1a96a4e_2 - pickleshare=0.7.5=py_1003 - pillow=9.4.0=py39h2320bf1_1 - pint=0.21=pyhd8ed1ab_0 - pip=23.1.2=pyhd8ed1ab_0 - pixman=0.40.0=h36c2ea0_0 - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_0 - platformdirs=3.5.1=pyhd8ed1ab_0 - plotly=5.14.1=pyhd8ed1ab_0 - pluggy=1.0.0=pyhd8ed1ab_5 - ply=3.11=py_1 - pooch=1.7.0=pyha770c72_3 - poppler=23.01.0=h091648b_0 - poppler-data=0.4.12=hd8ed1ab_0 - postgresql=15.2=h3248436_0 - pox=0.3.2=pyhd8ed1ab_0 - ppft=1.7.6.6=pyhd8ed1ab_0 - pre-commit=3.3.2=pyha770c72_0 - proj=9.1.1=h8ffa02c_2 - prometheus_client=0.17.0=pyhd8ed1ab_0 - prompt-toolkit=3.0.38=pyha770c72_0 - prompt_toolkit=3.0.38=hd8ed1ab_0 - properscoring=0.1=py_0 - protobuf=4.21.12=py39h227be39_0 - pscript=0.7.7=pyhd8ed1ab_0 - psutil=5.9.5=py39h72bdee0_0 - pthread-stubs=0.4=h36c2ea0_1001 - ptyprocess=0.7.0=pyhd3deb0d_0 - pulseaudio=16.1=hcb278e6_3 - pulseaudio-client=16.1=h5195f5e_3 - pulseaudio-daemon=16.1=ha8d29e2_3 - pure_eval=0.2.2=pyhd8ed1ab_0 - pyarrow=10.0.1=py39he4327e9_25_cpu - pyasn1=0.4.8=py_0 - pyasn1-modules=0.2.7=py_0 - pycparser=2.21=pyhd8ed1ab_0 - pyct=0.4.6=py_0 - pyct-core=0.4.6=py_0 - pycurl=7.45.1=py39h9297c8b_3 - pydantic=1.10.8=py39hd1e30aa_0 - pydap=3.4.0=pyhd8ed1ab_0 - pydeck=0.8.0=pyhd8ed1ab_0 - pygeos=0.14=py39hc9151fd_0 - pygments=2.15.1=pyhd8ed1ab_0 - pyjwt=2.7.0=pyhd8ed1ab_0 - pymbolic=2022.2=pyhd8ed1ab_0 - pymetalink=6.4=pyhd8ed1ab_0 - pympler=1.0.1=pyhd8ed1ab_0 - pynacl=1.5.0=py39hb9d737c_2 - pyogrio=0.5.1=py39hbc5ff6d_0 - pyopenssl=23.1.1=pyhd8ed1ab_0 - pyparsing=3.0.9=pyhd8ed1ab_0 - pyproj=3.5.0=py39hf8a5840_0 - pyqt=5.15.7=py39h5c7b992_3 - pyqt5-sip=12.11.0=py39h227be39_3 - pyrsistent=0.19.3=py39h72bdee0_0 - pyshp=2.3.1=pyhd8ed1ab_0 - pysocks=1.7.1=pyha2e5f31_6 - pytest=7.3.1=pyhd8ed1ab_0 - pytest-xdist=3.3.1=pyhd8ed1ab_0 - python=3.9.16=h2782a2a_0_cpython - python-dateutil=2.8.2=pyhd8ed1ab_0 - python-eccodes=1.5.1=py39h389d5f1_0 - python-fastjsonschema=2.17.1=pyhd8ed1ab_0 - python-json-logger=2.0.7=pyhd8ed1ab_0 - python-pptx=0.6.21=pyhd8ed1ab_0 - python-tzdata=2023.3=pyhd8ed1ab_0 - python_abi=3.9=3_cp39 - pytools=2022.1.14=pyhd8ed1ab_0 - pytz=2023.3=pyhd8ed1ab_0 - pyu2f=0.1.5=pyhd8ed1ab_0 - pyviz_comms=2.3.0=pyhd8ed1ab_0 - pywavelets=1.4.1=py39h389d5f1_0 - pyyaml=6.0=py39hb9d737c_5 - pyzmq=25.0.2=py39h0be026e_0 - qt-main=5.15.8=h5d23da1_6 - qtconsole=5.4.3=pyhd8ed1ab_0 - qtconsole-base=5.4.3=pyha770c72_0 - qtpy=2.3.1=pyhd8ed1ab_0 - rasterio=1.3.6=py39h09b1985_0 - raven-hydro=0.2.1=py39h8e2dbb5_1 - ravenpy=0.12.0=py39hf3d152e_2 - rdma-core=28.9=h59595ed_1 - re2=2023.03.02=h8c504da_0 - readline=8.2=h8228510_1 - regionmask=0.9.0=pyhd8ed1ab_0 - requests=2.31.0=pyhd8ed1ab_0 - requests-cache=1.0.1=pyhd8ed1ab_0 - requests-magpie=0.2.0=pyhd8ed1ab_0 - requests-oauthlib=1.3.1=pyhd8ed1ab_0 - retrying=1.3.3=py_2 - rfc3339-validator=0.1.4=pyhd8ed1ab_0 - rfc3986-validator=0.1.1=pyh9f0ad1d_0 - rioxarray=0.14.1=pyhd8ed1ab_0 - roocs-utils=0.6.4=pyh1a96a4e_0 - rsa=4.9=pyhd8ed1ab_0 - rtree=1.0.1=py39hb102c33_1 - ruamel.yaml=0.17.30=py39hd1e30aa_0 - ruamel.yaml.clib=0.2.7=py39h72bdee0_1 - s2n=1.3.44=h06160fa_0 - s3fs=2023.5.0=pyhd8ed1ab_0 - s3transfer=0.6.1=pyhd8ed1ab_0 - scikit-image=0.20.0=py39h7c7b5a8_1 - scikit-learn=1.2.2=py39hc236052_2 - scipy=1.9.1=py39h8ba3f38_0 - scp=0.14.5=pyhd8ed1ab_0 - seaborn=0.12.2=hd8ed1ab_0 - seaborn-base=0.12.2=pyhd8ed1ab_0 - selenium=4.9.1=pyhd8ed1ab_0 - semver=3.0.0=pyhd8ed1ab_0 - send2trash=1.8.2=pyh41d4057_0 - setuptools=59.8.0=py39hf3d152e_1 - shapely=2.0.1=py39hc9151fd_0 - simpervisor=1.0.0=pyhd8ed1ab_0 - sip=6.7.9=py39h3d6467e_0 - siphon=0.9=pyhd8ed1ab_2 - six=1.16.0=pyh6c4a22f_0 - smmap=3.0.5=pyh44b312d_0 - snappy=1.1.10=h9fff704_0 - sniffio=1.3.0=pyhd8ed1ab_0 - snuggs=1.4.7=py_0 - sortedcontainers=2.4.0=pyhd8ed1ab_0 - soupsieve=2.3.2.post1=pyhd8ed1ab_0 - sparse=0.14.0=pyhd8ed1ab_0 - spotpy=1.6.2=pyhd8ed1ab_0 - sqlalchemy=2.0.15=py39hd1e30aa_0 - sqlite=3.42.0=h2c6b66d_0 - stack_data=0.6.2=pyhd8ed1ab_0 - statsmodels=0.14.0=py39h0f8d45d_1 - streamlit=1.8.0=pyhd8ed1ab_0 - tblib=1.7.0=pyhd8ed1ab_0 - tenacity=8.2.2=pyhd8ed1ab_0 - terminado=0.17.1=pyh41d4057_0 - threadpoolctl=3.1.0=pyh8a188c0_0 - threddsclient=0.4.2=py_0 - tifffile=2023.4.12=pyhd8ed1ab_0 - tiledb=2.13.2=hd532e3d_0 - tinycss2=1.2.1=pyhd8ed1ab_0 - tk=8.6.12=h27826a3_0 - toml=0.10.2=pyhd8ed1ab_0 - tomli=2.0.1=pyhd8ed1ab_0 - toolz=0.12.0=pyhd8ed1ab_0 - tornado=6.3.2=py39hd1e30aa_0 - tqdm=4.65.0=pyhd8ed1ab_1 - traitlets=5.9.0=pyhd8ed1ab_0 - traittypes=0.2.1=pyh9f0ad1d_2 - trio=0.22.0=py39hf3d152e_1 - trio-websocket=0.10.2=pyhd8ed1ab_0 - typing-extensions=4.6.2=hd8ed1ab_0 - typing_extensions=4.6.2=pyha770c72_0 - tzcode=2023c=h0b41bf4_0 - tzdata=2023c=h71feb2d_0 - tzlocal=5.0.1=py39hf3d152e_0 - ucx=1.14.1=hf587318_1 - ujson=5.7.0=py39h227be39_0 - ukkonen=1.0.1=py39hf939315_3 - unicodedata2=15.0.0=py39hb9d737c_0 - url-normalize=1.4.3=pyhd8ed1ab_0 - urllib3=1.26.15=pyhd8ed1ab_0 - urlpath=1.2.0=pyhd8ed1ab_0 - validators=0.20.0=pyhd8ed1ab_0 - virtualenv=20.23.0=pyhd8ed1ab_0 - voila=0.4.0=pyhd8ed1ab_0 - watchdog=3.0.0=py39hf3d152e_0 - wcwidth=0.2.6=pyhd8ed1ab_0 - webencodings=0.5.1=py_1 - webob=1.8.7=pyhd8ed1ab_0 - websocket-client=1.5.2=pyhd8ed1ab_0 - websockets=11.0.3=py39hd1e30aa_0 - werkzeug=2.3.4=pyhd8ed1ab_0 - wget=1.20.3=ha35d2d1_1 - wheel=0.40.0=pyhd8ed1ab_0 - widgetsnbextension=4.0.7=pyhd8ed1ab_0 - wrapt=1.15.0=py39h72bdee0_0 - wsproto=1.2.0=pyhd8ed1ab_0 - xarray=2023.1.0=pyhd8ed1ab_0 - xcb-util=0.4.0=h516909a_0 - xcb-util-image=0.4.0=h166bdaf_0 - xcb-util-keysyms=0.4.0=h516909a_0 - xcb-util-renderutil=0.3.9=h166bdaf_0 - xcb-util-wm=0.4.1=h516909a_0 - xclim=0.43.0=py39hf3d152e_1 - xerces-c=3.2.4=h55805fa_1 - xesmf=0.7.1=pyhd8ed1ab_0 - xeus=3.0.5=hac2b420_1 - xeus-python=0.15.9=py39h7633fee_0 - xeus-python-shell=0.5.0=pyhd8ed1ab_0 - xeus-python-shell-raw=0.5.0=pyhd8ed1ab_0 - xeus-zmq=1.0.3=h0541b36_0 - xhistogram=0.3.2=pyhd8ed1ab_0 - xkeyboard-config=2.38=h0b41bf4_0 - xlrd=2.0.1=pyhd8ed1ab_3 - xlsxwriter=3.1.2=pyhd8ed1ab_0 - xorg-damageproto=1.2.1=h7f98852_1002 - xorg-fixesproto=5.0=h7f98852_1002 - xorg-glproto=1.4.17=h7f98852_1002 - xorg-inputproto=2.3.2=h7f98852_1002 - xorg-kbproto=1.0.7=h7f98852_1002 - xorg-libice=1.1.1=hd590300_0 - xorg-libsm=1.2.4=h7391055_0 - xorg-libx11=1.8.4=h0b41bf4_0 - xorg-libxau=1.0.11=hd590300_0 - xorg-libxdamage=1.1.5=h7f98852_1 - xorg-libxdmcp=1.1.3=h7f98852_0 - xorg-libxext=1.3.4=h0b41bf4_2 - xorg-libxfixes=5.0.3=h7f98852_1004 - xorg-libxi=1.7.10=h7f98852_0 - xorg-libxrandr=1.5.2=h7f98852_1 - xorg-libxrender=0.9.10=h7f98852_1003 - xorg-randrproto=1.5.0=h7f98852_1001 - xorg-renderproto=0.11.1=h7f98852_1002 - xorg-util-macros=1.19.3=h7f98852_0 - xorg-xextproto=7.3.0=h0b41bf4_1003 - xorg-xf86vidmodeproto=2.3.1=h7f98852_1002 - xorg-xproto=7.0.31=h7f98852_1007 - xrft=1.0.1=pyhd8ed1ab_0 - xskillscore=0.0.24=pyhd8ed1ab_0 - xyzservices=2023.5.0=pyhd8ed1ab_1 - xz=5.2.6=h166bdaf_0 - y-py=0.5.9=py39h50f1755_0 - yaml=0.2.5=h7f98852_2 - yarl=1.9.2=py39hd1e30aa_0 - ypy-websocket=0.8.2=pyhd8ed1ab_0 - zarr=2.14.2=pyhd8ed1ab_0 - zeromq=4.3.4=h9c3ff4c_1 - zfp=1.0.0=h27087fc_3 - zict=3.0.0=pyhd8ed1ab_0 - zipp=3.15.0=pyhd8ed1ab_0 - zlib=1.2.13=h166bdaf_4 - zlib-ng=2.0.7=h0b41bf4_0 - zstd=1.5.2=h3eb15da_6 - pip: - arrow==1.2.3 - astunparse==1.6.3 - colour==0.1.5 - dnspython==2.3.0 - email-validator==2.0.0.post2 - fqdn==1.5.1 - geojson==3.0.1 - hsclient==0.3.3 - hsmodels==0.5.5 - ipython-blocking==0.3.1 - isodate==0.6.1 - isoduration==20.11.0 - jsonpointer==2.3 - jupyterlab-logout==0.5.0 - jupyterlab-tabular-data-editor==1.0.0 - jupyternotify==0.1.15 - pixiedust==1.1.19 - pytest-tornasync==0.6.0.post2 - rdflib==5.0.0 - uri-template==1.2.0 - webcolors==1.13 - xmltodict==0.13.0 - xncml==0.2 - xsdata==23.5 prefix: /opt/conda/envs/birdy ``` Docker build log [230530-1-buildlogs.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11621136/230530-1-buildlogs.txt) ``` Sending build context to Docker daemon 22.02kB Step 1/18 : FROM continuumio/miniconda3 ---> fbedfde8d058 Step 2/18 : RUN conda update conda -n base && conda install mamba -n base -c conda-forge -c defaults && conda clean --all --yes && conda config --set channel_priority strict && wget -qO- https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -C /usr/local -xvj bin/micromamba ---> Using cache ---> 418cc0c03798 Step 3/18 : ENV MAMBA_ROOT_PREFIX="/opt/conda" ---> Using cache ---> cf727f7e31d9 Step 4/18 : RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y git mercurial gcc unzip patch fonts-humor-sans firefox-esr x11-utils && apt-get clean ---> Using cache ---> c1929f372dc2 Step 5/18 : RUN groupadd --gid 1000 jenkins && useradd --uid 1000 --gid jenkins --create-home jenkins && chmod -R a+rwX /opt/conda ---> Using cache ---> 85378190e665 Step 6/18 : COPY environment.yml /environment.yml ---> c06bfdb4ac56 Step 7/18 : RUN umask 0000 && mamba create --name birdy --channel conda-forge --channel defaults xclim ravenpy python=3.9 --yes && mamba env update --name birdy --file /environment.yml && mamba clean --all --yes ---> Running in 95270a0111d6 Transaction Prefix: /opt/conda/envs/birdy Updating specs: - xclim - ravenpy - python=3.9 Package Version Build Channel Size ────────────────────────────────────────────────────────────────────────────────────────────────────────────── Install: ────────────────────────────────────────────────────────────────────────────────────────────────────────────── + _libgcc_mutex 0.1 conda_forge conda-forge/linux-64 3kB + _openmp_mutex 4.5 2_gnu conda-forge/linux-64 24kB + affine 2.4.0 pyhd8ed1ab_0 conda-forge/noarch 19kB + appdirs 1.4.4 pyh9f0ad1d_0 conda-forge/noarch 13kB + asttokens 2.2.1 pyhd8ed1ab_0 conda-forge/noarch 28kB + attrs 23.1.0 pyh71513ae_1 conda-forge/noarch 55kB + aws-c-auth 0.6.27 he072965_1 conda-forge/linux-64 102kB + aws-c-cal 0.5.26 hf677bf3_1 conda-forge/linux-64 50kB + aws-c-common 0.8.19 hd590300_0 conda-forge/linux-64 196kB + aws-c-compression 0.2.16 hbad4bc6_7 conda-forge/linux-64 19kB + aws-c-event-stream 0.2.20 hb4b372c_7 conda-forge/linux-64 54kB + aws-c-http 0.7.7 h2632f9a_4 conda-forge/linux-64 192kB + aws-c-io 0.13.21 h9fef7b8_5 conda-forge/linux-64 140kB + aws-c-mqtt 0.8.11 h2282364_1 conda-forge/linux-64 148kB + aws-c-s3 0.3.0 hcb5a9b2_2 conda-forge/linux-64 76kB + aws-c-sdkutils 0.1.9 hbad4bc6_2 conda-forge/linux-64 54kB + aws-checksums 0.1.14 hbad4bc6_7 conda-forge/linux-64 50kB + aws-crt-cpp 0.20.2 he0fdcb3_0 conda-forge/linux-64 319kB + aws-sdk-cpp 1.10.57 h059227d_13 conda-forge/linux-64 4MB + backcall 0.2.0 pyh9f0ad1d_0 conda-forge/noarch 14kB + backports 1.0 pyhd8ed1ab_3 conda-forge/noarch 6kB + backports.functools_lru_cache 1.6.4 pyhd8ed1ab_0 conda-forge/noarch 9kB + bias_correction 0.4 pyhd8ed1ab_0 conda-forge/noarch 8kB + blosc 1.21.4 h0f2a231_0 conda-forge/linux-64 49kB + bokeh 3.1.1 pyhd8ed1ab_0 conda-forge/noarch 6MB + boltons 23.0.0 pyhd8ed1ab_0 conda-forge/noarch 303kB + boost-cpp 1.78.0 h5adbc97_2 conda-forge/linux-64 16MB + bottleneck 1.3.7 py39h389d5f1_0 conda-forge/linux-64 122kB + branca 0.6.0 pyhd8ed1ab_0 conda-forge/noarch 28kB + brotli 1.0.9 h166bdaf_8 conda-forge/linux-64 19kB + brotli-bin 1.0.9 h166bdaf_8 conda-forge/linux-64 20kB + bzip2 1.0.8 h7f98852_4 conda-forge/linux-64 496kB + c-ares 1.19.1 hd590300_0 conda-forge/linux-64 113kB + ca-certificates 2023.5.7 hbcca054_0 conda-forge/linux-64 Cached + cairo 1.16.0 ha61ee94_1014 conda-forge/linux-64 2MB + certifi 2023.5.7 pyhd8ed1ab_0 conda-forge/noarch Cached + cf_xarray 0.8.1 pyhd8ed1ab_0 conda-forge/noarch 52kB + cfitsio 4.2.0 hd9d235c_0 …
This adds support for attribute validation against controlled vocabularies.
Add logging and tests.
Non-compliant catalog entries are skipped.