[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