Skip to content

Commit

Permalink
added USGS S3C data
Browse files Browse the repository at this point in the history
  • Loading branch information
ktoddbrown committed Feb 15, 2021
1 parent 0eae09d commit d6d4e6a
Show file tree
Hide file tree
Showing 4 changed files with 145 additions and 2 deletions.
2 changes: 1 addition & 1 deletion _bookdown.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
delete_merged_file: true
rmd_files: ["index.Rmd", 'data_reports/101_HeckmanLithosequence.Rmd', 'data_reports/130_WorldwideSCND.Rmd', 'data_reports/999_References.Rmd']
rmd_files: ["index.Rmd", 'data_reports/101_HeckmanLithosequence.Rmd', 'data_reports/128_USGS_S3C.Rmd', 'data_reports/129_AK_DSC.Rmd', 'data_reports/130_WorldwideSCND.Rmd', 'data_reports/999_References.Rmd']
output_dir: 'docs'
123 changes: 123 additions & 0 deletions data_reports/128_USGS_S3C.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# USGS_S3C

```{r warning=FALSE, message=FALSE}
datasetName <- "USGS_S3C"
dataset_study <- citation_raw %>%
filter(dataset_name == datasetName) %>%
select(where(function(xx){!(is.na(xx))})) %>%
full_join(dataset_raw %>%
filter(dataset_name == datasetName) %>%
select(where(function(xx){!(is.na(xx))})), suffix = c('_citation', '_dataset'))%>%
standardCast()
#comparison for pre ISCN soc stock correction
#dataset_profile_temp <- profile_raw %>%
# filter(dataset_name_sub == datasetName) %>%
# standardCast()
dataset_profile <- profile_raw %>%
filter(dataset_name_sub == datasetName) %>%
select(-dataset_name_soc) %>%
standardCast() #comment out pipe here and take a look at the profile information to figure out how to remove ISCN soc computations
#in this case we don't need to do anything
#comparison before SOC correction
#dataset_layer_temp <- layer_raw %>%
# filter(dataset_name_sub == datasetName) %>%
# standardCast()
dataset_layer <- layer_raw %>%
filter(dataset_name_sub == datasetName) %>%
group_by(dataset_name_sub, site_name, profile_name, layer_name) %>%
#mutate_at(vars(-group_cols(), -'dataset_name_soc'),
# function(xx){ifelse(sum(!is.na(xx)) == 1, rep(xx[!is.na(xx)], length(xx)),xx)}) %>% #if there is one value that isn't na then populate the rest of the entry, this fills in the
#filter(dataset_name_soc == dataset_name_sub) %>% #only take the soc values provided by the submitter
select(-starts_with('soc')) %>% # all SOC columns are ISCN calculated regardless of dataset_name_soc apparently
select(-dataset_name_soc) %>%
standardCast() #we don't care about the flag any more
```

The `USGS_S3C` data set in ISCN3 contains `r nrow(dataset_layer)` layer-level information and `r nrow(dataset_profile)` profile-level information after cleaning for ISCN3.5.
All layer level soil carbon calculations were ISCN3 calculated according to soc_method

```{r message=FALSE, warning=FALSE}
knitr::kable(t(dataset_study))
```


There are the following factors in the profile:

```{r}
knitr::kable(summary(dataset_profile %>% select_if(is.factor)))
```

And the following factors in the layers:
```{r}
knitr::kable(summary(dataset_layer %>% select_if(is.factor)))
```


## Location

```{r}
ggplot(data = map_data("usa")) +
geom_polygon(aes(x=long, y = lat, group = group),
fill = 'grey', color = 'black') +
geom_point(data= dataset_profile,
aes(x = `long (dec. deg)`, y = `lat (dec. deg)`),
shape = 'x', color = 'red') +
coord_fixed(1.3) +
theme_nothing() +
labs(title = 'Profile data')
ggplot(data = map_data("usa")) +
geom_polygon(aes(x=long, y = lat, group = group),
fill = 'grey', color = 'black') +
geom_point(data= dataset_layer %>% select(`long (dec. deg)`, `lat (dec. deg)`) %>% unique(),
aes(x = `long (dec. deg)`, y = `lat (dec. deg)`),
shape = 'x', color = 'red') +
coord_fixed(1.3) +
theme_nothing() +
labs(title = 'Layer data')
```

```{r eval=FALSE}
#this is useful to see for the analysis but we don't want it in the report
dataset_layer %>%
pivot_longer(cols = intersect(names(.), type_cols$num_cols), values_drop_na = TRUE) %>%
group_by(name) %>% summarize(n = length(value), unique_n = length(unique(value))) %>%
bind_rows(
dataset_layer %>%
pivot_longer(cols = intersect(names(.), type_cols$factor_cols), values_drop_na = TRUE) %>%
group_by(name) %>% summarize(n = length(value), unique_n = length(unique(value))) ) %>%
arrange(n) %>%
knitr::kable()
```


## Depth plots

