Skip to content
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

Modify nb on ESGF access to remove authentication process #269

Merged
merged 10 commits into from Feb 13, 2023
Merged

Conversation

huard
Copy link
Contributor

@huard huard commented Nov 30, 2022

  • Remove authentication process
  • Add basic search functionality using pyesgf client.

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@huard
Copy link
Contributor Author

huard commented Jan 20, 2023

Looks like pyesgf is not installed on pavics in the latest current env.

@tlvu
Copy link
Contributor

tlvu commented Jan 21, 2023

Looks like pyesgf is not installed on pavics in the latest current env.

Hehe, because it has never been previously installed :D

Are we talking about this one https://anaconda.org/conda-forge/esgf-pyclient ?

@tlvu
Copy link
Contributor

tlvu commented Jan 21, 2023

Looks like pyesgf is not installed on pavics in the latest current env.

Hehe, because it has never been previously installed :D

Are we talking about this one https://anaconda.org/conda-forge/esgf-pyclient ?

https://esgf-pyclient.readthedocs.io/en/latest/quickstart.html, looks like it's the same code in this PR, I'll add this module to the Jupyter env.

tlvu added a commit to Ouranosinc/PAVICS-e2e-workflow-tests that referenced this pull request Jan 21, 2023
@tlvu
Copy link
Contributor

tlvu commented Jan 23, 2023

The "Alpha" version of the Jupyter env has esgf-pyclient installed if you want to reproduce the error or refresh the notebook.

Jenkins test on this PR found the following error:

http://jenkins.ouranos.ca/job/PAVICS-e2e-workflow-tests/job/new-docker-build/125/consoleFull

