\section{Experimental Setup}
We evaluate the proposed modular pretraining and fusion pipeline on multiple downstream tasks. This section details the implementation and training of each component: (i) spectral MAEs for Sentinel-2 and PlanetScope, (ii) Climate-MAE, (iii) Sentinel-1 BYOL-Denoise, and (iv) fusion and classification head for downstream evaluation.

\subsection{Pretraining Dataset}
\paragraph{Dataset Overview.}
Our pretraining corpus is a large-scale, pixel-level Earth Observation (EO) dataset spanning all of India. It combines multi-modal observations from Sentinel-1, Sentinel-2, PlanetScope, and Climate, capturing spectral and spatio-temporal variability across diverse landscapes. The dataset spans 2020–2024 for Sentinel-1, Sentinel-2, and Climate, while PlanetScope provides high-resolution imagery for 2020–2021. Uniform sampling across agricultural, forested, urban, and barren regions yields a multi-year, multi-sensor, and multi-resolution corpus supporting robust and generalizable pixel-level pretraining. Band specifications for Sentinel-2 and PlanetScope are listed in Table~\ref{tab:s2_ps_bands}. Sentinel-1 offers dual-polarization SAR data (VV, VH), and the Climate modality includes four geophysical variables: daytime and nighttime LST, precipitation, and elevation.


% \begin{itemize}
%     \item \textbf{Sentinel-2 (S2):} Multispectral optical imagery comprising 10 spectral bands-\textit{Blue (B2)}, \textit{Green (B3)}, \textit{Red (B4)}, \textit{Red Edge 1–3 (B5–B7)}, \textit{Near-Infrared (B8, B8A)}, and \textit{Shortwave Infrared 1–2 (B11, B12)}.  
    
%     \item \textbf{Sentinel-1 (S1):} Synthetic Aperture Radar (SAR) observations with dual polarizations-\textit{Vertical–Vertical (VV)} and \textit{Vertical–Horizontal (VH)}.  
   
%     \item \textbf{Climate:} Four continuous geophysical variables-\textit{Land Surface Temperature (day)}, \textit{Land Surface Temperature (night)}, \textit{Precipitation}, and \textit{Elevation}.  
   
%     \item \textbf{Planetscope (P):} High-resolution optical imagery comprising eight spectral bands covering the visible to near-infrared range.  
    
% \end{itemize}

%Sentinel2, S1, Planetscope, Climate
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Implementation Details}

We implement modality-specific self-supervised learners following a unified transformer-based design. All MAE variants use embedding dimension $D{=}32$, a 6-layer encoder with 4 attention heads, and a 3-layer decoder ($D_d{=}32$). The mask ratio is fixed at $r{=}0.60$ to promote cross-feature reconstruction. Models are trained with the AdamW optimizer (learning rate $5{\times}10^{-4}$, weight decay $1{\times}10^{-2}$), batch size $2048$, cosine annealing with 10-epoch warmup, and early stopping (patience 15). Inputs are normalized using a \emph{RobustScaler} fitted to the 10th–90th percentile range.

\paragraph{Sentinel-2 and PlanetScope Spectral-MAE.}
We construct pretraining datasets from Sentinel-2 ($C{=}10$ bands) and PlanetScope SuperDove ($C{=}8$ bands) imagery across India. For Sentinel-2, $\sim$5.1M pixel samples are extracted, with 2.7M balanced samples (0.3M per class) drawn from Dynamic World land-cover labels to ensure uniform class distribution. PlanetScope uses $\sim$5.5M pixels coregistered with Sentinel-2 and the same balanced sampling strategy. Both models share weights in the meta-embedding network for spectral alignment but maintain independent projection layers $W_{\mathrm{val}}^{(\mathrm{S2})}$ and $W_{\mathrm{val}}^{(\mathrm{P})}$ to account for differing radiometric scales. Each produces a 32-D CLS embedding ($z_{\mathrm{S2}}$, $z_{\mathrm{P}}$) as a sensor-invariant spectral descriptor for downstream fusion.

