IERS(International Earth Rotation and Reference systems Service; 国際地球回転観測事業) の EOP(Earth Orientation Parameter; 地球姿勢(回転)パラメータ)から確定/速報/推定値を抽出し、 CSV データを生成するスクリプトを Ruby と Python で作成しました。(今後作成予定の別のツールの事前準備として)
0. 前提条件
- Ruby 2.5.1-p57, Python 3.6.5 での動作を想定。
- ここでは EOP(Earth Orientation Parameter; 地球姿勢(回転)パラメータ)が何かについての説明はしない。
1. 事前準備
今回使用するデータを用意しておく。
- こちら から “/standard/finals2000A.all”, “/daily/finals2000A.daily” をダウンロードし、 “file” ディレクトリ配下に配置する。
2. Ruby スクリプトの作成
- Shebang ストリング(1行目)では、フルパスでコマンド指定している。(当方の慣習)
- スクリプト内の
flag_pm
,flag_dut
,flag_nut
は極運動(Polar Motion)、DUT1(= UT1 - UTC)、章動(Nutation)の区分で、F
が「確定値」、I
が「IERS 速報値」、P
が「推定値」を意味する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
|
3. Python スクリプトの作成
- Shebang ストリング(1行目)では、フルパスでコマンド指定している。(当方の慣習)
- スクリプト内の
flag_pm
,flag_dut
,flag_nut
は極運動(Polar Motion)、DUT1(= UT1 - UTC)、章動(Nutation)の値の区分で、F
が「確定値」、I
が「IERS 速報値」、P
が「推定値」を意味する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
|
4. スクリプトの実行
まず、実行権限を付与。(以下は Ruby の例。 Python 版は拡張子を py
に)
1
|
|
また、作成された CSV データを保存するディレクトリ “data” を作成。
1
|
|
そして、実行。(以下は Ruby の例。 Python 版は拡張子を py
に)
1
|
|
5. 結果確認
“data” ディレクトリ内に “eop.csv” が作成されるので、内容を確認してみる。(Ruby 版も Python 版も同じ)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
当方、人工衛星の正確な軌道計算に利用しています。
以上。