Model code, run file, input data, and simulated output data are provided in this zip file. All items included are described fully in the attached README.txt.
Abstract:
For the recently legalized US hemp industry ({\it Cannabis sativa}), cross-pollination between neighboring fields has become a significant challenge, leading to contaminated seeds, reduced oil yields, and in some cases, mandated crop destruction. As a step towards assessing hemp cross-pollination risk, this study characterizes the seasonal and spatial patterns in windborne hemp pollen dispersal spanning the conterminous United States (CONUS). By leveraging meteorological data obtained through mesoscale model simulations, we have driven Lagrangian stochastic models to simulate wind-borne hemp pollen dispersion across CONUS on a county-by-county basis for five months from July to November in 2016, encompassing the potential flowering season for industrial hemp. Our findings reveal that pollen deposition rates escalate from summer to autumn due to the reduction in convective activity during daytime and the increase in wind shear at night as the season progresses. We find diurnal variations in pollen dispersion: nighttime conditions favor deposition in proximity to the source, while daytime conditions facilitate broader dispersal albeit with reduced deposition rates. These shifting weather patterns give rise to specific regions of CONUS more vulnerable to hemp cross-pollination.
Publisher
University Libraries, Virginia TechLocation
Blacksburg, VACorresponding Author Name
Manu NimmalaFiles/Folders in Dataset and Description
%%%%%%%%%%%%%%% FOLDERS & FILES: %%%%%%%%%%%%%%%
(1) FullLSModel (51 KB)
(1.1) 'slurm_LS.sh'
(1.2) 'launch_LS.m'
(1.3) 'run_LS.m'
(1.4) 'LS_stableModel.m' / 'LS_unstableModel.m'
(1.5) 'LS_makeGrid.m'
(1.6) 'LS_stablev0.m' / 'LS_unstablev0.m'
(1.7) 'LS_stableStep.m' / 'LS_unstableStep.m'
(1.8) 'runFile.mat'
(2) Output_meanCounties_6_27_23 (5.15 GB)
(2.1) runsdone
(2.2) results
(2.3) processresults
(2.3.1) 'processResults.m'
(2.3.2) 'cgrid.mat'
(2.3.3) 'xgrid.mat'
(2.3.4) 'zgrid.mat'
(2.3.5) 'depgrid.mat'
(2.3.6) 'glc.mat'
(2.4) 'runFile.mat'
(2.5) 'listOfCounties.csv'
(2.6) 'make_RunFile.m'
(3) MeanCountyTimeSeries_2016 (37.7 MB)
(4) CountyTimeSeries_2016 (104.5 MB)
%%%%%%%%%%%%%%% DESCRIPTION OF EACH: %%%%%%%%%%%%%%%
(1) FullLSModel
Folder containing all of the matlab code for running all of the LS simulations in parallel on Virginia Tech's
high-performance computing system.
(1.1) 'slurm_LS.sh'
Bash script for submitting the code to Virginia Tech's high-performance computing system
(1.2) 'launch_LS.m'
Initiates a batch job to run the function run_LS on a local profile with 70 workers, captures the
diary output, and waits for completion. Once the job is finished, it loads and displays the job's diary,
marks the end time, and then cleans up by deleting and clearing the job object.
(1.3) 'run_LS.m'
Primary simulation script, which loads essential variables from (2.4) 'runFile.mat' and
identifies which simulations are still pending by checking the (2.1) runsdone folder. It then uses parallel
processing to run either stable or unstable models depending on the meteorological conditions, saving various
outputs like concentration grids and depth grids to binary files. Each simulation's runtime and date
are also saved to ensure tracking of progress and completion.
(1.4) 'LS_stableModel.m' / 'LS_unstableModel.m'
Matlab functions for lagrangian particle transport in stable and unstable conditions respectively. Both begin
by calling the (1.5) 'LS_makeGrid.m' function to initialize the particle count grids. Then the function
(1.6) 'LS_stablev0.m' / 'LS_unstablev0.m' is called to initialize the particle velocities. It then incrementally
updates their positions until they leave the domain or deposit on the ground. The code then computes the
concentration field from the particle residence times and returns the grids containing the x and z coordinates,
concentration, and deposition values.
(1.5) 'LS_makeGrid.m'
This function creates grids for tracking particle residence times and deposition. It computes the grid cell
sizes, grid coordinates, and constants used for efficiently computing grid indices. The function also initializes
the particle residence time grid (pgrid) and the deposition grid (depgrid).
(1.6) 'LS_stablev0.m' / 'LS_unstablev0.m'
Matlab functions to initialize the horizontal and vertical velocity fluctuations for all the particles.
(1.7) 'LS_stableStep.m' / 'LS_unstableStep.m'
These functions compute the particle velocities and positions in either a stable boundary layer or unstable boundary
layer using the Langevin equation. They calculate necessary wind statistics and Langevin coefficients based on the
meteorological parameters.
(1.8) 'runFile.mat'
The runfile containing all the necessary information to run all simulations, pasted into this folder. See descriptions
for: (2.4) 'runFile.mat' and (2.6) 'make_RunFile.m'.
(2) Output_meanCounties_6_27_23
Output_meanCounties_6_27_23 (2) is the folder to which simulations were outputted.
(2.1) runsdone
Contains a separate binary file for each simulation containing the date and time it finished
running and how much runtime it took (tic/toc) in seconds. These files were used to keep track
of which simulations were completely finished and saved.
(2.2) results
Contains binary files for:
xgrid: the grid boundaries in the downwind (x) direction for each simulation
zgrid: the grid boundaries in the vertical (z) direction for each simulation
cgrid: the concentration values computed in each gridbox for each simulation
depgrid: the number of particles which were considered deposited for each gridbox
at the lowest level of the grid for each simulation
glc: concentration values computed in each gridbox at the lowest level of the grid
Each filename is formatted as:
"name"_"GEOID"_"month"_"hour"
Example: cgrid_1001_07_0000.bin, where county geoid is "1001", "07" is July, "0000"
is midnight and "1200" is noon. (2.4) 'runFile.mat' contains all of these value
and it contains the last part of the filename (_"GEOID"_"month"_"hour") for each simulation.
(2.3) processresults
A folder containing examples of reading and plotting the binary results files. It also contains (2.2) results
formatted as matfiles.
(2.3.1) 'processResults.m'
A matlab script which reads in the binary files from (2.2) results and formats them as easy-to-use
matfiles. It also contains examples for visualizing the data.
(2.3.2 - 2.3.6) Matfiles for the following variables, for all 31070 simulations. See (2.3.1) 'processResults.m'
for examples for visualizing this data.
xgrid: the grid boundaries in the downwind (x) direction for each simulation
zgrid: the grid boundaries in the vertical (z) direction for each simulation
cgrid: the concentration values computed in each gridbox for each simulation
depgrid: the number of particles which were considered deposited for each gridbox
at the lowest level of the grid for each simulation
glc: concentration values computed in each gridbox at the lowest level of the grid
(2.4) 'runFile.mat'
A matfile containing all of the variables required to run the simulations: filenames, obukhov lengths,
roughness lengths, friction velocities, convective velocities, boundary layer heights, domain bounds,
the output folder, number of particles, release height, settling velocity, etc. It is copied into the
(1) FullLSModel folder when it is time to run simulations, and it directs all simulation output to the
(2) Output_meanCounties_6_27_23 folder, as it was defined in (2.6) 'make_RunFile.m'.
(2.5) 'listOfCounties.csv'
CSV file containing the GEOID, NOAA climate region, the closest coordinate point to the county's centroid
available from the mesoscale model data, the indices (I,J) associated with those coordinates, and old
hemp acreage data.
(2.6) 'make_RunFile.m'
Matlab script which creates a matfile, (2.4) 'runFile.mat' that contains all of the variables and
meteorological data required to run all of the simulations. It creates arrays or matrices for: filenames,
obukhov lengths, roughness lengths, friction velocities, convective velocities, boundary layer heights,
domain bounds, the output folder, number of particles, release height, settling velocity, etc. It reads
from both (2.5) 'listOfCounties.csv' and (3) MeanCountyTimeSeries_2016 to create the file.
(3) MeanCountyTimeSeries_2016
Folder containing a time-series of monthly-averaged meteorological parameters for each hour of the day
(noon and midnight), for each county. Averages are for local times, for example, local noon and midnight. These are used
directly in the simulations.
Files are named according to county GEOID.
(4) CountyTimeSeries_2016
Folder containing an hourly time-series of meteorological parameters for the entire year of 2016 extracted from the WRF
simulation (see paper for citation). Each time-series is extracted from the point closest to a county's centroid.
Files are named according to the county GEOID.