9 integer,
parameter ::
k4b=selected_int_kind(9)
10 integer(k4b),
parameter ::
ia=16807,
im=2147483647
11 integer(k4b),
parameter ::
iq=127773,
ir=2836
22 real(kind=DEFAULT_PRECISION) function random(idum)
23 integer(k4b),
intent(inout) :: idum
26 integer(k4b),
save :: ix=-1,iy=-1,k
28 if (idum <=0 .or. iy < 0)
then 29 am = nearest(1.0,-1.0)/
im 30 iy=ior(ieor(888889999,abs(idum)),1)
31 ix=ieor(777755555,abs(idum))
34 ix = ieor(ix,ishft(ix,13))
35 ix = ieor(ix,ishft(ix,-17))
36 ix = ieor(ix,ishft(ix,5))
39 if(iy < 0) iy = iy +
im 40 random = am*ior(iand(
im,ieor(ix,iy)),1)
integer, parameter, public default_precision
MPI communication type which we use for the prognostic and calculation data.
Contains common definitions for the data and datatypes used by MONC.
integer(k4b), parameter ir
integer(k4b), parameter iq
real(kind=default_precision) function, public random(idum)
returns a scalar random number, the initial seed idum must be negative usage: idum = -k !(set idum < ...
integer(k4b), parameter ia
integer(k4b), parameter im