Source code for pcse.models

# -*- coding: utf-8 -*-
# Copyright (c) 2004-2014 Alterra, Wageningen-UR
# Allard de Wit (allard.dewit@wur.nl), April 2014

from .engine import Engine


[docs]class Wofost72_PP(Engine): """Convenience class for running WOFOST7.2 Potential Production. :param parameterprovider: A ParameterProvider instance providing all parameter values :param weatherdataprovider: A WeatherDataProvider object :param agromanagement: Agromanagement data """ config = "Wofost72_PP.conf" def __init__(self, parameterprovider, weatherdataprovider, agromanagement): Engine.__init__(self, parameterprovider, weatherdataprovider, agromanagement, config=self.config)
[docs]class Wofost72_WLP_FD(Engine): """Convenience class for running WOFOST7.2 water-limited production. :param parameterprovider: A ParameterProvider instance providing all parameter values :param weatherdataprovider: A WeatherDataProvider object :param agromanagement: Agromanagement data """ config = "Wofost72_WLP_FD.conf" def __init__(self, parameterprovider, weatherdataprovider, agromanagement): Engine.__init__(self, parameterprovider, weatherdataprovider, agromanagement, config=self.config)
[docs]class Wofost72_Phenology(Engine): """Convenience class for running WOFOST7.2 phenology only. :param parameterprovider: A ParameterProvider instance providing all parameter values :param weatherdataprovider: A WeatherDataProvider object :param agromanagement: Agromanagement data """ config = "Wofost72_Pheno.conf" def __init__(self, parameterprovider, weatherdataprovider, agromanagement): Engine.__init__(self, parameterprovider, weatherdataprovider, agromanagement, config=self.config)
# This is to ensure that old code keeps working Wofost71_PP = Wofost72_PP Wofost71_WLP_FD = Wofost72_WLP_FD
[docs]class Wofost80_PP_beta(Engine): """Convenience class for running WOFOST8.0 potential production (includes NPK dynamics) :param parameterprovider: A ParameterProvider instance providing all parameter values :param weatherdataprovider: A WeatherDataProvider object :param agromanagement: Agromanagement data """ config = "Wofost80_PP.conf" def __init__(self, parameterprovider, weatherdataprovider, agromanagement): Engine.__init__(self, parameterprovider, weatherdataprovider, agromanagement, config=self.config)
[docs]class Wofost80_WLP_FD_beta(Engine): """Convenience class for running WOFOST8.0 water-limited production (includes NPK dynamics) :param parameterprovider: A ParameterProvider instance providing all parameter values :param weatherdataprovider: A WeatherDataProvider object :param agromanagement: Agromanagement data """ config = "Wofost80_WLP_FD.conf" def __init__(self, parameterprovider, weatherdataprovider, agromanagement): Engine.__init__(self, parameterprovider, weatherdataprovider, agromanagement, config=self.config)
[docs]class Wofost80_NWLP_FD_beta(Engine): """Convenience class for running WOFOST8.0 nutrient and water-limited production :param parameterprovider: A ParameterProvider instance providing all parameter values :param weatherdataprovider: A WeatherDataProvider object :param agromanagement: Agromanagement data """ config = "Wofost80_NWLP_FD.conf" def __init__(self, parameterprovider, weatherdataprovider, agromanagement): Engine.__init__(self, parameterprovider, weatherdataprovider, agromanagement, config=self.config)
[docs]class LINTUL3(Engine): """The LINTUL model (Light INTerception and UtiLisation) is a simple general crop model, which simulates dry matter production as the result of light interception and utilization with a constant light use efficiency. LINTUL3 simulates crop growth under water-limited and nitrogen-limited conditions :param parameterprovider: A `ParameterProvider` object providing model parameters as key/value pairs. The parameterprovider encapsulates the different parameter sets for crop, soil and site parameters. :param weatherdataprovider: An instance of a WeatherDataProvider that can return weather data in a WeatherDataContainer for a given date. :param agromanagement: AgroManagement data. The data format is described in the section on agronomic management. """ config = "Lintul3.conf" def __init__(self, parameterprovider, weatherdataprovider, agromanagement): Engine.__init__(self, parameterprovider, weatherdataprovider, agromanagement, config=self.config)
[docs]class FAO_WRSI(Engine): """Convenience class for computing actual crop water use using the Water Requirements Satisfaction Index with a (modified) FAO WRSI approach. :param parameterprovider: A ParameterProvider instance providing all parameter values :param weatherdataprovider: A WeatherDataProvider object :param agromanagement: Agromanagement data """ config = "FAO_WRSI.conf" def __init__(self, parameterprovider, weatherdataprovider, agromanagement): Engine.__init__(self, parameterprovider, weatherdataprovider, agromanagement, config=self.config)
[docs]class LINGRA_PP(Engine): config = "Lingra_PP.conf" __version__ = "1.0.0" def __init__(self, parameterprovider, weatherdataprovider, agromanagement): Engine.__init__(self, parameterprovider, weatherdataprovider, agromanagement, config=self.config)
[docs]class LINGRA_WLP_FD(Engine): config = "Lingra_WLP_FD.conf" __version__ = "1.0.0" def __init__(self, parameterprovider, weatherdataprovider, agromanagement): Engine.__init__(self, parameterprovider, weatherdataprovider, agromanagement, config=self.config)
[docs]class LINGRA_NWLP_FD(Engine): config = "Lingra_NWLP_FD.conf" __version__ = "1.0.0" def __init__(self, parameterprovider, weatherdataprovider, agromanagement): Engine.__init__(self, parameterprovider, weatherdataprovider, agromanagement, config=self.config)
[docs]class ALCEPAS(Engine): """ALCEPAS Onion growth model. """ config = "alcepas.conf" def __init__(self, parameterprovider, weatherdataprovider, agromanagement): Engine.__init__(self, parameterprovider, weatherdataprovider, agromanagement, config=self.config)