DOI: 10.5061/dryad.rbnzs7hq0
title: Properties of cold pools from PERiLS 2022-2023

description: Cold pools play a range of important roles in quasi-linear convective
 systems (QLCSs), including maintenance via the development of new
 convective cells as well as baroclinic generation of horizontal vorticity.
 Although a number of QLCS cold pools have been characterized in the
 literature using one or a few sensors, their variability (both internally
 and across a range of environments) has still not been widely studied.
 This knowledge gap extends particularly to high-shear low-CAPE (HSLC)
 convective environments common to the cool season in the Southeastern US,
 where the Propagation, Evolution, and Rotation in Linear Storms (PERiLS)
 field campaign was focused.  PERiLS specifically targeted
 environmental and storm-scale processes in QLCSs, including their cold
 pools. Our analysis focuses on the heterogeneity and temporal variability
 of cold pools across short time and spatial scales using numerous surface
 and sounding observations across five PERiLS QLCSs. The PERiLS cold pools
 are generally weaker than those previously studied in warm-season,
 midlatitude QLCSs, likely due to the lower CAPE and higher relative
 humidity values common to the HSLC environments during PERiLS.
 Nevertheless, the distributions of most PERiLS cold pool variables at
 least partially overlap with those of previously-studied QLCSs. The median
 PERiLS measurement reveals a cold pool that is ≅2.5 km deep, having a
 surface temperature decrease of ≅-6°C, and a peak outflow wind gust of ≅13
 m s-1. In the spirit of a "cold pool audit", we present
 the internal and case-to-case variability of these particularly
 well-observed QLCSs.
