USACE / go-consequences

A lightweight consequences computational engine written in Go
MIT License
14 stars 11 forks source link

Reexamine structure height normalization assumption #74

Closed trietmnj closed 3 years ago

trietmnj commented 3 years ago

https://github.com/USACE/go-consequences/blob/a9f63830065e5150dd88ca01ac554c56607ec0ef/structures/structure.go#L111

Not sure using ceil instead of normal rounding here is good. If the x-max(damageFunction) = 19ft, the implicit assumption is that the 3rd floor would be 1ft tall.

HenryGeorgist commented 3 years ago

almost all approaches lack something. Midpoint rounding can address some of that if we want to take that approach.

HenryGeorgist commented 3 years ago

@trietmnj is this ticket addressed?

trietmnj commented 3 years ago

I'm not sure. So the error margin would be like adding an overestimation factor with domain: 0 <= over_est <9 ft to the prototype curve, so it's kind of like

Val_mod = val_original * (representative_ft + over_est) / actual_ft

Break that down and you get

Val_mod = val_original (representative_ft / actual_ft) + val_original (over_est / actual_ft)

The ratio of (over_est / actual_est) in the 2nd term would be like the % of overestimation. Since the over_est is capped at 9, the higher the actual building height is, the lower that overestimation will be. So if the building is at say 3 floors ~ 27ft, the worst case would be an overestimation of 9/27=33%, it would be 9/90=10% at 10 floors ~ 90ft. The higher stories are probably the ones we would be worried about since their values would be high too. It's like a self correcting error, so I guess there should be no problem.