You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The generated observation ensemble from PDAF generated in PDAF_enkf_obs_ensemble.F90 can vary with number of processors used in ParFlow.
The differences in the observation ensembles for different processor configurations come from possible differences in the ordering of the observations in the observation vector. F.e. for ParFlow states, the observation order given in the observation input file is re-arranged such that observation in the domain of processor 0 come first, then observation in processor 1 and so on.
On the other hand, the random numbers used to generate the ensemble always have the same order, independent of the domain decomposition or the number of processors.
Current status
For ensuring reproducible results, the user should make sure that observations are ordered in the same way, when delivered to PDAF for different domain decompositions.
Fixing this issue in the current code is not feasible due to:
It would need implementations in both the PDAF-library and interface.
Due to interface changes, the change would not be propagated into the main PDAF, but would rather stay TSMP-PDAF-specific, which should be avoided
We plan to move to PDAF-OMI
Plan
We resolve this issue, once PDAF-OMI is adopted in TSMP(2)-PDAF.
In PDAF-OMI, observations could receive an index as an optional attribute and this index could be used to order the random generations.
The generated observation ensemble from PDAF generated in
PDAF_enkf_obs_ensemble.F90
can vary with number of processors used in ParFlow.The differences in the observation ensembles for different processor configurations come from possible differences in the ordering of the observations in the observation vector. F.e. for ParFlow states, the observation order given in the observation input file is re-arranged such that observation in the domain of processor
0
come first, then observation in processor1
and so on.On the other hand, the random numbers used to generate the ensemble always have the same order, independent of the domain decomposition or the number of processors.
Current status
For ensuring reproducible results, the user should make sure that observations are ordered in the same way, when delivered to PDAF for different domain decompositions.
Fixing this issue in the current code is not feasible due to:
Plan
We resolve this issue, once PDAF-OMI is adopted in TSMP(2)-PDAF.
In PDAF-OMI, observations could receive an index as an optional attribute and this index could be used to order the random generations.
Crucial code
pdaf/src/PDAF_enkf_obs_ensemble.F90
Lines 219 to 261 in ea2b58b
Main repo:
https://github.com/PDAF/PDAF/blob/642e5c0c196913bdd2a2704654441afc67421edd/src/PDAF_enkf_obs_ensemble.F90#L219-L261
Note that there is already a handling of index-ordering implmented for multiple observation types.
The text was updated successfully, but these errors were encountered: