[Dart-dev] DART/branches Revision: 11154

dart at ucar.edu dart at ucar.edu
Mon Feb 27 08:53:22 MST 2017


mizzi at ucar.edu
2017-02-27 08:53:20 -0700 (Mon, 27 Feb 2017)
32
Update SF-Chem/DART repository




Modified: DART/branches/mizzi/models/wrf_chem/WRF_DART_utilities/wrf_dart_obs_preprocess.f90
===================================================================
--- DART/branches/mizzi/models/wrf_chem/WRF_DART_utilities/wrf_dart_obs_preprocess.f90	2017-02-24 20:47:44 UTC (rev 11153)
+++ DART/branches/mizzi/models/wrf_chem/WRF_DART_utilities/wrf_dart_obs_preprocess.f90	2017-02-27 15:53:20 UTC (rev 11154)
@@ -41,7 +41,8 @@
                              MODIS_AOD_RETRIEVAL,  &
                              MOPITT_CO_RETRIEVAL,  &
                              IASI_CO_RETRIEVAL, &
-                             IASI_O3_RETRIEVAL
+                             IASI_O3_RETRIEVAL, &
+                             AIRNOW_O3
 ! APM/JB ---
 use time_manager_mod, only : time_type, set_calendar_type, GREGORIAN, set_time
 use        model_mod, only : static_init_model
@@ -69,7 +70,8 @@
                       modis_aod_extra    = 'obs_seq.modis_aod',  &
                       mopitt_co_extra    = 'obs_seq.mopitt_co',  &
                       iasi_co_extra      = 'obs_seq.iasi_co',    &
-                      iasi_o3_extra      = 'obs_seq.iasi_o3'
+                      iasi_o3_extra      = 'obs_seq.iasi_o3',    &
+                      airnow_o3_extra    = 'obs_seq.airnow_o3'
 character(len=80)  :: name, sgday, sgsec
 ! APM/JB ---
 integer            :: max_num_obs              = 600000   ! Largest number of obs in one sequence
@@ -123,6 +125,11 @@
 real(r8)           :: iasi_o3_horiz_int           = 100.0_r8   ! horizontal interval for super-ob
 real(r8)           :: iasi_o3_pres_int            = 2500.0_r8  ! pressure interval for super-ob
 logical            :: overwrite_ncep_iasi_o3_qc   = .false.    ! true to overwrite NCEP QC (see instructions)
+!  AIRNOW O3 specific parameters
+logical            :: superob_airnow_o3           = .false.    ! super-ob sat wind data
+real(r8)           :: airnow_o3_horiz_int         = 100.0_r8   ! horizontal interval for super-ob
+real(r8)           :: airnow_o3_pres_int          = 2500.0_r8  ! pressure interval for super-ob
+logical            :: overwrite_ncep_airnow_o3_qc = .false.    ! true to overwrite NCEP QC (see instructions)
 ! APM/JB ---
 
 !  surface obs. specific parameters
@@ -141,7 +148,8 @@
          superob_modis_aod, modis_aod_pres_int, modis_aod_extra, modis_aod_horiz_int, &
          superob_mopitt_co, mopitt_co_pres_int, mopitt_co_extra, mopitt_co_horiz_int, &
          superob_iasi_co, iasi_co_pres_int, iasi_co_extra, iasi_co_horiz_int, &
-         superob_iasi_o3, iasi_o3_pres_int, iasi_o3_extra, iasi_o3_horiz_int
+         superob_iasi_o3, iasi_o3_pres_int, iasi_o3_extra, iasi_o3_horiz_int, &
+         superob_airnow_o3, airnow_o3_pres_int, airnow_o3_extra, airnow_o3_horiz_int
 ! APM/JB ---
 
 ! ----------------------------------------------------------------------
@@ -160,7 +168,8 @@
 type(obs_sequence_type) :: seq_all, seq_rawin, seq_sfc, seq_acars, seq_satwnd, &
                            seq_prof, seq_tc, seq_gpsro, seq_other, &
 ! APM/JB +++
-                           seq_modis_aod, seq_mopitt_co, seq_iasi_co, seq_iasi_o3
+                           seq_modis_aod, seq_mopitt_co, seq_iasi_co, seq_iasi_o3, &
+                           seq_airnow_o3
 ! APM/JB ---
 
 type(time_type)         :: anal_time
@@ -239,6 +248,7 @@
 call create_new_obs_seq(num_copies, num_qc, max_num_obs, seq_mopitt_co)
 call create_new_obs_seq(num_copies, num_qc, max_num_obs, seq_iasi_co)
 call create_new_obs_seq(num_copies, num_qc, max_num_obs, seq_iasi_o3)
+call create_new_obs_seq(num_copies, num_qc, max_num_obs, seq_airnow_o3)
 ! APM/JB ---
 call create_new_obs_seq(num_copies, num_qc, max_obs_seq, seq_other)
 
@@ -248,7 +258,8 @@
 include_sig_data, obs_pressure_top, obs_height_top, sfc_elevation_check, &
 sfc_elevation_tol, overwrite_ncep_sfc_qc, overwrite_ncep_satwnd_qc, &
 overwrite_obs_time, anal_time, seq_rawin, seq_sfc, seq_acars, seq_satwnd, & 
-seq_tc, seq_gpsro, seq_modis_aod, seq_mopitt_co, seq_iasi_co, seq_iasi_o3, seq_other)
+seq_tc, seq_gpsro, seq_modis_aod, seq_mopitt_co, seq_iasi_co, seq_iasi_o3, &
+seq_airnow_o3, seq_other)
 ! APM/JB ---
 
 !  add supplimental rawinsonde observations from file
@@ -327,6 +338,11 @@
 IASI_O3_RETRIEVAL, nx, ny, obs_boundary, include_sig_data, &
 obs_pressure_top, obs_height_top, sfc_elevation_check, sfc_elevation_tol, &
 overwrite_obs_time, anal_time)
+!
+call add_supplimental_obs(airnow_o3_extra, seq_airnow_o3, max_obs_seq, &
+AIRNOW_O3, nx, ny, obs_boundary, include_sig_data, &
+obs_pressure_top, obs_height_top, sfc_elevation_check, sfc_elevation_tol, &
+overwrite_obs_time, anal_time)
 ! APM/JB ---
 
 !  remove all sonde observations within radius of TC if desired
@@ -353,6 +369,9 @@
 !                                     iasi_co_horiz_int, iasi_co_pres_int)
 !  super-ob IASI_O3 data
 ! if ( superob_iasi_o3 ) call superob_iasi_o3_data(seq_iasi_o3, anal_time, &
+!                                     iasi_co_horiz_int, iasi_co_pres_int)
+!  super-ob AIRNOW_O3 data
+! if ( superob_airnow_o3 ) call superob_airnow_o3_data(seq_airnow_o3, anal_time, &
 ! APM/JB ---
 
 max_obs_seq = get_num_obs(seq_tc)     + get_num_obs(seq_rawin) + &
@@ -361,7 +380,8 @@
               get_num_obs(seq_gpsro)  +  get_num_obs(seq_other) + &
 ! APM/JB +++
               get_num_obs(seq_modis_aod) + get_num_obs(seq_mopitt_co) + &
-              get_num_obs(seq_iasi_co) + get_num_obs(seq_iasi_o3) 


More information about the Dart-dev mailing list