@@ -230,19 +230,19 @@ bool ParseInitialConditionsFile(CModel *&pModel, const optStruct &Options)
230230 typ = pModel->GetStateVarInfo ()->StringToSVType (s[1 ],layer_ind,false );
231231
232232 if (typ==UNRECOGNIZED_SVTYPE){
233- WriteWarning (" :UniformInitialConditions: unrecognized state variable type " +to_string (s[1 ]),Options.noisy );
234- break ;
235- }
236-
237- SVind=pModel->GetStateVarIndex (typ,layer_ind);
238-
239- if (SVind!=DOESNT_EXIST){
240- for (k=0 ;k<pModel->GetNumHRUs ();k++){
241- SetInitialStateVar (pModel,SVind,typ,layer_ind,k,s_to_d (s[2 ]));
233+ WriteWarning (" :UniformInitialConditions: unrecognized state variable type " +to_string (s[1 ]),Options.noisy );break ;
234+ }
235+ else {
236+ SVind=pModel->GetStateVarIndex (typ,layer_ind);
237+
238+ if (SVind!=DOESNT_EXIST){
239+ for (k=0 ;k<pModel->GetNumHRUs ();k++){
240+ SetInitialStateVar (pModel,SVind,typ,layer_ind,k,s_to_d (s[2 ]));
241+ }
242+ }
243+ else {
244+ WriteWarning (" Initial conditions specified for state variable not in model (" +to_string (s[1 ])+" )" ,Options.noisy );
242245 }
243- }
244- else {
245- WriteWarning (" Initial conditions specified for state variable not in model (" +to_string (s[1 ])+" )" ,Options.noisy );
246246 }
247247 }
248248 else {
@@ -942,7 +942,9 @@ bool ParseInitialConditionsFile(CModel *&pModel, const optStruct &Options)
942942 // check quality of initial state variables
943943 // ======================================================================
944944 CHydroUnit *pHRU;
945- double *v=new double [pModel->GetNumStateVars ()];
945+ double *v=NULL ;
946+ v=new double [pModel->GetNumStateVars ()];
947+ ExitGracefullyIf (v == NULL , " ParseInitialConditionsFile: out of memory " ,OUT_OF_MEMORY);
946948 for (int k=0 ;k<pModel->GetNumHRUs ();k++)
947949 {
948950 pHRU=pModel->GetHydroUnit (k);
0 commit comments