[Dart-dev] DART/branches Revision: 12123
dart at ucar.edu
dart at ucar.edu
Mon Nov 20 10:34:37 MST 2017
thoar at ucar.edu
2017-11-20 10:34:32 -0700 (Mon, 20 Nov 2017)
131
Fixed bug with identity observations in the 1D obs_diag,
All workshop_setup scripts also now build obs_diag.
(all consistent now)
Modified: DART/branches/rma_trunk/CHANGELOG
===================================================================
--- DART/branches/rma_trunk/CHANGELOG 2017-11-20 17:14:25 UTC (rev 12122)
+++ DART/branches/rma_trunk/CHANGELOG 2017-11-20 17:34:32 UTC (rev 12123)
@@ -580,6 +580,20 @@
- Improved some error messages in location_io_mod and state_structure_mod
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ Nov 20 2017 :: 1D obs_diag fix, 1D power forward operator $Revision$
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+- fixed a problem with tutorial section 18 - bad URL.
+
+- fixed a problem with the 1D version of the observation diagnostics program
+ when trying to run diagnostics on identity observations.
+
+- all models with a workshop_setup.csh now build the same set of programs.
+ (some/most did not build obs_diag - which is used in the tutorial)
+
+- added a 1D power forward operator.
+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ MMM DD YYYY :: summary of next changes $Revision$
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Modified: DART/branches/rma_trunk/assimilation_code/programs/obs_diag/oned/obs_diag.f90
===================================================================
--- DART/branches/rma_trunk/assimilation_code/programs/obs_diag/oned/obs_diag.f90 2017-11-20 17:14:25 UTC (rev 12122)
+++ DART/branches/rma_trunk/assimilation_code/programs/obs_diag/oned/obs_diag.f90 2017-11-20 17:34:32 UTC (rev 12123)
@@ -28,7 +28,7 @@
use obs_def_mod, only : obs_def_type, get_obs_def_error_variance, get_obs_def_time, &
get_obs_def_location, get_obs_def_type_of_obs
use obs_kind_mod, only : max_defined_types_of_obs, get_name_for_type_of_obs, &
- QTY_STATE_VARIABLE
+ RAW_STATE_VARIABLE
use location_mod, only : location_type, get_location, operator(/=), LocationDims
use time_manager_mod, only : time_type, set_time, get_time, print_time, &
print_date, set_calendar_type, get_date, &
@@ -41,7 +41,6 @@
find_namelist_in_file, check_namelist_read, &
nc_check, do_nml_file, do_nml_term, finalize_utilities, &
next_file, get_next_filename
-
use sort_mod, only : sort
use random_seq_mod, only : random_seq_type, init_random_seq, several_random_gaussians
@@ -51,15 +50,15 @@
implicit none
! version controlled file description for error handling, do not edit
-character(len=256), parameter :: source = &
+character(len=*), parameter :: source = &
"$URL$"
-character(len=32 ), parameter :: revision = "$Revision$"
-character(len=128), parameter :: revdate = "$Date$"
+character(len=*), parameter :: revision = "$Revision$"
+character(len=*), parameter :: revdate = "$Date$"
!---------------------------------------------------------------------
!---------------------------------------------------------------------
-integer, parameter :: MaxRegions = 3
+integer, parameter :: MaxRegions = 4
integer, parameter :: MaxTrusted = 5
integer, parameter :: stringlength = 32
@@ -161,11 +160,11 @@
! index 3 == region 3 == [0.5, 1.0)
integer :: Nregions = MaxRegions
-real(r8), dimension(MaxRegions) :: lonlim1 = (/ 0.0_r8, 0.0_r8, 0.5_r8 /)
-real(r8), dimension(MaxRegions) :: lonlim2 = (/ 1.0_r8, 0.5_r8, 1.0_r8 /)
+real(r8), dimension(MaxRegions) :: lonlim1 = (/ 0.0_r8, 0.0_r8, 0.5_r8, -1.0_r8 /)
+real(r8), dimension(MaxRegions) :: lonlim2 = (/ 1.0_r8, 0.5_r8, 1.0_r8, -1.0_r8 /)
character(len=6), dimension(MaxRegions) :: reg_names = &
- (/ 'whole ','yin ','yang '/)
+ (/ 'whole ','yin ','yang ','bogus '/)
namelist /obs_diag_nml/ obs_sequence_name, obs_sequence_list, &
bin_width_days, bin_width_seconds, &
@@ -564,13 +563,15 @@
endif
! Check to see if it is an identity observation.
- ! Redefine identity observations as flavor = QTY_STATE_VARIABLE
- !>@todo use get_state_meta_data() to determine exactly. Could then
+ ! Redefine identity observations as flavor = RAW_STATE_VARIABLE
+ !>@todo use get_state_meta_data() to determine state quantity at the index.
+ !> Still have a problem determining what state type best relates
+ !> to the observation kind - but it would allow us to
!> do this for all models, regardless of dimensionality.
if ( flavor < 0 ) then
Nidentity = Nidentity + 1
- flavor = QTY_STATE_VARIABLE
+ flavor = RAW_STATE_VARIABLE
endif
!--------------------------------------------------------------
More information about the Dart-dev
mailing list