Output difference between FAO AquaCrop software and AquaCrop -OSPy


I used the same soil, crop, weather, initial condition, irrigation method inputs for both AquaCrop software and the Python version. However, I got a visibily different yield outputs. The python code for AquaCrop is very convinient to integrate AquaCrop with other models. However to find this kind of disparity between the software and the python version is discouraging. I have attached the screenshots from both inputs/outputs.

Initially I used the built in wheat crop in AquaCrop-python, since there was a difference in outputs, to be more certain I copied and used the crop parameters from the AquaCrop software, customizing the default wheat characteristics in python. However, the difference remains there. Any suggestion why this happens ? and how to adjust. Thanks in advance for your support.

Best Regards !


Hi @Ade

Thanks for your question. There are a couple of misunderstandings that are just a result of me not clearly explaining in the docs where the climate, soil, and crop params come from exactly. Firstly, there are two brussels climate files in Windows AquaCrop (Brussels.cli and Bru76-05.cli). The first of these uses montly means for ETo and temp whereas the second uses daily values for all variables. The brussels_climate.txt file in the python version therefore refers to the ‘Bru76-05.cli’ data.

The second issue is that the crop paramaters in the python default ‘Wheat’ class refer to the WheatGDD.cro file in windows.

I have attached screenshots that hopefully make this clearer but ill happy happy to answer any more questions if you have any.

In the next version i will add more info in the docs or a seperate file to outline this so it is easier for people to compare with th windows version.


1 Like

Dear Tom

Thanks for your quicker response. I am very much satisfied with your explanation and I got the same outputs on my side following your suggestions.

Hope I still got your permission and I would like to ask one more question. I agree for the climate file, I must use the right file as an input or create my own climate file as a .txt file in my directory for my location of interest. I see where the problem arises due to using the wrong climate file.

But for the crop variable, is it not possible to modify the crop parameters in the python script. For example if you see the screenshot I attached below, I thought I could customize the default or built in crop characteristics by changing the dates of maturity, emergence, senescence… etc. In other words if I selected the climate file ‘Bru76-05.cli’ in both cases and use the ‘Wheat’ file in the AquaCrop software and if I copied all the crop non-conservative parameters and customized it in the AquaCrop-python, I expected to get the same result. However, that is not what happened and there is a difference in the final outputs. May be I have missed some important crop parameters or that is not the way to customize crop parameters in the python version. Any thoughts on this ?

Thanks in advance for the valuable time you will spend considering and answering my request !

Crop custom1|690x427


Best !


Hi @Ade

This one took some messing around but eventually found the main problem. When you edit the CGC and CDC parameters, they are specified in different units for some reason. CGC is in %/day but CDC is in %/GDD.

If you come out of edit mode you can see that it then converts CGC to %/GDD.

So it is these values that you want to use in the AquaCrop-OSPy simulation:

There is still a slight difference between this yield and the windows one but it looks a lot better now.


Hello Tom

I got the same result after using the CGC value with the degree days unit. Thanks for your support.

I still have more questions to come, but I have to start a new forum question I think, so may be I get help from other users too.

Regards !