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]