Телескопы покупают здесь


A A A A Автор Тема: OrbSearch - приложение для расчета и уточнения элементов орбит астероидов  (Прочитано 4981 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн andypАвтор темы

  • *****
  • Забанен!
  • Сообщений: 2 539
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
Я собираюсь попробовать создать программу OrbSearch для расчета и уточнения элементов орбит астероидов.
Основная задача данного приложения - расчет как можно более точных элементов орбиты
на основе большого числа наблюдений, точность должна быть не хуже, чем у OrbFit.
Кроме того, данное приложение должно быть проще по использованию по сравнению
с OrbFit и свободно от ошибок, содержащихся в OrbFit.

Предполагается, что OrbSearch будет написан на C++ с использованием наработок,
которые были созданы в процессе работы над LinOccult.
Результаты работы OrbSearch должны быть тесно интегрированы с LinOccult.
OrbSearch будет создан на платформе UNIX (Linux) с возможностью портирования на другие платформы.
Лицензия GPL GNU Open Source.

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

Однако, соревноваться с OrbFit - задача на порядок сложнее, чем соревнование с
написанной на коленке WinOccult. Поэтому скорее всего, будет необходима разнообразная
помощь от максимально возможного числа людей. Если это реально, я начну разработку
более конкретного плана действий.

Андрей Плеханов

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Большому кораблю - большое плаванье!

Насколько я могу судить о решении данной задачи, расчёты будут весьма громоздкими, а в самом процессе расчёта будет множество независимых ветвей (по одной на объект). Поэтому у меня есть предложение: разрабатывать программу, которая поддерживала бы распределённые вычисления, и раскидывать ветви между клиентами. Результаты же скидывать в один общедоступный архив.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн andypАвтор темы

  • *****
  • Забанен!
  • Сообщений: 2 539
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
Можете поучаствовать в проекте ?

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн andypАвтор темы

  • *****
  • Забанен!
  • Сообщений: 2 539
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
Выложил первую версию программы - OrbSearch 1.0.0 Beta.
Исходники можно найти на моей страничке:

http://andyplekhanov.narod.ru

и на

http://sourceforge.net/projects/orbsearch

Начальная орбита вычисляется с помощью метода Гаусса по трем наблюдениям,
а затем уточняется с помощью нахождения минимума функции отклонения Simplex методом.
В отличии от известных программ упор делается на статистическую обработку и вычисление
неопределености обриты путем вычисления нескольких вариантов.

В программе используются библиотеки из LinOccult и GNU scientific library.

Вот несколько сравнений результатов с OrbFit:

Астероид 49:

OrbSearch (best fitted):

  Epoch (y m d)             2008/05/25.25 (54611.25)
  Semi-major axis (a)         3.09061843 AU
  Eccentricity (e)            0.23131746
  Inclination (i)             3.18124886 deg
  Long. of ascending node   286.13984314 deg
  Argument of perihelion    110.03371310 deg
  Mean anomaly (M)        240.29977619 deg

OrbFit:

        Semimajor axis     =   3.09061933737767E+00 AU
        Eccentricity       =   0.231307001433158
        Inclination        =   3.1814838945372 deg
        Long. of node      = 286.1301224096144 deg
        Arg. of pericenter = 110.0438989194008 deg
        Mean anomaly       = 240.3045776164618 deg
        Epoch of elements  : MJD   54611.28400000 TDT (May 25, 2008,  6.816000
h)

Астероид 165:

OrbSearch (best fitted):

  Epoch (y m d)             2008/05/20.00 (54606.00)
  Semi-major axis (a)         3.12572643 AU
  Eccentricity (e)            0.08338424
  Inclination (i)            11.23946034 deg
  Long. of ascending node   302.65132928 deg
  Argument of perihelion    350.83658219 deg
  Mean anomaly (M)        308.39276761 deg

OrbFit:

        Semimajor axis     =   3.12571555818036E+00 AU
        Eccentricity       =   0.083388649509875
        Inclination        =  11.2393034099170 deg
        Long. of node      = 302.6507359851024 deg
        Arg. of pericenter = 350.8433943595194 deg
        Mean anomaly       = 308.4035998068666 deg
        Epoch of elements  : MJD   54606.09000000 TDT (May 20, 2008,  2.160000
h)
« Последнее редактирование: 22 Мая 2008 [22:58:49] от andyp »

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Супер!!!

Дождался-таки. :)
Завтра на работе попробую потестировать...

