ORAC-CC / orac

Optimal Retrieval of Aerosol and Cloud
GNU General Public License v3.0
28 stars 19 forks source link

ERROR floating-point exceptions are signalling: IEEE_INVALID_FLAG #93

Closed pdebuyl closed 5 months ago

pdebuyl commented 5 months ago

Hello ORAC team,

I believe I have the necessary files to run ORAC. I have an issue though during execution.

(py311) pdebuyl@server:/data/pdebuyl/reference-code/orac/tools> python orac.py /data/pdebuyl/ORAC_DATA/MSG4_202001011300/H-000-MSG4__-MSG4________-_________-EPI______-202001011300-__ --no_snow_corr --use_camel_emis
 Beginning orac_preproc
 ERROR: read_mcd43c3(), problem with gdgridinfo():           -1
Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG
STOP 1
ERROR) /data/pdebuyl/reference-code/orac/pre_processing/orac_preproc /data/pdebuyl/ORAC_DATA/MSG4_202001011300/pre/orac_preproc.rm5mr4da.driver failed with error code 1. None

The output with the -V option:

 <<<<<<<<<<<<<<< Entering get_surface_reflectance()
 cyear: 2020
 cdoy: 001
 modis_surf_path: /data/pdebuyl/ORAC_DATA/modis/mcd43cX/2020/MCD43C3.A2020001.061.2020347165130.hdf
 modis_brdf_path: /data/pdebuyl/ORAC_DATA/modis/mcd43cX/2020/MCD43C1.A2020001.061.2020347163156.hdf
 occci_path:      
 assume_full_path:  T
 include_full_brdf:  T
 use_occci:  F
 use_swansea_clim:  F  0.300000012    
 nsea, nland:      6397379     3883442
 get_surface_reflectance(): Beginning LAND SURFACE REFLECTANCE calculation
 n channels required for land reflectance:            3
 intrument bands:            1           2           3           4           9          10
 MCD43CX bands selected:            1           2           6
 find appropriate files:
 modis_surf_path: /data/pdebuyl/ORAC_DATA/modis/mcd43cX/2020/MCD43C3.A2020001.061.2020347165130.hdf
 modis_brdf_path: /data/pdebuyl/ORAC_DATA/modis/mcd43cX/2020/MCD43C1.A2020001.061.2020347163156.hdf
 modis_surf_path_file: /data/pdebuyl/ORAC_DATA/modis/mcd43cX/2020/MCD43C3.A2020001.061.2020347165130.hdf
 modis_brdf_path_file: /data/pdebuyl/ORAC_DATA/modis/mcd43cX/2020/MCD43C1.A2020001.061.2020347163156.hdf
 <<<<<<<<<<<<<<< Entering read_mcd43c3()
 path_to_file: /data/pdebuyl/ORAC_DATA/modis/mcd43cX/2020/MCD43C3.A2020001.061.2020347165130.hdf
 nbands:            3
 bands:            1           2           6
 Reading: /data/pdebuyl/ORAC_DATA/modis/mcd43cX/2020/MCD43C3.A2020001.061.2020347165130.hdf
 gridlist = MCD_CMG_BRDF_0.05Deg length =           20
 File and grid IDs are:           -1          -1
 ERROR: read_mcd43c3(), problem with gdgridinfo():           -1
Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG
STOP 1
ERROR) /data/pdebuyl/reference-code/orac/pre_processing/orac_preproc /data/pdebuyl/ORAC_DATA/MSG4_202001011300/pre/orac_preproc.6d0qjzc4.driver failed with error code 1. None

Is someone familiar with this error in the context of mcd43cx data ?

adamcpovey commented 5 months ago

The underlying error there is gdopen() returned -1 (seen on the line File and grid IDs are: -1 -1). That means that the file /data/pdebuyl/ORAC_DATA/modis/mcd43cX/2020/MCD43C3.A2020001.061.2020347165130.hdf either doesn't exist, is corrupted, or you don't have permission to access it. Have you checked it opens in panoply?

