Skip to content

Commit c4143dd

Browse files
Merge pull request #418 from OceanParcels/progressbar_min_Nsteps
Showing progressbar if total runtime > 10 seconds
2 parents 618924d + f0a0d44 commit c4143dd

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

parcels/particleset.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from parcels.loggers import logger
77
import numpy as np
88
import progressbar
9+
import time as time_module
910
from collections import Iterable
1011
from datetime import timedelta as delta
1112
from datetime import datetime, date
@@ -228,7 +229,7 @@ def remove(self, indices):
228229

229230
def execute(self, pyfunc=AdvectionRK4, endtime=None, runtime=None, dt=1.,
230231
moviedt=None, recovery=None, output_file=None, movie_background_field=None,
231-
verbose_progress=True):
232+
verbose_progress=None):
232233
"""Execute a given kernel function over the particle set for
233234
multiple timesteps. Optionally also provide sub-timestepping
234235
for particle output.
@@ -340,9 +341,15 @@ def execute(self, pyfunc=AdvectionRK4, endtime=None, runtime=None, dt=1.,
340341
next_input = self.fieldset.computeTimeChunk(time, np.sign(dt))
341342

342343
tol = 1e-12
344+
if verbose_progress is None:
345+
walltime_start = time_module.time()
343346
if verbose_progress:
344-
pbar = progressbar.ProgressBar(max_value=abs(endtime - _starttime))
347+
pbar = progressbar.ProgressBar(max_value=abs(endtime - _starttime)).start()
345348
while (time < endtime and dt > 0) or (time > endtime and dt < 0) or dt == 0:
349+
if verbose_progress is None and time_module.time() - walltime_start > 10:
350+
# Showing progressbar if runtime > 10 seconds
351+
pbar = progressbar.ProgressBar(max_value=abs(endtime - _starttime)).start()
352+
verbose_progress = True
346353
if dt > 0:
347354
time = min(next_prelease, next_input, next_output, next_movie, endtime)
348355
else:

0 commit comments

Comments
 (0)