Skip to content

Commit c7ba819

Browse files
James CraigJames Craig
authored andcommitted
v523 - lake assimilation bug fix
bug fix: glitch in AdjustFlows for lake assimilation (found by City of Calgary) (Reservoir.cpp;SubBasin.cpp) Changed error to warning when no assimilation points provided but assimilation is on (Assimilate.cpp)
1 parent 874527b commit c7ba819

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

src/Assimilate.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void CModel::InitializeDataAssimilation(const optStruct &Options)
5353
}
5454
}
5555
if(count==0) {
56-
ExitGracefully("InitializeDataAssimlation: :AssimilateStreamflow command was used in .rvi file, but no observations were enabled for assimilation using :AssimilateStreamflow command in .rvt file",BAD_DATA_WARN);
56+
WriteWarning("InitializeDataAssimlation: :AssimilateStreamflow command was used in .rvi file, but no observations were enabled for assimilation using :AssimilateStreamflow command in .rvt file",Options.noisy);
5757
}
5858
}
5959

src/Reservoir.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1232,6 +1232,11 @@ double CReservoir::ScaleFlow(const double& scale,const bool overriding, const do
12321232
}
12331233
double CReservoir::AdjustFlow(const double& Qadjust, const bool overriding, const double& tstep, const double& t)
12341234
{
1235+
1236+
_DAscale=1.0;
1237+
_DAscale_last=1.0;
1238+
return 0.0; //scaling always stops at reservoir or only adjusts inflow
1239+
12351240
double scale=(_Qout+Qadjust)/_Qout;
12361241
if (_Qout=0){scale=1.0;}
12371242

src/SubBasin.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,10 +1475,10 @@ double CSubBasin::AdjustAllFlows(const double &adjust, const bool overriding, co
14751475
}
14761476

14771477
if(_pReservoir!=NULL) {
1478-
va+=_pReservoir->ScaleFlow(adjust,overriding,tstep,t);
1478+
va+=_pReservoir->AdjustFlow(adjust,overriding,tstep,t);
14791479
}
14801480

1481-
//Estivate volume added through scaling
1481+
//Estimate volume added through scaling
14821482
//_channel_storage+=adjust*tstep*SEC_PER_DAY; //va+=_channel_storage*sf;
14831483
//_rivulet_storage+=adjust*tstep*SEC_PER_DAY; //va+=_rivulet_storage*sf;
14841484
return va;

0 commit comments

Comments
 (0)