Learn R Programming

apsimx (version 2.2)

get_isric_soil_profile: Generate a synthetic APSIM soil profile from the ISRIC soil database

Description

Retrieves soil data from the ISRIC global database and converts it to an APSIM soil_profile object

Usage

get_isric_soil_profile(
  lonlat,
  statistic = c("mean", "Q0.5"),
  soil.profile,
  find.location.name = TRUE
)

Arguments

lonlat

Longitude and latitude vector (e.g. c(-93, 42)).

statistic

default is the mean

soil.profile

a soil profile to fill in in case the default one is not appropriate

find.location.name

default is TRUE. Use either maps package or photon API to find Country/State. If you are running this function many times it might be better to set this to FALSE.

Value

it generates an object of class ‘soil_profile’.

Details

Source: https://www.isric.org/ Details: https://www.isric.org/explore/soilgrids/faq-soilgrids

Pedotransfer functions: Saxton and Rawls, 2006. Soil Water Characteristic Estimates by Texture and Organic Matter for Hydrologic Solutions. Soil Sci. Soc. Am. J. 70:1569<U+2013>1578.

TODO: need to look into how this is done in APSIM NG https://github.com/APSIMInitiative/ApsimX/pull/3994/files

NOTE: Eric Zurcher provided help by sending me an R file originally written by Andrew Moore. It provides a bit of context for how some of the decisions were made for constructing the synthetic soil profiles in APSIM. (email from june 3 2021).

Variable which are directly retrieved and a simple unit conversion is performed: * Bulk density - bdod * Carbon - soc * Clay - clay * Sand - sand * PH - phh2o * Nitrogen - nitrogen Variables which are estimated using pedotransfer functions: LL15, DUL, SAT, KS, AirDry TO-DO: What do I do with nitrogen? Can I use CEC? How can I have a guess at FBiom and Finert? FBiom does not depend on any soil property at the moment, should it?

See Also

apsimx_soil_profile, edit_apsim_replace_soil_profile, edit_apsimx_replace_soil_profile.

Examples

Run this code
# NOT RUN {
## Get soil profile properties for a single point
sp1 <- get_isric_soil_profile(lonlat = c(-93, 42))

## Visualize
plot(sp1)
plot(sp1, property = "water")


# }

Run the code above in your browser using DataLab