Finally, it’s time to go back to being a normal student again.

Last week I finished my BSc thesis. Here’s a quick but technical article summarising what I did and what I found.

The Dutch greenhouse horticultural industry is extremely innovative. A lot has changed over the past few decades. One of the biggest changes has been the move from growing crops in soil to growing crops in substrate, in soilless systems. This comes with lots of advantages you readers here are probably aware of. One of them is better control over the root environment.

Specifically, the grower can control pH and EC. EC (electrical conductivity) is a good indicator of the concentration of cations in the solution – but it doesn’t tell the grower which ions are in the solution. It’s the same idea of a pound of feathers weighing the same as a pound of lead.

If EC is too low, that means there’s nothing in the solution, so the plants aren’t going to grow. If EC is too high, water uptake starts to become difficult for the plant, leading to yield decline. There is a model for this, called the Maas-Hoffman model:

Since plants take up water, new water always has to be added to the greenhouse. The problem is that this water always contains sodium in some amount. Plants hardly take up any sodium. As a result, sodium builds up in the system. Not only that, it contributes to the EC. Since EC should be below a certain value in order to ensure optimal crop yield, more sodium means less nutrients. This undermines yield.

How does the grower solve this? Sodium is released through a process called leaching. However, in doing this, nutrients are lost as well. In the Netherlands, 160 kg of nitrogen and 20 kg of phosphorus is emitted per hectare per year on average. This is a trend that has barely decreased since 2000. However, since 50% of leached nutrients end up in surface water, this leads to environmental problems such as eutrophication.

The Dutch government and the Dutch greenhouse horticultural industry sat down together and agreed in a covenant to reduce nutrient emissions to zero by 2027. This goal has to be achieved whilst still keeping crop yield high.

I developed a model based on two existing models to see whether iterative optimisation could reduce emissions, increase economic output, and how it went about doing this.

The first model is called the GTa irrigation tool. GTa has nothing to do with Grand Theft Auto; it stands for ‘Greenhouse Technology applications’ (that’s a joke I couldn’t make in my thesis but I have been aching to use it somewhere). GTa-irrigation models the sodium concentration within a greenhouse. It also performs iterative optimisation on a daily basis, to maximise economic output. There are two parameters the optimisation algorithm adjusts:

Input salinity (achieved by mixing different sources) Leach volume

Iterative optimisation involves choosing different values for these two parameters and calculating the resulting economic yield over a day. From there, the best set of values gets chosen.

GTa works quite well, but its limitation is that it can’t model nutrients. This is because it models the greenhouse as one tank of water. Because of this, modelling nutrients is unrealistic. To model nutrients, the greenhouse has to be split into various tanks. This is because the concentration of nutrients before the growing medium is much higher than after.

This was done by a fellow student, Carsten Schep, in 2017. Carsten made a dynamic model simulating the nutrient concentrations in the various tanks of the greenhouse using Euler integration. Being a greenhouse, input salinity and leach volume have to be decided as well. However, Carsten’s model does not feature optimisation. I think you can see where this is going…

In the new model, I used the optimisation modules from GTa-irrigation and applied them to Carsten’s model, fusing two models into one. On top of no optimisation, there were two optimisation modes – maximising economic output, and minimising nutrient emissions. Maximising economic outcome is done with a tradeoff – if the grower doesn’t leach, crop yield suffers. However, nutrient emissions as a criterion has no tradeoff. The model would decide just to never leach, which would be silly. To make things more interesting, I added a penalty if substrate salinity got above a certain value. This would force the module to leach at times.

With the model, I did a sensitivity analysis and a scenario analysis, to see how different situations affected the annual outcomes. The sensitivity analysis was for prices as well as physical crop parameters. The scenario analysis compared a Dutch scenario to one in Almería in Spain (with higher temperatures, higher crop transpiration, and different water sources).

The bottom line of my research was that iterative optimisation does have potential. It can both reduce emissions (halving them in one case) and increase economic output. However, in one particular situation, it could make things worse. Also, optimisation took advantage of some of the model’s limitations. Both yield and nutrient dosage were determined by EC. This means that even if there was only sodium in the solution, nutrients would never be added and the model would see yield as fine. Nevertheless, optimisation does have potential. With further refinement, it could be useful.

All in all this was quite a challenging experience, especially since I was juggling with many other things on the side. Perhaps the most stressful part was realising that my crop transpiration was 1/24th of what it should have been, due to a small calculation error – meaning the results had to be done all over again, 2 weeks before my deadline. A sensitivity analysis with this model takes 12 hours to run, meaning this truly was a 24-hour operation at times.

Microsoft’s Visual Basic for Applications and I weren’t friends from the start, but over these few months we have warmed to each other. I’m happy to be able to model processes like these and programme them in Excel, a platform far more accessible than MATLAB. Who knows – one day we may be able to simulate an AMI system in the same way.

Many thanks to everyone who helped along the way – in particular, Bert van ’t Ooster, my supervisor, for his knowledge and support, as well as his patience in the beginning when the topic was unclear. Thanks to Hans Glimmerfors for helping me speed up the model. Thanks to the guys working on their thesis for their encouragement and many fun games of Shithead. Lastly, thanks to my mother for proofreading near the end.

Send me an email if you’re interested in reading the full thing!