da_vtox_transforms.f90

References to this file elsewhere.
1 module da_vtox_transforms
2 
3    !---------------------------------------------------------------------------
4    ! Purpose: Contains routines used to transform control variable V to model
5    !          variables X.
6    !---------------------------------------------------------------------------
7   
8    use module_dm, only : wrf_dm_sum_real,wrf_dm_sum_reals
9 #ifdef DM_PARALLEL
10    use module_dm, only : local_communicator, mytask, ntasks, ntasks_x, & 
11       ntasks_y, data_order_xy, data_order_xyz
12    use module_comm_dm, only : halo_psichi_uv_adj_sub,halo_ssmi_xa_sub,halo_sfc_xa_sub, &
13       halo_radar_xa_w_sub, halo_xa_sub, halo_psichi_uv_sub, &
14       halo_psichi_uv_sub, halo_xa_sub
15    use da_control, only : ips,ipe,jps,jpe,kps,kpe
16 #endif
17    use module_domain, only : ep_type, vp_type, x_type, domain
18 
19    use da_control, only : trace_use, ims,ime,jms,jme,kms,kme,jds,jde,kds,kde, &
20       its,ite,jts,jte,kts,kte, cos_xls, cos_xle, sin_xle, sin_xls, pi, global, &
21       vertical_ip,alphacv_method,use_radarobs,use_radar_rf,use_ssmitbobs, &
22       use_ssmiretrievalobs, use_ssmt2obs, use_ssmt1obs, use_gpspwobs, &
23       use_gpsrefobs,sfc_assi_options, test_wrfvar, vert_corr, fg_format, &
24       fg_format_kma_global, fg_format_wrf, ids,ide, stdout, vert_corr_2, &
25       alphacv_method_vp, alphacv_method_xa, vertical_ip_0, trace_use_dull
26    use da_define_structures, only : be_type, xbx_type,da_zero_vp_type,da_zero_x
27    use da_dynamics, only : da_psichi_to_uv,da_psichi_to_uv_adj
28    use da_physics, only : da_uvprho_to_w_lin,da_uvprho_to_w_adj, &
29       da_pt_to_rho_adj, da_pt_to_rho_lin,da_moist_phys_lin, &
30       da_moist_phys_adj, da_transform_xtogpsref_lin, da_transform_xtotpw, &
31       da_transform_xtowtq, da_transform_xtotpw_adj, &
32       da_transform_xtogpsref_adj, da_transform_xtowtq_adj
33    use da_par_util, only : da_vv_to_cv,da_cv_to_vv
34    use da_recursive_filter, only : da_transform_through_rf, &
35       da_transform_through_rf_adj
36    use da_reporting, only : da_error
37    use da_spectral, only : da_vtovv_spectral,da_vtovv_spectral_adj
38    use da_ssmi, only : da_transform_xtoseasfcwind_lin,da_transform_xtotb_adj, &
39       da_transform_xtoseasfcwind_adj, da_transform_xtotb_lin
40    use da_tools, only : da_set_boundary_xa
41    use da_tracing, only : da_trace_entry, da_trace_exit
42    use da_wrf_interfaces, only : wrf_debug
43 
44    implicit none
45 
46 
47    contains
48 
49 #include "da_add_flow_dependence_vp.inc"
50 #include "da_add_flow_dependence_vp_adj.inc"
51 #include "da_add_flow_dependence_xa.inc"
52 #include "da_add_flow_dependence_xa_adj.inc"
53 #include "da_check_eof_decomposition.inc"
54 #include "da_transform_vtovv.inc"
55 #include "da_transform_vtovv_adj.inc"
56 #include "da_transform_vtox.inc"
57 #include "da_transform_vtox_adj.inc"
58 #include "da_transform_vptox.inc"
59 #include "da_transform_vptox_adj.inc"
60 #include "da_transform_vvtovp.inc"
61 #include "da_transform_vvtovp_adj.inc"
62 #include "da_transform_vptovv.inc"
63 #include "da_vertical_transform.inc"
64 #include "da_get_vpoles.inc"
65 #include "da_get_spoles.inc"
66 #include "da_get_avpoles.inc"
67 #include "da_get_aspoles.inc"
68 #include "da_transform_vtovv_global.inc"
69 #include "da_transform_vtovv_global_adj.inc"
70 
71 end module da_vtox_transforms