[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