More science with less: evaluation of a 3D-printed weather station

A weather station built using 3D-printed parts and low-cost sensors, based on plans and guidance provided by the University Corporation for Atmospheric Research 3DPrinted Automatic Weather Station Initiative, was deployed alongside an Oklahoma Mesonet station to compare its performance against standard commercial sensors and determine the longevity and durability of the system. Temperature, relative humidity, atmospheric pressure, wind speed and direction, solar radiation, and precipitation measurements were collected over an 8-month field deployment in Norman, Oklahoma. Measurements were comparable to the commercial sensors except for wind direction, which proved to be problematic. Longevity and durability of the system varied, as some sensors and 3D-printed components failed during the deployment. Overall, results show that these lowcost sensors are comparable to the more expensive commercial counterparts and could serve as viable alternatives for researchers and educators with limited resources for shortterm deployments. Long-term deployments are feasible with proper maintenance and regular replacement of sensors and 3D-printed components.


Introduction
Low-cost sensors, coupled with three-dimensional (3D) printing technologies, can provide researchers and educators with the ability to create tools and instrumentation at a fraction of the cost of commercial counterparts. The 3D-Printed Automatic Weather Station (3D-PAWS) initiative was launched by the University Corporation for Atmospheric Research (UCAR) and the US National Weather Service International Activities Office, with support from the US-AID Office of US Foreign Disaster Assistance, in an effort to fill observational gaps in remote, sparsely observed regions (Kucera and Steinson, 2017). Scientists behind the 3D-PAWS initiative developed and open-sourced robust plans, documentation, and software for the development of a 3Dprinted weather station capable of measuring temperature, humidity, atmospheric pressure, ultraviolet (UV) index, wind speed and direction, and rainfall using low-cost commercially available sensors (Table 1). Similar efforts to develop low-cost weather stations have emerged for small-scale wind farm site selection (Aponte-Roa et al., 2018) and investigating micro-climate processes (Ham, 2013). In addition to weather stations, efforts are expanding towards the creation of other low-cost sensors that could benefit environmental and atmospheric science applications (Ham et al., 2014;Kennedy, 2019). Most efforts related to weather station development have focused on relatively short time periods for evaluation of the sensors and 3D-printed components; however, the 3D-PAWS initiative has tested and deployed their systems in a long-term operational manner, with approximately 19 stations deployed worldwide (Kucera and Steinson, 2017).
Evaluation of these low-cost systems against commercialgrade instrumentation is important in proving these technologies and enabling adoption on a wider scale. The 3D-PAWS system has thus far been evaluated against all-inone (Smallwood and Santarsiero, 2019;Aura et al., 2019) and commercial-grade sensors (Kucera and Steinson, 2017). Smallwood and Santarsiero (2019) deployed a complete station but only collected a limited amount of data due to data acquisition issues, and an analysis was not performed. Aura et al. (2019) compared 3 years of 3D-PAWS data with an allin-one weather station and found high correlation for atmospheric pressure, moderate correlation for temperature, relative humidity, and wind direction, and relatively low correlation for wind speed. Additionally, Aura et al. (2019) concluded that routine maintenance was important for these automated weather systems to ensure data availability and quality. 3D-PAWS developers evaluated their system against high-quality sensors over a 10-month timeframe in Boulder, Colorado, in an environment in which temperatures ranged from approximately −25 to 37 • C and at the National Oceanic and Atmospheric Administration (NOAA) test-bed facility in Sterling, Virginia (Kucera and Steinson, 2017). Results showed good agreement between sensors, with most sensor uncertainty falling within the range of the manufacturer specifications. The exception was relative humidity, which had a higher uncertainty of 5.7 % (Table 1). Performance of the UV sensor was not assessed in previous comparison studies. Accurate reference sensors are essential for proper comparisons. Ideally, reference sensors would conform to standards defined in the World Meteorological Organization (WMO) Guide to Instruments and Methods of Observation (WMO, 2018). However, the WMO guide also indicates that operational uncertainty conforming to these requirements will not be met in many instances and are only achievable with the "highest quality sensors and procedures". There are a number of organizations that deploy high quality sensors and implement best practices as they relate to calibration and data-quality that can serve as viable reference stations. The Oklahoma Mesonet (Mcpherson et al., 2007;Brock et al., 1995), hereafter referred to as Mesonet, deploys high-quality meteorological instrumentation (Table 2) in every county across Oklahoma. Mesonet sensors undergo routine maintenance and are rotated out of the field on a regular schedule. Calibrations are performed before and after deployment to the field, leading to well-characterized systems (Mcpherson et al., 2007). The accuracy of the Mesonet sensors is comparable to Kucera and Steinson (2017), with noticeable improvements over the all-in-one sensors used in the Smallwood and Santarsiero (2019) and Aura et al. (2019) studies (Table 3). Information about the particular sensors used in each of these studies is documented in Appendix A.
This study was supported by a grant through the Cooperative Institute for Mesoscale Meteorological Studies (CIMMS) at the University of Oklahoma with the goals of verifying the results from previous intercomparison studies, assessing the longevity of the sensors and 3D-printed components, and, most importantly, providing undergraduate meteorology students with skills they would not otherwise have learned in the classroom. Through this project, students were able to gain valuable hands-on experience with proposal writing, project plan development, 3D printing, instrument engineering and development, and field campaign operations.

