With the latest release of the NetCDF Expansion Pack (NEP), the netcdf-c
library is able to read (without user code changes) all NASA, ESA, and JAXA
planetary mission data.
Once you install NEP, no code changes are required to use this capability -
your Fortran, C, or python netCDF programs will transparently be able to
read the data.
Here's part of an ncdump of a data file from the Perseverance rover on Mars:
ncdump -h ZLF_1737_0821123689_910RAD_N0830000ZCAM00091_1100LMJ01.xml
netcdf ZLF_1737_0821123689_910RAD_N0830000ZCAM00091_1100LMJ01 {
// global attributes:
:logical_identifier =
"urn:nasa:pds:mars2020_mastcamz_ops_calibrated:data:zlf_1737_0821123689_910rad_n0830000zcam00091_1100lmj"
;
:version_id = "1.0" ;
:title = "Mars2020 MCZ_LEFT RAD Observational Product -
zlf_1737_0821123689_910rad_n0830000zcam00091_1100lmj" ;
:information_model_version = "1.16.0.0" ;
:product_class = "Product_Observational" ;
:Alias_List = "ZLF_1737_0821123689_910RAD_N0830000ZCAM00091_1100LMJ01\n
VICAR PRODUCT_ID" ;
:comment = "Observational Intent" ;
:start_date_time = "2026-01-08T06:17:24.867Z" ;
:stop_date_time = "2026-01-08T06:17:24.868Z" ;
:local_mean_solar_time = "07:37:15.982" ;
:local_true_solar_time = "08:15:41" ;
:solar_longitude = "203.134" ;
:purpose = "Science" ;
:processing_level = "Calibrated" ;
:wavelength_range = "Visible" ;
:domain = "Surface" ;
:discipline_name = "Imaging" ;
:name = "Mars2020" ;
:type = "Mission" ;
:lid_reference = "urn:nasa:pds:context:investigation:mission.mars2020" ;
:reference_type = "data_to_investigation" ;
:Mission_Area = "Surface Mission\n 821123732.867\n 821123732.896\n
1\n 1737\n Sol-01737M07:37:15.982\n 08:15:41\n 1737\n
203.134\n A" ;
:Discipline_Area =
"zlf_1737_0821123689_910rad_n0830000zcam00091_1100lmj\n..." ;
group: ZLF_1737_0821123689_910RAD_N0830000ZCAM00091_1100LMJ01.IMG {
dimensions:
Band = 3 ;
Line = 1200 ;
Sample = 1648 ;
variables:
short data(Band, Line, Sample) ;
data :scaling_factor = "5.0e-06" ;
data :value_offset = "0.0" ;
} // group ZLF_1737_0821123689_910RAD_N0830000ZCAM00091_1100LMJ01.IMG
}
"Alexander wept - for there were no more worlds to conquer." - Hans Gruber
Keep on netCDFing!
Ed Hartnett