[Dart-dev] DART/branches Revision: 12533
dart at ucar.edu
dart at ucar.edu
Wed Apr 18 13:18:15 MDT 2018
hendric at ucar.edu
2018-04-18 13:18:15 -0600 (Wed, 18 Apr 2018)
76
adding functionality for filling multiple domain inflation
restart files.
Modified: DART/branches/rma_fill_inf/assimilation_code/programs/fill_inflation_restart/fill_inflation_restart.f90
===================================================================
--- DART/branches/rma_fill_inf/assimilation_code/programs/fill_inflation_restart/fill_inflation_restart.f90 2018-04-18 18:41:07 UTC (rev 12532)
+++ DART/branches/rma_fill_inf/assimilation_code/programs/fill_inflation_restart/fill_inflation_restart.f90 2018-04-18 19:18:15 UTC (rev 12533)
@@ -5,9 +5,7 @@
! $Id$
!----------------------------------------------------------------------
-!> purpose: test model_mod routines. this version works for models
-!> with any location type. depends on a location-specific module
-!> for test_interpolate_single and test_interpolate_range.
+!> purpose: test model_mod routines.
!----------------------------------------------------------------------
program fill_inflation_restart
@@ -155,7 +153,7 @@
num_domains = get_num_domains()
-file_array_input = RESHAPE(input_state_files, (/num_ens, num_domains/))
+file_array_input = RESHAPE(input_state_files, (/ 1, num_domains/))
file_array_output = RESHAPE(output_state_files, (/num_ens, num_domains/))
! Test the read portion.
@@ -168,8 +166,8 @@
! Read the template file to get the shape of netCDF file
! and its variables. It is possible to have multiple domains
! but only require one member.
-write(my_base,'(A)') 'mean_template'
-write(my_desc,'(A)') 'mean template'
+write(my_base,'(A)') 'template'
+write(my_desc,'(A)') 'template file'
call set_file_metadata(file_info_input, &
cnum = 1, &
fnames = file_array_input(1,:), &
@@ -180,24 +178,25 @@
cnum = 1, &
io_flag = READ_COPY)
-write(my_base,'(A)') 'sd_template'
-write(my_desc,'(A)') 'sd template'
-call set_file_metadata(file_info_input, &
- cnum = 2, &
- fnames = file_array_input(1,:), &
- basename = my_base, &
- desc = my_desc)
+!#! write(my_base,'(A)') 'sd_template'
+!#! write(my_desc,'(A)') 'sd template'
+!#! call set_file_metadata(file_info_input, &
+!#! cnum = 2, &
+!#! fnames = file_array_input(2,:), &
+!#! basename = my_base, &
+!#! desc = my_desc)
+!#!
+!#! call set_io_copy_flag(file_info_input, &
+!#! cnum = 2, &
+!#! io_flag = READ_COPY)
-call set_io_copy_flag(file_info_input, &
- cnum = 2, &
- io_flag = READ_COPY)
-
input_restart_files = get_stage_metadata(file_info_input)
do idom = 1, num_domains
- do imem = 1, num_ens
- write(*, *) '- Reading File : ', trim(get_restart_filename(input_restart_files, imem, domain=idom))
- enddo
+ ! do imem = 1, num_ens
+ imem = 1
+ write(*, *) '- Reading File : ', idom, imem, trim(get_restart_filename(input_restart_files, copy=imem, domain=idom))
+ ! enddo
enddo
call read_state(ens_handle, file_info_input, read_time_from_file, model_time)
@@ -210,8 +209,8 @@
restart_files = file_array_output)
if(write_prior_inf) then
- if (prior_inf_mean /= MISSING_R8 .or. prior_inf_sd /= MISSING_R8) then
- write(*,*) 'you must specify prior_inf_mean and prior_ins_sd values'
+ if (prior_inf_mean == MISSING_R8 .or. prior_inf_sd == MISSING_R8) then
+ write(*,*) 'you must specify both prior_inf_mean and prior_inf_sd values'
return
endif
ens_handle%copies(ss_inflate_index , :) = prior_inf_mean
@@ -245,10 +244,12 @@
output_restart_files = get_stage_metadata(file_info_output)
do idom = 1, num_domains
- do imem = 1, num_ens
+ !#! do imem = 1, num_ens
+ do imem = 1,2 ! mean and sd
write(*, *) '- Writing Prior Inflation File : ', &
trim(get_restart_filename(output_restart_files, imem, domain=idom))
- enddo
+ enddo
+ !#! enddo
enddo
call write_state(ens_handle, file_info_output)
More information about the Dart-dev
mailing list