Карманное глобальное потепление

android_categories.jpgНедавно я стал счастливым обладателем HTC Desire, телефона на платформе Android. Но про этот телефон уже столько всего понаписано, что добавлять свои пять копеек смысла особого не имеет. Вместо этого я расскажу об Android приложении, которое вооружит вас против скептиков, сомневающихся в глобальном потеплении.

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

Read more »

F2PY — ускоряем вычисления в Питоне в 500 раз

Лирическое отступление:

Сегодня у меня радостное событие, мне подарили новогодний подарок. Как известно лучший подарок это подарок сделанный своими руками, так и поступил Михаил ?ткин из ?нститута Метеорологии им. Макса Планка, подарив мне эту статью. Большое тебе, Миша, человеческое спасибо ) Если у кого появится подобное желание по поводу и без повода — пишите на koldunovn@gmail.com

Собственно статья:

Чистый питон очень сильно проигрывает низкоуровневым языкам программирования, длинные циклы могут замедлить выполнение программы на пару порядков. Часто узкие места можно обойти используя пакеты вроде numpy, в них функции написаны с использованием С? и Фортрана. Функционала numpy или PyNGL хватит для большинства рутинных задач, но если нужно применить вычисление к каждому элементу массива или, не дай бог, к «бегущему окну» — двигающемуся массиву меньшего размера, то придётся писать рутину самому.

Read more »

Массивы в scipy (numpy), шпаргалка.

Массивы SciPy

Решил перевести славную шпаргалку по массивам в scipy. Под катом
Read more »

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 »

Визуализация кластерного анализа в Python (модули hcluster и matplotlib)

dendrogram_hcluster_small.png
Задача: провести кластерный анализ и его результат представить в виде дендрограммы.
?нструменты: модули hcluster, matplotlib

Это короткий пост больше для того, чтобы не забыть чем для того, чтобы рассказать в подробностях о том, что происходит.
Допустим у нас есть набор данных и мы хотим посмотреть не образуют ли некоторые из этих данных группы и если да то какие. После чего мы хотим отобразить эти наши группы и отношения найденные между ними так, как это показано на картинке. Такой вид графиков называется дендрограмма. Обе эти задачи поможет нам решить модуль hcluster, который является частью SciPy.
Read more »

Обработка данных в Python, простые вещи

Задача: обработать некие абстрактные данные в python
?нтструменты: Python, numpy, ma, glob

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

Read more »

Создание netCDF файла из бинарных при помощи PyNIO

Задача: перевести данные из бинарного формата в netCDF
?нструменты: PyNIO

В одном из предыдущих постов я рассказывал почему бинарники это далеко не всегда хорошо и зачем нам бывает нужно перевести их в формат netCDF. Там я приводил пример того как можно это сделать при помощи NCL. Здесь я рассмотрю способ который возможно подойдёт большему количеству народа, поскольку не предусматривает установку NCL, а даёт возможность воспользоваться уже установленным в составе PyNGL модулем PyNIO. Этот модуль предназначен в частности для открытия и создания netCDF файлов, и по моим впечатлениям делает это гораздо более простым способом чем NCL (хоть PyNGL и производная NCL :)).
Read more »

Open Source на CeBIT 2009

cebit2.jpg Под катом маленький рассказ о том, что я увидел на Open Source части выставки CeBIT. Cразу скажу, ничего умопомрачительного я там не обнаружил :). В прошлом году всё было гораздо шире и интереснее. Вполне допускаю, что я что-то пропустил, поскольку был невнимателен, то есть всё это не полный обзор и чисто субъективное мнение. В общем просто несколько фоток с комментариями. Заранее прошу прощения за качество фотографий — мой аппаратик увезли и пришлось пользоваться взятым взаймы у друзей (за что им огромное спасибо).

Read more »

Установка Linux на MSI Wind и общие впечатления от игрушки

msi_wind_suse.jpg У нас в семье появилась новая игрушка, под названием MSI WIND U100 1616XP Luxury Edition. Параметры такие:

  • Atom N270 / 1.6 GHz
  • RAM 1 GB
  • Festplatte 160 GB
  • GMA 950 Dynamic Video Memory Technology 3.0
  • WLAN : Bluetooth, 802.11b/g/n
  • Win XP Home
  • Breitbildschirm TFT 1024 x 600 ( WSVGA ) Anti-Reflexion
  • Kamera.

Вариант с виндой был куплен сознательно, поскольку комп брался не мне, а жене, и ты никогда не знаешь, в каком проприетарном формате захочется распространять данные этим археологам. Через пол часа после того, как я с матюгами подключил таки наш зашифорованный WAP WiFi на винде (не думал что это настолько нетривиальный процесс) и отдал машинку законной владелице, мне было приказано ставить линукс. Причинами стали стрёмность хождения по инету под виндой (отвыкать от безопасности неохота), ну и уже привычка к линуксу 🙂

Под катом описание того как на MSI Wind ставился Linux в качестве второй системы и общие впечатления от работы.

Read more »

Создание netCDF файла из кучи бинарных при помощи NCL

nc_arctic_sea_ice.pngЗадача: взять данные, которые распространяются в виде жуткой кучи бинарников и сделать из неё один красивый, легко обрабатываемый файл netCDF
?нструмент: NCL

В незапамятные времена, когда интернет у всех был медленным и дисковое пространство было на вес золота, королём форматов для распространения данных был, так называемый, бинарный формат. Это обычная последовательность нулей и единиц, которая не содержит в себе никакой информации о данных находящихся внутри. Чтобы «расшифровать» его вам нужно добыть информацию о структуре файла, о порядке байтов (endianness), о типе данных (float, integer), о том не умножены ли данные на какое-нибудь значение, что за единицы измерения используются, что за координаты, за какую дату и время эти данные и так далее и тому подобное. Геморрой. Единственное достоинство бинарного формата это размер получающихся файлов, он сравнительно мал.

Прогресс не стоял на месте и были изобретены, так называемые, self-describing форматы, одним из которых является netCDF. Преимущество этих форматов в том, что вам не надо пытать создателей файлов для того, чтобы получить информацию о его содержании, в идеале вся необходимая информация должна уже содержаться в самом файле. Это позволяет создавать приложения однообразно работающие с различными данными представленными в self-describing форматах, а не заново изобретать велосипед для каждого нового бинарника.

Размер файлов netCDF больше чем бинарных, но если это было очень важным в 90е, то в 2000х большинству нет разницы качать один или два мегабайта, телефонные модемы постепенно вымирают и слава богу. Тем не менее, некоторые несознательные граждане продолжают предоставлять данные в бинарном формате, то-ли по привычке, то-ли ленясь изменять схемы обработки, работающие с 90х (работает, не трогай). Ещё одной причиной может быть то, что создание правильного netCDF файла это не самая простая задача (в отличии от его чтения).

Далее я приведу код для довольно простого создания netCDF файла из бинарных при помощи языка программирования для наук о Земле NCL о котором я рассказывал в одном из предыдущих постов.
Read more »

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