org.autoplot.cdaweb.CDAWebDB
Class for encapsulating the functions of the database
CDAWebDB( )
CDAWeb
dbloc
getBaseUrl
getBaseUrl( String spid ) → String
returns the base URL. FTP urls in the all.xml file are converted to HTTP by replacing
"ftp://cdaweb.gsfc.nasa.gov/pub/istp/" with "https://cdaweb.gsfc.nasa.gov/sp_phys/data/"
Parameters
spid - the id like "AC_H2_CRIS"
Returns:
the base URL like https://cdaweb.gsfc.nasa.gov/sp_phys/data/ace/cris/level_2_cdaweb/cris_h2
[search for examples]
[view on GitHub]
[view on old javadoc]
getFiles
getFiles( String spid, DatumRange tr, String useWebServiceHint, ProgressMonitor mon ) → String[]
isolate the code that resolves which files need to be accessed, so that
we can use the web service when it is available.
Parameters
spid - the service provider id, like "AC_H2_CRIS"
tr - the timerange
useWebServiceHint - null means no preference, or "T", or "F" means use file template found in all.xml.
mon - progress monitor for the download
Returns:
array of strings, with filename|startTime|endTime
[search for examples]
[view on GitHub]
[view on old javadoc]
getFilesAndRangesFromWebService
getFilesAndRangesFromWebService( String spid, DatumRange tr ) → String[]
get the list of files from the web service
Parameters
spid - the id like "AC_H2_CRIS"
tr - the timerange constraint
Returns:
filename|startTime|endTime
[search for examples]
[view on GitHub]
[view on old javadoc]
getInstance
getInstance( ) → org.autoplot.cdaweb.CDAWebDB
Returns:
org.autoplot.cdaweb.CDAWebDB
[search for examples]
[view on GitHub]
[view on old javadoc]
getMasterFile
getMasterFile( String ds, ProgressMonitor p ) → String
return the name of a master file, which is used to override the metadata
of the daily files.
Parameters
ds - the name, like A1_K0_MPA
p - progress monitor
Returns:
the name (http://...) of the master file to use, which may be one of the data files.
[search for examples]
[view on GitHub]
[view on old javadoc]
getNaming
getNaming( String spid ) → String
returns the filename convention for spid, found in all.xml at /sites/datasite/dataset[@serviceprovider_ID='%s']/access
For AC_H2_CRIS, this combines the subdividedby and filenaming properties to get %Y/ac_h2_cris_%Y%m%d_?%v.cdf
Parameters
spid - the id like "AC_H2_CRIS"
Returns:
URI template like "%Y/ac_h2_cris_%Y%m%d_?%v.cdf"
[search for examples]
[view on GitHub]
[view on old javadoc]
getOriginalFilesAndRangesFromWebService
getOriginalFilesAndRangesFromWebService( String spid, DatumRange tr, ProgressMonitor mon ) → String[]
get the list of files from the web service
Parameters
spid - the service provider id, like "AC_H2_CRIS"
tr - the timerange constraint
mon - progress monitor
Returns:
filename|startTime|endTime
[search for examples]
[view on GitHub]
[view on old javadoc]
getSampleFile
getSampleFile( String spid ) → String
return a sample file from the dataset.
Parameters
spid - the id like "AC_H2_CRIS"
Returns:
a downloadable file like http://cdaweb.gsfc.nasa.gov/pub/data/ace/cris/level_2_cdaweb/cris_h2/2015/ac_h2_cris_20151115_v06.cdf
[search for examples]
[view on GitHub]
[view on old javadoc]
getSampleTime
getSampleTime( String spid ) → String
return a range of a file that could be plotted. Right now, this
just creates a FSM and gets a file.
Parameters
spid - the id like "AC_H2_CRIS"
Returns:
a String
[search for examples]
[view on GitHub]
[view on old javadoc]
getServiceProviderIds
getServiceProviderIds( ) → java.util.Map
Returns:
Map from serviceproviderId to description
[search for examples]
[view on GitHub]
[view on old javadoc]
getTimeRange
getTimeRange( String spid ) → String
return the timerange spanning the availability of the dataset.
Parameters
spid - service provider id.
Returns:
the time range (timerange_start, timerange_stop) for the dataset.
[search for examples]
[view on GitHub]
[view on old javadoc]
isOnline
isOnline( ) → boolean
returns true if the CDAWeb is on line.
Returns:
true if the CDAWeb is on line.
[search for examples]
[view on GitHub]
[view on old javadoc]
main
main( String[] args ) → void
4.2 seconds before getting description. After too!
Parameters
args - a java.lang.String[]
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
maybeRefresh
maybeRefresh( ProgressMonitor mon ) → void
refresh no more often than once per 10 minutes. We don't need to refresh
often. Note it only takes a few seconds to refresh, plus download time,
but we don't want to pound on the CDAWeb server needlessly.
Parameters
mon - a ProgressMonitor
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
refresh
refresh( ProgressMonitor mon ) → void
Download and parse the all.xml to create a database of available products.
Parameters
mon - progress monitor for the task
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]