Skip to contents

To begin, we’ll load foqat.

Calculate TUV in batch online

TUV models are available in both online and offline versions, but both require running on a daily basis (i.e., resetting parameters every day of the run).

tuv_batch() runs the online batch TUV by reading a time series of the proposed input parameters and their values, and aggregates the results to a new data frame.

tuv_batch() automates the online TUV calculation (https://www.acom.ucar.edu/Models/TUV/Interactive_TUV/).

Four output modes are supported:
Output mode 2: Molecular photolysis frequencies (109 photoreactions). Molecular photolysis frequencies (109 photoreactions).
Output mode 3: Weighted irradiance (27 weighting functions).
Output mode 4: Spectral actinic flux.
Output mode 5: Spectral irradiance.

#Examples.
#output molecular photolysis frequency (109 light reactions)
#Time range: March 1, 2021
#Resolution: hour
#Ground elevation 1 km
#Measured altitude 1.05 km
#Longitude 109.747144 °
#latitude 38.298267 °
#Ozone column concentration 306 DU

df=data.frame(
  time=seq(as.POSIXct("2021-03-01 00:00:00",tz="GMT"), as.POSIXct("2021-03-01 3:00:00",tz="GMT"), by="hour"), 
  gAltitude=rep(1, 4), 
  mAltitude=rep(1.05, 4),
  longitude=rep(109.747144, 4),
  latitude=rep(38.298267, 4),
  ozone=rep(306, 4)
)
tuv_df=tuv_batch(df, inputMode=0, outputMode=2, nStreams=-2)
#> [1] "Running TUV on the inputs:"
#> 
  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |==============                                                        |  20%
  |                                                                            
  |============================                                          |  40%
  |                                                                            
  |==========================================                            |  60%
  |                                                                            
  |========================================================              |  80%
  |                                                                            
  |======================================================================| 100%
#Show columns 1 to 3
head(tuv_df[,1:3])
#>   time PHOTOLYSIS RATES    1 O2 -> O + O                              
#> 1    0            1/sec                                      0.000E+00
#> 2    1            1/sec                                      0.000E+00
#> 3    2            1/sec                                      0.000E+00
#> 4    3            1/sec                                      0.000E+00