У меня есть скрипт, в котором я создаю маски на сетчатом массиве для определенных расстояний от береговой линии и сохраняю их в файл netcdf.У меня есть файл сетки с широтой, долготой и маской (файлы netcdf).Мой сценарий (здесь упрощенно) выполняет следующие действия:
from netCDF4 import Dataset
grd = Dataset('gridfile', 'r')
mask_rho = grd.variables['mask_rho'][:]
lat = grd.variables['lat'][:]
full_region = np.copy(mask_rho) #copy land mask from grid file
full_region[lat<5] = 0. #masks latitudes above and below region of interest
full_region[lat>35] = 0.
mask_full = np.ma.masked_where(full_region==0., full_region) #numpy mask
filename = directory+'mask.nc'
ncfile = Dataset(filename, 'w', format='NETCDF4')
ncfile.createDimension('lat', lat)
ncfile.createDimension('lon',lon)
Dims = ('lat,'lon')
data = ncfile.createVariable('mask_full','f4',Dims)
data[:] = mask_full
ncfile.close()
Однако, когда я открываю файл netcdf, который я создал в другом сценарии, данные появляются в трех формах:
- «замаскированные данные» (замаскированные значения пустые, значения в маске 1)
- «данные» (значения в маске 1, а замаскированные значения - какое-то огромное число, 996920996838 .....)
- и «маска», которая является истинным / ложным логическим значением.
Почему часть данных дает мне такое огромное количество?И почему существуют три типа данных?