Как прочитать все файлы NetCDF в одном каталоге и создать один файл NetCDF с одинаковыми переменными атрибутами одного из файлов? - PullRequest
1 голос
/ 02 марта 2020

У меня есть сотни 3D-файлов Netcdf в одном каталоге. Я хотел бы сначала прочитать все данные Netcdf, существующие в каталоге за один раз для l oop, и создать один файл NetCDF с такими же переменными и атрибутами одного из отдельных файлов, например -Fill_value missing_value * 1003. * и Lat. В одном файле есть несколько переменных, принадлежащих одному и тому же месяцу.

Размеры каждой отдельной информации: 1x180x360 и в конце мой файл должен быть 280x180x360

Все данные содержат те же переменные и атрибуты .?

cdo merge file.nc file2.nc file.nc new_file.nc    

не работает, потому что я работаю над windows и Python 3.7.

from netCDF4 import Dataset

file1 = 'D:\DATA\gls_SWE5K_202001_NHEMI_SSMIS_v0.nc'
data = Dataset(file1, 'r')

TW=  data.variables['tw'][:]
Pre = data.variables['pre'][:]
Tem = data.variables['tem'][:]
Lonn = data.variables['lon'][:]
Lat = data.variables['lat'][:]
Time = data.variables['time'][:]

Любая помощь с благодарностью,

Ответы [ 2 ]

3 голосов
/ 03 марта 2020

Если вы используете Windows 10, как и должно быть, вы можете установить Ubuntu из магазина Microsoft, предполагая, что это ваша собственная машина.

Оттуда это просто установить cdo или nco. Лично я бы использовал последний, так как это более легкий пакет, и вам нужно всего лишь использовать команду ncrcat.

Если у вас нет прав для установки чего-либо, я боюсь, что вы, вероятно, ошиблись инструмент для работы.

1 голос
/ 09 апреля 2020

вместе с cdo, мы можем открыть сразу несколько файлов netcdf с помощью python xarray, как указано ниже, что более просто:

xarray.open_mfdataset('path/to/my/files/*.nc', concat_dim="time")
...