22:44:05  _____ pavics-sdi-fix-esgf-dap/docs/source/notebooks/esgf-dap.ipynb::Cell 0 _____
22:44:05  Notebook cell execution failed
22:44:05  Cell 0: Cell outputs differ
22:44:05  
22:44:05  Input:
22:44:05  from pyesgf.search import SearchConnection
22:44:05  
22:44:05  # Create a connection for distributed search on ESGF nodes.
22:44:05  conn = SearchConnection("https://esgf.ceda.ac.uk/esg-search", distrib=True)
22:44:05  
22:44:05  # Launch a search query.
22:44:05  # Here we're looking for any variable related to humidity within the CMIP6 SSP2-4.5 experiment.
22:44:05  # Results will be stored in a dictionary with keys defined by the `facets` argument.
22:44:05  ctx = conn.new_context(
22:44:05      project="CMIP6",
22:44:05      experiment_id="ssp245",
22:44:05      query="humidity",
22:44:05      facets="variable_id,source_id",
22:44:05  )
22:44:05  
22:44:05  print("Number of results: ", ctx.hit_count)
22:44:05  print("Variables related to humidity: ")
22:44:05  ctx.facet_counts["variable_id"]
22:44:05  
22:44:05  Traceback:
22:44:05  Missing output fields from running code: {'evalue', 'ename'}
22:44:05  
22:44:05  _____ pavics-sdi-fix-esgf-dap/docs/source/notebooks/esgf-dap.ipynb::Cell 5 _____
22:44:05  Notebook cell execution failed
22:44:05  Cell 5: Cell execution caused an exception
22:44:05  
22:44:05  Input:
22:44:05  # Open the opendap link with xarray
22:44:05  import xarray as xr
22:44:05  
22:44:05  ds = xr.open_dataset(agg.opendap_url)
22:44:05  ds
22:44:05  
22:44:05  Traceback:
22:44:05  
22:44:05  ---------------------------------------------------------------------------
22:44:05  KeyError                                  Traceback (most recent call last)
22:44:05  File /opt/conda/envs/birdy/lib/python3.8/site-packages/xarray/backends/file_manager.py:201, in CachingFileManager._acquire_with_cache_info(self, needs_lock)
22:44:05      200 try:
22:44:05  --> 201     file = self._cache[self._key]
22:44:05      202 except KeyError:
22:44:05  
22:44:05  File /opt/conda/envs/birdy/lib/python3.8/site-packages/xarray/backends/lru_cache.py:55, in LRUCache.__getitem__(self, key)
22:44:05       54 with self._lock:
22:44:05  ---> 55     value = self._cache[key]
22:44:05       56     self._cache.move_to_end(key)
22:44:05  
22:44:05  KeyError: [<class 'netCDF4._netCDF4.Dataset'>, ('http://vesg.ipsl.upmc.fr/thredds/dodsC/CMIP6.ScenarioMIP.IPSL.IPSL-CM6A-LR.ssp245.r1i1p1f1.Amon.huss.gr.huss.20190119.aggregation.1',), 'r', (('clobber', True), ('diskless', False), ('format', 'NETCDF4'), ('persist', False))]
22:44:05  
22:44:05  During handling of the above exception, another exception occurred:
22:44:05  
22:44:05  OSError                                   Traceback (most recent call last)
22:44:05  Cell In[6], line 4
22:44:05        1 # Open the opendap link with xarray
22:44:05        2 import xarray as xr
22:44:05  ----> 4 ds = xr.open_dataset(agg.opendap_url)
22:44:05        5 ds
22:44:05  
22:44:05  File /opt/conda/envs/birdy/lib/python3.8/site-packages/xarray/backends/api.py:539, in open_dataset(filename_or_obj, engine, chunks, cache, decode_cf, mask_and_scale, decode_times, decode_timedelta, use_cftime, concat_characters, decode_coords, drop_variables, inline_array, backend_kwargs, **kwargs)
22:44:05      527 decoders = _resolve_decoders_kwargs(
22:44:05      528     decode_cf,
22:44:05      529     open_backend_dataset_parameters=backend.open_dataset_parameters,
22:44:05     (...)
22:44:05      535     decode_coords=decode_coords,
22:44:05      536 )
22:44:05      538 overwrite_encoded_chunks = kwargs.pop("overwrite_encoded_chunks", None)
22:44:05  --> 539 backend_ds = backend.open_dataset(
22:44:05      540     filename_or_obj,
22:44:05      541     drop_variables=drop_variables,
22:44:05      542     **decoders,
22:44:05      543     **kwargs,
22:44:05      544 )
22:44:05      545 ds = _dataset_from_backend_dataset(
22:44:05      546     backend_ds,
22:44:05      547     filename_or_obj,
22:44:05     (...)
22:44:05      555     **kwargs,
22:44:05      556 )
22:44:05      557 return ds
22:44:05  
22:44:05  File /opt/conda/envs/birdy/lib/python3.8/site-packages/xarray/backends/netCDF4_.py:555, in NetCDF4BackendEntrypoint.open_dataset(self, filename_or_obj, mask_and_scale, decode_times, concat_characters, decode_coords, drop_variables, use_cftime, decode_timedelta, group, mode, format, clobber, diskless, persist, lock, autoclose)
22:44:05      534 def open_dataset(
22:44:05      535     self,
22:44:05      536     filename_or_obj,
22:44:05     (...)
22:44:05      551     autoclose=False,
22:44:05      552 ):
22:44:05      554     filename_or_obj = _normalize_path(filename_or_obj)
22:44:05  --> 555     store = NetCDF4DataStore.open(
22:44:05      556         filename_or_obj,
22:44:05      557         mode=mode,
22:44:05      558         format=format,
22:44:05      559         group=group,
22:44:05      560         clobber=clobber,
22:44:05      561         diskless=diskless,
22:44:05      562         persist=persist,
22:44:05      563         lock=lock,
22:44:05      564         autoclose=autoclose,
22:44:05      565     )
22:44:05      567     store_entrypoint = StoreBackendEntrypoint()
22:44:05      568     with close_on_error(store):
22:44:05  
22:44:05  File /opt/conda/envs/birdy/lib/python3.8/site-packages/xarray/backends/netCDF4_.py:384, in NetCDF4DataStore.open(cls, filename, mode, format, group, clobber, diskless, persist, lock, lock_maker, autoclose)
22:44:05      378 kwargs = dict(
22:44:05      379     clobber=clobber, diskless=diskless, persist=persist, format=format
22:44:05      380 )
22:44:05      381 manager = CachingFileManager(
22:44:05      382     netCDF4.Dataset, filename, mode=mode, kwargs=kwargs
22:44:05      383 )
22:44:05  --> 384 return cls(manager, group=group, mode=mode, lock=lock, autoclose=autoclose)
22:44:05  
22:44:05  File /opt/conda/envs/birdy/lib/python3.8/site-packages/xarray/backends/netCDF4_.py:332, in NetCDF4DataStore.__init__(self, manager, group, mode, lock, autoclose)
22:44:05      330 self._group = group
22:44:05      331 self._mode = mode
22:44:05  --> 332 self.format = self.ds.data_model
22:44:05      333 self._filename = self.ds.filepath()
22:44:05      334 self.is_remote = is_remote_uri(self._filename)
22:44:05  
22:44:05  File /opt/conda/envs/birdy/lib/python3.8/site-packages/xarray/backends/netCDF4_.py:393, in NetCDF4DataStore.ds(self)
22:44:05      391 @property
22:44:05      392 def ds(self):
22:44:05  --> 393     return self._acquire()
22:44:05  
22:44:05  File /opt/conda/envs/birdy/lib/python3.8/site-packages/xarray/backends/netCDF4_.py:387, in NetCDF4DataStore._acquire(self, needs_lock)
22:44:05      386 def _acquire(self, needs_lock=True):
22:44:05  --> 387     with self._manager.acquire_context(needs_lock) as root:
22:44:05      388         ds = _nc4_require_group(root, self._group, self._mode)
22:44:05      389     return ds
22:44:05  
22:44:05  File /opt/conda/envs/birdy/lib/python3.8/contextlib.py:113, in _GeneratorContextManager.__enter__(self)
22:44:05      111 del self.args, self.kwds, self.func
22:44:05      112 try:
22:44:05  --> 113     return next(self.gen)
22:44:05      114 except StopIteration:
22:44:05      115     raise RuntimeError("generator didn't yield") from None
22:44:05  
22:44:05  File /opt/conda/envs/birdy/lib/python3.8/site-packages/xarray/backends/file_manager.py:189, in CachingFileManager.acquire_context(self, needs_lock)
22:44:05      186 @contextlib.contextmanager
22:44:05      187 def acquire_context(self, needs_lock=True):
22:44:05      188     """Context manager for acquiring a file."""
22:44:05  --> 189     file, cached = self._acquire_with_cache_info(needs_lock)
22:44:05      190     try:
22:44:05      191         yield file
22:44:05  
22:44:05  File /opt/conda/envs/birdy/lib/python3.8/site-packages/xarray/backends/file_manager.py:207, in CachingFileManager._acquire_with_cache_info(self, needs_lock)
22:44:05      205     kwargs = kwargs.copy()
22:44:05      206     kwargs["mode"] = self._mode
22:44:05  --> 207 file = self._opener(*self._args, **kwargs)
22:44:05      208 if self._mode == "w":
22:44:05      209     # ensure file doesn't get overridden when opened again
22:44:05      210     self._mode = "a"
22:44:05  
22:44:05  File src/netCDF4/_netCDF4.pyx:2463, in netCDF4._netCDF4.Dataset.__init__()
22:44:05  
22:44:05  File src/netCDF4/_netCDF4.pyx:2026, in netCDF4._netCDF4._ensure_nc_success()
22:44:05  
22:44:05  OSError: [Errno -77] NetCDF: Access failure: b'http://vesg.ipsl.upmc.fr/thredds/dodsC/CMIP6.ScenarioMIP.IPSL.IPSL-CM6A-LR.ssp245.r1i1p1f1.Amon.huss.gr.huss.20190119.aggregation.1'

@huard
Copy link
Contributor Author

huard commented Jan 24, 2023

Thanks ! Will look into it.

@huard
Copy link
Contributor Author

huard commented Jan 24, 2023

Runs on alpha

Copy link
Contributor

@tlogan2000 tlogan2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@huard huard requested a review from Zeitsperre February 8, 2023 22:04
@huard huard merged commit e3b56ec into master Feb 13, 2023
@huard huard deleted the fix-esgf-dap branch February 13, 2023 14:31
tlvu added a commit to Ouranosinc/PAVICS-e2e-workflow-tests that referenced this pull request Apr 3, 2023
…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

```
tlvu added a commit to Ouranosinc/PAVICS-e2e-workflow-tests that referenced this pull request Apr 3, 2023
…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

```
tlvu added a commit to Ouranosinc/PAVICS-e2e-workflow-tests that referenced this pull request Apr 5, 2023
…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)
tlvu added a commit to bird-house/birdhouse-deploy that referenced this pull request Apr 12, 2023
…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
```
tlvu added a commit to Ouranosinc/PAVICS-e2e-workflow-tests that referenced this pull request Jun 1, 2023
… 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            …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants