HowLeaky is a software application that has been designed to assess the impacts of different land uses, soil conditions, management practices and climate-types on water balance and water quality. It can provide reliable and flexible results from limited input data for a wide range of land use studies. It is highly suited for benchmarking and comparison of land use practices and exploring and highlighting the impacts of changing key variables on the system response. HowLeaky is particularly useful for investigating the water quality and erosion effects of agricultural practices such as irrigation, tillage, pesticide and nutrient (N and P) applications. 

The HowLeaky model simulates the soil water balance (core model) and its effects on different agricultural and land use management practices (submodels) at a point-scale and on a daily time-step. The model uses daily climate data and a volumetric parameterisation of the soil layers to model the core components of soil water inflows, outflows and redistribution of water in the soil. 

Runoff is calculated as a function of daily rainfall, soil water deficit, surface residue, crop cover and surface roughness. Soil water is updated on a daily basis by any rainfall exceeding the daily runoff volume. Infiltration is partitioned into the soil profile from the surface, filling subsequent layers to total porosity. When a soil profile layer is above its defined field capacity, soil water redistribution occurs but only if the layer immediately below can hold the water. Redistribution from the lowest profile layer is assumed lost to the system as deep drainage. 

Water can be lost from the soil profile as transpiration and soil evaporation. Transpiration is represented as a function of pan evaporation, green cover (or leaf area) and soil moisture. It is removed from the profile according to the current depth and distribution of roots. Transpiration can only dry a profile layer to its defined wilting point. Soil evaporation is based on a two-stage evaporation algorithm. After infiltration has occurred, it is assumed that drying occurs at potential rate up to a user defined limit. After this limit is reached, the second and slower stage of soil evaporation commences. Evaporation will remove soil water from the two upper profile layers and drying continues below wilting point to the user specified air-dry limit. The sum of transpiration and soil evaporation can never exceed pan evaporation on any day.

Soil erosion is estimated on days of runoff using a modified version of the universal soil loss equation (USLE) that expresses soil erosion as a function of runoff volume, cover, soil erodibility, management practice and topography. 
Vegetative growth can be modeled using either a “Dynamic Leaf Area index model (LAI, Ritchie, 1972)”, a “Crop-Cover model” or a “Crop-Factor model”. The LAI-crop model predicts crop phenology, leaf area and dry matter using functions of transpiration, transpiration efficiency, potential evaporation, intercepted radiation, radiation use efficiency, daily temperature and photoperiod. Growth is reduced due to water or temperature stress. Crop yield is related to total dry matter and plant water use around flowering. 

A daily balance of crop residue weight on the surface is maintained. At harvest, above-ground crop dry matter is added to crop residue. Residue decays over time or is incorporated by tillage. Decay and residue incorporation by tillage is related to residue type and tillage implement. Percent cover is estimated from residue weight on a daily basis. Tillage applies only to the LAI model and affects both the weight of crop residue and surface roughness. Crop planting and tillage dates can either be input by the user or generated automatically subject to user defined planting or tillage criteria. For automatic planting, the user must define a range of criteria that defines crop type, planting rainfall, minimum soil water content and the possible range of planting dates for the crop. Planting will occur when all criteria are satisfied. The automatic tillage model will perform the selected tillage operation based on accumulated rainfall.

The Cover-model is much simpler than the LAI model and imports predefined profiles of green-cover, residue cover and root depth, while using the same method to estimate transpiration as the LAI model. Biomass and crop-yield are estimated using a water use efficiency factor and harvest index. The Crop-factor model is even simpler than the LAI and Cover models. It does not estimate yield and lumps evaporation and transpiration together into a single evapotranspiration output.

HowLeaky can simulate irrigation using a range of management options including a water limiting supply through a ring-tank component. This includes different scheduling options for irrigating within a “window”, while a crop is growing, or through predefining a sequence of dates and amounts. It allows the user to define different trigger options, refill points and minimum days between irrigations. Different options exist to estimate runoff and evaporation losses and to deal with ponding.

HowLeaky contains submodels for simulating pesticide and fertiliser (N and P) losses and solute leaching. These submodels are optional and are activated by defining their input parameters and connecting them to a simulation. They are called during the daily time-step using outputs from the daily water balance. 

The pesticide submodel is used to track dissipation of pesticides in the soil, crop stubble and vegetation; and estimates pesticide concentrations in runoff partitioned between soluble and sediment bound phases. 

