8000 update notebook outputs - PAVICS image py311-250422 by Zeitsperre · Pull Request #562 · Ouranosinc/raven · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

update notebook outputs - PAVICS image py311-250422 #562

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

Merged
merged 2 commits into from
Apr 24, 2025

Conversation

Zeitsperre
Copy link
Contributor

Overview

This PR fixes an issue with notebook outputs

Changes:

  • Added a stderr message

Related Issue / Discussion

This PR might not be needed, assuming that the latest fix removes this message.

Additional Information

Ouranosinc/PAVICS-e2e-workflow-tests#147

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

Copy link
Contributor
@tlvu tlvu left a comment

Choose a reason for hiding this comment

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

LGTM

@Zeitsperre Zeitsperre marked this pull request as ready for review April 24, 2025 07:06
@Zeitsperre Zeitsperre merged commit de978de into main Apr 24, 2025
11 checks passed
@Zeitsperre Zeitsperre deleted the pjei-update-202504 branch April 24, 2025 07:07
@tlvu
Copy link
Contributor
tlvu commented Apr 24, 2025

Should this be synchronized merge with Ouranosinc/PAVICS-e2e-workflow-tests#147 instead?

Zeitsperre added a commit to Ouranosinc/PAVICS-e2e-workflow-tests that referenced this pull request Apr 28, 2025
# Overview

<!-- NOTE: Remember to tag 'release-py###-######' on the commit of this
merge. -->

## Changes

- Removes several obsolete `pip` and `conda` dependencies from the
`environment.yml` and adds a lot more metadata to each entry.
  - The only remaining `PyPI`-provided libraries are now:
- `figanos` →
conda-forge/staged-recipes#29826 (comment)
    - `ipython-blocking`
    - `xncml` → plans to port to `conda-forge`
- `Dockerfile` and `Dockerfile.testing`: Removed the `defaults` Anaconda
channel and added `nodefaults` channel.
- Relevant blog article:
https://ubinfie.github.io/2024/10/15/anaconda-defaults.html
- There is an issue with `miniforge`/`mambaforge` using a nonstandard
location for setting `channels`. This makes it much harder to fully
remove `defaults` in a docker-based environment. Setting `nodefaults`
above `defaults` in the priority list is a workaround. Perhaps this will
be fixed eventually.
- Jupyter env changes:
- Channels now includes `fortiers` for the `fstd2nc` library (previously
installed via PyPI).
  - Relevant changes (alphabetical order):
