Skip to content

Generalize OMI callback interface#60

Open
jjokella wants to merge 3 commits intotsmp-pdaf-patched-omifrom
tsmp-pdaf-patched-omi-general-callback
Open

Generalize OMI callback interface#60
jjokella wants to merge 3 commits intotsmp-pdaf-patched-omifrom
tsmp-pdaf-patched-omi-general-callback

Conversation

@jjokella
Copy link
Collaborator

  1. All observation-type calls in callback_obs_pdafomi.F90 are now conditionally executed via IF (assim_*) guards, consistently across all 8 callback subroutines.

  2. The commented-out placeholder observation type C is updated to the same pattern throughout.

  3. The assim_GRACE and assim_SM flags are now derived from the corresponding CLM update flags (clmupdate_tws /= 0 and clmupdate_swc /= 0 respectively): if a variable is not in the state vector, its observations are not assimilated.

  4. The now-unused rms_obs_GRACE and rms_obs_SM declarations in mod_assimilation.F90 are removed; these variables can be found in the respective OMI observation modules.

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.
@jjokella jjokella requested a review from s7yoewer March 13, 2026 14:12
@s7yoewer
Copy link
Collaborator

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.

@jjokella
Copy link
Collaborator Author

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 assim_GRACE. But after your comment not so sure anymore...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants