Измените файл NetCDF, чтобы сделать измерение неограниченным

Возможно ли с помощью Python + netCDF4 открыть существующий файл NetCDF и изменить одно из измерений с фиксированного размера на неограниченный размер, чтобы я мог добавлять к нему данные?

Я нашел этот вопрос/ответ, в котором перечислены несколько вариантов выполнения этого с помощью NCO/xarray, но я специально ищу метод с использованием пакета netCDF4.

Ниже приведен минимальный пример, который создает файл NetCDF с фиксированным размером (этой части, конечно, не существует в реальности, иначе я мог бы просто создать файл с неограниченным размером...), а затем снова открывает его, пытаясь изменить измерение time. У netCDF4.Dimension time_dim есть функция/метод isunlimited() для проверки того, является ли измерение неограниченным или нет, но ничего подобного, например. make_unlimited(), на что я и надеялся.

import netCDF4 as nc4
import numpy as np

# Create dataset for testing
nc1 = nc4.Dataset('test.nc', 'w')
dim = nc1.createDimension('time', 10)
var = nc1.createVariable('time', 'f8', 'time')
var[:] = np.arange(10)
nc1.close()

# Read it back
nc2 = nc4.Dataset('test.nc', 'a')
time_dim = nc2.dimensions['time']

# ...
# (1) Make time_dim unlimited
# (2) Append some data
# ...

nc2.close()

person Bart    schedule 30.11.2017    source источник
comment
Я думаю, вам нужно создать новое неограниченное измерение времени и переменную на основе этого и скопировать все данные.   -  person Mike Müller    schedule 01.12.2017
comment
Но тогда у измерения будет другое имя (если вы не сделаете временную копию всего, удалите старые измерения/переменные, создайте неограниченный размер со своим старым именем и скопируйте все обратно, что было бы проблемой....)   -  person Bart    schedule 01.12.2017
comment
Что ж, вы можете переименовать измерение с помощью nc2.renameDimension('time', 'tmp_time) перед созданием нового с именем time.   -  person Mike Müller    schedule 01.12.2017
comment
Майк, спасибо, не знал! Я посмотрю, что я могу сделать с этим   -  person Bart    schedule 01.12.2017