Skip to content

Commit

Permalink
Set data to NaN at right border of non-global data sets to avoid extr…
Browse files Browse the repository at this point in the history
…apolation issues. (#2257)

Fix #2226
  • Loading branch information
joernu76 authored Mar 1, 2024
1 parent 92412db commit a2cd8c9
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions mslib/mswms/mss_plot_driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,10 @@ def _load_interpolate_timestep(self):
lon_data = ((self.lon_data - left_longitude) % 360) + left_longitude
lon_indices = lon_data.argsort()
lon_data = lon_data[lon_indices]
# Identify jump in longitudes due to non-global dataset
dlon_data = np.diff(lon_data)
jump = np.where(dlon_data > 2 * dlon)[0]

lons = ((self.lons - left_longitude) % 360) + left_longitude

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

0 comments on commit a2cd8c9

Please sign in to comment.