[Dart-dev] DART/branches Revision: 12642

dart at ucar.edu dart at ucar.edu
Thu Jun 7 10:37:01 MDT 2018


bdobbins at ucar.edu
2018-06-07 10:37:01 -0600 (Thu, 07 Jun 2018)
59
Working version, still very ugly and needing optimizations



Modified: DART/branches/graph_coloring/GPTL
===================================================================
--- DART/branches/graph_coloring/GPTL	2018-06-07 15:36:36 UTC (rev 12641)
+++ DART/branches/graph_coloring/GPTL	2018-06-07 16:37:01 UTC (rev 12642)
@@ -1 +1 @@
-link GPTL.ch_openmpi
\ No newline at end of file
+link GPTL.ch_mpt
\ No newline at end of file

Modified: DART/branches/graph_coloring/assimilation_code/location/threed_sphere/location_mod.f90
===================================================================
--- DART/branches/graph_coloring/assimilation_code/location/threed_sphere/location_mod.f90	2018-06-07 15:36:36 UTC (rev 12641)
+++ DART/branches/graph_coloring/assimilation_code/location/threed_sphere/location_mod.f90	2018-06-07 16:37:01 UTC (rev 12642)
@@ -73,7 +73,7 @@
 integer, parameter :: VERTISSCALEHEIGHT =  4  ! by scale height (unitless)
 
 type location_type
-   private
+   !private
    real(r8) :: lon, lat        ! lon, lat are stored in radians
    real(r8) :: vloc            ! units vary based on value of which_vert
    integer  :: which_vert      ! determines if vert is level, height, pressure, ...
@@ -1583,6 +1583,7 @@
             ! SHOULD ADD IN OPTIONAL ARGUMENT FOR DOING THIS!!!
             ! Could avoid adding any that have nums lower than base_ob???
             t_ind = gc%gtt(bt)%loc_box(st - 1 + k)
+            !write(*,*) "n_in_box = ", n_in_box, i, j, t_ind
 
             if(.not. present(dist)) then
                ! Dist isn't present; add this ob to list without computing distance
@@ -1614,7 +1615,7 @@
 
 !------------------------ Verify by comparing to exhaustive search --------------
 if(COMPARE_TO_CORRECT) then
-   write(*,*) "C2C(Check) : ", num_close, cnum_close
+   !write(*,*) "C2C(Check) : ", num_close, cnum_close
    ! Do comparisons against full search
    if((num_close /= cnum_close) .and. present(dist)) then
       write(msgstring, *) 'get_close (', num_close, ') should equal exhaustive search (', cnum_close, ')'

Modified: DART/branches/graph_coloring/assimilation_code/modules/assimilation/assim_graph_tools_mod.f90
===================================================================
--- DART/branches/graph_coloring/assimilation_code/modules/assimilation/assim_graph_tools_mod.f90	2018-06-07 15:36:36 UTC (rev 12641)
+++ DART/branches/graph_coloring/assimilation_code/modules/assimilation/assim_graph_tools_mod.f90	2018-06-07 16:37:01 UTC (rev 12642)
@@ -508,15 +508,21 @@
 !debug
 real(kind=8) :: checksum, checksum_total
 
+!packed sends (into a buffer)?
+logical :: packed_sends = .true.
+
+! synchronize between timers?
+logical :: sync_between_timers = .false.
+
 ! trace files:
 open(unit=15, file="trace.1")
 open(unit=16, file="trace.2")
 
-checksum = sum(obs_ens_handle%copies(1:ens_size,:))
-call MPI_Reduce(checksum, checksum_total, 1, MPI_DOUBLE_PRECISION, MPI_SUM, 0, MPI_COMM_WORLD, iError)
-if (my_task_id() == 0) then
-   write(*,*) "PreCheck0: ", checksum_total
-endif
+!checksum = sum(obs_ens_handle%copies(1:ens_size,:))
+!call MPI_Reduce(checksum, checksum_total, 1, MPI_DOUBLE_PRECISION, MPI_SUM, 0, MPI_COMM_WORLD, iError)
+!if (my_task_id() == 0) then
+!   write(*,*) "PreCheck0: ", checksum_total
+!endif
 
 !call task_sync()
 call t_startf('ASSIMILATE:Pre.Loop')
@@ -531,7 +537,7 @@
 !HK make window for mpi one-sided communication
 ! used for vertical conversion in get_close_obs
 ! Need to give create_mean_window the mean copy
-write(*,*) "Setup: Calling create_mean_window w/ ens_handle"
+!write(*,*) "Setup: Calling create_mean_window w/ ens_handle"
 !call create_mean_window(ens_handle, ENS_MEAN_COPY, distribute_mean, graph=.true.)
 call create_mean_window(ens_handle, ENS_MEAN_COPY, distribute_mean)  ! Just use ens_handle%distribution type?
 
@@ -620,6 +626,9 @@
 ! overwrite the vertical location with the required localization vertical coordinate when you 
 ! do the forward operator calculation
 call get_my_obs_loc(ens_handle, obs_ens_handle, obs_seq, keys, my_obs_loc, my_obs_kind, my_obs_type, obs_time)
+!do iError = 1, obs_ens_handle%my_num_vars
+!  write(*,*) "Loc : ", obs_ens_handle%my_vars(iError), my_obs_loc(iError)%lon, my_obs_loc(iError)%lat
+!enddo
 
 if (convert_all_obs_verticals_first .and. is_doing_vertical_conversion) then
    ! convert the vertical of all my observations to the localization coordinate
@@ -737,24 +746,37 @@
 !  write(*,*) "ECheck3 : ", iError, sum(obs_ens_handle%copies(:,iError))
 !end do
 
-checksum = sum(obs_ens_handle%copies(1:ens_size,:))
-call MPI_Reduce(checksum, checksum_total, 1, MPI_DOUBLE_PRECISION, MPI_SUM, 0, MPI_COMM_WORLD, iError)
-if (my_task_id() == 0) then
-   !write(*,*) "PreCheck1: ", checksum_total
-endif
+!checksum = sum(obs_ens_handle%copies(1:ens_size,:))


More information about the Dart-dev mailing list