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

Test before ESMValTool v2.1.0 release #1875

Closed
58 of 95 tasks
valeriupredoi opened this issue Oct 20, 2020 · 55 comments
Closed
58 of 95 tasks

Test before ESMValTool v2.1.0 release #1875

valeriupredoi opened this issue Oct 20, 2020 · 55 comments

Comments

@valeriupredoi
Copy link
Contributor

valeriupredoi commented Oct 20, 2020

Hello @ESMValGroup/esmvaltool-developmentteam - it's me the release manager asking you a big favour - can peeps grab their favorite recipe(s) and run it with the release branch and if so tick the box(es) below, please? We will be releasing ESMValTool v2.1.0 on next Monday (26 October) and it would be great to have tested all these recipes to be sure all works well. @mattiarighi and @hb326 it would also be fantastic if you guys had a bit of time to test some of the cmorizers, since I have no access to any of the raw data. Your efforts shall be forever appreciated and we promise we'll fix a robot to do this disrt work before the next release 🍺 🍺

  • recipe_albedolandcover.yml
  • recipe_anav13jclim.yml
  • recipe_arctic_ocean.yml
  • recipe_autoassess_radiation_rms_Amon_all.yml
  • recipe_autoassess_radiation_rms_Amon_obs.yml
  • recipe_autoassess_radiation_rms_cfMon_all.yml
  • recipe_autoassess_stratosphere.yml
  • recipe_capacity_factor.yml
  • recipe_carvalhais14nat.yml
  • recipe_climwip.yml
  • recipe_clouds_bias.yml
  • recipe_clouds_ipcc.yml
  • recipe_collins13ipcc.yml
  • recipe_combined_indices.yml
  • recipe_consecdrydays.yml
  • recipe_cox18nature.yml
  • recipe_cvdp.yml
  • recipe_deangelis15nat.yml
  • recipe_diurnal_temperature_index.yml
  • recipe_ecs_constraints.yml
  • recipe_ecs_scatter.yml
  • recipe_ecs.yml
  • recipe_ensclus.yml
  • recipe_extreme_events.yml
  • recipe_extreme_index.yml
  • recipe_eyring06jgr.yml
  • recipe_flato13ipcc.yml
  • recipe_heatwaves_coldwaves.yml
  • recipe_hyint_extreme_events.yml
  • recipe_hyint.yml
  • recipe_kcs.yml
  • recipe_landcover.yml
  • recipe_lauer13jclim.yml
  • recipe_li17natcc.yml
  • recipe_martin18grl.yml
  • recipe_miles_block.yml
  • recipe_miles_eof.yml
  • recipe_miles_regimes.yml
  • recipe_modes_of_variability.yml
  • recipe_multimodel_products.yml
  • recipe_ocean_amoc.yml
  • recipe_ocean_bgc.yml
  • recipe_ocean_example.yml
  • recipe_ocean_ice_extent.yml
  • recipe_ocean_Landschuetzer2016.yml
  • recipe_ocean_multimap.yml
  • recipe_ocean_quadmap.yml
  • recipe_ocean_scalar_fields.yml
  • recipe_perfmetrics_CMIP5_4cds.yml
  • recipe_perfmetrics_CMIP5.yml
  • recipe_perfmetrics_land_CMIP5.yml
  • recipe_quantilebias.yml
  • recipe_rainfarm.yml
  • recipe_runoff_et.yml
  • recipe_russell18jgr.yml
  • recipe_seaice_drift.yml
  • recipe_seaice_feedback.yml
  • recipe_seaice.yml
  • recipe_shapeselect.yml
  • recipe_smpi_4cds.yml
  • recipe_smpi.yml
  • recipe_snowalbedo.yml
  • recipe_spei.yml
  • recipe_tcr.yml
  • recipe_thermodyn_diagtool.yml
  • recipe_toymodel.yml
  • recipe_validation_CMIP6.yml
  • recipe_validation.yml
  • recipe_wenzel14jgr.yml
  • recipe_wenzel16jclim.yml
  • recipe_wenzel16nat.yml
  • recipe_williams09climdyn_CREM.yml
  • recipe_zmnam.yml

cmorizers:

  • recipe_era5.yml

examples:

  • recipe_check_obs.yml
  • recipe_concatenate_exps.yml
  • recipe_correlation.yml
  • recipe_extract_shape.yml
  • recipe_julia.yml
  • recipe_my_personal_diagnostic.yml
  • recipe_ncl.yml
  • recipe_preprocessor_derive_test.yml
  • recipe_preprocessor_test.yml
  • recipe_python_object_oriented.yml
  • recipe_python.yml
  • recipe_r.yml
  • recipe_variable_groups.yml

