50 & Imin, Imax, LBi, UBi, &
62 integer,
intent(in) :: ng, model, rscheme
63 integer,
intent(in) :: imin, imax, lbi, ubi
65 real(
r8),
intent(out) :: rmin, rmax
68 real(
r8),
intent(out) :: r(lbi:)
70 real(
r8),
intent(out) :: r(lbi:ubi)
77 real(
r8),
parameter :: fac = 2.0_r8 * 1.73205080756887720_r8
79 real(
r8),
dimension((UBi-LBi+1)) :: random
94 IF (rscheme.eq.0)
THEN
95 CALL random_number (r(lbi:))
108 r(i)=fac*(r(i)-0.5_r8)
116 ELSE IF (rscheme.eq.1)
THEN
135 & Imin, Imax, Jmin, Jmax, &
136 & LBi, UBi, LBj, UBj, &
151 integer,
intent(in) :: ng, model, gtype, rscheme
152 integer,
intent(in) :: imin, imax, jmin, jmax
153 integer,
intent(in) :: lbi, ubi, lbj, ubj
155 real(
r8),
intent(out) :: rmin, rmax
157 real(
r8),
intent(out) :: r(lbi:ubi,lbj:ubj)
161 integer :: npts, i, ic, j
163 real(
r8),
parameter :: fac = 2.0_r8 * 1.73205080756887720_r8
165 real(
r8),
allocatable :: random(:)
182 IF (rscheme.eq.0)
THEN
183 CALL random_number (r(lbi:,lbj:))
197 r(i,j)=fac*(r(i,j)-0.5_r8)
206 ELSE IF (rscheme.eq.1)
THEN
207 npts=(
lm(ng)+2)*(
mm(ng)+2)
208 IF (.not.
allocated(random))
THEN
209 allocate ( random(npts+2) )
216 rmin=min(rmin,random(ic))
217 rmax=max(rmax,random(ic))
224# if defined READ_WATER && defined MASKING
225 & (
lm(ng)+2)*(
mm(ng)+2), &
226 &
scalars(ng)%IJwater(:,gtype), &
238 IF (
allocated(random))
THEN
266 integer,
intent(in) :: ng, tile, model, boundary, rscheme
267 integer,
intent(in) :: imin, imax
268 integer,
intent(in) :: lbij, ubij
270 real(
r8),
intent(out) :: rmin, rmax
273 real(
r8),
intent(out) :: r(lbij:)
275 real(
r8),
intent(out) :: r(lbij:ubij)
280 integer :: ioff, i, ic
282 real(
r8),
parameter :: fac = 2.0_r8 * 1.73205080756887720_r8
284 real(
r8),
dimension(UBij-LBij+1) :: random
299 IF (rscheme.eq.0)
THEN
300 CALL random_number (r(lbij:))
313 r(i)=fac*(r(i)-0.5_r8)
321 ELSE IF (rscheme.eq.1)
THEN
353 & Imin, Imax, Jmin, Jmax, &
354 & LBi, UBi, LBj, UBj, LBk, UBk, &
369 integer,
intent(in) :: ng, model, gtype, rscheme
370 integer,
intent(in) :: imin, imax, jmin, jmax
371 integer,
intent(in) :: lbi, ubi, lbj, ubj, lbk, ubk
373 real(
r8),
intent(out) :: rmin, rmax
376 real(
r8),
intent(out) :: r(lbi:,lbj:,lbk:)
378 real(
r8),
intent(out) :: r(lbi:ubi,lbj:ubj,lbk:ubk)
383 integer :: npts, i, ic, j, k
385 real(
r8),
parameter :: fac = 2.0_r8 * 1.73205080756887720_r8
387 real(
r8),
allocatable :: random(:)
406 IF (rscheme.eq.0)
THEN
407 CALL random_number (r(lbi:,lbj:,lbk:))
422 r(i,j,k)=fac*(r(i,j,k)-0.5_r8)
432 ELSE IF (rscheme.eq.1)
THEN
433 npts=(
lm(ng)+2)*(
mm(ng)+2)*(ubk-lbk+1)
434 IF (.not.
allocated(random))
THEN
435 allocate ( random(npts+2) )
442 rmin=min(rmin,random(ic))
443 rmax=max(rmax,random(ic))
448 CALL mp_scatter3d (ng, model, lbi, ubi, lbj, ubj, lbk, ubk, &
450# if defined READ_WATER && defined MASKING
451 & (
lm(ng)+2)*(
mm(ng)+2), &
452 &
scalars(ng)%IJwater(:,gtype), &
466 IF (
allocated(random))
THEN
478 & LBij, UBij, LBk, UBk, &
494 integer,
intent(in) :: ng, tile, model, boundary, rscheme
495 integer,
intent(in) :: imin, imax
496 integer,
intent(in) :: lbij, ubij, lbk, ubk
498 real(
r8),
intent(out) :: rmin, rmax
501 real(
r8),
intent(out) :: r(lbij:,lbk:)
503 real(
r8),
intent(out) :: r(lbij:ubij,lbk:ubk)
508 integer :: ilen, ioff, i, ic, k, kc
510 real(
r8),
parameter :: fac = 2.0_r8 * 1.73205080756887720_r8
512 real(
r8),
dimension((UBij-LBij+1)*(UBk-LBk+1)) :: random
529 IF (rscheme.eq.0)
THEN
530 CALL random_number (r(lbij:,lbk:))
544 r(i,k)=fac*(r(i,k)-0.5_r8)
553 ELSE IF (rscheme.eq.1)
THEN
575 & lbij, ubij, lbk, ubk, &
subroutine mp_scatter3d(ng, model, lbi, ubi, lbj, ubj, lbk, ubk, nghost, gtype, amin, amax, nwpts, ij_water, npts, a, awrk)
subroutine mp_scatter2d(ng, model, lbi, ubi, lbj, ubj, nghost, gtype, amin, amax, nwpts, ij_water, npts, a, awrk)
integer, dimension(:), allocatable lm
integer, dimension(:), allocatable mm
logical, dimension(:), allocatable ewperiodic
logical, dimension(:), allocatable nsperiodic
type(t_scalars), dimension(:), allocatable scalars
subroutine mp_exchange2d_bry(ng, tile, model, nvar, boundary, lbij, ubij, nghost, ew_periodic, ns_periodic, a, b, c, d)
subroutine mp_exchange3d_bry(ng, tile, model, nvar, boundary, lbij, ubij, lbk, ubk, nghost, ew_periodic, ns_periodic, a, b, c, d)
subroutine, public white_noise3d(ng, model, gtype, rscheme, imin, imax, jmin, jmax, lbi, ubi, lbj, ubj, lbk, ubk, rmin, rmax, r)
subroutine, public white_noise3d_bry(ng, tile, model, boundary, rscheme, imin, imax, lbij, ubij, lbk, ubk, rmin, rmax, r)
subroutine, public white_noise1d(ng, model, rscheme, imin, imax, lbi, ubi, rmin, rmax, r)
subroutine, public white_noise2d_bry(ng, tile, model, boundary, rscheme, imin, imax, lbij, ubij, rmin, rmax, r)
subroutine, public white_noise2d(ng, model, gtype, rscheme, imin, imax, jmin, jmax, lbi, ubi, lbj, ubj, rmin, rmax, r)