[Dart-dev] DART/branches Revision: 11828

dart at ucar.edu dart at ucar.edu
Tue Jul 18 10:25:40 MDT 2017


hendric at ucar.edu
2017-07-18 10:25:40 -0600 (Tue, 18 Jul 2017)
44

merging recent changes from the rma_trunk




Index: DART/branches/rma_array_nml
===================================================================
--- DART/branches/rma_array_nml	2017-07-18 16:21:32 UTC (rev 11827)
+++ DART/branches/rma_array_nml	2017-07-18 16:25:40 UTC (rev 11828)

Property changes on: DART/branches/rma_array_nml
___________________________________________________________________
Modified: svn:mergeinfo
## -32,6 +32,7 ##
 /DART/branches/rma_sprint:8095-8166
 /DART/branches/rma_state_structure_test_dir:9472-9676
 /DART/branches/rma_state_structure_unit_test:9691-10268
+/DART/branches/rma_trunk:11814-11827
 /DART/branches/rma_trunk_clamping:8786-8801
 /DART/branches/rma_trunk_filename:8011-8157
 /DART/branches/rma_trunk_get_state_fun:8568-8596
Modified: DART/branches/rma_array_nml/assimilation_code/modules/assimilation/filter_mod.dopplerfold.f90
===================================================================
--- DART/branches/rma_array_nml/assimilation_code/modules/assimilation/filter_mod.dopplerfold.f90	2017-07-18 16:21:32 UTC (rev 11827)
+++ DART/branches/rma_array_nml/assimilation_code/modules/assimilation/filter_mod.dopplerfold.f90	2017-07-18 16:25:40 UTC (rev 11828)
@@ -2212,9 +2212,9 @@
 
 !------------------------------------------------------------------
 !> Set file name information.  For members restarts can be read from
-!> a restart_file_list.txt or constructed using a stage name and
+!> an input_state_file_list or constructed using a stage name and
 !> num_ens.  The file_info handle knows whether or not there is an
-!> associated restart_file_list.txt. If no list is provided member
+!> associated input_state_file_list. If no list is provided member
 !> filenames are written as :
 !>    stage_member_####.nc (ex. preassim_member_0001.nc)
 !> extra copies are stored as :

Modified: DART/branches/rma_array_nml/assimilation_code/modules/assimilation/filter_mod.f90
===================================================================
--- DART/branches/rma_array_nml/assimilation_code/modules/assimilation/filter_mod.f90	2017-07-18 16:21:32 UTC (rev 11827)
+++ DART/branches/rma_array_nml/assimilation_code/modules/assimilation/filter_mod.f90	2017-07-18 16:25:40 UTC (rev 11828)
@@ -2198,9 +2198,9 @@
 
 !------------------------------------------------------------------
 !> Set file name information.  For members restarts can be read from
-!> a restart_file_list.txt or constructed using a stage name and
+!> an input_state_file_list or constructed using a stage name and
 !> num_ens.  The file_info handle knows whether or not there is an
-!> associated restart_file_list.txt. If no list is provided member
+!> associated input_state_file_list. If no list is provided member
 !> filenames are written as :
 !>    stage_member_####.nc (ex. preassim_member_0001.nc)
 !> extra copies are stored as :

Modified: DART/branches/rma_array_nml/assimilation_code/modules/io/direct_netcdf_mod.f90
===================================================================
--- DART/branches/rma_array_nml/assimilation_code/modules/io/direct_netcdf_mod.f90	2017-07-18 16:21:32 UTC (rev 11827)
+++ DART/branches/rma_array_nml/assimilation_code/modules/io/direct_netcdf_mod.f90	2017-07-18 16:25:40 UTC (rev 11828)
@@ -494,7 +494,7 @@
 integer :: ens_size, extra_size, time_size, var_size, elm_count, ndims
 integer :: my_pe, recv_pe, recv_start, recv_end, start_rank
 integer :: start_pos, end_pos, send_start, send_end, start_point
-logical :: do_perturb, is_sender, is_receiver, is_member_copy, is_extra_copy
+logical :: do_perturb, is_sender, is_receiver, is_extra_copy
 
 real(r8), allocatable :: var_block(:)
 
@@ -545,6 +545,8 @@
 ! recv_* and send_* are PE's that variables are sent and received
 call get_pe_loops(ens_size, recv_start, recv_end, send_start, send_end)
 
+call check_singlefile_member_info(my_ncid, fname, ens_size, do_perturb)
+
 COPY_LOOP: do icopy = 1, ens_size+extra_size
 
    ! only SINGLE_IO_TASK_ID reads and distributes data 
@@ -553,17 +555,15 @@
    !   {variable}_priorinf_{mean,sd}
    !   {variable}_postinf_{mean,sd}
 
+   if ( file_handle%stage_metadata%io_flag(icopy) /= READ_COPY ) cycle
+
    is_extra_copy  = (icopy >  ens_size)
-   is_member_copy = (icopy <= ens_size)
 
    ! check that copy infomation is valid
-   if ( is_member_copy ) call check_singlefile_member_info(my_ncid, fname, ens_size, do_perturb)
 
    ! starting position in the copies array
    start_pos  = 1
 
-   if ( file_handle%stage_metadata%io_flag(icopy) /= READ_COPY ) cycle
-
    VAR_LOOP: do ivar = 1, get_num_variables(domain)
 
       var_size = get_variable_size(domain, ivar)
@@ -2538,11 +2538,17 @@
    ret = nf90_inquire_dimension(ncid, MemDimID, len=member_size) 
    call nc_check(ret, 'check_singlefile_member_info', 'inq_varid member : '//trim(fname))
 
-   !>@todo FIXME : if there is a single file with a member dimension but only one member
-   !> it is ok if we are perturbing.
+   ! are there enough members to start from this file?  if you're perturbing a single member
+   ! to generate an ensemble it's ok to have 1.  otherwise you have to have at least
+   ! 'ens_size' members (more is ok).


More information about the Dart-dev mailing list