```diff
>   - cf-units=3.3.0=py311h9f3472d_0

<   - cf_xarray=0.10.0=pyhd8ed1ab_0
>   - cf_xarray=0.10.5=pyhd8ed1ab_0

<   - dash=2.18.1=pyhd8ed1ab_0
>   - dash=3.0.3=pyhd8ed1ab_0

<   - dask=2024.10.0=pyhd8ed1ab_0
<   - dask-core=2024.10.0=pyhd8ed1ab_0
<   - dask-expr=1.1.16=pyhd8ed1ab_0
>   - dask=2025.4.0=pyhd8ed1ab_0
>   - dask-core=2025.4.0=pyhd8ed1ab_0

<   - distributed=2024.10.0=pyhd8ed1ab_0
>   - distributed=2025.4.0=pyhd8ed1ab_0

# ECCC libraries
<   - fstd2nc==0.20240625.5=pypi
<   - fstd2nc-deps==0.20200304.6=pypi
>   - eccc_libburpc=1.17=0
>   - eccc_libezinterpv=20.0.1.1=hdcf949b_2
>   - eccc_librmn=20.0.3=0
>   - eccc_libtdpack=1.6.3.1=0
>   - eccc_libvgrid=6.9.3=0
>   - eccc_rpnpy=2.2.0=py311h48b7412_1
>   - eccc_support_libs=2023.12.0=0

<   - eccodes=2.38.3=h8bb6dbc_1
>   - eccodes=2.41.0=h8bb6dbc_0

<   - esmf=8.6.1=nompi_h4441c20_3
<   - esmpy=8.6.1=pyhc1e730c_0
>   - esmf=8.8.1=mpi_mpich_h7cf99a1_100
>   - esmpy=8.8.1=pyhecae5ae_0

<   - figanos=0.3.0=pypi
>   - figanos=0.4.0=pypi

<   - fiona=1.9.5=py311hf8e0aa6_2
>   - fiona=1.10.1=py311hf6089d3_3

<   - flox=0.9.14=pyhd8ed1ab_0
>   - flox=0.10.1=pyhd8ed1ab_0

<   - gdal=3.8.5=py311hf92cf48_11
>   - gdal=3.10.3=py311hef8459e_3

<   - geoviews=1.13.0=hd8ed1ab_0
<   - geoviews-core=1.13.0=pyha770c72_0
>   - geoviews=1.14.0=hd8ed1ab_0
>   - geoviews-core=1.14.0=pyha770c72_0

<   - holoviews=1.20.0=pyhd8ed1ab_0
>   - holoviews=1.20.2=pyhd8ed1ab_0

<   - intake=0.7.0=pyhd8ed1ab_0
<   - intake-esm=2024.2.6=pyhd8ed1ab_1
<   - intake-geopandas=0.4.0=pyhd8ed1ab_0
<   - intake-thredds=2024.3.1=pyhd8ed1ab_0
>   - intake=2.0.8=pyhd8ed1ab_0
>   - intake-esm=2025.2.3=pyhd8ed1ab_0
>   - intake-geopandas=0.4.0=pyhd8ed1ab_1
>   - intake-thredds=2025.2.18=pyhd8ed1ab_0

<   - matplotlib=3.9.2=py311h38be061_2
<   - matplotlib-base=3.9.2=py311h2b939e6_2
>   - matplotlib=3.10.1=py311h38be061_0
>   - matplotlib-base=3.10.1=py311h2b939e6_0

<   - netcdf4=1.6.5=nompi_py311h74118c1_102
>   - netcdf4=1.7.2=nompi_py311hae66bec_101

<   - numba=0.60.0=py311h4bc866e_0
>   - numba=0.61.2=py311h4e1c48f_0

# This is due to pinning in figanos for `numpy <2.0.0`
<   - numpy=1.26.4=py311h64a7726_0
>   - numpy=1.26.4=pypi

<   - pint=0.23=pyhd8ed1ab_1
>   - pint=0.24.4=pyhd8ed1ab_1

<   - proj=9.4.0=hb784bbd_2
>   - proj=9.6.0=h0054346_1

<   - pyarrow=17.0.0=py311hbd00459_2
<   - pyarrow-core=17.0.0=py311h4854187_2_cpu
>   - pyarrow=19.0.1=py311h38be061_0
>   - pyarrow-core=19.0.1=py311h4854187_0_cpu

<   - pydantic==2.7.4=pypi
<   - pydantic-core==2.18.4=pypi
>   - pydantic=2.11.3=pyh3cfb1c2_0
>   - pydantic-core=2.33.1=py311h687327b_0

<   - pymetalink=6.5.2=pyhd8ed1ab_0
>   - pymetalink=6.5.3=pyhd8ed1ab_0

<   - pyogrio=0.7.2=py311hf8e0aa6_1
>   - pyogrio=0.10.0=py311hf6089d3_1

<   - pyproj=3.6.1=py311hc21b84f_7
>   - pyproj=3.7.1=py311h0960b38_1

<   - pytest-tornasync=0.6.0.post2=pypi
>   - pytest-tornasync=0.6.0.post2=pyhd8ed1ab_1

<   - raven-hydro=0.3.2=py311h81cb690_1
>   - raven-hydro=0.4.0=py311h81cb690_0

<   - ravenpy=0.16.0=pyhd8ed1ab_0
>   - ravenpy=0.18.1=pyhd8ed1ab_0

# Obsolete and archived
<   - roocs-utils=0.6.9=pyhd8ed1ab_0

<   - s3fs=2024.10.0=pyhd8ed1ab_0
>   - s3fs=2025.3.2=pyhd8ed1ab_0

<   - scikit-image=0.24.0=py311h7db5c69_3
<   - scikit-learn=1.5.2=py311h57cc02b_1
>   - scikit-image=0.25.2=py311h7db5c69_0
>   - scikit-learn=1.6.1=py311h57cc02b_0

<   - scipy=1.14.1=py311he9a78e4_1
>   - scipy=1.15.2=py311h8f841c2_0

<   - shapely=2.0.4=py311h0bed3d6_1
>   - shapely=2.1.0=py311h3dc67b8_0

# Downgrade
<   - streamlit=1.40.0=pyhd8ed1ab_0
>   - streamlit=1.8.0=pyhd8ed1ab_0

<   - xarray=2024.9.0=pyhd8ed1ab_1
>   - xarray=2025.3.0=pyhd8ed1ab_0

<   - xclim=0.53.2=pyhd8ed1ab_0
>   - xclim=0.56.0=pyhd8ed1ab_0

<   - xesmf=0.8.8=pyhd8ed1ab_0
>   - xesmf=0.8.9=pyhd8ed1ab_0

<   - xscen=0.10.1=pyhd8ed1ab_0
>   - xscen=0.12.1=pyhd8ed1ab_0

<   - xsdata=24.11=pypi
>   - xsdata=25.4=pyhd8ed1ab_0

# New requirement for xscen
>   - xsdba=0.4.0=pyhd8ed1ab_0

<   - zarr=2.18.3=pyhd8ed1ab_0
>   - zarr=2.18.7=pyhd8ed1ab_0
```

