[Dart-dev] DART/branches Revision: 10987

dart at ucar.edu dart at ucar.edu
Thu Feb 2 13:45:10 MST 2017


hendric at ucar.edu
2017-02-02 13:45:09 -0700 (Thu, 02 Feb 2017)
61
bgrid running with single file restarts for filter and pmo!




Modified: DART/branches/rma_single_file/filter/filter_mod.f90
===================================================================
--- DART/branches/rma_single_file/filter/filter_mod.f90	2017-02-02 17:14:44 UTC (rev 10986)
+++ DART/branches/rma_single_file/filter/filter_mod.f90	2017-02-02 20:45:09 UTC (rev 10987)
@@ -899,7 +899,6 @@
        (time_step_number / output_interval * output_interval == time_step_number)) then
 
       if (get_stage_to_write('output')) then
-         print*, ' filter : time step number = ' , time_step_number
          call write_state(state_ens_handle, file_info_output)
       endif
    endif
@@ -927,9 +926,12 @@
    call write_state(state_ens_handle, file_info_all)
 else
 
-   call write_state(state_ens_handle, file_info_output)
-   call write_state(state_ens_handle, file_info_preassim)
-   call write_state(state_ens_handle, file_info_postassim)
+   if (get_stage_to_write('output')) &
+      call write_state(state_ens_handle, file_info_output)
+   if (get_stage_to_write('preassim')) &
+      call write_state(state_ens_handle, file_info_preassim)
+   if (get_stage_to_write('postassim')) &
+      call write_state(state_ens_handle, file_info_postassim)
 endif
 
 if(ds) call smoother_write_restart(1, ens_size)

Modified: DART/branches/rma_single_file/io/direct_netcdf_mod.f90
===================================================================
--- DART/branches/rma_single_file/io/direct_netcdf_mod.f90	2017-02-02 17:14:44 UTC (rev 10986)
+++ DART/branches/rma_single_file/io/direct_netcdf_mod.f90	2017-02-02 20:45:09 UTC (rev 10987)
@@ -746,17 +746,17 @@
 integer,  intent(in)    :: domain
 
 integer :: i
-integer :: start_in_var_block, end_in_var_block
+integer :: istart, iend
 integer :: var_size
 integer, allocatable :: dims(:)
 integer :: ret, var_id
 
-start_in_var_block = 1
+istart = 1
 
 do i = start_var, end_var
 
    var_size = get_variable_size(domain, i)
-   end_in_var_block = start_in_var_block + var_size - 1
+   iend = istart + var_size - 1
 
    ! number of dimensions and length of each
    allocate(dims(get_io_num_dims(domain, i)))
@@ -766,10 +766,10 @@
    ret = nf90_inq_varid(ncfile_in, get_variable_name(domain, i), var_id)
    call nc_check(ret, 'read_variables: nf90_inq_varid',trim(get_variable_name(domain,i)) )
 
-   ret = nf90_get_var(ncfile_in, var_id, var_block(start_in_var_block:end_in_var_block), count=dims)
+   ret = nf90_get_var(ncfile_in, var_id, var_block(istart:iend), count=dims)
    call nc_check(ret, 'read_variables: nf90_get_var',trim(get_variable_name(domain,i)) )
 
-   start_in_var_block = start_in_var_block + var_size
+   istart = istart + var_size
 
    deallocate(dims)
 
@@ -791,16 +791,16 @@
 integer,  intent(in)    :: domain 
 logical,  intent(in)    :: do_file_clamping 
 
-integer :: start_in_var_block, end_in_var_block
+integer :: istart, iend
 integer, allocatable :: dims(:)
 integer :: i, ret, var_id, var_size
 logical :: clamped
 
-start_in_var_block = 1
+istart = 1
 do i = start_var, end_var
 
    var_size = get_variable_size(domain, i)
-   end_in_var_block = start_in_var_block + var_size - 1
+   iend = istart + var_size - 1
    
    ! Some diagnostic variables do not need to be  updated.  
    ! This information is stored in the state structure and 
@@ -808,7 +808,7 @@
    if ( do_io_update(domain, i) ) then
       ! diagnostic files do not get clamped but restart may be clamped
       if ( do_io_clamping(domain, i) .and. do_file_clamping) then
-         call clamp_variable(domain, i, var_block(start_in_var_block:end_in_var_block))
+         call clamp_variable(domain, i, var_block(istart:iend))
       endif
 
       ! number of dimensions and length of each
@@ -819,13 +819,13 @@
       ret = nf90_inq_varid(ncfile_out, get_variable_name(domain, i), var_id)
       call nc_check(ret, 'write_variables', 'getting variable id')
 
-      ret = nf90_put_var(ncfile_out, var_id, var_block(start_in_var_block:end_in_var_block), count=dims)


More information about the Dart-dev mailing list