[Dart-dev] DART/branches Revision: 12201
dart at ucar.edu
dart at ucar.edu
Thu Dec 14 13:44:18 MST 2017
nancy at ucar.edu
2017-12-14 13:44:14 -0700 (Thu, 14 Dec 2017)
183
make the second 2 ensemble handles optional in free_state_window().
filter uses them but PMO and model_mod_check do not.
fix allocation issues in test_interpolate routines and mmc.
Modified: DART/branches/recam/assimilation_code/modules/utilities/cray_win_mod.f90
===================================================================
--- DART/branches/recam/assimilation_code/modules/utilities/cray_win_mod.f90 2017-12-14 20:42:46 UTC (rev 12200)
+++ DART/branches/recam/assimilation_code/modules/utilities/cray_win_mod.f90 2017-12-14 20:44:14 UTC (rev 12201)
@@ -173,15 +173,17 @@
subroutine free_state_window(state_ens_handle, fwd_op_ens_handle, qc_ens_handle)
type(ensemble_type), intent(inout) :: state_ens_handle
-type(ensemble_type), intent(inout) :: fwd_op_ens_handle
-type(ensemble_type), intent(inout) :: qc_ens_handle
+type(ensemble_type), intent(inout), optional :: fwd_op_ens_handle
+type(ensemble_type), intent(inout), optional :: qc_ens_handle
integer :: ierr
if(get_allow_transpose(state_ens_handle)) then ! the forward operators were done var complete
- !transpose back
- call all_vars_to_all_copies(fwd_op_ens_handle)
- call all_vars_to_all_copies(qc_ens_handle)
+ !transpose back if allowing transposes
+ if (present(fwd_op_ens_handle)) &
+ call all_vars_to_all_copies(fwd_op_ens_handle)
+ if (present(qc_ens_handle)) &
+ call all_vars_to_all_copies(qc_ens_handle)
else
! close mpi window
call mpi_win_free(state_win, ierr)
@@ -194,7 +196,8 @@
!---------------------------------------------------------
!> Free the mpi window
-subroutine free_mean_window
+subroutine free_mean_window()
+
integer :: ierr
if(get_allow_transpose(mean_ens_handle)) then
Modified: DART/branches/recam/assimilation_code/modules/utilities/no_cray_win_mod.f90
===================================================================
--- DART/branches/recam/assimilation_code/modules/utilities/no_cray_win_mod.f90 2017-12-14 20:42:46 UTC (rev 12200)
+++ DART/branches/recam/assimilation_code/modules/utilities/no_cray_win_mod.f90 2017-12-14 20:44:14 UTC (rev 12201)
@@ -149,15 +149,17 @@
subroutine free_state_window(state_ens_handle, fwd_op_ens_handle, qc_ens_handle)
type(ensemble_type), intent(inout) :: state_ens_handle
-type(ensemble_type), intent(inout) :: fwd_op_ens_handle
-type(ensemble_type), intent(inout) :: qc_ens_handle
+type(ensemble_type), intent(inout), optional :: fwd_op_ens_handle
+type(ensemble_type), intent(inout), optional :: qc_ens_handle
integer :: ierr
if(get_allow_transpose(state_ens_handle)) then ! the forward operators were done var complete
!transpose back
- call all_vars_to_all_copies(fwd_op_ens_handle)
- call all_vars_to_all_copies(qc_ens_handle)
+ if (present(fwd_op_ens_handle)) &
+ call all_vars_to_all_copies(fwd_op_ens_handle)
+ if (present(qc_ens_handle)) &
+ call all_vars_to_all_copies(qc_ens_handle)
else
! close mpi window
call mpi_win_free(state_win, ierr)
@@ -170,7 +172,8 @@
!---------------------------------------------------------
!> Free the mpi window
-subroutine free_mean_window
+subroutine free_mean_window()
+
integer :: ierr
if(get_allow_transpose(mean_ens_handle)) then
Modified: DART/branches/recam/assimilation_code/modules/utilities/null_win_mod.f90
===================================================================
--- DART/branches/recam/assimilation_code/modules/utilities/null_win_mod.f90 2017-12-14 20:42:46 UTC (rev 12200)
+++ DART/branches/recam/assimilation_code/modules/utilities/null_win_mod.f90 2017-12-14 20:44:14 UTC (rev 12201)
@@ -85,8 +85,8 @@
subroutine free_state_window(state_ens_handle, fwd_op_ens_handle, qc_ens_handle)
type(ensemble_type), intent(inout) :: state_ens_handle
-type(ensemble_type), intent(inout) :: fwd_op_ens_handle
-type(ensemble_type), intent(inout) :: qc_ens_handle
+type(ensemble_type), intent(inout), optional :: fwd_op_ens_handle
+type(ensemble_type), intent(inout), optional :: qc_ens_handle
current_win = NO_WINDOW
@@ -94,7 +94,7 @@
!---------------------------------------------------------
!> Free the mpi window
-subroutine free_mean_window
+subroutine free_mean_window()
call end_ensemble_manager(mean_ens_handle)
Modified: DART/branches/recam/assimilation_code/programs/model_mod_check/model_mod_check.f90
More information about the Dart-dev
mailing list