int MDBQARTpreprocessDef() { MFDefEntering ("QBARTpreprocess"); if (((_MDInDischargeID = MDDischargeDef ()) == CMfailed) || ((_MDInDischMeanID = MDDischMeanDef ()) == CMfailed) || ((_MDInAirTempID = MFVarGetID (MDVarAirTemperature,"degC", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInContributingAreaAccID = MFVarGetID (MDVarContributingAreaAcc, "km2", MFRoute, MFState, MFBoundary)) == CMfailed) || //((_MDInElevationID = MFVarGetID (MDVarElevation, "m", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInAirTempAcc_timeID = MFVarGetID (MDVarAirTemperatureAcc_time,"degC",MFOutput, MFState, MFInitial)) == CMfailed) || ((_MDInAirTempAcc_spaceID = MFVarGetID (MDVarAirTemperatureAcc_space,"degC",MFRoute, MFState, MFBoundary)) == CMfailed) || //((_MDOutElevationMaxID = MFVarGetID (MDVarElevationMax,"km",MFRoute, MFState, MFBoundary)) == CMfailed) || ((_MDInDischargeAccID = MFVarGetID (MDVarDischargeAcc, "m3/s",MFOutput, MFState, MFInitial)) == CMfailed) || ((_MDInTimeStepsID = MFVarGetID (MDVarTimeSteps, MFNoUnit,MFOutput, MFState, MFInitial)) == CMfailed) || // output ((_MDOutBQART_AID = MFVarGetID (MDVarBQART_A, "km2", MFRoute, MFState, MFBoundary)) == CMfailed) || ((_MDOutBQART_RID = MFVarGetID (MDVarBQART_R, "km" , MFRoute, MFState, MFBoundary)) == CMfailed) || ((_MDOutBQART_Qbar_m3sID = MFVarGetID (MDVarBQART_Qbar_m3s, "m3s", MFOutput, MFState, MFBoundary)) == CMfailed) || ((_MDOutBQART_Qbar_km3yID = MFVarGetID (MDVarBQART_Qbar_km3y, "km3/y", MFOutput, MFState, MFBoundary)) == CMfailed) || ((_MDOutBQART_TID = MFVarGetID (MDVarBQART_T, "degC", MFOutput, MFState, MFBoundary)) == CMfailed) || ((_MDOutDischMaxID = MFVarGetID(MDVarDischMax, "m3/s", MFOutput, MFState, MFInitial)) == CMfailed) || ((_MDOutYearCountID = MFVarGetID(MDVarYearCount, "", MFOutput, MFState, MFInitial)) == CMfailed) || ((_MDOutLogQMaxM2ID = MFVarGetID(MDVarLogQMaxM2, "m3/s", MFOutput, MFState, MFInitial)) == CMfailed) || ((_MDOutLogQMaxM3ID = MFVarGetID(MDVarLogQMaxM3, "m3/s", MFOutput, MFState, MFInitial)) == CMfailed) || ((_MDOutMeanLogQMaxID = MFVarGetID(MDVarMeanLogQMax , "m3/s", MFOutput, MFState, MFInitial)) == CMfailed) || ((_MDInBankfullQ5ID = MDBankfullQcalcDef()) == CMfailed) || (MFModelAddFunction (_MDQBARTpreprocess) == CMfailed)) return (CMfailed); MFDefLeaving ("QBARTpreprocess"); return (_MDOutBQART_TID); }
int MDWTempRiverRouteDef () { int optID = MFUnset, waterBalanceID; const char *optStr; const char *options [] = { "none", "calculate", (char *) NULL }; if (_MDWTempRiverRouteID != MFUnset) return (_MDWTempRiverRouteID); MFDefEntering ("Route river temperature"); if (((optStr = MFOptionGet (MDOptReservoirs)) == (char *) NULL) || ((optID = CMoptLookup ( options, optStr, true)) == CMfailed)) { CMmsgPrint(CMmsgUsrError,"Reservoir Option not specified! Option none or calculate"); return CMfailed; } if (optID==1) { if ((( waterBalanceID = MDWaterBalanceDef ()) == CMfailed) || ((_MDInResStorageChangeID = MFVarGetID (MDVarReservoirStorageChange, "km3", MFInput, MFState, MFBoundary)) == CMfailed) || //RJS 071511 ((_MDInResStorageID = MFVarGetID (MDVarReservoirStorage, "km3", MFInput, MFState, MFInitial)) == CMfailed) || //RJS 121311 changed from MFBoundary to MFInitial ((_MDInResCapacityID = MFVarGetID (MDVarReservoirCapacity, "km3", MFInput, MFState, MFBoundary)) == CMfailed)) return (CMfailed); } //input if (((_MDInDischargeID = MDDischargeDef ()) == CMfailed) || (( waterBalanceID = MDWaterBalanceDef ()) == CMfailed) || ((_MDInSolarRadID = MDSolarRadDef ()) == CMfailed) || ((_MDInWTempRiverID = MDWTempRiverDef ()) == CMfailed) || ((_MDInRiverWidthID = MDRiverWidthDef ()) == CMfailed) || ((_MDInRunoffVolumeID = MDRunoffVolumeDef ()) == CMfailed) || ((_MDInWdl_QxTID = MDThermalInputsDef ()) == CMfailed) || //RJS 072011 ((_MDInDischargeIncomingID = MFVarGetID (MDVarDischarge0, "m3/s", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInWindSpeedID = MFVarGetID (MDVarWindSpeed, "m/s", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInAirTemperatureID = MFVarGetID (MDVarAirTemperature, "degC", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInCloudCoverID = MFVarGetID (MDVarCloudCover, "%", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInRiverStorageChgID = MFVarGetID (MDVarRiverStorageChg, "m3/s", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInRiverStorageID = MFVarGetID (MDVarRiverStorage, "m3", MFInput, MFState, MFInitial)) == CMfailed) || ((_MDInSnowPackID = MFVarGetID (MDVarSnowPack, "mm", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInWarmingTempID = MFVarGetID (MDVarWarmingTemp, "degC", MFInput, MFState, MFBoundary)) == CMfailed) || //RJS 072011 ((_MDInThermalWdlID = MFVarGetID (MDVarThermalWdl, "-", MFInput, MFState, MFBoundary)) == CMfailed) || //RJS 072011 // output ((_MDLocalIn_QxTID = MFVarGetID (MDVarBgcLocalIn_QxT, "m3*degC/d", MFOutput, MFFlux, MFBoundary)) == CMfailed) || ((_MDRemoval_QxTID = MFVarGetID (MDVarRemoval_QxT, "m3*degC/d", MFOutput, MFFlux, MFBoundary)) == CMfailed) || ((_MDFlux_QxTID = MFVarGetID (MDVarFlux_QxT, "m3*degC/d", MFRoute, MFFlux, MFBoundary)) == CMfailed) || ((_MDStorage_QxTID = MFVarGetID (MDVarStorage_QxT, "m3*degC", MFOutput, MFState, MFInitial)) == CMfailed) || ((_MDDeltaStorage_QxTID = MFVarGetID (MDVarDeltaStorage_QxT, "m3*degC/d", MFOutput, MFFlux, MFBoundary)) == CMfailed) || ((_MDWTemp_QxTID = MFVarGetID (MDVarWTemp_QxT, "degC", MFOutput, MFState, MFBoundary)) == CMfailed) || ((_MDWTempDeltaT_QxTID = MFVarGetID (MDVarWTempDeltaT_QxT, "degC", MFOutput, MFState, MFBoundary)) == CMfailed) || //output mixing ((_MDFluxMixing_QxTID = MFVarGetID (MDVarFluxMixing_QxT, "m3*degC/d", MFRoute, MFFlux, MFBoundary)) == CMfailed) || ((_MDStorageMixing_QxTID = MFVarGetID (MDVarStorageMixing_QxT, "m3*degC", MFOutput, MFState, MFInitial)) == CMfailed) || ((_MDDeltaStorageMixing_QxTID = MFVarGetID (MDVarDeltaStorageMixing_QxT, "m3*degC/d", MFOutput, MFFlux, MFBoundary)) == CMfailed) || ((_MDWTempMixing_QxTID = MFVarGetID (MDVarWTempMixing_QxT, "degC", MFOutput, MFState, MFBoundary)) == CMfailed) || (MFModelAddFunction (_MDWTempRiverRoute) == CMfailed)) return (CMfailed); MFDefLeaving ("Route river temperature"); return (_MDWTemp_QxTID); }
int MDBgcDINRoutingDef () { int optID = MFUnset; const char *optStr; const char *options [] = { "none", "calculate", (char *) NULL }; //const char *options [] = { MDNoneStr, (char *) NULL }; if (_MDFlux_DINID != MFUnset) return (_MDFlux_DINID); MFDefEntering ("DIN Routing Calculation"); if (((optStr = MFOptionGet (MDOptReservoirs)) == (char *) NULL) || ((optID = CMoptLookup ( options, optStr, true)) == CMfailed)) { CMmsgPrint(CMmsgUsrError,"Reservoir Option not specified! Option none or calculate \n"); return CMfailed; } if (optID==1){ // printf ("Resoption=%i\n",optID); if (((_MDInResStorageID = MFVarGetID (MDVarReservoirStorage, "km3", MFInput, MFState, MFInitial)) == CMfailed) || ((_MDInResStorageChangeID = MFVarGetID (MDVarReservoirStorageChange, "km3/s", MFInput, MFState, MFBoundary)) == CMfailed)) return CMfailed; } // Input if (((_MDInDischargeID = MDDischargeDef ()) == CMfailed) || ((_MDInRiverWidthID = MDRiverWidthDef ()) == CMfailed) || ((_MDInRunoffVolumeID = MDRunoffVolumeDef ()) == CMfailed) || ((_MDInRunoffID = MDRunoffDef ()) == CMfailed) || ((_MDInWTempRiverRouteID = MDWTempRiverRouteDef ()) == CMfailed) || ((_MDInRiverStorageChgID = MFVarGetID (MDVarRiverStorageChg, "m3/s", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInRiverStorageID = MFVarGetID (MDVarRiverStorage, "m3", MFInput, MFState, MFInitial)) == CMfailed) || ((_MDInPointScenarioID = MFVarGetID (MDVarPointScenario, MFNoUnit, MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDNonPoint_DINID = MFVarGetID (MDVarBGCNonPoint_DIN, "kg/m3", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDPointSources_DINID = MFVarGetID (MDVarBGCPointSources_DIN, "kg/day", MFInput, MFState, MFBoundary)) == CMfailed) || // Output ((_MDLocalIn_DINID = MFVarGetID (MDVarDINLocalIn, "kg/d", MFOutput, MFFlux, MFBoundary)) == CMfailed) || ((_MDRemoval_DINID = MFVarGetID (MDVarDINRemoval, "kg/d", MFOutput, MFFlux, MFBoundary)) == CMfailed) || ((_MDConc_DINID = MFVarGetID (MDVarDINConcentration, "kg/m3", MFOutput, MFState, MFBoundary)) == CMfailed) || ((_MDStorage_DINID = MFVarGetID (MDVarDINStorage, "kg", MFOutput, MFState, MFInitial)) == CMfailed) || ((_MDDeltaStorage_DINID = MFVarGetID (MDVarDINDeltaStorage, "kg/day", MFOutput, MFFlux, MFBoundary)) == CMfailed) || ((_MDFlux_DINID = MFVarGetID (MDVarDINFlux , "kg/day", MFRoute, MFFlux, MFBoundary)) == CMfailed) || ((_MDConcMixing_DINID = MFVarGetID (MDVarDINConcentration_Mixing, "kg/m3", MFOutput, MFState, MFBoundary)) == CMfailed) || ((_MDStorageMixing_DINID = MFVarGetID (MDVarDINStorage_Mixing, "kg", MFOutput, MFState, MFInitial)) == CMfailed) || ((_MDDeltaStorageMixing_DINID = MFVarGetID (MDVarDINDeltaStorage_Mixing, "kg/day", MFOutput, MFFlux, MFBoundary)) == CMfailed) || ((_MDFluxMixing_DINID = MFVarGetID (MDVarDINFlux_Mixing , "kg/day", MFRoute, MFFlux, MFBoundary)) == CMfailed) || (MFModelAddFunction (_MDDINRouting) == CMfailed)) return (CMfailed); MFDefLeaving ("DIN Routing Calculation"); return (_MDFlux_DINID); }
int MDWaterBalanceDef() { MFDefEntering ("WaterBalance"); if (( MDAccumBalanceDef () == CMfailed) || ((_MDInPrecipID = MDPrecipitationDef ()) == CMfailed) || ((_MDInDischargeID = MDDischargeDef ()) == CMfailed) || ((_MDInSnowPackChgID = MDSPackChgDef ()) == CMfailed) || ((_MDInSoilMoistChgID = MDSoilMoistChgDef ()) == CMfailed) || ((_MDInRunoffID = MDRunoffDef ()) == CMfailed) || ((_MDInEvaptrsID = MFVarGetID (MDVarEvapotranspiration, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInGrdWatChgID = MFVarGetID (MDVarGroundWaterChange, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInRunoffPoolChgID = MFVarGetID (MDVarRunoffPoolChg, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDOutWaterBalanceID = MFVarGetID (MDVarWaterBalance, "mm", MFOutput, MFFlux, MFBoundary)) == CMfailed) || (MFModelAddFunction(_MDWaterBalance) == CMfailed)) return (CMfailed); if ((_MDInIrrGrossDemandID = MDIrrGrossDemandDef ()) != MFUnset) { if ((_MDInIrrGrossDemandID == CMfailed) || ((_MDInIrrUptakeRiverID = MDIrrUptakeRiverDef ()) == CMfailed) || ((_MDInIrrUptakeGrdWaterID = MDIrrUptakeGrdWaterDef ()) == CMfailed) || ((_MDInIrrSoilMoistChgID = MDIrrSoilMoistChgDef ()) == CMfailed) || ((_MDInIrrAreaFracID = MDIrrigatedAreaDef ())== CMfailed) || ((_MDInIrrEvapotranspID = MFVarGetID (MDVarIrrEvapotranspiration, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInIrrReturnFlowID = MFVarGetID (MDVarIrrReturnFlow, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInIrrUptakeExcessID = MFVarGetID (MDVarIrrUptakeExcess, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDOutIrrUptakeBalanceID = MFVarGetID (MDVarIrrUptakeBalance, "mm", MFOutput, MFFlux, MFBoundary)) == CMfailed) || ((_MDOutIrrWaterBalanceID = MFVarGetID (MDVarIrrWaterBalance, "mm", MFOutput, MFFlux, MFBoundary)) == CMfailed)) return (CMfailed); if ((_MDInSmallResReleaseID = MDSmallReservoirReleaseDef ()) != MFUnset) { if (( _MDInSmallResReleaseID == CMfailed) || ((_MDInSmallResEvapoID = MFVarGetID (MDVarSmallResEvaporation, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInSmallResStorageChgID = MFVarGetID (MDVarSmallResStorageChange, "mm", MFInput, MFState, MFInitial)) == CMfailed)) return (CMfailed); } } MFDefLeaving ("WaterBalance"); return (_MDOutWaterBalanceID); }
int MDWaterBalanceDef() { enum { MDaccumulate, MDmuskingum, MDcascade }; int RoptID = MFUnset; const char *RoptStr, *RoptName = MDOptRouting; const char *Roptions [] = { "accumulate", "muskingum", "cascade", (char *) NULL }; if ((RoptStr = MFOptionGet (RoptName)) != (char *) NULL) RoptID = CMoptLookup (Roptions, RoptStr, true); enum { MDinput, MDcalculate, MDinput2}; int optID = MFUnset; const char *optStr, *optName = MDVarRunoff; const char *options [] = { MDInputStr, MDCalculateStr, MDInput2Str, (char *) NULL }; MFDefEntering ("WaterBalance"); if ((optStr = MFOptionGet (optName)) != (char *) NULL) optID = CMoptLookup (options, optStr, true); switch (optID) { case MDcalculate: // Build the calculation hierarchy if (( MDAccumBalanceDef () == CMfailed) || ((_MDInPrecipID = MDPrecipitationDef ()) == CMfailed) || ((_MDInDischargeID = MDDischargeDef ()) == CMfailed) || ((_MDInSnowPackChgID = MDSPackChgDef ()) == CMfailed) || ((_MDInSoilMoistChgID = MDSoilMoistChgDef ()) == CMfailed) || ((_MDInRunoffID = MDRunoffDef ()) == CMfailed) ) return (CMfailed); // Fill in the routing parameters switch (RoptID) { case MDaccumulate: //Nothing to do break; case MDmuskingum: if ( ((_MDInMuskingumC0ID = MFVarGetID(MDVarMuskingumC0, MFNoUnit,MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInMuskingumC1ID = MFVarGetID(MDVarMuskingumC1, MFNoUnit,MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInMuskingumC2ID = MFVarGetID(MDVarMuskingumC2, MFNoUnit,MFInput, MFState, MFBoundary)) == CMfailed) ) return (CMfailed); break; case MDcascade: if ( ((_MDInCascadeC0ID = MFVarGetID(MDVarCascadeC0, MFNoUnit,MFInput, MFState, MFBoundary)) == CMfailed) ) return (CMfailed); break; } // Continue with remaining parameters and add function if ( // ((_MDInEvaptrsID = MFVarGetID (MDVarEvapotranspiration, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInGrdWatChgID = MFVarGetID (MDVarGroundWaterChange, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInRunoffPoolChgID = MFVarGetID (MDVarRunoffPoolChg, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInRunoffPoolID = MFVarGetID (MDVarRunoffPool, "mm", MFInput, MFState, MFInitial)) == CMfailed) || ((_MDInRunoffPoolRechargeID = MFVarGetID (MDVarRunoffPoolRecharge, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInRunoffPoolReleaseID = MFVarGetID (MDVarRunoffPoolRelease, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInStormRunoffImpID = MFVarGetID (MDVarStormRunoffImp, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInStormRunoffH2OID = MFVarGetID (MDVarStormRunoffH2O, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInPrecipPervID = MFVarGetID (MDVarPrecipPerv, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInStormRunoffTotalID = MFVarGetID (MDVarStormRunoffTotal, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInRunofftoPervID = MFVarGetID (MDVarRunofftoPerv, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInPetID = MFVarGetID (MDVarRainPotEvapotrans, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInEvaptrsID = MFVarGetID (MDVarRainEvapotranspiration, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInEvaptrsNotScaledID = MFVarGetID (MDVarRainETnotScaled, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || // RJS 082812 ((_MDInSoilMoistNotScaledID = MFVarGetID (MDVarRainSoilMoistureNotScaled, "mm", MFInput, MFState, MFInitial)) == CMfailed) || ((_MDInSoilMoistChgNotScaledID = MFVarGetID (MDVarRainSoilMoistureChangeNotScaled, "mm", MFInput, MFState, MFInitial)) == CMfailed) || ((_MDInSoilMoistID = MFVarGetID (MDVarRainSoilMoisture, "mm", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInSoilAvailWaterCapID = MFVarGetID (MDVarSoilAvailWaterCap, "mm", MFInput, MFFlux, MFInitial)) == CMfailed) || ((_MDInExcessID = MFVarGetID (MDVarExcess, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || // RJS 091813 ((_MDInExcessNotScaledID = MFVarGetID (MDVarExcessNotScaled, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || // RJS 091813 ((_MDInImpFractionID = MFVarGetID (MDVarImpFracSpatial, "-", MFInput, MFState, MFBoundary)) == CMfailed) || // RJS 082812 ((_MDInH2OFractionID = MFVarGetID (MDVarH2OFracSpatial, "-", MFInput, MFState, MFBoundary)) == CMfailed) || // RJS 082812 ((_MDInQPreID = MFVarGetID (MDVarQPre, "m3/s", MFInput, MFState, MFInitial)) == CMfailed) || // RJS 100213 ((_MDInQCurID = MFVarGetID (MDVarQCur, "m3/s", MFInput, MFState, MFInitial)) == CMfailed) || // RJS 100213 ((_MDInQOutID = MFVarGetID (MDVarQOut, "m3/s", MFInput, MFState, MFInitial)) == CMfailed) || // RJS 100213 ((_MDInDischRJSID = MFVarGetID (MDVarDischRJS, "m3/s", MFInput, MFState, MFInitial)) == CMfailed) || // RJS 100213 ((_MDInRiverStorChgID = MFVarGetID (MDVarRiverStorageChg, "m3", MFInput, MFFlux, MFBoundary)) == CMfailed) || // RJS 100213 ((_MDInRiverStorageID = MFVarGetID (MDVarRiverStorage, "m3", MFInput, MFState, MFInitial)) == CMfailed) || // RJS 100213 ((_MDInRunoffVolumeID = MFVarGetID (MDVarRunoffVolume, "m3/s", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInRainWaterSurplusID = MFVarGetID (MDVarRainWaterSurplus, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInRainSurfRunoffID = MFVarGetID (MDVarRainSurfRunoff, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInRainInfiltrationID = MFVarGetID (MDVarRainInfiltration, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInGrdWatID = MFVarGetID (MDVarGroundWater, "mm", MFInput, MFState, MFInitial)) == CMfailed) || ((_MDInGrdWatRechargeID = MFVarGetID (MDVarGroundWaterRecharge, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInBaseFlowID = MFVarGetID (MDVarBaseFlow, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInSnowFallID = MFVarGetID (MDVarSnowFall, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInSnowMeltID = MFVarGetID (MDVarSnowMelt, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInSnowPackID = MFVarGetID (MDVarSnowPack, "mm", MFInput, MFState, MFInitial)) == CMfailed) || ((_MDInTotalSurfRunoffID = MFVarGetID (MDVarTotalSurfRunoff, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDInPropROStormWaterID = MFVarGetID (MDVarPropROStormWater, "-", MFInput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDInPropROSurfaceWaterID = MFVarGetID (MDVarPropROSurfaceWater, "-", MFInput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDInPropROGroundWaterID = MFVarGetID (MDVarPropROGroundWater, "-", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInQStormWaterID = MFVarGetID (MDVarQStormWater, "m3/s", MFInput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDInQSurfaceWaterID = MFVarGetID (MDVarQSurfaceWater, "m3/s", MFInput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDInQGroundWaterID = MFVarGetID (MDVarQGroundWater, "m3/s", MFInput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDInPropRSStormWaterID = MFVarGetID (MDVarPropRSStormWater, "-", MFInput, MFState, MFInitial)) == CMfailed) || // RJS 100313 ((_MDInPropRSSurfaceWaterID = MFVarGetID (MDVarPropRSSurfaceWater, "-", MFInput, MFState, MFInitial)) == CMfailed) || // RJS 100313 ((_MDInPropRSGroundWaterID = MFVarGetID (MDVarPropRSGroundWater, "-", MFInput, MFState, MFInitial)) == CMfailed) || // RJS 100313 ((_MDInPropQinStormWaterID = MFVarGetID (MDVarPropQinStormWater, "-", MFInput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDInPropQinSurfaceWaterID = MFVarGetID (MDVarPropQinSurfaceWater, "-", MFInput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDInPropQinGroundWaterID = MFVarGetID (MDVarPropQinGroundWater, "-", MFInput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDInPropRSinStormWaterID = MFVarGetID (MDVarPropRSinStormWater, "-", MFInput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDInPropRSinSurfaceWaterID = MFVarGetID (MDVarPropRSinSurfaceWater, "-", MFInput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDInPropRSinGroundWaterID = MFVarGetID (MDVarPropRSinGroundWater, "-", MFInput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDInPropROFlagID = MFVarGetID (MDVarPropROFlag, "-", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInQFlagID = MFVarGetID (MDVarQFlag, "m3/s", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInPropRSFlagID = MFVarGetID (MDVarPropRSFlag, "-", MFInput, MFState, MFInitial)) == CMfailed) || ((_MDInPropQinFlagID = MFVarGetID (MDVarPropQinFlag, "-", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDInPropRSinFlagID = MFVarGetID (MDVarPropRSinFlag, "-", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDOutWaterBalanceID = MFVarGetID (MDVarWaterBalance, "mm", MFOutput, MFFlux, MFBoundary)) == CMfailed) || (MFModelAddFunction(_MDWaterBalance) == CMfailed)) return (CMfailed); break; case MDinput: // RJS 061312 if (((_MDInRunoffID = MDRunoffDef ()) == CMfailed) || ((_MDOutWaterBalanceID = MFVarGetID (MDVarWaterBalance, "mm", MFOutput, MFFlux, MFBoundary)) == CMfailed) || (MFModelAddFunction (_MDWaterBalanceInput) == CMfailed)) return (CMfailed); // RJS 061312 break; case MDinput2: // RJS 061312 if (((_MDInRunoffID = MDRunoffDef ()) == CMfailed) || ((_MDOutWaterBalanceID = MFVarGetID (MDVarWaterBalance, "mm", MFOutput, MFFlux, MFBoundary)) == CMfailed) || (MFModelAddFunction (_MDWaterBalanceInput) == CMfailed)) return (CMfailed); // RJS 061312 break; default: MFOptionMessage (optName, optStr, options); return (CMfailed); } MFDefLeaving ("WaterBalance"); return (_MDOutWaterBalanceID); }