Station configuration
The weather station was built based on specifications provided by the 3D-PAWS initiative with some modifications. Over 100 parts were 3D-printed using off-white acrylonitrile styrene acrylate (ASA), which has higher ultraviolet radiation, temperature, and impact resistance than regular polylactic acid (PLA) filament. Parts were printed with a grid infill to reduce printing time. ASA is printed using higher temperatures than standard PLA filament, which can lead to warping of prints, as was the case for the radiation shield leaves. Initial prints of the rain gauge funnel using the original design proved problematic with the printer used. The wall thickness of the funnel was increased to resolve the print issues. Due to a vendor shortage of the original off-white ASA, the funnel was printed with gray ASA. It was coated with polyurethane to seal any remaining imperfections in the print. Lab calibrations of the rain gauge were performed and it was adjusted to ensure that each tip routinely held 0.2 mm of water compared to 0.254 mm for the Mesonet rain gauge. The rain gauge screen was created using parts from a failed funnel print. Mosquito netting was zip-tied to the ring and placed securely inside the funnel. Plans provided by the 3D-PAWS initiative called for opaque plastic (PTFE) to shield the UV sensor. In order to reduce costs, an opaque plastic tray from a frozen meal was used to create the UV sensor cover ( Fig. 1). Temperature, relative humidity, atmospheric pressure, and UV sensors were all sealed with conformal coating to protect against degradation due to moisture. Due to limitations with anchoring the station in ground, a frame had to be developed to withstand weather conditions in Oklahoma. The frame was built from standard polyvinyl chloride pipe (PVC) and consisted of a central trunk connected to three legs (Fig. 2). Each leg was connected to a height-adjustable concrete footing. In order to minimize vibrations on the tipping bucket rain gauge, the support legs were also set in concrete. In lieu of building a Raspberry Pi tube, an electrical junction box was used to house the Raspberry Pi. Temperature, relative humidity, and atmospheric pressure sensors were installed in the naturally aspirated radiation shield at 1.5 m to match the height of the Mesonet. Wind direction, wind speed, and UV light sensors were installed on the crossbar at approximately 2 m compared to 10 m for the Mesonet wind measurements. The tipping bucket rain gauge was installed at roughly 0.3 m compared to Software provided by the 3D-PAWS initiative was not compatible with the Raspberry Pi version used for this study, and additional software engineering was required. Existing Python libraries were used for communications with temper-   Wind direction ature (DiCola, 2014b), relative humidity (Gaggero, 2015), atmospheric pressure (DiCola, 2014a), and UV light sensors (Gutting, 2014). The 3D-PAWS software image was decoded and used as a basis for the wind and rain programs. Data were collected instantaneously every minute for temperature, pressure, relative humidity, and UV variables. The rain program was constantly listening for tip events and recorded event totals every minute. The wind program was constantly running as well, taking measurements every 10 s and recording average, minimum, and maximum wind speed and direction every minute. Programs were set up to automatically start up on any reboot or power loss event to ensure robust operations. Data were automatically uploaded via WiFi connection to a cloud-based storage location at the end of every day (24:00:00 UTC) to ensure minimal data loss in the event of a catastrophic failure. The 3D-printed station was deployed approximately 70 m to the west-northwest of the Norman, Oklahoma, Mesonet station from 15 August 2018 to 15 April 2019 (Fig. 3). The Norman station (Fig. 4) served as an ideal reference point due to the proximity to the University of Oklahoma for easy installation and routine maintenance visits. Power was also easily accessible, eliminating the need for solar panels and batteries. The 3D-printed station crossarm was oriented perpendicular to the north with the rain gauge positioned to the west of the station in order to minimize any interference from the station itself or the larger 10 m tower nearby. The terrain of the site was slightly sloped such that the 3D-printed station was approximately 2 m higher than the Mesonet station. Surrounding vegetation was mostly native grasses, which were mowed on a regular basis.

