3 !---------------------------------------------------------------------------
4 ! Purpose: Routines to perform Fourier transforms.
5 !---------------------------------------------------------------------------
7 use module_domain
, only
:domain
8 use da_control
, only
: ims
,ime
,jms
,jme
,kms
,kme
,its
,ite
,jts
,jte
,kts
,kte
, &
9 Inverse_FFT
, Forward_FFT
, ids
,jds
, trace_use
, &
11 use da_define_structures
, only
: xbx_type
12 use da_par_util
, only
: da_transpose_x2z
, da_transpose_y2x
, &
13 da_transpose_y2x_v2
, da_transpose_z2x
, da_transpose_x2y
, &
15 use da_tracing
, only
: da_trace_entry
, da_trace_exit
16 use da_wrf_interfaces
, only
: wrf_debug
17 use module_dm
, only
: wrf_dm_sum_reals
19 use module_dm
, only
: local_communicator
, &
20 ntasks_x
, ntasks_y
, data_order_xyz
, mytask
, ntasks
21 use da_control
, only
: ids
,ide
,ips
,ipe
,jds
,jde
,jps
,jpe
,kds
,kde
,kps
,kpe
22 use module_comm_dm
, only
: halo_bal_eqn_adj_sub
25 use module_ffts
, only
: fft661
, fft551
31 #
include "da_solve_poissoneqn_fct.inc"
32 #
include "da_solve_poissoneqn_fct_adj.inc"
33 #
include "da_solve_poissoneqn_fst.inc"
34 #
include "da_solve_poissoneqn_fst_adj.inc"