|
integer | cpl_mpi_comm |
| the communicator between the empire codes and the model master nodes More...
|
|
integer | world_rank |
| the rank of this process on MPI_COMM_WORLD More...
|
|
integer | cpl_rank |
| the rank of this process on CPL_MPI_COMM More...
|
|
integer | nproc |
| the total number of processes More...
|
|
integer | pf_mpi_comm |
| the communicator between DA processes More...
|
|
integer | pfrank |
| the rank of this process on PF_MPI_COMM More...
|
|
integer | npfs |
| the total number of DA processes More...
|
|
integer, dimension(:), allocatable | gblcount |
| the number of ensemble members associated with each DA process More...
|
|
integer, dimension(:), allocatable | gbldisp |
| the displacements of each each ensemble member relative to pfrank=0. VERY useful for mpi_gatherv and mpi_scatterv on pf_mpi_comm More...
|
|
integer | nens |
| the total number of ensemble members More...
|
|
integer | cnt |
| the number of ensemble members associated with this process More...
|
|
integer, dimension(:), allocatable | particles |
| the ensemble members associated with this process More...
|
|
integer, dimension(:), allocatable | cpl_mpi_comms |
| communicators for if we are using empire v2 or v3 More...
|
|
integer, dimension(:), allocatable | state_dims |
| state dimensions on each model process for empire v2 More...
|
|
integer, dimension(:), allocatable | state_displacements |
| displacements of the various parts of the state vector for empire v2 More...
|
|
integer, dimension(:), allocatable | obs_dims |
| obs dimensions on each model process for empire v3 More...
|
|
integer, dimension(:), allocatable | obs_displacements |
| displacements of the various parts of the obs vector for empire v3 More...
|
|
integer | mdl_num_proc |
| number of processes of each ensemble member More...
|
|
integer | pf_member_comm |
| communicator for empire v3 which contains all processes of individual ensemble members More...
|
|
integer | pf_ens_comm |
| communicator for empire v3 which contains all ensemble members for that specific part of the state vector More...
|
|
integer | pf_ens_rank |
| rank of the process on pf_ens_comm More...
|
|
integer | pf_ens_size |
| size of pf_ens_comm for comms v3 More...
|
|
integer | pf_member_rank |
| rank of the process on pf_member_comm for empire v3 More...
|
|
integer | pf_member_size |
| size of pf_member_comm for empire v3 More...
|
|
integer, parameter | comm_version =1 |
|
Module containing EMPIRE coupling data.
- Todo:
- Need to see what happens if some process has no observations in comms_v3
comm_version
The integer parameter comm_version that is defined in comm_version.f90 defines the style of communication pattern used between the model and empire. There are currently 5 different patterns implemented:
- 1 = MPI SEND/RECV pairs between a single model process (single EMPIRE process per ensemble member)
- 2 = MPI GATHERV/SCATTERV between (possibly) multiple model processes (single EMPIRE process per ensemble member)
- 3 = MPI SEND/RECV pairs between multiple model processes and the same parallel process disribution in EMPIRE
- 4 = MODEL AS A SUBROUTINE OF EMPIRE
- Todo:
- Fully document how to specify the model_as_subroutine calls in src/user/model
- 5 = Similar to 2, but with multiple ensemble members for each model process (TOMCAT CASE)
For more information, see the pages Communication Methods and EMPIRE communicators for more information.
Definition at line 57 of file comms.f90.