[Dart-dev] DART/branches Revision: 10778

dart at ucar.edu dart at ucar.edu
Thu Dec 1 08:31:43 MST 2016


nancy at ucar.edu
2016-12-01 08:31:43 -0700 (Thu, 01 Dec 2016)
211
fix a typo in an output statement, and add a fixme to be
done as soon as we have this working and reintegrated.
the valid stage names should be up to the calling code
(filter, pmo, etc) and NOT hardcoded here.




Modified: DART/branches/rma_fixed_filenames/io/state_vector_io_mod.f90
===================================================================
--- DART/branches/rma_fixed_filenames/io/state_vector_io_mod.f90	2016-11-29 23:32:47 UTC (rev 10777)
+++ DART/branches/rma_fixed_filenames/io/state_vector_io_mod.f90	2016-12-01 15:31:43 UTC (rev 10778)
@@ -116,12 +116,22 @@
 ! Module storage for writing error messages
 character(len=512) :: msgstring
 
+!>@todo FIXME  these should not be hardcoded this way.
+!> the more general solution is to have a get_output_stage() function
+!> that takes a string, and compares the string against a list of
+!> valid strings.  the strings should be stored in an array and
+!> the interpretation of what they mean should NOT be enforced here.
+!> the calling code knows what they are for; it should be a black box
+!> here.
+
 ! Global variables for which stage of files to write
 logical :: io_output_input     = .false.
 logical :: io_output_preassim  = .false.
 logical :: io_output_postassim = .false.
 logical :: io_output_output    = .true.
 
+!>@todo FIXME possibly the same for these as well?
+
 ! Global variables for which copies to write
 logical :: io_output_restarts  = .true.
 logical :: io_output_mean      = .false.
@@ -135,6 +145,11 @@
 integer :: limit_mem = HUGE(1_i4) !< This is the number of elements (not bytes) so you don't have times the number by 4 or 8
 logical :: single_precision_output = .false. ! Allows you to write r4 netcdf files even if filter is double precision
 
+!>@todo FIXME there should be a 'variable_by_variable' logical here
+!> that says do i/o a single variable at a time instead of the entire
+!> state.  the limit_mem can stay, but it's much harder to use for
+!> the average user.
+
 namelist /  state_vector_io_nml / limit_mem, &
    single_precision_output
 
@@ -664,7 +679,7 @@
       case ("NULL")
          ! do nothing
       case default
-         write(msgstring,*)"unknow stage " // trim(my_stage)
+         write(msgstring,*)"unknown stage " // trim(my_stage)
          call error_handler(E_ERR,'parse_stages',msgstring,source,revision,revdate)
    end select
 enddo


More information about the Dart-dev mailing list