Даты и время в Python

Задача: преобразовать время модели в реальное время (на самом деле просто прибавить к начальному времени пару дней и посмотреть что получится 🙂 )
?нструменты: Python, модуль time.

К сожалению не все модели настолько продвинулись чтобы обрабатывать человеческое время. Гораздо удобней им начинать от начала и работать через определённые временные интервалы, не заботясь о днях, годах, месяцах и тому подобных глупостях. Мы же хотим привязать модельное время к реальному. Для этого была написана следующая питоновская функция:
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 »

Боле продвинутый конвертер данных в Python

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

?нструменты: Python, NumPy, SciTools, Gnuplot.py

Данные те же, как и способ использования скрипта.

Read more »

Простейший конвертер данных в Python

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

script.py input_file.dat output_file.dat

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

Это одна из самых популярных задач в научном программировании, поэтому ей мы и продолжим знакомство с Python.

Вторая часть эпопеи про конвертер тут.

Read more »

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

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

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

Читаем ascii файл в Python

Задача: прочитать файл с ascii данными и разбить его по матрицам

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

Поскольку в питоне поддержки многомерных матриц в явном виде, насколько я понимаю, нет, человечество изобрело NumPy.

Некоторые видят в NumPy хорошую альтернативу MATLAB. Эти два языка имеют некоторое сходство: они оба являются интерпретируемыми и оба позволяют пользователю писать быстрые програмы, поскольку большинство операций производится над массивами и матрицами а не над скалярными значениями. MATLAB обладает тем преимуществом что в нём встроены тысячи математических функций и ещё гораздо больше доступно в коммерческих и свободных библиотеках. В то же время NumPy является более современным и полным языком программирования, а также open source и бесплатным продуктом. Библиотека SciPy добавляет ещё больше MATLAB подобной функциональности, а Matplotlib — пакет обеспечивающий MATLAB подобный функционал в области графики. Хороший рассказ о питоновских библиотеках которыми можно заменить матлаб можно прочесть здесь.

Ну и поскольку для океанолога главным вопросом при изучении любого языка является «как читать и записывать данные», то с этого и начнём.

Read more »

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

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

pyngl1.png

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

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

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

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

Read more »

Обзор *nix блогов за неделю. Выпуск 4

В подкасте представлен обзор самых интересных постов с ленты http://runix.org за за прошедшую неделю.

Аудиозапись: Adobe Flash Player (версия 9 или выше) требуется для воспроизведения этой аудиозаписи. Скачать последнюю версию здесь. К тому же, в Вашем браузере должен быть включен JavaScript.

Read more »

← Предыдущая страницаСледующая страница →