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

Jupyter docker: new build for xclim, ravenpy, globus personal connect and latest of everything else #115

Merged
merged 64 commits into from Jun 1, 2023

Conversation

tlvu
Copy link
Contributor

@tlvu tlvu commented Feb 22, 2023

Changes

<   - 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

Related Issue / Discussion

Additional Information

Full diff conda env export:
221130-update230403-230530-1-conda-env-export.diff.txt

Full new conda env export:
230530-1-conda-env-export.yml.txt

Docker build log
230530-1-buildlogs.txt

… of Jupyter env

This is meant for large files since Globus will handle retry if
transfert is interrupted for some reasons.
See conda-forge/esmf-feedstock#91

Fix the following error:
```
  import xesmf as xe
  from xclim.subset import subset_bbox  # For subsetting
  from xclim.testing import open_dataset  # For opening xclim's
a

  #  A colormap with grey where the data is missing
  cmap = copy.copy(plt.cm.get_cmap("viridis"))
  cmap.set_bad("lightgray")

  Traceback:

-------------------------------------------------------------------
  KeyError                                  Traceback (most
all last)
  File
da/envs/birdy/lib/python3.8/site-packages/esmpy/interface/loadESMF.py:26
       25 try:
  ---> 26     esmfmk = os.environ["ESMFMKFILE"]
       27 except:

  File /opt/conda/envs/birdy/lib/python3.8/os.py:675, in
.__getitem__(self, key)
      673 except KeyError:
      674     # raise KeyError with the original key value
  --> 675     raise KeyError(key) from None
      676 return self.decodevalue(value)

  KeyError: 'ESMFMKFILE'
```
```
ERROR 1: PROJ: proj_create_from_database: Open of /opt/conda/envs/birdy/share/proj failed

```
```
ERROR 1: PROJ: proj_create_from_database: Open of /opt/conda/envs/birdy/share/proj failed

```
@Zeitsperre
Copy link
Collaborator

@tlvu

You might want to grab the newest xclim while you're at it (xclim-0.41.0-pyhd8ed1ab_0)

@tlvu
Copy link
Contributor Author

tlvu commented Mar 1, 2023

@tlvu

You might want to grab the newest xclim while you're at it (xclim-0.41.0-pyhd8ed1ab_0)

@Zeitsperre yup yup that is exactly what commit eab04b5 is doing :D

@tlvu
Copy link
Contributor Author

tlvu commented Mar 3, 2023

Since this PR pulls a new RavenPy that is incompatible with the existing RavenWPS, we need to sync the go-live of this new Jupyter env together with a new RavenWPS also. But the new RavenWPS docker is failing to start ! Under investigation. The go-live of this PR will have to be delayed a bit.

