Извлечь числовое значение переменной в NetCDF4 с помощью Python - PullRequest
1 голос
/ 10 июля 2019

Мне нужно понять, как я могу получить числовое значение одного канала IR_108 (переменная) в NetCDF4 и некоторые другие данные:

import numpy as np
from netCDF4 import Dataset

 path = '/home/data/Mmultic3kmNC4_msg04_201905080200.
    ...: nc'

In [78]: f=netCDF4.Dataset(path,'r')

 f.variables.keys()
Out[80]: odict_keys(['time', 'dtime', 'IR_016', 'commentaires', 'satellite', 'geos', 'ImageNavigation', 'GeosCoordinateSystem', 'Y', 'X', 'Albedo_to_Native_count_IR_016', 'IR_039', 'Temp_to_Native_count_IR_039', 'IR_087', 'Temp_to_Native_count_IR_087', 'IR_097', 'Temp_to_Native_count_IR_097', 'IR_108', 'Temp_to_Native_count_IR_108', 'IR_120', 'Temp_to_Native_count_IR_120', 'IR_134', 'Temp_to_Native_count_IR_134', 'VIS006', 'Albedo_to_Native_count_VIS006', 'VIS008', 'Albedo_to_Native_count_VIS008', 'WV_062', 'Temp_to_Native_count_WV_062', 'WV_073', 'Temp_to_Native_count_WV_073'])

In [81]: IR=f.variables['IR_108']

In [82]: IR
Out[82]: 
<class 'netCDF4._netCDF4.Variable'>
int16 IR_108(ny, nx)
    standard_name: toa_brightness_temperature
    long_name: 10.8 microns infra-red channel MSG Imager
    units: K
    scale_factor: 0.01
    add_offset: 273.15
    valid_min: -27315
    valid_max: 32767
    _FillValue: -32768
    available: yes
    comment: channel 9
    nuc: 931.122
    alpha: 0.9983
    beta: 0.6256
    CalibrationParametersOrigin: rttov
    _CoordinateSystems: GeosCoordinateSystem
    grid_mapping: GeosCoordinateSystem
    resolution: 3.0
    Offset : radiance = offset + CN x slope: -10.456819486590666
    Slope : radiance = offset + CN x slope: 0.2050356762076601
unlimited dimensions: 
current shape = (3712, 3712)
filling on

print(IR.dimensions)
('ny', 'nx')

Мой первый вопрос Размеры (nx, ny) - это строкаа колонка?или числовое значение соответствует координатам x; y?

Что я хотел бы понять из информации о переменной IR_108, как получить числовые значения в этом канале, а также географические координаты XY или широта и долгота.

Идея, что у меня есть точки x, y (2150,525), которые соответствуют строке и столбцу, и мне придется извлечь из этих xy числовое значение переменной в этом пикселе.Например, строка 525 пикселя 2150 соответствует значению IR_108 = 4,7.что такое 4.7?

ссылка для скачивания файла NetCDF4.https://drive.google.com/file/d/1IT-F7AbIx4bCjMLosjBx4F4UCoIX5DU0/view спасибо

...