44from parcels import ParcelsRandom
55import numpy as np
66import pytest
7+ import random as py_random
78from os import path
89import sys
910
@@ -264,10 +265,11 @@ def kernel(particle, fieldset, time):
264265
265266
266267def random_series (npart , rngfunc , rngargs , mode ):
267- ParcelsRandom .seed (1234 )
268- func = getattr (ParcelsRandom , rngfunc )
268+ random = ParcelsRandom if mode == 'jit' else py_random
269+ random .seed (1234 )
270+ func = getattr (random , rngfunc )
269271 series = [func (* rngargs ) for _ in range (npart )]
270- ParcelsRandom .seed (1234 ) # Reset the RNG seed
272+ random .seed (1234 ) # Reset the RNG seed
271273 return series
272274
273275
@@ -285,8 +287,9 @@ class TestParticle(ptype[mode]):
285287 lon = np .linspace (0. , 1. , npart ),
286288 lat = np .zeros (npart ) + 0.5 )
287289 series = random_series (npart , rngfunc , rngargs , mode )
290+ rnglib = 'ParcelsRandom' if mode == 'jit' else 'random'
288291 kernel = expr_kernel ('TestRandom_%s' % rngfunc , pset ,
289- 'ParcelsRandom .%s(%s)' % (rngfunc , ', ' .join ([str (a ) for a in rngargs ])))
292+ '%s .%s(%s)' % (rnglib , rngfunc , ', ' .join ([str (a ) for a in rngargs ])))
290293 pset .execute (kernel , endtime = 1. , dt = 1. )
291294 assert np .allclose (pset .p , series , atol = 1e-9 )
292295
0 commit comments