farmingpy.apsim.SoilOptimizer#
- class SoilOptimizer(model, params, obs_yield, obs_lai, harvest_date, zone_names=None, multithread=True)[source]#
Optimize soil paramters.
- __init__(model, params, obs_yield, obs_lai, harvest_date, zone_names=None, multithread=True)[source]#
Optimize model parameters
- Parameters:
model – APSIMX object
params – Dictionary of soil parameters to optimize with allowed ranges. The range indicates difference to original values. e.g.
{"ll15" : (-0.01, 0.05), "dul" : (0.0, -0.05)}
. Supported parameters are:ll15, dul, no3, nh4, urea
. The same change is applied to all soil layers.obs_yield – Dataframe with observed yield for each zone.
obs_lai – Dataframe with observed LAI for each zone.
harvest_date – Harvest date as datetime
zone_names – Name of zones to optimize.
optional – Name of zones to optimize.
multithread – Allow APSIM to use multiple threads, by default True
optional – Allow APSIM to use multiple threads, by default True
Methods
__init__
(model, params, obs_yield, obs_lai, ...)Optimize model parameters
optimize
([alg, maxeval])Run the optimizer
Attributes
optimized_data
optimized_parameters