Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug?: direct_netcdf_mod.f90 assumes round robin distribution for ensemble #283

Open
hkershaw-brown opened this issue Sep 1, 2021 · 1 comment
Labels
Bug Something isn't working IO IO refactoring notes and issues Refactor Working but needs cleanup

Comments

@hkershaw-brown
Copy link
Member

hkershaw-brown commented Sep 1, 2021

direct_netcdf_io.f90:

2933 !=================================================
2934 ! Routines for distributing data round-robbin
2935 !=================================================

!> This code has multiple places where round-robin layout of state onto task is assumed.
!> These are in the section labelled:
!>    ! Routines that are making the assumption that the ensemble
!>    ! distribution is round-robin (distribution type 1)  

Note distribution type 1 is not round robin, it is simple layout. So if you set your ensemble_manager_nml::layout=1 (simple) I think you may get incorrect info read in/written out. edit: Nope, see note below on layout vs. distribution

I'm missing why perfect_model_obs has layout 1 (simple) for fwd op and qc, but these handles are not involved in the netcdf state read/write

! for multi-core runs, each core needs to store the forward operator and the qc value

will confirm with test case for state IO

Affects filter, perfect_model_obs.

@hkershaw-brown hkershaw-brown added Bug Something isn't working Refactor Working but needs cleanup labels Sep 1, 2021
@hkershaw-brown
Copy link
Member Author

hkershaw-brown commented Sep 2, 2021

note on distribution vs layout.

ensemble_manager_mod.f90 uses layout for round-robin vs simple. this is for logical pe to physical task.

direct_netcdf_mod.f90 uses distribution for round-robin. distribution_type is an option to init_ensemble_manager but is not used. This is which pe gets which elements of the state.

So, not a bug at the moment, but will cause problems if the state is not round robin on pes. (add to refactor list)

@hkershaw-brown hkershaw-brown removed the Bug Something isn't working label Sep 2, 2021
@hkershaw-brown hkershaw-brown added the IO IO refactoring notes and issues label Jul 20, 2023
@hkershaw-brown hkershaw-brown added the Bug Something isn't working label Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working IO IO refactoring notes and issues Refactor Working but needs cleanup
Projects
None yet
Development

No branches or pull requests

1 participant