farmingpy.apsim.SoilOptimizer

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