[Dart-dev] DART/branches Revision: 12437

dart at ucar.edu dart at ucar.edu
Wed Mar 7 16:35:08 MST 2018


hendric at ucar.edu
2018-03-07 16:35:08 -0700 (Wed, 07 Mar 2018)
118
adding a variable to keep track of how many PEs are
in the group.  Everything compiles but does has not
been tested.




Modified: DART/branches/rma_distrib/assimilation_code/modules/utilities/ensemble_manager_mod.f90
===================================================================
--- DART/branches/rma_distrib/assimilation_code/modules/utilities/ensemble_manager_mod.f90	2018-03-07 23:29:47 UTC (rev 12436)
+++ DART/branches/rma_distrib/assimilation_code/modules/utilities/ensemble_manager_mod.f90	2018-03-07 23:35:08 UTC (rev 12437)
@@ -115,7 +115,7 @@
 !> we assume that no task will have the memory to allocate a full i8 buffer,
 !> so my_num_vars will remain expressible as an i4.
   
-   ! integer :: num_pes??
+   integer :: num_pes
    integer(i8)                  :: num_vars 
    integer                      :: num_copies, my_num_copies, my_num_vars
    integer,        allocatable  :: my_copies(:)
@@ -133,6 +133,7 @@
    integer, allocatable,private :: task_to_pe_list(:), pe_to_task_list(:) ! List of tasks
    ! Flexible my_pe, layout_type which allows different task layouts for different ensemble handles
    integer                      :: my_pe
+   integer                      :: group_num_pes
    integer,private              :: layout_type
    integer,private              :: transpose_type
    integer                      :: num_extras   ! FIXME: this needs to be more general.
@@ -230,6 +231,9 @@
    if (do_nml_file()) write(nmlfileunit, nml=ensemble_manager_nml)
    if (do_nml_term()) write(     *     , nml=ensemble_manager_nml)
 
+   ! Get mpi information for this process; it's stored in module storage
+   num_pes = task_count()
+
 endif
 
 ! FIXME: if we are implementing communication across a group, can we do this here?
@@ -759,7 +763,10 @@
 
 integer :: num_per_pe_below, num_left_over, i
 
-!ens_handle%num_pes = task_count()
+! used to keep track of number of members within group
+ens_handle%num_pes = task_count()
+
+! local to module
 num_pes = task_count()
 
 ! Option 1: Maximum separation for both vars and copies


More information about the Dart-dev mailing list