Task: Calculate Snowfall Retrievals from SAIL X-Band Radar
import warnings warnings.simplefilter(“ignore”, UserWarning)
import glob import os import datetime
import numpy as np import matplotlib.pyplot as plt import pyart import xarray as xr from matplotlib.dates import DateFormatter
from metpy.plots import USCOUNTIES
import cartopy.crs as ccrs import cartopy.feature as cfeature
Radar Reflectivity - Snowfall (Z-S) Relationships
We setup helper functions to calculate the snowfall retrieval, using following notation:
\(Z = A*S ^ {B}\)
Where:
Z = Reflectivity in dBZ
A = Coefficient applied to Z-S Relationship (not in the exponent)
S = Liquid snowfall rate
B = Coefficient applied to Z-S Relationship (in the exponent)
We also need to apply a snow water equivalent ratio (swe
) to convert from liquid to snow (ex. 8 inches of snow –> 1 inch of rain would be 8.0).
This equation now becomes:
\(Z = swe*A*S ^ {B}\)
Solving for S, we get:
\(S = swe * (\frac{z}{a})^{1/B}\)
Where z is reflectivity in units of dB (\(z =10^{Z/10}\))
Define our Z-S Relationships
We start by using the Z-S Relationships Described in Bukovčić et al. (2018), where we refer to following relationships in Table 1:
Source |
Z(S) relation for dry snow |
A Coefficient |
B Coefficient |
Radar Band |
---|---|---|---|---|
Wolfe and Snider (2012) |
\(Z = {110}S^{2}\) |
110 |
2 |
S |
WSR-88D high plains |
\(Z = {130}S^{2}\) |
130 |
2 |
S |
WSR-88D Intermountain West |
\(Z = {40}S^{2}\) |
40 |
2 |
S |
Matrosov et al.(2009) Braham(1990) |
\(Z = {67}S^{1.28}\) |
67 |
1.28 |
X |
Matrosov et al.(2009) Braham(1990) |
\(Z = {114}S^{1.39}\) |
114 |
1.39 |
X |
Matrosov et al.(2009) Braham(1990) |
\(Z = {136}S^{1.3}\) |
136 |
1.3 |
X |
Matrosov et al.(2009) Braham(1990) |
\(Z = {28}S^{1.44}\) |
28 |
1.44 |
X |
Matrosov et al.(2009) Braham(1990) |
\(Z = {36}S^{1.56}\) |
36 |
1.56 |
X |
Matrosov et al.(2009) Braham(1990) |
\(Z = {48}S^{1.45}\) |
48 |
1.45 |
X |
Matrosov (1992) |
\(Z = {410}S^{1.6}\) |
410 |
1.6 |
X |
Matrosov (1992) |
\(Z = {340}S^{1.6}\) |
340 |
1.75 |
X |
Matrosov (1992) |
\(Z = {240}S^{1.6}\) |
240 |
1.95 |
X |
Boucher and Wieler (1985) |
\(Z = {229}S^{1.65}\) |
229 |
1.65 |
X |
Fujiyoshi et al. (1990) |
\(Z = {427}S^{1.09}\) |
427 |
1.09 |
X |
Puhakka (1975) |
\(Z = {1050}S^{2}\) |
1050 |
2 |
X |
Sekhon and Srivastava (1970) |
\(Z = {1780}S^{2.21}\) |
1780 |
2.21 |
X |
List the Available Files
We will use files on the Oak Ridge Laboratory Computing Facility (ORLCF), within the shared SAIL directory /gpfs/wolf/atm124/proj-shared/sail
.
These radar files have been merged from a single sweep in each file, to whole volume scans in each file.
file_list = sorted(glob.glob("/data/project/ARM_Summer_School_2024_Data/sail/radar/*"))
file_list[0:10]
['/data/project/ARM_Summer_School_2024_Data/sail/radar/gucxprecipradarcmacS2.c1.20220310.000206.nc',
'/data/project/ARM_Summer_School_2024_Data/sail/radar/gucxprecipradarcmacS2.c1.20220310.000726.nc',
'/data/project/ARM_Summer_School_2024_Data/sail/radar/gucxprecipradarcmacS2.c1.20220310.001246.nc',
'/data/project/ARM_Summer_School_2024_Data/sail/radar/gucxprecipradarcmacS2.c1.20220310.001806.nc',
'/data/project/ARM_Summer_School_2024_Data/sail/radar/gucxprecipradarcmacS2.c1.20220310.002326.nc',
'/data/project/ARM_Summer_School_2024_Data/sail/radar/gucxprecipradarcmacS2.c1.20220310.002846.nc',
'/data/project/ARM_Summer_School_2024_Data/sail/radar/gucxprecipradarcmacS2.c1.20220310.003406.nc',
'/data/project/ARM_Summer_School_2024_Data/sail/radar/gucxprecipradarcmacS2.c1.20220310.003926.nc',
'/data/project/ARM_Summer_School_2024_Data/sail/radar/gucxprecipradarcmacS2.c1.20220310.004446.nc',
'/data/project/ARM_Summer_School_2024_Data/sail/radar/gucxprecipradarcmacS2.c1.20220310.005006.nc']
Your Turn!
Question 1 - Easy
Using material presented this week, apply one of the above relationships to SAIL X-Band radar file and display
Question 2 - Intermediate
Using the above methodology, calculate the snowfall accumulation for an hour (or day)
Question 3 - Hard
Compare this hourly (or daily) accumulation to WRF output for the same day