K10VD5O
Посмотрел в общих чертах последовательность обработки астрометрии конвейером обработки.Общее построение алгоритма понятно -от срочного к менее срочному.Сначала идет проверка содержимого на формальные ошибки - отвергаются пакеты астрометрии содержащие одно наблюдение объекта, дубли наблюдений приходящиеся на одно время (если формальных ошибок нет, пакет принимается). Потом идет контроль строк на срочность. Наблюдения одной ночи сразу отправляются в базу данных одной ночи (скорее всего с последующей проверкой их на связываемость с другими ночами в дуги). Если строки относятся к нумерованным объектам, они обрабатываются в последнюю очередь.Строки с временными обозначениями имеют более высокий приоритет. Особые объекты имеют первоочередной приоритет.Тем не менее, хотя есть шкала приоритетов, весь пакет обрабатывается примерно в течение часа при нормальной текущей работе конвейера.Попутно могут отдельно предоставляться предложения по связываемости строк в дуги - они обычно обрабатываются быстро, за 5-15 минут.
Чтобы не забыть, дополню детали.
Основное отличие объектов - их номер постоянный, или номера нет и есть временное обозначение. Особо стоят неизвестные ранее объекты, то есть на которые в базе нет астрометрии вообще, или она спрятана в базе одной ночи.
Назначение конвейера обработки - правильно определять номерной тип объекта и направлять их в разные ветви конвейера.
По ходу определения номерного типа объекта, он может перескакивать из одной ветви обработки в другую, для него *елевую.
Назову основные ветви конвейера обработки:
- 'mba/mopp' - в этой ветви конвейера обрабатываются объекты главного пояса астероидов, мультиоппози*ионные
- 'mba/unn'- в этой ветви конвейера обрабатываются объекты главного пояса астероидов, однооппози*ионные (в той же оппози*ии.)
- 'mba/newid' - в этой ветви конвейера обрабатываются объекты главного пояса астероидов, однооппози*ионные (в дополнительной оппози*ии.)
- 'mba/num' - в этой ветви конвейера обрабатываются объекты главного пояса астероидов, с постоянным номерами
- 'mba/itf' - в этой ветви конвейера обрабатываются объекты главного пояса астероидов, с обозначениями присвоенными астрометристом
- 'problems' - в этой ветви конвейера обрабатываются "объекты главного пояса астероидов", астрометрия ошибочная
ну и так далее.
И тогда можно расшифровать буковки веток:
mopp - мультиоппози*ионный
unn - не имеет постоянного номера, однооппози*ионный
newid - новая идентифика*ия
itf - файл изолированных треклетов
problems - астрометрия имеет проблемы (возможно мусорная астрометрия)
verified - уточнение типа объекта по номеру.
Все вроде вырисовывается в понятную систему.
Как это работает. Чем определеннее тип номерного статуса астероида, тем меньше этапов обработки он проходит, то есть конкретные *елевые ветви конвейера.
Самые неопределенные объекты - это объекты с произвольными обозначениями заданными самим астрометристом.
Если тип объекта известен, то он может иметь и конкретно заданные обозначения - постоянный его номер, временное его обозначение от *ентра, хотя это считается входом в конвейер "с черного входа".
Вот примерный ход про*есса для произвольного обозначения объекта.
Сначала конвейер пытается определить какой это объект хотя бы в линейке: объект с постоянным номером, с временным обозначением, одно или мультиоппози*ионный и т.д. то есть его конкретизировать по степени известности его и направить его в нужную ветвь конвейера.
Но все объекты изначально помещаются в накопитель
'mba/itf' то есть объект предположительно имеет случайное обозначение.
И из этого накопителя (объекты одной ночи) уже идет перераспределение в ветви конвейера в соответствии с ветвями означенными выше. Номерные объекты перескакивают в ветвь 'mba/num' , объекты с временными обозначениями перескакивают в ветвь 'mba/mopp' или в ветвь 'mba/newid' в зависимости от количества оппози*ий, ошибочные объекты (мусор измерения) попадают в ветвь 'problems', и все в таком духе. В этих ветвях обработки объекты анализируются соответствующими алгоритмами и выносится решение - действительно ли данный объект принадлежит конкретной дуге известного ранее объекта или это новый объект и его можно назначить с новой дугой и этим выдать объекту звездочку.
В про*ессе обработки возможны разные коллизии. Например объекту нахначили временное обозначение, а он уже номерной, тогда этот объект перескочит с ветвей на ветви в очередности
- 'mba/itf' - - 'mba/mopp' - - 'mba/num' -Если же объект изначально проходил как номерной, то одно звено исчезает
- 'mba/itf' - - 'mba/num' -В любом случае объект в итоге попадает в свою *елевую ветвь и правильно обрабатывается.
Кроме этого есть и редкие ветви конвейера, например для околоземных объектов это 'neo/num' для постоянных номеров, видимо есть и аналогичные ветви 'neo/mopp' но я с ними не встречался. Таков общий прин*ип конвейера обработки астрометрии, очень грубо и общо обозначенный этой схемой.
Забыл выше упомянуть кусок алгоритма 'verified' - пока еще не прочувствовал когда и где он врубается в работу. Может он сразу после 'mba/itf' активизируется, может позднее, или в особых случаях. Может еще какие части алгоритма вне внимания остались.
Послесловие к вышесказанному относительно 'verified'
Началось все с ошибочно введенных буковок с клавиатуры (регистр его яти) - вместо K10R36X набрал K10r36x.
Конвейер при анализе забросил объект в ветку 'verified' - что естественно. При анализе он правильно воспринял ситуа*ию и исправил буквы регистра на заглавные (умный какой этот конвейер). При этом поменял этому объекту ветку
'verified' на ветку
'mba/unn' и вот что это может означать я пока не совсем понимаю, ибо получается вот такая астрометрия
Было ошибочно представлено:
K10r36x ZC2010 09 01.35967 23 08 22.88 +00 14 14.8 20.3 R I41
K10r36x ZC2010 09 01.40899 23 08 22.12 +00 13 51.7 20.0 R I41
Конвейер исправил регистр букв:
K10R36X C2010 09 01.35967 23 08 22.88 +00 14 14.7 20.3 R I41
K10R36X C2010 09 01.40899 23 08 22.12 +00 13 51.7 20.0 R I41
Конвейер связал это со старой астрометрией:
K10R36X* C2010 09 02.38706 23 08 12.37 +00 06 06.2 19.7 Vr~0MhFG96
K10R36X C2010 09 02.39401 23 08 12.30 +00 06 02.7 19.7 Vr~0MhFG96
K10R36X C2010 09 02.40098 23 08 12.15 +00 05 59.4 19.8 Vr~0MhFG96
K10R36X C2010 09 02.40789 23 08 12.04 +00 05 56.2 19.6 Vr~0MhFG96
K10R36X C2010 09 04.30139 23 07 52.21 -00 09 40.0 19.6 Vr~0MhFG96
K10R36X C2010 09 04.30721 23 07 52.14 -00 09 42.7 19.7 Vr~0MhFG96
K10R36X C2010 09 04.31304 23 07 52.03 -00 09 45.9 19.6 Vr~0MhFG96
K10R36X C2010 09 04.31888 23 07 51.92 -00 09 48.9 19.7 Vr~0MhFG96
K10R36X C2010 09 11.28723 23 06 28.65 -01 12 05.9 19.6 Vr~0MwG703
K10R36X C2010 09 11.29243 23 06 28.54 -01 12 10.4 19.9 Vr~0MwG703
K10R36X C2010 09 11.29759 23 06 28.40 -01 12 11.8 19.4 Vr~0MwG703
K10R36X C2010 09 11.30278 23 06 28.36 -01 12 15.3 19.6 Vr~0MwG703
И ШО? Ну, увеличилась дуга на лишние сутки, причем тут
'mba/unn'Посмотрим, что дальше будет...
(ага, начинаю понимать, что если однооппози*ионный объект расширяет дугу в текущей оппози*ии, то это анализируется в ветке
'mba/unn' , а если объект претендует на смену однооппози*ионного на многооппози*ионный, то это уже происходит в ветке
'mba/newid' - вот как все хитровыделанно построено в этом конвейере...