da_obs.f90

References to this file elsewhere.
1 module da_obs
2 
3    use da_define_structures, only : multi_level_type, y_type, iv_type, infa_type, &
4       field_type, each_level_type,da_allocate_y, da_random_seed
5    use module_domain, only : domain, x_type
6 
7    use da_airep, only : da_transform_xtoy_airep, da_transform_xtoy_airep_adj 
8    use da_airsr, only : da_transform_xtoy_airsr, da_transform_xtoy_airsr_adj 
9    use da_bogus, only : da_transform_xtoy_bogus, da_transform_xtoy_bogus_adj
10    use da_buoy, only : da_transform_xtoy_buoy,da_transform_xtoy_buoy_adj
11    use da_control, only : use_shipsobs, use_synopobs, use_ssmt2obs, &
12       use_soundobs,use_satemobs, use_profilerobs, use_pilotobs, &
13       use_qscatobs,use_metarobs, use_polaramvobs, use_geoamvobs, &
14       use_bogusobs,use_buoyobs, use_airsretobs, trace_use, num_procs, &
15       missing_r, missing, use_airepobs,use_gpspwobs,use_gpsrefobs, &
16       use_ssmt1obs,filtered_obs_unit,fmt_each,fmt_info,fmt_srfc, ide, jde, &
17       pseudo_x, fg_format, fg_format_kma_global, fg_format_wrf, missing_data, &
18       pseudo_var, pseudo_val,stdout, num_pseudo, pseudo_y, pseudo_z, &
19       pseudo_err,obs_qc_pointer,myproc,rtm_option,rtm_option_rttov, &
20       rtm_option_crtm,use_rad, base_temp, base_lapse, base_pres, &
21       ob_format,ob_format_ascii,filename_len, trace_use_dull, &
22       sound, synop, profiler, gpsref, gpspw, polaramv, geoamv, ships, metar, &
23       satem, radar, ssmi_rv, ssmi_tb, ssmt1, ssmt2, airsr, pilot, airep, &
24       bogus, buoy, qscat,pseudo, num_ob_indexes, its,ite,jds,jts,jte,ids
25    ! use_crtm_kmatrix,use_crtm_kmatrix_fast
26 #ifdef CRTM
27    use da_crtm, only : da_transform_xtoy_crtm, da_transform_xtoy_crtm_adj
28       !da_transform_xtoy_crtmk,da_transform_xtoy_crtmk_adj
29       !da_transform_xtoy_crtmk_f, da_transform_xtoy_crtmk_f_adj
30 #endif
31    use da_geoamv,    only : da_transform_xtoy_geoamv, da_transform_xtoy_geoamv_adj
32    use da_gpspw,     only : da_transform_xtoy_gpspw,da_transform_xtoy_gpspw_adj
33    use da_gpsref,    only : da_transform_xtoy_gpsref,da_transform_xtoy_gpsref_adj
34    use da_metar,     only : da_transform_xtoy_metar, da_transform_xtoy_metar_adj
35    use da_physics,   only : da_tp_to_qs,da_get_q_error
36    use da_pilot,     only : da_transform_xtoy_pilot,da_transform_xtoy_pilot_adj
37    use da_polaramv,  only : da_transform_xtoy_polaramv, da_transform_xtoy_polaramv_adj
38    use da_profiler,  only : da_transform_xtoy_profiler, da_transform_xtoy_profiler_adj
39    use da_pseudo,    only : da_transform_xtoy_pseudo, da_transform_xtoy_pseudo_adj
40    use da_qscat,     only : da_transform_xtoy_qscat,da_transform_xtoy_qscat_adj
41    use da_radar,     only : da_transform_xtoy_radar,da_transform_xtoy_radar_adj
42    use da_reporting, only : da_error, message, da_warning
43    use da_rttov,     only : da_transform_xtoy_rttov,da_transform_xtoy_rttov_adj
44    use da_satem,     only : da_transform_xtoy_satem, da_transform_xtoy_satem_adj
45    use da_ships,     only : da_transform_xtoy_ships, da_transform_xtoy_ships_adj
46    use da_sound,     only : da_transform_xtoy_sound, da_transform_xtoy_sonde_sfc, &
47       da_transform_xtoy_sound_adj, da_transform_xtoy_sonde_sfc_adj
48    use da_ssmi,      only : da_transform_xtoy_ssmt1, da_transform_xtoy_ssmt2, &
49       da_transform_xtoy_ssmi_tb, da_transform_xtoy_ssmi_rv, &
50       da_transform_xtoy_ssmi_tb_adj, da_transform_xtoy_ssmi_rv_adj, &
51       da_transform_xtoy_ssmt1_adj, da_transform_xtoy_ssmt2_adj
52    use da_synop,     only : da_transform_xtoy_synop,da_transform_xtoy_synop_adj
53    use da_tools_serial,    only : da_free_unit, da_get_unit
54    use da_tools,     only : da_add_noise, da_add_noise_new,da_random_omb
55    use da_tracing,   only : da_trace_entry, da_trace_exit 
56 
57    implicit none
58 
59 contains
60 
61 #include "da_obs_proc_station.inc"
62 #include "da_transform_xtoy.inc"
63 #include "da_transform_xtoy_adj.inc"
64 #include "da_add_noise_to_ob.inc"
65 #include "da_check_missing.inc"
66 #include "da_fill_obs_structures.inc"
67 #include "da_random_omb_all.inc"
68 #include "da_setup_pseudo_obs.inc"
69 #include "da_store_obs_grid_info.inc"
70 #include "da_count_filtered_obs.inc"
71 
72 end module da_obs