hydrology:

  • recipe_hype.yml
  • recipe_lisflood.yml
  • recipe_marrmot.yml
  • recipe_pcrglobwb.yml
  • recipe_wflow.yml

schlund20jgr:

  • recipe_schlund20jgr_gpp_abs_rcp85.yml
  • recipe_schlund20jgr_gpp_change_1pct.yml
  • recipe_schlund20jgr_gpp_change_rcp85.yml
@valeriupredoi
Copy link
Contributor Author

hey guys @ESMValGroup/esmvaltool-developmentteam we'd really appreciate it if you got your favorite recipe run and ticked the box - just a couple days til the release and if these things don't get tested before the day of the release we'll exclude your recipe that wasn't tested (just kidding...or maybe not 😁 ) Cheers muchly! 🍺

@Peter9192
Copy link
Contributor

@jeromaerts would you have time to run some simple hydrology recipes with this branch?

@remi-kazeroni
Copy link
Contributor

I successfully ran all the recipes in examples except the following ones:

  • recipe_extract_shape.yml (auxiliary data missing at DKRZ: Elbe.shp)
  • recipe_julia.yml (most likely due to my installation)
  • recipe_check_obs.yml (preprocessor issue)
  • recipe_preprocessor_derive_test.yml ((same?) preprocessor issue)

Could someone doublecheck for these?

@ruthlorenz
Copy link
Contributor

recipe_extract_shape.yml does not work for me either.
recipe header says "The shapefile can be copied from
esmvaltool/diag_scripts/shapeselect/testdata/Elbe.shp and
placed in the auxiliary_data_dir defined in config-user.yml."

I did that, but then it crashes with "fiona.errors.DriverError: Unable to open /ESMVal/auxiliary_data/Elbe.shx or /ESMVal/auxiliary_data/Elbe.SHX. Set SHAPE_RESTORE_SHX config option to YES to restore or create it."

recipe_julia.yml works fine for me (ticked it above).

The other two I cannot check because of missing data.

@ruthlorenz
Copy link
Contributor

I also run most of recipe_collins13ipcc.yml
I cannot check one diagnostic in it because of missing obs data (the second last, fig12-31ad).
Rest runs fine just takes forever (my bad so I should not complain ).

@bouweandela
Copy link
Member

@ruthlorenz You need to copy all the Elbe.* files, not just the one with the .shp extension.

@valeriupredoi
Copy link
Contributor Author

@ruthlorenz @remi-kazeroni cheers for the help guys! Ruth, as Bouwe says - it needs all the metadata files for the Elbe region, shapefiles come as a collection of files for each of the region they describe. @bouweandela you got time to check the other non-obvious fails, Jasmin is belly up today, great timing for it to go

@bouweandela
Copy link
Member

recipe_check_obs.yml (preprocessor issue)
recipe_preprocessor_derive_test.yml ((same?) preprocessor issue)

@remi-kazeroni Could you attach the file run/main_log_debug.txt so we can see what's going wrong?

@remi-kazeroni
Copy link
Contributor

recipe_check_obs.yml (preprocessor issue)
recipe_preprocessor_derive_test.yml ((same?) preprocessor issue)

@remi-kazeroni Could you attach the file run/main_log_debug.txt so we can see what's going wrong?

main_log_debug_recipe_check_obs.txt
main_log_debug_recipe_preprocessor_derive_test.txt

and the recipes I used (one or two missing datasets commented out)

recipe_check_obs.yml.txt
recipe_preprocessor_derive_test.yml.txt

@ruthlorenz
Copy link
Contributor

My bad, copying all files helps but recipe still fails.

main_log_debug.txt
log.txt

@SarahAlidoost
Copy link
Contributor

I am working on "cmorizers: recipe_era5.yml", after that I can test some of the hydrology recipes. @Peter9192 and @jeromaerts FYI.

@valeriupredoi
Copy link
Contributor Author

@remi-kazeroni I have run the PIOMAS task OK with esmvalcore installed both as a dependency package from ESMValTool (off conda-forge) and source-installed from the latest master and had no issues, can you please make sure you have the latest master installed and not some dev branch?

@valeriupredoi
Copy link
Contributor Author

@ruthlorenz cheers for your efforts - I have reproduced your issue with recipe_extract_shape.yml and will look into it 🍺

@valeriupredoi
Copy link
Contributor Author

OK @bouweandela - as recipe admin - you have a bug, sir 😁 #1878

@remi-kazeroni
Copy link
Contributor

