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.
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.