Results
Temperature, relative humidity, atmospheric pressure, wind speed and direction, and UV data collected from the 3Dprinted station were averaged to 5 min in order to compare with the Mesonet data downloaded from Atmospheric Radiation Measurement User Facility (ARM, 2019). The Atmospheric data Community Toolkit ) was used to read the different data formats into common xarray objects for analysis (Hoyer and Hamman, 2017). The subsequent scatter plots, produced using Matplotlib (Hunter, 2007), follow the same format; the 3D-printed station is displayed on the x axis and Mesonet on the y axis. Data points are color-coded by a consistent time interval corresponding to the full length of the deployment, 15 August 2018 to 15 April 2019, with dark blue indicating data collected towards the beginning of the deployment and yellow indicating data collected towards the end of it. A one-to-one line is indicated by the blue dashed line. The solid black line denotes the linear regression calculated using SciPy (Virtanen et al., 2020). The slope, intercept, and correlation coefficient are listed at the bottom left. The standard error of the mean (SEM), root mean square error (RMSE), average difference, and minimum and maximum values of the 3D-printed station and Mesonet are listed at the lower right. A summary of the RMSE and correlation coefficients broken down by month and for the full deployment is in Table 4.

Air temperature
Air temperature data were quality-controlled by applying an upper threshold of 45 • C to the 3D-printed station temperature data in order to remove erroneous data points. The Mesonet data had been properly quality-controlled, and no further quality control was necessary. The MCP9808 sensor reported large values towards the end of the deployment but otherwise performed well with an RMSE of 1.22 • C when compared with the Mesonet sensor (Fig. 5). The lowest RMSE value (0.42 • C) was recorded in month 7 immediately before the sensor began to fail, which resulted in an RMSE of 1.53 • C for month 8 (Table 4). Temperature sensors were also incorporated into the HTU21D relative humidity and BMP280 atmospheric pressure sensors. Temperature from the BMP280 sensor was not included in the analysis due to the sensor's subsequent relocation inside the Raspberry Pi box. Temperature reported by the HTU21D sensor performed better than the primary MCP9808 sensor, with an overall RMSE of 0.97 • C (Fig. 6). However, the HTU21D sensor failed in the 6 months of the deployment. This failure was attributed to corrosion on the board that was not observed amongst the other sensors. The MCP9808 sensor did show some signs of degradation at the end of the deployment due to moisture but was otherwise in relatively good shape.
Differences in the radiation shield configuration between stations contributed to a portion of the observed differences. The Mesonet deploys actively aspirated radiation shields, while the 3D-printed station radiation shield was naturally aspirated. Data were additionally analyzed by applying thresholds to the data based on wind speeds from 1 to 8 m s −1 . RMSE significantly improved for the MCP9808 sensor from 1.22 • C to 1.08 • C with a threshold of 1 m s −1 and from 0.97 to 0.91 • C for the HTU21D sensor. RMSE continued to decline with increasing wind speeds for both sensors (Table 5). As flow through the naturally aspirated radiation shields increased, it became comparable to the flow through the Mesonet aspirated radiation shields. The RMSE of both sensors is in line with the sensor uncertainties between the two stations (MCP9808 0.8 • C; HTU21D 0.6 • C) when the wind speeds are greater than roughly 5 m s −1 .