The phosphorus submodel is used to calculate dissolved, particulate and total phosphorus before calculating bioavailable phosphorus. It includes empirical functions for estimating the enrichment of total P in sediment and concentration of soluble P in runoff. The model uses the widely available phosphorus buffering index test (PBI) to estimate soil adsorption of P (P buffering), which affects the soluble P concentration in runoff.
A Nitrate N submodel contains a subset of three separate models for calculating dissolved N in runoff, dissolved N in leaching and particulate N in runoff. These models do not employ a nitrate “volume-balance” and they do not “route” nitrate through the soil. Instead, they represent a simplified approach whereby (in most cases) a nitrate concentration profile in the soil is predetermined and used to respond to runoff and drainage events by estimating what nitrate would be removed during those events. Two additional variations to this methodology have been included for estimating dissolved N in runoff after fertiliser applications. 

A generic solute submodel is used to estimate solute leaching and works by providing an initial solute concentration across the soil layers (defined using a range of options) as well as rainfall and irrigation water solute concentrations. A mixing coefficient is also provided to then route the solute through the soil profile when rainfall or irrigation is enough to cause drainage.



A "study" can refer to a single site, multiple treatments at a site or collection of locations where some aspects of water balance and water quality have been carried out. A collation of studies related to water balance and water quality across Australia can be found at http://howleaky.net/index.php/library, but this dataset does not have guaranteed tenure.

This site is a collection of studies with varying degrees of data completeness to support ongoing development of an understanding of the role of land sue and management on water, sediment, nutrient and pesticide flows from agricultural management units (paddocks or fields).

One aim of this site is for data custodians to add sites as they see fit. This might be to initially explore how the Howleaky model can deal with their data and ideally, to share site details and data sets that might help improve our understanding of how landscape and paddock management contribute to catchment behaviors.


A "dataset" can range from general descriptions of how a site under a specified management behaves under natural rainfall or irrigation, through to detailed observations and measurements of water, soil, sediment, nutrient and pesticide flows.

Ideally, a dataset should be sufficiently described to help others to use this information to improve understanding of hydrology and material flows at the paddock and catchment level.

Rather than specifying a "minimum description", contributors are encouraged to add any data they think might be useful to others, and at least, but adding some site description and data, promote dialogue and ideas sharing.  We have found that some very coarse or poorly described datasets can be highly valued, especially when there is little other information available.


A site may have a set of model simulations designed to: test the models ability to simulate a set of observations and explore a range of management conditions beyond conditions available within the sites' observations i.e. differnt soil types, climates, crops.

New model users can use an existing simulation as a starting point for exploring the Howleaky model. Some users may test a "published" (on this site) dataet and simulation with new data streams.


This site has a number of datasets and simulations "published" and available for further exploration. The aim of this site is to promote sharing of datasets ( small and large, incomplete and comprehensive) that might contribute to our understanding of soil and landscape processes.

New datasets and simulations can be added, but remain unpublished until the data custodian or modelers wishes to make these available. A site can be shared with specified others who register on the site. Contributors to the site have full control over their data entries.

Open-source Development

Source Code on GitHub

The source-code for the HowLeaky Simulation Engine is freely available for anyone to download and use via the GitHub repository.  You may use this code however you like under the Creative Commons Attribution-ShareAlike 4.0 International License (https://creativecommons.org/licenses/by-sa/4.0/). This Code is deveoped in the C# langauge and can be managed using either Microsoft Visual Studio IDE or Microsoft Visual Studio Code.

It is encouraged that any code changes which could benefit the wider HowLeaky community be re-uploaded back to the repository. These changes will then be reviewed by the HowLeaky "scientific" Panel, for possible inclusion in future versions.

Repository Components

The HowLeaky-Core repository contains the following modules:

  • HowLeaky Core Engine. This project contains all the code required to run the HowLeaky Simulation Engine, including classes for inputs and outputs. Note however, that it doesn't contain any information on how to read these inputs or write these outputs. For that see the IO Module.
  • HowLeaky IO Module. Contains code to read legacy hlk project files, as well as write outputs to CSV and Binary files.
  • HowLeaky Console. Contains code to run the HowLeaky model from HLK files and output CSV files.
  • HowLeaky Unit Tests. Unit tests for engine.

Forking Repository

 To use this code, please follow these steps:

  1. Create your own GitHub account and go to  the HowLeaky-Core repository.
  2. It is highly recommended that you download the GitHub Desktop software to manage this code.
  3. Create a new "Fork" of the repository to your account. Only changes to this fork can be resubmitted back to the repository for review by the HowLeaky Panel.
  4. Login to GitHub Desktop, and pull down the fork you have created. 


Submitting Changes

To sumit your changes back to the HowLeaky Panel for review (and possible inclusion in the "base" version"

  1. Push your changes to your branch back to the repository.
  2. Fill out the Submission Form on this website to notify the Panel of your submission. 
  3. Once you have made contact with the Panel, create a "Pull Request" in your fork of the HowLeaky-core repository by following the instructions below. This will allow the Panel to evalulate your code changes. 

Contact us for more information

Would you like more information about how to be involved with the HowLeaky project?