[Dart-dev] DART/branches Revision: 12690

dart at ucar.edu dart at ucar.edu
Wed Jun 27 16:22:30 MDT 2018


jla at ucar.edu
2018-06-27 16:22:30 -0600 (Wed, 27 Jun 2018)
206
Cleaned up version of GIGG compliant observation error options via namelist that can do gamma
or inverse gamma errors with the obs_error_variance field being interpretted as type 1 relative
error variance.



Modified: DART/branches/gigg/assimilation_code/programs/perfect_model_obs/perfect_model_obs.f90
===================================================================
--- DART/branches/gigg/assimilation_code/programs/perfect_model_obs/perfect_model_obs.f90	2018-06-27 22:20:16 UTC (rev 12689)
+++ DART/branches/gigg/assimilation_code/programs/perfect_model_obs/perfect_model_obs.f90	2018-06-27 22:22:30 UTC (rev 12690)
@@ -105,7 +105,7 @@
 integer  :: output_interval = 1
 integer  :: print_every_nth_obs = 0
 
-! Temporary control of the simulated observation uncertainty for testing GIGG filter
+! Control of the simulated observation uncertainty for testing GIGG filters
 ! Value of 1 is default and is standard gaussian
 ! Value of 2 means observation pdf given truth is inverse gamma and value in file is type 1 relative error variance
 ! Value of 3 means observation pdf given truth is gamma and value in file is type 1 relative error variance
@@ -166,6 +166,7 @@
 
 real(r8)                :: true_obs(1), obs_value(1), qc(1)
 
+! Next declarations are for GIGG filter from Craig Bishop
 real(r8)                :: T1Rr, shape, scale
 
 character(len=metadatalength) :: copy_meta_data(2), qc_meta_data, obs_seq_read_format
@@ -563,10 +564,6 @@
 
             ! For GIGG filters, need to define different distributions for observation uncertainty
             ! The obs_err_var in the obs_seq file has different meanings for different optiona
-
-! Set truth to 1 for clean distribution test
-!!!true_obs(1) = 1.0_r8
-
             if(gigg_obs_error_pdf == 1) then
                ! Standard gaussian
                obs_value(1) = random_gaussian(random_seq, true_obs(1), &
@@ -578,10 +575,6 @@
                shape = 1.0_r8 / T1Rr + 2.0_r8
                scale = true_obs(1) * (shape - 1.0_r8)
                obs_value(1) = random_inverse_gamma(random_seq, shape, scale)
-
-! Output for clean distribution test
-!write(22, *) true_obs(1), T1Rr, shape, scale, obs_value(1)
-
             elseif(gigg_obs_error_pdf == 3) then
                ! Observation pdf given truth is gamma and value in file is type 1 relative error variance
                ! Get alpha and beta for the random number generation
@@ -589,10 +582,6 @@
                shape = 1.0_r8 / T1Rr
                scale = true_obs(1) / shape
                obs_value(1) = random_gamma(random_seq, shape, scale)
-
-! Output for clean distribution test
-!write(33, *) true_obs(1), T1Rr, shape, scale, obs_value(1)
-
             else
                ! Illegal value for gigg_obs_error_pdf
                msgstring = 'Illegal value for namelist parameter gigg_obs_error_pdf'


More information about the Dart-dev mailing list