Skip to content

Commit a2cd8c9

Browse files
authored
Set data to NaN at right border of non-global data sets to avoid extrapolation issues. (#2257)
Fix #2226
1 parent 92412db commit a2cd8c9

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

mslib/mswms/mss_plot_driver.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,10 @@ def _load_interpolate_timestep(self):
467467
lon_data = ((self.lon_data - left_longitude) % 360) + left_longitude
468468
lon_indices = lon_data.argsort()
469469
lon_data = lon_data[lon_indices]
470+
# Identify jump in longitudes due to non-global dataset
471+
dlon_data = np.diff(lon_data)
472+
jump = np.where(dlon_data > 2 * dlon)[0]
473+
470474
lons = ((self.lons - left_longitude) % 360) + left_longitude
471475

472476
for name, var in self.data_vars.items():
@@ -481,6 +485,10 @@ def _load_interpolate_timestep(self):
481485
logging.debug("\tInterpolating to cross-section path.")
482486
# Re-arange longitude dimension in the data field.
483487
var_data = var_data[:, :, lon_indices]
488+
if jump:
489+
logging.debug("\tsetting jump data to NaN at %s", jump)
490+
var_data = var_data.copy()
491+
var_data[:, :, jump] = np.nan
484492
data[name] = coordinate.interpolate_vertsec(var_data, self.lat_data, lon_data, self.lats, lons)
485493
# Free memory.
486494
del var_data

0 commit comments

Comments
 (0)