-
Notifications
You must be signed in to change notification settings - Fork 39
Open
Description
The SMAP tutoral 2.0 read_and_plot_smap_data uses h5py
and numpy
. The whole notebook could be simplified and streamlined by using xarray
.
If we stick with h5py
a lot of the existing code could also be streamlined and made more transparent.
For example, code cell 3 involves a lot of code to get a list of groups and dataset paths, which can be simplified to the following.
with h5py.File(smap_files[0], 'r') as root:
list_of_names = []
root.visit(list_of_names.append)
list_of_names
['Metadata',
'Metadata/AcquisitionInformation',
'Metadata/AcquisitionInformation/platform',
'Metadata/AcquisitionInformation/platformDocument',
'Metadata/AcquisitionInformation/radar',
'Metadata/AcquisitionInformation/radarDocument',
'Metadata/AcquisitionInformation/radiometer',
'Metadata/AcquisitionInformation/radiometerDocument',
'Metadata/DataQuality',
'Metadata/DataQuality/CompletenessOmission',
'Metadata/DataQuality/DomainConsistency',
'Metadata/DatasetIdentification',
'Metadata/Extent',
'Metadata/GridSpatialRepresentation',
'Metadata/GridSpatialRepresentation/Column',
'Metadata/GridSpatialRepresentation/GridDefinition',
'Metadata/GridSpatialRepresentation/GridDefinitionDocument',
Code cell 5 that gets soil_moisture
for the AM pass could be rewritten to use the path to the dataset
with h5py.File(smap_files[0], 'r') as root:
soil_moisture = root['Soil_Moisture_Retrieval_Data_AM/soil_moisture'][:]
soil_moisture
array([[-9999., -9999., -9999., ..., -9999., -9999., -9999.],
[-9999., -9999., -9999., ..., -9999., -9999., -9999.],
[-9999., -9999., -9999., ..., -9999., -9999., -9999.],
...,
[-9999., -9999., -9999., ..., -9999., -9999., -9999.],
[-9999., -9999., -9999., ..., -9999., -9999., -9999.],
[-9999., -9999., -9999., ..., -9999., -9999., -9999.]],
dtype=float32)
But as I note, this is much, much simpler with xarray.
Metadata
Metadata
Assignees
Labels
No labels