Title: MRR2 - Zenith (University of Michigan) Lead Author: Name: Claire Pettersen Institution: University of Michigan Department: Climate and Space Sciences and Engineering Address: 2455 Hayward St., Ann Arbor, MI 48109-2143 Email: pettersc@umich.edu Phone: 608 772 6270 ORCID: 0000-0002-8685-6242 Contributing Author: Name: Aronne Merrelli Institution: University of Michigan Department: Climate and Space Sciences and Engineering Email: merrelli@umich.edu ORCID: 0000-0002-5138-8098 Contributing Author: Name: Abby Hutson Institution: University of Michigan Department: Cooperative Institute for Great Lakes Research Email: hutsona@umich.edu ORCID: 0000-0001-9622-6431 Award ID/ Grant ID: 2348448 1.0 Dataset Description: ------------------------ The Micro Rain Radar (MRR2) is a 24-GHz FM-CW radar that collects a complete Doppler spectra of hydrometeors between 50 and 6000 meters from the instrument. The MRR2-Zenith is a University of Michigan instrument (S / N 0509025364) and was deployed as part of a set of three MRR2 instruments at Storm Peak Lab during the S2noCliME field campaign. MRR2-Zenith measures radar profiles directly in the vertical. The instrument began running months before the project started, on 16 September 2024, and collected data continuously until 18 May 2025. Data frequency: 1 minute. Physical Location: 40.455 Latitude, -106.744 Longitude, Altitude 3208 meters Final Version: 1.0 06 April 2026 2.0 Instrument Description: ---------------------------- The METEK Micro Rain Radar 2 (MRR) is a vertically profiling, 24.23 GHz (K band) frequency-modulated, continuous-wave Doppler radar (Klugmann et al. 1996). The MRR has been successfully used in field campaign observations of both rain and snow. The MRR is small and easily deployable, ideal for fieldwork. The antenna dish is 0.5 m in diameter and is mounted ~2 m above the ground. The transmitter is low power (50 mW) and requires only 25 W while operating (the dish heater that is required during winter months adds 500 W). The MRR2 profiled the atmospheric column directly above ground level (AGL) where mounted in 30 fixed range gates that can be specified up to 100 m (total profile maximum of 3000 m AGL). 3.0 Data Collection and Processing: ----------------------------------- The MRR2-Zenith is a profiling radar, oriented to measure the Doppler spectra in the vertical (zenith). Below are the instrument specifications for MRR2-Zenith: - Vertical Range: 2976 m AGL - Vertical Resolution: 96 m bins (30 range gates) The raw MRR files were processed using IMProToo (Maahn and Kollias, 2012) to increase the sensitivity of the radar to snowfall and lower the detection limit to about –10 dBZ. Data were quality controlled and “de-noised” using a principal component analysis method on the MRR raw power spectra to remove potential interference from nearby towers (Pettersen et al., 2020). We also produced the data to provide it in universally recognized NetCDF-4 format. We extracted radar properties of reflectivity, Doppler velocity, spectral width, reflectivity power spectra from these de-noised files following the Climate and Forecast conventions (version 1.11) and compressed them with a level 2 deflation to make the dataset size manageable and optimized. 4.0 Data Format: ---------------- MRR2-Zenith data is stored in daily netCDF files with the following naming convention: MRR_SPL_UM_Zen_YYMMDD_snow.nc where - YYYY is the year when the data was collected - MM is the month of the year - DD is the day of the month Coordinates: - time (ns): an array of datetime objects, time of each measurement (1-minute frequency) - Range (bins): bin number, ordered from the closest bin to the bin farthest away - velocity_noDA(m s^-1): The original, non-dealiased Doppler velocity bins - Velocity (m s^-1): Doppler velocity bins, after dealiasing. Parameters: - Height above instrument (m) - Spectral reflectivities (dealiased, and non-dealiased) (mm^6 m^-3) - Noise mask for spectral reflectivities (dealiased, and non-dealiased) (1=noise, 0=signal) - Quality flag () - Transfer function () - Reflectivity of the most significant peak (dealiased and non-dealiased) (dBz) - Spectral width of the most significant peak (dealiased and non-dealiased) (m s^-1) - Skewness of most significant peak (dealiased and non-dealiased) () - Kurtosis of most significant peak (dealiased and non-dealiased) () - Doppler Velocity of left border of most significant peak (dealiased and non-dealiased) (m s^-1) - Doppler Velocity of right border of most significant peak (dealiased and non-dealiased) (m s^-1) - Mean Doppler Velocity of the most significant peak (dealiased and non-dealiased) (m s^-1) - Slope of the left side of the peak (dealiased and non-dealiased) (dB/m s^-1) - Slope of the right side of the peak (dealiased and non-dealiased) (dB/m s^-1) - Mean noise of one Doppler Spectrum (ONLY non-dealiased) (mm^6 m^-3) - Standard Deviation of noise of one Doppler Spectrum (ONLY non-dealiased) (mm^6 m^-3) - Signal to Noise ratio of the most significant peak (ONLY non-dealiased) (dB) Below is the netCDF header information for the variables and global attributes: netcdf MRR_SPL_UM_Zen_20250213_snow { dimensions: time = 1440 ; range = 31 ; velocity = 192 ; velocity_noDA = 64 ; variables: int time(time) ; time:_FillValue = -9999 ; time:description = "measurement time. Following Meteks convention, the dataset at e.g. 11:55 contains all recorded raw between 11:54:00 and 11:54:59 (if delta t = 60s)!" ; time:timezone = "UTC" ; time:units = "seconds since 1970-01-01 00:00:00" ; int range(range) ; range:_FillValue = -9999 ; range:description = "range bins" ; range:units = "#" ; float velocity(velocity) ; velocity:_FillValue = -9999.f ; velocity:description = "Doppler velocity bins. If dealiasing is applied, the spectra are triplicated" ; velocity:units = "m s^-1" ; float velocity_noDA(velocity_noDA) ; velocity_noDA:_FillValue = -9999.f ; velocity_noDA:description = "Original, non dealiased, Doppler velocity bins." ; velocity_noDA:units = "m s^-1" ; float height(time, range) ; height:_FillValue = -9999.f ; height:description = "height above instrument" ; height:units = "m" ; float eta_noDA(time, range, velocity_noDA) ; eta_noDA:_FillValue = -9999.f ; eta_noDA:description = "spectral reflectivities NOT dealiased" ; eta_noDA:units = "mm^6 m^-3" ; int etaMask_noDA(time, range, velocity_noDA) ; etaMask_noDA:_FillValue = -9999 ; etaMask_noDA:description = "noise mask of eta NOT dealiased, 0: signal, 1:noise" ; etaMask_noDA:units = "bool" ; float eta(time, range, velocity) ; eta:_FillValue = -9999.f ; eta:description = "spectral reflectivities. if dealiasing is applied, the spectra are triplicated, thus up to three peaks can occur from -12 to +24 m s^-1. However, only one peak is not masked in etaMask" ; eta:units = "mm^6 m^-3" ; int etaMask(time, range, velocity) ; etaMask:_FillValue = -9999 ; etaMask:description = "noise mask of eta, 0: signal, 1:noise" ; etaMask:units = "bool" ; int quality(time, range) ; quality:_FillValue = -9999 ; quality:description = "A) usually, the following erros can be ignored (no. is position of bit): 1) spectrum interpolated around 0 and 12 m s^-1 2) peak streches over interpolated part 3) peak is dealiased 4) first Algorithm to determine peak failed, used backup 5) dealiasing went wrong, but is corrected B) reasons why a spectrum does NOT contain a peak: 8) spectrum was incompletely recorded 9) the variance test indicated no peak 10) spectrum is not processed due to according setting 11) peak removed since not wide enough 12) peak removed, because too few neighbours show signal, too C) thinks went seriously wrong, don\'t use data with these codes16) peak is at the very border to bad data 17) in this area there are still strong velocity jumps, indicates failed dealiasing 18) during dealiasing, a warning was triggered, applied to whole columm " ; quality:units = "bin" ; float TF(time, range) ; TF:_FillValue = -9999.f ; TF:description = "Transfer Function (see Metek\'s documentation)" ; TF:units = "-" ; float Ze_noDA(time, range) ; Ze_noDA:_FillValue = -9999.f ; Ze_noDA:description = "reflectivity of the most significant peak, not dealiased" ; Ze_noDA:units = "dBz" ; float Ze(time, range) ; Ze:_FillValue = -9999.f ; Ze:description = "reflectivity of the most significant peak" ; Ze:units = "dBz" ; float spectralWidth_noDA(time, range) ; spectralWidth_noDA:_FillValue = -9999.f ; spectralWidth_noDA:description = "spectral width of the most significant peak, not dealiased" ; spectralWidth_noDA:units = "m s^-1" ; float spectralWidth(time, range) ; spectralWidth:_FillValue = -9999.f ; spectralWidth:description = "spectral width of the most significant peak" ; spectralWidth:units = "m s^-1" ; float skewness_noDA(time, range) ; skewness_noDA:_FillValue = -9999.f ; skewness_noDA:description = "Skewness of the most significant peak, not dealiased" ; skewness_noDA:units = "-" ; float skewness(time, range) ; skewness:_FillValue = -9999.f ; skewness:description = "Skewness of the most significant peak" ; skewness:units = "-" ; float kurtosis_noDA(time, range) ; kurtosis_noDA:_FillValue = -9999.f ; kurtosis_noDA:description = "kurtosis of the most significant peak, not dealiased" ; kurtosis_noDA:units = "-" ; float kurtosis(time, range) ; kurtosis:_FillValue = -9999.f ; kurtosis:description = "kurtosis of the most significant peak" ; kurtosis:units = "-" ; float peakVelLeftBorder_noDA(time, range) ; peakVelLeftBorder_noDA:_FillValue = -9999.f ; peakVelLeftBorder_noDA:description = "Doppler velocity of the left border of the peak, not dealiased" ; peakVelLeftBorder_noDA:units = "m s^-1" ; float peakVelLeftBorder(time, range) ; peakVelLeftBorder:_FillValue = -9999.f ; peakVelLeftBorder:description = "Doppler velocity of the left border of the peak" ; peakVelLeftBorder:units = "m s^-1" ; float peakVelRightBorder_noDA(time, range) ; peakVelRightBorder_noDA:_FillValue = -9999.f ; peakVelRightBorder_noDA:description = "Doppler velocity of the right border of the peak, not dealiased" ; peakVelRightBorder_noDA:units = "m s^-1" ; float peakVelRightBorder(time, range) ; peakVelRightBorder:_FillValue = -9999.f ; peakVelRightBorder:description = "Doppler velocity of the right border of the peak" ; peakVelRightBorder:units = "m s^-1" ; float leftSlope_noDA(time, range) ; leftSlope_noDA:_FillValue = -9999.f ; leftSlope_noDA:description = "Slope at the left side of the peak, not dealiased" ; leftSlope_noDA:units = "dB/(m s^-1)" ; float leftSlope(time, range) ; leftSlope:_FillValue = -9999.f ; leftSlope:description = "Slope at the left side of the peak" ; leftSlope:units = "dB/(m s^-1)" ; float rightSlope_noDA(time, range) ; rightSlope_noDA:_FillValue = -9999.f ; rightSlope_noDA:description = "Slope at the right side of the peak, not dealiased" ; rightSlope_noDA:units = "dB/(m s^-1)" ; float rightSlope(time, range) ; rightSlope:_FillValue = -9999.f ; rightSlope:description = "Slope at the right side of the peak" ; rightSlope:units = "dB/(m s^-1)" ; float W_noDA(time, range) ; W_noDA:_FillValue = -9999.f ; W_noDA:description = "Mean Doppler Velocity of the most significant peak, not dealiased" ; W_noDA:units = "m s^-1" ; float W(time, range) ; W:_FillValue = -9999.f ; W:description = "Mean Doppler Velocity of the most significant peak" ; W:units = "m s^-1" ; float etaNoiseAve(time, range) ; etaNoiseAve:_FillValue = -9999.f ; etaNoiseAve:description = "mean noise of one Doppler Spectrum in the same units as eta, never dealiased" ; etaNoiseAve:units = "mm^6 m^-3" ; float etaNoiseStd(time, range) ; etaNoiseStd:_FillValue = -9999.f ; etaNoiseStd:description = "std of noise of one Doppler Spectrum in the same units as eta, never dealiased" ; etaNoiseStd:units = "mm^6 m^-3" ; float SNR(time, range) ; SNR:_FillValue = -9999.f ; SNR:description = "signal to noise ratio of the most significant peak, never dealiased!" ; SNR:units = "dB" ; // global attributes: :title = "Micro rain radar data processed with IMProToo" ; :comment = "IMProToo has been developed for improved snow measurements. Note that this data has been processed regardless of precipitation type." ; :institution = "" ; :contact_person = "IMProToo user" ; :source = "MRR-2" ; :location = "" ; :history = "Created with IMProToo v0.107" ; :author = "Max Maahn" ; :processing_date = "2026-03-27 21:22:17 UTC" ; :reference = "Maahn, M. and Kollias, P., 2012: Improved Micro Rain Radar snow measurements using Doppler spectra post-processing, Atmos. Meas. Tech., 5, 2661-2673, doi:10.5194/amt-5-2661-2012.} 5.0 Data Remarks: ------------------ 6.0 References: -------------- Klugmann, D., K. Heinsohn, and H. J. Kirtzel, 1996: A low cost 24 GHz FM-CW Doppler radar rain profiler. Contrib. Atmos. Phys., 61, 247–253. Maahn, M. and Kollias, P., 2012: Improved Micro Rain Radar snow measurements using Doppler spectra post-processing, Atmos. Meas. Tech., 5, 2661-2673, doi:10.5194/amt-5-2661-2012. Pettersen, C., Kulie, M.S., Bliven, L.F., Merrelli, A.J., Petersen, W.A., Wagner, T.J., Wolff, D.B. and Wood, N.B., 2020. A composite analysis of snowfall modes from four winter seasons in Marquette, Michigan. Journal of Applied Meteorology and Climatology, 59(1), pp.103-124. https://doi.org/10.1175/JAMC-D-19-0099.1