import threddsclient
cat = threddsclient.read_url('http://www.esrl.noaa.gov/psd/thredds/catalog.xml')
print cat.name, cat.url
print 'num refs =', len(cat.references)
print 'num datasets =', len(cat.datasets)
THREDDS PSD Test Catalog http://www.esrl.noaa.gov/psd/thredds/catalog.xml num refs = 2 num datasets = 0
for ref in cat.references:
print ref.name
Datasets Aggregations
cat2 = cat.references[0].follow()
print cat2.name, cat2.url
print 'num refs =', len(cat2.references)
print 'num datasets =', len(cat2.datasets)
Datasets http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/catalog.xml num refs = 0 num datasets = 1
ds = cat2.datasets[0]
print ds.name, ds.url, ds.is_collection(), len(ds.datasets), len(ds.references)
Datasets http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/catalog.xml?dataset=Datasets True 0 49
for i in range(0, len(ds.references)):
print i, ds.references[i].name, ds.references[i].url
0 20thC_ReanV2 http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/20thC_ReanV2/catalog.xml 1 20thC_ReanV2c http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/20thC_ReanV2c/catalog.xml 2 COBE http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/COBE/catalog.xml 3 COBE2 http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/COBE2/catalog.xml 4 CarbonTracker http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/CarbonTracker/catalog.xml 5 NARR http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/NARR/catalog.xml 6 Timeseries http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/Timeseries/catalog.xml 7 cmap http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/cmap/catalog.xml 8 coads http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/coads/catalog.xml 9 cpc_us_hour_precip http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/cpc_us_hour_precip/catalog.xml 10 cpc_us_precip http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/cpc_us_precip/catalog.xml 11 cpcsoil http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/cpcsoil/catalog.xml 12 cru http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/cru/catalog.xml 13 dai_pdsi http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/dai_pdsi/catalog.xml 14 ghcncams http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ghcncams/catalog.xml 15 ghcngridded http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ghcngridded/catalog.xml 16 gistemp http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/gistemp/catalog.xml 17 godas http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/godas/catalog.xml 18 gpcc http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/gpcc/catalog.xml 19 gpcp http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/gpcp/catalog.xml 20 icoads http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/icoads/catalog.xml 21 interp_OLR http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/interp_OLR/catalog.xml 22 kaplan_sst http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/kaplan_sst/catalog.xml 23 mlost http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/mlost/catalog.xml 24 mlostv3b http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/mlostv3b/catalog.xml 25 msu http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/msu/catalog.xml 26 ncep http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep/catalog.xml 27 ncep.marine http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.marine/catalog.xml 28 ncep.pac.ocean http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.pac.ocean/catalog.xml 29 ncep.reanalysis http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.reanalysis/catalog.xml 30 ncep.reanalysis.dailyavgs http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.reanalysis.dailyavgs/catalog.xml 31 ncep.reanalysis.derived http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.reanalysis.derived/catalog.xml 32 ncep.reanalysis2 http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.reanalysis2/catalog.xml 33 ncep.reanalysis2.dailyavgs http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.reanalysis2.dailyavgs/catalog.xml 34 ncep.reanalysis2.derived http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.reanalysis2.derived/catalog.xml 35 noaa.ersst http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/noaa.ersst/catalog.xml 36 noaa.oisst.v2 http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/noaa.oisst.v2/catalog.xml 37 noaa.oisst.v2.derived http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/noaa.oisst.v2.derived/catalog.xml 38 noaa.oisst.v2.highres http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/noaa.oisst.v2.highres/catalog.xml 39 noaa_hrc http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/noaa_hrc/catalog.xml 40 noaamergedtemp http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/noaamergedtemp/catalog.xml 41 nodc.woa94 http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/nodc.woa94/catalog.xml 42 nodc.woa98 http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/nodc.woa98/catalog.xml 43 olrcdr http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/olrcdr/catalog.xml 44 prec http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/prec/catalog.xml 45 precl http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/precl/catalog.xml 46 snowcover http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/snowcover/catalog.xml 47 udel.airt.precip http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/udel.airt.precip/catalog.xml 48 uninterp_OLR http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/uninterp_OLR/catalog.xml
cat3 = ds.references[33].follow()
print cat3.name, cat3.url, len(cat3.references), len(cat3.datasets)
ncep.reanalysis2.dailyavgs http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.reanalysis2.dailyavgs/catalog.xml 0 1
for ref in cat3.flat_references():
print ref.name, ref.url
gaussian_grid http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.reanalysis2.dailyavgs/gaussian_grid/catalog.xml pressure http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.reanalysis2.dailyavgs/pressure/catalog.xml surface http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.reanalysis2.dailyavgs/surface/catalog.xml
cat4 = cat3.flat_references()[2].follow()
print cat4.name, cat4.url, len(cat4.flat_datasets())
surface http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.reanalysis2.dailyavgs/surface/catalog.xml 109
print '{0.name}, {0.url}, {0.modified}, {0.bytes}'.format(cat4.flat_datasets()[0])
hgt.sfc.nc, http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/ncep.reanalysis2.dailyavgs/surface/catalog.xml?dataset=Datasets/ncep.reanalysis2.dailyavgs/surface/hgt.sfc.nc, 2010-08-19T21:22:40Z, 24030
print cat4.flat_datasets()[0].download_url()
http://www.esrl.noaa.gov/psd/thredds/fileServer/Datasets/ncep.reanalysis2.dailyavgs/surface/hgt.sfc.nc
print cat4.flat_datasets()[0].opendap_url()
http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis2.dailyavgs/surface/hgt.sfc.nc
print cat4.download_urls()[0]
http://www.esrl.noaa.gov/psd/thredds/fileServer/Datasets/ncep.reanalysis2.dailyavgs/surface/hgt.sfc.nc
print cat4.opendap_urls()[0]
http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis2.dailyavgs/surface/hgt.sfc.nc