nansencenter / DAPPER

Data Assimilation with Python: a Package for Experimental Research

Home Page:https://nansencenter.github.io/DAPPER

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Observations object

Balinus opened this issue · comments

Hello!

I'm trying to understand the Chronology object with respect to observations. I am not sure how to build it with the following constraints:

  • Our observations are not "periodic" : most years, but not always, observations are available on February 15th, March 1st-15th, April 1st
  • Rest of the year, there are no observations
  • Some year, we have continuous obs between February and May

Some context : We want to use Dapper with an external model (hydrologic model) that we linked by defining dxdt (do we formally need a step function?)

Ah, sorry, non-uniform time sequences are not supported in DAPPER at the moment.

It is in principle a trivial thing, but as you can see from the DA algorithm implementations, they mostly use a loop that checks if the remainder is zero, of the current time step divided by the number of steps between observations.

We hope to improve this situation in the future.

Feel free to extract (copy/paste) the algorithms and test cases you use and adapt them to your needs.

Thanks!

Could we simply check in the loop if there is an observation and if so, do an assimilation step. If no observations, continue the loop to next timestep? Not sure where I should look.

Yes, you could very well implement your own looping and cycling, not using Chronology. But the diagnostic/stats time series are pre-allocated with a given length based on the given Chronology, which is likely to cause headache.

ok, thanks! I'll see if I can write something that short-circuit the Chronology object. I guess I'll have to copy/paste and adapt each DA method I want to test?

I'm afraid so.