Generalize OMI callback interface#60
Conversation
All observation-type calls in the OMI callback routines are now conditionally executed via IF (assim_GRACE) / IF (assim_SM) guards. The commented-out observation type C is updated to the same pattern throughout all subroutines.
used variables of the same name can be found inside the OMI-modules.
|
Don't know if this can be added. I can test it but I think the assim_* should always be set to true. In this way, the obs operator, initialization etc. will be called for each observation type. PDAF has internally generated some structures that depend on the number of observation types and is different for different types (e.g., the distance functions for localization etc.) and this cannot be adapted during the simulation when the observation type is switched. I kept it in the beginning from a tutorial script from PDAF but maybe the assim_GRACE and assim_SM can be removed entirely. |
|
If I understand you correctly, the behavior you need for the GRACE-DA / SM-DA assimialtion should then be reproduced by setting both to true from the inputs, right? When I checked the LST-DA (for running it alone or with SM-DA for example), I think I would have to be able to turn off the |
All observation-type calls in
callback_obs_pdafomi.F90are now conditionally executed viaIF (assim_*)guards, consistently across all 8 callback subroutines.The commented-out placeholder observation type C is updated to the same pattern throughout.
The
assim_GRACEandassim_SMflags are now derived from the corresponding CLM update flags (clmupdate_tws /= 0andclmupdate_swc /= 0respectively): if a variable is not in the state vector, its observations are not assimilated.The now-unused
rms_obs_GRACEandrms_obs_SMdeclarations inmod_assimilation.F90are removed; these variables can be found in the respective OMI observation modules.