Я теперь магистр: привет из солнечных Бадар
Первая и главная новость поста в том, что я успешно защитил свой магистерский диплом, отучившись 2 года в магистратуре ИСЗФ, и теперь магистр по специальности Физика со специализацией "Физика солнечно-земных связей".
Защита проходила 15 июня, я достаточно переволновался перед ней, поэтому на следующей неделе поехал "отдыхать" в командировку в Бадары, но вылилось это опять в приступ трудоголизма. Но про это позже :)
Могу сказать, что при подготовке диплома время, фактически, остановилось. Т.е. для меня всё это время можно назвать одной большой подготовкой диплома, по сравнению с которой вся остальная жизнь перешла на второй план.
Про что был диплом
Мой диплом посвящён проявлениям сильного и аномально-сильного магнитного поля в микроволновом излучении солнечных активных областей.
-
Первая часть фактически воспроизводит на русском языке содержание уже опубликованной мной на английском языке статьи с выводами о поиске гирорезонансных радиоисточников на частоте 34 ГГц по данным радиогелиографа Нобеяма
-
Во второй части я выбираю для анализа активную область AR11967 из найденного ранее списка, хитрыми техниками моделирую магнитное поле в короне Солнца над этой активной областью, строю модель радиоисточника, сравнивая её затем с наблюдениями, и, впоследствии, делаю оценку энергии магнитного поля, которая там запасена и может выделиться во время вспышек
-
Получилось, что энергии, полученной с помощью моделирования, достаточно, чтобы произошла сильная вспышка X-класса или несколько вспышек M-класса, которые наблюдались в реальности
В процессе подготовки работы было использовано много методов обработки изображений, сравнения друг с другом данных разных приборов, для построения моделей было написано немало софта и немало взято от сторонних разработчиков (например, библиотеки из состава GX Simulator, который я использовал в работе для своего бакалаврского диплома).
Думаю, что ценность моей работы состоит в совершенствовании методов прогноза солнечной активности, ведь для того чтобы понять, будет вспышка или нет, надо знать, насколько сильное магнитное поле в короне. По данным микроволнового излучения можно сделать грубую оценку того, какое поле находится в переходной зоне солнечной атмосферы или выше. При этом, для составления более точной модели потребуется магнитное поле на фотосфере и сразу с нескольких приборов, и совмещение друг с другом информации с разных приборов ещё плохо обкатано и совсем не автоматизировано. Я пытаюсь делать шаги в сторону автоматизации получения модели поля на основе нескольких своих и готовых решений.
Что будет после диплома
Честно говоря, не знаю, что будет после диплома. Пока планирую поступать в аспирантуру ИСЗФ и дальше думать, что делать. Тема с магнитными полями и солнечной погодой мне нравится, но не вижу пока какого-то конкретного большого проекта, на котором можно сосредоточиться и на котором можно "настрогать" статей.
Сейчас, что касается конкретно этого исследования, то я использую свою модель поля, чтобы помогать исправлять кучу серьёзных недоработок в программах, которые эти модели составляют. Потом на основе второй части диплома планируется статья на английском, но пока что только планируется.
Каковы же вышеупомянутые недоработки?
- При получении полного вектора магнитного поля существуют разрывы и неопределённость из-за перехода \(-90^{\circ} \to 90^{\circ}\) или \(0^{\circ} \to 180^{\circ}\). Чтобы эту неопределённость разрешить, есть специальные алгоритмы, которые часто срабатывают неправильно.
- В областях слабого поля появляются необычные артефакты, при которых алгоритм оптимизации системы уравнений ломается, и поле достигает бесконечно-больших значений, которые совершенно нереалистичны. Эти артефакты проявляются при разных разрешениях сетки. Загадка потихоньку разрешается, но чтобы решить проблему полностью, требуется время.
Что нового с момента предыдущего поста
В прошлом посте блога обещал рассказать про улучшения в панели телеметрии, и вот они:
-
Добавил в отображение так называемую UV-плоскость - коэффициенты корреляции сигнала между каждой парой антенн и равно Фурье-образ картинки на небе. С помощью этой UV-плоскости наблюдали могут быстро определять антенны, у которых проблемы с сигналом
-
Сделал обработку очереди пакетов на стороне моей программы. Поскольку пакетов с антенн сыпется очень много, то они потихоньку скапливаются в очереди у операционной системы, поэтому, чтобы избежать их пропажи, я реализовал собственную очередь на сервере-сборщике. Это поможет контролировать и поступление пакетов с различных модулей антенн, и их запись в базу данных.
Есть одна особенность, из-за которой могут возникнуть проблемы при захвате телеметрии со всех трёх решёток одновременно - это проблема того, что библиотека pysnmp
(единственная из всех тех, которые умеют парсить пакеты с наших антенн) медленно обрабатывает формат телеметрии SNMP-Trap. А это значит, что очередь будет потихоньку переполняться, если машина достаточно медленная. Но мы планируем решить эту проблему при помощи параллельной обработки пакетов в будущем. Так что всё решаемо.
И что очень круто, все наблюдатели пользуются моей программой) Когда я побывал в обсерватории, то рад был это увидеть вживую, когда люди на дежурстве следят за состоянием антенн именно по моему интерфейсу.
Мои предыдущие проекты с магнитосферой так же продолжаются. Но про это в следующих постах, когда будет какой-никакой существенный прогресс.
Экстраполяция магнитных полей в короне Солнца
При работе над экстраполяциями магнитного поля возникла потребность в написании своего конвейера обработки для получения поля в короне и для радиоисточников. В итоге я пытаюсь объединить код на языке IDL и код на Python в единое приложение, которое сможет получать удалённые команды (Flask JSON REST API) и проделывать расчёты на сервере по порядку, сохраняя данные на каждом шаге.
Пытаюсь в процессе экспериментировать с графическими интерфейсами и возвращаюсь регулярно к попыткам что-то сделать на Flutter. Возможно, придёт время, и из этого может выйти что-то путное. Однако, если мне надоест возиться с Flutter, то возьму привычный путь и сделаю веб-интерфейс, чтобы не заморачиваться.
Чем занимался в Бадарах
В понедельник сразу после защиты я поехал в Бадары, привёз туда жёсткий диск для копирования данных в наше хранилище, разбирался с приёмом телеметрии, а потом занялся следующим заданием - к одному из алгоритмов синтеза изображений с двух решёток Радиогелиографа делал веб-интерфейс.
Суть там простая: программа должна давать возможность выбрать дату-время наблюдения, частоты, дальше там кнопка "cинтезировать". После нажатия кнопки отправляется запрос к бэкенду на сервере (который тоже я писал), который производит расчёты и выдаёт результат как в виде превьюшки, так и в формате FITS с возможностью скачивания.
Что удалось сделать за примерно 2 дня кодинга:
-
Сам интерфейс получился и оказался достаточно красив. Я воспользовался своим любимым Plotly Dash и виджетами dash-mantine-components. Этот фреймворк основан на React.js и даёт возможность очень быстро "раскидать" любые контролы под свой вкус. В плане быстроты разработки с ним может соревноваться, наверное, только QtWidgets.
-
Сделал бэкенд, который даёт параллельно принимать задания от разных пользователей и обрабатывать результаты, следить за ними в реальном времени. Есть обработка ошибок и "прибивание" зависших процессов по таймауту. Для параллельности используется библиотека
multiprocessing
. -
Закинул всё в Docker, потому что оказалось, что сама программа, которая делает изображения, требует строго определённую версию Python (3.8). Docker-контейнер понадобился, чтобы результат можно было запустить на любом компьютере. Ещё Docker позволяет ограничить использование CPU, чтобы не съедались сразу все ядра процессора при расчётах.
А получилось примерно вот что:
Следует заметить, что синтез изображения с радиогелиографа - это долгий процесс. Он может занимать от минуты до десятков минут, поэтому требуется иметь хоть какое-то фоновое отслеживание и контроль за ним. Что касается программы, то когда будут готовы все решётки, то в отделе все тоже будут ей пользоваться. Пока что просто экспериментируем и тестируем.
Не так давно в провластных иркутских СМИ, таких как IrCity и irk.ru, выходили статьи про наш радиогелиограф, однако, я бы не советовал их репостить и воспринимать их как есть :). Строительство третьей решётки 12-24 ГГц ещё продолжается (хотя и на стадии завершения), и журналисты в некоторых моментах наврали:
- Количество антенн - 528
- Наш радиогелиограф не единственный работающий в мире. Кроме него есть инструмент EOVSA, который работает в США. Наши приборы различаются в некоторых моментах, и пусть Сибирский радиогелиограф по-своему крут, это враньё, что он единственный.
Так что всегда воспринимайте информацию с долей критики ;)
"Плохая" погода в Бадарах выглядит вот так:
Но, поскольку это радиогелиограф, то даже в плохую погоду мы можем наблюдать Солнце. Круто, да?)
По жизни
Отдохнуть в Бадарах мне не удалось, сильно был увлечён кодингом. И перед защитой диплома достаточно перенапрягся и разволновался. Нужно заново учиться отдыхать, пытаться расслабляться, успокаиваться. Пытаюсь иногда гулять, отвлекаться, но пока не очень получается.
У меня патологический страх дедлайнов: когда дедлайн далеко, то спокойно получается делать всю работу, но чем он ближе, тем способность что-то делать ниже и ниже. В этот раз удалось написать текст магистерской ещё до того, как работоспособность ушла в ноль.
Плохие новости, особенно связанные с войной, тоже не дают покоя, но перестать читать их не могу. Поэтому моя главная стратегия сейчас по сохранению рассудка - разбавлять плохие новости хорошими, пытаться специально выискивать что-то хорошее в море плохого. В основном это работает, но нужно стараться лучше. Скоро отпуск, а это значит, что можно найти чуть больше возможностей расслабиться.
Всем до связи и спасибо, что читаете то, что я тут пишу.