da_wv_patch_to_global_3d.inc

References to this file elsewhere.
1 subroutine da_wv_patch_to_global_3d(vlocal, vglobal,         &
2                                   domdesc, mz,             &
3                                   ids, ide, jds, jde, kds, &
4                                   ims, ime, jms, jme, kms, &
5                                   ips, ipe, jps, jpe, kps)
6 
7    !----------------------------------------------------------------------
8    ! Purpose: Gathers local 3D array vlocal into global array vglobal.  
9    ! Assumes that "k" is not 
10    ! decomposed.  End indicies in the "k" dimension are inferred from 
11    ! mz, which can be less than kde.  
12    !
13    ! Must be called by all MPI tasks.  
14    !----------------------------------------------------------------------
15 
16    implicit none
17 
18    real,              intent(in  ) :: vlocal(:,:,:)
19    real,              intent( out) :: vglobal(:,:,:)
20    integer,           intent(in  ) :: domdesc
21    integer,           intent(in  ) :: mz
22    integer,           intent(in  ) :: ids, ide, jds, jde, kds, &
23                                        ims, ime, jms, jme, kms, &
24                                        ips, ipe, jps, jpe, kps
25 #ifdef DM_PARALLEL
26    ! Local declarations
27    character(len=3) :: ordering, stagger
28    integer :: kde, kme, kpe
29    stagger = 'xyz'  ! This hack will keep wrf_patch_to_global_*() from
30                     ! increasing DE[123].  Recall that wrfvar arrays are 
31                     ! all on A-grid.  
32    ordering = 'xyz'
33    if (mz > 0) then
34       kde = kds + mz - 1
35       kme = kde
36       kpe = kde
37       call wrf_patch_to_global_real (vlocal, vglobal, domdesc,      &
38                                     trim(stagger), trim(ordering), &
39                                     ids, ide, jds, jde, kds, kde,  &
40                                     ims, ime, jms, jme, kms, kme,  &
41                                     ips, ipe, jps, jpe, kps, kpe)
42    end if
43 #endif
44 
45 end subroutine da_wv_patch_to_global_3d
46 
47