пятница, 3 августа 2018 г.

Быстрая замена в 3D массиве по признаку

Дан трёхмерный массив z (time, lat, lon), в котором необходимо по условию cond заменить значения на undef.
Собственно решение с помощь numpy.where

import numpy as np

undef = -99
ishape = (3, 4, 5)
z = (np.arange(-30 ,30, 1)).reshape(ishape)   # 3D-array
print('Before', z)
tz0 = z.mean(axis=0)   # 2D-array
cond = (tz0 < -5.)
zz = np.where(~cond, z, undef)   # Тильда
print('After', zz)

P.S. Тильда (~) инверсирует логическую маску: превращает все True в False. И наоборот

четверг, 5 июля 2018 г.

Python 3.6+ & PIL library

Оказывается Python 3 не поддерживает корректно библиотек PIL, которая лежит в основе ВСЕХ пакетов для работы с изображениями!!!

Проблемы из серии "Не могу импортировать что-то из библиотеки PIL" на Python 3.+ решается установкой форка pillow библиотеки PIL версией 5 и выше.
В Anaconda это делается так.

conda install --channel conda-forge pillow=5

P.S. Возможно придётся обновить какие-то пакеты из conda или саму conda

пятница, 27 апреля 2018 г.

Загрузка данных реанализов центра ECMWF. ECMWF batch mode


Задача: скачать данные реанализов европейского центра среднесрочных прогнозов (ECMWF)

Реанализы, подготовленные в европейском центре среднесрочных прогнозов, являются одними из самых широко используемых атмосферных реанализов. Такие реанализы как ERA40, ERA15, ERA Interim, ERAClim предоставляют доступ к большому числу параметров о состоянии атмосферы.

Центр ECMWF поддерживает скриптовую (в т.ч. и python) поддержку для загрузки данных реанализов. Ниже приведена инструкция для языка python.



суббота, 2 сентября 2017 г.

Электронный учебник "Научная графика в python"

Научная графика в python

Автор: Шабанов Павел Александрович

E-mail: pa.shabanov@gmail.com

Дата последнего обновления: 31.08.2015

УДК 004.432.2 python

Введение

Данное электронное пособие на русском языке посвящено работе с научной графикой с помощью графической библиотекой matplotlib языка программирования python.

Ссылка на учебник:
Шабанов П.А. Научная графика в python [Электронный ресурс]. URL: https://github.com/whitehorn/Scientific_graphics_in_python (31.08.2015).

понедельник, 30 января 2017 г.

Гидропитоника. Hydropythonica

Дорогие читатели научно-популярного блога progeoru (ПРОфессионально о ГЕОграфии по-РУсски).
Совсем скоро стартует второй сезон курса "Программирование на python в науках о Земле". И надеюсь, что в этом году курс, пройдя КМБ, станет более зрелым, как французский сыр.

Ко мне поступало много обращений с разных сторон (студенты, выпускники, представители кафедр) о возможности посещать занятия очно. К сожалению, в этом году формат будет иной - строго группа не более 10 человек. Это связано с целым рядом причин: отсутствие большой аудитории, необходимость курирования именно студентов, переход качества при скачке количества в сторону увеличения.

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

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

Вероятность 90%, что съёмок не будет. Будет публикация ipython notebooks с рабочими материалами. И будет онлайн канал для общения. В каком виде - пока не ясно до конца.
В любом случае желаю учиться и учить (в хорошем смысле, когда тебя просят)! А пока у студентов каникулы, есть время и пройтись напильничком по рабочим материалам.

среда, 7 декабря 2016 г.

Восток - дело тонкое. Реанализ JRA55 download

Задача: скачать данные японского реанализа JRA55.

Краткое описание JRA55 доступно в виде html и pdf файла.

Инструкция

1) Просто так скачать JRA55 нельзя - нужен доступ (application).

На официальном сайте JRA55 нужно пройти регистрацию. ВНИМАНИЕ! Регистрация занимает около трёх дней, так что блицкриг "зарегистрировался и скачал" не пройдёт.

Проходим по ссылке из меню сайта - APPLICATION - ACCEPT.

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

понедельник, 22 февраля 2016 г.

Python курс

Добрый день, дорогие читатели моего блога!

Уже несколько недель полным ходом идёт отработка курса по python. Признаться, это давняя задумка - сделать учебник по python для пользователей разного уровня подготовки.
Для начального уровня мною был даже подготовлен в LaTex рукопись страниц на 40. Но дальше процесс забуксовал.
А в этом году благодаря Alma Mater (геофак МГУ) удалось "пристроить птеничка", то есть получить возможность провести курс по python для начинающих в науках о Земле среди магистров и аспирантов.

Как перевести 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...