Archive for the 'PyNGL' Category

VirtualBox образ системы для океанологов на основе Ubuntu

Задача: Сделать образ Linux системы, содержащей уже установленные программы для океанологов, которым мог бы пользоваться самый прожженный виндузятник.

?нструменты: VirtualBox

К сожалению большинство программ популярных у океанологов и людей к ним приближенных совершенно не популярны у остальной части человечества. Не популярны до такой степени что дистрибутивы типа Ubuntu их в себя не включают, то есть практически мало вероятно что вы сможете выполнить

sudo apt-get install cool-ocean-soft

и получить желаемый результат. Более того, зачастую даже для немного продвинутого в *nix системах человека правильно поставить некоторый океанологический софт представляется задачей нетривиальной. Он даже может после пары часов (в лучшем случае дней) плюнуть на это дело. Если же человек сидит на Виндоуз, то от него потребуются и вовсе титанические усилия, связанные с дополнительными трудностями перехода на новую систему.

Чтобы хотя бы частично избавиться от вопросов типа «почему у меня PyNGL на новой Убунте не устанавливается?» и «что прописать в .bashrc чтобы заработал Ferret» я решил создать образ системы в которой все основные программы о которых рассказывается на koldunov.net были бы уже установлены и работали.

За основу был взят LTS дистрибутив Ubuntu 8.04 . Программы были проинсталированы и более-менее проверены на работоспособность. В результате получился образ системы для VirtualBox, который вы можете развернуть как под Линукс, так и под Виндоуз.
Read more »

Создание карты для Google Earth при помощи Python

sst_ge_koldunovnet_top.pngЗадача: отобразить наши данные на Google Earth
?нструменты: Python, PyNGL, convert

Я почему-то всегда думал что создание карт для Google Earth это занятие для избранных. С такой помпой очередной институт всегда анонсировал что его данные теперь и на Google Eatrh, что мне казалось группа программистов денно и ношно трудилась над этой непростой задачей год и вот теперь, наконец, долгожданный .kml файл увидел свет.

При ближайшем рассмотрении всё оказалось просто до тривиальности.

Собственно создание карты будет проводиться при помощи PyNGL, питоновского модуля позволяющего отображать двумерные данные на карте. Основы работы с этим модулем описаны в данном блоге и могут быть найдены по тегу PyNGL.
После мы обрежем карту при помощи convert и создадим простейший .kml файл, который и «натянет» наше изображение на Google Earth.

Поехали.
Read more »

Нормализуем углы в PyNGL

Задача: Сделать так чтобы наши координаты имели вид по долготе [0.,360.) и по широте [-180.,180.)
Решение: функция пингля Ngl.normalize_angle

Эта функция пингля делает всю работу.

Ngl.normalize_angle(angle, option)

где angle — понятное дело угол, а option — может принимать значение 0 или не 0.
Если 0 то мы имеем дело с долготами, если нет то с широтами.

Мой код выглядит следующим образом:
Read more »

Вышли новые версии PyNIO и PyNGL

clouds_main.pngСостоялся долгожданный релиз замечательных питоновских пакетов для обработки и отображения данных PyNIO и PyNGL. Теперь они распространяются по отдельности и их лицензия стала открытой, что позволяет наедятся на включение в основные дистрибутивы.

Номер новых версий 1.3.0b1, и они обладают следующими нововведениями:

— Добавлена поддержка masked aarays
— Добавлено расширенное индексирование в PyNIO
— Новые аналитические функции в PyNGL
— Новые рутины визуализации в PyNGL

Подробнее под катом
Read more »

Простой график исчезновения льда в Арктике при помощи PyNGL

Задача: Нарисовать xy график для нескольких функций. Масштаб по оси ординат одинаковый.

?нструменты: Python, PyNGL

График будет простой как тапок:
sie_1900_2100.jpg

Единственная сложность которая может возникнуть это подпись к осям, но и это не большая проблема.

Для начала скрипт:
Read more »

Океанская погода

Начали потихоньку делать проект по размещению оперативной информации об обстановке в океане на OceanographersRU. Вызван он был тем что гидрометовские карты нам не понравились. ? способ размещения инфы тоже восторга не вызвал.

?сточники данных все открытые (кроме некоторых прогнозов, но адекватную замену можно найти и в открытом доступе), поэтому решено было сделать по своему . Ну и хотелось попрактиковаться в Python’е чутка :). Ну и PyNGL делает офигенные карты на мой взгляд 🙂

Данные сливаются с разных источников в разных форматах, обрабатываются при помощи питоновского модуля PyNGL, а затем заливаются по ftp на хостинг. Сделано пока:

Будет больше как видов данных так и районов. Если у кого есть мысли по поводу того какие характеристики интересно было бы видеть ещё — велком в коменты (можно со ссылкой на источник данных, можно и без неё)).

Бонус — прогноз высоты волн:

Read more »

Одновременное отображение скалярных и векторных данных в PyNGL

Задача: построить высоту поверхности моря и наложить на неё геострофические течения.
?нструменты: Python, PyNGL

В предыдущих постах мы рисовали векторные и скалярные данные. Теперь попробуем их объединить.

Загружать данные на этот раз будем из открытых, постоянно обновляемых источников, так что каждый сможет ежедневно следить за тем как там поживает Гольфстрим, какие вихри от него отделились и куда эти вихри движутся. Выглядеть это в итоге будет примерно вот так:

pyngl_small1.png

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

Визуализация скалярного поля в PyNGL

Задача: визуализировать концентрацию льда
?нструменты: Python с модулем PyNGL

Продолжаем тему визуализации при помощи питоновского модуля PyNGL. Подробно о том что это такое и зачем оно нам можно посмотреть в предыдущем посте. Здесь же мы пошагово рассмотрим создание такой вот картинки:

contours11.png

Read more »

Эксперимент со скринкастом о программировании

Попытка описать пост, посвящённый визуализации данных при помощи скринкаста podFM.
Удачной ли оказалась эта затея отписывайтесь в коментариях 🙂 Кому нужны приглашения на podFM, обращайтесь в коменты, есть ещё 4 штуки ). Внизу блоговаровский спам, не обращайте внимания.

Поработаем немного линкопомойкой )
WebMilk.ru — молочные новости ?нтернета
Блог Сергея CrashOver Кудрявцева
Malevi4a
Заметки от The end
Вкусный блог

Визуализация данных при помощи PyNGL

Задача: взять netCDF файл содержащий две компоненты скорости течений (плюс, естественно, координаты) и изобразить вот это:

pyngl1.png

?нструменты: PyNGL и PyNIO

Смотрю я на то чем пользуется океанологическая общественность вокруг и замечаю что всё больше и больше народу тянуться к питону. У матлаба и ему подобных есть много преимуществ, но не меньше недостатков, главный из которых их небесплатность. Питон же бесплатен и к тому-же является серьёзным языком программирования на котором пишут не только научные работники.

Ну и начать хотелось с чего то осязаемого. Ничего более осязаемого чем визуализация быть не может, поэтому для бесчеловечных экспериментов был выбран свободно распространяемый модуль PyNGL (пингль), рассчитанный на людей занимающихся геонауками. Преимущества пингля над тем же GMT в том что данные можно считывать из netCDF (и кучи других форматов) непосредственно и использовать для обработки этих данных весь арсенал SciPy и питона как такового.

Сразу оговорюсь что в питоне я мегановичок (вчера прочитал по нему первую статью) так что если какие то вещи покажутся очевидными, смело пропускайте. Поехали.

Read more »