[Dart-dev] DART/branches Revision: 12162
dart at ucar.edu
dart at ucar.edu
Fri Dec 1 16:04:58 MST 2017
nancy at ucar.edu
2017-12-01 16:04:58 -0700 (Fri, 01 Dec 2017)
211
update model_mod_check to allow the test grid to
span greenwich for testing. have mmc print out
where the grid interpolation results are stored
(two files), and add 'write_obs_every_cycle' to
the filter code.
Modified: DART/branches/rma_trunk/CHANGELOG
===================================================================
--- DART/branches/rma_trunk/CHANGELOG 2017-12-01 23:03:00 UTC (rev 12161)
+++ DART/branches/rma_trunk/CHANGELOG 2017-12-01 23:04:58 UTC (rev 12162)
@@ -599,6 +599,20 @@
and 2013 file formats.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ Dec 01 2017 :: ROMS scripting, debugging aids Revision: 12162
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+- Added an option to the ROMS model scripting to advance the model ensemble
+members in parallel using a job array.
+
+- Added a debug option to the filter namelist, 'write_obs_every_cycle',
+to output the full obs_seq.final during each cycle of filter.
+(Very slow - use only when debugging a filter crash.)
+
+- Allow the test grid in model_mod_check to cross the prime meridian for testing
+longitude interpolation in grids that cross the 360/0 line.
+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ MMM DD YYYY :: summary of next changes $Revision$
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Modified: DART/branches/rma_trunk/assimilation_code/modules/assimilation/filter_mod.dopplerfold.f90
===================================================================
--- DART/branches/rma_trunk/assimilation_code/modules/assimilation/filter_mod.dopplerfold.f90 2017-12-01 23:03:00 UTC (rev 12161)
+++ DART/branches/rma_trunk/assimilation_code/modules/assimilation/filter_mod.dopplerfold.f90 2017-12-01 23:04:58 UTC (rev 12162)
@@ -187,6 +187,7 @@
logical :: output_forward_op_errors = .false.
logical :: output_timestamps = .false.
logical :: trace_execution = .false.
+logical :: write_obs_every_cycle = .false. ! debug only
logical :: silence = .false.
logical :: distributed_state = .true. ! Default to do state complete forward operators.
@@ -296,6 +297,7 @@
output_mean, &
output_sd, &
write_all_stages_at_end, &
+ write_obs_every_cycle, &
allow_missing_clm
! Are any of the observation types subject to being updated
@@ -1086,6 +1088,16 @@
endif
endif
+ ! only intended for debugging when cycling inside filter.
+ ! writing the obs_seq file can be slow - but if filter crashes
+ ! you can get partial results by enabling this flag.
+ if (write_obs_every_cycle) then
+ call trace_message('Before writing in-progress output sequence file')
+ ! Only pe 0 outputs the observation space diagnostic file
+ if(my_task_id() == 0) call write_obs_seq(seq, obs_sequence_out_name)
+ call trace_message('After writing in-progress output sequence file')
+ endif
+
call trace_message('Near bottom of main loop, cleaning up obs space')
! Deallocate storage used for keys for each set
deallocate(keys)
Modified: DART/branches/rma_trunk/assimilation_code/modules/assimilation/filter_mod.f90
===================================================================
--- DART/branches/rma_trunk/assimilation_code/modules/assimilation/filter_mod.f90 2017-12-01 23:03:00 UTC (rev 12161)
+++ DART/branches/rma_trunk/assimilation_code/modules/assimilation/filter_mod.f90 2017-12-01 23:04:58 UTC (rev 12162)
@@ -187,6 +187,7 @@
logical :: output_forward_op_errors = .false.
logical :: output_timestamps = .false.
logical :: trace_execution = .false.
+logical :: write_obs_every_cycle = .false. ! debug only
logical :: silence = .false.
logical :: distributed_state = .true. ! Default to do state complete forward operators.
@@ -296,6 +297,7 @@
output_mean, &
output_sd, &
write_all_stages_at_end, &
+ write_obs_every_cycle, &
allow_missing_clm
@@ -1083,6 +1085,16 @@
endif
endif
+ ! only intended for debugging when cycling inside filter.
+ ! writing the obs_seq file can be slow - but if filter crashes
+ ! you can get partial results by enabling this flag.
+ if (write_obs_every_cycle) then
+ call trace_message('Before writing in-progress output sequence file')
+ ! Only pe 0 outputs the observation space diagnostic file
+ if(my_task_id() == 0) call write_obs_seq(seq, obs_sequence_out_name)
+ call trace_message('After writing in-progress output sequence file')
+ endif
+
call trace_message('Near bottom of main loop, cleaning up obs space')
! Deallocate storage used for keys for each set
deallocate(keys)
More information about the Dart-dev
mailing list