Перейти к главному содержимому

Я теперь магистр: привет из солнечных Бадар

Первая и главная новость поста в том, что я успешно защитил свой магистерский диплом, отучившись 2 года в магистратуре ИСЗФ, и теперь магистр по специальности Физика со специализацией "Физика солнечно-земных связей".

Защита проходила 15 июня, я достаточно переволновался перед ней, поэтому на следующей неделе поехал "отдыхать" в командировку в Бадары, но вылилось это опять в приступ трудоголизма. Но про это позже :)

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

Про что был диплом

Мой диплом посвящён проявлениям сильного и аномально-сильного магнитного поля в микроволновом излучении солнечных активных областей.

  • Первая часть фактически воспроизводит на русском языке содержание уже опубликованной мной на английском языке статьи с выводами о поиске гирорезонансных радиоисточников на частоте 34 ГГц по данным радиогелиографа Нобеяма

  • Во второй части я выбираю для анализа активную область AR11967 из найденного ранее списка, хитрыми техниками моделирую магнитное поле в короне Солнца над этой активной областью, строю модель радиоисточника, сравнивая её затем с наблюдениями, и, впоследствии, делаю оценку энергии магнитного поля, которая там запасена и может выделиться во время вспышек

  • Получилось, что энергии, полученной с помощью моделирования, достаточно, чтобы произошла сильная вспышка X-класса или несколько вспышек M-класса, которые наблюдались в реальности

В процессе подготовки работы было использовано много методов обработки изображений, сравнения друг с другом данных разных приборов, для построения моделей было написано немало софта и немало взято от сторонних разработчиков (например, библиотеки из состава GX Simulator, который я использовал в работе для своего бакалаврского диплома).

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

Что будет после диплома

Честно говоря, не знаю, что будет после диплома. Пока планирую поступать в аспирантуру ИСЗФ и дальше думать, что делать. Тема с магнитными полями и солнечной погодой мне нравится, но не вижу пока какого-то конкретного большого проекта, на котором можно сосредоточиться и на котором можно "настрогать" статей.

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

Каковы же вышеупомянутые недоработки?

  1. При получении полного вектора магнитного поля существуют разрывы и неопределённость из-за перехода \(-90^{\circ} \to 90^{\circ}\) или \(0^{\circ} \to 180^{\circ}\). Чтобы эту неопределённость разрешить, есть специальные алгоритмы, которые часто срабатывают неправильно.
  2. В областях слабого поля появляются необычные артефакты, при которых алгоритм оптимизации системы уравнений ломается, и поле достигает бесконечно-больших значений, которые совершенно нереалистичны. Эти артефакты проявляются при разных разрешениях сетки. Загадка потихоньку разрешается, но чтобы решить проблему полностью, требуется время.

Что нового с момента предыдущего поста

В прошлом посте блога обещал рассказать про улучшения в панели телеметрии, и вот они:

  1. Добавил в отображение так называемую UV-плоскость - коэффициенты корреляции сигнала между каждой парой антенн и равно Фурье-образ картинки на небе. С помощью этой UV-плоскости наблюдали могут быстро определять антенны, у которых проблемы с сигналом

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

Есть одна особенность, из-за которой могут возникнуть проблемы при захвате телеметрии со всех трёх решёток одновременно - это проблема того, что библиотека pysnmp (единственная из всех тех, которые умеют парсить пакеты с наших антенн) медленно обрабатывает формат телеметрии SNMP-Trap. А это значит, что очередь будет потихоньку переполняться, если машина достаточно медленная. Но мы планируем решить эту проблему при помощи параллельной обработки пакетов в будущем. Так что всё решаемо.

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

Мои предыдущие проекты с магнитосферой так же продолжаются. Но про это в следующих постах, когда будет какой-никакой существенный прогресс.

Экстраполяция магнитных полей в короне Солнца

При работе над экстраполяциями магнитного поля возникла потребность в написании своего конвейера обработки для получения поля в короне и для радиоисточников. В итоге я пытаюсь объединить код на языке IDL и код на Python в единое приложение, которое сможет получать удалённые команды (Flask JSON REST API) и проделывать расчёты на сервере по порядку, сохраняя данные на каждом шаге.

Пытаюсь в процессе экспериментировать с графическими интерфейсами и возвращаюсь регулярно к попыткам что-то сделать на Flutter. Возможно, придёт время, и из этого может выйти что-то путное. Однако, если мне надоест возиться с Flutter, то возьму привычный путь и сделаю веб-интерфейс, чтобы не заморачиваться.

Чем занимался в Бадарах

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

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

Что удалось сделать за примерно 2 дня кодинга:

  1. Сам интерфейс получился и оказался достаточно красив. Я воспользовался своим любимым Plotly Dash и виджетами dash-mantine-components. Этот фреймворк основан на React.js и даёт возможность очень быстро "раскидать" любые контролы под свой вкус. В плане быстроты разработки с ним может соревноваться, наверное, только QtWidgets.

  2. Сделал бэкенд, который даёт параллельно принимать задания от разных пользователей и обрабатывать результаты, следить за ними в реальном времени. Есть обработка ошибок и "прибивание" зависших процессов по таймауту. Для параллельности используется библиотека multiprocessing.

  3. Закинул всё в Docker, потому что оказалось, что сама программа, которая делает изображения, требует строго определённую версию Python (3.8). Docker-контейнер понадобился, чтобы результат можно было запустить на любом компьютере. Ещё Docker позволяет ограничить использование CPU, чтобы не съедались сразу все ядра процессора при расчётах.

А получилось примерно вот что:

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

Не так давно в провластных иркутских СМИ, таких как IrCity и irk.ru, выходили статьи про наш радиогелиограф, однако, я бы не советовал их репостить и воспринимать их как есть :). Строительство третьей решётки 12-24 ГГц ещё продолжается (хотя и на стадии завершения), и журналисты в некоторых моментах наврали:

  1. Количество антенн - 528
  2. Наш радиогелиограф не единственный работающий в мире. Кроме него есть инструмент EOVSA, который работает в США. Наши приборы различаются в некоторых моментах, и пусть Сибирский радиогелиограф по-своему крут, это враньё, что он единственный.

Так что всегда воспринимайте информацию с долей критики ;)

"Плохая" погода в Бадарах выглядит вот так:

Но, поскольку это радиогелиограф, то даже в плохую погоду мы можем наблюдать Солнце. Круто, да?)

По жизни

Отдохнуть в Бадарах мне не удалось, сильно был увлечён кодингом. И перед защитой диплома достаточно перенапрягся и разволновался. Нужно заново учиться отдыхать, пытаться расслабляться, успокаиваться. Пытаюсь иногда гулять, отвлекаться, но пока не очень получается.

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

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

Всем до связи и спасибо, что читаете то, что я тут пишу.