```{r}
ggplot(dataset_layer %>%
pivot_longer(cols=c('layer_top (cm)', 'layer_bot (cm)'),
values_to='depth') %>%
pivot_longer(cols = intersect(names(.), type_cols$num_cols),
values_to = 'measurement', names_to = 'type')) +
geom_line(aes(x=depth, y= measurement, group = profile_name), alpha = 0.5) +
facet_wrap(~type, scales='free') +
theme_bw()
```

## TODO

- download and re-ingest from @Buell2004
- Double check profile soc calculations, do we just remove all the columns?
- Clean up pH values, check clay-sand-silt percent, clean up bulk density total, check bounds for caco3 percent

## Citations

Please see @Buell2004 for additional details and if you are using ISCN3 please cite.
2 changes: 1 addition & 1 deletion data_reports/999_References.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ dataset_name | citation
`Heckman lithosequence` | @Heckman2009
`AK DSC Project SOC stock computation` | @Johnson2011
`Worldwide soil carbon and nitrogen data` | @Zinke1986

`USGS_S3C` | @Buell2004
## All references
20 changes: 20 additions & 0 deletions data_reports/ISCN3_bibliography.bib
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@

@techreport{Buell2004,
Author = {Buell, Gary R. and Markewich, H. W. and Kulisek, R. and Pollard, S. and Cook, T. T.},
Booktitle = {Open-File Report},
Date-Added = {2021-02-15 10:55:41 -0500},
Date-Modified = {2021-02-15 10:55:41 -0500},
Db = {USGS Publications Warehouse},
Doi = {10.3133/ofr20041227},
Et = {Version 1.0},
Isbn = {2004-1227},
La = {ENGLISH},
M3 = {Report},
Title = {Site-specific soil-carbon (S3C) database for mineral soils of the Mississippi River Basin, USA},
Ty = {RPRT},
Url = {http://pubs.er.usgs.gov/publication/ofr20041227},
Year = {2004},
Bdsk-Url-1 = {http://pubs.er.usgs.gov/publication/ofr20041227},
Bdsk-Url-2 = {https://doi.org/10.3133/ofr20041227}}


@article{Heckman2009,
title = "Geologic controls of soil carbon cycling and microbial dynamics in temperate conifer forests",
abstract = "Understanding soil carbon cycling is important for assessing ecosystem response to climate change. Temperate conifer forest soils contain a substantial portion of the global soil C pool and therefore are key components of the global carbon cycle. Despite the importance of temperate forest soil organic carbon (SOC) in the global carbon cycle, the mechanisms and dynamics of SOC accumulation and storage remain poorly understood. To address this knowledge gap, we sampled four soils over different bedrock types (rhyolite, granite, basalt, limestone) under Pinus ponderosa to explore the following questions: i) Within a specific ecosystem type, how do SOC contents vary among sites with differing mineralogy? ii) What physicochemical variables are most highly correlated with SOC content, soil microbial community composition and soil respiration? and iii) What mechanisms account for the influence of these variables on SOC cycling? Soil physiochemical and microbiological properties were characterized and compared on the basis of mineral assemblage, pH, organic carbon content, bacterial community composition, respiration rate, microbial biomass, specific metabolic activity (qCO2), and δ13C of respired CO2. The selected field sites spanned a physicochemical gradient, ranging from acid (pH of 5.2) to basic (pH of 7.1) from rhyolite to granite to basalt to limestone. The acidic rhyolite and granite soils had measurable amounts of exchangeable Al3+ (up to 3 cmol+ kg- 1). SOC content varied significantly among sites, ranging from 3.5 to 11 kg C m- 2.in limestone and rhyolite soils, respectively. Soil bacterial communities were also significantly different among all sites. Metal-humus complex and Fe-oxyhydroxide content emerged as important controllers of SOC dynamics across all sites, showing significant correlation with both SOC content (Al-humus: R2 = 0.71; P < 0.01; Fe-humus: R2 = 0.75; P < 0.001; crystalline FeOx: R2 = 0.63; P < 0.01) and bacterial community composition (Al-humus: R2 = 0.35; P < 0.05; Fe-humus: R2 = 0.51; P < 0.01; oxalate-extractable Fe: R2 = 0.59; P < 0.01). Moreover, soil pH was significantly correlated with exchangeable Al3+, metal-humus complex content, bacterial community composition, and microbial biomass C/N ratios. Results indicated that within a specific ecosystem, SOC dynamics and microbial community vary predictably with soil physicochemical variables directly related to mineralogical differences among soil parent materials. Specifically, the data suggest a gradient in the dominant SOC stabilization mechanism among sites, with chemical recalcitrance and metal-humus complexation the dominant control in soils of the acidic rhyolite and granite sites, and mineral adsorption the dominant factor in the basic limestone and basalt sites. Knowledge of parent material dependent SOC dynamics allows for improved estimates of ecosystem SOC stocks and the potential response of SOC to climate change.",
Expand Down

0 comments on commit d6d4e6a

Please sign in to comment.