quefts: QUEFTS model

View source: R/rquefts.R

queftsR Documentation

QUEFTS model

Description

Create a QUEFTS model, set parameters, and run it to compute nutrient requirements and nutrient limited yield.

A number of default crop parameter sets are available from quefts_crop, and an example soil from quefts_soil. You need to provide attainable or target crop production (in this context that is the maximum production in the absence of nutrient limitation), expressed as dry-matter biomass for leaves, stems and the storage organ (e.g. grain, root or tuber). See quefts_biom. Some crops are grown for the stems/leaves, in which case there is no relevant storage organ (e.g. sugarcane, jute). production yield estimates can be obtained with a crop growth model.

Usage

quefts(soil, crop, fert, biom)
quefts_fert()
quefts_biom()
crop(x) <- value
soil(x) <- value
fert(x) <- value
biom(x) <- value
run(x, ...)

Arguments

soil

list with named soil parameters. See Details. An example is returned by quefts_soil()

crop

list with named crop parameters. See Details. An example is returned by quefts_crop()

fert

list with named fertilizer parameters (N, P and K). An example is returned by quefts_fert()

biom

list with named biomass and growing season length parameters. An example is returned by quefts_biom()

x

QueftsModel object

value

list with soil, crop, fertilizer, or biomass parameters as above

...

additional arguments. None implemented

Details

For input parameters see quefts_crop, quefts_soil, quefts_fert and quefts_biom

Crop yield (biom) .
leaf_att, stem_att, store_att Attainable (in the absence of nutrient limitation), or target crop biomass (dry-matter, kg/ha) for leaves, stems and storage organs.
SeasonLength Length of the growing season (days)
.
.
Output Variables Explanation
N_actual_supply, P_actual_supply, K_actual_supply nutrient uptake from soil (not fertilizer) (kg/ha)
leaf_lim, stem_lim, store_lim nutrient limited biomass of leaves, stems, and storage organ (kg/ha)
N_gap, P_gap, K_gap fertilizer required to reach the specified biomass (kg/ha)

Value

vector with output variables as described in the Details

References

Janssen B.H., F.C.T. Guiking, D. van der Eijk, E.M.A. Smaling, J. Wolf and H. van Reuler, 1990. A system for the quantitative evaluation of the fertility of tropical soils (QUEFTS). Geoderma 46: 299-318

Sattari, S.Z., M.K. van Ittersum, A.F. Bouwman, A.L. Smit, and B.H. Janssen, 2014. Crop yield response to soil fertility and N, P, K inputs in different environments: Testing and improving the QUEFTS model. Field Crops Research 157: 35-46

Examples


# create a QUEFTS model
# 1. get parameters
soiltype <- quefts_soil()
barley <- quefts_crop("Barley")
fertilizer <- list(N=0, P=0, K=0)
att_yield <- list(leaf_att=2200, stem_att=2700, store_att=4800, SeasonLength=110)

# 2. create a model
q <- quefts(soiltype, barley, fertilizer, att_yield)

# 3. run the model
run(q)

# change some parameters
q$SeasonLength <- 162
q$leaf_att <- 2651
q$stem_att <- 5053
q$store_att <- 8208

q$N <- 100
q$P <- 50
q$K <- 50

run(q)


## note that Rquefts uses C++ reference classes. 
## This means that if you copy a quefts model, you do not create a 
## new instance of the model, but you point to the same one!
q <- quefts()
q["N"]
k <- q
k["N"] <- 150
k["N"]
# the value of q has also changed!
q["N"]

## different ways of subsetting / replacement
q <- quefts()
q$N
q$N <- 30
q["N"]
q["N"] <- 90
q["model", "N"]
q["model", "N"] <- 60
q$N

q$soil$N_recovery
q["soil$N_recovery"]
q["soil$N_recovery"] <- .6
q["soil", "N_recovery"]
q["soil", "N_recovery"] <- .4
q$soil$N_recovery


Rquefts documentation built on Oct. 24, 2023, 5:07 p.m.