pdebuyl commented 5 months ago

Hello @adamcpovey thanks for the reply. The file exists, belongs to me, and opens in panoply :-s

Is there a sanity check for HDF4 files? (I am more familiar with HDF5)

adamcpovey commented 5 months ago

I tend to use panoply for such checks. (Strictly, you're looking at an HDF4-EOS file which has slightly different format requirements.)

Does it work for other days?

My best guess is some weird server thing that's preventing you from accessing the file rather than an ORAC problem, as I have exactly that MCD43 file and it worked fine when running the default cloud retrieval on MOD021KM.A2020001.1705.061.2020002184203.hdf,

<<<<<<<<<<<<<<< Entering get_surface_reflectance()
 cyear: 2020
 cdoy: 001
 modis_surf_path: /gws/nopw/j04/nceo_generic/cloud_ecv/data_in/modis/MCD43C3_MODIS_Albedo_neu/V006/2020/MCD43C3.A2020001.006.2020011014923.hdf
 modis_brdf_path: /gws/nopw/j04/nceo_generic/cloud_ecv/data_in/modis/MCD43C1_MODIS_BRDF_neu/V006/2020/MCD43C1.A2020001.006.2020011014507.hdf
 occci_path:      
 assume_full_path:  T
 include_full_brdf:  T
 use_occci:  F
 use_swansea_clim:  F  0.300000012    
 nsea, nland:       775979     1986181
 get_surface_reflectance(): Beginning LAND SURFACE REFLECTANCE calculation
 n channels required for land reflectance:            3
 intrument bands:            1           2           6          20          31          32
 MCD43CX bands selected:            1           2           6
 find appropriate files:
 modis_surf_path: /gws/nopw/j04/nceo_generic/cloud_ecv/data_in/modis/MCD43C3_MODIS_Albedo_neu/V006/2020/MCD43C3.A2020001.006.2020011014923.hdf
 modis_brdf_path: /gws/nopw/j04/nceo_generic/cloud_ecv/data_in/modis/MCD43C1_MODIS_BRDF_neu/V006/2020/MCD43C1.A2020001.006.2020011014507.hdf
 modis_surf_path_file: /gws/nopw/j04/nceo_generic/cloud_ecv/data_in/modis/MCD43C3_MODIS_Albedo_neu/V006/2020/MCD43C3.A2020001.006.2020011014923.hdf
 modis_brdf_path_file: /gws/nopw/j04/nceo_generic/cloud_ecv/data_in/modis/MCD43C1_MODIS_BRDF_neu/V006/2020/MCD43C1.A2020001.006.2020011014507.hdf
 <<<<<<<<<<<<<<< Entering read_mcd43c3()
 path_to_file: /gws/nopw/j04/nceo_generic/cloud_ecv/data_in/modis/MCD43C3_MODIS_Albedo_neu/V006/2020/MCD43C3.A2020001.006.2020011014923.hdf
 nbands:            3
 bands:            1           2           6
 Reading: /gws/nopw/j04/nceo_generic/cloud_ecv/data_in/modis/MCD43C3_MODIS_Albedo_neu/V006/2020/MCD43C3.A2020001.006.2020011014923.hdf
 gridlist = MCD_CMG_BRDF_0.05Deg length =           20
 File and grid IDs are:       524288     4194304
 Reading variable: Albedo_WSA_Band1
 Reading variable: Albedo_WSA_Band2
 Reading variable: Albedo_WSA_Band6
 >>>>>>>>>>>>>>> Leaving read_mcd43c3()
pdebuyl commented 5 months ago

The file is on a local disk. I am now thinking of a HDF4 or HDFEOS linking issue, as I can't get a short fortran sample to load the file either. Closing this, as it seems indeed not related to ORAC.

Thanks for checking this!