У меня есть очень большой файл netCDF, который я читаю с помощью netCDF4 в python
Я не могу прочитать этот файл сразу, так как его размеры (1200 x 720 x 1440) слишком велики для того, чтобы весь файл находился в памяти сразу. Первый размер представляет собой время, а следующие 2 представляют собой широту и долготу соответственно.
import netCDF4
nc_file = netCDF4.Dataset(path_file, 'r', format='NETCDF4')
for yr in years:
nc_file.variables[variable_name][int(yr), :, :]
Однако чтение одного года за один раз мучительно медленное. Как ускорить это для использования ниже?
- EDIT
Чанкиз - 1
-
Я могу читать несколько лет: nc_file.variables [variable_name] [0: 100,:,:]
-
Существует несколько вариантов использования:
для лет в годах:
numpy.ma.sum(nc_file.variables[variable_name][int(yr), :, :])
# Multiply each year by a 2D array of shape (720 x 1440)
for yr in years:
numpy.ma.sum(nc_file.variables[variable_name][int(yr), :, :] * arr_2d)
# Add 2 netcdf files together
for yr in years:
numpy.ma.sum(nc_file.variables[variable_name][int(yr), :, :] +
nc_file2.variables[variable_name][int(yr), :, :])