When I use JEDI-MPAS for simulating observations, I encounter the following error report. According to the prompt, I think there is a problem with my XML file streams.atmposhere, but I don’t know what is wrong.
----------------------------------------------------------------------
Beginning MPAS-atmosphere Output Log File for task 0 of 1
Opened at 2022/07/06 21:03:43
----------------------------------------------------------------------
Using default double-precision reals
Reading namelist from file ./DATA/120km/namelist.atmosphere
----- Setting up physics suite 'mesoscale_reference' -----
config_microp_scheme = mp_wsm6
config_convection_scheme = cu_ntiedtke
config_pbl_scheme = bl_ysu
config_gwdo_scheme = bl_ysu_gwdo
config_radt_cld_scheme = cld_fraction
config_radt_lw_scheme = rrtmg_lw
config_radt_sw_scheme = rrtmg_sw
config_sfclayer_scheme = sf_monin_obukhov
config_lsm_scheme = noah
----- Setting up package variables -----
mp_kessler_in = F
mp_thompson_in = F
mp_wsm6_in = T
cu_grell_freitas_in = F
cu_kain_fritsch_in = F
cu_tiedtke_in = T
bl_mynn_in = F
bl_ysu_in = T
Reading streams configuration from file ./DATA/120km/streams.atmosphere
CRITICAL ERROR: stream xml get attribute failed: ./DATA/120km/streams.atmosphere
-----------------------------------------
Total log messages printed:
Output messages = 29
Warning messages = 0
Error messages = 0
Critical error messages = 1
-----------------------------------------
Logging complete. Closing file at 2022/07/06 21:03:43
When I set config_do_restart=true, this error was solved. But then when I ran it, I encountered a new error as follows. It looks like the program can not find the hdf library, but I did not encounter such a bug in the Hofx tutorial. I use obs2ioda.x to get my observation data. Is there a problem with the observations I converted?
Radiosonde vars: 4 variables: air_temperature, eastward_wind, northward_wind, specific_humidity
HDF5-DIAG: Error detected in HDF5 (1.12.0) MPI-process 0:
#000: ../../src/H5D.c line 296 in H5Dopen2(): unable to open dataset
major: Dataset
minor: Can't open object
#001: ../../src/H5VLcallback.c line 1974 in H5VL_dataset_open(): dataset open failed
major: Virtual Object Layer
minor: Can't open object
#002: ../../src/H5VLcallback.c line 1941 in H5VL__dataset_open(): dataset open failed
major: Virtual Object Layer
minor: Can't open object
#003: ../../src/H5VLnative_dataset.c line 125 in H5VL__native_dataset_open(): unable to open dataset
major: Dataset
minor: Can't open object
#004: ../../src/H5Dint.c line 1482 in H5D__open_name(): not found
major: Dataset
minor: Object not found
#005: ../../src/H5Gloc.c line 462 in H5G_loc_find(): can't find object
major: Symbol table
minor: Object not found
#006: ../../src/H5Gtraverse.c line 855 in H5G_traverse(): internal path traversal failed
major: Symbol table
minor: Object not found
#007: ../../src/H5Gtraverse.c line 744 in H5G__traverse_real(): component not found
major: Symbol table
minor: Object not found
==> destruct MPAS corelist and domain: 0
Exception: Reason: An exception occurred inside ioda while opening a variable.
name: virtual_temperature@ObsError
I don’t know what cause the HDF related error. But we have recently encountered the same error message HDF5-DIAG: Error detected in HDF5 (1.12.0) MPI-process 0: when the observation file was unintentionally removed. So, can you please double check if the path for the observation file ( under obs space.obsdatain.obsfilein key) is correct in your yaml file ? This might not be a reason for the error because the error message also said Exception: Reason: An exception occurred inside ioda while opening a variable.
The other thing is… JEDI-MPAS 1.0.0 requires IODA Version 2 format for the observation files. So I wonder which version of obs2ioda.x is used to generate your obs files: obs2ioda-v1 or obs2ioda-v2. Also please check if there is an executable bin/ioda-upgrade.x under your build directory. This executable converts the IODA V1 format into V2 format.
I started with obs2iodav1 and ioda-upgrade.x is executable. Then I tried obs2iodav2 to convert the observation file and the error report became the following:
Radiosonde vars: 4 variables: air_temperature, eastward_wind, northward_wind, specific_humidity
WARNING: ObsSpace::createVariables: Skipping variable due to an unexpected data type for variable: MetaData/dateTime
==> destruct MPAS corelist and domain: 0
Exception: Reason: An exception occurred inside ioda while opening a variable.
name: MetaData/dateTime
source_column: 0
source_filename: /fs1/home/tianxj/yhluo/jedi/mpas-bundle/ioda/src/engines/ioda/src/ioda/Has_Variables.cpp
source_function: virtual ioda::Variable ioda::detail::Has_Variables_Base::open(const string&) const
source_line: 107
Exception: oops::HofX3D<MPAS, UFO and IODA observations> terminating...
According to the error report, it seems to point to an extra variable of dataTime in Metadata. I checked the converted sondes_obs_2017081000.h5 file with ncdump and found that MetaData does.