Merge remote-tracking branch 'origin/release-v4.5.2'
[WRF.git] / var / da / da_mtgirs / da_mtgirs.f90
blob33b085a5080c866db741889ae17bdaad1510ede6
1 module da_mtgirs
3 use da_control, only : obs_qc_pointer,max_ob_levels,missing_r, &
4 check_max_iv_print, check_max_iv_unit, v_interp_p, v_interp_h, &
5 check_max_iv, missing_data, max_error_uv, max_error_t, rootproc, &
6 max_error_p,max_error_q, fails_error_max, &
7 max_stheight_diff,test_dm_exact, anal_type_verify, &
8 kms,kme,kts,kte, &
9 trace_use_dull, mtgirs, position_lev_dependant, max_ext_its, qcstat_conv_unit, ob_vars, &
10 convert_fd2uv, convert_uv2fd, max_error_spd, max_error_dir, max_omb_spd, max_omb_dir, pi, qc_rej_both,&
11 wind_sd_mtgirs, wind_stats_sd, write_rej_obs_conv
12 use da_grid_definitions, only : da_ffdduv,da_ffdduv_model, da_ffdduv_diagnose
13 use da_physics, only : da_uv_to_sd_lin, da_uv_to_sd_adj
14 use da_define_structures, only : maxmin_type, iv_type, y_type, jo_type, &
15 bad_data_type, x_type, number_type, bad_data_type
16 use module_domain, only : domain
17 use da_interpolation, only : da_to_zk, da_interp_lin_3d, &
18 da_interp_lin_3d_adj, da_interp_lin_2d, da_interp_lin_2d_adj, da_interp_lin_2d_partial
19 use da_statistics, only : da_stats_calculate
20 use da_tools, only : da_max_error_qc, da_residual, da_convert_zk, da_get_print_lvl
21 use da_par_util, only : da_proc_stats_combine
22 use da_par_util1, only : da_proc_sum_int
23 use da_tracing, only : da_trace_entry, da_trace_exit
25 ! The "stats_mtgirs_type" is ONLY used locally in da_mtgirs:
27 type residual_mtgirs1_type
28 real :: u ! u-wind.
29 real :: v ! v-wind.
30 real :: t ! temperature
31 real :: q ! specific humidity
32 end type residual_mtgirs1_type
34 type maxmin_mtgirs_stats_type
35 type (maxmin_type) :: u, v, t, q
36 end type maxmin_mtgirs_stats_type
38 type stats_mtgirs_type
39 type (maxmin_mtgirs_stats_type) :: maximum, minimum
40 type (residual_mtgirs1_type) :: average, rms_err
41 end type stats_mtgirs_type
43 contains
45 #include "da_ao_stats_mtgirs.inc"
46 #include "da_jo_and_grady_mtgirs.inc"
47 #include "da_jo_mtgirs_uvtq.inc"
48 #include "da_residual_mtgirs.inc"
49 #include "da_oi_stats_mtgirs.inc"
50 #include "da_print_stats_mtgirs.inc"
51 #include "da_transform_xtoy_mtgirs.inc"
52 #include "da_transform_xtoy_mtgirs_adj.inc"
53 #include "da_check_max_iv_mtgirs.inc"
54 #include "da_get_innov_vector_mtgirs.inc"
55 #include "da_calculate_grady_mtgirs.inc"
57 end module da_mtgirs