Как открыть netCDF файл в MATLAB

В данной заметке я покажу два способа открыть NetCDF-файл в MATLAB, один способ более продвинутый и более сложный, а второй более простой. 

Несколько лет назад брат написал статью в своём блоге koldunov.net, где показал, как открыть в MATLAB файлы формата netCDF.

Он использовал функцию netcdf и всю процедуру необходимо было выполнять в несколько шагов. Не буду полностью повторять его статью, но вкратце напомню примерный порядок действий.

Для начала нужно открыть netCDF файл, в результате чего в переменную ncid будет записано число, которое будет являеться неким идентификатором, при помощи которого мы сможем вдальнейшем обращаться к нашему файлу:

ncid = netcdf.open('temperature_and_salinity_2018.nc','NC_NOWRITE');

Зная название (информацию о файле можно получить при помощи функции ncdisp) нужной вам переменной (например, температуры) внутри netCDF-файла, определить её ID (который на самом деле является просто порядковым номером переменной внутри файла; счёт начинается с нуля)

varid = netcdf.inqVarID(ncid,'temperature')
varid =

     3

Затем выудить по полученному ID данные для нужной нам характеристики:

data = netcdf.getVar(ncid,3);

Вот и всё, мы открыли наши данные. Но этих процедур часто бывает недостаточно, потому как для уменьшения размеров netCDF файлов прибегают к различного рода хитростям, например приводят все данные к целочисленным значениям и вычитают какое-нибудь число, если все данные больше этого самого числа.

Читать далее «Как открыть netCDF файл в MATLAB»