[Dart-dev] DART/branches Revision: 12460
dart at ucar.edu
dart at ucar.edu
Thu Mar 22 11:03:54 MDT 2018
hendric at ucar.edu
2018-03-22 11:03:54 -0600 (Thu, 22 Mar 2018)
242
removing num_vars, and num_copies from get_max_num_{copies,vars}
as they can be retrieved from the ensemble handle. creating short
definitions for both ensemble handles. everything compiles but
still needs to distribute mean into groups.
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-22 02:47:17 UTC (rev 12459)
+++ DART/branches/rma_distrib/assimilation_code/modules/utilities/ensemble_manager_mod.f90 2018-03-22 17:03:54 UTC (rev 12460)
@@ -1201,10 +1201,10 @@
my_pe = ens_handle%my_pe
! What is maximum number of vars stored on a copy complete pe?
-max_num_vars = get_max_num_vars(ens_handle,num_vars)
+max_num_vars = get_max_num_vars(ens_handle)
! What is maximum number of copies stored on a var complete pe?
-max_num_copies = get_max_num_copies(ens_handle,num_copies)
+max_num_copies = get_max_num_copies(ens_handle)
allocate(var_list(max_num_vars), transfer_temp(max_num_vars), &
copy_list(max_num_copies))
@@ -1358,10 +1358,10 @@
my_pe = ens_handle%my_pe
! What is maximum number of vars stored on a copy complete pe?
-max_num_vars = get_max_num_vars(ens_handle,num_vars)
+max_num_vars = get_max_num_vars(ens_handle)
! What is maximum number of copies stored on a var complete pe?
-max_num_copies = get_max_num_copies(ens_handle,num_copies)
+max_num_copies = get_max_num_copies(ens_handle)
allocate(var_list(max_num_vars), transfer_temp(max_num_vars), &
copy_list(max_num_copies))
@@ -1511,9 +1511,11 @@
integer, allocatable :: var_list1(:), var_list2(:)
real(r8), allocatable :: transfer_temp(:) ! might need 2?
-integer(i8) :: num_vars
-integer :: num_copies, my_num_vars, my_num_copies, my_pe
-integer :: max_num_vars, max_num_copies, num_vars_to_receive
+integer(i8) :: num_vars1, num_vars2
+integer :: num_copies1, my_num_vars1, my_num_copies1, my_pe1
+integer :: num_copies2, my_num_vars2, my_num_copies2, my_pe2
+integer :: max_num_vars1, max_num_copies1, max_num_vars2, max_num_copies2
+integer :: num_vars_to_receive
integer :: sending_pe, recv_pe, k, sv, num_copies_to_send
integer :: global_ens_index, copy
integer :: group_pe, group_size
@@ -1524,8 +1526,8 @@
endif
! Accelerated version for single process
-if(handle1%num_pes == 1 .and. handle2%num_pes == 1) then
- ens_handle2%copies(copy2,:) = ens_handle1%copies(copy1, :)
+if(ens_handle1%num_pes == 1 .and. ens_handle2%num_pes == 1) then
+ ens_handle2%copies(copy2,:) = ens_handle1%copies(copy1, :)
return
end if
@@ -1551,29 +1553,36 @@
!
!mean_ens_handle%copies(1,:) = state_ens_handle%copies(mean_copy, :)
-! Short var definitions
-num_copies = ens_handle%num_copies
-num_vars = ens_handle%num_vars
-my_num_vars = ens_handle%my_num_vars
-my_num_copies = ens_handle%my_num_copies
-my_pe = ens_handle%my_pe
+! Short var definitions ens 1
+num_copies1 = ens_handle1%num_copies
+num_vars1 = ens_handle1%num_vars
+my_num_vars1 = ens_handle1%my_num_vars
+my_num_copies1 = ens_handle1%my_num_copies
+my_pe1 = ens_handle1%my_pe
+! Short var definitions ens 2
+num_copies2 = ens_handle2%num_copies
+num_vars2 = ens_handle2%num_vars
+my_num_vars2 = ens_handle2%my_num_vars
+my_num_copies2 = ens_handle2%my_num_copies
+my_pe2 = ens_handle2%my_pe
+
group_pe = get_group_id()
group_size = get_group_size()
-num_copies = num_copies*group_size
-num_vars = num_copies*group_size
-my_num_vars = num_copies*group_size
-my_num_copies = num_copies*group_size
+num_copies1 = num_copies1*group_size
+num_vars1 = num_copies1*group_size
+my_num_vars1 = num_copies1*group_size
+my_num_copies1 = num_copies1*group_size
! What is maximum number of copies stored for ens_handle1
-max_num_copies = get_max_num_copies(ens_handle,num_copies1)
+max_num_copies1 = get_max_num_copies(ens_handle1)
! What is maximum number of copies stored for ens_handle2
-max_num_copies = get_max_num_copies(ens_handle,num_copies)
+max_num_copies2 = get_max_num_copies(ens_handle2)
-allocate(var_list(max_num_vars), transfer_temp(max_num_vars), &
More information about the Dart-dev
mailing list