Read Bathy data from ERDDAP


In [3]:
!conda install basemap --yes


Fetching package metadata: ......
Solving package specifications: ......................
Package plan for installation in environment /home/usgs/miniconda/envs/ioos:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    cycler-0.9.0               |           py27_0           6 KB  defaults
    matplotlib-1.5.0           |      np110py27_0         8.2 MB  defaults
    basemap-1.0.7              |      np110py27_0       119.0 MB  defaults
    ------------------------------------------------------------
                                           Total:       127.1 MB

The following NEW packages will be INSTALLED:

    cycler:     0.9.0-py27_0      defaults

The following packages will be UPDATED:

    basemap:    1.0.7-np19py27_0  defaults --> 1.0.7-np110py27_0 defaults
    matplotlib: 1.4.3-np110py27_2 defaults --> 1.5.0-np110py27_0 defaults

The following packages will be DOWNGRADED:

    geos:       3.4.2-1           ioos     --> 3.3.3-0           defaults

Fetching packages ...
cycler-0.9.0-p 100% |################################| Time: 0:00:00   4.46 MB/s
matplotlib-1.5 100% |################################| Time: 0:00:00  11.46 MB/s
basemap-1.0.7- 100% |################################| Time: 0:00:04  26.89 MB/s
Extracting packages ...
[      COMPLETE      ]|###################################################| 100%
Unlinking packages ...
[      COMPLETE      ]|###################################################| 100%
Linking packages ...
[      COMPLETE      ]|###################################################| 100%

In [1]:
import numpy as np
import matplotlib.pyplot as plt
import urllib
import netCDF4
from mpl_toolkits.basemap import Basemap


---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-a083b115749a> in <module>()
      3 import urllib
      4 import netCDF4
----> 5 from mpl_toolkits.basemap import Basemap

/home/usgs/miniconda/envs/ioos/lib/python2.7/site-packages/mpl_toolkits/basemap/__init__.py in <module>()
     35 import numpy as np
     36 import numpy.ma as ma
---> 37 import _geoslib
     38 import functools
     39 

ImportError: libgeos-3.3.3.so: cannot open shared object file: No such file or directory

In [ ]:
# Definine the domain of interest
minlat = 42
maxlat = 45
minlon = -67
maxlon = -61.5
isub = 5
 
# Read data from: http://coastwatch.pfeg.noaa.gov/erddap/griddap/usgsCeSrtm30v6.html
# using the netCDF output option
base_url='http://coastwatch.pfeg.noaa.gov/erddap/griddap/usgsCeSrtm30v6.nc?'
query='topo[(%f):%d:(%f)][(%f):%d:(%f)]' % (maxlat,isub,minlat,minlon,isub,maxlon)
url = base_url+query
print url

In [ ]:
# store data in NetCDF file
file='usgsCeSrtm30v6.nc'
urllib.urlretrieve (url, file)

In [ ]:
# open NetCDF data in 
nc = netCDF4.Dataset(file)
ncv = nc.variables
print ncv.keys()

In [ ]:
lon = ncv['longitude'][:]
lat = ncv['latitude'][:]
lons, lats = np.meshgrid(lon,lat)
topo = ncv['topo'][:,:]

In [ ]:
# Create map
m = Basemap(projection='mill', llcrnrlat=minlat,urcrnrlat=maxlat,llcrnrlon=minlon, urcrnrlon=maxlon,resolution='h')
fig1 = plt.figure(figsize=(10,8))
cs = m.pcolormesh(lons,lats,topo,cmap=plt.cm.jet,latlon=True)
m.drawcoastlines()
m.drawmapboundary()
plt.title('SMRT30 - Bathymetry/Topography')
cbar = plt.colorbar(orientation='horizontal', extend='both')
cbar.ax.set_xlabel('meters')
 
# Save figure (without 'white' borders)
plt.savefig('topo.png', bbox_inches='tight')