@remi-kazeroni I have run the PIOMAS task OK with esmvalcore installed both as a dependency package from ESMValTool (off conda-forge) and source-installed from the latest master and had no issues, can you please make sure you have the latest master installed and not some dev branch?

@valeriupredoi you are right, I didn't have the lastest master branch, sorry... I have retested all the example recipes and I still could not run the same two ones, namely: recipe_check_obs.yml and recipe_preprocessor_derive_test.yml. These stop at the same point as before, including the PIOMAS task for recipe_check_obs.yml. Could it be due to mssing data on DKRZ?

@valeriupredoi
Copy link
Contributor Author

@remi-kazeroni I have run the PIOMAS task OK with esmvalcore installed both as a dependency package from ESMValTool (off conda-forge) and source-installed from the latest master and had no issues, can you please make sure you have the latest master installed and not some dev branch?

@valeriupredoi you are right, I didn't have the lastest master branch, sorry... I have retested all the example recipes and I still could not run the same two ones, namely: recipe_check_obs.yml and recipe_preprocessor_derive_test.yml. These stop at the same point as before, including the PIOMAS task for recipe_check_obs.yml. Could it be due to mssing data on DKRZ?

I too don't have the full data on Jasmin, but mines stop at Missing data, as it should be the case when there's no data. I did manage to run the PIOMAS though since there is data on Jasmin (albeit not correctly named in file names); I am bit confused how @mattiarighi ran them last time (last release) - Mattia, any chance you can try them yourself again, mate? Sorry, I know you busy 🍺

@katjaweigel
Copy link
Contributor

katjaweigel commented Oct 22, 2020

I found an issue with recipe_deangelis15nat.yml: The recipe is running, but several figures are not displayed correctly (deangelisf3f4/deangelisf3f4/fig3a_.png, deangelisf3f4/deangelisf3f4/fig3b.png, and deangelisf3f4/deangelisf3f4/fig4.png). Looks like an issue with the x axis limits. The recipe is unchanged since the last test on 7 October. I'll try to find the reason tomorrow.

@valeriupredoi
Copy link
Contributor Author

cheers @katjaweigel - it could be a different version of whatever package is used to plot the plots? 🍺

@bouweandela
Copy link
Member

@remi-kazeroni The recipes stop because there is not a single dataset defined for the variable you're trying to process, because you commented the one dataset that was there out. The error message is not very informative unfortunately, I've created an issue to report it ESMValGroup/ESMValCore#843.

@koldunovn
Copy link
Contributor

recipe_arctic_ocean.yml runs, but with one caveat :) After environment update I get matplotlib 3.3.1, that has a bug, that affects the plotting (mwaskom/seaborn#2194). This was fixed in matplotlib 3.3.2, so with this version everything runs smoothly. You might consider to put matplotlib!=3.3.1 in setup.py.

@dr-ko
Copy link
Contributor

dr-ko commented Oct 22, 2020

recipe_carvalhais14nat.yml runs.

@katjaweigel
Copy link
Contributor

katjaweigel commented Oct 23, 2020

I had a closer look at the figures and it is not the axis but the value which changed (factor 100.0) for the plots from recipe_deangelis15nat.yml. Has any unit changed from 1 to % ? (It's in a variable calculated from several other ones, including prw and radiance units but maybe also others. I'll check which of them could have changed.)

@koldunovn
Copy link
Contributor

cheers @koldunovn for both running the test and for pointing to us the Matplotlib bug - I don't think there's a need to restrict the version since 3.3.2 has been out and about for more than a month now (see release table ) and any newer environment will pick up 3.3.2 no problemo 👍

Well, I did an update with conda env update --name esmvaltool --file environment.yml and I got the 3.3.1, so maybe some dependency is more conservative on the matplotlib site. But of course in a few months the chances to hit this problem will be fewer :)

@valeriupredoi
Copy link
Contributor Author

@koldunovn - good point! conda update works in mysterious ways, conda env create picked up 3.3.2 for me so that's why I'm not too concerned
@katjaweigel cheers! I would not change the current Core - but is the resulting cube unit from the derivation script wrong? If it's wrong then it needs to be fixed in there and not by the external fix 🍺

@katjaweigel
Copy link
Contributor

The resulting value is now wrong (with the factor 100.0 because it is used twice). Therefore I'd like to add
rsnstcsnorm_cube.units = Unit('percent')
in ESMValCore/esmvalcore/preprocessor/_derive/rsnstcsnorm.py then the values for rsnstcsnorm_cube are correct again

@valeriupredoi
Copy link
Contributor Author

good stuff @katjaweigel - could you pls open a PR for that in le Core 🍺

