Skip to content

Commit a34e53b

Browse files
James CraigJames Craig
authored andcommitted
v510 - bug fix to snowfrac calc rain/snow gridded inputs
bug found by H. Shen, uWaterloo
1 parent 215ed80 commit a34e53b

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/ForcingGrid.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1902,16 +1902,18 @@ double CForcingGrid::GetWeightedAverageSnowFrac(const int k,const double &t,cons
19021902
if ((k<0) || (k>_nHydroUnits)){ExitGracefully("CForcingGrid::GetWeightedAverageSnowFrac: invalid HRU index",RUNTIME_ERR); }
19031903
#endif
19041904

1905+
int idx_new = GetTimeIndex(t,tstep);
19051906
int nSteps = max(1,(int)(rvn_round(tstep/_interval)));//# of intervals in time step
19061907
double wt,sum=0.0;
19071908
double snow; double rain;
1909+
int ic;
19081910
for (int i=0;i<_nWeights[k];i++)
19091911
{
1910-
int ic=_CellIDToIdx[_GridWtCellIDs[k][i]];
1912+
ic=_CellIDToIdx[_GridWtCellIDs[k][i]];
19111913
wt = _GridWeight[k][i];
1912-
snow = GetValue_avg(ic, t, nSteps);
1914+
snow = GetValue_avg(ic, idx_new, nSteps);
19131915
if(snow>0.0){
1914-
rain=pRain->GetValue_avg(ic, t, nSteps);
1916+
rain=pRain->GetValue_avg(ic, idx_new, nSteps);
19151917
sum+= wt * snow/(snow+rain);
19161918
}
19171919
}

src/StandardOutput.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1232,8 +1232,8 @@ void CModel::WriteMinorOutput(const optStruct &Options,const time_struct &tt)
12321232
pFave = &faveStruct;
12331233
_FORCINGS<<usetime<<","<<usedate<<","<<usehour<<",";
12341234
_FORCINGS<<pFave->day_angle<<",";
1235-
_FORCINGS<<pFave->precip*(1-pFave->snow_frac) <<",";
1236-
_FORCINGS<<pFave->precip*(pFave->snow_frac) <<",";
1235+
_FORCINGS<<pFave->precip*(1.0-pFave->snow_frac) <<",";
1236+
_FORCINGS<<pFave->precip*( pFave->snow_frac) <<",";
12371237
_FORCINGS<<pFave->temp_ave<<",";
12381238
_FORCINGS<<pFave->temp_daily_min<<",";
12391239
_FORCINGS<<pFave->temp_daily_max<<",";

0 commit comments

Comments
 (0)