示例#1
0
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);
}
示例#2
0
文件: MDBgcDIN.c 项目: bmfekete/RGIS
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); 
}
示例#3
0
int MDSpecCondDef () {

    int  optID = MFUnset;											//SZ 08212014
    const char *optStr, *optName = MDOptSpecConductance;								//SZ 08212014
    const char *options [] = { MDCalculateStr, MDInputStr, MDInput2Str, MDNoneStr, (char *) NULL };		//SZ 08212014

	MFDefEntering ("Specific Conductance Routing");
	
    if ((optStr = MFOptionGet (optName)) != (char *) NULL) optID = CMoptLookup (options, optStr, true);  //SZ 08212014

    switch (optID) {	//SZ 08212014

        case MDcalculate:
        if (
//            ((_MDInDischargeID                  = MDDischargeDef()) == CMfailed ) ||
            ((_MDInDINFluxID                    = MDDINDef ()) == CMfailed) ||     // Needed for merging with upstream
	    ((_MDInWTempRiverID                 = MFVarGetID (MDVarWTemp_QxT,              "degC",      MFInput, MFState, MFBoundary)) == CMfailed)   ||
            ((_MDInRiverWidthID                 = MDRiverWidthDef ())     == CMfailed) ||
//          ((_MDInLitterFall_POCID             = MDLitterFallDef ()) == CMfailed) ||
//          ((_MDInLocalLoad_DOCID              = MFVarGetID (MDVarLocalLoadDOC,                             "kg/d",    MFInput,  MFFlux,  MFBoundary))   == CMfailed) ||
            ((_MDInDischarge0ID                 = MFVarGetID (MDVarDischarge0,                               "m3/s",    MFInput,  MFState, MFBoundary))   == CMfailed) ||	
	    ((_MDInDischargeID                  = MFVarGetID (MDVarDischarge,                                "m3/s",    MFInput,  MFState, MFBoundary))   == CMfailed) ||
            ((_MDInRiverStorageID               = MFVarGetID (MDVarRiverStorage,                           "m3/day",    MFInput,  MFState, MFInitial))    == CMfailed) ||	
            ((_MDInBaseFlowID                   = MFVarGetID (MDVarBaseFlow,                                  "mm",    MFInput,  MFFlux,MFBoundary))    == CMfailed) ||
            ((_MDInStormRunoffTotalID           = MFVarGetID (MDVarStormRunoffTotal,                          "mm",   MFInput, MFFlux, MFBoundary))  == CMfailed) ||
            ((_MDInRunoffPoolReleaseID          = MFVarGetID (MDVarRunoffPoolRelease,                        "mm",  MFInput, MFFlux, MFBoundary))  == CMfailed) ||
            ((_MDInAirTemperatureID             = MFVarGetID (MDVarAirTemperature,         "degC",       MFInput,  MFState, MFBoundary)) == CMfailed) ||
            ((_MDInSubFractionID                = MFVarGetID (MDVarLandUseSpatialSub,                         "-",    MFInput,  MFState, MFBoundary))   == CMfailed) ||
            ((_MDOutLocalLoadSCID               = MFVarGetID (MDVarLocalLoadSC,               "ic/d",   MFOutput,  MFFlux,  MFBoundary))   == CMfailed) ||
             ((_MDOutPostConc_SCID               = MFVarGetID (MDVarPostSpecCond,    	      "uS/cm",   MFOutput,  MFFlux, MFBoundary))   == CMfailed) ||	               
            ((_MDOutStoreWater_SCID             = MFVarGetID (MDVarStoreWaterSC,              "ic/day",   MFOutput,  MFState, MFInitial))    == CMfailed) ||	
            ((_MDOutFlux_SCID                   = MFVarGetID (MDVarFluxSC,                    "ic/day",   MFRoute,   MFFlux,  MFBoundary))   == CMfailed) ||	  
            (MFModelAddFunction (_MDSpecCond) == CMfailed)) return (CMfailed);
            break;

        default: 
            MFOptionMessage (optName, optStr, options); return (CMfailed);
    }
    
	MFDefLeaving ("Specific Conductance Routing");
    return (_MDOutFlux_SCID);
}
示例#4
0
int MDDINDef () {


	float par1;		//RJS 032509
	float par2;		//RJS 032509
	float par3;		//RJS 032509
	float par4;		//RJS 032509
	float par5;		//RJS 032509
	float par6;		//RJS 033009
	float par7;		//RJS 033009

	const char *optStr1, *optStr2, *optStr3, *optStr4, *optStr5, *optStr6, *optStr7;		//RJS 032509

	if (((optStr1 = MFOptionGet (MDParAlphaSTS))  != (char *) NULL) && (sscanf (optStr1,"%f",&par1) == 1)) _MDAlphaSTS = par1;  // RJS 032509
	if (((optStr2 = MFOptionGet (MDParAlphaHTS))  != (char *) NULL) && (sscanf (optStr2,"%f",&par2) == 1)) _MDAlphaHTS = par2;  // RJS 032509
	if (((optStr3 = MFOptionGet (MDParASTSA))  != (char *) NULL) && (sscanf (optStr3,"%f",&par3) == 1)) _MDASTSA = par3;  // RJS 032509
	if (((optStr4 = MFOptionGet (MDParAHTSA))  != (char *) NULL) && (sscanf (optStr4,"%f",&par4) == 1)) _MDAHTSA = par4;  // RJS 032509
	if (((optStr5 = MFOptionGet (MDParUptakeKtMC))     != (char *) NULL) && (sscanf (optStr5,"%f",&par5) == 1)) _MDUptakeKtMC = par5; // RJS 033009
	if (((optStr6 = MFOptionGet (MDParUptakeKtSTS))     != (char *) NULL) && (sscanf (optStr6,"%f",&par6) == 1)) _MDUptakeKtSTS = par6; // RJS 033009
	if (((optStr7 = MFOptionGet (MDParUptakeKtHTS))     != (char *) NULL) && (sscanf (optStr7,"%f",&par7) == 1)) _MDUptakeKtHTS = par7; // RJS 033009


	MFDefEntering ("N Processing");



   // Input
	if (
		((_MDWTemp_QxTID 			= MDThermalInputs3Def ()) == CMfailed) ||		// comment out for no plants
//		((_MDWTemp_QxTID 				= MDWTempRiverRouteDef()) == CMfailed) ||
		((_MDInDischarge0ID             = MFVarGetID (MDVarDischarge0,    "m3/s",  MFRoute,  MFState, MFBoundary)) == CMfailed) ||					// RJS 01-06-09     includes local cells runoff
	    ((_MDInDischargeID              = MFVarGetID (MDVarDischarge,     "m3/s",  MFRoute,  MFState, MFBoundary)) == CMfailed) ||
	    ((_MDInRiverStorageID           = MFVarGetID (MDVarRiverStorage,           "m3/day",   MFInput,  MFState,  MFInitial)) == CMfailed)  ||		// RJS 01-06-09		m3/day instead of m3/s
	    ((_MDInRiverStorageChgID        = MFVarGetID (MDVarRiverStorageChg,        "m3/day",   MFInput,  MFState,  MFBoundary)) == CMfailed)  ||     // RJS 01-06-09
	    ((_MDInRiverOrderID          = MFVarGetID (MDVarRiverOrder,               "-",   MFInput,  MFState, MFBoundary)) == CMfailed)  ||			//RJS 112211
	    ((_MDInRiverWidthID             = MDRiverWidthDef ())   == CMfailed) ||
	    ((_MDInRiverDepthID		    = MFVarGetID (MDVarRiverDepth,   	   	    "m",   MFInput,  MFState, MFBoundary)) == CMfailed)  ||
	    ((_MDInLocalLoad_DINID	    = MDNitrogenInputsDef()) == CMfailed) ||	// RJS 091108
	    ((_MDInVfAdjustID           = MFVarGetID (MDVfAdjust,   "-",   MFInput, MFState, MFBoundary)) == CMfailed) ||
	    ((_MDFlux_DINID                 = MFVarGetID (MDVarFluxDIN,                "kg/day",   MFRoute,  MFFlux,  MFBoundary)) == CMfailed)  ||		// RJS 091408
	    ((_MDStoreWater_DINID           = MFVarGetID (MDVarStoreWaterDIN,          "kg/day",   MFOutput,  MFState,  MFInitial)) == CMfailed)  ||		// RJS 091108
	    ((_MDInRunoffVolID              = MFVarGetID (MDVarRunoffVolume, 		 "m3/s",   MFInput, MFState,  MFBoundary)) == CMfailed)  ||		// RJS 091108
	    ((_MDInTnQ10ID		    = MFVarGetID (MDVarTnQ10,               "-",     MFInput, MFState,  MFBoundary)) == CMfailed)  || 	//RJS 102410


   // Output
	    ((_MDOutPostConc_DINID		= MFVarGetID (MDVarPostConcDIN,	       "mg/L",   MFOutput,  MFState, MFBoundary))   == CMfailed) ||
	    ((_MDOutPreConc_DINID		= MFVarGetID (MDVarPreConcDIN,	       "mg/L",   MFOutput,  MFState, MFBoundary))   == CMfailed) ||
	    ((_MDOutTotalMassRemovedTS_DINID   	= MFVarGetID (MDVarTotalMassRemovedTSDIN,    "kg/day", MFOutput, MFFlux, MFBoundary))   == CMfailed) ||
	    ((_MDOutTotalMassRemovedDZ_DINID 	= MFVarGetID (MDVarTotalMassRemovedDZDIN,  "kg/day",   MFOutput, MFFlux, MFBoundary))   == CMfailed) ||
	    ((_MDOutTotalMassRemovedHZ_DINID 	= MFVarGetID (MDVarTotalMassRemovedHZDIN,  "kg/day",   MFOutput, MFFlux, MFBoundary))   == CMfailed) ||
	    ((_MDOutTotalMassRemovedMC_DINID 	= MFVarGetID (MDVarTotalMassRemovedMCDIN,  "kg/day",   MFOutput, MFFlux, MFBoundary))   == CMfailed) ||
	    ((_MDOutTotalMassRemoved_DINID      = MFVarGetID (MDVarTotalMassRemovedDIN,    "kg/day",   MFOutput, MFFlux, MFBoundary))   == CMfailed) ||		// RJS 032509
	    ((_MDOutTimeOfStorageDZID		= MFVarGetID (MDVarTimeOfStorageDZ,          "days",   MFOutput, MFState, MFBoundary))   == CMfailed) ||
	    ((_MDOutTimeOfStorageHZID		= MFVarGetID (MDVarTimeOfStorageHZ,          "days",   MFOutput, MFState, MFBoundary))   == CMfailed) ||
	    ((_MDOutTimeOfStorageMCID		= MFVarGetID (MDVarTimeOfStorageMC,          "days",   MFOutput, MFState, MFBoundary))   == CMfailed) ||	// RJS 120608
	    ((_MDOutTransferDZID		= MFVarGetID (MDVarTransferDZ,               "m3/s",   MFOutput, MFState, MFBoundary))   == CMfailed) ||
	    ((_MDOutTransferHZID		= MFVarGetID (MDVarTransferHZ,               "m3/s",   MFOutput, MFState, MFBoundary))   == CMfailed) ||
	    ((_MDOutPreFlux_DINID               = MFVarGetID (MDVarPreFluxDIN,               "kg/day", MFOutput, MFState, MFBoundary))   == CMfailed) || 	//RJS 050911
	    ((_MDOutWaterDZID			= MFVarGetID (MDVarWaterDZ, 				    "m3",   MFOutput, MFState, MFBoundary))   == CMfailed) ||
	    ((_MDOutWaterHZID			= MFVarGetID (MDVarWaterHZ, 				    "m3",   MFOutput, MFState, MFBoundary))   == CMfailed) ||
	    ((_MDOutUptakeVfID               	= MFVarGetID (MDVarUptakeVf,                 "m/day",   MFOutput, MFState, MFBoundary))   == CMfailed) ||	// RJS 090508
	    ((_MDFluxMixing_DINID		= MFVarGetID (MDVarFluxMixingDIN,  		"	kg/day",    MFRoute,  MFFlux, MFBoundary))   == CMfailed) ||	// RJS 091108
	    ((_MDStoreWaterMixing_DINID      	= MFVarGetID (MDVarStoreWaterMixingDIN,    "kg/day",   MFOutput, MFState, MFInitial))   == CMfailed) ||	// RJS 091108
	    ((_MDOutTotalMassPre_DINID       	= MFVarGetID (MDVarTotalMassPreDIN,        "kg/day",   MFOutput, MFFlux, MFBoundary))   == CMfailed) ||	// RJS 091408
	    ((_MDOutConcMixing_DINID         	= MFVarGetID (MDVarConcMixing,    		      "mg/L",   MFOutput, MFState, MFBoundary))   == CMfailed) ||	// RJS 091108
	    ((_MDOutMassBalance_DINID		= MFVarGetID (MDVarMassBalanceDIN,          "kg/kg",   MFOutput, MFState, MFBoundary))   == CMfailed) ||	// RJS 110308
	    ((_MDOutMassBalanceMixing_DINID	= MFVarGetID (MDVarMassBalanceMixingDIN,    "kg/kg",   MFOutput, MFState, MFBoundary))   == CMfailed) ||	// RJS 110308
	    ((_MDOutRemovalDZID              	= MFVarGetID (MDVarRemovalDZ,               "kg/kg",   MFOutput, MFState, MFBoundary))   == CMfailed) ||	// RJS 110708
	    ((_MDOutRemovalHZID              	= MFVarGetID (MDVarRemovalHZ,               "kg/kg",   MFOutput, MFState, MFBoundary))   == CMfailed) ||	// RJS 110708
	    ((_MDOutRemovalMCID              	= MFVarGetID (MDVarRemovalMC,               "kg/kg",   MFOutput, MFState, MFBoundary))   == CMfailed) ||	// RJS 110708
	    ((_MDOutRemovalTotalID              = MFVarGetID (MDVarRemovalTotal,            "kg/kg",   MFOutput, MFState, MFBoundary))   == CMfailed) || 	// RJS 030109
	    ((_MDOutAsDZID                   	= MFVarGetID (MDVarAsDZ,                       "m2",   MFOutput, MFState, MFBoundary))   == CMfailed) ||   // RJS 110808
	    ((_MDOutAsHZID                   	= MFVarGetID (MDVarAsHZ,                       "m2",   MFOutput, MFState, MFBoundary))   == CMfailed) ||   // RJS 110808
	    ((_MDOutAaID                     	= MFVarGetID (MDVarAa,                         "m2",   MFOutput, MFState, MFBoundary))   == CMfailed) ||   // RJS 110808
	    ((_MDOutVelocityID                  = MFVarGetID (MDVarVelocity,                  "m/s",   MFOutput, MFState, MFBoundary))   == CMfailed) ||   // RJS 112108
	    ((_MDOutDINVfID                     = MFVarGetID (MDVarDINVf,                       "-",   MFOutput, MFState, MFBoundary))   == CMfailed) ||	// RJS 112210
	    ((_MDOutDINKtID                     = MFVarGetID (MDVarDINKt,                       "-",   MFOutput, MFState, MFBoundary))   == CMfailed) ||	// RJS 112210
  	    ((_MDDeltaStoreWater_DINID       	= MFVarGetID (MDVarDeltaStoreWaterDIN,    	 "kg/day", MFOutput, MFState, MFBoundary)) == CMfailed) ||   // RJS 112008
	    ((_MDDeltaStoreWaterMixing_DINID    = MFVarGetID (MDVarDeltaStoreWaterMixingDIN,  "kg/day", MFOutput, MFState, MFBoundary)) == CMfailed) ||   // RJS 112008
	    ((_MDFlowPathRemoval_DINID       	= MFVarGetID (MDVarFlowPathRemovalDIN,      	"kg/day", MFOutput, MFFlux, MFBoundary)) == CMfailed) ||   // RJS 112008
	    ((_MDFlowPathRemovalMixing_DINID    = MFVarGetID (MDVarFlowPathRemovalMixingDIN,  "kg/day", MFOutput, MFFlux, MFBoundary)) == CMfailed) ||   // RJS 112008


	(MFModelAddFunction (_MDNProcessing) == CMfailed)) return (CMfailed);

	MFDefLeaving ("N Processing");

	return (_MDFlux_DINID);		// RJS 091408
}