This is an improvement over having two separate functions, depending on the parameter type. Other runup functions should be written in a similar style.
Needed to ensure correctly mean slope is calculated. If only inputting dune toe z coordinates, sometimes the function can chose the wrong x coordinate if there are multiple crossings of the z coordinate.
Logging now uses .yaml file and is stored in the utils.py file. New CLI entrypoint has been created cli.py to deal with relative import issues - when running the analysis, this should be used as the main entrypoint.
Mitch has updated profiles.mat to include more information, like time of LIDAR acquisition, profile flags and recovery profiles. The updates to the code parse this new information.
In raw beach profile data, the end of some cross-sections can be padded with zero values. This probably shouldn't be the case - if we wanted to assume a zero elevation at these locations, we should do that in whatever calculation, not in the raw data.
The added function will detect these padded zero values and replace them with nans.
Added two extra considerations:
1) Need to distinguish between positive and negative values when calculating distance to starting point, hence the seaward and landward intersecting lines.
2) Need to consider only checking lines with the same beach property, otherwise it is going to take too long when we have all the beaches