Changing random number generator seed

Topics about the HYSPLIT dispersion model.
Post Reply
wsr
Posts: 4
Joined: August 23rd, 2017, 12:08 am
Registered HYSPLIT User: No

Changing random number generator seed

Post by wsr » July 23rd, 2018, 3:32 pm

I have a question about the turbulence calculations in dispersion simulations. In the user guide, I have found no reference to random number generator (RNG) seed modulation, including no option to change or modulate the RNG seed in the turbulence term of the dispersion simulations. I figure I have missed something because I see that the seed is modulated in certain special runs. However, I am interested in running just the normal dispersion concentration simulation with a large number of particles several times while ensuring that each run has a different RNG seed so experiment repetitions are not identical. The only flag, KRAND, determines when random inputs are computed, but not how random numbers are computed viz. the initial seed used, and the seed seems to be fixed and not, e.g., set to another modulated input like clock time.

Please advise as to how I can invoke the Hysplit dispersion model with modulated RNG seeds. It is not encouraging to think about the statistical implications of a fixed RNG seed on problems which compare 2 or more runs with different configuration parameters. Thanks.

ariel.stein
Posts: 608
Joined: November 7th, 2012, 3:14 pm
Registered HYSPLIT User: Yes
Contact:

Re: Changing random number generator seed

Post by ariel.stein » July 30th, 2018, 4:31 pm

Unfortunately, the random number generator seed cannot be changed without recompiling the code.

christopher.loughner
Posts: 8
Joined: August 15th, 2017, 3:59 pm
Registered HYSPLIT User: No

Re: Changing random number generator seed

Post by christopher.loughner » August 1st, 2018, 3:06 pm

The seed id is set in hymodelc.F with the variable seed_id. seed_id is set to -1 and for MPI and ensemble runs, the seed_id is set to -ABS(job_id+1) and -ABS(ens_id), respectively.

If you edit hymodelc.F, recompile your programs built from hymodelc.F by typing "make program_name" in the exec directory (i.e., make hycs_std for recompiling hycs_std). The following are possible programs that you have that are built from hymodelc.F:
hycs_std
hycs_ens
hycs_var
hycs_gem
hycm_ens
hycm_std
hycs_ier
hycs_grs
hycs_so2
hycs_cb4
hycm_cb4

Post Reply