1 module da_vtox_transforms
3 !---------------------------------------------------------------------------
4 ! Purpose: Contains routines used to transform control variable V to model
6 !---------------------------------------------------------------------------
8 use module_dm
, only
: wrf_dm_sum_real
,wrf_dm_sum_reals
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
, &
17 halo_psichi_uv_sub
, halo_xa_wpec_sub
,halo_xb_wpec_sub
18 use da_par_util
, only
: true_mpi_real
, mpi_sum
, comm
20 use module_domain
, only
: xb_type
, xpose_type
, ep_type
, vp_type
, x_type
, domain
, get_ijk_from_grid
21 use module_domain
, only
: x_subtype
23 use module_domain
, only
: xchem_type
24 use module_state_description
, only
: PARAM_FIRST_SCALAR
, num_chem
27 use da_control
, only
: trace_use
, var4d
, cos_xls
, cos_xle
, sin_xle
, sin_xls
, pi
, global
, &
28 vertical_ip
,alphacv_method
,use_ssmitbobs
,use_rainobs
, &
29 use_radarobs
,use_radar_rf
,use_radar_rhv
,use_radar_rqv
, &
30 use_ssmiretrievalobs
, use_ssmt2obs
, use_ssmt1obs
, use_gpspwobs
, use_gpsztdobs
, &
31 use_gpsrefobs
,use_gpsephobs
,sfc_assi_options
, test_transforms
, vert_corr
, fg_format
, &
32 fg_format_kma_global
, fg_format_wrf_arw_regional
,fg_format_wrf_nmm_regional
, &
33 stdout
, use_rad
, crtm_cloud
, vert_corr_2
, fg_format_wrf_arw_global
, &
34 alphacv_method_vp
, alphacv_method_xa
, vertical_ip_0
, trace_use_dull
,&
35 ids
,ide
,jds
,jde
,kds
,kde
, ims
,ime
,jms
,jme
,kms
,kme
, cv_options_hum
, &
36 its
,ite
,jts
,jte
,kts
,kte
, ips
,ipe
,jps
,jpe
,kps
,kpe
, cv_size
, cv_options
, &
40 use_background_errors
, jb_factor
42 use da_control
, only
: trace_use
, var4d
, ims
,ime
,jms
,jme
,kms
,kme
,jds
,jde
,kds
,kde
, &
43 its
,ite
,jts
,jte
,kts
,kte
, cos_xls
, cos_xle
, sin_xle
, sin_xls
, pi
, global
, &
44 vertical_ip
,alphacv_method
,use_ssmitbobs
,use_rainobs
, &
45 use_radarobs
,use_radar_rf
,use_radar_rhv
,use_radar_rqv
, &
46 use_ssmiretrievalobs
, use_ssmt2obs
, use_ssmt1obs
, use_gpspwobs
, use_gpsztdobs
, &
47 use_gpsrefobs
,use_gpsephobs
,sfc_assi_options
, test_transforms
, vert_corr
, fg_format
, &
48 fg_format_kma_global
, fg_format_wrf_arw_regional
,fg_format_wrf_nmm_regional
, &
49 ids
, ide
, stdout
, use_rad
, crtm_cloud
, vert_corr_2
, fg_format_wrf_arw_global
, &
50 alphacv_method_vp
, alphacv_method_xa
, vertical_ip_0
, trace_use_dull
, &
51 ips
,ipe
,jps
,jpe
,kps
,kpe
, cv_size
, cv_options
, cv_options_hum
, cloud_cv_options
, &
56 use_background_errors
,jb_factor
,do_normalize
,use_rf
,len_scaling1
, len_scaling2
, len_scaling3
, len_scaling4
, &
57 len_scaling5
, len_scaling6
, len_scaling7
, len_scaling8
, len_scaling9
, len_scaling10
, len_scaling11
60 use da_control
, only
: anal_type_hybrid_dual_res
, myproc
, num_procs
,dual_res_upscale_opt
, &
62 use da_control
, only
: its_int
,ite_int
,jts_int
,jte_int
,kts_int
,kte_int
,shw
, &
63 ims_int
,ime_int
,jms_int
,jme_int
,kms_int
,kme_int
, &
64 ids_int
,ide_int
,jds_int
,jde_int
,kds_int
,kde_int
, &
65 ips_int
,ipe_int
,jps_int
,jpe_int
,kps_int
,kpe_int
66 use da_control
, only
: dual_res_type
, aens_locs
67 use da_control
, only
: c1h
, c2h
, use_cv_w
, alpha_hydrometeors
68 use da_define_structures
, only
: be_type
, xbx_type
,da_zero_vp_type
,da_zero_x
71 use da_define_structures
, only
: da_zero_xchem_type
74 use da_dynamics
, only
: da_psichi_to_uv
,da_psichi_to_uv_adj
75 use da_physics
, only
: da_uvprho_to_w_lin
,da_uvprho_to_w_adj
, &
76 da_pt_to_rho_adj
, da_pt_to_rho_lin
,da_moist_phys_lin
, &
77 da_tprh_to_q_lin
, da_tprh_to_q_adj
, &
78 da_moist_phys_adj
, da_transform_xtogpsref_lin
, da_transform_xtotpw
, &
79 da_transform_xtowtq
, da_transform_xtotpw_adj
, &
80 da_transform_xtogpsref_adj
, da_transform_xtowtq_adj
, &
81 da_transform_xtoztd_lin
, da_transform_xtoztd_adj
82 use da_par_util
, only
: da_vv_to_cv
, da_cv_to_vv
84 use da_recursive_filter
, only
: da_transform_through_rf
, &
85 da_transform_through_rf_inv
, &
86 da_transform_through_rf_adj
, da_apply_rf
, da_apply_rf_adj
, &
87 da_transform_through_rf_dual_res
, da_transform_through_rf_adj_dual_res
88 use da_reporting
, only
: da_error
, message
, da_warning
, da_message
89 use da_spectral
, only
: da_vtovv_spectral
,da_vtovv_spectral_adj
90 use da_ssmi
, only
: da_transform_xtoseasfcwind_lin
,da_transform_xtotb_adj
, &
91 da_transform_xtoseasfcwind_adj
, da_transform_xtotb_lin
92 use da_tools
, only
: da_set_boundary_xa
93 use da_tracing
, only
: da_trace_entry
, da_trace_exit
94 use da_wrf_interfaces
, only
: wrf_debug
95 use da_wavelet
, only
: da_transform_through_wavelet
, da_transform_through_wavelet_adj
, nij
102 #
include "da_add_flow_dependence_vp.inc"
103 #
include "da_add_flow_dependence_vp_adj.inc"
104 #
include "da_check_eof_decomposition.inc"
105 #
include "da_transform_vtovv.inc"
106 #
include "da_transform_vtovv_adj.inc"
107 #
include "da_transform_vtovv_inv.inc"
108 #
include "da_transform_rescale.inc"
109 #
include "da_transform_vtox.inc"
110 #
include "da_transform_vtox_inv.inc"
111 #
include "da_transform_xtoxa.inc"
112 #
include "da_transform_vtox_adj.inc"
113 #
include "da_transform_xtoxa_adj.inc"
114 #
include "da_transform_vptox.inc"
115 #
include "da_transform_vptox_adj.inc"
116 #
include "da_transform_vptox_inv.inc"
117 #
include "da_transform_vvtovp.inc"
118 #
include "da_transform_vvtovp_adj.inc"
119 #
include "da_transform_vvtovp_inv.inc"
120 #
include "da_transform_vpatox.inc"
121 #
include "da_transform_vpatox_adj.inc"
123 #
include "da_transform_vchemtox.inc"
124 #
include "da_transform_vchemtox_adj.inc"
126 #
include "da_vertical_transform.inc"
127 #
include "da_get_vpoles.inc"
128 #
include "da_get_spoles.inc"
129 #
include "da_get_avpoles.inc"
130 #
include "da_get_aspoles.inc"
131 #
include "da_transform_vtovv_global.inc"
132 #
include "da_transform_vtovv_global_adj.inc"
134 #
include "da_transform_bal.inc"
135 #
include "da_transform_bal_adj.inc"
136 #
include "da_apply_be.inc"
137 #
include "da_apply_be_adj.inc"
139 #
include "da_transform_vvtovp_dual_res.inc"
140 #
include "da_transform_vvtovp_adj_dual_res.inc"
142 #
include "da_copy_xa.inc"
143 #
include "da_add_xa.inc"
145 #
include "da_calc_flow_dependence_xa.inc"
146 #
include "da_calc_flow_dependence_xa_dual_res.inc"
147 #
include "da_calc_flow_dependence_xa_adj.inc"
148 #
include "da_calc_flow_dependence_xa_adj_dual_res.inc"
149 #
include "da_dual_res_c2n_ad.inc"
151 end module da_vtox_transforms