Hi Davide,
indeed proper documentation for the APEX format is missing… I’ll briefly explain the structure of the files.
APEX files are NetCDF files with the following structure (CDL template):
example for the radiance:
netcdf apex_example {
dimensions:
col_dim = 10 ;
row_dim = 100 ;
spectral_dim = 1280 ;
variables:
double radiance(row_dim, col_dim, spectral_dim) ;
radiance:comment = "Elastic earthshine radiance" ;
double radiance_wavelength(spectral_dim) ;
radiance_wavelength:Units = "nm" ;
double solar_zenith_angle(row_dim, col_dim) ;
double viewing_zenith_angle(row_dim, col_dim) ;
double relative_azimuth_angle(row_dim, col_dim) ;
double latitude(row_dim, col_dim) ;
double longitude(row_dim, col_dim) ;
}
example CDL template for the reference:
netcdf apex_reference {
dimensions:
col_dim = 10 ;
spectral_dim = 1280 ;
variables:
double reference_radiance(col_dim, spectral_dim) ;
reference_radiance:comment = "Reference solar irradiance" ;
double reference_wavelength(spectral_dim) ;
reference_wavelength:Units = "nm" ;
}
You can save these templates to files apex_example.cdl
and apex_ref_example.cdl
, and generate empty example netCDF files with the command ncgen <template_file.cdl> -o example_file.nc
.
The dimension parameters given here are just examples, and the values should be adjusted to fit the PRISMA instrument. The meaning of the dimensions is:
spectral_dim
: number of spectral bands in your data (from your question, I understand it would be 240 in your case?). This number must be the same between the radiance and reference files used in the analysis.
col_dim
: this is meant for imager type instruments such as OMI or Tropomi, where the instrument consists of an array of detectors (if you are familiar with Tropomi L1B data, this equivalent to the pixel
or ground_pixel
dimensions of Tropomi). Qdoas will perform a separate wavelength / instrument response function calibration for every column. I’m not familiar with PRISMA, but if it is not an imager, col_dim
should be 1. Again, col_dim
of reference and radiance files should match.
row_dim
: this is the number of observations per column (think of scanline
in the Tropomi L1B).
The meaning of the variables:
radiance
: the observed sepctra you want to analyse
radiance_wavelength
: initial wavelength calibration for the radiance. Qdoas can optimize this using shift/stretch, but the initial values should be reasonable. A single wavelength calibration is expected for all rows and columns.
*_angle
, latitude
, longitude
: observation geometry and location
reference_radiance
: the radiance with respect to which you analyse the absorption in your DOAS analysis (can be solar irradiance or another radiance, depending on your method).
reference_wavelength
: initial wavelength calibration for your reference.
I hope this helps you get started, please ask if anything is unclear.
Thomas