-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
memory problem loading long list of daily model output #703
Comments
Hi @sjvg, thanks for logging this issue. I'm not sure what is happening here, not do I have any idea how to fix it. For us to tackle this, we would need to be able to at least reproduce the Issue on our systems. We do us ORCA12 fields here too, so perhaps we could try if your code also breaks on our system? Could you share a minimal example of a breaking code? |
Hi Erik, thanks for you reply, please see code attached. All I change is the number of files fed to fieldset in : 'data': data_path + 'U00??.nc'. Thanks for your help. Simon |
Thanks for the extra details and the code, @sjvg. I have had some time to have a more careful look today. First of all, I'm not able to reproduce your bug on either my local iMac or on our Faculty's HPC system; all works fine here. Note that we have NEMO output on five-day time frequency, though... I did have to change the data_path = '/Volumes/oceanparcels/input_data/NEMO-MEDUSA/ORCA0083-N006/means/ORCA0083-N06_2000*'
ufiles = sorted(glob(data_path+'U.nc'))
vfiles = sorted(glob(data_path+'V.nc'))
wfiles = sorted(glob(data_path+'W.nc'))
filenames = {'U': {'lon': meshmask, 'lat': meshmask, 'depth': wfiles[0], 'data': ufiles},
'V': {'lon': meshmask, 'lat': meshmask, 'depth': wfiles[0], 'data': vfiles},
'W': {'lon': meshmask, 'lat': meshmask, 'depth': wfiles[0], 'data': wfiles}}
variables = {'U': 'uo', 'V': 'vo', 'W': 'wo'}
dimensions = {'U': {'lon': 'glamf', 'lat': 'gphif', 'depth': 'depthw', 'time': 'time_counter'},
'V': {'lon': 'glamf', 'lat': 'gphif', 'depth': 'depthw', 'time': 'time_counter'},
'W': {'lon': 'glamf', 'lat': 'gphif', 'depth': 'depthw', 'time': 'time_counter'}} What I find particularly strange is that your Issue appears after only four days; well before the difference between declaring 20 files and 100 files should start to matter. With the deferred load, the difference in memory overhead between the two runs should only be a list of the 80 filenames that are included in the 100days-run and not the 20days-run; that's can't be the difference! |
Dear @sjvg , |
Hello,
I'm fairly new to parcels, so apologies if such error has been dealt before, but I could not see it amongst the previous issues raised.
I have a problem with parcels when loading a large number of daily output of an ORCA12 run (arrays of size (4032,3059, 50)), when doing a simple 2D advection experiment (7000 particles, 20 timesteps).
The experiment works fine when loading 30 daily u,v fields, but crashes when I choose to load 100 daily u,v fields instead. I thought that the option deferred_load in=True, in:
fieldset = FieldSet.from_netcdf(filenames, variables, dimensions,deferred_load=True)
would avoid this memory problem.
Do you know why this happens?
For info, I use the normal parcels python environment (no MPI) on a single node of 64Gb.
Many thanks in advance for your help.
The text was updated successfully, but these errors were encountered: