utilities

Download and management utilities for syncing time and auxiliary files

  • Adds additional modules to the ICESat-2 icesat2_toolkit.utilities

Source code

General Methods

grounding_zones.utilities.get_data_path(relpath: list | str | Path)[source]

Get the absolute path within a package from a relative path

Parameters:
relpath: list, str or pathlib.Path

relative path

grounding_zones.utilities.import_dependency(name: str, extra: str = '', raise_exception: bool = False)[source]

Import an optional dependency

Adapted from pandas.compat._optional::import_optional_dependency

Parameters:
name: str

Module name

extra: str, default “”

Additional text to include in the ImportError message

raise_exception: bool, default False

Raise an ImportError if the module is not found

Returns:
module: obj

Imported module

grounding_zones.utilities._create_default_ssl_context() SSLContext[source]

Creates the default SSL context

grounding_zones.utilities._create_ssl_context_no_verify() SSLContext[source]

Creates an SSL context for unverified connections

grounding_zones.utilities._set_ssl_context_options(context: SSLContext) None[source]

Sets the default options for the SSL context

grounding_zones.utilities.pgc_list(HOST: str | list, timeout: int | None = None, context: ~ssl.SSLContext = <ssl.SSLContext object>, parser=<lxml.etree.HTMLParser object>, format: str = '%Y-%m-%d %H:%M', pattern: str = '', sort: bool = False)[source]

List a directory on Polar Geospatial Center (PGC) servers

Parameters:
HOST: str or list

remote https host path

timeout: int or NoneType, default None

timeout in seconds for blocking operations

context: obj, default ssl.SSLContext(ssl.PROTOCOL_TLS)

SSL context for urllib opener object

parser: obj, default lxml.etree.HTMLParser()

HTML parser for lxml

formatt: 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

colerror: list

notification for list error

grounding_zones.utilities.cmr(product: str | None = None, release: str | None = None, bbox: list | None = None, start_date: str | None = None, end_date: str | None = None, provider: str = 'NSIDC_ECS', endpoint: str = 'data', readable_granule_name: str | list = [], readable_granule_pattern: str = '', request_type: str = 'application/x-hdf(eos|5)', opener=None, verbose: bool = False, fid=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)[source]

Query the NASA Common Metadata Repository (CMR)

Parameters:
product: str or NoneType, default None

Data product to query

release: str or NoneType, default None

Data release to query

bbox: list or NoneType, default None

Spatial bounding box for CMR query in form (lon_min, lat_min, lon_max, lat_max)

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 ‘NSIDC_ECS’

CMR data provider

endpoint: str, default ‘data’

url endpoint type

  • 'data': NASA Earthdata https archive

  • 'opendap': NASA Earthdata OPeNDAP archive

  • 's3': NASA Earthdata Cumulus AWS S3 bucket

readable_granule_name: str or list, default []

readable granule name(s) to query from CMR

readable_granule_pattern: str, default ‘’

regular expression pattern for reducing list

request_type: str, default ‘application/x-hdfeos’

data type for reducing CMR query

opener: obj or NoneType, default None

OpenerDirector instance

verbose: bool, default False

print file transfer information

fid: obj, default sys.stdout

open file object to print if verbose

Returns:
producer_granule_ids: list

Data granules

granule_urls: list

Data granule urls