1. loading packages
```r
library(plyr)
library(ggplot2)
library(gganimate)
library(gifski)
library(anytime)
library(scales)
library(png)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->


2. loading data

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuYTAuYSA9IHJlYWQuY3N2KFxcUFBDYTAuY3N2XFwsIGhlYWRlciA9IFQpXG5hMC5iID0gcmVhZC5jc3YoXFxQUENiMC5jc3ZcXCwgaGVhZGVyID0gVClcbmEwID0gZGF0YS5mcmFtZSgnRGF0ZVRpbWUnID0gYTAuYSREYXRlVGltZSwgJ1RlbXAnID0gKGEwLmEkVGVtcCArIGEwLmIkVGVtcCkvMiwgZ3JvdXAgPSByZXAoJ2FpcicsNTc3KSlcblxuczMuYSA9IHJlYWQuY3N2KFxcUFBDYTMuY3N2XFwsIGhlYWRlciA9IFQpXG5zMy5iID0gcmVhZC5jc3YoXFxQUENiMy5jc3ZcXCwgaGVhZGVyID0gVClcbnMzID0gZGF0YS5mcmFtZSgnRGF0ZVRpbWUnID0gczMuYSREYXRlVGltZSwgJ1RlbXAnID0gKHMzLmEkVGVtcCArIHMzLmIkVGVtcCkvMiwgZ3JvdXAgPSByZXAoJ3NlZGltZW50XzNjbScsNTc3KSlcblxuc2hlbHRlcnMudCA9IHJiaW5kLmZpbGwoYTAsIHMzKVxuXG5gYGBcbmBgYCJ9 -->

```r
```r
a0.a = read.csv(\PPCa0.csv\, header = T)
a0.b = read.csv(\PPCb0.csv\, header = T)
a0 = data.frame('DateTime' = a0.a$DateTime, 'Temp' = (a0.a$Temp + a0.b$Temp)/2, group = rep('air',577))

s3.a = read.csv(\PPCa3.csv\, header = T)
s3.b = read.csv(\PPCb3.csv\, header = T)
s3 = data.frame('DateTime' = s3.a$DateTime, 'Temp' = (s3.a$Temp + s3.b$Temp)/2, group = rep('sediment_3cm',577))

shelters.t = rbind.fill(a0, s3)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->


3. define time

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuIyBkZWZpbmUgdGltZVxuZGF0ZXRpbWUgPXNlcS5QT1NJWHQoYXMuUE9TSVhjdChcXDIwMjAtOC03IDE3OjA6MFxcKSwgYXMuUE9TSVhjdChcXDIwMjAtOC0xMyAxNzowOjBcXCksIGJ5ID0gXFwxNSBtaW5cXCwgdHo9XFxFdXJvcGUvQmVybGluXFwpXG5kYXRldGltZV9wb3NpeCA9IGRhdGEuZnJhbWUocmVwKGRhdGV0aW1lLDIpKVxuc2hlbHRlcnMudCREYXRlVGltZSA9IGRhdGV0aW1lX3Bvc2l4WywxXVxuXG5gYGBcbmBgYCJ9 -->

```r
```r
# define time
datetime =seq.POSIXt(as.POSIXct(\2020-8-7 17:0:0\), as.POSIXct(\2020-8-13 17:0:0\), by = \15 min\, tz=\Europe/Berlin\)
datetime_posix = data.frame(rep(datetime,2))
shelters.t$DateTime = datetime_posix[,1]

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->


4. loading inundation time

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxucmVjdF9yYW5nZSA9IHJlYWQuY3N2KCd0ZXJuX3JlY3QuY3N2JywgaGVhZGVyID0gVClcbnJlY3RfcmFuZ2Ukc3RhcnQgPSBhcy5QT1NJWGN0KHJlY3RfcmFuZ2Ukc3RhcnQsIHR6ID0gXFxFdXJvcGUvQmVybGluXFwsIGZvcm1hdCA9IFxcJW0vJWQvJVkgJUg6JU1cXClcbnJlY3RfcmFuZ2UkZW5kID0gYXMuUE9TSVhjdChyZWN0X3JhbmdlJGVuZCwgdHogPSBcXEV1cm9wZS9CZXJsaW5cXCwgZm9ybWF0ID0gXFwlbS8lZC8lWSAlSDolTVxcKVxuXG5gYGBcbmBgYCJ9 -->

```r
```r
rect_range = read.csv('tern_rect.csv', header = T)
rect_range$start = as.POSIXct(rect_range$start, tz = \Europe/Berlin\, format = \%m/%d/%Y %H:%M\)
rect_range$end = as.POSIXct(rect_range$end, tz = \Europe/Berlin\, format = \%m/%d/%Y %H:%M\)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->


5. making plots

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuZmlsdGVyMSA9IHNoZWx0ZXJzLnQkRGF0ZVRpbWUgPD0gYXMuUE9TSVhjdChcXDIwMjAtMDgtMTMgMTc6MDA6MDBcXClcbnNoZWx0ZXJzLnQgPSBzaGVsdGVycy50W2ZpbHRlcjEsIF1cblxuZmlsdGVyMiA9IHJlY3RfcmFuZ2Ukc3RhcnQgPD0gYXMuUE9TSVhjdChcXDIwMjAtMDgtMTMgMTc6MDA6MDBcXClcbnJlY3RfcmFuZ2UgPSByZWN0X3JhbmdlW2ZpbHRlcjIsIF1cblxucC5zaGVsdGVycyA9IGdncGxvdChzaGVsdGVycy50LCBhZXMoRGF0ZVRpbWUsIFRlbXAsIGdyb3VwID0gZ3JvdXApKSArIFxuICBnZW9tX3JlY3QoZGF0YSA9IHJlY3RfcmFuZ2UsIG1hcHBpbmc9YWVzKHhtaW4gPSBzdGFydCx4bWF4ID0gZW5kLHltaW4gPSAtSW5mLCB5bWF4ID0gSW5mKSwgXG4gICAgICAgICAgICBmaWxsID0gXFwjMzM5OUZGXFwsIGNvbG9yID0gJ05BJywgYWxwaGEgPSAwLjIsaW5oZXJpdC5hZXMgPSBGQUxTRSkgK1xuICBnZW9tX2xpbmUoYWVzKGNvbG9yPWdyb3VwKSxzaXplID0gMS4yKSArIFxuICBsYWJzKHggPSBcXERhdGUgYW5kIHRpbWVcXCwgeSA9IGV4cHJlc3Npb24oYm9sZCgnVGVtcGVyYXR1cmUnKn5kZWdyZWUqQykpKStcbiAgdGhlbWUocGxvdC5tYXJnaW4gPSBtYXJnaW4oMSwgMzAsIDEsIDAuNSkpK1xuICB0aGVtZShsZWdlbmQucG9zaXRpb249XFxib3R0b21cXCkrXG4gIHNjYWxlX3lfY29udGludW91cyhsaW1pdHMgPSBjKDE1LCA0MCkpICtcbiAgc2NhbGVfeF9kYXRldGltZShsYWJlbHMgPSBkYXRlX2Zvcm1hdChcXCVtLyVkLyV5XFwpLCBcbiAgICAgICAgICAgICAgICAgICBicmVha3MgPSBkYXRlX2JyZWFrcyhcXDEgZGF5XFwpKSArXG4gIHNjYWxlX2NvbG9yX21hbnVhbChuYW1lPVxcTWVhc3VyZW1lbnRzXFwsIFxuICAgICAgICAgICAgICAgICAgICAgYnJlYWtzPWMoJ2FpcicsICdzZWRpbWVudF8zY20nKSxcbiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1jKFxcI0ZGMDAzM1xcLCBcXCM5OTY2MzNcXCksXG4gICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSBjKCdBaXIgdGVtcGVyYXR1cmUnLCAnU2VkaW1lbnQgdGVtcGVyYXR1cmUgKDMgY20gZGVwdGgpJykpK1xuICB0aGVtZShcbiAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGNvbG9yID0gXFxibHVlXFwsIHNpemUgPSAxMywgZmFjZSA9IFxcYm9sZFxcLCBoanVzdCA9IDAuNSksXG4gICAgcGFuZWwuYmFja2dyb3VuZCA9IGVsZW1lbnRfYmxhbmsoKSxcbiAgICBwYW5lbC5ib3JkZXIgPSBlbGVtZW50X3JlY3QoY29sb3IgPSBcXGJsYWNrXFwsIGZpbGw9TkEsIHNpemU9MiksXG4gICAgbGVnZW5kLnBvc2l0aW9uID0gJ2JvdHRvbScsIFxuICAgIGxlZ2VuZC50aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplPTExLCBmYWNlPVxcYm9sZFxcLCBjb2xvciA9IFxcYmxhY2tcXCksIFxuICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTAsIGZhY2U9XFxib2xkXFwpLFxuICAgIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIsIGZhY2U9XFxib2xkXFwpLFxuICAgIGF4aXMudGl0bGUueSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIsIGZhY2U9XFxib2xkXFwpLFxuICAgIGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KHNpemUgPSAxMCwgZmFjZT1cXGJvbGRcXCksXG4gICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEwLCBmYWNlPVxcYm9sZFxcKSkrXG4gIGd1aWRlcyhjb2xvciA9IGd1aWRlX2xlZ2VuZChvdmVycmlkZS5hZXMgPSBsaXN0KHNpemUgPSAxLjUpKSlcblxucC5zaGVsdGVyc1xuXG5nZ3NhdmUoXFxwcF9zaGVsdGVycy5wbmdcXCwgcC5zaGVsdGVycywgdW5pdHMgPSAnaW4nLCB3aWR0aCA9IDEwLCBoZWlnaHQgPSA0KVxuXG5gYGBcbmBgYCJ9 -->

```r
```r
filter1 = shelters.t$DateTime <= as.POSIXct(\2020-08-13 17:00:00\)
shelters.t = shelters.t[filter1, ]

filter2 = rect_range$start <= as.POSIXct(\2020-08-13 17:00:00\)
rect_range = rect_range[filter2, ]

p.shelters = ggplot(shelters.t, aes(DateTime, Temp, group = group)) + 
  geom_rect(data = rect_range, mapping=aes(xmin = start,xmax = end,ymin = -Inf, ymax = Inf), 
            fill = \#3399FF\, color = 'NA', alpha = 0.2,inherit.aes = FALSE) +
  geom_line(aes(color=group),size = 1.2) + 
  labs(x = \Date and time\, y = expression(bold('Temperature'*~degree*C)))+
  theme(plot.margin = margin(1, 30, 1, 0.5))+
  theme(legend.position=\bottom\)+
  scale_y_continuous(limits = c(15, 40)) +
  scale_x_datetime(labels = date_format(\%m/%d/%y\), 
                   breaks = date_breaks(\1 day\)) +
  scale_color_manual(name=\Measurements\, 
                     breaks=c('air', 'sediment_3cm'),
                     values=c(\#FF0033\, \#996633\),
                     labels = c('Air temperature', 'Sediment temperature (3 cm depth)'))+
  theme(
    plot.title = element_text(color = \blue\, size = 13, face = \bold\, hjust = 0.5),
    panel.background = element_blank(),
    panel.border = element_rect(color = \black\, fill=NA, size=2),
    legend.position = 'bottom', 
    legend.title = element_text(size=11, face=\bold\, color = \black\), 
    legend.text = element_text(size=10, face=\bold\),
    axis.title.x = element_text(size = 12, face=\bold\),
    axis.title.y = element_text(size = 12, face=\bold\),
    axis.text.x = element_text(size = 10, face=\bold\),
    axis.text.y = element_text(size = 10, face=\bold\))+
  guides(color = guide_legend(override.aes = list(size = 1.5)))

p.shelters

ggsave(\pp_shelters.png\, p.shelters, units = 'in', width = 10, height = 4)

```

