-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.Rmd
164 lines (143 loc) · 5.05 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
---
title: "Tandy Center Daily Data Reports"
output:
github_document:
html_preview: false
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
suppressPackageStartupMessages({
library(obpg2tools)
library(murtools)
library(namforecast)
library(oisster)
library(ersst)
library(knitr)
library(dplyr)
})
```
Tallies of various data products maintained at [Tandy Center got Ocean Forecasting](https://www.bigelow.org/services/ocean-forecasting/) and the [Computational Oceanography Lab](https://www.bigelow.org/science/lab/computational-oceanography/)
+ `firstdate` `lastdate` first an last recorded dates (there may be some missing between)
+ `per` the period of time the variable represents
+ `param` short hand parameter name
+ `count` number of records available
+ `age` the time between the current report date, ```r Sys.Date()```, and the most recent record. Negative is a forecast date ahead of run date.
## [OBPG](https://oceancolor.gsfc.nasa.gov/) for world (mixed resolutions, AQUA MODIS)
```{r, echo = FALSE}
path = obpg2tools::obpg_path("world", "AQUA_MODIS", "L3m")
db = obpg2tools::read_database(path) |>
obpg2tools::database_to_climatology(filter = TRUE) |>
select(date, end_date, per, param, res) |>
group_by(param, per, res) |>
group_map(
function(tbl, key){
#cat(str(key), "\n")
count = nrow(tbl)
lastdate = max(tbl$end_date)
age = Sys.Date() - lastdate
slice_tail(tbl, n=1) |>
mutate(count = count, age = age) |>
mutate(lastdate = lastdate, .after = date) |>
rename(firstdate = date) |>
select(-end_date)
}, .keep = TRUE) |>
bind_rows()
knitr::kable(db)
```
## [OBPG](https://oceancolor.gsfc.nasa.gov/) for Northwest Atlantic (all 4km res, AQUA and TERRA MODIS)
```{r, echo = FALSE}
path = obpg2tools::obpg_path("nwa", "AQUA_MODIS", "L3m")
db = obpg2tools::read_database(path) |>
select(date, per, param) |>
group_by(param, per) |>
group_map(
function(tbl, key){
count = nrow(tbl)
lastdate = slice_max(tbl, order_by = date)$date
age = Sys.Date() - slice_max(tbl, order_by = date)$date
slice(tbl, 1) |>
mutate(count = count, age = age) |>
mutate(lastdate = lastdate, .after = date) |>
rename(firstdate = date)
}, .keep = TRUE) |>
bind_rows()
knitr::kable(db)
```
## [MUR](https://podaac.jpl.nasa.gov/MEaSUREs-MUR) for Northwest Atlantic (all 0.01 degree res, daily)
```{r, echo = FALSE}
path = murtools::mur_path("nwa")
db = murtools::read_database(path) |>
select(date, per, param) |>
group_by(param, per) |>
group_map(
function(tbl, key){
count = nrow(tbl)
lastdate = slice_max(tbl, order_by = date)$date
age = Sys.Date() - slice_max(tbl, order_by = date)$date
slice(tbl, 1) |>
mutate(count = count, age = age) |>
mutate(lastdate = lastdate, .after = date) |>
rename(firstdate = date)
}, .keep = TRUE) |>
bind_rows()
knitr::kable(db)
```
## [NAM](https://www.ncei.noaa.gov/products/weather-climate-models/north-american-mesoscale) for Northeast US and Eastern Canada (all 12km res, daily)
Negative age means days ahead of the current date.
```{r, echo = FALSE}
path = namforecast::nam_path("nwa", "forecast")
db = namforecast::read_database(path) |>
select(date, param, trt) |>
group_by(param, trt) |>
group_map(
function(tbl, key){
count = nrow(tbl)
lastdate = slice_max(tbl, order_by = date)$date
age = Sys.Date() - slice_max(tbl, order_by = date)$date
slice(tbl, 1) |>
mutate(count = count, age = age) |>
mutate(lastdate = lastdate, .after = date) |>
rename(firstdate = date)
}, .keep = TRUE) |>
bind_rows()
knitr::kable(db)
```
## [OISST](https://www.ncei.noaa.gov/products/optimum-interpolation-sst) for the world (0.25 degree res, daily and annual res)
```{r, echo = FALSE}
path = oisster::oisst_path("world")
db = oisster::read_database(path) |>
select(-param) |>
group_by(per, trt) |>
group_map(
function(tbl, key){
count = nrow(tbl)
lastdate = slice_max(tbl, order_by = date)$date
age = Sys.Date() - slice_max(tbl, order_by = date)$date
slice(tbl, 1) |>
mutate(count = count, age = age) |>
mutate(lastdate = lastdate, .after = date) |>
rename(firstdate = date)
}, .keep = TRUE) |>
bind_rows()
knitr::kable(db)
```
## [ERSST](https://www.ncei.noaa.gov/products/extended-reconstructed-sst) for the world (2 degree res, monthly res)
We retain both the anomaly and the computed values.
```{r, echo = FALSE}
path = ersst::ersst_path("v5")
db = ersst::read_database(path) |>
select(-version) |>
group_by(anomaly) |>
group_map(
function(tbl, key){
count = nrow(tbl)
lastdate = slice_max(tbl, order_by = date)$date
age = Sys.Date() - slice_max(tbl, order_by = date)$date
slice(tbl, 1) |>
mutate(count = count, age = age) |>
mutate(lastdate = lastdate, .after = date) |>
rename(firstdate = date)
}, .keep = TRUE) |>
bind_rows()
knitr::kable(db)
```