AquaCrop-OSPy is a python package to automate tasks from AquaCrop (FAO) via Python. I would like to write some code so that AquaCrop-OSPy can suggest the irrigation schedule. I followed this tutorial regarding the Aqua Crop GUI. (https://www.youtube.com/watch?v=o5P35ogKDvw&ab_channel=FoodandAgricultureOrganizationoftheUnitedNations)

Based on the documentation and some jupyter notebooks, I selected rrMethod=1: Irrigation is triggered if soil water content drops below a specified threshold (or four thresholds representing four major crop growth stages (emergence, canopy growth, max canopy, senescence). I have written the following code (code regarding importing the packages has been removed to keep the question short)

smts = [99]*4 # soil moisture targets [99, 99, 99, 99]

max_irr_season = 300 # 300 mm (water)

path = get_filepath('champion_climate.txt')

wdf = prepare_weather(path)

year1 = 2018

year2 = 2018

maize = Crop('Maize',planting_date='05/01') # define crop

loam = Soil('ClayLoam') # define soil

init_wc = InitialWaterContent(wc_type='Pct',value=[40]) # define initial soil water conditions

irrmngt = IrrigationManagement(irrigation_method=1,SMT=smts,MaxIrrSeason=max_irr_season) # define irrigation management

model = AquaCropModel(f'{year1}/05/01',f'{year2}/10/31',wdf,loam,maize,

irrigation_management=irrmngt,initial_water_content=init_wc)

model.run_model(till_termination=True)

The code runs but I cannot find when and how much water (depth in mm) is irrigitated. model.irrigation_management.Schedule retrurns an array of zeros. The total amount of water is 300mm as can be seen on the code. I also tried dir(model.irrigation_management) to have a look at other methods and attributes but without any success.

Is what I am asking possible via AquaCrop-OSPy or have I misunderstood any concept?

More Ilias Machairas's questions See All
Similar questions and discussions