Пару вопросов: каков алгоритм компиляции? Я помню, что LinOCCULT компилировался не просто стандартной схемой configure->make->make install...

Будет ли "мануал" по OrbSearch -- как для LinOCCULT -- на русском и английском?

Ожидается ли портирование OrbSearch под Windows OS (снова же, как это было для LinOCCULT)?

Ещё вопрос по просьбе друга: а при рассчёте учитываются возмущения от планет? :)


Сравнение с OrbFit весьма наглядное. OrbSearch -- forever!  ;D Ура!


Надеюсь, с OrbSearch работать намного понятнее, чем с OrbFit...

P.S. Не по теме вопрос -- а как продвигается процесс обновления LinOCCULT? :)
Цитата
TODO list:

   1. To rewrite the following modules: 3D matrix, vectors and time processing procedures. kdtree processing. DE405 ephemeris reader.
   2. To develop a GUI.
   3. To create a make files.
   4. To write a documentations.
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн andypАвтор темы

  • *****
  • Забанен!
  • Сообщений: 2 539
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
> Пару вопросов: каков алгоритм компиляции? Я помню, что LinOCCULT компилировался не просто стандартной схемой configure->make->make install...

cd OrbSearch
./allbuild

> Будет ли "мануал" по OrbSearch -- как для LinOCCULT -- на русском и английском?

Будет. Со временем.

> Ожидается ли портирование OrbSearch под Windows OS (снова же, как это было для LinOCCULT)?

Я Windows не использую. Если кто-нибудь захочет портировать.

> Ещё вопрос по просьбе друга: а при рассчёте учитываются возмущения от планет? :)

А как-же... Конечно. В будущем будут учитываться возмущения от наибольших астероидов.

> Надеюсь, с OrbSearch работать намного понятнее, чем с OrbFit...

Система та же что и в LinOccult.

> P.S. Не по теме вопрос -- а как продвигается процесс обновления LinOCCULT? :)

Сейчас есть 2.0.0 Beta. Надо закончить тестирование.

>   1. To rewrite the following modules:
> 3D matrix, vectors and time processing procedures. kdtree processing.

Сделано.

> DE405 ephemeris reader.
>   2. To develop a GUI.
>   3. To create a make files.

Пока нет.

>   4. To write a documentations.[/quote]

Сделано.
« Последнее редактирование: 23 Мая 2008 [13:46:10] от andyp »

Оффлайн Serj

  • *****
  • Сообщений: 4 533
  • Благодарностей: 94
    • Сообщения от Serj
    • Тверской астроклуб
Ура, поздравляю что осилили этот проект! Теперь осталось проверить по положительным покрытиям чьи элементы точнее получаются. Андрей, вы не списывались с Христо Павловым чтобы он добавил в OccultWatcher обстоятельства покрытий, уточнённых с помощью OrbSearch?
We have met the enemy and he is us.

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Программа скомпилировалась нормально. Возник вопрос: в orbsearch.config прописаны пути к рабочим файлам

string JPLEphemFilePath /home/andyp/MyAstroData/jpleph
string ETUTFilePath /home/andyp/MyAstroData/ET-UT.dat
string TAIUTCFilePath /home/andyp/MyAstroData/TAI-UTC.dat
string ObservatoriesFilePath /home/andyp/MyAstroData/OBSCODE.dat

А где можно скачать эти файлы?
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн andypАвтор темы

  • *****
  • Забанен!
  • Сообщений: 2 539
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
ET-UT.dat TAI-UTC.dat OBSCODE.dat файлы в приложении.
Расширение zip надо убрать.
С jpleph сложнее - он 25 мегабайт.
Куда его присать ?

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Спасибо за файлы!

string JPLEphemFilePath /home/andyp/MyAstroData/jplephХм... Так это же наверно  unxp2000.405 для LinOCCULT -- я прав?
Вот, в linoccult.config:
Цитата
string AstOrbFilePath \home\vitaly\linoccult\astorb.dat
string StarCatalogFilePath \home\vitaly\linoccult\Tycho2.dat
string JPLEphemFilePath \vitaly\linoccult\unxp2000.405
Это он? Только он у меня всего 4,7 Мб... Если не он, то вышлите пожалуйста, если можно, файл на HEP[at]tut.by (только почтовый сервер не пропускает письма больше 10 Мб, так что придётся делать трёхтомный архив...)
« Последнее редактирование: 23 Мая 2008 [23:36:52] от 1212Lupus »
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн andypАвтор темы

  • *****
  • Забанен!
  • Сообщений: 2 539
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
unxp2000.405 - это эфемериды с 2000 по 2050 годы. Для LinOccult этого достаточно.
Для OrbSearch нужны эфемериды со времен первых наблюдений астероидов.
Файл jpleph содержит эфемериды с 1800 по 2040 годы.

