start = dt.date(2015,3,9) end = dt.date(2015,3,9) hour0 = 0 flist = noaa_coops.make_server_filelist('dbofs',hour0,start,end=end,test_exist=False) var_map = { 'time':'ocean_time', } subset = 0 slat = 38.8 nlat = 39.2 wlon = -75.4 elon = -74.8 fnum = 0 dbofs = curv_grid.roms(flist[0]) dbofs.get_dimensions(var_map) dbofs.data['lon'] = dbofs.data['lon_psi'] dbofs.data['lat'] = dbofs.data['lat_psi'] if subset: dbofs.subset([slat,wlon,nlat,elon]) dbofs.get_grid_info(yindex=dbofs.y,xindex=dbofs.x) else: dbofs.get_grid_info() tlen = len(dbofs.data['time']) for f in flist:
# specify local file or opendap url #sdate = dt.date(2015,3,8) #edate = dt.date(2014,5,18) #flist = noaa_coops.make_server_filelist('tbofs',0,sdate,test_exist=False) #print "Number of files to aggregate: ", len(flist) one_file = 'http://opendap.co-ops.nos.noaa.gov/thredds/dodsC/NOAA/TBOFS/MODELS/201503/nos.tbofs.fields.n000.20150308.t00z.nc' #We pick which variable we want to map to as this is sometimes not clear in virtual aggregations var_map = { 'time': 'ocean_time', } tbofs = curv_grid.roms(one_file) tbofs.get_dimensions(var_map) #nctools.show_tbounds(tbofs.Dataset.variables['ocean_time']) # subset nl = 28.2 sl = 27.67 wl = -82.5 el = -82.2 #tbofs.subset([sl,wl,nl,el],lat='lat_psi',lon='lon_psi') #tbofs.data['lon'] = tbofs.data['lon_psi'] #tbofs.data['lat'] = tbofs.data['lat_psi'] #get grid info
from libgoods import curv_grid, data_files_dir import os ''' Sample script to retrieve data from Arakawa c-grid type model ''' url = 'http://oos.soest.hawaii.edu/thredds/dodsC/hioos/roms_native/hiog/ROMS_Oahu_Regional_Ocean_Model_best.ncd' #HI ROMS output does not include psi grid -- create from rho grid var_map = { 'time': 'time', } hiroms = curv_grid.roms(url) hiroms.get_dimensions(var_map) hiroms.data['lon'] = hiroms.data['lon_psi'] hiroms.data['lat'] = hiroms.data['lat_psi'] #Only download last five timesteps ti = [len(hiroms.data['time']) - 5, len(hiroms.data['time']), 1] hiroms.subset([21.223, -158.387, 21.647, -157.799], lat='lat_psi', lon='lon_psi') hiroms.get_grid_info(xindex=hiroms.x, yindex=hiroms.y) hiroms.get_data(var_map, tindex=ti, xindex=hiroms.x, yindex=hiroms.y) ofn = os.path.join(data_files_dir, 'hiroms_example.nc') #hiroms.data['lon_ss'] = hiroms.data['lon_psi_ss'] #hiroms.data['lat_ss'] = hiroms.data['lat_psi_ss']
# specify local file or opendap url #sdate = dt.date(2015,3,8) #edate = dt.date(2014,5,18) #flist = noaa_coops.make_server_filelist('tbofs',0,sdate,test_exist=False) #print "Number of files to aggregate: ", len(flist) one_file = 'http://opendap.co-ops.nos.noaa.gov/thredds/dodsC/NOAA/TBOFS/MODELS/201503/nos.tbofs.fields.n000.20150308.t00z.nc' #We pick which variable we want to map to as this is sometimes not clear in virtual aggregations var_map = { 'time':'ocean_time', 'z':'s_rho', } tbofs = curv_grid.roms(one_file) tbofs.get_dimensions(var_map) #nctools.show_tbounds(tbofs.Dataset.variables['ocean_time']) #get grid info tbofs.get_grid_info(is3d=True) print('Getting data') #get_data interps to rho grid unless tinterp=False tbofs.get_data(var_map) print('writing data') tbofs.write_nc(os.path.join(data_files_dir,'tbofs_3d.nc'),is3d=True)
# specify local file or opendap url # sdate = dt.date(2019,6,10) # edate = dt.date(2019,6,11) # flist = noaa_coops.make_server_filelist('tbofs',0,sdate,test_exist=False) # print("Number of files to aggregate: ", len(flist)) # flist = 'http://opendap.co-ops.nos.noaa.gov/thredds/dodsC/NOAA/TBOFS/MODELS/201906/nos.tbofs.fields.n006.20190605.t12z.nc' flist = 'C:\\Users\\amy.macfadyen\\Documents\\COOPS_tests\\nos.tbofs.fields.n006.20190605.t12z.nc' #We pick which variable we want to map to as this is sometimes not clear in virtual aggregations var_map = { 'time': 'ocean_time', } tbofs = curv_grid.roms(flist) print('getting dimensions') tbofs.get_dimensions(var_map) #nctools.show_tbounds(tbofs.Dataset.variables['ocean_time']) print('getting grid info') #get grid info tbofs.get_grid_info(is3d=False) print('Getting data') #get_data interps to rho grid unless interp=False tbofs.get_data(var_map, interp=False) print('writing data') tbofs.write_nc_native(os.path.join(data_files_dir, 'tbofs.nc'))
from libgoods import curv_grid, data_files_dir, nctools import os ''' Sample script to retrieve data from Arakawa c-grid type model ''' grid_file = 'grid_Arctic_1.nc' data_file = 'arctic_avg2_0004.nc' bbox = [65, 170, 87, 240] subset = True var_map = { 'time': 'ocean_time', } arcroms = curv_grid.roms(os.path.join(data_files_dir, grid_file)) arcroms.get_dimensions(var_map, get_time=False) if subset: arcroms.subset(bbox, lat='lat_psi', lon='lon_psi') arcroms.get_grid_info(xindex=arcroms.x, yindex=arcroms.y) print arcroms.x, arcroms.y else: arcroms.get_grid_info() arcroms.update(os.path.join(data_files_dir, data_file)) arcroms.get_dimensions(var_map, get_xy=False) if subset: arcroms.get_data(var_map, xindex=arcroms.x, yindex=arcroms.y) else:
from libgoods import curv_grid, data_files_dir, nctools import os ''' Sample script to retrieve data from Arakawa c-grid type model ''' grid_file = 'grid_Arctic_1.nc' data_file = 'arctic_avg2_0004.nc' bbox = [65,170,87,240] subset = True var_map = { 'time':'ocean_time', } arcroms = curv_grid.roms(os.path.join(data_files_dir,grid_file)) arcroms.get_dimensions(var_map,get_time=False) if subset: arcroms.subset(bbox,lat='lat_psi',lon='lon_psi') arcroms.get_grid_info(xindex=arcroms.x,yindex=arcroms.y) print arcroms.x, arcroms.y else: arcroms.get_grid_info() arcroms.update(os.path.join(data_files_dir,data_file)) arcroms.get_dimensions(var_map,get_xy=False) if subset:
from libgoods import curv_grid, data_files_dir import os ''' Sample script to retrieve data from Arakawa c-grid type model ''' url = 'http://oos.soest.hawaii.edu/thredds/dodsC/hioos/roms_native/hiog/ROMS_Oahu_Regional_Ocean_Model_best.ncd' #HI ROMS output does not include psi grid -- create from rho grid var_map = { 'time':'time', } hiroms = curv_grid.roms(url) hiroms.get_dimensions(var_map) hiroms.data['lon'] = hiroms.data['lon_psi'] hiroms.data['lat'] = hiroms.data['lat_psi'] #Only download last five timesteps ti=[len(hiroms.data['time'])-5,len(hiroms.data['time']),1] hiroms.subset([21.223,-158.387,21.647,-157.799],lat='lat_psi',lon='lon_psi') hiroms.get_grid_info(xindex=hiroms.x,yindex=hiroms.y) hiroms.get_data(var_map,tindex=ti,xindex=hiroms.x,yindex=hiroms.y) ofn = os.path.join(data_files_dir,'hiroms_example.nc') #hiroms.data['lon_ss'] = hiroms.data['lon_psi_ss'] #hiroms.data['lat_ss'] = hiroms.data['lat_psi_ss'] hiroms.data['lonc'] = hiroms.data['lon_rho']