da_physics.f90

References to this file elsewhere.
1 module da_physics
2 
3    !---------------------------------------------------------------------------
4    !  Purpose: Contains routines to calculate physical quantities.
5    !---------------------------------------------------------------------------
6 
7    use module_domain, only : domain, x_type
8 #ifdef DM_PARALLEL
9    use module_dm, only : local_communicator, mytask, ntasks, ntasks_x, &
10       ntasks_y, data_order_xyz
11    use module_comm_dm, only : halo_bal_eqn_adj_sub
12    use da_control, only : ips,ipe,jps,jpe,kps,kpe
13 #endif
14    use da_define_structures, only : synop_type, residual_synop_type, infa_type, iv_type
15    use da_control, only : gas_constant, gravity,kts,kte, svp3,svpt0, &
16       gas_constant_v, svp1, to, xls, svp2,its,ite,jts,jte,kts,kte, &
17       ims,ime,jms,jme,kms,kme,xlv1,cp,ids,ide,jds,jde,kds,kde, test_wrfvar, &
18       trace_use, missing_r, maximum_rh, minimum_rh,cv_options_hum,coeff,l_over_rv, &
19       es_gammakelvin, es_gammabeta, rd_over_rv1,t_kelvin, es_alpha, es_gamma, &
20       es_beta, rd_over_rv, trace_use_frequent,gamma, &
21       cv_options_hum_specific_humidity, trace_use_dull 
22    use da_par_util, only : da_transpose_z2y, da_transpose_y2x, &
23       da_transpose_x2z, da_transpose_z2x, da_transpose_x2y, da_transpose_y2z
24    use da_tracing, only : da_trace_entry, da_trace_exit
25    use da_interpolation, only : da_interp_lin_2d, da_interp_lin_2d_adj
26    use da_dynamics, only : da_w_adjustment_adj, da_uv_to_divergence_adj, &
27       da_w_adjustment_lin, da_uv_to_divergence
28    use da_reporting, only : da_error, message
29    use da_wrf_interfaces, only : wrf_debug
30 
31    implicit none
32 
33    contains
34 
35 #include "da_prho_to_t_adj.inc"
36 #include "da_prho_to_t_lin.inc"
37 #include "da_uvprho_to_w_lin.inc"
38 #include "da_uvprho_to_w_adj.inc"
39 #include "da_pt_to_rho_adj.inc"
40 #include "da_pt_to_rho_lin.inc"
41 #include "da_tpq_to_rh.inc"
42 #include "da_tpq_to_rh_lin.inc"
43 #include "da_tpq_to_rh_lin1.inc"
44 #include "da_tprh_to_q_adj.inc"
45 #include "da_tprh_to_q_adj1.inc"
46 #include "da_tprh_to_q_lin.inc"
47 #include "da_tprh_to_q_lin1.inc"
48 #include "da_tp_to_qs.inc"
49 #include "da_tp_to_qs1.inc"
50 #include "da_tp_to_qs_adj.inc"
51 #include "da_tp_to_qs_adj1.inc"
52 #include "da_tp_to_qs_lin.inc"
53 #include "da_tp_to_qs_lin1.inc"
54 #include "da_trh_to_td.inc"
55 #include "da_tpq_to_slp.inc"
56 #include "da_wrf_tpq_2_slp.inc"
57 #include "da_tpq_to_slp_lin.inc"
58 #include "da_tpq_to_slp_adj.inc"
59 #include "da_tv_profile.inc"
60 #include "da_find_layer_tl.inc"
61 #include "da_thickness_adj.inc"
62 #include "da_find_layer.inc"
63 #include "da_tv_profile_adj.inc"
64 #include "da_thickness.inc"
65 #include "da_find_layer_adj.inc"
66 #include "da_thickness_tl.inc"
67 #include "da_tv_profile_tl.inc"
68 
69 #include "da_transform_xtotpw.inc"
70 #include "da_transform_xtotpw_adj.inc"
71 #include "da_transform_xtogpsref.inc"
72 #include "da_transform_xtogpsref_adj.inc"
73 #include "da_transform_xtogpsref_lin.inc"
74 #include "da_check_rh.inc"
75 #include "da_check_rh_simple.inc"
76 #include "da_get_q_error.inc"
77 #include "da_roughness_from_lanu.inc"
78 #include "da_julian_day.inc"
79 #include "da_sfc_wtq.inc"
80 #include "da_sfc_wtq_lin.inc"
81 #include "da_sfc_wtq_adj.inc"
82 #include "da_transform_xtopsfc.inc"
83 #include "da_transform_xtopsfc_adj.inc"
84 #include "da_transform_xtowtq.inc"
85 #include "da_transform_xtowtq_adj.inc"
86 #include "da_sfc_pre.inc"
87 #include "da_sfc_pre_lin.inc"
88 #include "da_sfc_pre_adj.inc"
89 #include "da_moist_phys_adj.inc"
90 #include "da_moist_phys_lin.inc"
91 #include "da_condens_adj.inc"
92 #include "da_condens_lin.inc"
93 #include "da_evapo_lin.inc"
94 #include "da_filter.inc"
95 #include "da_filter_adj.inc"
96 #include "da_wdt.inc"
97 #include "da_integrat_dz.inc"
98 
99 end module da_physics
100