tlvu added 15 commits May 29, 2023 16:02
```
17:08:56  __ RavenPy-master/docs/notebooks/Managing_Jupyter_Environments.ipynb::Cell 2 ___
17:08:56  Notebook cell execution failed
17:08:56  Cell 2: Cell execution caused an exception
17:08:56
17:08:56  Input:
17:08:56  # This will now work.
17:08:56  import seaborn
17:08:56
17:08:56  Traceback:
17:08:56
17:08:56  ---------------------------------------------------------------------------
17:08:56  ModuleNotFoundError                       Traceback (most recent call last)
17:08:56  Cell In[3], line 2
17:08:56        1 # This will now work.
17:08:56  ----> 2 import seaborn
17:08:56
17:08:56  ModuleNotFoundError: No module named 'seaborn'
```
```
17:08:56  ______
RavenPy-master/docs/notebooks/HydroShare_integration.ipynb::Cell 0
______
17:08:56  Notebook cell execution failed
17:08:56  Cell 0: Cell execution caused an exception
17:08:56
17:08:56  Input:
17:08:56  from hs_restclient import HydroShare, HydroShareAuthBasic
17:08:56
17:08:56  # Auth method
17:08:56  """
17:08:56  username = 'XXXXX'
17:08:56  password = 'XXXXX'
17:08:56  auth = HydroShareAuthBasic(username=username,
password=password)
17:08:56  hs = HydroShare(auth=auth)
17:08:56  """
17:08:56  # Sign-in method, will prompt for HydroShare account
username/password:
17:08:56  hs = HydroShare()
17:08:56
17:08:56  Traceback:
17:08:56
17:08:56
---------------------------------------------------------------------------
17:08:56  ModuleNotFoundError                       Traceback (most
recent call last)
17:08:56  Cell In[1], line 1
17:08:56  ----> 1 from hs_restclient import HydroShare,
HydroShareAuthBasic
17:08:56        3 # Auth method
17:08:56        4 """
17:08:56        5 username = 'XXXXX'
17:08:56        6 password = 'XXXXX'
17:08:56        7 auth = HydroShareAuthBasic(username=username,
password=password)
17:08:56        8 hs = HydroShare(auth=auth)
17:08:56        9 """
17:08:56
17:08:56  ModuleNotFoundError: No module named 'hs_restclient'
```
No conda package exists so have to use pip.
@tlvu tlvu changed the title Jupyter docker: new build for esgf-pyclient, xncml, globus personal connect and latest of everything else Jupyter docker: new build for xclim, ravenpy, esgf-pyclient, xncml, globus personal connect and latest of everything else Jun 1, 2023
@tlvu tlvu changed the title Jupyter docker: new build for xclim, ravenpy, esgf-pyclient, xncml, globus personal connect and latest of everything else Jupyter docker: new build for xclim, ravenpy, globus personal connect and latest of everything else Jun 1, 2023
tlvu added a commit to Ouranosinc/jenkins-config that referenced this pull request Jun 1, 2023
See PR CSHS-CWRA/RavenPy#287 and
Ouranosinc/PAVICS-e2e-workflow-tests#115 (the
`Jenkinsfile` change in
Ouranosinc/PAVICS-e2e-workflow-tests@6acaace).

You are not required to deploy this new Jenkins config yet since that
new token is not yet needed. The day it is really needed, this config
will be ready.
huard added a commit to Ouranosinc/pavics-sdi that referenced this pull request Jun 1, 2023
@tlvu tlvu merged commit 3191ff5 into master Jun 1, 2023
@tlvu tlvu deleted the new-docker-build branch June 1, 2023 16:30
tlvu added a commit to bird-house/finch that referenced this pull request Jun 1, 2023
Related to Jupyter env
Ouranosinc/PAVICS-e2e-workflow-tests#115

To fix this error:
```
  ___________ finch-master/docs/source/notebooks/subset.ipynb::Cell 16 ___________
  Notebook cell execution failed
  Cell 16: Cell outputs differ

  Input:
  all_shapes.plot()

  Traceback:
   mismatch 'text/plain'

   assert reference_output == test_output failed:

    '<AxesSubplot:>' == '<Axes: >'
    - <Axes: >
    + <AxesSubplot:>
```
tlvu added a commit to Ouranosinc/PAVICS-landing that referenced this pull request Jun 1, 2023
tlvu added a commit to bird-house/birdhouse-deploy that referenced this pull request Jun 1, 2023
## Overview

- Jupyter env: new version with latest Xclim and RavenPy

See Ouranosinc/PAVICS-e2e-workflow-tests#115 for
more details.

- Raven WPS: new version to match with new RavenPy inside the Jupyter
env

See Ouranosinc/raven@v0.14.2...v0.18.1 for
more details.

- Notebook autodeploy: unable to read the `env.local`

When `env.local` is a symlink we need to volume-mount the destination of
the symlink so it resolves inside the notebook autodeploy container.

This will allow notebook autodeploy config variable to be set in
`env.local`.

Also had someone changed the value of `JUPYTERHUB_USER_DATA_DIR` in
`env.local`, it would not have worked without this fix.

  This is a non breaking change.
tlvu added a commit that referenced this pull request Jun 6, 2023
## Changes

- Rename `raven` folder in deployed tutorial notebooks on PAVICS to
`hydro`.
- Pull latest RavenPy 0.12.1
- Relevant changes (alphabetical order):
```diff
<   - datashader=0.14.4=pyh1a96a4e_0
>   - datashader=0.15.0=pyhd8ed1ab_0

<   - ravenpy=0.12.0=py39hf3d152e_2
>   - ravenpy=0.12.1=py39hf3d152e_0

<   - regionmask=0.9.0=pyhd8ed1ab_0
>   - regionmask=0.10.0=pyhd8ed1ab_0

```