Я разделил файл jpleph с помощью программы split и отправил три части по указанному адресу.
Склеить их можно командой cat:

cat xaa xab xac > jpleph
« Последнее редактирование: 24 Мая 2008 [10:28:43] от andyp »

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Андрей, спасибо. Всё собрал, запустил OrbSearch -- вроде, всё работает. Буду пробовать считать.
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн andypАвтор темы

  • *****
  • Забанен!
  • Сообщений: 2 539
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
Пока еще нет процедуры исключения ошибочных
наблюдений. Поэому результат может быть не таким точным.

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Ещё вопросик, наверно немного ламерский, но пока нет документации, разобраться сложно:

В /Examples в файде OneAsteroid.config строчка
string MPCFilePath 49.obsуказывает, как я понимаю, на MPC файл с элементами орбиты астероидов. Он у меня есть. А где взять файл для интересующего меня астероида?
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн andypАвтор темы

  • *****
  • Забанен!
  • Сообщений: 2 539
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
Это файл с наблюдениями для астероида 49.
Наблюдения для других астероидов в MPC.
Но для того, чтобы их скачать надо регистрироваться.
« Последнее редактирование: 29 Мая 2008 [21:29:23] от andyp »

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Ясно, попытаемся решить проблему.

Мой коллега по работе, Антон Корнеев, портировал OrbSearch под Windows OS. Ему пришлось заменить исходную библиотеку gsl на её же, но от Cygwin.

Желающие попробовать потестировать под Windows могут скачать OrbSearch 1.0.0 Beta для Windows (1,3 Mb). Для работы  нужен файл jpleph (25 Mb) -- его я могу выслать по запросу.

В принципе, я далее смогу сам портировать обновления OrbSearch под Windows (если этот тестовый вариант будет работать адекватно)...
« Последнее редактирование: 04 Июн 2008 [04:10:58] от 1212Lupus »
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн andypАвтор темы

  • *****
  • Забанен!
  • Сообщений: 2 539
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
Небольшая поправка - каталог Tycho2 и astorb.dat нужны только для LinOccult.
OrbSearch'у необходимы файлы ET-UT.dat TAI-UTC.dat OBSCODE.dat.
« Последнее редактирование: 31 Мая 2008 [16:46:58] от andyp »

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Подправил свой предыдущий пост. :)

В аттаче -- результат тестирования OrbSearch для Windows по 93-му астероиду. Вроде, всё работает.

Для желающих потестировать: изменяем в orbsearch.config пути к файлам:
string JPLEphemFilePath g:\OrbSearch\jpleph
string ETUTFilePath g:\OrbSearch\ET-UT.dat
string TAIUTCFilePath g:\OrbSearch\TAI-UTC.dat
string ObservatoriesFilePath g:\OrbSearch\OBSCODE.dat
на те, под которыми у вас лежат указанные файлы.

Затем запускаем консоль (Пуск-->Выполнить-->cmd), командой cd переходим в корневой каталог с OrbSearch (у меня -- G:\OrbSearch), и запускаем следующую команду:
G:\OrbSearch>orbsearch.exe orbsearch.config
После этого можно запускать свои config-файлы на исполнение. Например, OneAsteroid.config. В нём в строке
string MPCFilePath 93.obsможно указать другой файл с наблюдениями астероидов -- см. в корне файлы с расширением *.obs


Андрей, если хотите, можете разместить виндовую версию у себя на сайте. Будет как и с LinOCCULT -- и для Linux, и для Windows.
« Последнее редактирование: 04 Июн 2008 [04:27:29] от 1212Lupus »
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн andypАвтор темы

  • *****
  • Забанен!
  • Сообщений: 2 539
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
Выложил на своем сайте http://andyplekhanov.narod.ru
новую версию OrbSearch 1.0.0.

Основные изменения:
1. Добавлен новый метод оптимизации Levenberg-Marquardt - он точнее и быстрее.
2. Добавлена отбраковка наблюдений с большой ошибкой.
3. Исправлено несколько ошибок.