IODA v2 format problem

We convert our AOD observations in IODA v1 with ioda-upgrade.x to obtain file in IODA v2.
This step runs fine and the new file looks as could be expected with ncdump. When we run UFO it will crash with segfault as below. The same yaml with run fine with obs that are used in the ctest.
Help/suggestions much appreciated, thanks

[h25c19:60786:0:60786] Caught signal 11 (Segmentation fault: address not m
apped to object at address (nil))

I can help debug this.

Please send me the following so I can reproduce the seg fault.

  • The ioda file
  • The ufo application you are running
    • The ufo yaml file
    • The geovals file (if one is being used)


Thanks for offering to help.
It is a little bit tricky as we don’t have geovals because we run UFO within fv3-jedi’s 3d-var.
I think the easiest to reproduce the experiment failure would be to replace the current obs file used in ctest -VV -R fv3jedi_test_tier1_hyb-3dvar_gfs_aero with the one that we produced (20 obs, matching date, same one channel etc.). Would it work if I sent it to you, put it somewhere?

Thanks for the explanation. It should work to send only the new ioda obs file. I can then add it to the test you indicated and proceed with the debugging.

Just in case I attached both v1 and v2 files

(Attachment is missing)

(Attachment is missing)

OK, will send separately

For now, the ioda-v2 reader is getting confused with the nlocs dimension being marked as an “UNLIMITED” size dimension. The issue is that the HDF5 API returns a zero (instead of the actual size) when you query the dimension size.

The file works if you change nlocs to a fixed size dimension. This can be done with the NCO ncks tool:

ncks -4 --fix_rec_dmn all input-file output-file

The “-4” option says to write the output in netcdf4 format, and the “–fix_rec_dmn all” option says to change all unlimited size dimensions to fixed size.

This is definitely a bug (unfortunately in the HDF5 library) and I’ll make sure there is a ZenHub issue submitted to allow for dimensions with unlimited size.

Thanks, we are still checking if all works as expected but so far the new AOD files in IODA v2 with limited nlocs

appear to be correct

The ZenHub issue related to this is ioda #266.

I just created and closed a ZenHub issue about this particular issue with the new AOD obs file and the workaround using ncks. I just wanted to have a record of what happened and how we fixed it.