[Dart-dev] [6176] DART/branches/development/assim_model/assim_model_mod.f90: If we get a read error on any of the input restart files, have

nancy at ucar.edu nancy at ucar.edu
Wed May 29 10:01:22 MDT 2013


Revision: 6176
Author:   nancy
Date:     2013-05-29 10:01:22 -0600 (Wed, 29 May 2013)
Log Message:
-----------
If we get a read error on any of the input restart files, have
all MPI tasks print out.  Right now most of the informational messages
about why the read is failing are E_MSG which only prints out by
default on PE0.  This is going to fail anyway, but if some member
on a PE other than 0 fails, all available information isn't printed.
No functional change except for in the error handling.

Modified Paths:
--------------
    DART/branches/development/assim_model/assim_model_mod.f90

-------------- next part --------------
Modified: DART/branches/development/assim_model/assim_model_mod.f90
===================================================================
--- DART/branches/development/assim_model/assim_model_mod.f90	2013-05-29 15:59:17 UTC (rev 6175)
+++ DART/branches/development/assim_model/assim_model_mod.f90	2013-05-29 16:01:22 UTC (rev 6176)
@@ -26,7 +26,7 @@
                           do_output, dump_unit_attributes, find_namelist_in_file,  &
                           check_namelist_read, nc_check, do_nml_file, do_nml_term, &
                           find_textfile_dims, file_to_text, timestamp, set_output, &
-                          ascii_file_format
+                          ascii_file_format, set_output
 use     model_mod, only : get_model_size, static_init_model, get_state_meta_data,  &
                           get_model_time_step, model_interpolate, init_conditions, &
                           init_time, adv_1step, end_model, nc_write_model_atts,    &
@@ -890,6 +890,12 @@
 
 ! If the model_state read fails ... dump diagnostics.
 if ( ios /= 0 ) then
+   ! messages are being used as error lines below.  in an MPI filter,
+   ! all messages are suppressed that aren't from PE0.  if an error
+   ! happens in another task, these lines won't be printed unless we
+   ! turn on output.
+   call set_output(.true.)
+
    write(msgstring,*)'dimension of model state is ',size(model_state)
    call error_handler(E_MSG,'aread_state_restart',msgstring,source,revision,revdate)
 


More information about the Dart-dev mailing list