[Dart-dev] DART/branches Revision: 12126

dart at ucar.edu dart at ucar.edu
Mon Nov 20 14:30:32 MST 2017


nancy at ucar.edu
2017-11-20 14:30:32 -0700 (Mon, 20 Nov 2017)
215
add a forward operator to return the obs value raised
to a power for any of the 1d models.  add the additional
obs types to the 'assimilate these obs types' namelist so
they appear in the create_obs_sequence menu.




Modified: DART/branches/rma_trunk/assimilation_code/modules/observations/DEFAULT_obs_kind_mod.F90
===================================================================
--- DART/branches/rma_trunk/assimilation_code/modules/observations/DEFAULT_obs_kind_mod.F90	2017-11-20 21:29:07 UTC (rev 12125)
+++ DART/branches/rma_trunk/assimilation_code/modules/observations/DEFAULT_obs_kind_mod.F90	2017-11-20 21:30:32 UTC (rev 12126)
@@ -307,7 +307,8 @@
     QTY_SFCO                        = 170, &
     QTY_SFCO01                      = 171, &
     QTY_SFCO02                      = 172, &
-    QTY_SFCO03                      = 173
+    QTY_SFCO03                      = 173, &
+    QTY_STATE_VAR_POWER             = 174
 
 
 integer, parameter, public :: &
@@ -735,6 +736,7 @@
 obs_kind_names(171) = obs_kind_type(QTY_SFCO01,         'QTY_SFCO01')
 obs_kind_names(172) = obs_kind_type(QTY_SFCO02,         'QTY_SFCO02')
 obs_kind_names(173) = obs_kind_type(QTY_SFCO03,         'QTY_SFCO03')
+obs_kind_names(174) = obs_kind_type(QTY_STATE_VAR_POWER,'QTY_STATE_VAR_POWER')
 
 obs_kind_names(200) = obs_kind_type(QTY_AOD,            'QTY_AOD')
 obs_kind_names(201) = obs_kind_type(QTY_CB1,            'QTY_CB1')

Modified: DART/branches/rma_trunk/models/lorenz_96/work/input.nml
===================================================================
--- DART/branches/rma_trunk/models/lorenz_96/work/input.nml	2017-11-20 21:29:07 UTC (rev 12125)
+++ DART/branches/rma_trunk/models/lorenz_96/work/input.nml	2017-11-20 21:30:32 UTC (rev 12126)
@@ -126,6 +126,8 @@
 
 &obs_kind_nml
    assimilate_these_obs_types = 'RAW_STATE_VARIABLE',
+                                'RAW_STATE_1D_INTEGRAL',
+                                'RAW_STATE_VAR_POWER'
    /
 
 &model_nml

Modified: DART/branches/rma_trunk/observations/forward_operators/obs_def_1d_state_mod.f90
===================================================================
--- DART/branches/rma_trunk/observations/forward_operators/obs_def_1d_state_mod.f90	2017-11-20 21:29:07 UTC (rev 12125)
+++ DART/branches/rma_trunk/observations/forward_operators/obs_def_1d_state_mod.f90	2017-11-20 21:30:32 UTC (rev 12126)
@@ -7,6 +7,7 @@
 ! BEGIN DART PREPROCESS KIND LIST
 ! RAW_STATE_VARIABLE,    QTY_STATE_VARIABLE,     COMMON_CODE
 ! RAW_STATE_1D_INTEGRAL, QTY_1D_INTEGRAL
+! RAW_STATE_VAR_POWER,   QTY_STATE_VAR_POWER
 ! LARGE_SCALE_STATE,     QTY_LARGE_SCALE_STATE,  COMMON_CODE
 ! SMALL_SCALE_STATE,     QTY_SMALL_SCALE_STATE,  COMMON_CODE
 ! END DART PREPROCESS KIND LIST
@@ -13,27 +14,36 @@
 
 ! BEGIN DART PREPROCESS USE OF SPECIAL OBS_DEF MODULE
 !   use obs_def_1d_state_mod, only : write_1d_integral, read_1d_integral, &
-!                                     interactive_1d_integral, get_expected_1d_integral
+!                                     interactive_1d_integral, get_expected_1d_integral, &
+                                     write_power, read_power, interactive_power, get_expected_power
 ! END DART PREPROCESS USE OF SPECIAL OBS_DEF MODULE
 
 ! BEGIN DART PREPROCESS GET_EXPECTED_OBS_FROM_DEF
 !         case(RAW_STATE_1D_INTEGRAL)                                                         
 !            call get_expected_1d_integral(state_handle, ens_size, location, obs_def%key, expected_obs, istatus)  
+!         case(RAW_STATE_VAR_POWER)
+!            call get_expected_power(state_handle, ens_size, location, obs_def%key, expected_obs, istatus)          
 ! END DART PREPROCESS GET_EXPECTED_OBS_FROM_DEF
 
 ! BEGIN DART PREPROCESS READ_OBS_DEF
 !      case(RAW_STATE_1D_INTEGRAL)
 !         call read_1d_integral(obs_def%key, ifile, fform)
+!      case(RAW_STATE_VAR_POWER)
+!         call read_power(obs_def%key, ifile, fform)
 ! END DART PREPROCESS READ_OBS_DEF
 
 ! BEGIN DART PREPROCESS WRITE_OBS_DEF
 !      case(RAW_STATE_1D_INTEGRAL)
 !         call write_1d_integral(obs_def%key, ifile, fform)
+!      case(RAW_STATE_VAR_POWER)
+!         call write_power(obs_def%key, ifile, fform)
 ! END DART PREPROCESS WRITE_OBS_DEF
 
 ! BEGIN DART PREPROCESS INTERACTIVE_OBS_DEF
 !      case(RAW_STATE_1D_INTEGRAL)
 !         call interactive_1d_integral(obs_def%key)
+!      case(RAW_STATE_VAR_POWER)
+!         call interactive_power(obs_def%key)
 ! END DART PREPROCESS INTERACTIVE_OBS_DEF
 
 ! BEGIN DART PREPROCESS MODULE CODE
@@ -49,6 +59,7 @@
                              ! nmlfileunit, do_nml_file, do_nml_term
                              !! Routines only needed for namelist support. NML1
 use     location_mod, only : location_type, set_location, get_location 
+use     obs_kind_mod, only : QTY_STATE_VARIABLE
 use  assim_model_mod, only : interpolate
 use   cov_cutoff_mod, only : comp_cov_factor
 use ensemble_manager_mod, only : ensemble_type
@@ -59,16 +70,22 @@
 ! These are the required interfaces for an obs_def module.  
 public :: write_1d_integral, read_1d_integral, &
           interactive_1d_integral, get_expected_1d_integral, &
-          set_1d_integral
+          set_1d_integral, &


More information about the Dart-dev mailing list