3 !---------------------------------------------------------------------------
4 ! Purpose: Routines for local-to-global and global-to-local grid operations.
7 !---------------------------------------------------------------------------
9 use da_control
, only
: use_rf
11 use module_domain
, only
: domain
, xpose_type
13 use module_domain
, only
: domain
, xpose_type
, xchem_type
17 use module_dm
, only
: local_communicator_x
, &
18 local_communicator_y
, ntasks_x
, ntasks_y
, data_order_xyz
19 use da_par_util1
, only
: true_mpi_real
, true_mpi_complex
20 ! use mpi, only : mpi_2double_precision, mpi_status_size, &
21 ! mpi_integer, mpi_maxloc, mpi_status_size, &
24 use da_reporting
, only
: message
28 use module_state_description
, only
: num_chem
, PARAM_FIRST_SCALAR
31 use da_define_structures
, only
: be_subtype
, &
32 x_type
, vp_type
, residual_synop_type
, residual_sound_type
, iv_type
, &
33 y_type
, count_obs_number_type
, maxmin_field_type
35 use da_control
, only
: trace_use
,num_ob_indexes
, myproc
, root
, comm
, ierr
, &
36 rootproc
, num_procs
, stdout
, print_detail_parallel
, its
,ite
, jts
, jte
, &
37 kts
,kte
,ids
,ide
,jds
,jde
,kds
,kde
,ims
,ime
,jms
,jme
,kms
,kme
,ips
,ipe
,jps
,jpe
, &
38 kps
, kpe
, grid_stagger
, grid_ordering
, trace_use_dull
, &
39 sound
, synop
, pilot
, satem
, geoamv
, polaramv
, airep
, gpspw
, gpsref
, &
40 metar
, ships
, ssmi_rv
, ssmi_tb
, ssmt1
, ssmt2
, qscat
, profiler
, buoy
, bogus
, &
41 pseudo
, radar
, radiance
, airsr
, sonde_sfc
, trace_use_frequent
, &
42 its_int
,ite_int
,jts_int
,jte_int
,kts_int
,kte_int
, &
43 ims_int
,ime_int
,jms_int
,jme_int
,kms_int
,kme_int
, &
44 ids_int
,ide_int
,jds_int
,jde_int
,kds_int
,kde_int
, &
45 ips_int
,ipe_int
,jps_int
,jpe_int
,kps_int
,kpe_int
, &
46 anal_type_hybrid_dual_res
47 use da_reporting
, only
: da_error
48 use da_tracing
, only
: da_trace_entry
, da_trace_exit
49 use da_wrf_interfaces
, only
: &
50 wrf_dm_xpose_z2x
, wrf_dm_xpose_x2y
, wrf_dm_xpose_y2x
, wrf_dm_xpose_x2z
, &
51 wrf_dm_xpose_z2y
, wrf_dm_xpose_y2z
, wrf_patch_to_global_real
, wrf_debug
, &
52 wrf_dm_bcast_integer
, wrf_dm_bcast_real
60 #
include "da_generic_typedefs.inc"
62 interface da_patch_to_global
63 module procedure da_patch_to_global_2d
64 module procedure da_patch_to_global_3d
69 #
include "da_cv_to_vv.inc"
70 #
include "da_vv_to_cv.inc"
71 #
include "da_alloc_and_copy_be_arrays.inc"
72 #
include "da_copy_dims.inc"
73 #
include "da_copy_tile_dims.inc"
74 #
include "da_pack_count_obs.inc"
75 #
include "da_unpack_count_obs.inc"
76 #
include "da_transpose_x2y.inc"
77 #
include "da_transpose_y2x.inc"
78 #
include "da_transpose_z2x.inc"
79 #
include "da_transpose_x2z.inc"
80 #
include "da_transpose_y2z.inc"
81 #
include "da_transpose_z2y.inc"
82 #
include "da_transpose_x2y_v2.inc"
83 #
include "da_transpose_y2x_v2.inc"
85 #
include "da_cv_to_global.inc"
86 #
include "da_patch_to_global_2d.inc"
87 #
include "da_patch_to_global_3d.inc"
88 #
include "da_generic_methods.inc"
89 #
include "da_deallocate_global_sonde_sfc.inc"
90 #
include "da_deallocate_global_sound.inc"
91 #
include "da_deallocate_global_synop.inc"
92 #
include "da_generic_boilerplate.inc"
93 #
include "da_y_facade_to_global.inc"
94 #
include "da_system.inc"
96 #
include "da_patch_to_global_dual_res.inc"
99 #
include "da_proc_stats_combine.inc"
100 #
include "da_proc_maxmin_combine.inc"
102 #
include "da_wrf_dm_interface.inc"
105 end module da_par_util