Skip to content
Snippets Groups Projects
Commit 2172b4f3 authored by Nils Brüggemann's avatar Nils Brüggemann
Browse files

pyic_view: Better representation of land sea mask.

parent 2c870992
No related branches found
Tags 0.4.0
No related merge requests found
Pipeline #99398 passed
......@@ -118,12 +118,12 @@ def get_data(ds, var_name, it, iz, res, lon_reg, lat_reg):
dai = pyic.interp_to_rectgrid_xr(
ds[var_name].isel(**isel_dict), res=res,
lon_reg=lon_reg, lat_reg=lat_reg,
verbose=False
verbose=False,
mask_out_of_range=False,
)
dai.attrs["depth_name"] = depth_name
return dai.where(dai!=0.)
class view(object):
def __init__(self, flist, path_grid, fig_size_fac=1.0):
# Initialize Tkinter
......@@ -467,13 +467,26 @@ class view(object):
self.X, self.Y = self.transformer.transform(self.Lon, self.Lat, direction='FORWARD')
# make plot
valid = np.isfinite(self.X) & np.isfinite(self.Y)
self.hm = pyic.shade(
#self.X[valid], self.Y[valid], self.dai.data[valid],
self.X, self.Y, self.dai.to_masked_array(),
ax=self.ax, cax=self.cax,
adjust_axlims=False,
)
)
## plot the mask of land values
#mask = self.dai.to_masked_array()
#mask[mask!=0] = np.ma.masked
#cmap = plt.cm.viridis
#cmap.set_under(color='0.7') # set color of mask
#pyic.shade(
# self.X, self.Y, mask,
# ax=self.ax, cax=0,
# clim=[2,3],
# adjust_axlims=False,
# cmap=cmap,
#)
# set ax limits
self.ax.set_xlim(self.xlim)
self.ax.set_ylim(self.ylim)
......@@ -485,7 +498,6 @@ class view(object):
else:
self.ax.set_xticks([])
self.ax.set_yticks([])
self.ax.set_facecolor('0.7')
self.update_cmap()
self.update_clim()
# set titles
......@@ -529,13 +541,13 @@ class view(object):
#self.xlim = [-4660515.349812048, 4660515.349812048]
#self.ylim = [-4658959.2511977535, 4658959.2511977535]
self.lon_reg = [-180, 180]
self.lat_reg = [50, 90]
self.lat_reg = [48, 90]
lat_reg_axlim = [60,90]
elif self.proj=="+proj=stere +lat_0=-90 +lon_0=0":
#self.xlim = [-5965970.154575175, 5965970.154575175]
#self.ylim = [-5963978.177895851, 5963978.177895851]
self.lon_reg = [-180, 180]
self.lat_reg = [-90, -40]
self.lat_reg = [-90, -35]
lat_reg_axlim = [-90,-50]
else:
self.lon_reg = [-180, 180]
......@@ -656,6 +668,7 @@ class view(object):
cmap = getattr(cmocean.cm, cmap)
else:
cmap = getattr(plt.cm, cmap)
cmap.set_bad('0.7')
self.hm[0].set_cmap(cmap)
self.canvas.draw()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment