Graph-Based Learning for Multi-Horizon Martian Atmospheric Forecasting
Organizations: The Open University, UK.
Abstract
Martian weather forecasting is important for future exploration, but atmospheric behaviour on Mars combines spatial, temporal, vertical, and dust-driven processes in ways that challenge current modelling and forecasting approaches. This paper introduces MaGMA (Martian Graph-based Multi-horizon Atmospheric Forecasting), a graph-based data engineering framework that transforms OpenMARS reanalysis fields into structured learning objects for Martian atmospheric forecasting. Local atmospheric patches are represented as graph nodes and linked through spatial neighbourhoods, temporal continuity, longer temporal dependencies, and dynamically similar atmospheric states. The model integrates recent atmospheric history, engineered physical descriptors, and vertical atmospheric information to support forecasting across multiple horizons. We evaluate MaGMA across five unseen Martian years, including regular years and a global dust storm year. In regular years, the model achieves overall R^2 values of approximately 0.73-0.85. For dust-column forecasting, it outperforms classical and deep temporal baselines in most year-horizon comparisons. During the global dust storm year, dust-column prediction remains strong at shorter horizons, with R^2 above 0.8 for the first two horizons, while broader multivariate performance declines. The results show that graph-based data engineering can create reusable and diagnostically useful representations for planetary atmospheric forecasting, while highlighting the need for better learning under rare extreme regimes and improved use of vertical atmospheric structure.
Figures & tables
| Martian Year | Experimental role | Earth-date coverage | Approx. sols |
|---|---|---|---|
| MY28 | Training/validation | 24 Sep 2006–8 Dec 2007 | 433 |
| MY29 | Evaluation | 9 Dec 2007–25 Oct 2009 | 669 |
| MY30 | Evaluation | 26 Oct 2009–12 Sep 2011 | 669 |
| MY31 | Evaluation | 13 Sep 2011–30 Jul 2013 | 669 |
| MY32 | Evaluation | 31 Jul 2013–17 Jun 2015 | 669 |
| MY34 | Evaluation | 5 May 2017–22 Mar 2019 | 669 |
| Variable | Description | Unit |
|---|---|---|
| tsurf | Surface temperature | Kelvin |
| ps | Surface pressure | Pascals |
| u | Near-surface ( 4 m) zonal wind | m/s |
| v | Near-surface ( 4 m) meridional wind | m/s |
| dustcol | Dust column optical depth at visible wavelength | No unit |
| temp | Atmospheric temperature at 20 km altitude | Kelvin |
| Time | Tsurf | Psurf | Cloud | Vapour | u_wind | v_wind | Dust | Temp |
| 1998-07-15 21:23:39 | 264.042 | 721.113 | 0.092 | 0.027 | -7.451 | 8.604 | 0.428 | 179.686 |
| 1998-07-15 23:26:53 | 274.736 | 705.090 | 0.145 | 0.026 | -7.053 | 4.934 | 0.427 | 174.502 |
| 1998-07-16 01:30:07 | 265.939 | 700.691 | 0.105 | 0.026 | -6.825 | -0.063 | 0.427 | 173.429 |
| 1998-07-16 03:33:21 | 238.624 | 697.252 | 0.134 | 0.025 | -5.373 | -4.048 | 0.426 | 173.556 |
| 1998-07-16 05:36:35 | 213.634 | 717.146 | 0.139 | 0.026 | -3.899 | -3.133 | 0.426 | 174.789 |
| Year | MAE | RMSE | |
|---|---|---|---|
| MY29 | 0.271 | 0.522 | 0.728 |
| MY30 | 0.156 | 0.303 | 0.851 |
| MY31 | 0.271 | 0.511 | 0.738 |
| MY32 | 0.275 | 0.524 | 0.726 |
| MY34 | 0.458 | 0.753 | 0.363 |
| Year | Horizon | ps | tsurf | dust | u | v | temp | uplift |
|---|---|---|---|---|---|---|---|---|
| MY29 | H1 | 0.052 | 0.333 | 0.079 | 0.174 | 0.482 | 0.238 | 0.497 |
| MY29 | H3 | 0.063 | 0.173 | 0.176 | 0.187 | 0.573 | 0.200 | 0.471 |
| MY29 | H6 | 0.070 | 0.184 | 0.244 | 0.212 | 0.579 | 0.215 | 0.489 |
| MY30 | H1 | 0.032 | 0.107 | 0.042 | 0.122 | 0.339 | 0.066 | 0.178 |
| MY30 | H3 | 0.047 | 0.095 | 0.086 | 0.151 | 0.434 | 0.082 | 0.232 |
| MY30 | H6 | 0.056 | 0.110 | 0.121 | 0.174 | 0.439 | 0.109 | 0.253 |
| Year | Horizon | ps | tsurf | dust | u | v | temp | uplift |
|---|---|---|---|---|---|---|---|---|
| MY29 | H1 | 0.070 | 0.436 | 0.163 | 0.237 | 0.679 | 0.316 | 0.929 |
| MY29 | H3 | 0.090 | 0.245 | 0.323 | 0.274 | 0.804 | 0.293 | 0.942 |
| MY29 | H6 | 0.101 | 0.282 | 0.448 | 0.322 | 0.824 | 0.338 | 0.982 |
| MY30 | H1 | 0.048 | 0.148 | 0.074 | 0.170 | 0.455 | 0.110 | 0.371 |
| MY30 | H3 | 0.077 | 0.152 | 0.129 | 0.222 | 0.597 | 0.158 | 0.457 |
| MY30 | H6 | 0.091 | 0.189 | 0.169 | 0.264 | 0.608 | 0.211 | 0.515 |
| Year | Horizon | ps | tsurf | dust | u | v | temp | uplift |
|---|---|---|---|---|---|---|---|---|
| MY29 | H1 | 0.995 | 0.810 | 0.973 | 0.944 | 0.540 | 0.900 | 0.048 |
| MY29 | H3 | 0.992 | 0.940 | 0.896 | 0.925 | 0.355 | 0.914 | 0.125 |
| MY29 | H6 | 0.990 | 0.921 | 0.799 | 0.896 | 0.321 | 0.886 | 0.115 |
| MY30 | H1 | 0.998 | 0.978 | 0.959 | 0.972 | 0.722 | 0.986 | 0.734 |
| MY30 | H3 | 0.994 | 0.977 | 0.873 | 0.953 | 0.521 | 0.972 | 0.592 |
| MY30 | H6 | 0.992 | 0.964 | 0.783 | 0.934 | 0.505 | 0.949 | 0.515 |
| Year | Acc | Prec | Recall | F1 | AUC |
|---|---|---|---|---|---|
| MY29 | 0.998 | 0.994 | 0.999 | 0.996 | 1.000 |
| MY30 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
| MY31 | 0.995 | 0.986 | 0.998 | 0.992 | 1.000 |
| MY32 | 0.997 | 0.992 | 0.998 | 0.995 | 1.000 |
| MY34 | 0.627 | 0.001 | 0.000 | 0.000 | 0.200 |
| Variant | Mean | Dust H3 | Dust H3 | |
|---|---|---|---|---|
| No temporal sequence | -0.016 | -0.698 | -0.193 | -1.059 |
| No graph edges | 0.618 | -0.063 | 0.854 | -0.012 |
| No temporal graph edges | 0.645 | -0.036 | 0.871 | 0.005 |
| No engineered/static features | 0.656 | -0.026 | 0.855 | -0.011 |
| No similarity edges | 0.676 | -0.005 | 0.868 | 0.002 |
| No vertical column | 0.680 | -0.001 | 0.866 | 0.000 |
| Martian Year | Horizon | Linear Regression | Random Forest | GNN | GNN Gain |
|---|---|---|---|---|---|
| MY29 | H1 | 0.920 | 0.532 | 0.973 | 0.053 |
| MY29 | H3 | 0.857 | 0.616 | 0.896 | 0.039 |
| MY29 | H6 | 0.772 | 0.556 | 0.799 | 0.027 |
| MY30 | H1 | 0.952 | 0.960 | 0.959 | -0.001 |
| MY30 | H3 | 0.881 | 0.880 | 0.873 | -0.008 |
| MY30 | H6 | 0.776 | 0.751 | 0.783 | 0.007 |
| Martian Year | Horizon | LSTM | GRU | TCN | GNN |
|---|---|---|---|---|---|
| MY29 | H1 | 0.943 | 0.947 | 0.938 | 0.973 |
| MY29 | H3 | 0.853 | 0.872 | 0.845 | 0.896 |
| MY29 | H6 | 0.725 | 0.766 | 0.684 | 0.799 |
| MY30 | H1 | 0.933 | 0.946 | 0.933 | 0.959 |
| MY30 | H3 | 0.849 | 0.868 | 0.820 | 0.873 |
| MY30 | H6 | 0.681 | 0.707 | 0.558 | 0.783 |