-
Notifications
You must be signed in to change notification settings - Fork 10
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 blowout on large domains #67
Comments
Oh no sorry. Can you confirm that the version prior to commit e30c720 does not show the same behavior. How big is the DEM file? I may try with a large DEM too, that I can reproduce the bug. |
Ive gone back to release 0.1.7 and running fine now. I think as before this is not related to cluster number or length but ERA5 domain size. I dont think it is dependent on DEM size as last use case (Naryn KG) that we saw this was a big ERA5 domain with small dem. Once I cropped ERA5 to the dem it was fine. Here ERA5 domain is 21 x 17 and dem is 625 x 555 (500m cells). Are you interested in specifically the version prior to commit e30c720 ? |
That commit is prior to the merge with the parallelizing branch. I wonder if it has to do with the changing opening the era5 data from |
Hey guys, I was reading this thread. There are some memory leaks reported here and there with netcdf at the C level, so the python gc can not handle them. I personally found one some time ago in This may be relevant pydata/xarray#3200 |
I think the issue is here:
where all the era5 files are loaded and appended. In my case with large domain this blows the memory. How can we make this scale? |
above is l.149 of topo_scale.py |
i think this is why it occurs if you specify the toime split option or not as in both cases def downscale_climate is the same and containsthe function above. Basically what you already said above Simon, I think: #67 (comment) |
@ArcticSnow can we go back to using open_mfdataset() or is that not working with the new split timeseries code? |
new split timeseries code
Original open_mfdataset:
Results seem to be identical - a change back should work? |
I had changed Good catch on the line 189. No idea why this happened, strange. |
… blowout on large domains. Returned to xr.open_mfdataset see issue: #67 (comment) other small changes: 1. pd.date_range deprecated arg "closed" changed to "inclusive" 2. deprecated np.int -> np.int32 3. added missing temporal subset l.187
Ok, I tested with the edits above, and now it does not parallelize anymore the downscaling. I'll include it again and add an option, then. |
nevermind, I had my config file set for one core. Sorry, it works great! Should we close the topic then? |
Im still getting the memory blowout even with IO:split option turned off and for a single year. This is admittedly for a big domain but one I ran no problem several versions ago (pre implementation of IO:split). What confuses me is that if split is turned off then it should be the same as older version, no? Yet something seems to be fundamentally different in memory use, it blows through 15gb of memory in about 15s! S something is scaling up pretty fast......
The text was updated successfully, but these errors were encountered: