-
Notifications
You must be signed in to change notification settings - Fork 145
Description
On jasmin, jobs are being killed when the following code runs:
import iris
from esmvalcore.preprocessor._regrid import extract_levels
fn = "/badc/cmip6/data/CMIP6/CMIP/MOHC/UKESM1-0-LL/historical/r2i1p1f2/Omon/po4/gn/v20190708/po4_Omon_UKESM1-0-LL_historical_r2i1p1f2_gn_200001-201412.nc"
cube= iris.load_cube(fn)
c2 = extract_levels(cube, scheme='nearest', levels = [0.1 ,])
This occurs with several versions of esmvalcore (2.8.0, 2.8.1, 2.9.0).
The error occurs for all four schemes and a range of level values (0.0, 0.1, 0.5)
c2 = extract_levels(cube, scheme='nearest', levels = [0.1 ,]) # killled
c2 = extract_levels(cube, scheme='nearest', levels = [0.5 ,])# killled
c2 = extract_levels(cube, scheme='linear', levels = [0.5 ,]) # killled
c2 = extract_levels(cube, scheme='nearest_extrapolate', levels = [0.5 ,]) # killled
c2 = extract_levels(cube, scheme='linear_extrapolate', levels = [0.5 ,])# killled
In all cases, the error occurs here: https://github.com/ESMValGroup/ESMValCore/blob/1101d36e3f343ec823842ea7c3f4b941ee942a89/esmvalcore/preprocessor/_regrid.py#L870
# Now perform the actual vertical interpolation.
new_data = stratify.interpolate(levels,
src_levels_broadcast,
cube.core_data(),
axis=z_axis,
interpolation=interpolation,
extrapolation=extrapolation)
Stratify (version '0.3.0') is a c/python interface wrapper and it previously caused trouble. It is not lazy so it may try to load 120GB files into memory and other issues like that. My previous solution to this problem was the write my own preprocessor:
ESMValGroup/ESMValCore#1039
ESMValGroup/ESMValCore#1048
Which has been abandoned, but I'm tempted to bring it back. (The deadline for this piece of work is 24th july!)
This is an extension of the discussion here: #3239