ESMValGroup / ESMValCore

ESMValCore: A community tool for pre-processing data from Earth system models in CMIP and running analysis scripts.
https://www.esmvaltool.org
Apache License 2.0
42 stars 38 forks source link

Switch to iris 3 #378

Closed valeriupredoi closed 3 years ago

valeriupredoi commented 4 years ago

We will have to imminently switch to iris=3 when it becomes available on conda - @bjlittle can I be a pest and ask you to notify us when you guys will have had the package in conda-forge plss? The good news is that I have already been using iris=3 since yesterday and ran in anger a few large recipes (IPCC authorship comes at a price :grin;) and all looks dandy; also all the iris=2.2.1 deps apply to iris=3 as well, and we'll not have any environment-related headaches :beer:

bjlittle commented 4 years ago

@valeriupredoi Good to hear that we've not broken anything for you guys (yet) :wink:

Happy to ping you when 3.0.0 is available on conda-forge. I'd encourage you to watch the https://github.com/conda-forge/iris-feedstock, and GitHub will automatically ping you when there is any activity.

valeriupredoi commented 4 years ago

muchos gracias, segnor Bill, I am now subscribed and expecting stuff a la Roland Emmerich coming from there :grin:

stefsmeets commented 4 years ago

I just installed the release candidate on iris3 and I'm hijacking this issue to list the problems.

I ran the tests, and came accross these main issues:

CubeList.exact_strict (32x)

CubeList.extract_strict has been replaced: https://github.com/SciTools/iris/pull/3715 and now raises:

AttributeError: 'CubeList' object has no attribute 'extract_strict'

Fix: .extract_strict(some_constraints) -> .extract_cubes(some_constraints). .extract_strict(one_constraint) -> .extract_cube(one_constraint).

DimCoord._as_defn (11x)

AttributeError: 'DimCoord' object has no attribute '_as_defn

Fix: I think this is now exposed through the .metadata attribute.

Remaining errors are:

FAILED tests/integration/preprocessor/_derive/test_interface.py::test_derive_nonstandard_nofx - ValueError: Derivation of variable 'alb' failed. If you used the option '--skip-nonexist...
FAILED tests/integration/preprocessor/_io/test_concatenate.py::test_fix_aux_factories_empty_cube - ValueError: Invalid units: sigma must be dimensionless.
FAILED tests/integration/preprocessor/_io/test_concatenate.py::test_fix_aux_factories_hybrid_height - ValueError: Invalid units: sigma must be dimensionless.
FAILED tests/integration/preprocessor/_io/test_concatenate.py::test_fix_aux_factories_real_cube - ValueError: Invalid units: sigma must be dimensionless.
FAILED tests/unit/preprocessor/_regrid/test_extract_levels.py::Test::test_interpolation__masked - AttributeError: module 'iris.analysis' has no attribute 'coord_comparison'
ERROR tests/integration/preprocessor/_io/test_concatenate.py::test_fix_aux_factories_hybrid_pressure - ValueError: Invalid units: sigma must be dimensionless.
ERROR tests/integration/preprocessor/_io/test_concatenate.py::test_concatenation_with_aux_factory - ValueError: Invalid units: sigma must be dimensionless.
bouweandela commented 4 years ago

See also here: https://scitools-iris.readthedocs.io/en/v3.0.0rc0/whatsnew/3.0.html#incompatible-changes

bouweandela commented 3 years ago

If anyone would still like to use the development version of the tool with iris 2, I have created an iris2 branch that we can keep around for the next month. If you still need an old development version after that, you can go back in history from the master branch by running git log, selecting the commit hash (the long hexadecimal number after the word 'commit' in the log) and running e.g. git checkout 1c9885bb9796c88f3a14e21ef4148968fe9475b4. Of course, it is also possible to install older versions from Conda.

To find out what is new and what has changed in iris 3, please have a look at the release notes.