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
Conversation
* add bokeh channel
* Add test data
I do want to play but am stuck doing other stuff :( ... We can check it out next week |
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. |
haha @tlvu I've never had the patience to wait for the completion of the first attempt, so I don't know. |
The new Jupyter image is available on Medus for everyone to try. |
…d - still unusable
…CS-e2e-workflow-tests into custom_climate_portraits
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. |
…CS-e2e-workflow-tests into custom_climate_portraits
…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 ```
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.
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.
The new docker image is in prod. You guys can use the production Jupyter https://pavics.ouranos.ca/jupyter to test/work. |
…CS-e2e-workflow-tests into custom_climate_portraits
IT NOW GOES ALL THE WAY TO THE GRAPHS! |
@tlogan2000 FYI : I added comments and docstrings, I believe this is ready to be picked up by someone else! |
@aulemahal @tlogan2000 now that we have the new portrait climatique and analogues_spatiaux dashboard, is this branch still relevant? |
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? |
Yes we do! https://github.com/Ouranosinc/custom_climate_portraits |
OK, closing. |
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.