LS0tCnRpdGxlOiAiZGF0YSBhbmFseXNpcyBhbmQgcGxvdHRpbmciCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCjEuIGxvYWRpbmcgcGFja2FnZXMKYGBge3J9CmxpYnJhcnkocGx5cikKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGdnYW5pbWF0ZSkKbGlicmFyeShnaWZza2kpCmxpYnJhcnkoYW55dGltZSkKbGlicmFyeShzY2FsZXMpCmxpYnJhcnkocG5nKQoKYGBgCgoyLiBsb2FkaW5nIGRhdGEKYGBge3J9CmEwLmEgPSByZWFkLmNzdigiUFBDYTAuY3N2IiwgaGVhZGVyID0gVCkKYTAuYiA9IHJlYWQuY3N2KCJQUENiMC5jc3YiLCBoZWFkZXIgPSBUKQphMCA9IGRhdGEuZnJhbWUoJ0RhdGVUaW1lJyA9IGEwLmEkRGF0ZVRpbWUsICdUZW1wJyA9IChhMC5hJFRlbXAgKyBhMC5iJFRlbXApLzIsIGdyb3VwID0gcmVwKCdhaXInLDU3NykpCgpzMy5hID0gcmVhZC5jc3YoIlBQQ2EzLmNzdiIsIGhlYWRlciA9IFQpCnMzLmIgPSByZWFkLmNzdigiUFBDYjMuY3N2IiwgaGVhZGVyID0gVCkKczMgPSBkYXRhLmZyYW1lKCdEYXRlVGltZScgPSBzMy5hJERhdGVUaW1lLCAnVGVtcCcgPSAoczMuYSRUZW1wICsgczMuYiRUZW1wKS8yLCBncm91cCA9IHJlcCgnc2VkaW1lbnRfM2NtJyw1NzcpKQoKc2hlbHRlcnMudCA9IHJiaW5kLmZpbGwoYTAsIHMzKQoKYGBgCgozLiBkZWZpbmUgdGltZQpgYGB7cn0KIyBkZWZpbmUgdGltZQpkYXRldGltZSA9c2VxLlBPU0lYdChhcy5QT1NJWGN0KCIyMDIwLTgtNyAxNzowOjAiKSwgYXMuUE9TSVhjdCgiMjAyMC04LTEzIDE3OjA6MCIpLCBieSA9ICIxNSBtaW4iLCB0ej0iRXVyb3BlL0JlcmxpbiIpCmRhdGV0aW1lX3Bvc2l4ID0gZGF0YS5mcmFtZShyZXAoZGF0ZXRpbWUsMikpCnNoZWx0ZXJzLnQkRGF0ZVRpbWUgPSBkYXRldGltZV9wb3NpeFssMV0KCmBgYAoKNC4gbG9hZGluZyBpbnVuZGF0aW9uIHRpbWUKYGBge3J9CnJlY3RfcmFuZ2UgPSByZWFkLmNzdigndGVybl9yZWN0LmNzdicsIGhlYWRlciA9IFQpCnJlY3RfcmFuZ2Ukc3RhcnQgPSBhcy5QT1NJWGN0KHJlY3RfcmFuZ2Ukc3RhcnQsIHR6ID0gIkV1cm9wZS9CZXJsaW4iLCBmb3JtYXQgPSAiJW0vJWQvJVkgJUg6JU0iKQpyZWN0X3JhbmdlJGVuZCA9IGFzLlBPU0lYY3QocmVjdF9yYW5nZSRlbmQsIHR6ID0gIkV1cm9wZS9CZXJsaW4iLCBmb3JtYXQgPSAiJW0vJWQvJVkgJUg6JU0iKQoKYGBgCgo1LiBtYWtpbmcgcGxvdHMKYGBge3J9CmZpbHRlcjEgPSBzaGVsdGVycy50JERhdGVUaW1lIDw9IGFzLlBPU0lYY3QoIjIwMjAtMDgtMTMgMTc6MDA6MDAiKQpzaGVsdGVycy50ID0gc2hlbHRlcnMudFtmaWx0ZXIxLCBdCgpmaWx0ZXIyID0gcmVjdF9yYW5nZSRzdGFydCA8PSBhcy5QT1NJWGN0KCIyMDIwLTA4LTEzIDE3OjAwOjAwIikKcmVjdF9yYW5nZSA9IHJlY3RfcmFuZ2VbZmlsdGVyMiwgXQoKcC5zaGVsdGVycyA9IGdncGxvdChzaGVsdGVycy50LCBhZXMoRGF0ZVRpbWUsIFRlbXAsIGdyb3VwID0gZ3JvdXApKSArIAogIGdlb21fcmVjdChkYXRhID0gcmVjdF9yYW5nZSwgbWFwcGluZz1hZXMoeG1pbiA9IHN0YXJ0LHhtYXggPSBlbmQseW1pbiA9IC1JbmYsIHltYXggPSBJbmYpLCAKICAgICAgICAgICAgZmlsbCA9ICIjMzM5OUZGIiwgY29sb3IgPSAnTkEnLCBhbHBoYSA9IDAuMixpbmhlcml0LmFlcyA9IEZBTFNFKSArCiAgZ2VvbV9saW5lKGFlcyhjb2xvcj1ncm91cCksc2l6ZSA9IDEuMikgKyAKICBsYWJzKHggPSAiRGF0ZSBhbmQgdGltZSIsIHkgPSBleHByZXNzaW9uKGJvbGQoJ1RlbXBlcmF0dXJlJyp+ZGVncmVlKkMpKSkrCiAgdGhlbWUocGxvdC5tYXJnaW4gPSBtYXJnaW4oMSwgMzAsIDEsIDAuNSkpKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0iYm90dG9tIikrCiAgc2NhbGVfeV9jb250aW51b3VzKGxpbWl0cyA9IGMoMTUsIDQwKSkgKwogIHNjYWxlX3hfZGF0ZXRpbWUobGFiZWxzID0gZGF0ZV9mb3JtYXQoIiVtLyVkLyV5IiksIAogICAgICAgICAgICAgICAgICAgYnJlYWtzID0gZGF0ZV9icmVha3MoIjEgZGF5IikpICsKICBzY2FsZV9jb2xvcl9tYW51YWwobmFtZT0iTWVhc3VyZW1lbnRzIiwgCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrcz1jKCdhaXInLCAnc2VkaW1lbnRfM2NtJyksCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1jKCIjRkYwMDMzIiwgIiM5OTY2MzMiKSwKICAgICAgICAgICAgICAgICAgICAgbGFiZWxzID0gYygnQWlyIHRlbXBlcmF0dXJlJywgJ1NlZGltZW50IHRlbXBlcmF0dXJlICgzIGNtIGRlcHRoKScpKSsKICB0aGVtZSgKICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoY29sb3IgPSAiYmx1ZSIsIHNpemUgPSAxMywgZmFjZSA9ICJib2xkIiwgaGp1c3QgPSAwLjUpLAogICAgcGFuZWwuYmFja2dyb3VuZCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBhbmVsLmJvcmRlciA9IGVsZW1lbnRfcmVjdChjb2xvciA9ICJibGFjayIsIGZpbGw9TkEsIHNpemU9MiksCiAgICBsZWdlbmQucG9zaXRpb24gPSAnYm90dG9tJywgCiAgICBsZWdlbmQudGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZT0xMSwgZmFjZT0iYm9sZCIsIGNvbG9yID0gImJsYWNrIiksIAogICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMCwgZmFjZT0iYm9sZCIpLAogICAgYXhpcy50aXRsZS54ID0gZWxlbWVudF90ZXh0KHNpemUgPSAxMiwgZmFjZT0iYm9sZCIpLAogICAgYXhpcy50aXRsZS55ID0gZWxlbWVudF90ZXh0KHNpemUgPSAxMiwgZmFjZT0iYm9sZCIpLAogICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEwLCBmYWNlPSJib2xkIiksCiAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTAsIGZhY2U9ImJvbGQiKSkrCiAgZ3VpZGVzKGNvbG9yID0gZ3VpZGVfbGVnZW5kKG92ZXJyaWRlLmFlcyA9IGxpc3Qoc2l6ZSA9IDEuNSkpKQoKcC5zaGVsdGVycwoKZ2dzYXZlKCJwcF9zaGVsdGVycy5wbmciLCBwLnNoZWx0ZXJzLCB1bml0cyA9ICdpbicsIHdpZHRoID0gMTAsIGhlaWdodCA9IDQpCgpgYGAK