Skip to content

Feature request: Inquiry about implementing EnOI (Ensemble Optimal Interpolation) in DART #1094

@smalltomato1129

Description

@smalltomato1129

Dear DART Development Team,

I am interested in implementing the Ensemble Optimal Interpolation (EnOI) method within DART, but I am finding it challenging to map the EnOI logic onto the existing ensemble-based filtering structure.

Since EnOI typically relies on a stationary/static ensemble to estimate the background error covariance, I am writing to seek your professional guidance on the following technical questions:

Ensemble Handling: What is the best way to introduce a static ensemble into the filter process? Should I modify the initialization of state_handle, or is there a way to bypass the dynamic ensemble update steps?

Covariance Projection: In model_mod.f90 (specifically model_interpolate), if I wish to use a fixed variance/covariance field, how should I properly project this static information into the observation space for use by obs_increment?

Code Modification Strategy: To maintain EnOI characteristics (i.e., updating the ensemble mean while preserving the spread representative of the static sample), which subroutines in assim_tools_mod.f90 or filter_main.f90 would you recommend focusing on?

Existing Templates: Are there any existing configurations or "OI-like" implementations in DART that I could use as a reference?

I have been studying the code for filter_assim and obs_increment, but I still feel uncertain about how to proceed. I would be extremely grateful for any high-level advice or documentation you could share to help me get started.

Thank you very much for your time and for maintaining such a powerful tool for the community.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions