CSHS-CWRA / RavenHydroFramework

repository for the Raven Hydrological Modelling Framework developed at the University of Waterloo
Artistic License 2.0
22 stars 12 forks source link

Hydrographs differ when running a small part of a larger model #20

Open BernardoTeufel opened 10 months ago

BernardoTeufel commented 10 months ago

Setup Information

Description

Ran two similar routing-only Raven simulations forced by gridded runoff. One for the entire Mackenzie basin, and the second upstream of the outlet of Great Bear Lake.

There are three gauges in the shared domain. For the gauge without any lakes in the upstream area (sub2024874), the results look almost as expected (no difference whatsoever between both hydrographs), except for the last timestep:

image

For the other two gauges (which have upstream lakes), simulations differ significantly:

image image

Steps To Reproduce

No response

Additional context

No response

Contribution

analytophile commented 10 months ago

Hi Bernardo - can you generate and check the ForcingFunctions.csv file to ensure these are identical, then also examine the differences between ReservoirStages.csv and ReservoirMassBalance.csv files so we can pinpoint the source of the deviation. Its hard with a Mackenzie-sized model to nail this down to the actual problem.

BernardoTeufel commented 10 months ago

Hi James, wouldn't ForcingFunctions.csv be expected to be different? (Mackenzie-average vs Great Bear-average)

ReservoirMassBalance.csv narrowed down the problem. Precip is always same for both simulations, inflows are also equal when there are no upstream lakes, but outflows (and stages, and volumes) are always different. This hints at evaporation as the culprit, but it is incorrectly reported as zero in the file (see #21)

Setting evaporation to zero (desirable for my case) gets rid of the differences: (v3.7) :OW_Evaporation PET_NONE (v3.6) :OW_Evaporation PET_CONSTANT (with the hardcoded constant changed to zero)

analytophile commented 9 months ago

I believe this was fixed in revision fb00c23 - it was an issue that was arising when land use parameter LAKE_PET_CORR was not specified in the .rvp file. Could you specify this parameter as 1.0 in v3.7 with a PET method other than PET_NONE and verify whether the issue is reconciled?

BernardoTeufel commented 9 months ago

I've used the latest version from this repository, and I've set LAKE_PET_CORR to 1.0 in the .rvp file for both simulations. I did not specify any PET method, which defaults to PET_HARGREAVES_1985.

The issue still occurs. I looked into ReservoirMassBalance.csv and confirmed that the issue is (still) related to evaporation (black line is Great Bear simulation, red line is entire Mackenzie, for the same reservoir in both simulations):

image

I looked into the PET_HARGREAVES_1985 algorithm, which depends only on temperature (F->temp_daily_max, F->temp_daily_min and F->temp_daily_ave) and radiation (F->ET_radia). Radiation is identical for both simulations, but temperature can differ by over 10 degC between both simulations (first 5 days are identical, then differences start to grow):

image

Plot is for difference in F->temp_daily_ave, and plots for max and min look similar.

analytophile commented 8 months ago

how are you supplying temperature forcings to the model? i.e., is this gage-based or gridded temperature data? I assume that these are temperatures for the reservoir HRU, correct? And that supplied temperature datasets are identical?

BernardoTeufel commented 8 months ago

I'm supplying gridded temperature data (hourly data), and both simulations are reading the same file. The temperatures I plotted are indeed for the reservoir HRU.