ROMS Glider

Virtual glider extraction: (lon,lat,time) interpolation from ROMS files


In [1]:
%matplotlib inline
from okean.roms import glider
from okean import netcdf
import numpy as np
import matplotlib.pyplot as plt

Lets use some ROMS-ESPRESSO output and load info from a glider:


In [14]:
froms='http://tds.marine.rutgers.edu/thredds/dodsC/roms/espresso/2009_da/his'
#fglider='http://tds.marine.rutgers.edu/thredds/dodsC/cool/glider/mab/Gridded/20101025T1600_marcoos_ru22_active.nc'
fglider='http://tds.marine.rutgers.edu:8080/thredds/dodsC/cool/glider/all/ru23-20121025T1944.ncCFMA.nc3.nc'
x=netcdf.use(fglider,'longitude')
y=netcdf.use(fglider,'latitude')
t=netcdf.nctime(fglider,'time')

In [3]:
a=glider.RomsGlider(froms,x,y,t)
fig = plt.figure(figsize=(12,12))
a.plot()


<matplotlib.figure.Figure at 0x7f730869a590>

Extract and plot the glider data


In [9]:
z=netcdf.use(fglider,'depth')
v=netcdf.use(fglider,'temperature')

In [15]:
print v.shape
print z.shape
print t.shape


(1560, 362)
(1560, 362)
(1560,)

In [18]:
#t=np.tile(t,(362,1)).T
t.shape


Out[18]:
(1560, 362)

In [22]:
vmin=10.0
vmax=17.0
fig = plt.figure(figsize=(12,4))
plt.pcolormesh(t,-z.T,v.T,vmin=vmin,vmax=vmax)
plt.colorbar()

wk=plt.matplotlib.dates.WeekdayLocator(byweekday=MO)
fmt=plt.matplotlib.dates.DateFormatter('%d-%b-%Y')
ax=plt.gca()
ax.xaxis.set_major_locator(wk)
ax.xaxis.set_major_formatter(fmt)
plt.title('Observed Glider data: ru23-20121025T1944)');


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-22-3d1f431f82c8> in <module>()
      5 plt.colorbar()
      6 
----> 7 wk=plt.matplotlib.dates.WeekdayLocator(byweekday=MO)
      8 fmt=plt.matplotlib.dates.DateFormatter('%d-%b-%Y')
      9 ax=plt.gca()

NameError: name 'MO' is not defined

Extract and plot a ROMS variable:


In [ ]:
v=a.extract('salt',method='fast')
z=a.depth('salt')
t2=np.tile(a.t[:,np.newaxis],(1,v.shape[1]))

In [ ]:
fig = plt.figure(figsize=(12,4))
plt.pcolormesh(t2,z,v,vmin=vmin,vmax=vmax)
plt.colorbar()

wk=plt.matplotlib.dates.WeekdayLocator()
fmt=plt.matplotlib.dates.DateFormatter('%d-%b-%Y')
ax=plt.gca()
ax.xaxis.set_major_locator(wk)
ax.xaxis.set_major_formatter(fmt)
plt.title('Virtual Glider data from ROMS');

In [ ]: