3. Surface Mass Balance

3.1. Models

3.1.1. MERRA-2

Uses MERRA-2 model outputs from the NASA Global Modeling and Assimilation Office (GMAO), MERRA-2 Vertically Integrated Diagnostics (M2TMNXINT) and Land Ice Surface Diagnostics (M2TMNXGLC) are downloaded using the gesdisc_merra_sync.py program. For MERRA-2, monthly surface mass balance (SMB) estimates are calculated by combining the convective rain (PRECCU), large-scale rain (PRECLS), snow (PRECSN), evaporation (EVAP), and runoff over glaciated land (RUNOFF) variables.

3.1.2. ERA5

Uses ERA5 model outputs computed by ECMWF. ERA5 precipitation and evaporation outputs are downloaded using the cds_reanalysis_retrieve.py program following the cdsapi documentation. For ERA5, monthly surface mass balance (SMB) estimates are calculated by combining the total precipitation (tp) and evaporation (e) variables. ERA5 surface mass balance estimates are not including runoff as those variables are presently inaccurate over glaciated surfaces.

3.2. Background

Monthly cumulative anomalies in surface mass balance are calculated by removing a multi-annual mean (typically 1980 – 1995). Before converting to spherical harmonics, the surface mass balance estimates are masked to isolate regions of interest. Surface mass balance anomalies are converted to spherical harmonics following Wahr et al. [30] [Equation 3.1].

(3.1)\[\begin{split} \left\{\begin{matrix}\tilde{C}_{lm}(t) \\[-4pt] \tilde{S}_{lm}(t) \end{matrix} \right\} = \frac{3}{4\pi a\rho_{e}}\frac{1+k_l}{2l+1}\int\sigma(\theta,\phi,t)~P_{lm}(\cos\theta) \left\{\begin{matrix}\cos{m\phi} \\[-4pt] \sin{m\phi} \end{matrix} \right\}~d\Omega\end{split}\]

3.3. Framework

digraph {
    E [label="MERRA-2 Reanalysis\nModel Outputs"
        fontname="Lato"
        fontsize=11
        shape=box
        style="filled"
        color="#7570b3"]
    L [label="Region Masks"
        fontname="Lato"
        fontsize=11
        shape=box
        style="filled"
        color="#7570b3"]
    M [URL="https://github.com/tsutterley/model-harmonics/blob/main/SMB/merra_smb_mean.py"
        label="Calculate Temporal Mean"
        fontname="Lato"
        fontsize=11
        shape=box
        style="filled"
        color="gray"]
    R [URL="https://github.com/tsutterley/model-harmonics/blob/main/SMB/merra_smb_cumulative.py"
        label="Calculate Cumulative Anomalies"
        fontname="Lato"
        fontsize=11
        shape=box
        style="filled"
        color="gray"]
    H [URL="https://github.com/tsutterley/model-harmonics/blob/main/SMB/merra_smb_harmonics.py"
        label="Calculate Spherical Harmonics"
        fontname="Lato"
        fontsize=11
        shape=box
        style="filled"
        color="gray"]
    S [URL="https://github.com/tsutterley/gravity-toolkit/blob/main/scripts/combine_harmonics.py"
        label="Spatial Maps"
        fontname="Lato"
        fontsize=11
        shape=box
        style="filled"
        color="#1b9e77"]
    T [URL="https://github.com/tsutterley/model-harmonics/blob/main/scripts/least_squares_mascon_timeseries.py"
        label="Time Series"
        fontname="Lato"
        fontsize=11
        shape=box
        style="filled"
        color="#1b9e77"]
    E -> M [arrowsize=0.8]
    E -> R [arrowsize=0.8]
    M -> R [arrowsize=0.8]
    R -> H [arrowsize=0.8]
    L -> H [arrowsize=0.8]
    H -> S [arrowsize=0.8]
    H -> T [arrowsize=0.8]
}

Figure 3.1: Surface Mass Balance Spherical Harmonics Framework