COIAS-program / COIAS_program_github

The repository for COIAS program collection
7 stars 2 forks source link

src7_AstsearchR_afterReCOIASのfindorb.pyが,MOIDsEaがないとのエラーで止まることがある #6

Closed kn1cht closed 1 year ago

kn1cht commented 1 year ago

現象

先日,オリジナルCOIASのsugiura-nonmask-photometryブランチでの解析を試してみたところ,特定のデータについて次のようなエラーが出ました.

$ AstsearchR_afterReCOIAS
AstsearchR_afterReCOIAS begins
0% 10% 20% 30% 40% 50% 60% 70% 80% Some errors occur in findorb.py!
Traceback (most recent call last):
  File "/.../.../COIAS-program/COIAS_program_github/src7_AstsearchR_afterReCOIAS/findorb.py", line 205, in <module>
    findOrbResult = get_imformation_from_findorb_html(
  File "/.../.../COIAS-program/COIAS_program_github/src7_AstsearchR_afterReCOIAS/findorb.py", line 161, in get_imformation_from_findorb_html
    + MOIDsEa
UnboundLocalError: local variable 'MOIDsEa' referenced before assignment

暫定的な対処

MOIDsEaがないとのことで,get_imformation_from_findorb_html()関数のforループでMOIDsEAを設定できていないと考えられます.そこで,forループの外側でMOIDsEAに空文字列を入れるなどして変数が存在するようにすればエラーが出なくなりました.

原因の調査

直前のデータであるmpc7.txtの中でエラーが起きる測定データを1つずつ発見し, https://www.projectpluto.com/ に直接入力してみました.

返ってきたHTMLのコメント部を下図に示します.左がエラーの出たH000020,右が正常だったH000018です. 軌道要素の意味について詳しくは存じませんが,確かに左の測定ではMOIDsの記載がないことが分かります.

image

MOIDsがないことは不自然なのか(もし不自然だとすると,そのようなデータは弾くべきか),MOIDsは最終データに必ず記載されていた方がよいのかによって対処方法が変わると思いますので,ご確認頂けますでしょうか.

kn1cht commented 1 year ago

(エラーが出た天体の情報をfinal_all.txtで見てみると"Size is probably 26 to 60 cm"などと書いてあって他と違いすぎるので,入力したデータ自体がおかしい可能性は高そうに思います)

kn1cht commented 1 year ago
     H000020  C2016 08 28.33727 22 32 08.48 +03 03 42.25         23.7 i      T09
     H000020  C2016 08 28.34267 22 32 08.51 +03 03 42.20         24.1 i      T09
     H000020  C2016 08 28.35086 22 32 08.14 +03 03 41.38         23.8 i      T09
     H000020  C2016 08 28.35363 22 32 08.00 +03 03 39.92         23.8 i      T09
     H000020  C2016 08 28.35901 22 32 07.78 +03 03 37.84         24.1 i      T09

で,1行目~3行目で赤経の値が戻っているのがよろしくない気がしたので1行目だけを消してfindorbにかけてみると,今度はMOIDsが出ました

kn1cht commented 1 year ago

同じ画像,同じ天体で浦川さんが測定された結果を見るときれいに一直線に移動しており,MOIDsも算出できているので,こうしたデータが出たこと自体は私の操作ミスなどの可能性が高いです (ただ,広く一般に使っていただく以上こうした合ってなさそうなデータが出ることはありえて,その中でMOIDsが出てこないことが測定結果を弾くかどうかの判断に使えるかもしれないと考えます.従ってissueは開いておきます)

COIAS-program commented 1 year ago

おっしゃる通り、未熟なユーザの測定ミスは弾かれるべきで、弾くようなアルゴリズムにはなっています。 添付のスクショは、上記のダメな例(H000020の5点の測定)を https://www.projectpluto.com/ に入れて、出てきたウェブページを撮ったものです。 スクショ上記の Astrometry の右から3列目のmagの横にバツが付いているかと思いますが、これが誤差が大きすぎて信用できないデータです。 スクショ下方の Residuals in arcseconds に直線フィットからの残差が載っていますが、確かに2番目(一番左の列の上から2番目)と3番目(左から2列目の上から1番目)の残差が大きくなっていることがわかります。 レポート前処理では、X方向もしくはY方向の残差が0.7 arcsec を超えたらその点は弾くようにしているので、この例では残りの3点がMPCに報告されることになります。(弾かれた結果2点以下なら少なすぎるので報告しない)

MOIDsが算出できないことがあることを知らなかったのですが、あまり重要ではないので無いなら無いで良いと思います。 またMOIDsや軌道長半径など、この程度の観測時間では精度はほぼ無いので、弾くかどうかの判断に使うのは難しいですね。 むしろエラーを出す方が問題なので、それくらいなら適当な文字を入れておいてエラーをつぶした方が良いと思います。

まとめると、伊東さんがおっしゃるようにMOIDsには最初から適当なものを入れておいて、見つからなければその文字列をそのまま出力する、で良いと思います。

スクリーンショット 2023-04-22 0 11 14
COIAS-program commented 1 year ago

@kn1cht mainブランチの最新に、MOIDs: Eaが無くてもエラーを出さないようにしてみました。 おそらくこれで大丈夫だと思うので、issueは閉じてしまいます。 もしお時間ありましたら、mainの最新でエラーが出た画像セットをもう一度解析してみて、エラーが出ず、MOIDs:Ea=NoData となっているか確認いただけましたら幸いです。