Skip to content

Prior Generation

The Blender algorithm requires a land-surface model prior for SWE and snowfall. Two input data streams feed the prior: (1) model state variables from a NoahMP open-loop run, and (2) MODIS satellite snow cover fraction.

Land Surface Model: NoahMP 4.0.1 via NASA LISF

The model prior is generated using NoahMP version 4.0.1 within the NASA Land Information System Framework (LISF). The open-loop (no data assimilation) run is forced with MERRA-2 reanalysis meteorology at 1 km spatial resolution over North America.

Outputs are produced by collaborator M. Wrzesien and stored at:

/discover/nobackup/projects/coressd/mwrzesie/runOL/out.OL/SURFACEMODEL/

Variables extracted for use as Blender inputs:

Variable NetCDF name Notes
Snow Water Equivalent SWE_tavg Daily mean
Snowfall flux Snowf_tavg Daily mean
Near-surface air temperature Tair_f_tavg Daily mean
Ground heat flux Qg_tavg Daily mean; also used as spatial template/mask

Snow Cover Fraction: MOD10A1F CGF

Satellite SCF observations are derived from the MODIS/Terra Snow Cover Daily L3 Global 500m Grid gap-filled (CGF) product (MOD10A1F), which fills cloud-obscured pixels using prior clear-sky observations.

Tree Cover Correction

Raw MOD10A1F SCF is corrected for forest canopy interception bias using MOD44B (MODIS Vegetation Continuous Fields, 500 m annual tree cover). The correction adjusts SCF in forested pixels to account for canopy masking of the underlying snowpack.

The tree-cover processing notebook is located at:

/discover/nobackup/projects/coressd/Github/Blender_notebooks/Modis/Forest/05_MOD44B_on_Discover.ipynb

This notebook should be run directly from JupyterHub on Discover. The tree-cover data have already been processed; re-running is only necessary if updated MOD44B tiles are downloaded.

Resampling

After tree-cover correction, MOD10A1F SCF is clipped and resampled from 500 m to 1 km to match the LIS/NoahMP grid, using Qg_tavg.nc as the spatial template and land mask.

Processed script: Python/process_modis_cgf.py in the verse repo.

Intermediate outputs:

/discover/nobackup/projects/coressd/Blender/Modis/MOD10A1F/clipped_WYxxxx/

Final SCF input for Blender:

/discover/nobackup/projects/coressd/Blender/Inputs/WYxxxx/SCF.nc