## Test

- [x] Deployed as "gamma" image in p
8000
roduction for bokeh visualization
performance regression testing.
- [x] 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 (only known intermittent esgf-dap.ipynb)
https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/blob/1ef212852e07fae3c1bc26de8501228df6f8e0e1/docker/saved_buildout/jenkins-buildlogs-default.txt
  - esgf-dap issue: Ouranosinc/pavics-sdi#353

## Related Issue / Discussion

- Matching notebook fixes:
  - Pavics-sdi: Ouranosinc/pavics-sdi#352
  - Finch: N/A
- PAVICS-landing: Ouranosinc/PAVICS-landing#107
  - RavenPy: CSHS-CWRA/RavenPy#484
  - Raven: Ouranosinc/raven#562

- Deployment to PAVICS:
bird-house/birdhouse-deploy#526

- Other issues found while working on this one
- `xesmf` 0.8.7 is incompatible with the latest versions of `xarray`
(2025.3.0) and `numba` (61.0). `xesmf` 0.8.8 is broken and excluded via
`xscen` dependency pins.
    - pangeo-data/xESMF#426
- The PyPI library for `fstd2nc` was replaced with the `conda` package
(provided via `fortiers`). `fstd2nc==0.20250310.0_0` was found to be
missing a necessary module.
- neishm/fstd2nc#104 (comment)

- Previous release:
#137

## Additional Information

Full diff conda env export:

release-py311-241111...1ef2128


Full new conda env export:

https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/blob/1ef212852e07fae3c1bc26de8501228df6f8e0e1/docker/saved_buildout/conda-env-export.yml

DockerHub build log

https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/blob/1ef212852e07fae3c1bc26de8501228df6f8e0e1/docker/saved_buildout/docker-buildlogs.txt
Zeitsperre added a commit to bird-house/birdhouse-deploy that referenced this pull request Apr 28, 2025
## Overview

This PR updates the Jupyter env image with several new versions of
dependencies. The Anaconda environment has been overhauled to rely more
on native Anaconda packages and to remove many old/incompatible
packages.

## Changes

**The version in this PR has not yet been bumped**

_Not adding things here under breaking/non-breaking, as I'm not certain
what constitutes either type of change (though I would tend towards
these being breaking changes for scientists)_

- Updates the Jupyter environment for PAVICS to py311-250423
- Anaconda channels now include `nodefaults` and `fortiers` (for
`fstd2nc` library).
- Many obsolete and incompatible plugins and dependencies have been
removed, including many `PyPI`-provided packages.
- The next major release will be built entirely (or almost entirely)
from Anaconda packages.

## Related Issue / Discussion

Ouranosinc/PAVICS-e2e-workflow-tests#147

## Additional Information

- Matching notebook fixes:
  - Pavics-sdi: Ouranosinc/pavics-sdi#352
- PAVICS-landing: Ouranosinc/PAVICS-landing#107
  - RavenPy: CSHS-CWRA/RavenPy#484
  - Raven: Ouranosinc/raven#562

## CI Operations

<!--
The test suite can be run using a different DACCS config with
``birdhouse_daccs_configs_branch: branch_name`` in the PR description.
To globally skip the test suite regardless of the commit message use
``birdhouse_skip_ci`` set to ``true`` in the PR description.

Using ``[<cmd>]`` (with the brackets) where ``<cmd> = skip ci`` in the
commit message will override ``birdhouse_skip_ci`` from the PR
description.
Such commit command can be used to override the PR description behavior
for a specific commit update.
However, a commit message cannot 'force run' a PR which the description
turns off the CI.
To run the CI, the PR should instead be updated with a ``true`` value,
and a running message can be posted in following PR comments to trigger
tests once again.
-->

birdhouse_daccs_configs_branch: master
birdhouse_skip_ci: false
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.

2 participants
0