Как реструктурировать этот netCDF?Python

Программы на Python
Anonymous
Как реструктурировать этот netCDF?

Сообщение Anonymous »

ОБНОВЛЕНИЕ: я загрузил файл в Dropbox, и его можно скачать по этой ссылке (надеюсь, это сработает, я не часто пользуюсь Dropbox): https://www.dropbox.com/scl/fi/vd0s9g08 ... ct_d9f95b3 4_Ф .nc?rlkey=isrwelpr9abbqswr91unrhpkp&st=6hkb5u2l&dl=0

Я загрузил набор данных netCDF, который прочитал с помощью xarray, но он имеет относительно сложную структуру и я не могу понять, как преобразовать его в общий формат (время, широта, долгота), чтобы можно было нанести значения соответствующей переменной на карту.
Я опубликую более короткую версию и в нижнем разделе добавлю к переменным дополнительную информацию, которая более или менее печатает информацию обо всех переменных, которые, по моему мнению, имеют отношение к приведению данных в общую структуру (время, широта , длинный).
Краткая версия:
Я открываю файл netcdf с помощью xarray

Код: Выделить всё

netcdf = xr.open_dataset(
'path/tofile/IASISND02_20240702161759Z_20240702175655Z_epct_d9f95b34_F.nc'
)
В этом файле 77 переменных, и меня интересуют значения переменной Integrated_co2:

Код: Выделить всё

print(netcdf.integrated_co2)
Изображение

Координаты не являются координатами, а представляют собой индексы координат, которые хранятся в двух переменных в наборе данных с именами «lat» и «lon». Кроме того, есть еще две временные переменные.
На мой взгляд, актуальными являются следующие формы переменных:

Код: Выделить всё

# Relevant variables in the netcdf-file:
var_names = [
"lat",
"lon",
"record_start_time",
"record_stop_time",
"across_track",
"along_track",
"integrated_co2",
]

for var in var_names:
print(f"{var}: {netcdf[var].shape} ")
Изображение

Переменные lat и lon содержат координаты в градусах, long_track содержит числа от 1 до 742,cross_track содержит числа от 1 до 120, а переменные time содержат числа в форма 7.732523e+08.
Думаю, все есть: координаты, временная метка, значения co2, но смущает то, что координаты в их истинном виде являются индексами фактических координат. По крайней мере, это то, что здесь кажется?
Как я могу внести эти переменные в общую структуру (время, широта, долгота), чтобы я мог построить график данные 'integrated_co2' на карте?
Если найдется кто-то, кто знает, как реструктурировать эти данные, я был бы очень рад. Я новичок и уже много читал о том, как использовать данные, но не нашел подобного примера.

Вот некоторая дополнительная информация о соответствующих переменных:

Код: Выделить всё

print(netcdf.along_track)
Изображение

Код: Выделить всё

print(netcdf.across_track)
Изображение

Код: Выделить всё

print(netcdf.lat)
Изображение

Код: Выделить всё

print(netcdf.lon)
Изображение

Код: Выделить всё

print(netcdf.record_start_time)
Изображение

Код: Выделить всё

print(netcdf.record_stop_time)
Изображение


Подробнее здесь: https://stackoverflow.com/questions/787 ... his-netcdf

Вернуться в «Python»