Merge remote-tracking branch 'origin/release-v4.6.1'
[WRF.git] / var / da / da_metar / da_metar.f90
blob07b17c4271b5c2cc880c300bf1ced35ad42ba4c4
1 module da_metar
3 use module_domain, only : domain
5 use da_control, only : obs_qc_pointer,max_ob_levels,missing_r, &
6 v_interp_p, v_interp_h, check_max_iv_print, &
7 missing, max_error_uv, max_error_t, rootproc, &
8 max_error_p,max_error_q, check_max_iv_unit,check_max_iv, fails_error_max, &
9 max_stheight_diff,missing_data,max_error_bq,max_error_slp, &
10 max_error_bt, max_error_buv, metar,max_error_thickness, &
11 sfc_assi_options, trace_use_dull, anal_type_verify, kts,kte, &
12 kms,kme,sfc_assi_options_1,sfc_assi_options_2, max_ext_its, &
13 qcstat_conv_unit,ob_vars, &
14 convert_fd2uv, convert_uv2fd, max_error_spd, max_error_dir, &
15 max_omb_spd, max_omb_dir, pi, qc_rej_both, &
16 wind_sd_metar, wind_stats_sd, write_rej_obs_conv
17 use da_grid_definitions, only : da_ffdduv, da_ffdduv_model, da_ffdduv_diagnose
18 use da_define_structures, only : maxmin_type, iv_type, y_type, jo_type, &
19 bad_data_type, x_type, number_type, bad_data_type, &
20 maxmin_type
21 use da_interpolation, only : da_to_zk,da_interp_lin_2d, &
22 da_interp_lin_3d,da_interp_lin_3d_adj,da_interp_lin_2d_adj
24 use da_par_util, only : da_proc_stats_combine
25 use da_par_util1, only : da_proc_sum_int
26 use da_physics, only : da_sfc_pre,da_transform_xtopsfc_adj, &
27 da_transform_xtopsfc, da_uv_to_sd_lin, da_uv_to_sd_adj
28 use da_statistics, only : da_stats_calculate
29 use da_tools, only : da_max_error_qc, da_residual,da_obs_sfc_correction, da_convert_zk
30 use da_tracing, only : da_trace_entry, da_trace_exit
32 ! The "stats_metar_type" is ONLY used locally in da_metar:
34 type residual_metar1_type
35 real :: u ! u-wind.
36 real :: v ! v-wind.
37 real :: t ! temperature
38 real :: p ! pressure
39 real :: q ! specific humidity
40 end type residual_metar1_type
42 type maxmin_metar_stats_type
43 type (maxmin_type) :: u, v, t, p, q
44 end type maxmin_metar_stats_type
46 type stats_metar_type
47 type (maxmin_metar_stats_type) :: maximum, minimum
48 type (residual_metar1_type) :: average, rms_err
49 end type stats_metar_type
51 contains
53 #include "da_ao_stats_metar.inc"
54 #include "da_jo_and_grady_metar.inc"
55 #include "da_residual_metar.inc"
56 #include "da_oi_stats_metar.inc"
57 #include "da_print_stats_metar.inc"
58 #include "da_transform_xtoy_metar.inc"
59 #include "da_transform_xtoy_metar_adj.inc"
60 #include "da_check_max_iv_metar.inc"
61 #include "da_get_innov_vector_metar.inc"
62 #include "da_calculate_grady_metar.inc"
65 end module da_metar