Skip to content

handling empty observation #645

@mer-a-o

Description

@mer-a-o

The check_obs function in SWELL checks whether an observation file is empty. If it is, the observation is then removed from the observation list
to prevent the file from being used downstream.

This behavior causes issues in cases where only one type of observation is being assimilated and some assimilation cycles contain no observations. For example, TEMPO observations are only available during the daytime, so each day includes at least one assimilation window without any observations. In these cases, SWELL builds an incomplete JEDI executable YAML, leading to a runtime failure:

...
observations:
  observers: []
...

A more robust approach could be to create empty observation files during the ingestion (storage) step in R2D2. These files would then be fetched during assimilation, and the JEDI executable YAML could be configured in the same way as for non-empty files.

JEDI can handle empty observation files by generating empty feedback files and storing them in R2D2. This would simplify the SWELL logic and eliminate the need for special checks and conditional handling.

This approach might also be preferable since the ignore_missing capability was removed in R2D2 v3. However, users would need to be aware that empty observation files will not trigger any distinct warning messages, so additional validation or logging may be helpful.

I'm opening this issue so we can discuss and identify the best way moving forward. Please let me know what you think.

Metadata

Metadata

Labels

core developmentdesign related issues and improvements

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions