All software will give errors messages from time to time, and Kubla Cubed is no different.  In this post we discuss the ‘Calculation Error’ message which can sometimes occur when working on complex projects in Kubla Cubed.  We also discuss the calculation steps used by the software, and some of the new error reporting features that were introduced to the software in Version 5.7, released in July 2019.

This post is mostly targeted at experienced users of Kubla Cubed, and contains discussions of quite advanced topics.


Calculation error messages are displayed in Kubla Cubed where the calculations fail, or where a validation step fails.  Validation steps are run at numerous points during the calculation to ensure the integrity of the final result. 

No calculation engine is going to be entirely free of errors, and especially not one whose calculations are based on Triangular Prisms, like Kubla Cubed. This method is the most accurate, but is also far, far more technically challenging than the grid and cross-section methods that are used by some other earthworks software.

Kubla Cubed allows users to create as many phases of work as they wish, with each phase containing an unlimited number of earthworks elements.  This provides a great deal of flexibility to our users.  However, it also allows for very complex projects to be defined, increasing the likelyhood of calculation errors when compared to more restrictive software.

Calculation Steps

In order to understand the sources of calculation errors, it helps to understand the steps involved in the calculation. We will briefly summarise the process below.  These steps are repeated for each phase in the project.

For each earthworks element in a phase, there is a three step process:

  1. Generating the surface mesh. For a platform, this is trivial and unlikely to cause an error.  However, it is potentially quite complicated for a feature surface with many ground features.  It can also be challenging for an strip or overlay, where the ground below is complex.
  2. Generating batter slopes. These are the side slopes that will be used to connect the surface mesh to the terrain. The complexity of this process depends largely on the complexity of the outline of the element. However, if the batters are set to vertical this step is quite straightforward for the software to complete.
  3. Merging the element with the terrain. This is usually a fairly challenging step for the software, and particularly if the existing and/or proposed meshes are complex.

Once all of the earthworks elements have been processed in this way, the will be 2 meshes; the mesh at the start of the phase, and the mesh after all the elements have been merged into it. The final step is to project the initial mesh edges onto the final mesh.  This will create a mesh which contains all the edges of both the initial and the final meshes.  This ‘Calculation Mesh’ is used to generate volumes, and to present cut and fill maps. This final step of the process is extremely complex and is one of the most common sources of errors.

If an error occurs when merging an earthworks element into the terrain the software will identify the element that caused the error.  However, if an error occurs when generating the calculation mesh, it is not possible to identify a specific element that has caused the problem.  For this reason, these errors can be particularly difficult for our customers to resolve with the current error messages.

Step 1: A surface mesh is created for the element based on the features defined by the user.

Step 2: Batter slopes are generated to join the element to the terrain, based on the batter angles specified by the user.

Step 3: The element and slopes are merged into the terrain.

General Approach

At Kubla we use the following approaches to minimise the frequency and impact of calculation errors:

  • Thorough validation of the data that is input by the user. This minimises the likelyhood of situations that will cause errors.  
  • Continual improvement to make the calculations as robust as possible. Our developers are constantly working through calculation errors reported by users, and fixes are included in regular software updates.
  • Presenting error details to the user about errors when they occur, to enable them to resolve the issues themselves.
  • Directly supporting customers who run into calculation errors.

We believe that our validation, calculations and support are amongst the best available in the industry, although we continue to improve these areas.  However, it has become clear that our users are often finding that when error messages occur they are difficult to make sense of, and do not always provide enough information for them to find a solution on their own.  For this reason, the latest release of the software includes work to improve this aspect of the software.  This work is ongoing and will continue in subsequent updates.

The validator in Kubla Cubed aims to prevent errors in the terrain definition. It will block blatant errors, such as contour lines crossing each other with different levels. It will also warn the user about likely errors, such as one elevation which is very different from all of the others.

Improvements to Error Reporting

In earlier versions of the software, only one error message could be displayed to the user. This provided limited ability for our developers to communicate the source of the error to the user of the software.  One major upgrade to error reporting is to present the full error path to the user, which allows for much more detail about the error to be communicated to the user.

However, the most significant improvement to error reporting is the ability to display the region in which the error has occurred on the screen.  This allows our users to inspect the problem area, and see if they have made any mistake, or if they could simplify the way they have defined the ground levels in this area.  Sometimes even just moving some features in this area by a negligable amount may cause errors to go away.

However, it’s important to understand, that due to the complexity of the calculations it’s not always obvious where they have initially gone wrong.  The error regions displayed will sometimes represent a ‘best guess’ of the location of the source of the error.  The project should be checked in the vicinity of the identified error region, as well as within the region itself.  It should also be noted that it is not possible to identify an error region for every type of error, and it will not always be displayed.  However, the most common errors will now have error regions, and coverage will be expanded to more error types in the future.


The ability to view the error region, as well as the full error path are two significant upgrades to error reporting in Kubla Cubed