Merge remote-tracking branch 'origin/release-v4.5.2'
[WRF.git] / var / da / da_qscat / da_qscat.f90
blob619b422d9e0b8f56000ee8a1974a902f46861896
1 module da_qscat
3 use module_domain, only : domain
5 use da_control, only : obs_qc_pointer,max_ob_levels,missing_r, &
6 check_max_iv_print, check_max_iv_unit, v_interp_p, v_interp_h, &
7 check_max_iv, missing, max_error_uv, max_error_t, rootproc, &
8 qscat, max_error_p,max_error_q, trace_use_dull, &
9 max_stheight_diff,missing_data,max_error_bq,max_error_slp, &
10 max_error_bt, max_error_buv, anal_type_verify, kms,kme,kts,kte,&
11 ob_vars,qcstat_conv_unit, fails_error_max, &
12 convert_fd2uv,convert_uv2fd,max_error_spd,max_error_dir,max_omb_spd,max_omb_dir,pi,qc_rej_both,&
13 wind_sd_qscat, wind_stats_sd, write_rej_obs_conv
14 use da_grid_definitions, only : da_ffdduv, da_ffdduv_model, da_ffdduv_diagnose
15 use da_physics, only : da_uv_to_sd_lin, da_uv_to_sd_adj
16 use da_define_structures, only : maxmin_type, iv_type, y_type, jo_type, &
17 bad_data_type, x_type, number_type, bad_data_type
18 use da_interpolation, only : da_to_zk, &
19 da_interp_lin_3d,da_interp_lin_3d_adj
20 use da_par_util, only : da_proc_stats_combine
21 use da_par_util1, only : da_proc_sum_int
22 use da_statistics, only : da_stats_calculate
23 use da_tools, only : da_max_error_qc, da_residual, da_convert_zk
24 use da_tracing, only : da_trace_entry, da_trace_exit
26 ! The "stats_qscat_type" is ONLY used locally in da_qscat:
28 type residual_qscat1_type
29 real :: u ! u-wind.
30 real :: v ! v-wind.
31 end type residual_qscat1_type
33 type maxmin_qscat_stats_type
34 type (maxmin_type) :: u, v
35 end type maxmin_qscat_stats_type
37 type stats_qscat_type
38 type (maxmin_qscat_stats_type) :: maximum, minimum
39 type (residual_qscat1_type) :: average, rms_err
40 end type stats_qscat_type
42 contains
44 #include "da_jo_and_grady_qscat.inc"
45 #include "da_residual_qscat.inc"
46 #include "da_check_max_iv_qscat.inc"
47 #include "da_get_innov_vector_qscat.inc"
48 #include "da_ao_stats_qscat.inc"
49 #include "da_oi_stats_qscat.inc"
50 #include "da_print_stats_qscat.inc"
51 #include "da_transform_xtoy_qscat.inc"
52 #include "da_transform_xtoy_qscat_adj.inc"
53 #include "da_calculate_grady_qscat.inc"
55 end module da_qscat