wrf svn trunk commit r4103
[wrffire.git] / wrfv2_fire / var / da / da_obs_io / da_obs_io.f90
blob79fbec568600b4434abc6f3a69f6c7dae468462c
1 module da_obs_io
3 use module_domain, only : domain
5 use da_control, only : missing_r, fmt_each, fmt_info, trace_use, &
6 fmt_srfc, filtered_obs_unit, num_procs,missing, ierr,comm, rand_unit, &
7 obs_qc_pointer, rootproc, omb_unit,omb_add_noise,use_airepobs, &
8 use_airepobs,use_bogusobs,use_gpspwobs,use_gpsztdobs,use_gpsrefobs,use_geoamvobs, &
9 use_metarobs,use_profilerobs,use_pilotobs,use_buoyobs,use_shipsobs, &
10 use_synopobs,use_soundobs,use_mtgirsobs,use_tamdarobs,use_qscatobs,test_transforms, use_ssmiretrievalobs, report_start, &
11 report_end, global, print_detail_obs, stdout, t_kelvin, stderr, &
12 max_ob_levels, missing_data, max_bogus_input, myproc,convert_uv2fd, &
13 fails_error_max,standard_atmosphere,zero_t_td,print_detail_f_obs, &
14 print_detail_radar,use_satemobs,use_polaramvobs,use_ssmt1obs, &
15 use_ssmt2obs, use_airsretobs,convert_fd2uv,anal_type_qcobs,gravity, &
16 filename_len, t0, max_airep_input, max_bogus_input, max_ssmi_rv_input, &
17 max_buoy_input, max_gpsref_input, max_gpspw_input, max_geoamv_input, &
18 max_airsr_input, max_polaramv_input, max_radar_input, &
19 max_profiler_input, max_sound_input, max_mtgirs_input, max_tamdar_input, max_ships_input, &
20 max_satem_input,max_pilot_input, max_metar_input, max_ssmt1_input, &
21 max_synop_input,max_ssmt2_input, max_qscat_input, &
22 obs_names, num_ob_indexes, fm_index, ids,ide, ite, jte, &
23 sound, mtgirs,synop, pilot, satem, geoamv, polaramv, airep, gpspw, gpsref, &
24 tamdar, tamdar_sfc, metar, ships, ssmi_rv, ssmi_tb, ssmt1, ssmt2, qscat, profiler, buoy, bogus, pseudo, &
25 radar, radiance, airsr, sonde_sfc, trace_use_dull, num_fgat_time, time_slots, myproc, &
26 qmarker_retain, anal_type_verify
28 use da_define_structures, only : iv_type, multi_level_type, &
29 radar_multi_level_type, y_type, field_type, each_level_type, &
30 radar_each_level_type, info_type, model_loc_type,gpsref_type
31 use da_grid_definitions, only : da_ffdduv
32 use da_obs, only : da_count_filtered_obs,da_check_missing,da_obs_proc_station
33 use da_par_util1, only : da_proc_sum_int
34 use da_physics, only : da_tp_to_qs
35 use da_reporting, only : da_warning, message, da_error
36 use da_tools, only : da_llxy, da_get_julian_time
37 use da_tools_serial, only : da_free_unit, da_get_unit, da_advance_time
38 use da_tracing, only : da_trace_entry, da_trace_exit
40 #ifdef BUFR
41 use da_control, only : thin_conv
42 use da_grid_definitions, only : da_earth_2_model_wind
43 use module_radiance, only : deg2rad
44 use gsi_thinning, only : map2grids, map2grids_conv, cleangrids_conv, thinning_grid_conv
45 use da_obs, only : da_set_obs_missing
46 use da_bufr, only : openbf, closbf, datelen, ufbint, readns, ireadns, ufbseq
47 #ifdef DM_PARALLEL
48 use da_control, only : root
49 ! use mpi, only : mpi_min
50 use da_par_util, only : true_mpi_real
51 #endif
52 #endif
53 use da_reporting, only : message, da_message
55 implicit none
57 #ifdef DM_PARALLEL
58 include 'mpif.h'
59 #endif
61 contains
63 #include "da_read_obs_ascii.inc"
64 #include "da_scan_obs_ascii.inc"
65 #include "da_read_obs_radar.inc"
66 #include "da_scan_obs_radar.inc"
67 #include "da_read_errfac.inc"
68 #include "da_use_obs_errfac.inc"
69 #include "da_write_obs.inc"
70 #include "da_write_iv_for_multi_inc.inc"
71 #include "da_read_iv_for_multi_inc.inc"
72 #include "da_search_obs.inc"
73 #include "da_write_obs_etkf.inc"
74 #include "da_write_filtered_obs.inc"
75 #include "da_write_modified_filtered_obs.inc"
76 #include "da_write_y.inc"
77 #include "da_read_obs_bufr.inc"
78 #include "da_read_obs_bufrgpsro.inc"
79 #include "da_final_write_obs.inc"
80 #include "da_final_write_y.inc"
81 #include "da_read_y_unit.inc"
82 #include "da_read_rand_unit.inc"
83 #include "da_read_omb_tmp.inc"
84 #include "da_write_noise_to_ob.inc"
85 #include "da_final_write_filtered_obs.inc"
86 #include "da_final_write_modified_filtered_obs.inc"
88 end module da_obs_io