ecmwf-projects / c3s2-eqc-quality-assessment

https://ecmwf-projects.github.io/c3s2-eqc-quality-assessment/
Apache License 2.0
3 stars 0 forks source link

Seasonal Forecast - Hit Score - Use Case #4 #120

Closed sandrocalmanti closed 3 months ago

sandrocalmanti commented 3 months ago

Data Type

Seasonal Forecasts

Assessment Category

Forecast skill

Dataset Name

seasonal-monthly-single-levels

Question Number

4

Workflow ID

eqctier3-5586d1f0-b187-446d-955a-ebf9bc81d5d8

Zipped Notebook

D520.3.2.4b.SEASONAL_multimodel-hitrate_v1.4.ipynb.zip

Environment

``` name: wp3 channels: - conda-forge dependencies: - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=2_gnu - affine=2.4.0=pyhd8ed1ab_0 - aiohttp=3.9.5=py311h459d7ec_0 - aiosignal=1.3.1=pyhd8ed1ab_0 - alsa-lib=1.2.12=h4ab18f5_0 - annotated-types=0.7.0=pyhd8ed1ab_0 - ansicolors=1.1.8=pyhd8ed1ab_0 - antlr-python-runtime=4.11.1=pyhd8ed1ab_0 - anyio=4.4.0=pyhd8ed1ab_0 - argon2-cffi=23.1.0=pyhd8ed1ab_0 - argon2-cffi-bindings=21.2.0=py311h459d7ec_4 - arrow=1.3.0=pyhd8ed1ab_0 - asciitree=0.3.3=py_2 - asttokens=2.4.1=pyhd8ed1ab_0 - async-lru=2.0.4=pyhd8ed1ab_0 - attr=2.5.1=h166bdaf_1 - attrs=23.2.0=pyh71513ae_0 - aws-c-auth=0.7.22=hf36ad8f_6 - aws-c-cal=0.6.15=h816f305_1 - aws-c-common=0.9.23=h4ab18f5_0 - aws-c-compression=0.2.18=he027950_7 - aws-c-event-stream=0.4.2=hb72ac1a_14 - aws-c-http=0.8.2=h75ac8c9_3 - aws-c-io=0.14.9=hd3d3696_3 - aws-c-mqtt=0.10.4=hb0abfc5_7 - aws-c-s3=0.5.10=h44b787d_4 - aws-c-sdkutils=0.1.16=he027950_3 - aws-checksums=0.1.18=he027950_7 - aws-crt-cpp=0.26.12=he940a02_1 - aws-sdk-cpp=1.11.329=h0f5bab0_6 - azure-core-cpp=1.12.0=h830ed8b_0 - azure-identity-cpp=1.8.0=hdb0d106_1 - azure-storage-blobs-cpp=12.11.0=ha67cba7_1 - azure-storage-common-cpp=12.6.0=he3f277c_1 - azure-storage-files-datalake-cpp=12.10.0=h29b5301_1 - babel=2.14.0=pyhd8ed1ab_0 - beautifulsoup4=4.12.3=pyha770c72_0 - bleach=6.1.0=pyhd8ed1ab_0 - blosc=1.21.6=hef167b5_0 - bokeh=3.4.2=pyhd8ed1ab_0 - bottleneck=1.4.0=py311h18e1886_1 - branca=0.7.2=pyhd8ed1ab_0 - brotli=1.1.0=hd590300_1 - brotli-bin=1.1.0=hd590300_1 - brotli-python=1.1.0=py311hb755f60_1 - bzip2=1.0.8=hd590300_5 - c-ares=1.28.1=hd590300_0 - ca-certificates=2024.6.2=hbcca054_0 - cached-property=1.5.2=hd8ed1ab_1 - cached_property=1.5.2=pyha770c72_1 - cads-api-client=1.0.3=pyhd8ed1ab_0 - cairo=1.18.0=hbb29018_2 - cartopy=0.23.0=py311h14de704_1 - cdsapi=0.7.0=pyhd8ed1ab_0 - certifi=2024.6.2=pyhd8ed1ab_0 - cf-units=3.2.0=py311h18e1886_5 - cf_xarray=0.9.2=pyhd8ed1ab_0 - cffi=1.16.0=py311hb3a22ac_0 - cfgrib=0.9.13.0=pyhd8ed1ab_0 - cfitsio=4.4.1=hf8ad068_0 - cftime=1.6.4=py311h18e1886_0 - charset-normalizer=3.3.2=pyhd8ed1ab_0 - click=8.1.7=unix_pyh707e725_0 - click-plugins=1.1.1=py_0 - cligj=0.7.2=pyhd8ed1ab_1 - cloudpickle=3.0.0=pyhd8ed1ab_0 - cmocean=4.0.3=pyhd8ed1ab_0 - colorama=0.4.6=pyhd8ed1ab_0 - colorspacious=1.1.2=pyh24bf2e0_0 - comm=0.2.2=pyhd8ed1ab_0 - contourpy=1.2.1=py311h9547e67_0 - cycler=0.12.1=pyhd8ed1ab_0 - cytoolz=0.12.3=py311h459d7ec_0 - dask=2024.6.2=pyhd8ed1ab_0 - dask-core=2024.6.2=pyhd8ed1ab_0 - dask-expr=1.1.6=pyhd8ed1ab_0 - dbus=1.13.6=h5008d03_3 - debugpy=1.8.2=py311h4332511_0 - decorator=5.1.1=pyhd8ed1ab_0 - defusedxml=0.7.1=pyhd8ed1ab_0 - distributed=2024.6.2=pyhd8ed1ab_0 - eccodes=2.34.0=he84ddb8_0 - entrypoints=0.4=pyhd8ed1ab_0 - esmf=8.6.1=nompi_h0a5817f_2 - esmpy=8.6.1=pyhc1e730c_0 - exceptiongroup=1.2.0=pyhd8ed1ab_2 - executing=2.0.1=pyhd8ed1ab_0 - expat=2.6.2=h59595ed_0 - fasteners=0.17.3=pyhd8ed1ab_0 - findlibs=0.0.5=pyhd8ed1ab_0 - fmt=10.2.1=h00ab1b0_0 - folium=0.17.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=h77eed37_2 - fontconfig=2.14.2=h14ed4e7_0 - fonts-conda-ecosystem=1=0 - fonts-conda-forge=1=0 - fonttools=4.53.0=py311h331c9d8_0 - fqdn=1.5.1=pyhd8ed1ab_0 - freeglut=3.2.2=ha6d2627_3 - freetype=2.12.1=h267a509_2 - freexl=2.0.0=h743c826_0 - frozenlist=1.4.1=py311h459d7ec_0 - fsspec=2024.6.1=pyhff2d567_0 - gdal=3.9.1=py311hf92cf48_2 - geopandas=1.0.0=pyhd8ed1ab_0 - geopandas-base=1.0.0=pyha770c72_0 - geos=3.12.1=h59595ed_0 - geotiff=1.7.3=hf7fa9e8_1 - gettext=0.22.5=h59595ed_2 - gettext-tools=0.22.5=h59595ed_2 - gflags=2.2.2=he1b5a44_1004 - giflib=5.2.2=hd590300_0 - glib=2.80.2=h8a4344b_1 - glib-tools=2.80.2=h73ef956_1 - glog=0.7.1=hbabe93e_0 - graphite2=1.3.13=h59595ed_1003 - greenlet=3.0.3=py311hb755f60_0 - gst-plugins-base=1.24.5=hbaaba92_0 - gstreamer=1.24.5=haf2f30d_0 - h11=0.14.0=pyhd8ed1ab_0 - h2=4.1.0=pyhd8ed1ab_0 - harfbuzz=8.5.0=hfac3d4d_0 - hdf4=4.2.15=h2a13503_7 - hdf5=1.14.3=nompi_hdf9ad27_105 - hpack=4.0.0=pyh9f0ad1d_0 - httpcore=1.0.5=pyhd8ed1ab_0 - httpx=0.27.0=pyhd8ed1ab_0 - hyperframe=6.0.1=pyhd8ed1ab_0 - icu=73.2=h59595ed_0 - idna=3.7=pyhd8ed1ab_0 - importlib-metadata=8.0.0=pyha770c72_0 - importlib_metadata=8.0.0=hd8ed1ab_0 - importlib_resources=6.4.0=pyhd8ed1ab_0 - ipykernel=6.29.4=pyh3099207_0 - ipython=8.26.0=pyh707e725_0 - isoduration=20.11.0=pyhd8ed1ab_0 - jasper=4.2.4=h536e39c_0 - jedi=0.19.1=pyhd8ed1ab_0 - jinja2=3.1.4=pyhd8ed1ab_0 - joblib=1.4.2=pyhd8ed1ab_0 - json-c=0.17=h7ab15ed_0 - json5=0.9.25=pyhd8ed1ab_0 - jsonpointer=3.0.0=py311h38be061_0 - jsonschema=4.22.0=pyhd8ed1ab_0 - jsonschema-specifications=2023.12.1=pyhd8ed1ab_0 - jsonschema-with-format-nongpl=4.22.0=pyhd8ed1ab_0 - jupyter-lsp=2.2.5=pyhd8ed1ab_0 - jupyter-server-proxy=4.2.0=pyhd8ed1ab_0 - jupyter_client=8.6.2=pyhd8ed1ab_0 - jupyter_core=5.7.2=py311h38be061_0 - jupyter_events=0.10.0=pyhd8ed1ab_0 - jupyter_server=2.14.1=pyhd8ed1ab_0 - jupyter_server_terminals=0.5.3=pyhd8ed1ab_0 - jupyterlab=4.2.3=pyhd8ed1ab_0 - jupyterlab-myst=2.4.2=pyhd8ed1ab_0 - jupyterlab_pygments=0.3.0=pyhd8ed1ab_1 - jupyterlab_server=2.27.2=pyhd8ed1ab_0 - kealib=1.5.3=hee9dde6_1 - keyutils=1.6.1=h166bdaf_0 - kiwisolver=1.4.5=py311h9547e67_1 - krb5=1.21.3=h659f571_0 - lame=3.100=h166bdaf_1003 - lcms2=2.16=hb7c19ff_0 - ld_impl_linux-64=2.40=hf3520f5_7 - lerc=4.0.0=h27087fc_0 - libabseil=20240116.2=cxx17_h59595ed_0 - libaec=1.1.3=h59595ed_0 - libarchive=3.7.4=hfca40fe_0 - libarrow=16.1.0=h4a673ee_10_cpu - libarrow-acero=16.1.0=hac33072_10_cpu - libarrow-dataset=16.1.0=hac33072_10_cpu - libarrow-substrait=16.1.0=h7e0c224_10_cpu - libasprintf=0.22.5=h661eb56_2 - libasprintf-devel=0.22.5=h661eb56_2 - libblas=3.9.0=22_linux64_openblas - libboost-headers=1.85.0=ha770c72_2 - libbrotlicommon=1.1.0=hd590300_1 - libbrotlidec=1.1.0=hd590300_1 - libbrotlienc=1.1.0=hd590300_1 - libcap=2.69=h0f662aa_0 - libcblas=3.9.0=22_linux64_openblas - libclang-cpp15=15.0.7=default_h127d8a8_5 - libclang13=18.1.8=default_h6ae225f_0 - libcrc32c=1.1.2=h9c3ff4c_0 - libcups=2.3.3=h4637d8d_4 - libcurl=8.8.0=hca28451_1 - libdeflate=1.20=hd590300_0 - libedit=3.1.20191231=he28a2e2_2 - libev=4.33=hd590300_2 - libevent=2.1.12=hf998b51_1 - libexpat=2.6.2=h59595ed_0 - libffi=3.4.2=h7f98852_5 - libflac=1.4.3=h59595ed_0 - libgcc-ng=14.1.0=h77fa898_0 - libgcrypt=1.11.0=h4ab18f5_0 - libgdal=3.9.1=he176cbe_2 - libgettextpo=0.22.5=h59595ed_2 - libgettextpo-devel=0.22.5=h59595ed_2 - libgfortran-ng=14.1.0=h69a702a_0 - libgfortran5=14.1.0=hc5f4f2c_0 - libglib=2.80.2=h8a4344b_1 - libglu=9.0.0=ha6d2627_1004 - libgomp=14.1.0=h77fa898_0 - libgoogle-cloud=2.25.0=h2736e30_0 - libgoogle-cloud-storage=2.25.0=h3d9a0c8_0 - libgpg-error=1.50=h4f305b6_0 - libgrpc=1.62.2=h15f2491_0 - libiconv=1.17=hd590300_2 - libjpeg-turbo=3.0.0=hd590300_1 - libkml=1.3.0=h01aab08_1018 - liblapack=3.9.0=22_linux64_openblas - libllvm14=14.0.6=hcd5def8_4 - libllvm15=15.0.7=hb3ce162_4 - libllvm18=18.1.8=hc9dba70_0 - libnetcdf=4.9.2=nompi_h135f659_114 - libnghttp2=1.58.0=h47da74e_1 - libnsl=2.0.1=hd590300_0 - libogg=1.3.5=h4ab18f5_0 - libopenblas=0.3.27=pthreads_h413a1c8_0 - libopus=1.3.1=h7f98852_1 - libparquet=16.1.0=h6a7eafb_10_cpu - libpng=1.6.43=h2797004_0 - libpq=16.3=ha72fbe1_0 - libprotobuf=4.25.3=h08a7969_0 - libre2-11=2023.09.01=h5a48ba9_2 - librttopo=1.1.0=h8917695_15 - libsndfile=1.2.2=hc60ed4a_1 - libsodium=1.0.18=h36c2ea0_1 - libspatialite=5.1.0=h6fbd9c4_7 - libsqlite=3.46.0=hde9e2c9_0 - libssh2=1.11.0=h0841786_0 - libstdcxx-ng=14.1.0=hc0a3c3a_0 - libsystemd0=255=h3516f8a_1 - libthrift=0.19.0=hb90f79a_1 - libtiff=4.6.0=h1dd3fc0_3 - libudunits2=2.2.28=h40f5838_3 - libutf8proc=2.8.0=h166bdaf_0 - libuuid=2.38.1=h0b41bf4_0 - libvorbis=1.3.7=h9c3ff4c_0 - libwebp-base=1.4.0=hd590300_0 - libxcb=1.16=hd590300_0 - libxcrypt=4.4.36=hd590300_1 - libxkbcommon=1.7.0=h2c5496b_1 - libxml2=2.12.7=hc051c1a_1 - libzip=1.10.1=h2629f0a_3 - libzlib=1.3.1=h4ab18f5_1 - llvmlite=0.43.0=py311hbde99c3_0 - locket=1.0.0=pyhd8ed1ab_0 - lz4=4.3.3=py311h38e4bf4_0 - lz4-c=1.9.4=hcb278e6_0 - lzo=2.10=hd590300_1001 - mapclassify=2.6.1=pyhd8ed1ab_0 - markdown-it-py=3.0.0=pyhd8ed1ab_0 - markupsafe=2.1.5=py311h459d7ec_0 - matplotlib=3.8.4=py311h38be061_2 - matplotlib-base=3.8.4=py311ha4ca890_2 - matplotlib-inline=0.1.7=pyhd8ed1ab_0 - mdurl=0.1.2=pyhd8ed1ab_0 - minizip=4.0.7=h401b404_0 - mistune=3.0.2=pyhd8ed1ab_0 - mpg123=1.32.6=h59595ed_0 - msgpack-python=1.0.8=py311h52f7536_0 - multidict=6.0.5=py311h459d7ec_0 - multiurl=0.3.1=pyhd8ed1ab_0 - munkres=1.1.4=pyh9f0ad1d_0 - mysql-common=8.3.0=hf1915f5_4 - mysql-libs=8.3.0=hca2cd23_4 - nbclient=0.10.0=pyhd8ed1ab_0 - nbconvert=7.16.4=hd8ed1ab_1 - nbconvert-core=7.16.4=pyhd8ed1ab_1 - nbconvert-pandoc=7.16.4=hd8ed1ab_1 - nbformat=5.10.4=pyhd8ed1ab_0 - nc-time-axis=1.4.1=pyhd8ed1ab_0 - ncurses=6.5=h59595ed_0 - nest-asyncio=1.6.0=pyhd8ed1ab_0 - netcdf-fortran=4.6.1=nompi_h228c76a_104 - netcdf4=1.7.1=nompi_py311h25b3b55_101 - networkx=3.3=pyhd8ed1ab_1 - notebook-shim=0.2.4=pyhd8ed1ab_0 - nspr=4.35=h27087fc_0 - nss=3.101=h593d115_0 - numba=0.60.0=py311h4bc866e_0 - numcodecs=0.12.1=py311h4332511_1 - numpy=1.26.4=py311h64a7726_0 - openjpeg=2.5.2=h488ebb8_0 - openssl=3.3.1=h4ab18f5_1 - orc=2.0.1=h17fec99_1 - overrides=7.7.0=pyhd8ed1ab_0 - packaging=24.1=pyhd8ed1ab_0 - pandas=2.2.2=py311h14de704_1 - pandoc=3.2.1=ha770c72_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - papermill=2.6.0=pyhd8ed1ab_0 - parso=0.8.4=pyhd8ed1ab_0 - partd=1.4.2=pyhd8ed1ab_0 - patsy=0.5.6=pyhd8ed1ab_0 - pcre2=10.44=h0f59acf_0 - pexpect=4.9.0=pyhd8ed1ab_0 - pickleshare=0.7.5=py_1003 - pillow=10.3.0=py311h82a398c_1 - pip=24.0=pyhd8ed1ab_0 - pixman=0.43.2=h59595ed_0 - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1 - platformdirs=4.2.2=pyhd8ed1ab_0 - plotly=5.22.0=pyhd8ed1ab_0 - ply=3.11=pyhd8ed1ab_2 - pooch=1.8.2=pyhd8ed1ab_0 - poppler=24.04.0=hb6cd0d7_0 - poppler-data=0.4.12=hd8ed1ab_0 - postgresql=16.3=h8e811e2_0 - proj=9.4.1=hb784bbd_0 - prometheus_client=0.20.0=pyhd8ed1ab_0 - prompt-toolkit=3.0.47=pyha770c72_0 - properscoring=0.1=py_0 - psutil=6.0.0=py311h331c9d8_0 - pthread-stubs=0.4=h36c2ea0_1001 - ptyprocess=0.7.0=pyhd3deb0d_0 - pulseaudio-client=17.0=hb77b528_0 - pure_eval=0.2.2=pyhd8ed1ab_0 - pyarrow=16.1.0=py311hbd00459_4 - pyarrow-core=16.1.0=py311h8c3dac4_4_cpu - pyarrow-hotfix=0.6=pyhd8ed1ab_0 - pycparser=2.22=pyhd8ed1ab_0 - pydantic=2.7.4=pyhd8ed1ab_0 - pydantic-core=2.18.4=py311h5ecf98a_0 - pydantic-settings=2.3.4=pyhd8ed1ab_0 - pygments=2.18.0=pyhd8ed1ab_0 - pyogrio=0.9.0=py311hfc743a8_0 - pyparsing=3.1.2=pyhd8ed1ab_0 - pyproj=3.6.1=py311hc21b84f_7 - pyqt=5.15.9=py311hf0fb5b6_5 - pyqt5-sip=12.12.2=py311hb755f60_5 - pyshp=2.3.1=pyhd8ed1ab_0 - pysocks=1.7.1=pyha2e5f31_6 - python=3.11.9=hb806964_0_cpython - python-dateutil=2.9.0=pyhd8ed1ab_0 - python-dotenv=1.0.1=pyhd8ed1ab_0 - python-eccodes=1.7.1=py311h18e1886_0 - python-fastjsonschema=2.20.0=pyhd8ed1ab_0 - python-json-logger=2.0.7=pyhd8ed1ab_0 - python-tzdata=2024.1=pyhd8ed1ab_0 - python_abi=3.11=4_cp311 - pytz=2024.1=pyhd8ed1ab_0 - pyyaml=6.0.1=py311h459d7ec_1 - pyzmq=26.0.3=py311h08a0b41_0 - qt-main=5.15.8=ha2b5568_22 - rasterio=1.3.10=py311h539dff6_4 - re2=2023.09.01=h7f4b329_2 - readline=8.2=h8228510_1 - referencing=0.35.1=pyhd8ed1ab_0 - regionmask=0.12.1=pyhd8ed1ab_0 - requests=2.32.3=pyhd8ed1ab_0 - rfc3339-validator=0.1.4=pyhd8ed1ab_0 - rfc3986-validator=0.1.1=pyh9f0ad1d_0 - rich=13.7.1=pyhd8ed1ab_0 - rpds-py=0.18.1=py311h5ecf98a_0 - s2n=1.4.16=he19d79f_0 - scikit-learn=1.5.0=py311he08f58d_1 - scipy=1.14.0=py311h517d4fd_0 - seaborn=0.13.2=hd8ed1ab_2 - seaborn-base=0.13.2=pyhd8ed1ab_2 - send2trash=1.8.3=pyh0d859eb_0 - setuptools=70.1.1=pyhd8ed1ab_0 - shapely=2.0.4=py311h0bed3d6_1 - shellingham=1.5.4=pyhd8ed1ab_0 - simpervisor=1.0.0=pyhd8ed1ab_0 - sip=6.7.12=py311hb755f60_0 - six=1.16.0=pyh6c4a22f_0 - snappy=1.2.0=hdb0a2a9_1 - sniffio=1.3.1=pyhd8ed1ab_0 - snuggs=1.4.7=py_0 - sortedcontainers=2.4.0=pyhd8ed1ab_0 - soupsieve=2.5=pyhd8ed1ab_1 - sparse=0.15.4=pyhd8ed1ab_0 - spdlog=1.13.0=hd2e6256_0 - sqlalchemy=2.0.31=py311h331c9d8_0 - sqlite=3.46.0=h6d4b2fc_0 - stack_data=0.6.2=pyhd8ed1ab_0 - statsmodels=0.14.2=py311h18e1886_0 - structlog=24.2.0=pyhd8ed1ab_0 - tblib=3.0.0=pyhd8ed1ab_0 - tenacity=8.4.2=pyhd8ed1ab_0 - terminado=0.18.1=pyh0d859eb_0 - threadpoolctl=3.5.0=pyhc1e730c_0 - tiledb=2.24.1=h2aae180_1 - tinycss2=1.3.0=pyhd8ed1ab_0 - tk=8.6.13=noxft_h4845f30_101 - toml=0.10.2=pyhd8ed1ab_0 - tomli=2.0.1=pyhd8ed1ab_0 - toolz=0.12.1=pyhd8ed1ab_0 - tornado=6.4.1=py311h331c9d8_0 - tqdm=4.66.4=pyhd8ed1ab_0 - traitlets=5.14.3=pyhd8ed1ab_0 - typer=0.12.3=pyhd8ed1ab_0 - typer-slim=0.12.3=pyhd8ed1ab_0 - typer-slim-standard=0.12.3=hd8ed1ab_0 - types-python-dateutil=2.9.0.20240316=pyhd8ed1ab_0 - typing-extensions=4.12.2=hd8ed1ab_0 - typing_extensions=4.12.2=pyha770c72_0 - typing_utils=0.1.0=pyhd8ed1ab_0 - tzcode=2024a=h3f72095_0 - tzdata=2024a=h0c530f3_0 - udunits2=2.2.28=h40f5838_3 - uri-template=1.3.0=pyhd8ed1ab_0 - uriparser=0.9.8=hac33072_0 - urllib3=2.2.2=pyhd8ed1ab_1 - wcwidth=0.2.13=pyhd8ed1ab_0 - webcolors=24.6.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_2 - websocket-client=1.8.0=pyhd8ed1ab_0 - wheel=0.43.0=pyhd8ed1ab_1 - xarray=2024.6.0=pyhd8ed1ab_1 - xcb-util=0.4.1=hb711507_2 - xcb-util-image=0.4.0=hb711507_2 - xcb-util-keysyms=0.4.1=hb711507_0 - xcb-util-renderutil=0.3.10=hb711507_0 - xcb-util-wm=0.4.2=hb711507_0 - xerces-c=3.2.5=hac6953d_0 - xesmf=0.8.6=pyhd8ed1ab_0 - xhistogram=0.3.2=pyhd8ed1ab_0 - xkeyboard-config=2.42=h4ab18f5_0 - xorg-fixesproto=5.0=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.9=hb711507_1 - xorg-libxau=1.0.11=hd590300_0 - 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-libxrender=0.9.11=hd590300_0 - xorg-renderproto=0.11.1=h7f98852_1002 - xorg-xextproto=7.3.0=h0b41bf4_1003 - xorg-xf86vidmodeproto=2.3.1=h7f98852_1002 - xorg-xproto=7.0.31=h7f98852_1007 - xskillscore=0.0.26=pyhd8ed1ab_0 - xyzservices=2024.6.0=pyhd8ed1ab_0 - xz=5.2.6=h166bdaf_0 - yaml=0.2.5=h7f98852_2 - yarl=1.9.4=py311h459d7ec_0 - zarr=2.18.2=pyhd8ed1ab_0 - zeromq=4.3.5=h75354e8_4 - zict=3.0.0=pyhd8ed1ab_0 - zipp=3.19.2=pyhd8ed1ab_0 - zlib=1.3.1=h4ab18f5_1 - zstandard=0.22.0=py311hb6f056b_1 - zstd=1.5.6=ha6fb4c9_0 - pip: - c3s-eqc-automatic-quality-control==0.1.2.dev112+g680c19a - cacholote==1.1.0 - cads-toolbox==0.0.2b0 - cgul==0.0.4 - coucal==0.0.1b3 - emohawk==0.0.4b0 - kaleido==0.2.1 prefix: /data/common/miniforge3/envs/wp3 Note: you may need to restart the kernel to use updated packages. ```

