July 06, 2026
High-resolution satellite imagery is critical for observing fine-scale cloud structures that inform weather modification strategies like cloud seeding for rain-enhancement. However, the spatial resolution of current geostationary and polar-orbiting satellites is often insufficient for capturing small cloud features. Current super-resolution methodologies are suited for natural images and, therefore, struggle to generalize to satellite-captured spectral images of cloud cover. To address this, we propose a two-stage diffusion-based super-resolution framework to enhance the resolution of multi-spectral cloud microstructures by a factor of \(4\times\). Specifically, we use inverse diffusion to recover the high resolution properties from low resolution. Stage 1 utilizes real-world paired data to learn robust degradation handling and inter-sensor alignment, while Stage 2 employs a self-supervised internal downgrading of high resolution data to refine structural learning and texture synthesis. Our approach outperforms the state-of-the-art transformer and diffusion-based baselines in both reconstruction accuracy and visual quality. We demonstrate that the two-stage method better captures fine cloud microstructures (e.g. convective turrets and cloud gaps) that are crucial for effective cloud seeding decisions. Ablation studies confirm the complementary benefits of the two stages: Stage 1 excels in coarse structural fidelity, while Stage 2 contributes enhanced detail and realism. These results highlight a practical path toward improving cloud microphysics analysis and as a step towards utilizing AI for climate and sustainability. Our code and models are publicly available at: https://github.com/hananshafi/superresolution-cloud-microphysics
High-resolution meteorological satellite cloud imagery is essential for diagnosing localized weather phenomena and for operations such as weather modification (e.g., cloud seeding), which relies on identifying suitable microphysical targets such as supercooled liquid regions [1], [2]. However, spatial and temporal resolution trade off sharply across current observing systems. Modern geostationary (GEO) imagers provide rapid refresh but remain spatially coarse: for example, GOES-R ABI offers \(\sim\)0.5–2 km sampling depending on band [3], while Meteosat Second Generation (MSG) provides full-disk imagery every 15 minutes from geostationary orbit [4], and its \(\mathrm{\small seviri}\) imager samples at \(\sim\)3 km at the sub-satellite point [5]. Moreover, the effective GEO pixel footprint grows away from the sub-satellite point [6], blurring sub-kilometer structures that are often diagnostically important.
Low-Earth-orbit (LEO) instruments such as \(\mathrm{\small viirs}\) resolve substantially finer detail (375 m and 750 m native resolutions at nadir) but provide limited temporal sampling at a fixed location, since global coverage is achieved via orbital revisits rather than continuous staring [7]. For cloud-focused applications, this motivates computational super-resolution (SR) that aims to recover LEO-like spatial detail while retaining GEO-like update frequency.
This setting is particularly challenging because the \(\mathrm{\small seviri}\rightarrow\mathrm{\small viirs}\) (and \(\mathrm{\small msg}\rightarrow\mathrm{\small mtg}\)) mapping is cross-sensor and time-shifted, with imperfect alignment and non-stationary degradations. Deterministic SR methods optimized for pixel fidelity, including transformer-based models [8], tend to oversmooth high-variance cloud textures and degrade under cross-sensor distribution shift. Diffusion-based [9], [10] SR can synthesize sharper detail, but may introduce artifacts or inconsistent structure when applied outside the natural-image priors they inherit [11], [12].
We address these limitations with a two-stage curriculum for diffusion inversion SR [13] that explicitly decouples cross-sensor robustness from texture recovery (see Fig. 1). Stage 1 trains on real paired \(\mathrm{\small seviri}\rightarrow\mathrm{\small viirs}\) / \(\mathrm{\small msg}\rightarrow\mathrm{\small mtg}\) data to learn a physically consistent mapping under temporal and geometric mismatch. Stage 2 initializes from the Stage 1 prior and trains on HR-only imagery with synthetic degradations to learn cloud-specific fine-scale structure in a perfectly aligned setting. The resulting cascade improves both distortion and structure preservation, producing sharper yet more consistent reconstructions for multi-spectral cloud imagery.
Image Super-Resolution. Deterministic SR methods, from bicubic interpolation and early CNN baselines [14], [15] to modern transformer architectures [8], [16], typically minimize pixel-wise distortion, which often yields oversmoothed textures under large scaling factors and imperfect supervision. Diffusion-based [17], [18] SR [12], [19] can synthesize sharper detail by leveraging strong generative priors, but their stochastic generation can introduce artifacts or
structurally inconsistent textures when transferred to new domains. We build on diffusion inversion [13], which frames SR through an invertible
latent-variable formulation. This perspective explicitly models lost high-frequency information and enables a curriculum that separates cross-sensor robustness from detail synthesis, improving structural fidelity without relying on unconstrained
hallucination.
Multi-Spectral Cloud Microphysics. Multi-spectral satellite observations are widely used to study cloud microphysics (e.g., optical thickness and effective radius). Geostationary sensors such as SEVIRI on MSG
provide high temporal sampling for tracking cloud evolution but at coarse spatial resolution [20]. In contrast, polar-orbiting
instruments such as VIIRS provide finer spatial detail but with limited revisit frequency [21]. Bridging this
spatio-temporal gap is important for cloud-focused applications, motivating cross-sensor super-resolution. Our work targets this setting and additionally considers next-generation Meteosat Third Generation satellite system (MTG) [22].
We formulate cloud super-resolution as an inverse problem: given a low-resolution (LR) observation \(\mathbf{x}\in\mathbb{R}^{h\times w\times C}\) (seviri/msg), we recover a high-resolution (HR) microphysical field \(\mathbf{y}\in\mathbb{R}^{H\times W\times C}\) (viirs/mtg), with \(H\gg h\). The observation process is modeled as \[\mathbf{x} = \mathcal{D}(\mathbf{y}) + \boldsymbol{\eta}, \label{eq:forward95model}\tag{1}\] where \(\mathcal{D}\) subsumes blur, resampling, spectral mismatch, and temporal/geometric misalignment, and \(\boldsymbol{\eta}\) denotes sensor noise. Recovering \(\mathbf{y}\) from \(\mathbf{x}\) is therefore ill-posed because multiple HR cloud structures can map to the same LR observation.
Following diffusion inversion [13], we model the missing high-frequency content with a latent variable at diffusion step \(t\) and learn a conditional inverse map \[\hat{\mathbf{y}}_t = \mathcal{R}_{\theta}(\mathbf{x}, t) = \Phi^{-1}_{\theta}\!\big(\mathbf{x}, g_{\theta}(\mathbf{x}, t)\big), \label{eq:inversion95map}\tag{2}\] where \(g_{\theta}\) predicts the deterministic starting point of the reverse process from the LR input, and \(\Phi^{-1}_{\theta}\) denotes the corresponding inversion-and-sampling operator. This lets the model remain anchored to the observed satellite signal while still recovering plausible fine-scale detail. We instantiate this idea as a cascaded invertible framework that separates: (1) cross-sensor domain alignment and (2) high-frequency structure restoration.
Stage 1: Cross-Sensor Alignment (Learning the Prior). The primary challenge in satellite SR is the domain gap caused by sensor differences and spatiotemporal misalignment between geostationary and polar imagery. We train the first
network, \(\mathcal{M}_1\), on paired real-world data \(\mathcal{D}_{\text{real}} = \{(\mathbf{x}_{\text{LR}}, \mathbf{y}_{\text{HR}})\}\). For each pair, the model reconstructs \[\hat{\mathbf{y}}^{(1)}_t = \mathcal{R}_{\theta_1}(\mathbf{x}_{\text{LR}}, t),\] and optimizes \[\mathcal{L}_{\text{S1}} =
\mathbb{E}_{(\mathbf{x},\mathbf{y})\sim\mathcal{D}_{\text{real}},\, t}
\left[
\|\hat{\mathbf{y}}^{(1)}_t - \mathbf{y}\|_1
\;+\;
\lambda_{\mathrm{perc}}\,\mathcal{L}_{\mathrm{perc}}(\hat{\mathbf{y}}^{(1)}_t,\mathbf{y})
\right].
\label{eq:stage195loss}\tag{3}\] Because supervision comes from real pairs, Stage 1 primarily learns radiometric consistency, coarse geometry, and robustness to residual temporal/geometric mismatch.
Stage 2: Structural Refinement. While Stage 1 aligns the data, the inherent noise in real-world pairings prevents it from learning sharp high-frequency textures. Stage 2, \(\mathcal{M}_2\), focuses
purely on recovering convective structures from aligned supervision. We construct a synthetic dataset \(\mathcal{D}_{\text{syn}}\) by applying a degradation kernel \(k\) to HR images,
\[\mathbf{x}_{\text{syn}} = \mathcal{D}_k(\mathbf{y}_{\text{HR}}),
\label{eq:synth95degrade}\tag{4}\] and optimize a second inverse model \[\hat{\mathbf{y}}^{(2)}_t = \mathcal{R}_{\theta_2}(\mathbf{x}_{\text{syn}}, t),\] with loss
\[\mathcal{L}_{\text{S2}} =
\mathbb{E}_{\mathbf{y}\sim\mathcal{D}_{\text{HR}},\, t}
\left[
\|\hat{\mathbf{y}}^{(2)}_t - \mathbf{y}\|_1
\;+\;
\lambda_{\mathrm{perc}}\,\mathcal{L}_{\mathrm{perc}}(\hat{\mathbf{y}}^{(2)}_t,\mathbf{y})
\right].
\label{eq:stage295loss}\tag{5}\] Because \(\mathbf{x}_{\text{syn}}\) and \(\mathbf{y}_{\text{HR}}\) are perfectly aligned, Stage 2 concentrates on recovering thin cloud
filaments, convective cores, and local gradient structure that are difficult to learn from noisy cross-sensor pairs alone.
Inference. At test time, given a real LR input \(\mathbf{x}_{\text{LR}}\), we first compute a cross-sensor-consistent base estimate \(\hat{\mathbf{y}}_{\text{base}} =
\mathcal{R}_{\theta_1}(\mathbf{x}_{\text{LR}}, t^\star)\) using a short reverse chain (typically 1-step for efficiency). When additional refinement is beneficial, we apply the cascaded pass \(\mathbf{x}_{\text{LR}}\xrightarrow{\mathcal{M}_1}\hat{\mathbf{y}}_{\text{base}}\xrightarrow{\mathcal{M}_2}\hat{\mathbf{y}}_{\text{final}}\), where the second stage sharpens structures learned under aligned synthetic
supervision.
We base our approach on diffusion inversion SR [13]. The data for training and validation multi-spectral cloud cover is sourced from the UAE Rain Enhancement Program (UAEREP) under the National Center for Meteorology. Our data includes 9k train and 1k validation low- and high-resolution pairs corresponding to seviri and viirs, respectively. We further scale our approach to channel-wise data obtained across msg and mtg satellites, for which we obtained around 2250 training pairs and 500 validation pairs. Training both stages takes around 5 days on two Nvidia A100 40GB GPUs. We compare against an existing transformer-based approach [8] and two recent diffusion-based approaches [12], [19]. For empirical evaluation, we use PSNR, gradient preservation, and perceptual distance ratio to assess super-resolution quality. Refer to the appendix for additional details on data specifications and channel alignment.
| seviri\(\rightarrow\)viirs | msg\(\rightarrow\)mtg | |||||
|---|---|---|---|---|---|---|
| 2-4(lr)5-7 Model | PSNR\(\uparrow\) | Grad.\((\text{ideal=1.0})\) | Percep\(\downarrow\) | PSNR\(\uparrow\) | Grad.\((\text{ideal=1.0})\) | Percep\(\downarrow\) |
| SwinIR | 18.37 | 0.19 | 0.45 | 15.91 | 0.53 | 0.75 |
| StableSR | 20.52 | 1.72 | 0.44 | 18.71 | 2.94 | 0.42 |
| SinSR | 20.69 | 0.46 | 0.37 | 24.0 | 0.96 | 0.30 |
| Ours | 21.25 | 1.06 | 0.28 | 24.0 | 1.03 | 0.29 |
Quantitative Results. Table [tbl:tab:results] summarizes performance on seviri\(\rightarrow\)viirs pairs and channel-wise msg\(\rightarrow\)mtg pairs using three complementary metrics: PSNR (distortion), gradient preservation ratio (structure; ideal = 1), and perceptual distance (lower is better). On seviri\(\rightarrow\)viirs, our method achieves the best overall balance, improving PSNR to 21.25 dB while producing the lowest perceptual distance (0.28). In contrast, SwinIR underperforms on cross-sensor data (18.37 dB) and severely under-recovers high-frequency structure (grad. ratio 0.19). StableSR yields a high gradient ratio (1.72), indicating over-sharpening relative to the target gradient statistics with high perceptual distance (0.44) while taking 100 denoising steps. SinSR improves over SwinIR in both PSNR and perceptual distance, but remains structurally under-sharp (gradient ratio 0.46) compared to our near-ideal 1.06. On msg\(\rightarrow\)mtg, our method matches the best PSNR (24.0 dB) while achieving the lowest perceptual distance (0.29) and the closest-to-ideal gradient ratio (1.03). StableSR again exhibits a strongly inflated gradient ratio (2.94), consistent with oversharpening/artifacts, whereas SwinIR lags substantially in both PSNR (15.91 dB) and perceptual distance (0.75). Overall, the results support our proposed two-stage diffusion-inversion training which improves fidelity (PSNR) and preserves physically meaningful structure (grad. ratio\(\sim\)1) without increasing perceptual error.
Qualitative Analysis. Fig. 2 shows visual comparisons for seviri\(\rightarrow\)viirs (top) and msg\(\rightarrow\)mtg (bottom). On seviri\(\rightarrow\)viirs, SwinIR largely preserves the low-frequency appearance but over-smooths the narrow cloud band and convective cores, failing to recover the fine filaments visible in HR. StableSR produces noticeably sharper outputs, but the sharpening comes with widespread speckle / grid-like artifacts and noisy textures (inflated gradient ratio), which do not correspond to the HR structures. SinSR recovers some mid-frequency details but still misses thin streaks and tends to smooth background texture. In contrast, our method reconstructs coherent high-frequency structure (crisper boundaries and more faithful cloud-cell shapes) while avoiding spurious texture, yielding the closest visual match to HR. On msg\(\rightarrow\)mtg, SwinIR exhibits severe appearance/contrast artifacts under the cross-sensor setting, while StableSR and SinSR sharpen cloud regions but can introduce granularity or wash out fine wisps. Our approach preserves the mesoscale cloud streaks and local gradients more consistently, producing fine-scale patterns that align with the HR target without obvious hallucinations.
Discussion. Most SR baselines implicitly assume (a) a known, stationary degradation (often bicubic), (b) tightly aligned LR/HR supervision, and (c) a single-sensor imaging model. In \(\mathrm{\small seviri}\rightarrow\mathrm{\small viirs}\) and \(\mathrm{\small msg}\rightarrow\mathrm{\small mtg}\), these assumptions are violated: the mapping is cross-sensor, time-shifted, and affected by different PSFs, noise characteristics, and spectral responses. As a result, distortion-driven models tend to blur (regression-to-the-mean under misalignment), while perceptual/diffusion baselines can generate sharp but unreliable textures. Fig. 3 helps disentangle the role of each training stage using the gradient preservation ratio (ideal = 1.0). The single-stage variants remain under-sharp: Stage-1 improves robustness but retains smoothing (ratio 0.86), and Stage-2 slightly improves structure (ratio 0.88) but is still conservative. The cascaded two-stage training moves the ratio close to the physically desirable regime (1.04), indicating substantially better recovery of fine-scale cloud boundaries and filaments. In contrast, the diffusion baseline (SD) overshoots the target gradients (ratio 1.74), consistent with over-sharpening artifacts rather than faithful structure. Overall, the plot supports our main claim: Stage-1 provides cross-sensor robustness, Stage-2 injects aligned structural supervision, and their combination is necessary to achieve near-ideal performance.
We presented a two-stage diffusion-inversion super-resolution framework for multi-spectral cloud imagery in challenging cross-sensor settings, including seviri\(\rightarrow\)viirs and msg\(\rightarrow\)mtg. The key idea is to decouple robust cross-sensor mapping from fine-detail recovery: Stage 1 leverages real paired observations to handle temporal and geometric mismatch, while Stage 2 uses HR-only self-supervision with synthetic degradations to recover high-frequency cloud structure under aligned training. Across both benchmarks, our approach achieves a stronger trade-off between distortion, structural fidelity (gradient preservation), and perceptual distance than transformer- and diffusion-based baselines, producing sharper yet more consistent reconstructions.
A central challenge in cross-sensor super-resolution is that “matching channels” are only approximate: sensors differ in their spectral response functions (SRFs), viewing geometry, calibration, point-spread functions (PSFs), and noise characteristics. Consequently, even when two bands are nominally similar (e.g., “0.6\(\mu\)m reflectance”), the measured radiance/reflectance/brightness temperature will not be identical. We therefore choose channels that (i) measure the same physical quantity (reflectance or brightness temperature), and (ii) are the closest available spectral counterparts across sensors. Any residual mismatch is treated as part of the domain gap handled by Stage 1 real-pair training.
For seviri\(\rightarrow\)viirs we represent each scene using a 3-channel “day microphysics” style composite consisting of two reflective bands and one thermal band. This choice provides a compact but informative representation of cloud morphology and thermodynamic structure: the reflective channels emphasize cloud optical properties and fine boundaries, while the thermal channel captures cloud-top temperature patterns and mesoscale organization.
viirs. We use I-band SDRs: I_01 (reflectance), I_03 (reflectance), and I_05 (brightness temperature).
seviri. We use the closest seviri counterparts: VIS006 (0.6\(\mu\)m reflectance), IR_016 (1.6\(\mu\)m reflectance), and IR_108 (10.8\(\mu\)m brightness temperature).
In our preprocessed SEVIRI tensor (25 layers), longitude/latitude are stored at indices \([0,1]\), and the three composite channels used for learning correspond to indices \([6,8,22]\)
(i.e., -3 for the thermal band), consistent with the VIS006/IR_016/IR_108 triplet. We apply fixed clipping and normalization to stabilize training and enable consistent dynamic ranges across sensors: reflective channels are scaled to \([0,1]\) and \([0,0.8]\), and the thermal channel is clipped to \([203,323]\) K prior to normalization.
| Quantity | SEVIRI (MSG) | VIIRS |
|---|---|---|
| Visible reflectance | VIS006 (0.6\(\mu\)m) | I_01 (0.64\(\mu\)m) |
| NIR/SWIR reflectance | IR_016 (1.6\(\mu\)m) | I_03 (1.61\(\mu\)m) |
| Thermal IR (BT) | IR_108 (10.8\(\mu\)m) | I_05 (11.45\(\mu\)m) |
6pt
For msg\(\rightarrow\)mtg we create channel-wise paired samples to evaluate and train across a broader set of spectral bands. We load mtg/fci L1C using Satpy (reader=fci_l1c_nc) and msg/seviri L1B using Satpy (reader=seviri_l1b_native), then
match each mtg band to its closest msg counterpart by spectral region and physical quantity (reflectance vs brightness temperature). We restrict to the overlapping subset of channels for which a
clear correspondence exists.
| Quantity | MTG/FCI | MSG/SEVIRI |
|---|---|---|
| Visible reflectance | vis_06 | VIS006 |
| Visible reflectance | vis_08 | VIS008 |
| NIR reflectance | nir_16 | IR_016 |
| Water vapor (BT) | wv_63 | WV_062 |
| Water vapor (BT) | wv_73 | WV_073 |
| Thermal IR (BT) | ir_38 | IR_039 |
| Thermal IR (BT) | ir_87 | IR_087 |
| Thermal IR (BT) | ir_97 | IR_097 |
| Thermal IR (BT) | ir_105 | IR_108 |
| Thermal IR (BT) | ir_123 | IR_120 |
| Thermal IR (BT) | ir_133 | IR_134 |
6pt
Reflectance channels are scaled to \([0,1]\) (including percent-to-fraction conversion when needed). Brightness temperature channels are normalized using a fixed physical range of \([180,330]\) K before saving patches (16-bit PNG), ensuring consistent scaling across channels.
To create aligned seviri–viirs pairs we use per-pixel geolocation grids. viirs longitude/latitude are read from the viirs
geolocation product, while seviri longitude/latitude are read from the seviri grid (stored as the first two layers in the seviri tensor). We first identify a seviri crop whose latitude/longitude extent lies within the seviri scene bounds (via crop-wise min/max checks) to guarantee overlap. We then reproject viirs onto the
seviri grid using nearest-neighbor interpolation in \((\mathrm{lon},\mathrm{lat})\) space (via scipy.interpolate.griddata), producing co-registered pairs on a shared grid for
training and evaluation. Remaining pixel-level discrepancies can persist due to time offset, differing view angles, and residual navigation errors; these are handled implicitly by Stage-1 training on real paired data.
For msg–mtg we rely on Satpy’s projection-aware resampling. We load mtg/fci L1C using Satpy (reader=fci_l1c_nc) and
msg/seviri L1B using Satpy (reader=seviri_l1b_native), then match each mtg band to its closest msg counterpart by
spectral region and physical quantity (reflectance vs brightness temperature). We restrict to the overlapping subset of channels for which a clear correspondence exists. We then resample one scene to the other’s native area (default:
MSG_TO_MTG) using Satpy’s Scene.resample with a configurable resampler (bilinear in our generation pipeline). Optionally, we crop both scenes to a lat/lon bounding box (crop(ll_bbox=...)). After resampling, arrays
share the same spatial grid and shape, enabling direct extraction of aligned channel-wise LR/HR patches.
We evaluate super-resolution quality using three complementary metrics. Peak Signal-to-Noise Ratio (PSNR) measures pixel-level reconstruction fidelity between the super-resolved output \(\hat{y}\) and the high-resolution reference \(y\): \[\text{PSNR} = 10 \cdot \log_{10}\!\left(\frac{\text{MAX}^2}{\text{MSE}(\hat{y},\, y)}\right),\] where \(\text{MAX}\) is the maximum pixel intensity and \(\text{MSE}\) is the mean squared error. Higher values indicate closer pixel-level agreement. Gradient Preservation Ratio (Grad.) measures how faithfully the model recovers physically meaningful fine-scale cloud structure, defined as the ratio of mean gradient magnitudes in the super-resolved output versus the HR reference: \[\text{Grad.} = \frac{\mathbb{E}[\|\nabla \hat{y}\|]}{\mathbb{E}[\|\nabla y\|]},\] where \(\nabla\) denotes image gradients computed via a Sobel operator. A ratio of \(1.0\) is ideal: values below \(1\) indicate over-smoothing, while values above \(1\) indicate over-sharpening or spurious texture. Perceptual Distance Ratio (Percep.) quantifies perceptual similarity of the super-resolved output relative to a bicubic baseline using deep feature distances. Let \(d(A, B) = \|\phi(A) - \phi(B)\|_2\) denote the LPIPS distance between images \(A\) and \(B\), where \(\phi(\cdot)\) extracts VGG feature embeddings. The ratio is defined as: \[\text{Percep.} = \frac{d(\hat{y},\, y)}{d(\hat{y}_{\text{bic}},\, y)},\] where \(\hat{y}_{\text{bic}}\) is the bicubic upsampled output. Values below \(1\) indicate better perceptual fidelity than the bicubic baseline; lower is better.
Figures 4 and 5 present further visual comparisons across representative cloud scenes for both SEVIRI\(\to\)VIIRS and MSG\(\to\)MTG settings, respectively. Across both configurations, our method consistently recovers coherent high-frequency cloud structures including convective turrets, thin filaments, and sharp cloud-gap boundaries. Our approach produces outputs that most closely match the ground-truth HR structure in both spatial organisation and local gradient fidelity, with less hallucinating spurious textures.
Our code is publicly available at https://github.com/hananshafi/superresolution-cloud-microphysics. While the UAEREP dataset is subject to institutional data-sharing agreements and cannot be released in full, we will release our trained model checkpoints and evaluation scripts upon publication to enable usage on publicly available data samples.