class ParamStruct: """ The ParamStruct class contains the bulk of model Paramaters. In general these will not change over the course of the simulation Attributes: Soil (Soil): Soil object contains data and paramaters related to the soil FallowFieldMngt (FieldMngt): Object containing field management variables for the off season (fallow periods) NCrops (int): Number of crop types to be simulated SpecifiedPlantCalander (str): Specified crop rotation calendar (yield_ or N) CropChoices (list): List of crop type names in each simulated season CO2data (pd.Series): CO2 data indexed by year CO2 (CO2): object containing reference and current co2 concentration water_table (int): Water table present (1=yes, 0=no) z_gw (np.array): water_table depth (mm) for each day of simulation zGW_dates (np.array): Corresponding dates to the z_gw values WTMethod (str): 'Constant' or 'Variable' CropList (list): List of Crop Objects which contain paramaters for all the differnet crops used in simulations python_crop_list (list): List of Crop Objects, one for each season python_fallow_crop (Crop): Crop object for off season Seasonal_Crop_List (list): List of Crop objects, one for each season crop_name_list (list): List of crop names, one for each season Fallow_Crop (Crop): Crop object for off season Fallow_Crop_Name (str): name of fallow crop """ def __init__(self): # soil self.Soil = 0 # field management self.FallowFieldMngt = 0 # variables extracted from cropmix.txt self.NCrops = 0 self.SpecifiedPlantCalander = "" self.RotationFilename = "" # calculated Co2 variables self.CO2data = [] self.CO2 = 0 self.co2_concentration_adj = None # water table self.water_table = 0 self.z_gw = [] self.zGW_dates = [] self.WTMethod = "" # crops self.CropList = [] self.python_crop_list = [] self.python_fallow_crop = 0 self.Seasonal_Crop_List = [] self.crop_name_list = [] self.Fallow_Crop = 0 self.Fallow_Crop_Name = ""