Merge remote-tracking branch 'origin/release-v4.6.1'
[WRF.git] / var / da / da_lightning / da_lightning.f90
blob0e33c0eb416aa01876f7aaf13be3d2f8bea925a3
1 module da_lightning
3 use module_domain, only : domain
5 use da_control, only : stdout, obs_qc_pointer,max_ob_levels,missing_r, &
6 v_interp_p, v_interp_h, check_max_iv_print, trace_use, &
7 missing, max_error_uv, max_error_t, rootproc, &
8 max_error_p,max_error_q, check_max_iv_unit,check_max_iv, &
9 max_stheight_diff,missing_data,max_error_bq,max_error_slp, &
10 max_error_bt, max_error_buv, lightning, qcstat_conv_unit, fails_error_max, &
11 use_lightning_w, use_lightning_qv, use_lightning_div, &
12 fg_format,fg_format_wrf_arw_regional,fg_format_wrf_nmm_regional,fg_format_wrf_arw_global,&
13 fg_format_kma_global,max_error_lda_w,max_error_lda_qv, max_error_lda_div, &
14 far_below_model_surface,kms,kme,kts,kte, trace_use_dull,filename_len,&
15 myproc, analysis_date, num_procs , ierr, comm
17 use da_control, only : its, ite, jts, jte, ids, ide, jds, jde, ims, ime, jms, jme
18 use da_control, only : cloudbase_calc_opt
19 use da_define_structures, only : maxmin_type, iv_type, y_type, jo_type, &
20 bad_data_type, x_type, number_type, bad_data_type, &
21 infa_type, field_type
22 use da_interpolation, only : da_to_zk, da_interp_lin_3d,da_interp_lin_3d_adj
23 use da_par_util, only :da_proc_stats_combine, da_patch_to_global
24 use da_par_util1, only : da_proc_sum_int
25 use da_statistics, only : da_stats_calculate
26 use da_tools, only : da_max_error_qc, da_residual, map_info, da_llxy_wrf, da_llxy_default, da_convert_zk
27 use da_tracing, only : da_trace_entry, da_trace_exit
28 use da_reporting, only : da_error, da_warning, da_message, message
29 use da_tools_serial, only : da_get_unit, da_free_unit
31 ! The "stats_lightning_type" is ONLY used locally in da_lightning:
33 type residual_lightning1_type
34 real :: w
35 real :: div
36 real :: qv
37 end type residual_lightning1_type
39 type maxmin_lightning_stats_type
40 type (maxmin_type) :: w ! vertical velocity
41 type (maxmin_type) :: div ! divgerence
42 type (maxmin_type) :: qv ! water vapor
43 end type maxmin_lightning_stats_type
45 type stats_lightning_type
46 type (maxmin_lightning_stats_type) :: maximum, minimum
47 type (residual_lightning1_type) :: average, rms_err
48 end type stats_lightning_type
50 contains
52 #include "da_ao_stats_lightning.inc"
53 #include "da_jo_and_grady_lightning.inc"
54 #include "da_residual_lightning.inc"
55 #include "da_oi_stats_lightning.inc"
56 #include "da_print_stats_lightning.inc"
57 #include "da_transform_xtoy_lightning.inc"
58 #include "da_transform_xtoy_lightning_adj.inc"
59 #include "da_check_max_iv_lightning.inc"
60 #include "da_get_innov_vector_lightning.inc"
61 #include "da_calculate_grady_lightning.inc"
62 #include "da_div_profile.inc"
63 #include "da_div_profile_tl.inc"
64 #include "da_div_profile_adj.inc"
66 end module da_lightning