Skip to contents

Implements 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 match texture_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
#>