Космическая наука с 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. Используя простое уравнение (вычисление угла между двумя векторами), мы попытаемся найти решение на основе примера для всех необходимых вычислительных шагов.