valeriupredoi / bgc-val

A public-facing version of the bgc-val suite. This is a python toolkit to evaluation marine models from netcdf to html.
1 stars 0 forks source link

Stuff I ran on JASMIN - useful for testing for consistency of results (py2 -> py3 versions) #4

Open valeriupredoi opened 2 years ago

valeriupredoi commented 2 years ago

Runs done with stock data in /gws/nopw/j04/ukesm/BGC_data/u-bc179/u-bc179o_1y_*_grid_T.nc' and output stuffs in /gws/nopw/j04/ukesm/BGC_data/valeriu/shelves/timeseries/u-bc179

EDIT I'll have to rerun debug and kmf since I was a dummer and didn't set the correct path to images dir in paths -> was still pointing to yours so I don't have any blithering images :rofl:

valeriupredoi commented 2 years ago

so now after I actually pointed the poor thing to my path for mages I got a whole lot of plots and I will attempt at creating the summary page, but I got an error while running the plotting stage of the level2 run:

mapplotsRegionsLayers: WOA WOA
mapplotsRegionsLayers: Surface Surface
mapplotsRegionsLayers: Nitrate Nitrate
text not in dict: (u-bc179)
text not in dict: 2014
(1.1983579, -78.55543, -179.99654, (65645,), (65645,), (65645,))
Traceback (most recent call last):
  File "/home/users/valeriu/bgc-val/./analysis_timeseries.py", line 4925, in <module>
    main()
  File "/home/users/valeriu/bgc-val/./analysis_timeseries.py", line 4916, in main
    analysis_timeseries(
  File "/home/users/valeriu/bgc-val/./analysis_timeseries.py", line 4793, in analysis_timeseries
    tsa = timeseriesAnalysis(
  File "/home/users/valeriu/bgc-val/timeseries/timeseriesAnalysis.py", line 126, in __init__
    self.makePlots()
  File "/home/users/valeriu/bgc-val/timeseries/timeseriesAnalysis.py", line 1046, in makePlots
    self.mapplotsRegionsLayers()
  File "/home/users/valeriu/bgc-val/timeseries/timeseriesAnalysis.py", line 852, in mapplotsRegionsLayers
    tsp.mapPlotPair(
  File "/home/users/valeriu/bgc-val/timeseries/timeseriesPlots.py", line 1284, in mapPlotPair
    fig, ax1 = makemapplot(
  File "/home/users/valeriu/bgc-val/timeseries/timeseriesPlots.py", line 1121, in makemapplot
    im = ax.scatter(lons,
  File "/home/users/valeriu/miniconda3-June2021/envs/bgcval/lib/python3.9/site-packages/cartopy/mpl/geoaxes.py", line 318, in wrapper
    return func(self, *args, **kwargs)
  File "/home/users/valeriu/miniconda3-June2021/envs/bgcval/lib/python3.9/site-packages/cartopy/mpl/geoaxes.py", line 1752, in scatter
    result = matplotlib.axes.Axes.scatter(self, *args, **kwargs)
  File "/home/users/valeriu/miniconda3-June2021/envs/bgcval/lib/python3.9/site-packages/matplotlib/__init__.py", line 1412, in inner
    return func(ax, *map(sanitize_sequence, args), **kwargs)
  File "/home/users/valeriu/miniconda3-June2021/envs/bgcval/lib/python3.9/site-packages/matplotlib/axes/_axes.py", line 4474, in scatter
    collection._scale_norm(norm, vmin, vmax)
  File "/home/users/valeriu/miniconda3-June2021/envs/bgcval/lib/python3.9/site-packages/matplotlib/cm.py", line 380, in _scale_norm
    raise ValueError(
ValueError: Passing parameters norm and vmin/vmax simultaneously is not supported. Please pass vmin/vmax directly to the norm when creating it.

this could be related to the modern Matplotlib I have in the new environment, but will investigate more :+1:

valeriupredoi commented 2 years ago

OK so the page and rendering via Github works very nicely https://github.com/valeriupredoi/reports-bgc-val

ledm commented 2 years ago

The above issue (with p2p?) must be a new matplotlib issue. Though I'm not sure (right now) why there's a map plot in the timeseries code? I didn't think there was any lat/lon coordinates there!

This looks good! https://htmlpreview.github.io/?https://github.com/valeriupredoi/reports-bgc-val/blob/main/bgc-val-initial-report/u-bc179/index.html

valeriupredoi commented 2 years ago

@ledm cheers bud! I'll investigate that Matplotlib issue further, I'll also need to tweak a bit the paths import and maybe create a dedicated submodule for that, but until then - am chuffed things just work :grin: Oh and great to see you back to chacking your GH notifications :rofl:

valeriupredoi commented 2 years ago

OK fixed that issue: norm needs those minmax args inside the LogNorm method: norm=LogNorm(vmin=zrange[0], vmax=zrange[1])

valeriupredoi commented 2 years ago

level2 ran fine now (took about a day to run!), html report here

valeriupredoi commented 2 years ago

@ledm as you correctly pointed out, I looked for *robin plots and found none; but - here's the thing, the p2p path is set this way in paths.py on Jassie:

p2p_ppDir = folder(jasmin2 + "BGC_data/ukesm_postProcessed/")

where jasmin2 = "/gws/nopw/j04/ukesm/" - but when I look there eg ls -la /gws/nopw/j04/ukesm/BGC_data/ukesm_postProcessed/NEMO-u-bc179-2000//* there is nada there.

Do I have to run anything in advance to get pp stuff for p2p?