38 private :: random_reset
44 logical,
private :: random_fix = .false.
46 integer,
private,
allocatable :: random_seedvar(:)
57 namelist / param_random / &
60 integer :: nseeds, ierr
64 if(
io_l )
write(
io_fid_log,*)
'++++++ Module[RANDOM] / Categ[COMMON] / Origin[SCALElib]' 70 if(
io_l )
write(
io_fid_log,*)
'*** Not found namelist. Default used.' 71 elseif( ierr > 0 )
then 72 write(*,*)
'xxx Not appropriate names in namelist PARAM_RANDOM. Check!' 78 call random_seed(size=nseeds)
80 allocate( random_seedvar(nseeds))
83 if(
io_l )
write(
io_fid_log,*)
'*** Array size for random seed:', nseeds
84 if ( random_fix )
then 93 subroutine random_reset
102 if ( random_fix )
then 111 call date_and_time(values=time1)
115 random_seedvar(:) = &
116 + ( time1(1) - 1970 ) * 32140800 &
117 + time1(2) * 2678400 &
125 call random_seed(put=random_seedvar)
128 end subroutine random_reset
135 real(RP),
intent(out) :: var(:,:,:)
139 call random_number(var)
subroutine, public prc_mpistop
Abort MPI.
logical, public io_l
output log or not? (this process)
subroutine, public random_setup
Setup.
integer, public prc_myrank
process num in local communicator
subroutine, public random_get(var)
Get random number.
logical, public io_lnml
output log or not? (for namelist, this process)
integer, public io_fid_conf
Config file ID.
integer, public io_fid_log
Log file ID.