Access snowfall, snow depth, and snow density¶
This notebook shows how to retrieve and inspect snow-related data (snowfall, snow depth, and snow density) using the PVRADAR SDK. These data are essential for accurate modeling of snow-related losses and site performance impacts.
from pvradar.sdk import PvradarSite, R, resource_plot
Define Site and Period¶
Define the modeling site and time interval for which to retrieve snow data.
location = 59.922, 17.578 # Uppsala, Sweden
# Create a modeling context for the given location and interval
site = PvradarSite(location=location, interval='2019-06-01..2021-05-31')
Get the data in a single line of code¶
We'll retrieve daily data for snowfall
, snow_depth
and snow_density
from era5
and merra2
. Use the R-Notation to define the datasource expected unit and frequency.
For more on R-Notation and available attributes, see the Resource DB and R-Notation Guide.
# snowfall
snowfall_era5 = site.resource(R.snowfall(datasource='era5', to_unit='mm', to_freq='D'))
snowfall_merra2 = site.resource(R.snowfall(datasource='merra2', to_unit='mm', to_freq='D'))
# snow density
snow_density_era5 = site.resource(R.snow_density(datasource='era5', to_freq='D'))
# snow depth
snow_depth_era5 = site.resource(R.snow_depth(datasource='era5', to_unit='cm', to_freq='D'))
snow_depth_merra2 = site.resource(R.snow_depth(datasource='merra2', to_unit='cm', to_freq='D'))
Explore and Plot Snow Data¶
Visualize the downloaded snow resources to verify data quality and trends over time.
resource_plot(snowfall_era5, snowfall_merra2, snow_density_era5, snow_depth_era5, snow_depth_merra2, group_by='type')
Relation between snowfall, snow density and snow depth from ERA5 and MERRA2¶
ERA5 and MERRA-2 both provide raw data that allow PVRADAR to calculate snowfall and snow depth. However, only ERA5 also provides snow density.
ERA5 snow density is used to calculate snow depth from ERA5, but not ERA5 snowfall. For snowfall, a fixed density of 100 kg/m³ is assumed instead. This is because snow density refers to the snow on the ground, not to freshly fallen snow. It is assumed that fresh snow always has a density of 100 kg/m³, regardless of the ground snow density.
MERRA-2 snowfall and snow depth are both calculated assuming a fixed snow density of 100 kg/m³.
Users may manually change this logic as needed, for example like this:
snowfall_era5_density_corrected = snowfall_era5 * 100 / snow_density_era5
snowfall_era5_density_corrected.attrs['label'] = 'snofwall (density corrected)'
resource_plot(snowfall_era5, snowfall_era5_density_corrected)
¶
Why PVRADAR?¶
Model and optimize the real-world behavior of your PV plants¶
PVRADAR allows you to model the effect of any technical or environmental factor on plant performance — not just rainfall:
- Combine rainfall, snow, soiling, albedo, clipping, battery storage, and more in a single modeling workflow.
- Quantify impacts in terms of energy yield, PR, LCOE, and financial KPIs.
- Explore what-if scenarios and optimize plant design and O&M strategies.
Build internal tools and advanced applications¶
With PVRADAR, you can turn your models into robust, organization-wide tools:
- Build internal web apps that allow colleagues to apply validated models without writing code.
- Standardize modeling across teams and projects.
- Automate reporting and performance analysis to save time and ensure consistency.
One Python line away from your data¶
The PVRADAR SDK simplifies data access:
- Seamlessly connect to satellite data, meteo stations, and internal performance databases.
- Standardize and pre-process data for modeling — ready to use in one line of Python.
- Keep full control over your data, whether in the cloud or on-premises.
Supported by deep expertise¶
PVRADAR is more than software — it is backed by industry-leading expertise:
- Model validation and tuning with high-quality reference data.
- Consulting and support on snow losses, soiling, O&M optimization, and yield forecasting.
- Proven track record with leading IPPs, developers, and consultants.
👉 Ready to go further? Contact us to learn how we can help solve your modeling challenge!