[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