Anything else we need to know?

A requesto from Chris

Could you ask Mattia to run the final notebook through his prep/permalink workflow, this cleans up cell output, makes the code cells collapsed, etc. I'll then manually add the .ipynb file to the Jupyter Book.

malmans2 commented 3 months ago

Hi @sandrocalmanti,

Looks like you forgot the assessment category. Could you please edit your message above? Let me know when you are done.

malmans2 commented 3 months ago

Good morning @sandrocalmanti,

Did you read my comment above? Sorry if you did, I don't mean to rush you. Just making sure that you didn't miss the notification.

sandrocalmanti commented 3 months ago

Done.

Sorry @malmans2 I took a day off yesterday.

malmans2 commented 3 months ago

Here is the permalink: https://github.com/ecmwf-projects/c3s2-eqc-quality-assessment/blob/83ea1ab030bd109b02214bce5359463887c5135a/Seasonal_Forecasts/seasonal_seasonal-monthly-single-levels_forecast-skill_q04.ipynb

Please make sure that the notebook name is correct.

If you need to make modifications (e.g., to address the reviewer's comment), please share here the new version of the notebook and I will provide a new permalink.

Let me know when the notebook is accepted, I will merge the PR into main.

malmans2 commented 3 months ago

For @crgoddard,

All permalinks I issue already include tags to hide code cells. If you wish to use additional automatic features such as figure decoding and the addition of a logo header, you'll need to execute the script yourself:

  1. Place the notebook in the appropriate Jupyter Book folder.
  2. Download the script.
  3. Run: python convert-to-book-format.py /path/to/notebook.ipynb

Please note that the script assumes the logo header is not present, whereas it looks like it is already included in this notebook. You may end up with duplicate headers.

Also, you need to install nbformat if you don't have it yet, but I imagine it is a dependency of jupyter-book.

@sandrocalmanti, I'm not sure if Chris is checking GitHub notifications, so you may need to pass him this information.

crgoddard commented 3 months ago

Hi both, we can do the conversion in the Jupyter Book repo, I just wanted to use the permalink to get the .ipynb file so the cell tags would be already set.

I notice there is a lot of cell output that we don't want to include for a couple of cells (download status, print statements, etc). I can clean this up (I simply remove the output by editing the .ipynb file) as it is good to get a second example in the Book ASAP, but in general it would be good if this is finalised before the review permalink is generated.

Also a note that the dataset actually used is monthly anomalies, but as there is no final decision on the file names (which determines the Book url), or what to do when an assessment is relevant to multiple catalogue entries, we can just adjust later if needed.

I'll proceed using the link above.

malmans2 commented 3 months ago

I notice there is a lot of cell output that we don't want to include for a couple of cells (download status, print statements, etc). I can clean this up (I simply remove the output by editing the .ipynb file) as it is good to get a second example in the Book ASAP, but in general it would be good if this is finalised before the review permalink is generated.

Quick note about this: We do not delete existing tags. So evaluators could use additional tags to hide outputs, although at the moment evaluators do not know anything about the tagging specs.