| set -euo pipefail |
| cd /home/irteam/data-vol1/models/OrbitFM |
|
|
| PY=/home/irteam/.conda/envs/orbit/bin/python |
| ROOT=/home/irteam/data-vol1/models/OrbitFM |
| SW=$ROOT./data/SW-All.csv |
| |
|
|
| SPLIT_MODE=time |
|
|
| mkdir -p ./cache ./ckpt ./eval_out |
|
|
| if [ ! -s "$SW" ]; then |
| echo "[0] downloading space weather -> $SW" |
| curl -L -o "$SW" https://celestrak.org/SpaceData/SW-All.csv |
| fi |
|
|
| if [ ! -f "$CACHE" ]; then |
| echo "[1] building v4 cache -> $CACHE" |
| $PY ./utils/tle_dataset.py \ |
| --start-year 2005 --end-year 2024 \ |
| --sw-csv "$SW" --cache-dir ./cache \ |
| --window-patches 3 --min-grid-points 64 |
| else |
| echo "[1] cache present: $CACHE" |
| fi |
|
|
|
|
| $PY ./train/train.py --cache-file "$CACHE" --out ./ckpt \ |
| --model Datadog/Toto-2.0-2.5B --window-patches 8 --batch-size 16 \ |
| --lr 4e-5 --max-steps 10000 --warmup 1000 --val-every 2000 \ |
| --drift-loss-weight 4.0 --split-mode "$SPLIT_MODE" \ |
| --train-until 2022-01-01 --valid-until 2023-01-01 |
|
|
| $PY ./eval/eval.py --cache-file "$CACHE" \ |
| --ckpt ./ckpt/toto_v2_Toto-2.0-2.5B.pt --model Datadog/Toto-2.0-2.5B \ |
| --split test --split-mode "$SPLIT_MODE" --recon sgp4 \ |
| --context-days 64 --horizon-days 30 --horizons 1 3 7 14 30 60 90 120 \ |
| --per-sat-samples 50 --max-eval-sats 1500 \ |
| --out-csv ./eval_out/per_sat_2.5b_test.csv |
|
|
| $PY ./eval/eval.py --cache-file "$CACHE" \ |
| --ckpt ./ckpt/toto_v2_Toto-2.0-2.5B.pt --model Datadog/Toto-2.0-2.5B \ |
| --split test --split-mode "$SPLIT_MODE" --recon integrate \ |
| --context-days 64 --horizon-days 30 --horizons 1 3 7 14 30 60 90 120 \ |
| --per-sat-samples 50 --max-eval-sats 1500 \ |
| --out-csv ./eval_out/per_sat_2.5b_test_integrate.csv |
|
|
| echo "[done] per-satellite CSVs in ./eval_out/" |
|
|