int MDRunoffDef () { int optID = MFUnset; const char *optStr, *optName = MDVarRunoff; const char *options [] = { MDInputStr, MDCalculateStr, "corrected", MDInput2Str, (char *) NULL }; if (_MDOutRunoffID != MFUnset) return (_MDOutRunoffID); MFDefEntering ("Runoff"); if ((optStr = MFOptionGet (optName)) != (char *) NULL) optID = CMoptLookup (options, optStr, true); switch (optID) { // case MDinput: _MDOutRunoffID = MFVarGetID (MDVarRunoff, "mm", MFInput, MFFlux, MFBoundary); break; // RJS commented out 061312 case MDinput: // RJS 061312 if (((_MDInBaseFlowID = MFVarGetID (MDVarBaseFlow, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || // RJS 061312 // ((_MDInRunoffPoolReleaseID = MFVarGetID (MDVarRunoffPoolRelease, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || // RJS 061312, commented out 082812 ((_MDInTotalSurfRunoffID = MFVarGetID (MDVarTotalSurfRunoff, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || // RJS 082812 ((_MDOutPropROStormWaterID = MFVarGetID (MDVarPropROStormWater, "-", MFOutput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDOutPropROSurfaceWaterID = MFVarGetID (MDVarPropROSurfaceWater, "-", MFOutput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDOutPropROGroundWaterID = MFVarGetID (MDVarPropROGroundWater, "-", MFOutput, MFState, MFBoundary)) == CMfailed) || ((_MDOutTotalSurfRunoffID = MFVarGetID (MDVarTotalSurfRunoff, "mm", MFOutput, MFFlux, MFBoundary)) == CMfailed) || ((_MDOutRunoffID = MFVarGetID (MDVarRunoff, "mm", MFOutput, MFFlux, MFBoundary)) == CMfailed) || // RJS 061312 (MFModelAddFunction (_MDRunoffInput) == CMfailed)) return (CMfailed); // RJS 061312 break; // RJS 061312 case MDinput2: if (((_MDInBaseFlowID = MDBaseFlowDef ()) == CMfailed) || ((_MDInRunoffPoolReleaseID = MDSurfRunoffPoolDef ()) == CMfailed) || // RJS 042612 ((_MDOutPropROStormWaterID = MFVarGetID (MDVarPropROStormWater, "-", MFOutput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDOutPropROSurfaceWaterID = MFVarGetID (MDVarPropROSurfaceWater, "-", MFOutput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDOutPropROGroundWaterID = MFVarGetID (MDVarPropROGroundWater, "-", MFOutput, MFState, MFBoundary)) == CMfailed) || ((_MDOutTotalSurfRunoffID = MFVarGetID (MDVarTotalSurfRunoff, "mm", MFOutput, MFFlux, MFBoundary)) == CMfailed) || ((_MDOutRunoffID = MFVarGetID (MDVarRunoff, "mm", MFOutput, MFFlux, MFBoundary)) == CMfailed) || // RJS 061312 (MFModelAddFunction (_MDRunoffInput2) == CMfailed)) return (CMfailed); // RJS 061312 break; case MDcorrected: if ((_MDInRunoffCorrID = MFVarGetID (MDVarRunoffCorretion, MFNoUnit, MFInput, MFState, MFBoundary)) == CMfailed) return (CMfailed); break; // RJS 082812 case MDcalculate: if (((_MDInBaseFlowID = MDBaseFlowDef ()) == CMfailed) || // ((_MDInSurfRunoffID = MDSurfRunoffDef ()) == CMfailed) || //commented out RJS 042612 ((_MDInRunoffPoolReleaseID = MDSurfRunoffPoolDef ()) == CMfailed) || // RJS 042612 // ((_MDInStormRunoffTotalID = MDStormRunoffDef ()) == CMfailed) || // RJS 082812 ((_MDInStormRunoffTotalID = MFVarGetID (MDVarStormRunoffTotal, "mm", MFInput, MFFlux, MFBoundary)) == CMfailed) || ((_MDOutPropROStormWaterID = MFVarGetID (MDVarPropROStormWater, "-", MFOutput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDOutPropROSurfaceWaterID = MFVarGetID (MDVarPropROSurfaceWater, "-", MFOutput, MFState, MFBoundary)) == CMfailed) || // RJS 100313 ((_MDOutPropROGroundWaterID = MFVarGetID (MDVarPropROGroundWater, "-", MFOutput, MFState, MFBoundary)) == CMfailed) || ((_MDOutRunoffID = MFVarGetID (MDVarRunoff, "mm", MFOutput, MFFlux, MFBoundary)) == CMfailed) || ((_MDOutTotalSurfRunoffID = MFVarGetID (MDVarTotalSurfRunoff, "mm", MFOutput, MFFlux, MFBoundary)) == CMfailed) || (MFModelAddFunction (_MDRunoff) == CMfailed)) return (CMfailed); break; default: MFOptionMessage (optName, optStr, options); return (CMfailed); } MFDefLeaving ("Runoff"); return (_MDOutRunoffID); }
int MDWTempGrdWaterDef () { int optID = MDinput; // RJS 061312 const char *optStr, *optName = MDOptGrdWaterTemp; // RJS 061312 const char *options [] = { MDCalculateStr, MDInputStr, (char *) NULL }; // RJS 061312 if ((optStr = MFOptionGet (optName)) != (char *) NULL) optID = CMoptLookup (options, optStr, true); // RJS 061312 if (_MDOutWTempGrdWaterID != MFUnset) return (_MDOutWTempGrdWaterID); MFDefEntering ("Groundwater temperature"); switch (optID) { // RJS 061312 case MDcalculate: // RJS 061312 if (((_MDInWTempSurfRunoffID = MDWTempSurfRunoffDef ()) == CMfailed) || ((_MDInRainRechargeID = MDRainInfiltrationDef ()) == CMfailed) || ((_MDInIrrReturnFlowID = MDIrrReturnFlowDef ()) == CMfailed) || ((_MDOutGrdWaterID = MDBaseFlowDef ()) == CMfailed) || ((_MDInAirTempID = MFVarGetID (MDVarAirTemperature, "degC", MFInput, MFState, MFBoundary)) == CMfailed) || ((_MDOutWTempGrdWaterID = MFVarGetID (MDVarWTempGrdWater, "degC", MFOutput, MFState, MFInitial)) == CMfailed) || (MFModelAddFunction (_MDWTempGrdWater) == CMfailed)) return (CMfailed); break; // RJS 061312 case MDinput: _MDOutWTempGrdWaterID = MFVarGetID (MDVarWTempGrdWater, "degC", MFInput, MFState, MFBoundary); break; // RJS 061312 MFInitial changed to MFBoundary in order to read in // RJS 061312 default: MFOptionMessage (optName, optStr, options); return (CMfailed); // RJS 061312 } // RJS 061312 MFDefLeaving ("Groundwater temperature"); return (_MDOutWTempGrdWaterID); }