Как рассчитать площадь каждой ячейки сетки? - PullRequest
0 голосов
/ 02 марта 2019

У меня есть данные температуры воздуха в сетке с пространственным разрешением 1,25 х 1,25 градуса (долгота).Данные охватывают северное полушарие, и первая широта составляет 90 градусов.

Мне нужно рассчитать площадь каждой ячейки сетки, и мой подход заключается в том, чтобы сделать это по широтным полосам.

Альтернативой может быть чтение в области каждой ячейки сетки непосредственно из файла netCDF.Возможно ли это в MATLAB?

Вот мой код, который я пробовал;Я не уверен, что это правильно.

i=1:72;
j=2:73;
R=6371; % Earth's radius in km^2
deltalon=1.25; 
area=(pi/180)*R^2*((sind(latitude(i)) - sind(latitude(j)))*deltalon); % Area of each grid cell in km^2

1 Ответ

0 голосов
/ 02 марта 2019

Если вы не против решения, отличного от matlab, самый простой способ сделать это - просто использовать cdo из командной строки:

cdo gridarea yourdata.nc gridarea.nc 

, тогда файл netcdf gridarea.nc будет содержатьсетка каждой ячейки в м ** 2.Затем вы можете прочитать это в своей программе Matlab.

В Ubuntu cdo может быть установлен с

sudo apt-get install cdo 

Документация находится здесь: https://code.mpimet.mpg.de/projects/cdo/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...