Relative humidity
As mentioned in the previous section, the HTU21D sensor failed in month 6 of the deployment but was able to measure a broad range of relative humidity values from 11 % to 100 % (Fig. 7). Corrections were applied using a manufacturersupplied temperature coefficient compensation equation with a temperature coefficient of −0.15 % RH • C −1 (Measurement Specialties Inc., 2013). Values above 100 % were set to 100 %, following the Mesonet practice (Oklahoma Mesonet, 2020b). RMSE for the entire campaign was 3.33 %, indicating a slight moist bias with the low-cost sensor. Prior to applying the manufacturer correction, the overall RMSE was 5.00 %. HTU21D sensor specifications indicate that uncertainties are larger for relative humidity measurements greater than 80 % (Table 1). However, there was little change in the RMSE (0.09 %) when data above and below this limit were excluded from the analysis. When this limit was lowered to   50 %, relative humidity values over 50 % had an RMSE of 3.44 % compared to 2.42 % under 50 %. Unlike the RMSE of temperature, the relative humidity RMSE was relatively constant with increasing wind speed thresholds (Table 5). A polytetrafluoroethylene (PTFE) filter covered the sensor to keep it clean and appeared to have some staining when the sensor was uninstalled from the station. The filter itself was hydrophobic, but it is possible that the accumulated dust on it was not. Overall, the observed errors between the systems were comparable to the sensor accuracy across relative humidity values.

Atmospheric pressure
The initial BMP280 pressure sensor deployed with the station had large errors when compared to the Mesonet. A replacement sensor was installed but suffered from commu- The date indicated in the first row is the start date of the period used in the analysis.   nication problems owing to bad wire connections and was moved from the radiation shield to the Raspberry Pi box.
The assumption was that there would be minimal difference in pressure measurements due to the openness of the PVC frame and that the connection to the radiation shield would allow for proper airflow for atmospheric pressure measurements. Temperature in the box varied but did not appear to greatly affect the measurements, as the RMSE of the pressure was fairly constant for the entire deployment with an overall RMSE of 2.39 hPa (Table 4). There was very little deviation in the measurements, and it appears that the BMP280 sensor has a nearly constant offset when compared to the Mesonet (Fig. 8).

Wind speed
In order to properly compare the 10 m Mesonet wind speeds to the 3D-printed station 2 m winds, a logarithmic wind profile was assumed and the 10 m Mesonet winds were adjusted based on the method from Allen et al. (1998). The resulting conversion factor, 0.748, was applied to the Mesonet wind speed data. Performance over the first 3 months was comparable to the Mesonet station with an RMSE between 0.56 and 0.59 m s −1 (Table 4). RMSE slowly increased over the course of the deployment, which could be attributed to accumulation of dust on the bearing as there was not a procedure in place to routinely clean or oil it. There was a substantial increase in     The first factor is the reduced infill used to print the parts in order to save time, which would have weakened the overall strength of the components. The second factor is how the anemometer was built. Initially the anemometer had a large amount of wobble. This wobble was greatly reduced before deployment but not completely eliminated and could have further added to the strain on the driveshaft.

Wind direction
Throughout the deployment, the wind vane tended to stick in certain directions, most notably around 0 • (Fig. 10). Efforts were taken to reduce the sticking by applying lubricant, but it proved to be an issue for the extent of the deployment. In order to reduce the impact of this known problem on the analysis, wind directions within 1 • of north were excluded from the analysis for both stations. Additionally, the period during which the anemometer was problematic, as previously mentioned, was excluded from the wind rose plots for both stations (Fig. 10). The 3D-printed wind vane was held in place by a 3D-printed clamp and bolt that routinely loosened over time. This caused the orientation to drift throughout the entire deployment, which resulted in varying offsets in the data. The alignment was checked and adjusted with each maintenance visit but proved to only be a temporary fix. This drift is noticeable in Fig. 10 when comparing the dominant wind direction. Disregarding the erroneous northerly spike in the 3D-printed station data, there is a roughly 10 • offset in the dominant wind direction. While there was agreement in wind directions at times, the RMSE was large and the correlation coefficient was relatively low for a majority of the campaign (Table 4). In addition to the data quality issues already noted, small grooves in the wind vane, a by-product of the 3Dprinting process, created an ideal location for insects to lay large numbers of eggs, which could have impacted measurements in the latter months of the deployment.

