将大型多 xarray 文件减少到意味着

问题描述

寻找一种有效的方法来计算大型多 xarray 文件的平均值。

    # open netcdf multi netcdf files
    era5_nc = xr.open_mfdataset(era5Files,parallel=True)
    print(era5_nc)
    
    <xarray.Dataset>
    Dimensions:    (latitude: 361,longitude: 1440,time: 359400)
    Coordinates:
    * longitude  (longitude) float32 -180.0 -179.8 -179.5 ... 179.2 179.5 179.8
    * latitude   (latitude) float32 90.0 89.75 89.5 89.25 ... 0.75 0.5 0.25 0.0
    * time       (time) datetime64[ns] 1979-01-01 ... 2019-12-31T23:00:00
   Data variables:
    msl        (time,latitude,longitude) float32 dask.array<chunksize=(8760,361,1440),Meta=np.ndarray>
  Attributes:
    Conventions:  CF-1.6
    history:      2021-05-17 12:06:51 GMT by grib_to_netcdf-2.16.0: /opt/ecmw...


# resample from hourly to daily
mslpd = era5_nc.msl.resample(time ='1D').mean(keep_attrs=True)
# mean over a given period
mslpd_climato = mslpt.sel(time = slice('1979-01-01','2010-12-01')).mean('time',keep_attrs=True)

# save the computed netcdf 
mslpd_climato.to_netcdf('/content/drive/MyDrive/data/'+"mslp_climato_NH.nc") 

会话在最后一步(12GB 内存)中崩溃。有什么建议可以优化此计算的 RAM 吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)