[Dart-dev] DART/branches Revision: 11670
dart at ucar.edu
dart at ucar.edu
Fri May 26 11:44:48 MDT 2017
nancy at ucar.edu
2017-05-26 11:44:47 -0600 (Fri, 26 May 2017)
38
merge in changes from the rma_trunk.
Index: DART/branches/rma_updates_nancy
===================================================================
--- DART/branches/rma_updates_nancy 2017-05-26 17:20:58 UTC (rev 11669)
+++ DART/branches/rma_updates_nancy 2017-05-26 17:44:47 UTC (rev 11670)
Property changes on: DART/branches/rma_updates_nancy
___________________________________________________________________
Modified: svn:mergeinfo
## -30,6 +30,7 ##
/DART/branches/rma_sprint:8101-8172
/DART/branches/rma_state_structure_test_dir:9478-9682
/DART/branches/rma_state_structure_unit_test:9697-10274
+/DART/branches/rma_trunk:11621-11669
/DART/branches/rma_trunk_clamping:8792-8807
/DART/branches/rma_trunk_filename:8017-8163
/DART/branches/rma_trunk_get_state_fun:8574-8602
Modified: DART/branches/rma_updates_nancy/assimilation_code/modules/io/direct_netcdf_mod.f90
===================================================================
--- DART/branches/rma_updates_nancy/assimilation_code/modules/io/direct_netcdf_mod.f90 2017-05-26 17:20:58 UTC (rev 11669)
+++ DART/branches/rma_updates_nancy/assimilation_code/modules/io/direct_netcdf_mod.f90 2017-05-26 17:44:47 UTC (rev 11670)
@@ -25,7 +25,7 @@
!> \par Aim of the limited transpose:
!>
!>To limit how much of the state vector you can read at once.
-!> You can limit the transpose by memory using <code>limit_mem</code>.
+!> You can limit the transpose by memory using <code>buffer_state_io</code>.
!>
!>What you (potentially) gain from this:
!>
@@ -32,7 +32,7 @@
!>* Don't have to have the whole state vector.
!>* Don't have to use a parallel IO library.
!>
-!>If limit_mem > state vector size you have the regular transpose + IO, except:
+!>If buffer_state_io is false you have the regular transpose + IO, except:
!> 1. You are reading directly from a netcdf file, not a dart state vector file.
!> 2. You only transpose the copies that are being written/read.
!>
@@ -133,18 +133,18 @@
!> * Multi processor (memory limit applied)
-subroutine read_transpose(state_ens_handle, name_handle, domain, dart_index, limit_mem)
+subroutine read_transpose(state_ens_handle, name_handle, domain, dart_index, read_single_vars)
type(ensemble_type), intent(inout) :: state_ens_handle
type(stage_metadata_type), intent(in) :: name_handle
integer, intent(in) :: domain
integer, intent(inout) :: dart_index !< This is for multiple domains
-integer, intent(in) :: limit_mem !< How many state elements you can read at once
+logical, intent(in) :: read_single_vars !< read one variable at a time
if (task_count() == 1) then
call read_transpose_single_task(state_ens_handle, name_handle, domain, dart_index)
else
- call read_transpose_multi_task(state_ens_handle, name_handle, domain, dart_index, limit_mem)
+ call read_transpose_multi_task(state_ens_handle, name_handle, domain, dart_index, read_single_vars)
endif
end subroutine read_transpose
@@ -155,13 +155,13 @@
subroutine transpose_write(state_ens_handle, name_handle, domain, &
- dart_index, limit_mem, write_single_precision)
+ dart_index, write_single_vars, write_single_precision)
type(ensemble_type), intent(inout) :: state_ens_handle
type(stage_metadata_type), intent(in) :: name_handle
integer, intent(in) :: domain
integer, intent(inout) :: dart_index
-integer, intent(in) :: limit_mem !< How many state elements you can write at once
+logical, intent(in) :: write_single_vars !< write one variable at a time
logical, intent(in) :: write_single_precision
if (task_count() == 1) then
@@ -169,7 +169,7 @@
dart_index, write_single_precision)
else
call transpose_write_multi_task(state_ens_handle, name_handle, domain, &
- dart_index, limit_mem, write_single_precision)
+ dart_index, write_single_vars, write_single_precision)
endif
end subroutine transpose_write
@@ -348,16 +348,16 @@
!> Read in variables from model restart file and transpose so that every processor
!> has all copies of a subset of state variables (fill state_ens_handle%copies)
!> Read and transpose data according to the memory limit imposed by
-!> limit_mem. Note limit_mem cannot be smaller than a variable.
+!> read_var_by_var.
subroutine read_transpose_multi_task(state_ens_handle, name_handle, domain, &
- dart_index, limit_mem)
+ dart_index, read_var_by_var)
type(ensemble_type), intent(inout) :: state_ens_handle
type(stage_metadata_type), intent(in) :: name_handle
integer, intent(in) :: domain
integer, intent(inout) :: dart_index !< This is for multiple domains
-integer, intent(in) :: limit_mem !< How many state elements you can read at once
More information about the Dart-dev
mailing list