понедельник, 31 августа 2015 г.

Подарок к 1 сентября

Дорогие читатели!

Скоро 1 сентября, страна будет праздновать День Знаний.

В этот замечательный день на моём канале GitHub будет опубликована бета-версия проекта, над которым я трудился с переменным успехом в течение последних 10 месяцев.

Итак, в разделе Scientific_graphics_in_python будет опубликован УЧЕБНИК "Научная графика в python" на русском языке! Возможно, он будет появляться постепенно, по частям, но я обещаю, что в течение этой недели (31.08 - 06.09) я выложу все главы.

Учебник реализован в виде серии ipython notebooks. Примеры python-кода из учебника можно будет скачать. Для ознакомления или поиска справочной информации, материалы можно будет просмотреть из этого поста через ссылки в оглавлении (см. ниже), которые отображают notebook-просмоторщик nbviewer.


Оглавление


Часть I Основы matplotlib

Глава 1 Библиотека matplotlib. Pyplot

Глава 2 Основные графические команды

Глава 3 Работа с текстом и шрифтами

Глава 4 Цвет и цветовая палитра

Часть II Структура рисунка в matplotlib

Глава 5 Рисунок Figure

Глава 6 Область рисования Axes

Глава 7 Мультиоконные рисунки

Глава 8 Координатные оси Axis

Глава 9 Деления координатных осей Ticks

Часть III Специальные элементы рисунка в matplotlib

Глава 10 Особенности координатных осей

Глава 11 Графики в полярной системе координат

Глава 12 Легенда

Глава 13 Цветовая шкала

четверг, 11 июня 2015 г.

Write 3D data into ASCII (text) file with metadata. Как записать 3D данные в текстовый формат "аля" фортран


Аннотация

Рассматривается способ записи данных из 3D массива в текстовый файл блоками с разделителями, состоящими из строк


Данный ноутбук посвящён проблеме записи данных по формату в текстовый файл. Приведённый в примере формат упаковки данных легко было сделать на фортране (правда я уже с трудом помню как). А вот на python это можно сделать с помощью конструкции "with". По сути рецепт подсмотрен и утащен с stackoverflow.

понедельник, 1 июня 2015 г.

Формат NetCDF. NetCDF format

Давно лежит, нужно выложить.

Представляю описание формата netCDF классической модели данных (версия netCDF3) и новой модели данных (версия netCDF4), поддерживающей новую структуру (HDF5). Текст представляет собой мой авторский перевод части документации с сайта unidata, посвящённой формату netCDF. Формат текста - pdf.

пятница, 15 мая 2015 г.

Даты и время в файлах netcdf. Time format in netcdf files


Аннотация

Рассматривается способ форматирования временных значений, представленных в файлах netcdf

Как обычно новый ноутбук на моём GitHub канале. В этот раз он посвящён проблеме представления дат в файлах netcdf в нормальном для восприятия виде (год-месяц-день-час-мин-сек).

пятница, 27 марта 2015 г.

Запись данных в формат MS Excel (xls). Writing data to MS Excel files

ABSTRACT

Приводится пример записи данных, представленных в виде числовых матриц и векторов, в файл формата xls.

Этот пост сделан в виде ipython notebook.

В нём приводится примеры записи матриц данных в файлы формата MS Excel (xls). В конце заметки приводится пример функции для записи матрицы-вектора в отдельный файл. С её помощью можно сделать для коллег, которые предпочитают работать в MS Excel, файл с вашими данными. Это легко вам и удобно пользователям MS Excel. Мостик дружбы.

понедельник, 22 декабря 2014 г.

Panoply: быстрый просмотр файлов netcdf

Обнаружил очень интересный, понятный и удобный инструмент для быстрого просмотра файлов в формате netcdf на Windows ОС.
Называется он Panoply и сделало его NASA. Это GUI, написанная на JAVA, которая позволяет быстро просматривать данные в формате grib, netcdf, hdf в виде карт и разрезов. Всё очень удобно и понятно. Настроить визуальное решение можно самому, а затем сохранить картинку в формате png.
Если нужно быстро сделать картинку по сеточным данным из ре-анализа или расчётам модели - смело используйте!

Установка: на сайте всё подробно написано. Так как это Java приложение, то нужно установить себе JAVA. Если у вас 64-х разрядная ОС, как у меня, то нужно установить версию java для x64.

Вот такая картинка получилась из данных GPCP (ре-анализ осадков) у меня за 30 секунд. Плохое качество? Но ведь это сделано за 30 секунд!


Как перевести UV в направление и скорость ветра? How to convert wind UV-components to direction and velocity?

 Всё просто.  def uv2dir(u, v):     '''     Источник:     https://github.com/blaylockbk/Ute_WRF/blob/master/functions/wind_calc...