Solar radiation
The Mesonet measured downwelling global solar radiation and the UV sensor measured counts of visible and infrared light in order to calculate a UV index. It was discovered that similar UV sensors from other manufacturers provided coefficients for calculating lux from their sensors, which could then be converted to watts per square meter (W m −2 ). However, no such coefficients were found for the SI1145 sensor. There was a linear correlation between the downwelling global measurements and the visible counts (Fig. 11), so a simple linear regression was performed to determine the slope (0.70) and intercept (170.66) of the data for the entire deployment. These values were applied to the count data to make them comparable with the Mesonet measurements. The SI1145 UV sensor had a high bias for the initial few months of the deployment and a low bias for the latter months. The sensor was difficult to keep perfectly level and was routinely adjusted during maintenance visits. The plastic disk held up to the elements, but the glue used to seal it yellowed over time (Fig. 1). 3D-printed connectors routinely lost physical connection to the UV sensor, resulting in intermittent outages throughout the deployment. The levelness of the sensors, yellowing of the glue, and intermittent outages contributed to the changes observed in RMSE throughout the deployment (Table 4).

Precipitation
Efforts to increase the sturdiness of the rain gauge funnel failed, as the funnel broke off at the neck on the initial installation. A thick layer of silicone caulk was applied to the break, while ensuring that the opening remained clear. The funnel was planned to be replaced upon failure; however, that failure did not occur. The 3D-printed rain gauge performed surprisingly well early on in the deployment compared to the Mesonet (Figs. 12 and 13). Daily accumulation and rain rates compared well with the Mesonet for the first few months (Table 4). The 3D-printed rain gauge performed very well during a heavy precipitation event in month 5, measuring a maximum rain rate of 103.2 mm h −1 compared with the Mesonet maximum rain rate of 103.7 mm h −1 (Table 6). A very poor correlation coefficient and low RMSE in month 6 can be attributed to the limited precipitation recorded for that period of time, with a maximum accumulation of 2.2 mm during that period. The rain gauge tended towards a high bias in months 7 and 8, the cause of which is unknown but assumed to be related to its subsequent failure. The nut holding the rain gauge loosened towards the end of the deployment and eventually the wiring disconnected, resulting in a number of missed events. Neither the Mesonet nor the 3D-printed rain gauge was heated, so the differences in precipitation measured during solid precipitation events could be attributed to different melt rates between the gauges. The rain gauge was printed with gray filament due to limited supplies of the white ASA filament and was more exposed to the environment than the Mesonet gauge, both of which could contribute to different melt rates.

Conclusions
While the sensors used as a reference were not up to WMO standards, they were very well maintained and characterized, leading to high confidence in the reference measurements and results. Though there were a number of differences in the  Figure 13. Comparison of precipitation rates for the 3D-printed tipping bucket rain gauge using a Hall effect sensor (x) and the Oklahoma Mesonet (y) for the entire deployment, color-coded by time.
The one-to-one reference line (blue dashed) and linear regression line (black solid) are overlaid. physical deployment of the systems, the temperature, relative humidity, atmospheric pressure, wind speed, and precipitation sensors all performed reasonably well for a majority of the campaign, with relatively lower RMSE and higher correlation coefficients observed in comparisons with the Mesonet system. Decreasing RMSE for temperature with increasing wind speeds reveals the effect of the different types of radiation shields. The addition of a miniature 5 V fan to the radiation shield to increase airflow could improve the overall temperature and relative humidity measurements but would add additional strain to the system if operating remotely on solar and battery power. Wind measurements were taken at two different heights, with the Mesonet wind speed adjusted using an assumption that the wind profile was logarithmic. This assumption may not hold in more complicated terrain in which these systems are sometimes deployed. Additional work is need to determine the feasibility of deploying wind sensors at 10 m as it would put added stress on the frame and potentially increase the risk of failure to the entire system. Disappointing results from the wind vane can be attributed to the bearing but also indicate that a more robust solution is needed to ensure the sensor stays oriented with true north. While comparisons from the solar radiation sensors were generally positive, it was not a one-to-one comparison and a definitive conclusion cannot be derived. Depending on the needs of the project, different lux or even spectral sensors could be deployed in place of the UV sensor. Additionally, a convex lens could be utilized as an alternative to the flat top in order to provide better measurements off-zenith.
As previously mentioned, some of the 3D-printed components failed (anemometer, rain gauge funnel) or routinely disconnected (UV sensor), but overall the components and the frame held up well to the environmental stresses. The decision to reduce the print quality by decreasing the infill did have a negative impact on some of the components, but in general, the majority performed as expected. Water intruded into the PVC crossarm through the physical connectors between the 3D-printed parts and the PVC frame. Applying silicone to these areas and drilling holes in the PVC frame alleviated water intrusion and accumulation. Holes were initially drilled into the elbow leading into the Raspberry Pi box to prevent water intrusion and worked as expected. In order to account for the additional temperature sensor in the Raspberry Pi box and the eventual relocation of the pressure sensor there as well, block connectors were utilized to simplify connections. These block connectors could easily replace the 3D-printed common rail assemblies in order to reduce the assembly time and ensure more reliable connections. The frame and sensor housings that made it to the end Overall, the results are positive and indicate that many of these low-cost sensors and the 3D-printed housings can be viable options for gathering meteorological data for shortterm deployments (approximately 6 months) when the cost of commercial sensors is prohibitive. Long-term deployments would require routine maintenance and replacement of the sensors and 3D-printed components to ensure accurate readings and avoid failures. Comparative studies, such as this, will improve the understanding of how well these low-cost sensors can perform, their longevity in the field, and the long-term resource requirements and maintenance schedules for these types of systems. Capabilities in the area of lowcost sensors are constantly expanding, as are the possibilities for new advancements with other measurements. Subsurface, spectral solar radiation, and aerosol measurements are examples of areas that could benefit from the broader use of lowcost sensors. However, in order to enable wider adoption of these technologies, they must be vetted by the community to ensure that the measurements they provide are comparable to those of industry standard sensors.