@katjaweigel
Copy link
Contributor

ok

@valeriupredoi
Copy link
Contributor Author

ok

Danke schoen! 🍺

@katjaweigel
Copy link
Contributor

@valeriupredoi Should I use master or release_2.1 as base?

@valeriupredoi
Copy link
Contributor Author

for Core, use master please, we've made the release and we should delete that branch 🍺

@SarahAlidoost
Copy link
Contributor

I am working on "cmorizers: recipe_era5.yml", after that I can test some of the hydrology recipes. @Peter9192 and @jeromaerts FYI.

For these recipes from hydrology folder run was successful:

  • recipe_lisflood.yml
  • recipe_marrmot.yml
  • recipe_pcrglobwb.yml
  • recipe_wflow.yml

I didn't run recipe_hype.yml, because I am looking for the shapefile needed by the recipe.

For cmorizer: recipe_era5.yml, some files are still downloading. Also, I'm working on setting the correct default drs, see this issue.

@soufianekar
Copy link
Contributor

successfully tested recipe_cvdp.yml

@Peter9192
Copy link
Contributor

Peter9192 commented Oct 26, 2020

I wonder why the test of examples/recipe_python crashed in this bot test: #1882

@bouweandela
Copy link
Member

Successfully tested examples/recipe_julia.yml

@earnone
Copy link
Contributor

earnone commented Oct 26, 2020

We have an issue with the plotting part of recipe_extreme_events.yml. @jhardenberg is looking into that.

@valeriupredoi
Copy link
Contributor Author

@Peter9192 - am running that myself; @earnone will run it too. BTW it would be useful if the Bot could post the environment in which it works, most of the issues stem from dependencies with different versions 👍

@valeriupredoi
Copy link
Contributor Author

OK examples/recipe_python.yml tested successfully 👍

@Peter9192
Copy link
Contributor

BTW it would be useful if the Bot could post the environment in which it works, most of the issues stem from dependencies with different versions

There is an issue about this in the bot repo.

I managed to reproduce the examples/recipe_python.yml errors on a fresh install from the release branch. Then, upgrading cartopy to 0.18.0 fixed the issue for me.

@bouweandela
Copy link
Member

BTW it would be useful if the Bot could post the environment in which it works, most of the issues stem from dependencies with different versions

This information would be so useful for debugging, that we could also consider including it in the debug log: ESMValGroup/ESMValCore#847

@Peter9192
Copy link
Contributor

SciTools/cartopy#1615 btw this was the cartopy issue that we had in the example recipe

@valeriupredoi
Copy link
Contributor Author

OK so this seems to be a bit of an endemic (not pandemic 😁 ) issue - reported above by @koldunovn (Matplotlib in that case) - either a conda update or just a simple fresh install will not cut it, recreating the env from scratch will do (as in my case, I built my env a few days ago, so fairly new) - it looks like a few dependencies have now become very sensitive to versioning and we must rebuild the env

@valeriupredoi
Copy link
Contributor Author

BTW it would be useful if the Bot could post the environment in which it works, most of the issues stem from dependencies with different versions

This information would be so useful for debugging, that we could also consider including it in the debug log: ESMValGroup/ESMValCore#847

good point! how about we just write a file current_environment.yml to disk anyway, so that people can easily use it for a conda create -f current_environment.yml -n blast-why-did-it-crash

@bouweandela
Copy link
Member

how about we just write a file current_environment.yml to disk anyway

Good idea, but let's take that discussion to ESMValGroup/ESMValCore#847

@sloosvel
Copy link
Contributor

Regarding PRIMAVERA recipes, recipe_seaice_feedback.yml runs fine but recipe_seaice_drift.yml crashes due to an error with pyproj CRS. I tried running it with an old environment and the recipe finishes fine, whereas with the new environment it crashes.

@valeriupredoi
Copy link
Contributor Author

hey @ESMValGroup/esmvaltool-developmentteam thank you much and much for helping us by running a LOT of recipes! We have now released version 2.1.0 and appreciate your help. Am gonna close this issue, but can I please ask you the ones that have had issues with recipes to open issues so we fix those before the next release? It would be very useful if you could include a copy of the environment when you do that - a lot of the issues are most probably due to dependencies having changed versions - like @koldunovn reported the bug with Matplotlib 3.3.1 (BTW Nikolay, the new version picks up 3.3.2 when newly installed, I have just checked!). Cheers much again 🍺

@valeriupredoi
Copy link
Contributor Author

one more thing: I have just removed the release_2.1 branch so all's clean now - master is your go-to as usual 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests