ORNL-AMO / AMO-Tools-Suite

AMO-Tools-Suite is an energy efficiency calculation library in C++ with optional Nan Node add-on bindings for the Department of Energy Advanced Manufacturing Office (DOE AMO) Desktop, also known as MEASUR.
Other
22 stars 12 forks source link

Water Assessment Bindings and Methods #719

Closed nbintertech closed 3 months ago

nbintertech commented 5 months ago

Issue overview

Below is a series of MEASUR inputs => SUITE outputs we need to implement for the water assessment. If it matters, these are going to be accessed similarly to PHAST losses. i.e. I am entering 4 process uses in measur, iterating through each, processing, sending to suite, and back.

Basic math, but the team would like implemented in suite for consistency. Math is from Kristina but I have changed property names. Let me know if you have questions.

Process Use

Inputs

export interface ProcessUse {
    waterRequired: number,
    waterConsumed: number,
    waterLossInput: number,
    hoursPerYear: number,
    // annual production units
    annualProduction: number
    fractionGrossWaterRecirculated: number,
}

Results

export interface ProcessUseResults {
    recirculatedWater: number,
    incomingWater: number,
    wasteDischargedAndRecycledOther: number,
}

grossWaterUse = waterRequired

Inputs

export interface CoolingTower {
    hoursPerYear: number,
    tonnage: number
    loadFactor: number,
    evaporationRateDegree: number,
    temperatureDrop: number,
    makeupConductivity: number,
    blowdownConductivity: number,
}

Results


export interface CoolingTowerResults {
    grossWaterUse: number,
    evaporationLoss: number,
    cycleOfConcentration: number,
    makeupWater: number,
    blowdownLoss: number,
}

Boiler Water

Inputs

export interface BoilerWater {
    hoursPerYear: number,
    power: number
    loadFactor: number,
    steamPerPower: number,
    feedwaterConductivity: number,
    makeupConductivity: number,
    blowdownConductivity: number,
}

Results


export interface BoilerWaterResults {
    cycleOfConcentration: number,
    grossWaterUse: number,
    makeupWater: number,
    steamLoss: number,
    blowdownLoss: number,
    condensateReturn: number,
    rateOfRecirculation: number
}

Kitchen and Restroom

Inputs

export interface KitchenRestroom {
    employeeCount: number,
    workdaysPerYear: number,
    dailyUsePerEmployee: number
}

Results

grossWaterUse = employeeCount* workdaysPerYear* dailyUsePerEmployee

Landscaping

Inputs

export interface Landscaping {
    areaIrrigated: number,
    yearlyInchesIrrigated: number,
}

Results

grossWaterUse = areaIrrigated * yearlyInchesIrrigated (in ft3 or m3, convert to gal for imp)

Heat Energy in Discharge (Embodied Energy tab)

Inputs:

export interface HeatEnergyInputs {
    incomingTemp: number,
    outgoingTemp: number,
    heaterEfficiency: number,
    heatingFuelType: number,
    wasteWaterDischarge: number
}

Results

heatEnergy = wasteWaterDischarge (outgoingTemp – incomingTemp) 1 8.3454 heatingEfficiency/1000000


Added Motor Energy

export interface MotorEnergy {
    numberUnits: number,
    hoursPerYear: number,
    ratedPower: number,
    loadFactor: number,
    systemEfficiency: number,
}

Results

energyUse = ratedPower numberUnits motorLoadFactor * operatingHours/systemEfficiency

omerbaa commented 4 months ago

Process Use

Do I need this inputs, seems they are duplicates

  1. waterRequired - grossWaterUseResult
  2. waterConsumed - waterConsumedResult
  3. waterLossInput - waterLossResult
  4. hoursPerYear - annualProduction

In the output do I just resend back the inputs grossWaterUseResult, waterConsumedResult, waterLossResult

omerbaa commented 4 months ago

Boiler Water Results

  1. What is evaporationLoss, was it suppose to be steamLoss
  2. Does condensateReturn and rateOfRecirculation need to be added to output / results
  3. In grossWaterUse = operatingHours * power .... what is operatingHours, is it same as hoursPerYear
  4. Assuming makeupWaterConductivity in calculation is same as the input makeupConductivity
  5. Assuming grossWater in calculation is same as calculated grossWaterUse
omerbaa commented 4 months ago

Heat Energy in Discharge

  1. Is heatingFuelType needed
  2. Assuming input heaterEfficiency and in calculation heatingEfficiency are same.
omerbaa commented 4 months ago

Added Motor Energy, motorLoadFactor in calculation, is it input or calculated

nbintertech commented 4 months ago

FYI I updated above description to match below changes:

  1. I fixed and made changes above. Sorry - this was a mistake made when I changed some names for MEASUR-side processing

  2. Boiler

    • Yes, evaporationLoss is now renamed steam loss
    • Updated Boiler object with all missing results
    • All other assumptions correct
  3. Yes, assumptions correct. heatingFuelType can just be ignored by the bindings

  4. Updated Motor loadFactor added to object