utilities
Download and management utilities for syncing time and auxiliary files
Adds additional functions to the GRACE/GRACE-FO
gravity_toolkit.utilitiesmoduleCan list a directory from the Goddard Earth Sciences Data and Information Server Center (GES DISC)
General Methods
- model_harmonics.utilities.get_git_revision_hash(refname: str = 'HEAD', short: bool = False)[source]
Get the
githash value for a particular reference- Parameters:
- refname: str, default HEAD
Symbolic reference name
- short: bool, default False
Return the shorted hash value
- model_harmonics.utilities.get_git_status()[source]
Get the status of a
gitrepository as a boolean value
- model_harmonics.utilities._create_default_ssl_context() SSLContext[source]
Creates the default SSL context
- model_harmonics.utilities._create_ssl_context_no_verify() SSLContext[source]
Creates an SSL context for unverified connections
- model_harmonics.utilities._set_ssl_context_options(context: SSLContext) None[source]
Sets the default options for the SSL context
- model_harmonics.utilities.gesdisc_list(HOST: str | list, username: str | None = None, password: str | None = None, build: bool = False, timeout: int | None = None, urs: str = 'urs.earthdata.nasa.gov', parser=<lxml.etree.HTMLParser object>, format: str = '%Y-%m-%d %H:%M', pattern: str = '', sort: bool = False)[source]
List a directory on NASA GES DISC servers
- Parameters:
- HOST: str or list
remote https host
- username: str or NoneType, default None
NASA Earthdata username
- password: str or NoneType, default None
NASA Earthdata password
- build: bool, default True
Build opener with NASA Earthdata credentials
- timeout: int or NoneType, default None
timeout in seconds for blocking operations
- urs: str, default ‘urs.earthdata.nasa.gov’
Earthdata login URS 3 host
- parser: obj, default lxml.etree.HTMLParser()
HTML parser for
lxml- format: str, default ‘%Y-%m-%d %H:%M’
format for input time string
- pattern: str, default ‘’
regular expression pattern for reducing list
- sort: bool, default False
sort output list
- Returns:
- colnames: list
column names in a directory
- collastmod: list
last modification times for items in the directory
- model_harmonics.utilities.cmr_filter_json(search_results: dict, endpoint: str = 'data', request_type: str = 'application/x-netcdf')[source]
Filter the CMR json response for desired data files
- Parameters:
- search_results: dict
json response from CMR query
- endpoint: str, default ‘data’
url endpoint type
'data': NASA Earthdata https archive'opendap': NASA Earthdata OPeNDAP archive's3': NASA Earthdata Cumulus AWS S3 bucket
- request_type: str, default ‘application/x-netcdf’
data type for reducing CMR query
- Returns:
- granule_names: list
Model granule names
- granule_urls: list
Model granule urls
- granule_mtimes: list
Model granule modification times
- model_harmonics.utilities.cmr(short_name: str, version: str | int | None = None, start_date: str | None = None, end_date: str | None = None, provider: str | None = 'GES_DISC', endpoint: str | None = 'data', request_type: str | None = 'application/x-netcdf', verbose: bool = False, fid=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)[source]
Query the NASA Common Metadata Repository (CMR) for model data
- Parameters:
- short_name: str
Model shortname in the CMR system
- version: str or NoneType, default None
Model version
- start_date: str or NoneType, default None
starting date for CMR product query
- end_date: str or NoneType, default None
ending date for CMR product query
- provider: str, default ‘GES_DISC’
CMR data provider
'GES_DISC': GESDISC'GESDISCCLD': GESDISC Cumulus'PODAAC': PO.DAAC Drive'POCLOUD': PO.DAAC Cumulus
- endpoint: str, default ‘data’
url endpoint type
'data': NASA Earthdata https archive'opendap': NASA Earthdata OPeNDAP archive's3': NASA Earthdata Cumulus AWS S3 bucket
- request_type: str, default ‘application/x-netcdf’
data type for reducing CMR query
- verbose: bool, default False
print CMR query information
- fid: obj, default sys.stdout
open file object to print if verbose
- Returns:
- granule_names: list
Model granule names
- granule_urls: list
Model granule urls
- granule_mtimes: list
Model granule modification times
- model_harmonics.utilities.build_request(short_name: str, dataset_version: str | int, url: str | None, host: str | None = None, variables: list | None = [], format: str | None = 'bmM0Lw', service: str | None = 'L34RS_MERRA2', version: str | None = '1.02', bbox: list | None = [-90, -180, 90, 180], **kwargs)[source]
Build requests for the GES DISC subsetting API
- Parameters:
- short_name: str
Model shortname in the CMR system
- dataset_version: str
Model version
- url: str
url for granule returned by the CMR system
- host: str or NoneType, default None
Override host provider for GES DISC subsetting
Default is host provider given by CMR request
- variables: list, default []
Variables for product to subset
- format: str, default ‘bmM0Lw’
Coded output format for GES DISC subsetting API
- service: str, default ‘L34RS_MERRA2’
GES DISC subsetting API service
- version: str, default ‘1.02’
GES DISC subsetting API service version
- bbox: list, default [-90,-180,90,180]
Bounding box to spatially subset
- **kwargs: dict, default {}
Additional parameters for GES DISC subsetting API
- Returns:
- request_url: str
Formatted url for GES DISC subsetting API