Космическая наука с Python

Космическая наука с Python - серия учебных пособий по науке о данных

Python - великолепный язык для науки о данных и машинного обучения, в нем есть множество замечательных библиотек и проектов с открытым исходным кодом, поддерживаемых сообществом. Как мы можем использовать Python для исследования и анализа чудес и загадок космоса?

Объекты, сближающиеся с Землей, метеоры, миссия ESA Rosetta / Philae к комете, космический корабль «Кассини», исследующий кольцевые миры Сатурна… Я работал над большими проектами во время учебы в учебе, а затем в качестве докторанта в университете. Как современный астрофизик или ученый-космонавт, основная работа выполняется перед экраном: исследование данных, их хранение и обслуживание, а также научный анализ и публикация интересных результатов и идей.

Я многому научился за это время, и я очень благодарен за это. Благодарен за возможности и время, чтобы исследовать космические чудеса на последнем рубеже академии.

Я использовал методы анализа данных, машинное обучение и архитектуры нейронных сетей, которые могут быть разработаны и использованы практически кем угодно благодаря отличным сайтам публикаций, увлеченным пользователям и сильному сообществу разработчиков ПО. Теперь я хочу установить связь между наукой о данных и космической наукой. На Medium, Twitter, Reddit или на моих публичных презентациях: Люди поражены и очарованы нашим космосом! И я хочу поделиться с сообществом кое-чем: серией руководств, связывающих космическую науку с Python.

Обзор

Эта статья представляет собой обзор и содержит краткое изложение всех статей, которые я публикую здесь на Medium. Эта статья будет постоянно обновляться и содержит оглавление. Все примеры кода загружены в мой репозиторий GitHub. Добавьте его в закладки, чтобы получать обновления в будущем.

0. Введение

Самая первая статья не содержит кодовых частей. Он был написан и опубликован как начальное введение.

1. Настройка и первые шаги

Настройка виртуальной среды для Python. Установка инструментария NASA SPICE, соответственно Python Wrapper spiceypy. Объяснение некоторых так называемых SPICE-ядер.

2. Взгляд на первый закон Кеплера

Расчет барицентра Солнечной системы относительно Солнца (с использованием SPICE). В учебном пособии показано, что гравитационный центр нашей Солнечной системы движется внутри и за пределами Солнца. Следовательно, Солнце «качается» вокруг этого общего центра.

3. Центр Солнечной системы.

Внешние газовые гиганты (Юпитер, Сатурн, Уран и Нептун) являются основными гравитационными факторами в нашей Солнечной системе. Вычисления и визуализация различных угловых параметров показывают, что эти планеты являются основной причиной движения Барицентра Солнечной системы, как было показано в учебном занятии 2.

4. Танец Венеры.

Апрель / май 2020 года: Венера видна невооруженным глазом вечером; сразу после захода солнца наша соседняя планета предстает в виде звезды над горизонтом. Близкие угловые расстояния с Луной создают красивую фотосессию. Здесь в руководстве объясняется, как вычислить угловое расстояние между Венерой, Луной и Солнцем для определения оптимальных параметров наблюдения (с помощью SPICE).

5. Космические карты.

Учебное пособие, объясняющее основную часть астрономии и космической науки, посвященную анализу и визуализации: карты. SPICE и matplotlib используются для объяснения, вычисления, рисования и интерпретации этих карт. Далее объясняются две разные справочные системы, которые также будут использоваться на будущих занятиях.

6. Вокруг Солнца

SPICE предоставляет так называемые ядра, которые позволяют определять положение и вектор скорости планет, астероидов или космических кораблей. Процедура вычисления вектора показана для карликовой планеты Церера. На основании положения и вектора скорости вычисляются соответствующие элементы орбиты. Далее показано, насколько близко астероид 1997BQ прошел мимо Земли в мае 2020 года.

7. Кометы - гости издалека.

Кометы - это остатки образования нашей Солнечной системы. Сотни известны, задокументированы и бесплатно доступны в виде набора данных. В этом сеансе создается база данных SQLite с данными из Центра малых планет, а некоторые параметры выводятся с помощью SPICE. Кроме того, Большая комета Хейла-Боппа используется в качестве примера для получения позиционной информации.

8. Происхождение комет.

Известны два типа комет: типы P и C. Показаны и обсуждаются различные статистические вариации, а также их возможный источник происхождения.

9. Встреча с Юпитером.

Кометы типа P динамически связаны с Юпитером. Эта динамическая связь описывается параметром Тиссерана, который вводится и объясняется. Научный анализ распределения показывает значительные динамические различия между кометами типов C и P.

10. Приложения к статьям.