\paragraph{Climate-MAE.}
The Climate-MAE ingests four variables elevation, daytime and nighttime Land Surface Temperature (LST), and total precipitation along with geolocation $(\text{lat}, \text{lon})$ encoded via sinusoidal functions. Data are scaled with a \emph{RobustScaler}. The model uses the same MAE configuration described above. Spatial leakage is prevented by assigning 0.9° latitude/longitude blocks exclusively to train or validation splits. Training runs for 25 epochs, with early stopping based on validation MAE.

\paragraph{Sentinel-1 BYOL-Denoise.}
Each Sentinel-1 sample includes dual-polarization SAR channels (VV, VH). We adopt a BYOL framework augmented with a denoising head, generating two augmented views $(v_1, v_2)$ per input through a combination of channel dropout ($p_{\mathrm{drop}}{=}0.2$), multiplicative log-jitter ($x \!\leftarrow\! x \times \exp(\epsilon)$, $\epsilon \!\sim\! \mathcal{N}(0,0.1^2)$), random element-wise scaling $\mathcal{U}(0.97,1.03)$, and additive Gaussian noise $\eta \!\sim\! \mathcal{N}(0,0.02^2)$. The encoder is a 4-layer ViT ($D{=}32$, 8 heads) with an MLP projector and predictor (dimension 64). A momentum encoder updates target weights via an EMA coefficient $\beta_t$ linearly ramped from 0.985 to 0.996 over the first five epochs. The total loss is defined as:
\begin{equation}
\mathcal{L}_{\text{total}} = \mathcal{L}_{\text{BYOL}} + 0.1\,\mathcal{L}_{\text{denoise}},
\end{equation}
where $\mathcal{L}_{\text{BYOL}}$ is the mean-squared error between online predictions and target projections, and $\mathcal{L}_{\text{denoise}}$ is the reconstruction loss between the denoised and clean inputs. We train using AdamW (lr $3{\times}10^{-4}$, weight decay $1{\times}10^{-4}$), batch size 1024, linear warmup for 10k steps followed by cosine decay, and early stopping (patience 10).

\paragraph{Fusion and downstream training.}
Once pretrained, each encoder produces a $32$‑dimensional CLS embedding ($z_{\mathrm{S2}}$, $z_{\mathrm{P}}$, $z_{\mathrm{clim}}$, $z_{\mathrm{S1}}$).  We evaluate two fusion strategies:
\begin{description}[leftmargin=1.5em, labelindent=1em]
    \item[\textbf{Concatenation-based fusion.}] 
    Each $z_m$ is projected to $\tilde{z}_m = P_m(z_m)\in\mathbb{R}^{64}$ via a ModalityProjector MLP (Linear→LayerNorm→GELU→Dropout).  
    The fused feature is $f = [\tilde{z}_{\mathrm{S2}},\tilde{z}_{\mathrm{PS}},\tilde{z}_{\mathrm{clim}},\tilde{z}_{\mathrm{S1}}]$.  
    Missing modalities are replaced by learned zero vectors to ensure a constant dimension of $256$.

    \item[\textbf{Cross-attention-based fusion.}] 
    We project each $z_m$ to $\tilde{z}_m\in\mathbb{R}^{64}$, stack them as $U\in\mathbb{R}^{4\times 64}$, and apply modality-wise multi-head attention:  
    for modality $m$, query $Q=\tilde{z}_m W_Q$, keys $K=U W_K$, and values $V=U W_V$.  
    The attended representation is $\hat{z}_m = \text{softmax}(QK^\top/\sqrt{d})\,V$.  
    A residual MLP refines each modality: $w_m = \phi(\hat{z}_m) + \tilde{z}_m$.  
    The fused vector is $f=[w_{\mathrm{S2}}, w_{\mathrm{P}}, w_{\mathrm{clim}}, w_{\mathrm{S1}}]\in\mathbb{R}^{256}$.
\end{description}
For downstream tasks, we normalize via a RobustScaler, and train a \emph{RandomForestClassifier} with 500 trees, maximum depth 35, and class-balanced sampling.  The dataset is split into 80\% training and 20\% test sets with stratification; hyperparameters are tuned on a validation split. All experiments are run on NVIDIA RTX A6000 GPU with mixed precision and early stopping.
