[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