Appendix A: Reference instrumentation
The type and configuration of the sensors used as a reference for the 3D-PAWS comparison studies have varied. This Appendix is to document the reference sensors of previous studies and the configurations of those systems if known. (2019) Smallwood and Santarsiero (2019) used an AcuRite Pro model 01024 all-in-one weather station as a reference station. Documentation indicates that barometric pressure is measured but does not list the accuracy of the measurement (Acu-Rite, 2019). The sensor uses a cup and vane to measure wind speed and direction but is also only capable of measuring 16 points of wind direction, which is why accuracy was left out of Table 3.

A3 Kucera and Steinson (2017) NCAR test bed
The NCAR Marshall Field Site used in Kucera and Steinson (2017) housed a variety of sensors. Temperature and humidity were measured with a Campbell Scientific 500 Series Sensor. The NCAR field site website points to a Campbell Scientific HC2S3-L probe being used, and the accuracy specifications from that sensor were used (Campbell Scientific Inc., 2020). Atmospheric pressure was measured using a Vaisala PTB101B (Campbell Scientific Inc., 2017). Wind speed and direction were measured using an R. M. Young propeller and vane (R.M. Young Company, 2020). The precipitation reference sensor was a Geonor T-200B weighing bucket rain gauge (Geonor, 2010).

A4 Kucera and Steinson (2017) NOAA test bed
The sensors used as reference sensors at the NOAA test bed of the Kucera and Steinson (2017) study were slightly different from the NCAR Marshall Field Site. Temperature and humidity were measured using a Technical Services Laboratory, Inc. Hygrothermometer model 1088 (Technical Services Laboratory Inc., 2018). The vendor information provided accuracy results for the temperature, but the accuracy of the relative humidity measurements was not given. It is unclear if the accuracy of the system given for temperature is the same accuracy of the dew point temperature measurements. The uncertainty of the dew point measurements was found in an Atmospheric Radiation Measurement Program METTWR handbook (Ritsche, 2006). The accuracy of the barometer was difficult to determine, and information was found in a General Service Administration (GSA) schedule (Campbell Scientific Inc., 2017). Wind speed and direction were measured using a Vaisala WS524 ultrasonic wind sensor (Vaisala, 2010). Precipitation was measured using the OTT all-weather precipitation accumulation weighing bucket gauge (White et al., 2004).
Author contributions. AT oversaw the general project, sensor testing, and troubleshooting while at CIMMS. Final analysis of the data and development of the paper were performed by AT at Argonne National Laboratory. MU and BS were heavily involved throughout the life cycle of the project. They printed the components, developed the frame, built the wiring harnesses, assembled the weather station, performed site checks, and resolved problems while in the field. BGI provided insight and direction for deploying the instrument at the Mesonet site and general recommendations for the project.
Competing interests. The co-PI of the 3D-PAWS initiative, Paul Kucera, was an advisor to Adam Theisen as an undergraduate student at the University of North Dakota.