Полярная стереографическая проекция на регулярную решетку широта / долгота
Это продолжение моего предыдущего вопроса в том, что это гораздо более конкретно с примерами и данными. У меня есть массив ледяных данных 304 на 448 (в полярной стереографической проекции), из которых netcdf можно получить здесь. Соответствующие точки широты / долготы каждого поля сетки можно найти в этом файле. Я хотел бы преобразовать эти данные в регулярную решетку широта / долгота (скажем, 180x360), где каждый прямоугольник сетки представляет собой градус. Есть ли Python способ сделать это? И т.д., используя Basemap или, альтернативно, используя CDO (операторы климатических данных)?
Спасибо заранее. Джеймс
1 ответ
Если вы сначала добавите сетку в файл данных с помощью, например,
ncks -A -v lat,lon NSIDC_LatLon.nc sample.nc
Затем вы можете использовать ncremap от NCO, чтобы пересмотреть это, например,
ncremap -i sample.nc -d 1x1.nc -o out.nc
К сожалению, для этого потребуется текущий снимок NCO (а не выпущенная версия), потому что входные файлы содержали измерения в необычном порядке, который я только что исправил для обработки NCO. Образец зарегистрированного выхода здесь.
По просьбе ОП я пересмотрел его файл и загрузил его ( здесь). У меня не было набора данных 1x1, поэтому я сначала создал файл сетки 1x1, как показано в руководстве, а затем сопоставил его (с параметром ncremap -g):
ncremap -i ~/NSIDC.nc -g ${DATA}/grids/180x360_SCRIP.20150901.nc -o ~/NSIDC_1x1.nc
Обычно команда для этого в CDO выглядит следующим образом:
cdo remapcon,r360x180 in.nc out.nc
вместо con = консервативного переназначения вы можете использовать bil = билинейный, nn = ближайший сосед, con2 = консервативное переназначение 2-го порядка.
Согласно этому сообщению, https://code.mpimet.mpg.de/boards/1/topics/8302?r=8326 последние версии cdo должны поддерживать полярные стереографические проекции.