Compute soil P availability terms (B1 / A mantenimento / B2) for the P balance
Source:R/soil_P_availability.R
soil_P_availability.RdImplements the DPI 2026 Allegato 2 logic coded in Fert_Office v1.26 foglio
Gri_P: depending on the phosphorus availability class (Arricchimento,
Mantenimento, Riduzione) returns the contribution that goes onto the
NECESSITA' side (B1, A anticipations) or onto the DISPONIBILITA' side (B2).
Usage
soil_P_availability(
olsen_value,
unit = c("P", "P2O5"),
soil_group,
A_demand_P2O5,
depth_cm = 30,
p_availability.table = NFert::p_availability.table,
p_availability_meta = NFert::p_availability_meta,
texture_groups.table = NFert::texture_groups.table
)Arguments
- olsen_value
Numeric, Olsen P or P2O5 ppm.
- unit
"P"or"P2O5"(default"P").- soil_group
One of
"Sabbiosi","Medio impasto","Argillosi e limosi"(must matchtexture_groups.table$group).- A_demand_P2O5
Crop P2O5 demand (kg/ha) (from
calc_crop_P_demand()).- depth_cm
Soil depth used for weight (default 30 cm).
- p_availability.table, p_availability_meta, texture_groups.table
Lookup tables.
Value
A list with strategy, B1 (arricchimento kg/ha), A_mantenimento,
B2 (riduzione kg/ha), and diagnostic soil_weight_t_ha, P_immobilisation_factor.
Details
The B1 arricchimento term equals the distance of the analytical value from
the upper bound of the "bassa" class (22.9 ppm P2O5), multiplied by the soil
weight at 30 cm (t/ha) and by the P immobilisation factor P_immobilisation_factor = 1.6.
Examples
soil_P_availability(olsen_value = 15, unit = "P2O5",
soil_group = "Medio impasto", A_demand_P2O5 = 63.6)
#> $strategy
#> [1] "Arricchimento"
#>
#> $ID_Gri_P
#> [1] 2
#>
#> $rating
#> [1] "low"
#>
#> $B1
#> [1] 49.296
#>
#> $A_mantenimento
#> [1] 63.6
#>
#> $B2
#> [1] 0
#>
#> $soil_weight_t_ha
#> [1] 3900
#>
#> $P_immobilisation_factor
#> [1] 1.6
#>