nsidc.iceflow.data package¶
- class nsidc.iceflow.data.BLATM1BDataset(**data)¶
Bases:
ATM1BDataset
- Parameters:
data (
Any
)
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- short_name: ATM1BShortName¶
- version: Literal['1']¶
- class nsidc.iceflow.data.Dataset(**data)¶
Bases:
BaseModel
- Parameters:
data (
Any
)
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- short_name: DatasetShortName¶
- property subdir_name¶
- version: str¶
- class nsidc.iceflow.data.GLAH06Dataset(**data)¶
Bases:
Dataset
- Parameters:
data (
Any
)
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- short_name: DatasetShortName¶
- version: Literal['034']¶
- class nsidc.iceflow.data.ILATM1BDataset(**data)¶
Bases:
ATM1BDataset
- Parameters:
data (
Any
)
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- short_name: ATM1BShortName¶
- version: Literal['1', '2']¶
- class nsidc.iceflow.data.ILVIS2Dataset(**data)¶
Bases:
Dataset
- Parameters:
data (
Any
)
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- short_name: DatasetShortName¶
- version: Literal['1', '2']¶
Submodules¶
nsidc.iceflow.data.atm1b module¶
nsidc.iceflow.data.fetch module¶
- nsidc.iceflow.data.fetch.download_iceflow_results(iceflow_search_results, output_dir)¶
- Parameters:
iceflow_search_results (
list
[IceflowSearchResult
])output_dir (
Path
)
- Return type:
- nsidc.iceflow.data.fetch.find_iceflow_data(*, datasets=[ILATM1BDataset(short_name='ILATM1B', version='1'), ILATM1BDataset(short_name='ILATM1B', version='2'), BLATM1BDataset(short_name='BLATM1B', version='1'), ILVIS2Dataset(short_name='ILVIS2', version='1'), ILVIS2Dataset(short_name='ILVIS2', version='2'), GLAH06Dataset(short_name='GLAH06', version='034')], **search_kwargs)¶
Find iceflow-compatible data using search kwargs.
search_kwargs are passed to earthaccess.search_data, allowing for CMR-supported filters (see https://cmr.earthdata.nasa.gov/search/site/docs/search/api.html)
- Parameters:
- Return type:
nsidc.iceflow.data.glah06 module¶
- nsidc.iceflow.data.glah06.glah06_data(filepath)¶
Return an GLAH06 file DataFrame, performing all necessary conversions / augmentation on the data.
- Parameters:
filepath (
Path
)- Return type:
DataFrame
[GLAH06Schema
]
nsidc.iceflow.data.ilvis2 module¶
- class nsidc.iceflow.data.ilvis2.Field(name, type, scale_factor)¶
Bases:
tuple
See: https://lvis.gsfc.nasa.gov/Data/Data_Structure/DataStructure_LDS104.html
Note: The LVIS site (above) and NSIDC data files use different names for the fields. The list of field tuples below matches the documentation on the LVIS site. This is done to simplify the code and ease the mental mapping of the v1.0.4 and v2.0.2b fields to the database. The mapping between the names used below (same as LVIS docs) and the field names used in the NSIDC files is:
CLON = LONGITUDE_CENTROID CLAT = LATITUDE_CENTROID ZC = ELEVATION_CENTROID GLON = LONGITUDE_LOW GLAT = LATITUDE_LOW ZG = ELEVATION_LOW HLON = LONGITUDE_HIGH HLAT = LATITUDE_HIGH ZH = ELEVATION_HIGH
- name¶
Alias for field number 0
- scale_factor¶
Alias for field number 2
- type¶
Alias for field number 1
- nsidc.iceflow.data.ilvis2.ILVIS2_V104_FIELDS = [('LFID', None, <class 'numpy.uint64'>), ('SHOTNUMBER', None, <class 'numpy.uint64'>), ('TIME', 1000000, <class 'numpy.uint64'>), ('CLON', 1000000, <class 'numpy.int64'>), ('CLAT', 1000000, <class 'numpy.int64'>), ('ZC', 1000000, <class 'numpy.int64'>), ('GLON', None, <class 'numpy.float64'>), ('GLAT', None, <class 'numpy.float64'>), ('ZG', None, <class 'numpy.float64'>), ('HLON', 1000000, <class 'numpy.int64'>), ('HLAT', 1000000, <class 'numpy.int64'>), ('ZH', 1000000, <class 'numpy.int64'>)]¶
//lvis.gsfc.nasa.gov/Data/Data_Structure/DataStructure_LDS202.html Note: Version 2.0.2b was used for Greenland 2017
- Type:
See
- Type:
https
- nsidc.iceflow.data.ilvis2.ILVIS2_V202b_FIELDS = [('LFID', None, <class 'numpy.uint64'>), ('SHOTNUMBER', None, <class 'numpy.uint64'>), ('TIME', 1000000, <class 'numpy.uint64'>), ('GLON', None, <class 'numpy.float64'>), ('GLAT', None, <class 'numpy.float64'>), ('ZG', None, <class 'numpy.float64'>), ('HLON', 1000000, <class 'numpy.int64'>), ('HLAT', 1000000, <class 'numpy.int64'>), ('ZH', 1000000, <class 'numpy.int64'>), ('TLON', 1000000, <class 'numpy.int64'>), ('TLAT', 1000000, <class 'numpy.int64'>), ('ZT', 1000000, <class 'numpy.int64'>), ('RH10', 1000, <class 'numpy.int64'>), ('RH15', 1000, <class 'numpy.int64'>), ('RH20', 1000, <class 'numpy.int64'>), ('RH25', 1000, <class 'numpy.int64'>), ('RH30', 1000, <class 'numpy.int64'>), ('RH35', 1000, <class 'numpy.int64'>), ('RH40', 1000, <class 'numpy.int64'>), ('RH45', 1000, <class 'numpy.int64'>), ('RH50', 1000, <class 'numpy.int64'>), ('RH55', 1000, <class 'numpy.int64'>), ('RH60', 1000, <class 'numpy.int64'>), ('RH65', 1000, <class 'numpy.int64'>), ('RH70', 1000, <class 'numpy.int64'>), ('RH75', 1000, <class 'numpy.int64'>), ('RH80', 1000, <class 'numpy.int64'>), ('RH85', 1000, <class 'numpy.int64'>), ('RH90', 1000, <class 'numpy.int64'>), ('RH95', 1000, <class 'numpy.int64'>), ('RH96', 1000, <class 'numpy.int64'>), ('RH97', 1000, <class 'numpy.int64'>), ('RH98', 1000, <class 'numpy.int64'>), ('RH99', 1000, <class 'numpy.int64'>), ('RH100', 1000, <class 'numpy.int64'>), ('AZIMUTH', 1000, <class 'numpy.int64'>), ('INCIDENT_ANGLE', 1000, <class 'numpy.int64'>), ('RANGE', 1000, <class 'numpy.int64'>), ('COMPLEXITY', 1000, <class 'numpy.int64'>), ('CHANNEL_ZT', None, <class 'numpy.uint8'>), ('CHANNEL_ZG', None, <class 'numpy.uint8'>), ('CHANNEL_RH', None, <class 'numpy.uint8'>)]¶
Names of fields that contain longitude values. The values in these fields will be shifted to the range [-180,180).
- nsidc.iceflow.data.ilvis2.ilvis2_data(filepath, coordinate_set='low_mode')¶
Return the ilvis2 data given a filepath.
- Parameters:
fn – The filename (str) to read. This can be a file in the LVIS2 v1.0.4 or v2.0.2b format. https://lvis.gsfc.nasa.gov/Data/Data_Structure/DataStructure_LDS104.html https://lvis.gsfc.nasa.gov/Data/Data_Structure/DataStructure_LDS202.html
filepath (
Path
)coordinate_set (
Literal
['low_mode'
,'high_mode'
,'centroid'
,'highest_signal'
])
- Returns:
The ilvis2 (pandas.DataFrame) data.
- Return type:
data
nsidc.iceflow.data.models module¶
- class nsidc.iceflow.data.models.ATM1BDataset(**data)¶
Bases:
Dataset
- Parameters:
data (
Any
)
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- short_name: ATM1BShortName¶
- class nsidc.iceflow.data.models.ATM1BSchema(*args, **kwargs)¶
Bases:
CommonDataColumnsSchema
- class nsidc.iceflow.data.models.CommonDataColumnsSchema(*args, **kwargs)¶
Bases:
DataFrameModel
- dataset: str | None¶
- class nsidc.iceflow.data.models.Dataset(**data)¶
Bases:
BaseModel
- Parameters:
data (
Any
)
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- short_name: DatasetShortName¶
- property subdir_name¶
- version: str¶
- class nsidc.iceflow.data.models.GLAH06Schema(*args, **kwargs)¶
Bases:
CommonDataColumnsSchema
- d_DEM_elv: Series[float]¶
- d_ElevBiasCorr: Series[float]¶
- d_FRir_cldtop: Series[float]¶
- d_FRir_intsig: Series[float]¶
- d_GmC: Series[float]¶
- d_RecNrgAll: Series[float]¶
- d_SigBegOff: Series[float]¶
- d_SigEndOff: Series[float]¶
- d_TrshRngOff: Series[float]¶
- d_TxNrg: Series[float]¶
- d_beamAzimuth: Series[float]¶
- d_beamCoelv: Series[float]¶
- d_cntRngOff: Series[float]¶
- d_d2refTrk: Series[float]¶
- d_dTrop: Series[float]¶
- d_deltaEllip: Series[float]¶
- d_elev: Series[float]¶
- d_eqElv: Series[float]¶
- d_erElv: Series[float]¶
- d_gdHt: Series[float]¶
- d_isRngOff: Series[float]¶
- d_kurt2: Series[float]¶
- d_lat: Series[float]¶
- d_ldElv: Series[float]¶
- d_ldRngOff: Series[float]¶
- d_lon: Series[float]¶
- d_maxRecAmp: Series[float]¶
- d_maxSmAmp: Series[float]¶
- d_ocElv: Series[float]¶
- d_ocRngOff: Series[float]¶
- d_pctSAT: Series[float]¶
- d_poTide: Series[float]¶
- d_refRng: Series[float]¶
- d_reflctUC: Series[float]¶
- d_sDevNsOb1: Series[float]¶
- d_satElevCorr: Series[float]¶
- d_satNrgCorr: Series[float]¶
- d_siRngOff: Series[float]¶
- d_skew2: Series[float]¶
- d_wTrop: Series[float]¶
- class nsidc.iceflow.data.models.ILVIS2Schema(*args, **kwargs)¶
Bases:
CommonDataColumnsSchema
ILVIS2 Data Schema.
Note that ILVIS2 data contain multiple sets of lat/lon/elev.
GLAT/GLON/GZ represent the center of the lowest mode in the waveform.
HLAT/HLON/HZ represent the center of the highest detected mode within the waveform. Both of these sets of lat/lon/elev are available across v1 and v2 ILVIS2 data.
ILVIS V1 data: * CLAT/CLON/ZC represent the centroid of the corresponding LVIS Level-1B waveform.
ILVIS V2 data: * TLAT/TLON/ZT, which represent the highest detected signal
- class nsidc.iceflow.data.models.IceflowSearchResult(**data)¶
Bases:
BaseModel
- Parameters:
data (
Any
)
- dataset: Dataset¶
- granules: list[DataGranule]¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- property total_size_mb¶
nsidc.iceflow.data.read module¶
- nsidc.iceflow.data.read.read_iceflow_datafile(filepath, ilvis2_coordinate_set='low_mode')¶
Read the given iceflow datafile.
- Parameters:
- Return type:
Union
[DataFrame
[CommonDataColumnsSchema
],DataFrame
[ATM1BSchema
],DataFrame
[ILVIS2Schema
],DataFrame
[GLAH06Schema
]]
- nsidc.iceflow.data.read.read_iceflow_datafiles(filepaths, ilvis2_coordinate_set='low_mode')¶
- Parameters:
- Return type:
DataFrame
[CommonDataColumnsSchema
]
nsidc.iceflow.data.supported_datasets module¶
- class nsidc.iceflow.data.supported_datasets.BLATM1BDataset(**data)¶
Bases:
ATM1BDataset
- Parameters:
data (
Any
)
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- short_name: ATM1BShortName¶
- version: Literal['1']¶
- class nsidc.iceflow.data.supported_datasets.GLAH06Dataset(**data)¶
Bases:
Dataset
- Parameters:
data (
Any
)
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- short_name: DatasetShortName¶
- version: Literal['034']¶
- class nsidc.iceflow.data.supported_datasets.ILATM1BDataset(**data)¶
Bases:
ATM1BDataset
- Parameters:
data (
Any
)
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- short_name: ATM1BShortName¶
- version: Literal['1', '2']¶
- class nsidc.iceflow.data.supported_datasets.ILVIS2Dataset(**data)¶
Bases:
Dataset
- Parameters:
data (
Any
)
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- short_name: DatasetShortName¶
- version: Literal['1', '2']¶