siphon.ncss)
In [1]:
from siphon.ncss import NCSS
subset = NCSS('http://thredds.cencoos.org/thredds/ncss/'
'G1_SST_US_WEST_COAST.nc')
In [2]:
[value for value in dir(subset) if not value.startswith('__')]
Out[2]:
In [3]:
[value for value in dir(subset.metadata) if not value.startswith('__')]
Out[3]:
In [4]:
subset.metadata.time_span
Out[4]:
In [5]:
subset.metadata.lat_lon_box
Out[5]:
In [6]:
subset.variables
Out[6]:
In [7]:
subset.metadata.variables
Out[7]:
In [8]:
query = subset.query()
In [9]:
query.lonlat_box(east=-120, north=50, south=35, west=-135)
Out[9]:
In [10]:
from datetime import datetime
query.time(datetime(2013, 12, 31))
Out[10]:
In [11]:
variable = 'analysed_sst'
query.variables(variable)
Out[11]:
In [12]:
query.spatial_query, query.time_query
Out[12]:
In [13]:
import time
start_time = time.time()
data = subset.get_data(query)
elapsed = time.time() - start_time
print('{:.2f} s'.format(elapsed))
In [14]:
type(data)
Out[14]:
In [15]:
data.filepath()
Out[15]:
In [16]:
import numpy.ma as ma
lon = data['lon'][:]
lat = data['lat'][:]
temp = data[variable][:]
temp = ma.masked_invalid(temp.squeeze())
time = data['time']
time = ''.join(time[:][0].astype(str).tolist())
In [17]:
lon[0], lon[-1], lat[0], lat[-1], time
Out[17]:
In [18]:
%matplotlib inline
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
from cmocean import cm
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
fig, ax = plt.subplots(figsize=(9, 9),
subplot_kw=dict(projection=ccrs.PlateCarree()))
ax.coastlines(resolution='50m')
cs = ax.pcolormesh(lon, lat, temp, cmap=cm.thermal)
cbar = fig.colorbar(cs, extend='both', shrink=0.75)
gl = ax.gridlines(draw_labels=True)
gl.xlabels_top = gl.ylabels_right = False
gl.xformatter = LONGITUDE_FORMATTER
gl.yformatter = LATITUDE_FORMATTER