podpac.datalib.EGI
- class podpac.datalib.EGI(**kwargs: Any)
Bases:
InterpolationMixin
,DataSource
PODPAC DataSource node to access the NASA EGI Programmatic Interface https://developer.earthdata.nasa.gov/sdps/programmatic-access-docs#cmrparameters
- Parameters:
short_name (str) – Specifies the short name of the collection used to find granules for the coverage requested. Required. See https://developer.earthdata.nasa.gov/sdps/programmatic-access-docs#cmrparameters
data_key (str) – Path to the subset data layer or group for Parameter Subsetting. Required. Equivalent to “Coverage” paramter described in https://developer.earthdata.nasa.gov/sdps/programmatic-access-docs#cmrparameters
lat_key (str) – Key for latitude data in endpoint HDF-5 file. Required.
lon_key (str) – Key for longitude data in endpoint HDF-5 file. Required.
min_bounds_span (dict, optional) – Default is {}. When specified, gives the minimum bounds that will be used for a coordinate in the EGI query, so it works properly. If a user specified a lat,lon point, the EGI query may fail since the min/max values for lat/lon are the same. When specified, these bounds will be padded by the following for latitude (as an example): [lat - min_bounds_span[‘lat’] / 2, lat + min_bounds_span[‘lat’] / 2]
base_url (str, optional) – URL for EGI data endpoint. Defaults to :str:`BASE_URL` See https://developer.earthdata.nasa.gov/sdps/programmatic-access-docs#egiparameters
page_size (int, optional) – Number of granules returned from CMR per HTTP call. Defaults to 20. See https://developer.earthdata.nasa.gov/sdps/programmatic-access-docs#cmrparameters
updated_since (str, optional) – Can be used to find granules recently updated in CMR. Optional. See https://developer.earthdata.nasa.gov/sdps/programmatic-access-docs#cmrparameters
version (str, int, optional) – Data product version. Optional. Number input will be cast into a 3 character string NNN, i.e. 3 -> “003”
token (str, optional) – EGI Token from authentication process. See https://wiki.earthdata.nasa.gov/display/CMR/Creating+a+Token+Common If undefined, the node will look for a token under the setting key “token@urs.earthdata.nasa.gov”. If this setting is not defined, the node will attempt to generate a token using
self.username
andself.password
username (str, optional) – Earthdata username (https://urs.earthdata.nasa.gov/) If undefined, node will look for a username under setting key “username@urs.earthdata.nasa.gov”
password (str, optional) – Earthdata password (https://urs.earthdata.nasa.gov/) If undefined, node will look for a password under setting key “password@urs.earthdata.nasa.gov”
- data
The data array compiled from downloaded EGI data
- Type:
podpac.UnitsDataArray
Alternative Constructors
from_definition
(definition)Create podpac Node from a dictionary definition.
from_json
(s)Create podpac Node from a JSON definition.
Methods
__init__
(**kwargs)Do not overwrite me
append_file
(all_data, data)Append new data
create_output_array
(coords[, data, attrs, ...])Initialize an output data array
eval
(coordinates, **kwargs)Wraps the super Node.eval method in order to cache with the correct coordinates.
eval_group
(group)Evaluate the node for each of the coordinates in the group.
find_coordinates
()Get the available coordinates for the Node.
from_name_params
(name[, params])Create podpac Node from a WMS/WCS request.
from_url
(url)Create podpac Node from a WMS/WCS request.
get_bounds
([crs])Get the full available coordinate bounds for the Node.
get_cache
(key[, coordinates])Get cached data for this node.
get_coordinates
()Returns a Coordinates object that describes the coordinates of the data source.
get_data
(coordinates, coordinates_index)get_source_data
([bounds])Get source data, without interpolation.
get_token
()Get token for EGI interface using Earthdata credentials
get_ui_spec
([help_as_html])has_cache
(key[, coordinates])Check for cached data for this node.
init
()Overwrite this method if a node needs to do any additional initialization after the standard initialization.
load
(path)Create podpac Node from file.
probe
([lat, lon, time, alt, crs])Evaluates every part of a node / pipeline at a point and records which nodes are actively being used.
put_cache
(data, key[, coordinates, expires, ...])Cache data for this node.
read_file
(filelike)Interpret individual file from EGI zip archive.
rem_cache
(key[, coordinates, mode])Clear cached data for this node.
save
(path)Write node to file.
set_coordinates
(coordinates[, force])Set the coordinates.
set_credentials
([username, password])Shortcut to
podpac.authentication.set_crendentials()
using class memberself.hostname
for the hostnametoken_valid
()Validate EGI token set in
token
attribute of EGI Nodetrait_defaults
(*names, **metadata)Return a trait's default value or a dictionary of them
trait_has_value
(name)Returns True if the specified trait has a value.
trait_is_defined
(name)trait_values
(**metadata)A
dict
of trait names and their values.Attributes
attrs
List of node attributes
base_ref
Default reference/name in node definitions
base_url
A trait for unicode strings.
boundary
An instance of a Python dict.
cache_coordinates
A boolean (True, False) trait.
cache_ctrl
A trait whose value must be an instance of a specified class.
cache_output
A boolean (True, False) trait.
coordinate_index_type
An enum whose value must be in a given sequence.
coordinates
coverage
data
A trait which allows any value.
data_key
A trait for unicode strings.
definition
dims
datasource dims.
dtype
An enum whose value must be in a given sequence.
force_eval
A boolean (True, False) trait.
hash
interpolation
json
Definition for this node in JSON format.
json_pretty
Definition for this node in JSON format, with indentation suitable for display.
lat_key
A trait for unicode strings.
lon_key
A trait for unicode strings.
min_bounds_span
An instance of a Python dict.
nan_val
A trait which allows any value.
nan_vals
An instance of a Python list.
output
A trait for unicode strings.
outputs
An instance of a Python list.
page_size
An int trait.
password
A trait for unicode strings.
short_name
A trait for unicode strings.
source
style
A trait whose value must be an instance of a specified class.
time_key
A trait for unicode strings.
token
A trait for unicode strings.
udims
udims_overwrite
An instance of a Python list.
units
A trait for unicode strings.
updated_since
A trait for unicode strings.
username
A trait for unicode strings.
version
A trait type representing a Union type.
- Members:
- __init__(**kwargs)
- append_file(all_data, data)
Append new data
- Parameters:
all_data (podpac.UnitsDataArray) – aggregated data
data (podpac.UnitsDataArray) – new data to append
- Raises:
NotImplementedError –
- base_url
A trait for unicode strings.
- property coordinates
- property coverage
- data
A trait which allows any value.
- data_key
A trait for unicode strings.
- get_data(coordinates, coordinates_index)
- get_token()
Get token for EGI interface using Earthdata credentials
- Returns:
Token for access to EGI interface
- Return type:
str
- Raises:
ValueError – Raised if Earthdata username or password is unavailable
- classmethod get_ui_spec(help_as_html=False)
- lat_key
A trait for unicode strings.
- lon_key
A trait for unicode strings.
- min_bounds_span
An instance of a Python dict.
One or more traits can be passed to the constructor to validate the keys and/or values of the dict. If you need more detailed validation, you may use a custom validator method.
Changed in version 5.0: Added key_trait for validating dict keys.
Changed in version 5.0: Deprecated ambiguous
trait
,traits
args in favor ofvalue_trait
,per_key_traits
.
- page_size
An int trait.
- password
A trait for unicode strings.
- read_file(filelike)
Interpret individual file from EGI zip archive.
- Parameters:
filelike (filelike) – Reference to file inside EGI zip archive
- Return type:
podpac.UnitsDataArray
- Raises:
ValueError –
- set_credentials(username=None, password=None)
Shortcut to
podpac.authentication.set_crendentials()
using class memberself.hostname
for the hostname- Parameters:
username (str, optional) – Username to store in settings for self.hostname. If no username is provided and the username does not already exist in the settings, the user will be prompted to enter one.
password (str, optional) – Password to store in settings for self.hostname If no password is provided and the password does not already exist in the settings, the user will be prompted to enter one.
- short_name
A trait for unicode strings.
- property source
- time_key
A trait for unicode strings.
- token
A trait for unicode strings.
- token_valid()
Validate EGI token set in
token
attribute of EGI Node- Returns:
True if token is valid, False if token is invalid
- Return type:
Bool
- property udims
- udims_overwrite
An instance of a Python list.
- updated_since
A trait for unicode strings.
- username
A trait for unicode strings.
- version
A trait type representing a Union type.