Targeting the use of multiple Raven models in parallel through NextGen, the following changes1 were made by reducing the scope of global variables (issue #9):
moved the following components out of global context into internal attributes of CModel:
optStruct Options;
CGlobalParams;
CSoilClass;
CVegetationClass;
CTerrainClass;
CSoilProfile;
CChannelXSect;
pStateVar;
turned the following static attributes into non-static:
CGWRiverConnection::pGWModel;
CGWSWProcessABC::pGWModel;
CHydroProcessABC::pModel;
LateralExchangeABC::_pModel;
LateralExchangeABC::_nLatFlowProcesses (moved as CModel::_nLatFlowProcesses);
CmvConvolution::_nConv (moved as CModel::_nConv).
also:
moved Gracefully Ending functions into separated files;
CMake was set up to use different Gracefully Ending functions for standalone and shared lib builds;
renamed BMI input from 'rainfall' to 'precipitation'.
Note1: each second-level bullet point has an individual commit with specific changes.
Targeting the use of multiple Raven models in parallel through NextGen, the following changes1 were made by reducing the scope of global variables (issue #9):
moved the following components out of global context into internal attributes of CModel:
turned the following static attributes into non-static:
also:
Note1: each second-level bullet point has an individual commit with specific changes.