## Tests

* 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, known intermittent error only:

*
[job-PAVICS-e2e-workflow-tests-new-docker-build-211-consoleText.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11636596/job-PAVICS-e2e-workflow-tests-new-docker-build-211-consoleText.txt)

*
[Raven-job-PAVICS-e2e-workflow-tests-new-docker-build-213-consoleText.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11636598/Raven-job-PAVICS-e2e-workflow-tests-new-docker-build-213-consoleText.txt)



## Related Issue / Discussion

* No notebook changes required.

* Deployment to PAVICS:
bird-house/birdhouse-deploy#337

* Previous release:
#115

## Additional Information

Full diff conda env export:

[230530-1-230601-dev-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11636551/230530-1-230601-dev-conda-env-export.diff.txt)
```diff
77c77
<   - cattrs=22.2.0=pyhd8ed1ab_0
---
>   - cattrs=23.1.1=pyhd8ed1ab_0
103c103
<   - cryptography=40.0.2=py39h079d5ae_0
---
>   - cryptography=41.0.0=py39hd4f0224_0
107c107
<   - dash=2.9.3=pyhd8ed1ab_2
---
>   - dash=2.10.0=pyhd8ed1ab_0
112c112
<   - datashader=0.14.4=pyh1a96a4e_0
---
>   - datashader=0.15.0=pyhd8ed1ab_0
254c254
<   - jupyter_ydoc=0.2.3=pyhd8ed1ab_0
---
>   - jupyter_ydoc=0.2.4=pyhd8ed1ab_0
257c257
<   - jupyterlab=3.6.3=pyhd8ed1ab_0
---
>   - jupyterlab=3.6.4=pyhd8ed1ab_0
403c403
<   - nbformat=5.8.0=pyhd8ed1ab_0
---
>   - nbformat=5.9.0=pyhd8ed1ab_0
420c420
<   - numba=0.57.0=py39hb75a051_0
---
>   - numba=0.57.0=py39hb75a051_1
427c427
<   - openssl=3.1.1=hd590300_0
---
>   - openssl=3.1.1=hd590300_1
496c496
<   - pyopenssl=23.1.1=pyhd8ed1ab_0
---
>   - pyopenssl=23.2.0=pyhd8ed1ab_1
520c520
<   - pyzmq=25.0.2=py39h0be026e_0
---
>   - pyzmq=25.1.0=py39hb257651_0
527c527
<   - ravenpy=0.12.0=py39hf3d152e_2
---
>   - ravenpy=0.12.1=py39hf3d152e_0
531c531
<   - regionmask=0.9.0=pyhd8ed1ab_0
---
>   - regionmask=0.10.0=pyhd8ed1ab_0
543c543
<   - ruamel.yaml=0.17.30=py39hd1e30aa_0
---
>   - ruamel.yaml=0.17.31=py39hd1e30aa_0
599c599
<   - ucx=1.14.1=hf587318_1
---
>   - ucx=1.14.1=hf587318_2
```


Full new conda env export:

[230601-dev-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11636553/230601-dev-conda-env-export.yml.txt)
```diff
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=23.1.1=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=41.0.0=py39hd4f0224_0
  - curl=8.1.2=h409715c_0
  - cycler=0.11.0=pyhd8ed1ab_0
  - cytoolz=0.12.0=py39hb9d737c_1
  - dash=2.10.0=pyhd8ed1ab_0
  - 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.15.0=pyhd8ed1ab_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.4=pyhd8ed1ab_0
  - jupyterhub=4.0.0=pyh2a2186d_0
  - jupyterhub-base=4.0.0=pyh2a2186d_0
  - jupyterlab=3.6.4=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.9.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_1
  - 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_1
  - 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.2.0=pyhd8ed1ab_1
  - 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.1.0=py39hb257651_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.1=py39hf3d152e_0
  - rdma-core=28.9=h59595ed_1
  - re2=2023.03.02=h8c504da_0
  - readline=8.2=h8228510_1
  - regionmask=0.10.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.31=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_2
  - 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:  Forgot to save manual build
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

3 participants