## 2 Materials and Methods
### Canopy Height Model (CHM) Generation  
The CHM is a raster representation of the distance from the ground surface to the highest canopy structure of vegetation. A simplified CHM generation procedure was summarized as follows: creating a normalized digital surface model (nDSM) and CHM (Figure 3). First, an nDSM was created by calculating the distance between DTM and the highest z value of the LiDAR points in each pixel. Second, CHM was created by suppressing height as zero on non-forested area. Figure 2: Distance between GPS measurements over a plot center. The individual nDSM tiles were generated by the following procedure (Figure 4). First, tiled LiDAR point cloud and DTM were loaded. LiDAR points that are not earth-bound, e.g., birds, and erroneous, and spurious, i.e., elevation error near water-ground interface, were excluded in the CHM generation process [22]. The noisy LiDAR points were identified by data vendors prior to 3 DEP data publishing. Second, nDSM raster with 1.524 m spatial resolution was initialized with zero normalized height in the entire tile boundary. Third, nDSM pixel value was iteratively updated for every valid LiDAR point. For each i-th LiDAR point, x, y, and z coordinates; image coordinates m, n in 2-D nDSM array; and average ground elevation (\(\text{DTM}_{\text{m,n}}\)) were obtained. Subsequently, the nDSM pixel value was updated when the normalized height (\(\text{nHt}=\text{z}-\text{DTM}_{\text{m,n}}\)) was higher than previously assigned \(\text{nDSM}_{\text{m,n}}\). Tiled nDSM data were combined to generate a countywide CHM (Figure 5). All nDSM tiles with 1.524 m spatial resolution in a county were merged and clipped by the county boundary polygon. Normalized height in non-forestland was changed to the invalid value using the 2013 and 2019 National Land Cover Database (NLCD)-derived forested  
Figure 4: A workflow to generate the tiled normalized digital surface model (nDSM) using 3D Elevation Program (3 DEP) LiDAR and digital terrain model (DTM) data. nHt: normalized height. Figure 3: A subset of **(a)** 3D Elevation Program (3 DEP) LiDAR data from Martell Forest in Indiana, USA with **(b)** a 2D slice of point cloud along the transect from point A to B showing the canopy height model (CHM) generation procedure. nDSM: normalized digital surface model, DTM: digital terrain model, NLCD: National Land Cover Database-based binary classification map of forested and non-forested areas, and CHM: canopy height model. and non-forested classification map [29]. A temporary upscaled NLCD land cover map was generated to match the spatial resolution of the input nDSM with a nearest neighbor sampling method. We used a common spatial reference system for the CHM data products with the Universal Transverse Mercator (UTM) coordinate system (zone 16N) for the output CHMs. The entire CHM generation process was implemented using the Geospatial Data Abstraction Library (GDAL) package with Python programming language. We used a high-performance computer (HPC) and parallel processing to efficiently produce the high-resolution CHM dataset. The USGS 3 DEP datasets of approximately 20 terabytes in size were stored in a network-attached storage (NAS) device of 100 terabyte storage capacity (Synology Inc., Taiwan). The original data were sequentially copied to an HPC file system, and copied data were used to generate tiled nDSM using an HPC node (two 2.0 GHz AMD Rome CPUs, 256 gigabyte RAM) (Figure 6). We distributed the identical nDSM generation tasks with different tiled datasets using a task parallelism design since individual tasks do not depend on outcomes from other tasks. The output nDSM was moved to the NAS device once each processing task was complete. The countywide CHM was created by merging nDSMs on a single node workstation (Intel Xeon CPU, E5-2687W @ 3.40 GHz, 32 gigabyte RAM). Figure 5: A workflow to generate countywide canopy height models (CHM) using 3D Elevation Program (3 DEP) LiDAR data.