Это учебное занятие является дополнительной статьей. Он описывает, как можно создавать анимацию многомерного параметра Тиссерана. Такие визуализации помогают легче понять функции с несколькими входами. Дополнительные материалы онлайн часто предоставляются в публикациях, чтобы помочь читателю получить дополнительную информацию.

11. Все ли мы наблюдали?

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

12. Комета в 3 D.

Миссия ЕКА Rosetta / Philae исследовала комету 67P / Чурюмова-Герасименко с 2014 по 2016 год. В течение двухлетней миссии камеры сделали несколько снимков ядра кометы и построили трехмерную модель. С пакетом visvis средство визуализации Python запрограммировано для интерактивного исследования этого ледяного мира.

13. Бурные времена кометы

Есть несколько источников для предсказания траектории кометы (здесь: 67P). Мы создали базу данных SQLite с данными из центра Minor Planet (см. Часть 7) и узнали, как получать данные из ядер SPICE. Оба данных дают разные, а также нестатические результаты, которые описаны и сравниваются здесь.

14. Невидимый гость.

Часть 13 показала, что элементы орбиты 67P из ядер SPICE изменяются для разных времен эфемерид. Одна из возможных причин: 67P - это комета P-типа и семейства Юпитер (часть 9), на которую значительно влияет Юпитер. При поддержке SPICE мы можем показать гравитационное влияние газового гиганта, вычислив простое решение с двумя телами.

15. Солнечный орбитальный аппарат и комета ATLAS.

Несколько недель назад (конец мая / начало июня 2020 года) солнечный орбитальный аппарат ЕКА пересек части пылевого и ионного хвоста кометы ATLAS. Какие геометрические требования необходимо выполнить, чтобы быть уверенным в том, что космический корабль пересек ионный хвост? Ответить на этот вопрос нам помогает использование SPICE и новейших ядер космических аппаратов.

16. Яркие точки на темном небе

Яркость, плотность потока, энергетическая освещенность, сияние ... Есть много запутанных слов и определений для описания источников света. В астрономии и космической науке используется другое определение: величина. В этом учебнике по базовой концепции мы создаем некоторые функции, которые будут использоваться в будущих сеансах (например, вычисление яркости астероидов или метеоров).

17. Неопределенное движение астероида.

30 июня 2020 года: День астероида! Сегодня мы начнем с некоторых статей, связанных с астероидами, начиная с астероида, который пролетел на расстоянии 3 лунных расстояний: 2020 JX1. Вычислить положение астероида не так просто, как показано в прошлом, нам нужна ковариационная матрица, чтобы определить возможное пространство решения местоположения астероида.

18. Оценщики плотности в небе.

2020 JX1 покинул окрестности нашей родной планеты! Расстояние в 3 лунных расстояния было небольшим в космических масштабах, но достаточно большим, чтобы пропустить нас. Индикаторы ошибок в пространстве решения орбиты (см. Последний сеанс) распространяются в процессе вычислений. Следовательно, небесные координаты астероида тоже являются пространством решения! Оценщик плотности ядра 2D поможет нам определить область неопределенности в небе, чтобы ответить на вопрос: Где мог быть астероид?

19. Очень яркое противостояние.

Яркость астероидов можно вычислить с помощью так называемой функции звездной величины H-G. Эмпирически определенное уравнение, которое зависит от расстояния между астероидом и Землей и Солнцем, фазового угла, его абсолютной величины и параметра наклона. В чем особенность этого уравнения? Посмотрим …

20. Церера в небе

Урок №20 связывает вместе несколько тем: определение расстояния и фазового угла, видимую звездную величину, координаты неба и так далее. Задача: Визуализировать путь Цереры в небе на 2020 год (с учетом тренда его яркости). После этой статьи мы готовы приступить к нашему первому космическому научному проекту об астероидах и объектах, сближающихся с Землей.

Научный проект №1

21. Космическая наука с Python - Проект астероидов (Часть 1)

Первая часть проекта представляет собой введение в тему «Объекты, сближающиеся с Землей» (NEO) и еще не включает никакого кода. Структура предстоящих недель описывается.

22. Проект "Астероид" (часть 2) - Разработка через тестирование

Наш проект приведет к созданию библиотеки Python, которую впоследствии смогут использовать как любители, так и профессиональные астрономы и ученые. Чтобы обеспечить надежный и устойчивый программный пакет, библиотека должна быть написана в среде кодирования Test Driven Development (TDD). Что такое TDD? Мы разберемся с этим в этой сессии.

23. Космическая наука с Python - Проект астероидов (Часть 3)

В этом пошаговом руководстве представлен общий пример TDD. Используя простое уравнение (вычисление угла между двумя векторами), мы попытаемся найти решение на основе примера для всех необходимых вычислительных шагов.