In [1]:
import os
import netCDF4
import gspread
import pyugrid
In [2]:
c = gspread.Client(auth=('rsignell@yahoo.com', 'sura_ftp'))
In [3]:
c.login()
In [4]:
# testing
w = c.open_by_key(key='0AjAHlPEEP_ujdGRPMU9ZSkF5b2xJU0E5X3lSU2ZTdXc')
# corbitt's
w = c.open_by_key(key='0AmAEVaW9GoHedFZHU3Z4c1pyMkozWmJxSUlGSDk3eVE')
In [5]:
wks = w.worksheet('Testbed2')
In [6]:
rows = wks.get_all_records(empty2zero=False)
In [7]:
# DAP URLs look like:
a = 'http://testbed2.sura.org/thredds/dodsC/alldata/inundation_tropical/MDL_SLOSH/Hurricane_Ike_final_run_egm3/00_dir.ncml'
# Data URLs look like
b = '/data/testbed/inundation_tropical/MDL_SLOSH/Hurricane_Ike_final_run_egm3/00_dir.ncml'
In [8]:
print a.split('/',6)[-1]
print b.split('/',3)[-1]
In [9]:
dap_path='http://testbed2.sura.org/thredds/dodsC/alldata'
In [9]:
In [6]:
wrow = 1
for row in rows:
wrow += 1
path = os.path.join(row['Data path'],row['NCML Link'])
dataset = path.split('/',3)[-1]
print path
dap_url = os.path.join(dap_path,dataset)
print dap_url
In [55]:
wcol = wks.find('NCML working').col
In [56]:
wrow = 1
for row in rows:
wrow += 1
path = os.path.join(row['Data path'],row['NCML Link'])
dataset = path.split('/',3)[-1]
dap_url = os.path.join(dap_path,dataset)
try:
nc = netCDF4.Dataset(dap_url)
try:
pyugrid.UGrid.from_ncfile(dap_url)
wks.update_cell(wrow,wcol,'ugrid')
except:
wks.update_cell(wrow,wcol,'grid')
except:
wks.update_cell(wrow,wcol,'fail')
In [61]:
url='http://testbed2.sura.org/thredds/dodsC/alldata/inundation_tropical/UND_ADCIRC/Hurricane_Ike_2D_final_run_with_waves/00_dir.ncml'
In [4]:
url='http://testbed2.sura.org/thredds/dodsC/alldata/inundation_tropical/USF_FVCOM/SWAN_Ike_final_run_with_2DSurge/01_dir.ncml'
In [5]:
ug = pyugrid.UGrid.from_ncfile(url)
In [64]:
nc = netCDF4.Dataset(url)
ncvars = nc.variables
In [65]:
meshname = 'adcirc_mesh'
meshatt_names = ncvars[meshname].ncattrs()
In [66]:
meshatt_names
Out[66]:
In [68]:
meshatts = {}
for attname in meshatt_names:
meshatts[attname] = ncvars[meshname].getncattr(attname)
assert meshatts['cf_role'] == 'mesh_topology'
In [69]:
node_coordinates = meshatts.get('node_coordinates', None)
In [70]:
node_coordinates
Out[70]:
In [72]:
type(node_coordinates)
Out[72]:
In [78]:
node_coord_var=node_coordinates.split()[0].strip()
In [82]:
foo=ncvars[node_coord_var]
In [83]:
len(foo)
Out[83]:
In [2]:
dap_url='http://129.252.139.124/thredds/dodsC/testAll/sciwms.nc'
In [3]:
pyugrid.UGrid.from_ncfile(dap_url)
In [12]:
dap_url='http://testbed2.sura.org/thredds/dodsC/alldata/inundation_extratropical/UND_ADCIRC/2010_2D_final_run_tide_only/00_dir.ncml'
dap_url='http://testbed2.sura.org/thredds/dodsC/alldata/inundation_extratropical/UMASS_FVCOM/2005_fine_grid1/current/00_dir.ncml'
pyugrid.UGrid.from_ncfile(dap_url)
Out[12]:
In [3]:
dap_url='http://testbedapps-dev.sura.org/thredds/dodsC/alldata/Inundation/umass/fvcom_extratropical/runs/2005_fine_grid1/wave/output/00_dir.ncml'
In [5]:
foo=pyugrid.UGrid.from_ncfile(dap_url)
In [6]:
foo.nodes.len()
In [8]:
foo.num_vertices
Out[8]:
In [9]:
a=foo.nodes
In [10]:
type(a)
Out[10]:
In [11]:
shape(a)
Out[11]:
In [ ]: