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

Custom climate portraits with pyviz #35

Closed
wants to merge 28 commits into from

Conversation

aulemahal
Copy link
Collaborator

WIP of a "Custom Climate Portraits" app using Panel, Holoviews and Geoviews.

At PR-making-time, we have a simple workflow of selecting a region, an indicator and options. (but no computation of any kind)

The environment.yml file has been modified.

Downloading and extracting the data via thredds is extremely slow, making it hard to test anything.

@tlogan2000 @Zeitsperre If you want to play with it too.

@aulemahal aulemahal added the enhancement New feature or request label Feb 14, 2020
@aulemahal aulemahal self-assigned this Feb 14, 2020
@tlogan2000
Copy link
Collaborator

I do want to play but am stuck doing other stuff :( ... We can check it out next week

@tlvu
Copy link
Contributor

tlvu commented Feb 19, 2020

Downloading and extracting the data via thredds is extremely slow, making it hard to test anything.

Just curious, I assume this is slow on the first attempt only? On subsequent re-run, the same data has already been cached locally?

FYI @aulemahal I just merge your branch with master (so do a pull on your side) and I am building your branch to release a new devel docker image so everyone can try on Medus.

@aulemahal
Copy link
Collaborator Author

haha @tlvu I've never had the patience to wait for the completion of the first attempt, so I don't know.

@tlvu
Copy link
Contributor

tlvu commented Feb 19, 2020

The new Jupyter image is available on Medus for everyone to try.

@tlvu
Copy link
Contributor

tlvu commented Apr 29, 2020

Just pushed new build for the docker image to be in sync with new PR #43.

Should automatically land on Medus in 2 hours (check every hour + 1h max for the pull).

Remember to stop/restart the Jupyter server to "get" this new image.

tlvu added a commit that referenced this pull request May 7, 2020
…em-replaced-by-rioxarray


docker: new build to remove salem, replaced by rioxarray and add packages for the custom_climate_portraits branch

Now we do not need a separate docker build for the [`custom_climate_portraits`](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/tree/custom_climate_portraits) branch (PR #35).  That branch should only be used for notebook changes.  Jupyter env change should directly PR to `master`.

Did not add the full `holoviz` package since it seems to freeze the build (stuck in Solving Environment for more than 25 mins).

Also changed the base image to `continuumio/miniconda3` since the previous one was deprecated.

Raven PR Ouranosinc/raven#266 (commit Ouranosinc/raven@0763bf5) removed salem dependency and replaced with rioxarray.

salem was previously introduced in PR #36 (commit f916bea).

Passing Jenkins build: http://jenkins.ouranos.ca/job/PAVICS-e2e-workflow-tests/job/new-docker-image-to-remove-salem-replaced-by-rioxarray/lastSuccessfulBuild/console, new docker build: http://jenkins.ouranos.ca/job/PAVICS-e2e-workflow-tests/job/new-docker-image-to-remove-salem-replaced-by-rioxarray/4/console

Jenkins build against Raven notebooks no import error http://jenkins.ouranos.ca/job/PAVICS-e2e-workflow-tests/job/new-docker-image-to-remove-salem-replaced-by-rioxarray/3/consoleFull

Noticeable changes:
```diff
# conda release of bokeh seems to trail behind pypi 
>   - bokeh=2.0.1=py37hc8dfbb8_0
<     - bokeh==2.0.2 
>   - jupyter_bokeh=2.0.1=py_0

# should already exist, not sure why conda env export report this as new
>   - dask=2.15.0=py_0

# unpinned since salem is removed
<   - pandas=0.25.3=py37hb3f55d8_0
>   - pandas=1.0.3=py37h0da4684_1

<     - salem==0.2.4
>   - rioxarray=0.0.26=py_0

# packages for custom_climate_portraits branch
>   - geoviews=1.8.1=py_0
>   - h5netcdf=0.8.0=py_0
>   - holoviews=1.13.2=pyh9f0ad1d_0
>   - panel=0.9.5=py_1
>   - hvplot=0.5.2=py_0
>   - pscript=0.7.3=py_0
>   - siphon=0.8.0=py37_1002
>     - ipython-blocking==0.2.1
```

Full conda env export Diff:
[200427-200506-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4590227/200427-200506-conda-env-export.diff.txt)

```diff
2a3
>   - bokeh
15c16
<   - bleach=3.1.4=pyh9f0ad1d_0
---
>   - bleach=3.1.5=pyh9f0ad1d_0
16a18
>   - bokeh=2.0.1=py37hc8dfbb8_0
23c25
<   - cartopy=0.17.0=py37h17ca249_1015
---
>   - cartopy=0.18.0=py37h4b180d9_0
25c27
<   - cdtime=3.1.3=py37h006a570_2
---
>   - cdtime=3.1.3=py37h006a570_3
30,31c32,33
<   - cfitsio=3.470=h00dd3da_3
<   - cftime=1.1.1.2=py37h03ebfcd_0
---
>   - cfitsio=3.470=h3eac812_5
>   - cftime=1.1.2=py37h03ebfcd_0
33c35
<   - click=7.1.1=pyh8c360ce_0
---
>   - click=7.1.2=pyh9f0ad1d_0
36c38
<   - cloudpickle=1.3.0=py_0
---
>   - cloudpickle=1.4.1=py_0
37a40
>   - colorcet=2.0.1=py_0
40c43
<   - cryptography=2.8=py37hb09aad4_2
---
>   - cryptography=2.9.2=py37hb09aad4_0
43a47
>   - dask=2.15.0=py_0
44a49,50
>   - datashader=0.10.0=py_0
>   - datashape=0.5.4=py_1
49a56
>   - distributed=2.15.2=py37hc8dfbb8_0
58c65
<   - fiona=1.8.13=py37h900e953_0
---
>   - fiona=1.8.13=py37h0492a4a_1
61a69
>   - fsspec=0.7.3=py_0
65a74
>   - geopandas=0.7.0=py_1
67a77,78
>   - geoviews=1.8.1=py_0
>   - geoviews-core=1.8.1=py_0
71,72c82,83
<   - gitdb=4.0.4=py_0
<   - gitpython=3.1.1=py_0
---
>   - gitdb=4.0.5=py_0
>   - gitpython=3.1.2=py_0
77a89,90
>   - h5netcdf=0.8.0=py_0
>   - h5py=2.10.0=nompi_py37h513d04c_102
79a93,94
>   - heapdict=1.0.1=py_0
>   - holoviews=1.13.2=pyh9f0ad1d_0
87c102
<   - ipython=7.13.0=py37hc8dfbb8_2
---
>   - ipython=7.14.0=py37hc8dfbb8_0
97a113
>   - jupyter_bokeh=2.0.1=py_0
105c121
<   - jupyterlab=2.1.1=py_0
---
>   - jupyterlab=2.1.2=py_0
116,117c132,133
<   - libcdms=3.1.2=nompi_h70c2909_110
<   - libcf=1.0.3=nompi_ha20483a_107
---
>   - libcdms=3.1.2=hf60d256_111
>   - libcf=1.0.3=py37hda0e254_108
121,122c137,138
<   - libdrs=3.1.2=nompi_h4ca35b2_111
<   - libdrs_f=3.1.2=nompi_hd82fec8_109
---
>   - libdrs=3.1.2=hc2e2db3_112
>   - libdrs_f=3.1.2=hae7e664_110
132a149
>   - libllvm8=8.0.1=hc9558a2_0
137a155
>   - libprotobuf=3.11.4=h8b12597_0
151a170,171
>   - llvmlite=0.31.0=py37h5202443_1
>   - locket=0.2.0=py_2
153c173
<   - lz4-c=1.9.2=he1b5a44_0
---
>   - lz4-c=1.9.2=he1b5a44_1
154a175
>   - markdown=3.2.1=py_0
161a183,184
>   - msgpack-python=1.0.0=py37h99015e2_1
>   - multipledispatch=0.6.0=py_0
164c187
<   - nbdime=2.0.0=py37hc8dfbb8_0
---
>   - nbdime=2.0.0=py_1
176c199,200
<   - numpy=1.18.1=py37h8960a57_1
---
>   - numba=0.48.0=py37hb3f55d8_0
>   - numpy=1.18.4=py37h8960a57_0
186c210
<   - pandas=0.25.3=py37hb3f55d8_0
---
>   - pandas=1.0.3=py37h0da4684_1
188a213,214
>   - panel=0.9.5=py_1
>   - param=1.9.3=py_0
189a216
>   - partd=1.1.0=py_0
194c221
<   - pip=20.0.2=py_2
---
>   - pip=20.1=pyh9f0ad1d_0
196c223
<   - pluggy=0.13.0=py37_0
---
>   - pluggy=0.13.1=py37hc8dfbb8_1
203a231,233
>   - protobuf=3.11.4=py37h3340039_1
>   - pscript=0.7.3=py_0
>   - psutil=5.7.0=py37h8f50634_1
207a238,239
>   - pyct=0.4.6=py_0
>   - pyct-core=0.4.6=py_0
213d244
<   - pykdtree=1.3.1=py37h03ebfcd_1003
216,217c247,248
<   - pyproj=2.6.0=py37h34dd122_1
<   - pyqt=5.12.3=py37hcca6a23_1
---
>   - pyproj=2.6.1.post1=py37h34dd122_0
>   - pyqt=5.12.3=py37h8685d9f_3
227c258,259
<   - pytz=2019.3=py_0
---
>   - pytz=2020.1=pyh9f0ad1d_0
>   - pyviz_comms=0.7.4=pyh8c360ce_0
237a270
>   - rioxarray=0.0.26=py_0
245a279
>   - siphon=0.8.0=py37_1002
247c281
<   - smmap=3.0.2=pyh9f0ad1d_0
---
>   - smmap=3.0.4=pyh9f0ad1d_0
248a283
>   - sortedcontainers=2.1.0=py_0
252a288
>   - tblib=1.6.0=py_0
259a296
>   - tqdm=4.46.0=pyh9f0ad1d_0
261a299
>   - typing_extensions=3.7.4.2=py_0
290a329
>   - zict=2.0.0=py_0
297d335
<     - bokeh==2.0.2
302,303d339
<     - distributed==2.15.0
<     - fsspec==0.7.3
306,307c342
<     - geopandas==0.7.0
<     - heapdict==1.0.1
---
>     - ipython-blocking==0.2.1
309,311d343
<     - llvmlite==0.32.0
<     - locket==0.2.0
<     - markdown==3.2.1
313,315d344
<     - msgpack==1.0.0
<     - numba==0.49.0
<     - partd==1.1.0
318d346
<     - psutil==5.7.0
319a348
>     - pyqtchart==5.12
323d351
<     - salem==0.2.4
325,327d352
<     - sortedcontainers==2.1.0
<     - tblib==1.6.0
<     - typing-extensions==3.7.4.2
330d354
<     - zict==2.0.0
```

[200506-200507-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4594860/200506-200507-conda-env-export.diff.txt)

```diff
60c60
<   - esgf-compute-api=2.3.3=py_0
---
>   - esgf-compute-api=2.3.4=py_0
94a95
>   - hvplot=0.5.2=py_0
262c263
<   - pyzmq=19.0.0=py37hac76be4_1
---
>   - pyzmq=19.0.1=py37hac76be4_0
355c356
< prefix: /usr/local/envs/birdy
---
> prefix: /opt/conda/envs/birdy
```


Full new conda env export:
[200506-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4590228/200506-conda-env-export.yml.txt)

```
name: birdy
channels:
  - bokeh
  - cdat
  - conda-forge
  - defaults
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=0_gnu
  - affine=2.3.0=py_0
  - alembic=1.4.2=pyh9f0ad1d_0
  - async_generator=1.10=py_0
  - attrs=19.3.0=py_0
  - backcall=0.1.0=py_0
  - beautifulsoup4=4.9.0=py37hc8dfbb8_0
  - bleach=3.1.5=pyh9f0ad1d_0
  - blinker=1.4=py_1
  - bokeh=2.0.1=py37hc8dfbb8_0
  - boost-cpp=1.72.0=h8e57a91_0
  - branca=0.3.1=py_0
  - brotlipy=0.7.0=py37h8f50634_1000
  - bzip2=1.0.8=h516909a_2
  - ca-certificates=2020.4.5.1=hecc5488_0
  - cairo=1.16.0=hcf35c78_1003
  - cartopy=0.18.0=py37h4b180d9_0
  - cdat_info=8.2=py_7
  - cdtime=3.1.3=py37h006a570_3
  - cdutil=8.2=py_2
  - certifi=2020.4.5.1=py37hc8dfbb8_0
  - certipy=0.1.3=py_0
  - cffi=1.14.0=py37hd463f26_0
  - cfitsio=3.470=h3eac812_5
  - cftime=1.1.2=py37h03ebfcd_0
  - chardet=3.0.4=py37hc8dfbb8_1006
  - click=7.1.2=pyh9f0ad1d_0
  - click-plugins=1.1.1=py_0
  - cligj=0.5.0=py_0
  - cloudpickle=1.4.1=py_0
  - colorama=0.4.3=py_0
  - colorcet=2.0.1=py_0
  - configurable-http-proxy=4.2.1=node13_he01fd0c_0
  - coverage=5.1=py37h8f50634_0
  - cryptography=2.9.2=py37hb09aad4_0
  - curl=7.69.1=h33f0ec9_0
  - cycler=0.10.0=py_2
  - cytoolz=0.10.1=py37h516909a_0
  - dask=2.15.0=py_0
  - dask-core=2.15.0=py_0
  - datashader=0.10.0=py_0
  - datashape=0.5.4=py_1
  - dbus=1.13.6=he372182_0
  - decorator=4.4.2=py_0
  - defusedxml=0.6.0=py_0
  - descartes=1.1.0=py_4
  - distarray=2.12.2=py_1
  - distributed=2.15.2=py37hc8dfbb8_0
  - docopt=0.6.2=py_1
  - dv3d=8.2=py_0
  - entrypoints=0.3=py37hc8dfbb8_1001
  - esgf-compute-api=2.3.3=py_0
  - esmf=8.0.0=nompi_hb0fcdcb_6
  - esmpy=8.0.0=nompi_py37hf0e99fa_1
  - expat=2.2.9=he1b5a44_2
  - ffmpeg=4.2=h167e202_0
  - fiona=1.8.13=py37h0492a4a_1
  - fontconfig=2.13.1=h86ecdb6_1001
  - freetype=2.10.1=he06d7ca_0
  - freexl=1.0.5=h14c3975_1002
  - fsspec=0.7.3=py_0
  - future=0.18.2=py37hc8dfbb8_1
  - g2clib=1.6.0=hf3f1b0b_9
  - gdal=3.0.4=py37h4b180d9_6
  - genutil=8.2=py37hc1659b7_3
  - geopandas=0.7.0=py_1
  - geos=3.8.1=he1b5a44_0
  - geotiff=1.5.1=h05acad5_10
  - geoviews=1.8.1=py_0
  - geoviews-core=1.8.1=py_0
  - gettext=0.19.8.1=hc5be6a0_1002
  - ghostscript=9.22=hf484d3e_1001
  - giflib=5.2.1=h516909a_2
  - gitdb=4.0.5=py_0
  - gitpython=3.1.2=py_0
  - glib=2.64.2=h6f030ca_0
  - gmp=6.2.0=he1b5a44_2
  - gnutls=3.6.5=hd3a4fd2_1002
  - gst-plugins-base=1.14.5=h0935bb2_2
  - gstreamer=1.14.5=h36ae1b5_2
  - h5netcdf=0.8.0=py_0
  - h5py=2.10.0=nompi_py37h513d04c_102
  - hdf4=4.2.13=hf30be14_1003
  - hdf5=1.10.5=nompi_h3c11f04_1104
  - heapdict=1.0.1=py_0
  - holoviews=1.13.2=pyh9f0ad1d_0
  - icu=64.2=he1b5a44_1
  - idna=2.9=py_1
  - imageio=2.8.0=py_0
  - importlib-metadata=1.6.0=py37hc8dfbb8_0
  - importlib_metadata=1.6.0=0
  - ipykernel=5.2.1=py37h43977f1_0
  - ipyleaflet=0.12.4=pyh9f0ad1d_0
  - ipython=7.14.0=py37hc8dfbb8_0
  - ipython_genutils=0.2.0=py_1
  - ipywidgets=7.5.1=py_0
  - jasper=1.900.1=h07fcdf6_1006
  - jedi=0.17.0=py37hc8dfbb8_0
  - jinja2=2.11.2=pyh9f0ad1d_0
  - jpeg=9c=h14c3975_1001
  - json-c=0.13.1=h14c3975_1001
  - json5=0.9.0=py_0
  - jsonschema=3.2.0=py37hc8dfbb8_1
  - jupyter=1.0.0=py_2
  - jupyter_bokeh=2.0.1=py_0
  - jupyter_client=6.1.3=py_0
  - jupyter_console=6.1.0=py_1
  - jupyter_core=4.6.3=py37hc8dfbb8_1
  - jupyter_server=0.1.1=py37_0
  - jupyter_telemetry=0.0.5=py_0
  - jupyterhub=1.1.0=py37_2
  - jupyterhub-base=1.1.0=py37_2
  - jupyterlab=2.1.2=py_0
  - jupyterlab_pygments=0.1.1=pyh9f0ad1d_0
  - jupyterlab_server=1.1.1=py_0
  - kealib=1.4.13=hec59c27_0
  - kiwisolver=1.2.0=py37h99015e2_0
  - krb5=1.17.1=h2fd8d38_0
  - lame=3.100=h14c3975_1001
  - lazy-object-proxy=1.4.3=py37h8f50634_2
  - ld_impl_linux-64=2.34=h53a641e_0
  - libblas=3.8.0=11_openblas
  - libcblas=3.8.0=11_openblas
  - libcdms=3.1.2=hf60d256_111
  - libcf=1.0.3=py37hda0e254_108
  - libclang=9.0.1=default_hde54327_0
  - libcurl=7.69.1=hf7181ac_0
  - libdap4=3.20.6=h1d1bd15_0
  - libdrs=3.1.2=hc2e2db3_112
  - libdrs_f=3.1.2=hae7e664_110
  - libedit=3.1.20170329=hf8c457e_1001
  - libffi=3.2.1=he1b5a44_1007
  - libgcc-ng=9.2.0=h24d8f2e_2
  - libgdal=3.0.4=h3dfc09a_6
  - libgfortran-ng=7.3.0=hdf63c60_5
  - libgomp=9.2.0=h24d8f2e_2
  - libiconv=1.15=h516909a_1006
  - libidn2=2.3.0=h516909a_0
  - libkml=1.3.0=hb574062_1011
  - liblapack=3.8.0=11_openblas
  - libllvm8=8.0.1=hc9558a2_0
  - libllvm9=9.0.1=he513fc3_1
  - libnetcdf=4.7.4=nompi_h9f9fd6a_101
  - libopenblas=0.3.6=h6e990d7_6
  - libpng=1.6.37=hed695b0_1
  - libpq=12.2=h5513abc_1
  - libprotobuf=3.11.4=h8b12597_0
  - libsodium=1.0.17=h516909a_0
  - libspatialindex=1.9.3=he1b5a44_3
  - libspatialite=4.3.0a=h2482549_1038
  - libssh2=1.8.2=h22169c7_2
  - libstdcxx-ng=9.2.0=hdf63c60_2
  - libtiff=4.1.0=hc7e4089_6
  - libunistring=0.9.10=h14c3975_0
  - libuuid=2.32.1=h14c3975_1000
  - libuv=1.34.0=h516909a_0
  - libwebp-base=1.1.0=h516909a_3
  - libxcb=1.13=h14c3975_1002
  - libxkbcommon=0.10.0=he1b5a44_0
  - libxml2=2.9.10=hee79883_0
  - libxslt=1.1.33=h31b3aaa_0
  - llvmlite=0.31.0=py37h5202443_1
  - locket=0.2.0=py_2
  - lxml=4.5.0=py37he3881c9_1
  - lz4-c=1.9.2=he1b5a44_1
  - mako=1.1.0=py_0
  - markdown=3.2.1=py_0
  - markupsafe=1.1.1=py37h8f50634_1
  - matplotlib=3.2.1=0
  - matplotlib-base=3.2.1=py37h30547a4_0
  - mechanicalsoup=0.12.0=py_0
  - mesalib=18.3.1=h590aaf7_0
  - mistune=0.8.4=py37h8f50634_1001
  - more-itertools=8.2.0=py_0
  - msgpack-python=1.0.0=py37h99015e2_1
  - multipledispatch=0.6.0=py_0
  - munch=2.5.0=py_0
  - nbconvert=5.6.1=py37hc8dfbb8_1
  - nbdime=2.0.0=py_1
  - nbformat=5.0.6=py_0
  - nbval=0.9.5=py_0
  - ncurses=6.1=hf484d3e_1002
  - netcdf-fortran=4.5.2=nompi_h45d7149_104
  - netcdf4=1.5.3=nompi_py37hec16513_103
  - nettle=3.4.1=h1bed415_1002
  - networkx=2.4=py_1
  - nodejs=13.13.0=hf5d1a2b_0
  - notebook=6.0.3=py37_0
  - nspr=4.25=he1b5a44_0
  - nss=3.47=he751ad9_0
  - numba=0.48.0=py37hb3f55d8_0
  - numpy=1.18.4=py37h8960a57_0
  - oauthlib=3.0.1=py_0
  - olefile=0.46=py_0
  - openblas=0.3.6=h6e990d7_6
  - openh264=1.8.0=hdbcaa40_1000
  - openjpeg=2.3.1=h981e76c_3
  - openssl=1.1.1g=h516909a_0
  - owslib=0.19.2=py_1
  - packaging=20.1=py_0
  - pamela=1.0.0=py_0
  - pandas=1.0.3=py37h0da4684_1
  - pandoc=2.9.2.1=0
  - pandocfilters=1.4.2=py_1
  - panel=0.9.5=py_1
  - param=1.9.3=py_0
  - parso=0.7.0=pyh9f0ad1d_0
  - partd=1.1.0=py_0
  - pcre=8.44=he1b5a44_0
  - pexpect=4.8.0=py37hc8dfbb8_1
  - pickleshare=0.7.5=py37hc8dfbb8_1001
  - pillow=7.1.2=py37h718be6c_0
  - pip=20.1=pyh9f0ad1d_0
  - pixman=0.38.0=h516909a_1003
  - pluggy=0.13.1=py37hc8dfbb8_1
  - poppler=0.67.0=h14e79db_8
  - poppler-data=0.4.9=1
  - postgresql=12.2=h8573dbc_1
  - proj=7.0.0=h966b41f_3
  - prometheus_client=0.7.1=py_0
  - prompt-toolkit=3.0.5=py_0
  - prompt_toolkit=3.0.5=0
  - protobuf=3.11.4=py37h3340039_1
  - pscript=0.7.3=py_0
  - psutil=5.7.0=py37h8f50634_1
  - pthread-stubs=0.4=h14c3975_1001
  - ptyprocess=0.6.0=py_1001
  - py=1.8.1=py_0
  - pycparser=2.20=py_0
  - pyct=0.4.6=py_0
  - pyct-core=0.4.6=py_0
  - pycurl=7.43.0.5=py37h16ce93b_0
  - pydap=3.2.2=py37_1000
  - pyepsg=0.4.0=py_0
  - pygments=2.6.1=py_0
  - pyjwt=1.7.1=py_0
  - pyopenssl=19.1.0=py_1
  - pyparsing=2.4.7=pyh9f0ad1d_0
  - pyproj=2.6.1.post1=py37h34dd122_0
  - pyqt=5.12.3=py37h8685d9f_3
  - pyrsistent=0.16.0=py37h8f50634_0
  - pyshp=2.1.0=py_0
  - pysocks=1.7.1=py37hc8dfbb8_1
  - pytest=5.4.1=py37hc8dfbb8_0
  - python=3.7.6=h8356626_5_cpython
  - python-dateutil=2.8.1=py_0
  - python-editor=1.0.4=py_0
  - python-json-logger=0.1.11=py_0
  - python_abi=3.7=1_cp37m
  - pytz=2020.1=pyh9f0ad1d_0
  - pyviz_comms=0.7.4=pyh8c360ce_0
  - pywavelets=1.1.1=py37h03ebfcd_1
  - pyyaml=5.3.1=py37h8f50634_0
  - pyzmq=19.0.0=py37hac76be4_1
  - qt=5.12.5=hd8c4c69_1
  - qtconsole=4.7.3=pyh9f0ad1d_0
  - qtpy=1.9.0=py_0
  - rasterio=1.1.3=py37h900e953_0
  - readline=8.0=hf8c457e_0
  - regionmask=0.5.0=py_1
  - requests=2.23.0=pyh8c360ce_2
  - rioxarray=0.0.26=py_0
  - rtree=0.9.4=py37h8526d28_1
  - ruamel.yaml=0.16.6=py37h8f50634_1
  - ruamel.yaml.clib=0.2.0=py37h8f50634_1
  - scikit-image=0.16.2=py37hb3f55d8_0
  - scipy=1.4.1=py37ha3d9a3c_3
  - send2trash=1.5.0=py_0
  - setuptools=46.1.3=py37hc8dfbb8_0
  - shapely=1.7.0=py37hc88ce51_3
  - siphon=0.8.0=py37_1002
  - six=1.14.0=py_1
  - smmap=3.0.4=pyh9f0ad1d_0
  - snuggs=1.4.7=py_0
  - sortedcontainers=2.1.0=py_0
  - soupsieve=1.9.4=py37hc8dfbb8_1
  - sqlalchemy=1.3.16=py37h8f50634_0
  - sqlite=3.30.1=hcee41ef_0
  - tbb=2018.0.5=h2d50403_0
  - tblib=1.6.0=py_0
  - terminado=0.8.3=py37hc8dfbb8_1
  - testpath=0.4.4=py_0
  - threddsclient=0.4.2=py_0
  - tiledb=1.7.7=h8efa9f0_1
  - tk=8.6.10=hed695b0_0
  - toolz=0.10.0=py_0
  - tornado=6.0.4=py37h8f50634_1
  - tqdm=4.46.0=pyh9f0ad1d_0
  - traitlets=4.3.3=py37hc8dfbb8_1
  - traittypes=0.2.1=py_1
  - typing_extensions=3.7.4.2=py_0
  - tzcode=2020a=h516909a_0
  - udunits2=2.2.27.6=h4e0c4b3_1001
  - urllib3=1.25.9=py_0
  - vcs=8.2=py_2
  - voila=0.1.21=py_0
  - vtk-cdat=8.2.0.8.2=py37_mesalibhead77ed_0
  - wcwidth=0.1.9=pyh9f0ad1d_0
  - webencodings=0.5.1=py_1
  - webob=1.8.6=py_0
  - wget=1.20.1=h22169c7_0
  - wheel=0.34.2=py_1
  - widgetsnbextension=3.5.1=py37_0
  - x264=1!152.20180806=h14c3975_0
  - xarray=0.15.1=py_0
  - xerces-c=3.2.2=h8412b87_1004
  - xorg-kbproto=1.0.7=h14c3975_1002
  - xorg-libice=1.0.10=h516909a_0
  - xorg-libsm=1.2.3=h84519dc_1000
  - xorg-libx11=1.6.9=h516909a_0
  - xorg-libxau=1.0.9=h14c3975_0
  - xorg-libxdmcp=1.1.3=h516909a_0
  - xorg-libxext=1.3.4=h516909a_0
  - xorg-libxrender=0.9.10=h516909a_1002
  - xorg-renderproto=0.11.1=h14c3975_1002
  - xorg-xextproto=7.3.0=h14c3975_1002
  - xorg-xproto=7.0.31=h14c3975_1007
  - xz=5.2.5=h516909a_0
  - yaml=0.2.4=h516909a_0
  - zeromq=4.3.2=he1b5a44_2
  - zict=2.0.0=py_0
  - zipp=3.1.0=py_0
  - zlib=1.2.11=h516909a_1006
  - zstd=1.4.4=h6597ccf_3
  - pip:
    - astunparse==1.6.3
    - birdhouse-birdy==0.6.9
    - boltons==20.1.0
    - bottleneck==1.3.2
    - cdms2==3.1.4
    - colour==0.1.5
    - funcsigs==1.0.2
    - geojson==2.5.0
    - ipython-blocking==0.2.1
    - joblib==0.14.1
    - mpld3==0.3
    - pint==0.11
    - pixiedust==1.1.18
    - pyqt5-sip==4.19.18
    - pyqtchart==5.12
    - pyqtwebengine==5.12.1
    - regrid2==3.1.4
    - requests-magpie==0.1.1
    - scikit-learn==0.22.2.post1
    - wrapt==1.12.1
    - xclim==0.16.0
prefix: /usr/local/envs/birdy
```

[200507-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4594861/200507-conda-env-export.yml.txt)

```
name: birdy
channels:
  - bokeh
  - cdat
  - conda-forge
  - defaults
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=0_gnu
  - affine=2.3.0=py_0
  - alembic=1.4.2=pyh9f0ad1d_0
  - async_generator=1.10=py_0
  - attrs=19.3.0=py_0
  - backcall=0.1.0=py_0
  - beautifulsoup4=4.9.0=py37hc8dfbb8_0
  - bleach=3.1.5=pyh9f0ad1d_0
  - blinker=1.4=py_1
  - bokeh=2.0.1=py37hc8dfbb8_0
  - boost-cpp=1.72.0=h8e57a91_0
  - branca=0.3.1=py_0
  - brotlipy=0.7.0=py37h8f50634_1000
  - bzip2=1.0.8=h516909a_2
  - ca-certificates=2020.4.5.1=hecc5488_0
  - cairo=1.16.0=hcf35c78_1003
  - cartopy=0.18.0=py37h4b180d9_0
  - cdat_info=8.2=py_7
  - cdtime=3.1.3=py37h006a570_3
  - cdutil=8.2=py_2
  - certifi=2020.4.5.1=py37hc8dfbb8_0
  - certipy=0.1.3=py_0
  - cffi=1.14.0=py37hd463f26_0
  - cfitsio=3.470=h3eac812_5
  - cftime=1.1.2=py37h03ebfcd_0
  - chardet=3.0.4=py37hc8dfbb8_1006
  - click=7.1.2=pyh9f0ad1d_0
  - click-plugins=1.1.1=py_0
  - cligj=0.5.0=py_0
  - cloudpickle=1.4.1=py_0
  - colorama=0.4.3=py_0
  - colorcet=2.0.1=py_0
  - configurable-http-proxy=4.2.1=node13_he01fd0c_0
  - coverage=5.1=py37h8f50634_0
  - cryptography=2.9.2=py37hb09aad4_0
  - curl=7.69.1=h33f0ec9_0
  - cycler=0.10.0=py_2
  - cytoolz=0.10.1=py37h516909a_0
  - dask=2.15.0=py_0
  - dask-core=2.15.0=py_0
  - datashader=0.10.0=py_0
  - datashape=0.5.4=py_1
  - dbus=1.13.6=he372182_0
  - decorator=4.4.2=py_0
  - defusedxml=0.6.0=py_0
  - descartes=1.1.0=py_4
  - distarray=2.12.2=py_1
  - distributed=2.15.2=py37hc8dfbb8_0
  - docopt=0.6.2=py_1
  - dv3d=8.2=py_0
  - entrypoints=0.3=py37hc8dfbb8_1001
  - esgf-compute-api=2.3.4=py_0
  - esmf=8.0.0=nompi_hb0fcdcb_6
  - esmpy=8.0.0=nompi_py37hf0e99fa_1
  - expat=2.2.9=he1b5a44_2
  - ffmpeg=4.2=h167e202_0
  - fiona=1.8.13=py37h0492a4a_1
  - fontconfig=2.13.1=h86ecdb6_1001
  - freetype=2.10.1=he06d7ca_0
  - freexl=1.0.5=h14c3975_1002
  - fsspec=0.7.3=py_0
  - future=0.18.2=py37hc8dfbb8_1
  - g2clib=1.6.0=hf3f1b0b_9
  - gdal=3.0.4=py37h4b180d9_6
  - genutil=8.2=py37hc1659b7_3
  - geopandas=0.7.0=py_1
  - geos=3.8.1=he1b5a44_0
  - geotiff=1.5.1=h05acad5_10
  - geoviews=1.8.1=py_0
  - geoviews-core=1.8.1=py_0
  - gettext=0.19.8.1=hc5be6a0_1002
  - ghostscript=9.22=hf484d3e_1001
  - giflib=5.2.1=h516909a_2
  - gitdb=4.0.5=py_0
  - gitpython=3.1.2=py_0
  - glib=2.64.2=h6f030ca_0
  - gmp=6.2.0=he1b5a44_2
  - gnutls=3.6.5=hd3a4fd2_1002
  - gst-plugins-base=1.14.5=h0935bb2_2
  - gstreamer=1.14.5=h36ae1b5_2
  - h5netcdf=0.8.0=py_0
  - h5py=2.10.0=nompi_py37h513d04c_102
  - hdf4=4.2.13=hf30be14_1003
  - hdf5=1.10.5=nompi_h3c11f04_1104
  - heapdict=1.0.1=py_0
  - holoviews=1.13.2=pyh9f0ad1d_0
  - hvplot=0.5.2=py_0
  - icu=64.2=he1b5a44_1
  - idna=2.9=py_1
  - imageio=2.8.0=py_0
  - importlib-metadata=1.6.0=py37hc8dfbb8_0
  - importlib_metadata=1.6.0=0
  - ipykernel=5.2.1=py37h43977f1_0
  - ipyleaflet=0.12.4=pyh9f0ad1d_0
  - ipython=7.14.0=py37hc8dfbb8_0
  - ipython_genutils=0.2.0=py_1
  - ipywidgets=7.5.1=py_0
  - jasper=1.900.1=h07fcdf6_1006
  - jedi=0.17.0=py37hc8dfbb8_0
  - jinja2=2.11.2=pyh9f0ad1d_0
  - jpeg=9c=h14c3975_1001
  - json-c=0.13.1=h14c3975_1001
  - json5=0.9.0=py_0
  - jsonschema=3.2.0=py37hc8dfbb8_1
  - jupyter=1.0.0=py_2
  - jupyter_bokeh=2.0.1=py_0
  - jupyter_client=6.1.3=py_0
  - jupyter_console=6.1.0=py_1
  - jupyter_core=4.6.3=py37hc8dfbb8_1
  - jupyter_server=0.1.1=py37_0
  - jupyter_telemetry=0.0.5=py_0
  - jupyterhub=1.1.0=py37_2
  - jupyterhub-base=1.1.0=py37_2
  - jupyterlab=2.1.2=py_0
  - jupyterlab_pygments=0.1.1=pyh9f0ad1d_0
  - jupyterlab_server=1.1.1=py_0
  - kealib=1.4.13=hec59c27_0
  - kiwisolver=1.2.0=py37h99015e2_0
  - krb5=1.17.1=h2fd8d38_0
  - lame=3.100=h14c3975_1001
  - lazy-object-proxy=1.4.3=py37h8f50634_2
  - ld_impl_linux-64=2.34=h53a641e_0
  - libblas=3.8.0=11_openblas
  - libcblas=3.8.0=11_openblas
  - libcdms=3.1.2=hf60d256_111
  - libcf=1.0.3=py37hda0e254_108
  - libclang=9.0.1=default_hde54327_0
  - libcurl=7.69.1=hf7181ac_0
  - libdap4=3.20.6=h1d1bd15_0
  - libdrs=3.1.2=hc2e2db3_112
  - libdrs_f=3.1.2=hae7e664_110
  - libedit=3.1.20170329=hf8c457e_1001
  - libffi=3.2.1=he1b5a44_1007
  - libgcc-ng=9.2.0=h24d8f2e_2
  - libgdal=3.0.4=h3dfc09a_6
  - libgfortran-ng=7.3.0=hdf63c60_5
  - libgomp=9.2.0=h24d8f2e_2
  - libiconv=1.15=h516909a_1006
  - libidn2=2.3.0=h516909a_0
  - libkml=1.3.0=hb574062_1011
  - liblapack=3.8.0=11_openblas
  - libllvm8=8.0.1=hc9558a2_0
  - libllvm9=9.0.1=he513fc3_1
  - libnetcdf=4.7.4=nompi_h9f9fd6a_101
  - libopenblas=0.3.6=h6e990d7_6
  - libpng=1.6.37=hed695b0_1
  - libpq=12.2=h5513abc_1
  - libprotobuf=3.11.4=h8b12597_0
  - libsodium=1.0.17=h516909a_0
  - libspatialindex=1.9.3=he1b5a44_3
  - libspatialite=4.3.0a=h2482549_1038
  - libssh2=1.8.2=h22169c7_2
  - libstdcxx-ng=9.2.0=hdf63c60_2
  - libtiff=4.1.0=hc7e4089_6
  - libunistring=0.9.10=h14c3975_0
  - libuuid=2.32.1=h14c3975_1000
  - libuv=1.34.0=h516909a_0
  - libwebp-base=1.1.0=h516909a_3
  - libxcb=1.13=h14c3975_1002
  - libxkbcommon=0.10.0=he1b5a44_0
  - libxml2=2.9.10=hee79883_0
  - libxslt=1.1.33=h31b3aaa_0
  - llvmlite=0.31.0=py37h5202443_1
  - locket=0.2.0=py_2
  - lxml=4.5.0=py37he3881c9_1
  - lz4-c=1.9.2=he1b5a44_1
  - mako=1.1.0=py_0
  - markdown=3.2.1=py_0
  - markupsafe=1.1.1=py37h8f50634_1
  - matplotlib=3.2.1=0
  - matplotlib-base=3.2.1=py37h30547a4_0
  - mechanicalsoup=0.12.0=py_0
  - mesalib=18.3.1=h590aaf7_0
  - mistune=0.8.4=py37h8f50634_1001
  - more-itertools=8.2.0=py_0
  - msgpack-python=1.0.0=py37h99015e2_1
  - multipledispatch=0.6.0=py_0
  - munch=2.5.0=py_0
  - nbconvert=5.6.1=py37hc8dfbb8_1
  - nbdime=2.0.0=py_1
  - nbformat=5.0.6=py_0
  - nbval=0.9.5=py_0
  - ncurses=6.1=hf484d3e_1002
  - netcdf-fortran=4.5.2=nompi_h45d7149_104
  - netcdf4=1.5.3=nompi_py37hec16513_103
  - nettle=3.4.1=h1bed415_1002
  - networkx=2.4=py_1
  - nodejs=13.13.0=hf5d1a2b_0
  - notebook=6.0.3=py37_0
  - nspr=4.25=he1b5a44_0
  - nss=3.47=he751ad9_0
  - numba=0.48.0=py37hb3f55d8_0
  - numpy=1.18.4=py37h8960a57_0
  - oauthlib=3.0.1=py_0
  - olefile=0.46=py_0
  - openblas=0.3.6=h6e990d7_6
  - openh264=1.8.0=hdbcaa40_1000
  - openjpeg=2.3.1=h981e76c_3
  - openssl=1.1.1g=h516909a_0
  - owslib=0.19.2=py_1
  - packaging=20.1=py_0
  - pamela=1.0.0=py_0
  - pandas=1.0.3=py37h0da4684_1
  - pandoc=2.9.2.1=0
  - pandocfilters=1.4.2=py_1
  - panel=0.9.5=py_1
  - param=1.9.3=py_0
  - parso=0.7.0=pyh9f0ad1d_0
  - partd=1.1.0=py_0
  - pcre=8.44=he1b5a44_0
  - pexpect=4.8.0=py37hc8dfbb8_1
  - pickleshare=0.7.5=py37hc8dfbb8_1001
  - pillow=7.1.2=py37h718be6c_0
  - pip=20.1=pyh9f0ad1d_0
  - pixman=0.38.0=h516909a_1003
  - pluggy=0.13.1=py37hc8dfbb8_1
  - poppler=0.67.0=h14e79db_8
  - poppler-data=0.4.9=1
  - postgresql=12.2=h8573dbc_1
  - proj=7.0.0=h966b41f_3
  - prometheus_client=0.7.1=py_0
  - prompt-toolkit=3.0.5=py_0
  - prompt_toolkit=3.0.5=0
  - protobuf=3.11.4=py37h3340039_1
  - pscript=0.7.3=py_0
  - psutil=5.7.0=py37h8f50634_1
  - pthread-stubs=0.4=h14c3975_1001
  - ptyprocess=0.6.0=py_1001
  - py=1.8.1=py_0
  - pycparser=2.20=py_0
  - pyct=0.4.6=py_0
  - pyct-core=0.4.6=py_0
  - pycurl=7.43.0.5=py37h16ce93b_0
  - pydap=3.2.2=py37_1000
  - pyepsg=0.4.0=py_0
  - pygments=2.6.1=py_0
  - pyjwt=1.7.1=py_0
  - pyopenssl=19.1.0=py_1
  - pyparsing=2.4.7=pyh9f0ad1d_0
  - pyproj=2.6.1.post1=py37h34dd122_0
  - pyqt=5.12.3=py37h8685d9f_3
  - pyrsistent=0.16.0=py37h8f50634_0
  - pyshp=2.1.0=py_0
  - pysocks=1.7.1=py37hc8dfbb8_1
  - pytest=5.4.1=py37hc8dfbb8_0
  - python=3.7.6=h8356626_5_cpython
  - python-dateutil=2.8.1=py_0
  - python-editor=1.0.4=py_0
  - python-json-logger=0.1.11=py_0
  - python_abi=3.7=1_cp37m
  - pytz=2020.1=pyh9f0ad1d_0
  - pyviz_comms=0.7.4=pyh8c360ce_0
  - pywavelets=1.1.1=py37h03ebfcd_1
  - pyyaml=5.3.1=py37h8f50634_0
  - pyzmq=19.0.1=py37hac76be4_0
  - qt=5.12.5=hd8c4c69_1
  - qtconsole=4.7.3=pyh9f0ad1d_0
  - qtpy=1.9.0=py_0
  - rasterio=1.1.3=py37h900e953_0
  - readline=8.0=hf8c457e_0
  - regionmask=0.5.0=py_1
  - requests=2.23.0=pyh8c360ce_2
  - rioxarray=0.0.26=py_0
  - rtree=0.9.4=py37h8526d28_1
  - ruamel.yaml=0.16.6=py37h8f50634_1
  - ruamel.yaml.clib=0.2.0=py37h8f50634_1
  - scikit-image=0.16.2=py37hb3f55d8_0
  - scipy=1.4.1=py37ha3d9a3c_3
  - send2trash=1.5.0=py_0
  - setuptools=46.1.3=py37hc8dfbb8_0
  - shapely=1.7.0=py37hc88ce51_3
  - siphon=0.8.0=py37_1002
  - six=1.14.0=py_1
  - smmap=3.0.4=pyh9f0ad1d_0
  - snuggs=1.4.7=py_0
  - sortedcontainers=2.1.0=py_0
  - soupsieve=1.9.4=py37hc8dfbb8_1
  - sqlalchemy=1.3.16=py37h8f50634_0
  - sqlite=3.30.1=hcee41ef_0
  - tbb=2018.0.5=h2d50403_0
  - tblib=1.6.0=py_0
  - terminado=0.8.3=py37hc8dfbb8_1
  - testpath=0.4.4=py_0
  - threddsclient=0.4.2=py_0
  - tiledb=1.7.7=h8efa9f0_1
  - tk=8.6.10=hed695b0_0
  - toolz=0.10.0=py_0
  - tornado=6.0.4=py37h8f50634_1
  - tqdm=4.46.0=pyh9f0ad1d_0
  - traitlets=4.3.3=py37hc8dfbb8_1
  - traittypes=0.2.1=py_1
  - typing_extensions=3.7.4.2=py_0
  - tzcode=2020a=h516909a_0
  - udunits2=2.2.27.6=h4e0c4b3_1001
  - urllib3=1.25.9=py_0
  - vcs=8.2=py_2
  - voila=0.1.21=py_0
  - vtk-cdat=8.2.0.8.2=py37_mesalibhead77ed_0
  - wcwidth=0.1.9=pyh9f0ad1d_0
  - webencodings=0.5.1=py_1
  - webob=1.8.6=py_0
  - wget=1.20.1=h22169c7_0
  - wheel=0.34.2=py_1
  - widgetsnbextension=3.5.1=py37_0
  - x264=1!152.20180806=h14c3975_0
  - xarray=0.15.1=py_0
  - xerces-c=3.2.2=h8412b87_1004
  - xorg-kbproto=1.0.7=h14c3975_1002
  - xorg-libice=1.0.10=h516909a_0
  - xorg-libsm=1.2.3=h84519dc_1000
  - xorg-libx11=1.6.9=h516909a_0
  - xorg-libxau=1.0.9=h14c3975_0
  - xorg-libxdmcp=1.1.3=h516909a_0
  - xorg-libxext=1.3.4=h516909a_0
  - xorg-libxrender=0.9.10=h516909a_1002
  - xorg-renderproto=0.11.1=h14c3975_1002
  - xorg-xextproto=7.3.0=h14c3975_1002
  - xorg-xproto=7.0.31=h14c3975_1007
  - xz=5.2.5=h516909a_0
  - yaml=0.2.4=h516909a_0
  - zeromq=4.3.2=he1b5a44_2
  - zict=2.0.0=py_0
  - zipp=3.1.0=py_0
  - zlib=1.2.11=h516909a_1006
  - zstd=1.4.4=h6597ccf_3
  - pip:
    - astunparse==1.6.3
    - birdhouse-birdy==0.6.9
    - boltons==20.1.0
    - bottleneck==1.3.2
    - cdms2==3.1.4
    - colour==0.1.5
    - funcsigs==1.0.2
    - geojson==2.5.0
    - ipython-blocking==0.2.1
    - joblib==0.14.1
    - mpld3==0.3
    - pint==0.11
    - pixiedust==1.1.18
    - pyqt5-sip==4.19.18
    - pyqtchart==5.12
    - pyqtwebengine==5.12.1
    - regrid2==3.1.4
    - requests-magpie==0.1.1
    - scikit-learn==0.22.2.post1
    - wrapt==1.12.1
    - xclim==0.16.0
prefix: /opt/conda/envs/birdy
```
tlvu added a commit to bird-house/birdhouse-deploy that referenced this pull request May 7, 2020
Raven PR Ouranosinc/raven#266 (commit
Ouranosinc/raven@0763bf5)
removed salem dependency and replaced with rioxarray.

Also add packages for the
[`custom_climate_portraits`](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/tree/custom_climate_portraits)
branch  (PR
Ouranosinc/PAVICS-e2e-workflow-tests#35).

Noticeable changes:
```diff
  # conda release of bokeh seems to trail behind pypi
>   - bokeh=2.0.1=py37hc8dfbb8_0
<     - bokeh==2.0.2
>   - jupyter_bokeh=2.0.1=py_0

  # should already exist, not sure why conda env export report this as new
>   - dask=2.15.0=py_0

  # unpinned since salem is removed
<   - pandas=0.25.3=py37hb3f55d8_0
>   - pandas=1.0.3=py37h0da4684_1

<     - salem==0.2.4
>   - rioxarray=0.0.26=py_0

  # packages for custom_climate_portraits branch
>   - geoviews=1.8.1=py_0
>   - h5netcdf=0.8.0=py_0
>   - holoviews=1.13.2=pyh9f0ad1d_0
>   - panel=0.9.5=py_1
>   - hvplot=0.5.2=py_0
>   - pscript=0.7.3=py_0
>   - siphon=0.8.0=py37_1002
>     - ipython-blocking==0.2.1
```

See PR Ouranosinc/PAVICS-e2e-workflow-tests#44
(commit
Ouranosinc/PAVICS-e2e-workflow-tests@bb81982)
for more info.
tlvu added a commit to bird-house/birdhouse-deploy that referenced this pull request May 7, 2020
jupyter: update to pavics/workflow-tests:200507

Raven PR Ouranosinc/raven#266 (commit
Ouranosinc/raven@0763bf5)
removed salem dependency and replaced with rioxarray.

Also add packages for the
[`custom_climate_portraits`](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/tree/custom_climate_portraits)
branch  (PR
Ouranosinc/PAVICS-e2e-workflow-tests#35).

Noticeable changes:
```diff
  # conda release of bokeh seems to trail behind pypi
>   - bokeh=2.0.1=py37hc8dfbb8_0
<     - bokeh==2.0.2
>   - jupyter_bokeh=2.0.1=py_0

  # should already exist, not sure why conda env export report this as new
>   - dask=2.15.0=py_0

  # unpinned since salem is removed
<   - pandas=0.25.3=py37hb3f55d8_0
>   - pandas=1.0.3=py37h0da4684_1

<     - salem==0.2.4
>   - rioxarray=0.0.26=py_0

  # packages for custom_climate_portraits branch
>   - geoviews=1.8.1=py_0
>   - h5netcdf=0.8.0=py_0
>   - holoviews=1.13.2=pyh9f0ad1d_0
>   - panel=0.9.5=py_1
>   - hvplot=0.5.2=py_0
>   - pscript=0.7.3=py_0
>   - siphon=0.8.0=py37_1002
>     - ipython-blocking==0.2.1
```

See PR Ouranosinc/PAVICS-e2e-workflow-tests#44
(commit
Ouranosinc/PAVICS-e2e-workflow-tests@bb81982)
for more info.
@tlvu
Copy link
Contributor

tlvu commented May 8, 2020

The new docker image is in prod. You guys can use the production Jupyter https://pavics.ouranos.ca/jupyter to test/work.

@aulemahal
Copy link
Collaborator Author

IT NOW GOES ALL THE WAY TO THE GRAPHS!
But it is still ugly and certainly buggy.

@aulemahal
Copy link
Collaborator Author

@tlogan2000 FYI : I added comments and docstrings, I believe this is ready to be picked up by someone else!

@tlvu
Copy link
Contributor

tlvu commented Nov 30, 2022

@aulemahal @tlogan2000 now that we have the new portrait climatique and analogues_spatiaux dashboard, is this branch still relevant?

@tlogan2000
Copy link
Collaborator

I don't think we want to lose this code but I don't know if this is the correct spot for this... Definitely not needed as a Jenkins option. @aulemahal do we have a separate repo just for development of the 'custom' portrait idea?

@aulemahal
Copy link
Collaborator Author

Yes we do! https://github.com/Ouranosinc/custom_climate_portraits
I think we can close this branch.

@tlvu
Copy link
Contributor

tlvu commented Dec 5, 2022

OK, closing.

@tlvu tlvu closed this Dec 5, 2022
@tlvu tlvu deleted the custom_climate_portraits branch December 5, 2022 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants