[Dart-dev] DART/branches Revision: 12005

dart at ucar.edu dart at ucar.edu
Wed Oct 18 15:35:22 MDT 2017


mizzi at ucar.edu
2017-10-18 15:35:19 -0600 (Wed, 18 Oct 2017)
171
Update my branch of WRF-Chem/DART to include working IASI O3 forward operator and modify other retrieval profile forward operators' model interpolation near the surface.




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-10-17 23:41:44 UTC (rev 12004)
+++ DART/branches/mizzi/models/wrf_chem/WRF_DART_utilities/wrf_dart_obs_preprocess.f90	2017-10-18 21:35:19 UTC (rev 12005)
@@ -42,6 +42,7 @@
                              MOPITT_CO_RETRIEVAL,  &
                              IASI_CO_RETRIEVAL, &
                              IASI_O3_RETRIEVAL, &
+                             OMI_NO2_COLUMN, &
                              AIRNOW_CO, AIRNOW_O3, &
                              PANDA_CO, PANDA_O3, PANDA_PM25
 ! APM/JB ---
@@ -72,6 +73,7 @@
                       mopitt_co_extra    = 'obs_seq.mopitt_co',  &
                       iasi_co_extra      = 'obs_seq.iasi_co',    &
                       iasi_o3_extra      = 'obs_seq.iasi_o3',    &
+                      omi_no2_extra      = 'obs_seq.omi_no2',    &
                       airnow_co_extra    = 'obs_seq.airnow_co',  &
                       airnow_o3_extra    = 'obs_seq.airnow_o3',  &
                       panda_co_extra     = 'obs_seq.panda_co',   &
@@ -130,6 +132,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)
+!  OMI NO2 specific parameters
+logical            :: superob_omi_no2             = .false.    ! super-ob sat wind data
+real(r8)           :: omi_no2_horiz_int           = 100.0_r8   ! horizontal interval for super-ob
+real(r8)           :: omi_no2_pres_int            = 2500.0_r8  ! pressure interval for super-ob
+logical            :: overwrite_ncep_omi_no2_qc   = .false.    ! true to overwrite NCEP QC (see instructions)
 !  AIRNOW CO specific parameters
 logical            :: superob_airnow_co           = .false.    ! super-ob sat wind data
 real(r8)           :: airnow_co_horiz_int         = 100.0_r8   ! horizontal interval for super-ob
@@ -174,6 +181,7 @@
          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_omi_no2, omi_no2_pres_int, omi_no2_extra, omi_no2_horiz_int, &
          superob_airnow_co, airnow_co_pres_int, airnow_co_extra, airnow_co_horiz_int, &
          superob_airnow_o3, airnow_o3_pres_int, airnow_o3_extra, airnow_o3_horiz_int, &
          superob_panda_co, panda_co_pres_int, panda_co_extra, panda_co_horiz_int, &
@@ -198,7 +206,7 @@
                            seq_prof, seq_tc, seq_gpsro, seq_other, &
 ! APM/JB +++
                            seq_modis_aod, seq_mopitt_co, seq_iasi_co, seq_iasi_o3, &
-                           seq_airnow_co, seq_airnow_o3, &
+                           seq_omi_no2, seq_airnow_co, seq_airnow_o3, &
                            seq_panda_co, seq_panda_o3, seq_panda_pm25
 ! APM/JB ---
 
@@ -277,6 +285,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_omi_no2)
 call create_new_obs_seq(num_copies, num_qc, max_num_obs, seq_airnow_co)
 call create_new_obs_seq(num_copies, num_qc, max_num_obs, seq_airnow_o3)
 call create_new_obs_seq(num_copies, num_qc, max_num_obs, seq_panda_co)
@@ -291,7 +300,7 @@
 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_tc, seq_gpsro, seq_modis_aod, seq_mopitt_co, seq_iasi_co, seq_iasi_o3, seq_omi_no2, &
 seq_airnow_co, seq_airnow_o3, seq_panda_co, seq_panda_o3, seq_panda_pm25, seq_other)
 ! APM/JB ---
 
@@ -372,6 +381,11 @@
 obs_pressure_top, obs_height_top, sfc_elevation_check, sfc_elevation_tol, &
 overwrite_obs_time, anal_time)
 !
+call add_supplimental_obs(omi_no2_extra, seq_omi_no2, max_obs_seq, &
+OMI_NO2_COLUMN, 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_co_extra, seq_airnow_co, max_obs_seq, &
 AIRNOW_CO, nx, ny, obs_boundary, include_sig_data, &
 obs_pressure_top, obs_height_top, sfc_elevation_check, sfc_elevation_tol, &
@@ -423,12 +437,15 @@
 !  super-ob IASI_O3 data
 ! if ( superob_iasi_o3 ) call superob_iasi_o3_data(seq_iasi_o3, anal_time, &
 !                                     iasi_o3_horiz_int, iasi_o3_pres_int)
+!  super-ob OMI NO2 data
+! if ( superob_omi_no2 ) call superob_omi_no2_data(seq_omi_no2, anal_time, &
+!                                     omi_no2_horiz_int, omi_no2_pres_int)
 !  super-ob AIRNOW_CO data
 ! if ( superob_airnow_co ) call superob_airnow_co_data(seq_airnow_co, anal_time, &
 !                                     airnow_co_horiz_int, airnow_co_pres_int)
 !  super-ob AIRNOW_O3 data
 ! if ( superob_airnow_o3 ) call superob_airnow_o3_data(seq_airnow_o3, anal_time, &
-!                                     iasi_o3_horiz_int, iasi_o3_pres_int)
+!                                     airnow_o3_horiz_int, airnow_o3_pres_int)
 !  super-ob PANDA_CO data
 ! if ( superob_panda_co ) call superob_panda_co_data(seq_panda_co, anal_time, &
 !                                     panda_co_horiz_int, panda_co_pres_int)
@@ -447,6 +464,7 @@
 ! 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) + &
+              get_num_obs(seq_omi_no2) + &
               get_num_obs(seq_airnow_co) + get_num_obs(seq_airnow_o3) + & 


More information about the Dart-dev mailing list