Validation Table

The Validation Table is crucial when validating the simulated Results to the measured samples. ARTMO requires this Table for the LUT. It requires to have the first Line(s) containing the measured value you want to model (e.g. LAI, Angle, Chlorophyll etc). The following rows are then reserved for the Spectral signatures. The exact location of the spectral information as well as the measured variable is specified in ARTMO.

Assuming that you have a tidy dataframe as the following:

artmo
## # A tibble: 126 x 16
##    Station OP1   Date         LAI   MTA Sunzenith S.Band_1 S.Band_2
##    <chr>   <chr> <date>     <dbl> <dbl>     <dbl>    <dbl>    <dbl>
##  1 Domef1~ ID1   2017-05-17  2.13  79.1      28.6   0.0204   0.0494
##  2 Domef1~ ID2   2017-05-17  2.12  83.5      28.6   0.0188   0.0492
##  3 Domef1~ ID3   2017-05-17  2.51  79.9      28.6   0.0188   0.0492
##  4 Domef1~ ID4   2017-05-17  1.71  86.8      28.6   0.0219   0.0518
##  5 Domef1~ ID2   2017-05-24  3.14  67.1      26.9   0.0189   0.047 
##  6 Domef1~ ID3   2017-05-24  2.22  76.4      26.9   0.0189   0.047 
##  7 Domef1~ ID4   2017-05-24  3.79  61.3      26.9   0.0294   0.0679
##  8 Domef1~ ID2   2017-05-31  3.69  63.7      27.1   0.0119   0.0592
##  9 Domef1~ ID3   2017-05-31  3.04  69.3      27.1   0.0112   0.0604
## 10 Domef1~ ID4   2017-05-31  4.96  59.8      27.1   0.0129   0.0545
## # ... with 116 more rows, and 8 more variables: S.Band_3 <dbl>,
## #   S.Band_4 <dbl>, S.Band_5 <dbl>, S.Band_6 <dbl>, S.Band_7 <dbl>,
## #   S.Band_8 <dbl>, S.Band_9 <dbl>, S.Band_10 <dbl>

with the following columns:
* Station and OP1 are spatial locations and sub location
* Date the Date of the acquisition
* LAI, MTA, Sunzenith the variables for the Model
* The following columns contain the reflectance value as detected by Sentinel-2 sensors with the Prefix S_Band_.

The measured Variables in this case are LAI, MTA and the solar zenith angle. The response are the reflectance values as collected by Sentinel-2 MSI. In order to retain the proper format we have to apply the following code reducing and reversing the Code.

artmo1<-artmo %>% 
  group_by(Station,Date,OP1) %>% 
  nest

cnames<-artmo1$data[[1]] %>% colnames

artmo2<- map(artmo1$data,t) 
artmo3<- do.call(cbind,artmo2)
artmo4<- cbind(cnames,artmo3) %>% as_tibble

print(artmo4)
## # A tibble: 13 x 127
##    cnames V2    V3    V4    V5    V6    V7    V8    V9    V10   V11   V12  
##    <chr>  <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
##  1 LAI    2.127 2.11~ 2.507 1.70~ 3.14~ 2.219 3.79~ 3.694 3.042 4.965 4.845
##  2 MTA    79.1~ 83.5~ 79.9~ 86.7~ 67.1~ 76.3~ 61.3~ 63.71 69.3~ 59.78 57.59
##  3 Sunze~ 28.6~ 28.6~ 28.6~ 28.6~ 26.9~ 26.9~ 26.9~ 27.1~ 27.1~ 27.1~ 27.1~
##  4 S.Ban~ 0.02~ 0.01~ 0.01~ 0.02~ 0.01~ 0.01~ 0.02~ 0.01~ 0.01~ 0.01~ 0.01 
##  5 S.Ban~ 0.04~ 0.04~ 0.04~ 0.05~ 0.047 0.047 0.06~ 0.05~ 0.06~ 0.05~ 0.05~
##  6 S.Ban~ 0.02~ 0.02~ 0.02~ 0.02~ 0.01~ 0.01~ 0.02~ 0.02~ 0.02~ 0.02~ 0.02~
##  7 S.Ban~ 0.11~ 0.09~ 0.09~ 0.10~ 0.10~ 0.10~ 0.10~ 0.10~ 0.10~ 0.10~ 0.10~
##  8 S.Ban~ 0.34~ 0.34~ 0.34~ 0.33~ 0.35~ 0.35~ 0.35~ 0.41~ 0.41~ 0.41~ 0.41~
##  9 S.Ban~ 0.41~ 0.41~ 0.41~ 0.42~ 0.45~ 0.45~ 0.45~ 0.527 0.527 0.527 0.527
## 10 S.Ban~ 0.44~ 0.45~ 0.45~ 0.44~ 0.49~ 0.49~ 0.497 0.553 0.55~ 0.54~ 0.54~
## 11 S.Ban~ 0.44~ 0.45~ 0.45~ 0.45~ 0.46~ 0.46~ 0.46~ 0.53~ 0.53~ 0.53~ 0.53~
## 12 S.Ban~ 0.181 0.18~ 0.18~ 0.185 0.17~ 0.17~ 0.17~ 0.18~ 0.18~ 0.18~ 0.18~
## 13 S.Ban~ 0.08~ 0.07~ 0.07~ 0.08~ 0.08~ 0.08~ 0.08~ 0.09~ 0.09~ 0.09~ 0.09~
## # ... with 115 more variables: V13 <chr>, V14 <chr>, V15 <chr>, V16 <chr>,
## #   V17 <chr>, V18 <chr>, V19 <chr>, V20 <chr>, V21 <chr>, V22 <chr>,
## #   V23 <chr>, V24 <chr>, V25 <chr>, V26 <chr>, V27 <chr>, V28 <chr>,
## #   V29 <chr>, V30 <chr>, V31 <chr>, V32 <chr>, V33 <chr>, V34 <chr>,
## #   V35 <chr>, V36 <chr>, V37 <chr>, V38 <chr>, V39 <chr>, V40 <chr>,
## #   V41 <chr>, V42 <chr>, V43 <chr>, V44 <chr>, V45 <chr>, V46 <chr>,
## #   V47 <chr>, V48 <chr>, V49 <chr>, V50 <chr>, V51 <chr>, V52 <chr>,
## #   V53 <chr>, V54 <chr>, V55 <chr>, V56 <chr>, V57 <chr>, V58 <chr>,
## #   V59 <chr>, V60 <chr>, V61 <chr>, V62 <chr>, V63 <chr>, V64 <chr>,
## #   V65 <chr>, V66 <chr>, V67 <chr>, V68 <chr>, V69 <chr>, V70 <chr>,
## #   V71 <chr>, V72 <chr>, V73 <chr>, V74 <chr>, V75 <chr>, V76 <chr>,
## #   V77 <chr>, V78 <chr>, V79 <chr>, V80 <chr>, V81 <chr>, V82 <chr>,
## #   V83 <chr>, V84 <chr>, V85 <chr>, V86 <chr>, V87 <chr>, V88 <chr>,
## #   V89 <chr>, V90 <chr>, V91 <chr>, V92 <chr>, V93 <chr>, V94 <chr>,
## #   V95 <chr>, V96 <chr>, V97 <chr>, V98 <chr>, V99 <chr>, V100 <chr>,
## #   V101 <chr>, V102 <chr>, V103 <chr>, V104 <chr>, V105 <chr>,
## #   V106 <chr>, V107 <chr>, V108 <chr>, V109 <chr>, V110 <chr>,
## #   V111 <chr>, V112 <chr>, ...