Open CEKrause opened 7 years ago
.csv file that outlines: data classifier, description, roughness length
Read this when needed (point to file in .ini). Calculate the Mz value from the roughness length within the code i.e. not provided.
Mz = -0.2827 * np.log(0.4554*np.log(zo) + 3.734) + 1.0762
where zo
is the roughness length (metres)
Need to go back and detail the derivation of this relationship
Also need to update the test_terrain test once this issue is sorted out.
Terrain classification now uses an input csv to define, rather than hard coding. An example "terrain_table" has been added to the repo in input. Need to update documentation (see #8).
I've put together a IPython Notebook that details the determination of the relationship from above.
The end values are different, and depend on the chosen nominal height of buildings, for which the terrain multiplier is being determined.
Need to account for height within the fit function.
Terrain multiplier classification assumes that the classified dataset is classified using values between 1 and 15. The code then uses a look up table to convert these classes to a roughness parameter.
If the terrain classification is not exactly as expected, it returns all zeros, and then fails a non-zero check, and passes over the terrain multipliers.
Need to alter the way
terrain_class2mz_orig(data):
handles the classification data.