Landscape evolution modelling – running through Earth history in minutes

Landscape evolution modelling is the attempt to describe by numerical means how processes of tectonic origin and those that act upon the Earth surface change the topography of a given area. One of the most widely used landscape evolution models is CHILD (Channel and Hillslope Integrated Landscape Development) by Greg Tucker and colleagues. The model is based on C++ and is run with an input file that contains all the model parameters. CHILD creates a series of model output stored in ASCII files. While this is efficient from a numerical perspective, it is not really convenient for further data handling.

The package 'RCHILD' provides a seamless interface between CHILD and R. It allows running CHILD through R while creating and modifying the input files for CHILD as objects in R. CHILD output can be imported to R and forms an own object, again. Thus, R can be used as the main platform for data preparation, modelling and further analysis of model output. A series of functions allow preparation of DEM and other thematic data sets for conversion to input data for CHILD but also posteriour analysis and static as well as animated visualisation of the model output.


The package is currently not hosted at any open platform, mainly because my reserch focus shifted before I made excessive use of GitHub and CRAN. If you are interested in getting the package, feel free to write me an email. I usually see no problems in sharing the code.


I crafted a brief tutorial on how to use the package, assuming you have a compiled version of CHILD already running on your computer. Get the file here: Tutorial RCHILD.


If you feel helpless with an issue or notice a bug in one of the functions of the package, if you wish to have a further feature implemented, there is a good chance that I will engange with this issue, if you let me know of it. Please send me an email and I will add this to the list of issues shown here.
  • Micha

    Increase speed for ASCII import, e.g., using data.table::fread().

  • Micha

    Implement spatially non-uniform uplift rate calculation.

  • Micha

    Update examples by extended parameter list.

  • Micha

    Correct slope-area plot calculation, should only be done for channel nodes.