description: # Properties of cold pools from PERiLS 2022-2023 Dataset DOI:
 [10.5061/dryad.rbnzs7hq0](10.5061/dryad.rbnzs7hq0) ## Description of the
 data and file structure The data represent surface and upper air sounding
 observations from the Propagation, Evolution, and Rotation in Linear
 Storms (PERiLS) field project, which was conducted during the spring
 months of 2022 and 2023.  The provided data files are either in CSV or
 NetCDF format. ## Code/software We have provided post-processed (i.e.
 quality-controlled) versions of our data needed for creation of our
 production figures.  In order to use the provided scripts, users will need
 to un-tar the archive file and also build a Python environment that
 includes the following non-standard packages: metpy, nexradaws, cartopy,
 and netcdf4.  * Pre-processing *.m script examples are contained in the
 `for_matlab.tar` file. These operate in Matlab on raw data files from the
 data sources shown below under Access information.  These are a sample
 subset of all files needed for processing of all variables described in
 the publication. File-by-file information is provided here: * ```
 IOP1_T_Barnes.m ``` Reads in a group of raw surface data files (described
 by the variables "podfiles", "mmfiles", and
 stickfiles"), extracts temperature data for a user-selected date and
 time (described by the variable "data_time"), performs a 2D
 Barnes spatial analysis of temperature, then saves the results to a NetCDF
 file for subsequent plotting. This invokes `get_values_for_time.m` listed
 below.  It also invokes `barnes_2p.m`, which is available from Stephen
 Pierce (2010): Barnes objective analysis
 ([https://www.mathworks.com/matlabcentral/fileexchange/28666-barnes-objective-analysis](https://www.mathworks.com/matlabcentral/fileexchange/28666-barnes-objective-analysis)), MATLAB Central File Exchange.  Downloaded 2025. * ``` IOP1_timetospace.m ``` Reads in a group of raw surface data files (described by the variable "infiles"), extracts temperature data for a user-selected range of date/times (described by the variable "toatime"), computes perturbations from a user-selected base state temperature (described by the variable "tbar"), performs a time-to-space conversion that translates data spatially using user-selected system motion (described by the variables "sysspd" and "sysdir"), then saves the results to a NetCDF file for subsequent plotting.  This invokes `get_temp_for_interval.m` and `get_time2space.m` listed below. * ``` get_temp_for_interval.m ``` Subset the surface data array to include only values within 1 hour from the time specified by and passed from `IOP1_timetospace.m`. * ``` get_time2space.m ``` Perform the actual translation of data points using the system motion specified by and passed from `IOP1_timetospace.m`. * ``` get_values_for_time.m ``` Subset the surface data array to include only values from the time specified by and passed from `IOP1_T_Barnes.m`. * Post-processed data files and plotting scripts are contained in the `for_python.tar` file.  The *.py scripts in the top-level directory expect to find the data files in the paths/subdirectories created from the tar file.  File-by-file information is provided here: * ``` Fig_coldpool_scatter.py ``` Creates a scatter plot from the cold pool depth (h) and intensity (C) values found in `sounding_files/h_and_c.csv`.  This is Figure 15 of the article. * ``` Fig_litcomp_6panel.py ``` Creates a 6-panel of bar charts comparing PERiLS cold pool metrics to those in the literature.  This is Figure 16 of the article.  The PERiLS surface values are read from `surface_files/*IOP*.csv`.  The PERiLS sounding-based (h and C) values are manually hard-wired into the script by the authors using the values in  `sounding_files/h_and_c.csv`.  The values from the literature are manually hard-wired into the script by the authors using the values from the historical studies identified in the article text. * ``` Fig_sfcdist_6panel.py ``` Creates a 6-panel of bar charts comparing PERiLS cold pool metrics across IOPs.  This is Figure 14 of the article.  The PERiLS surface values are read from `surface_files/*IOP*.csv`.  * ``` Fig_skewT_5panel.py ``` Plots a 5-panel of skew-T ln-p diagrams and hodographs for the base state soundings for each of the five IOPs.  This is Figure 3 of the article. * ``` prep_buoyprofs_batch.py ``` Batch processing script that reads in sounding files (cold pool soundings listed within `list_files/CP_files.txt` and environmental soundings listed within `list_files/ENV_files.txt`), computes vertical profiles of buoyancy for the cold pool soundings (based on departures from the associated environmental soundings), and both writes the cold pool depth (h) and intensity (C) values to a CSV file (`h_and_c.csv`) and also plots the following figure panels of the article: 5a/d/g, 7a/d/g, 9a/d/g, 1a/d/g, and 13a/d/g. * ``` prep_deltaT_TOA_instruments.py ``` Uses the temperature change and time-of-arrival information created by Matlab Barnes analysis (contained in files `postprocessed_netcdf_files/IOP*_deltaT_barnes.nc`) as well as the instrument postions (contained in files `list_files/IOP*_instruments.csv`) to plot the following figure panels of the article: 4d, 6d, 8d, 10d, and 12d. * ``` prep_radar_TOA_instruments.py ``` Plots a radar image for user-specified date/time/location by pulling radar data from the AWS NEXRAD archive.  The following file must be present so that the nearest radar site is selected: `list_files/NEXRAD_sites.csv`.  The locations of PERiLS surface instruments and sounding sites are added using information from the files `list_files/IOP*_instruments.csv` and `list_files/IOP*_sounding_locations.csv`.  The 5 groups of settings in the script create the 5 sub-panels of Figure 1 of the article. * ``` prep_radar_with_launchpoint.py ``` Plots a radar image for user-specified date/time/location of a balloon launch by pulling radar data from the AWS NEXRAD archive.  The following file must be present so that the nearest radar site is selected: `list_files/NEXRAD_sites.csv`. The various combinations of settings in the script pre-amble are used to create the following figure panels of the article: 5b/e/h, 7b/e/h, 9b/e/h, 11b/e/h, and 13b/e/h. * ``` prep_surface_TOA_demo.py ``` Reads in `surface_files/PodB-20220322-IOP01-SCOUT1-PERiLS-QC.csv` and produces Figure 2 in the article. * ``` prep_temperature_TOA_instruments.py ``` Uses the temperature information created by Matlab Barnes analysis (contained in files `postprocessed_netcdf_files/IOP*_contourT_barnes.nc`) as well as the instrument postions (contained in files `list_files/IOP*_instruments.csv`) to plot the following figure panels of the article: 4a, 6a, 8a, 10a, and 12a. * ``` prep_temperature_with_launchpoint.py ``` Uses the temperature information created by Matlab Barnes analysis (contained in files `postprocessed_netcdf_files/IOP*_contourT_barnes.nc`) as well as the instrument postions (contained in files `list_files/IOP*_instruments.csv`) and hardwired sounding launch positions to plot the following figure panels of the article: 5c/f/i, 7c/f/i, 9c/f/i, 11c/f/i, 13c/f/i. * ``` prep_time_series.py ``` Reads in a time series of surface temperature values for each IOP from `postprocessed_netcdf_files/IOP*_timeseries.nc` and plots the following figure panels of the article: 4b, 6b, 8b, 10b, 12b. * ``` prep_timetospace_Tpert.py ``` Uses the temperature information created by Matlab time-to-space analysis (contained in files `postprocessed_netcdf_files/IOP*_timetospace.nc`) to plot the following figure panels of the article: 4c, 6c, 8c, 10c, and 12c. * ``` list_files/ ``` This directory contains simple CSV and text files listing the instruments, locations, and file names used for batch processing in the Python scripts above. * ``` postprocessed_netcdf_files/ ``` This directory contains output from the Matlab preprocessing scripts. Contents of NetCDF files are self-describing. * ``` sounding_files/ ``` This directory contains a range of quality-controlled sounding data from the PERiLS experiment, collected into one directory for convenience.  Files with the prefix Hgt are from the FARM sounding sites interpolated to 5-meter height intervals in tabular text format.  Files with the prefix Prs are from the FARM sounding sites interpolated to 1 hPa pressure intervals in tabular text format.  Files with the prefix NSSL are from the NSSL sounding sites in CSV format.  The file `h_and_c.csv` contains computed information about cold pool depth (h) and intensity (C) for the cold pool soundings in this study, in CSV format, as produced by the Python script `prep_buoyprofs_batch.py`.  Column headers describe the values in each file. * ``` surface_files/ ``` This directory contains computed measures of cold pool intensity at each surface instrument for each IOP.  Files with names `Cold Pool Peak Gust IOP*.csv` contain the peak wind speeds after gust front passage.  Files with names `Delta P IOP*.csv` contain the change in pressure from before to after gust front passage.  Files with names `Delta T IOP*.csv` contain the change in temperature from before to after gust front passage.  Files with names `Delta Td IOP*.csv` contain the change in dewpoint from before to after gust front passage.  Files with names `Delta Thetae IOP*.csv` contain the change in equivalent potential temperature from before to after gust front passage.  Files with names `Delta U IOP*.csv` contain the change in line-perpendicular wind speed from before to after gust front passage.  The file PodB-20220322-IOP01-SCOUT1-PERiLS-QC.csv is an original quality-controlled PERiLS surface data file, also included for convenience and used to make the time series in Figure 2 of the article. ## Access information Data was derived from the following sources: * The original 2022 and 2023 PERiLS data can be acquired from: [https://data.eol.ucar.edu/master_lists/generated/perils_2022/](https://data.eol.ucar.edu/master_lists/generated/perils_2022/) [https://data.eol.ucar.edu/master_lists/generated/perils_2023/](https://data.eol.ucar.edu/master_lists/generated/perils_2023/) * The specific DOIs for the data used here are: FARM: [https://doi.org/10.48514/962K-9866](https://doi.org/10.48514/962K-9866) (2022) and [https://doi.org/10.48514/S52C-MH37](https://doi.org/10.48514/S52C-MH37.820) (2023 Sticknets: [https://doi.org/10.26023/93M9-AE8F-SX07](https://doi.org/10.26023/93M9-AE8F-SX07) (2022) and [https://doi.org/10.26023/D9T1-1XVT-M20M](https://doi.org/10.26023/D9T1-1XVT-M20M) (2023) ULM: [https://doi.org/10.26023/TJ7Y-E1RH-7X0X](https://doi.org/10.26023/TJ7Y-E1RH-7X0X) (2022 only) NSSL: [https://doi.org/10.26023/S0SK-WHS3-CC00](https://doi.org/10.26023/S0SK-WHS3-CC00) (2022 only) * We have not generally replicated those files here.  What we have provided is our post-processed files and scripts used to make the final plots in the Silcott et al. article. * We also use the Amazon Web Services radar data archive (accessed via Python scripts) [https://registry.opendata.aws/noaa-nexrad/](https://registry.opendata.aws/noaa-nexrad/)