Rondal, the first set of calculations look correct and match what I can calculate here. The precipitation is what is driving most of the impact. The
scale,i.e. 0%, should match the Water Level presented in the UI via the App unless the OWM forecast has changed materially. This might occur if the precip forecast by OWM has increased in the last half hour. You can “force” the App to update the Water Level by going into the Map and slightly changing the location and then saving/submitting. This might make it easier to get two similarly timed calls (one via App and one direct to Weather Service) to compare.
Note that the Diagnostic page is not about miss-labeling. The actual values are not what is used in the Zimmerman calc. The values shown are the “current” temp, humidity etc rather than the forecast values. So using those to try any diagnose will not help. If you are going to go into the source then note that “master” is a good many commits beyond the live production service.