EconomicLifeCycleCost Module

module~~economiclifecyclecost~~UsesGraph module~economiclifecyclecost EconomicLifeCycleCost module~inputprocessor InputProcessor module~inputprocessor->module~economiclifecyclecost module~dataglobals DataGlobals module~dataglobals->module~economiclifecyclecost module~dataglobals->module~inputprocessor module~dataipshortcuts DataIPShortCuts module~dataglobals->module~dataipshortcuts module~datacostestimate DataCostEstimate module~dataglobals->module~datacostestimate module~datasizing DataSizing module~dataglobals->module~datasizing module~dataipshortcuts->module~economiclifecyclecost module~dataipshortcuts->module~inputprocessor module~dataglobalconstants DataGlobalConstants module~dataglobalconstants->module~economiclifecyclecost module~datacostestimate->module~economiclifecyclecost module~datainterfaces DataInterfaces module~datainterfaces->module~economiclifecyclecost module~datainterfaces->module~inputprocessor module~dataprecisionglobals DataPrecisionGlobals module~dataprecisionglobals->module~economiclifecyclecost module~dataprecisionglobals->module~inputprocessor module~dataprecisionglobals->module~dataglobals module~dataprecisionglobals->module~dataipshortcuts module~dataprecisionglobals->module~datacostestimate module~dataprecisionglobals->module~datainterfaces module~datasystemvariables DataSystemVariables module~dataprecisionglobals->module~datasystemvariables module~dataprecisionglobals->module~datasizing module~datastringglobals DataStringGlobals module~datastringglobals->module~inputprocessor module~datastringglobals->module~datasystemvariables module~datasystemvariables->module~inputprocessor module~datasizing->module~inputprocessor
Help

Used By

module~~economiclifecyclecost~~UsedByGraph module~economiclifecyclecost EconomicLifeCycleCost proc~managesimulation ManageSimulation module~economiclifecyclecost->proc~managesimulation
Help


Variables

TypeVisibility AttributesNameInitial
integer, private, parameter:: disConvBeginOfYear =1
integer, private, parameter:: disConvMidYear =2
integer, private, parameter:: disConvEndOfYear =3
integer, private, parameter:: inflAppConstantDollar =1
integer, private, parameter:: inflAppCurrentDollar =2
integer, private, parameter:: depMethMACRS3 =1
integer, private, parameter:: depMethMACRS5 =2
integer, private, parameter:: depMethMACRS7 =3
integer, private, parameter:: depMethMACRS10 =4
integer, private, parameter:: depMethMACRS15 =5
integer, private, parameter:: depMethMACRS20 =6
integer, private, parameter:: depMethStraight27 =7
integer, private, parameter:: depMethStraight31 =8
integer, private, parameter:: depMethStraight39 =9
integer, private, parameter:: depMethStraight40 =10
integer, private, parameter:: depMethNone =11
integer, private, parameter:: costCatMaintenance =1
integer, private, parameter:: costCatRepair =2
integer, private, parameter:: costCatOperation =3
integer, private, parameter:: costCatReplacement =4
integer, private, parameter:: costCatMinorOverhaul =5
integer, private, parameter:: costCatMajorOverhaul =6
integer, private, parameter:: costCatOtherOperational =7
integer, private, parameter:: costCatConstruction =8
integer, private, parameter:: costCatSalvage =9
integer, private, parameter:: costCatOtherCapital =10
integer, private, parameter:: costCatWater =11
integer, private, parameter:: costCatEnergy =12
integer, private, parameter:: costCatTotEnergy =13
integer, private, parameter:: costCatTotOper =14
integer, private, parameter:: costCatTotCaptl =15
integer, private, parameter:: costCatTotGrand =16
integer, private, parameter:: countOfCostCat =16
integer, private, parameter:: startServicePeriod =1
integer, private, parameter:: startBasePeriod =2
logical, private :: LCCparamPresent =.FALSE.
character(len=MaxNameLength), private :: LCCname
integer, private :: discountConvension =disConvEndOfYear
integer, private :: inflationApproach =inflAppConstantDollar
real(kind=r64), private :: realDiscountRate =0.0d0
real(kind=r64), private :: nominalDiscountRate =0.0d0
real(kind=r64), private :: inflation =0.0d0
integer, private :: baseDateMonth =0
integer, private :: baseDateYear =0
integer, private :: serviceDateMonth =0
integer, private :: serviceDateYear =0
integer, private :: lengthStudyYears =0
integer, private :: lengthStudyTotalMonths =0
real(kind=r64), private :: taxRate =0.0d0
integer, private :: depreciationMethod =depMethNone
integer, private :: lastDateMonth =0
integer, private :: lastDateYear =0
type(RecurringCostsType), private, ALLOCATABLE, DIMENSION(:):: RecurringCosts
integer, private :: numRecurringCosts =0
type(NonrecurringCostType), private, ALLOCATABLE, DIMENSION(:):: NonrecurringCost
integer, private :: numNonrecurringCost =0
type(UsePriceEscalationType), private, ALLOCATABLE, DIMENSION(:):: UsePriceEscalation
integer, private :: numUsePriceEscalation =0
type(UseAdjustmentType), private, ALLOCATABLE, DIMENSION(:):: UseAdjustment
integer, private :: numUseAdjustment =0
type(CashFlowType), private, ALLOCATABLE, DIMENSION(:):: CashFlow
integer, private :: numCashFlow
integer, private, parameter:: skRecurring =1
integer, private, parameter:: skNonrecurring =2
integer, private, parameter:: skResource =3
integer, private, parameter:: skSum =4
integer, private, parameter:: pvkEnergy =1
integer, private, parameter:: pvkNonEnergy =2
integer, private, parameter:: pvkNotComputed =3
integer, private :: numResourcesUsed
real(kind=r64), private, ALLOCATABLE, DIMENSION(:):: SPV
real(kind=r64), private, ALLOCATABLE, DIMENSION(:,:):: energySPV
real(kind=r64), private, ALLOCATABLE, DIMENSION(:):: DepreciatedCapital
real(kind=r64), private, ALLOCATABLE, DIMENSION(:):: TaxableIncome
real(kind=r64), private, ALLOCATABLE, DIMENSION(:):: Taxes
real(kind=r64), private, ALLOCATABLE, DIMENSION(:):: AfterTaxCashFlow
real(kind=r64), private, ALLOCATABLE, DIMENSION(:):: AfterTaxPresentValue
character(len=*), private, parameter, DIMENSION(12):: MonthNames =(/"January  ", "February ", "March    ", "April    ", "May      ", "June     ", "July     ", "August   ", "September", "October  ", "November ", "December "/)

Derived Types

type, private :: RecurringCostsType

Components

TypeVisibility AttributesNameInitial
character(len=MaxNameLength), public :: name =' '
character(len=MaxNameLength), public :: lineItem =' '
integer, public :: category =costCatMaintenance
real(kind=r64), public :: cost
integer, public :: startOfCosts =startServicePeriod
integer, public :: yearsFromStart =0
integer, public :: monthsFromStart =0
integer, public :: totalMonthsFromStart =0
integer, public :: repeatPeriodYears =0
integer, public :: repeatPeriodMonths =0
integer, public :: totalRepeatPeriodMonths =0
real(kind=r64), public :: annualEscalationRate =0.0d0

type, private :: NonrecurringCostType

Components

TypeVisibility AttributesNameInitial
character(len=MaxNameLength), public :: name =' '
character(len=MaxNameLength), public :: lineItem =' '
integer, public :: category =costCatConstruction
real(kind=r64), public :: cost
integer, public :: startOfCosts =startServicePeriod
integer, public :: yearsFromStart =0
integer, public :: monthsFromStart =0
integer, public :: totalMonthsFromStart =0

type, private :: UsePriceEscalationType

Components

TypeVisibility AttributesNameInitial
character(len=MaxNameLength), public :: name =' '
integer, public :: resource
integer, public :: escalationStartYear =0
integer, public :: escalationStartMonth =0
real(kind=r64), public, ALLOCATABLE, DIMENSION(:):: Escalation

type, private :: UseAdjustmentType

Components

TypeVisibility AttributesNameInitial
character(len=MaxNameLength), public :: name =' '
integer, public :: resource
real(kind=r64), public, ALLOCATABLE, DIMENSION(:):: Adjustment

type, private :: CashFlowType

Components

TypeVisibility AttributesNameInitial
character(len=MaxNameLength), public :: name =' '
integer, public :: SourceKind
integer, public :: Resource
integer, public :: Category
real(kind=r64), public, ALLOCATABLE, DIMENSION(:):: mnAmount
real(kind=r64), public, ALLOCATABLE, DIMENSION(:):: yrAmount
integer, public :: pvKind =0
real(kind=r64), public :: presentValue
real(kind=r64), public :: orginalCost
real(kind=r64), public, ALLOCATABLE, DIMENSION(:):: yrPresVal

Functions

private function MonthToMonthNumber(inMonthString, inDefaultMonth)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: inMonthString
integer, intent(in) :: inDefaultMonth

Return Value integer


Subroutines

public subroutine GetInputForLifeCycleCost()

Arguments

None

public subroutine ComputeLifeCycleCostAndReport()

Arguments

None

private subroutine GetInputLifeCycleCostParameters()

Arguments

None

Arguments

None

Arguments

None

Arguments

None

private subroutine GetInputLifeCycleCostUseAdjustment()

Arguments

None

private subroutine ExpressAsCashFlows()

Arguments

None

private subroutine ComputePresentValue()

Arguments

None

private subroutine ComputeTaxAndDepreciation()

Arguments

None

private subroutine WriteTabularLifeCycleCostReport()

Arguments

None


AirflowNetworkBalanceManager AirflowNetworkSolver BaseboardElectric BaseboardRadiator Boilers BoilerSteam BranchInputManager BranchNodeConnections ChillerAbsorption ChillerElectricEIR ChillerExhaustAbsorption ChillerGasAbsorption ChillerIndirectAbsorption ChillerReformulatedEIR CondenserLoopTowers ConductionTransferFunctionCalc ConvectionCoefficients CoolTower CostEstimateManager CrossVentMgr CTElectricGenerator CurveManager DataAirflowNetwork DataAirLoop DataAirSystems DataBranchAirLoopPlant DataBranchNodeConnections DataBSDFWindow DataComplexFenestration DataContaminantBalance DataConvergParams DataConversions DataCostEstimate DataDaylighting DataDaylightingDevices DataDefineEquip DataDElight DataEnvironment DataErrorTracking DataGenerators DataGlobalConstants DataGlobals DataHeatBalance DataHeatBalFanSys DataHeatBalSurface DataHVACControllers DataHVACGlobals DataInterfaces DataIPShortCuts DataLoopNode DataMoistureBalance DataMoistureBalanceEMPD DataOutputs DataPhotovoltaics DataPlant DataPlantPipingSystems DataPrecisionGlobals DataReportingFlags DataRoomAirModel DataRootFinder DataRuntimeLanguage DataShadowingCombinations DataSizing DataStringGlobals DataSurfaceColors DataSurfaceLists DataSurfaces DataSystemVariables DataTimings DataUCSDSharedData DataVectorTypes DataViewFactorInformation DataWater DataWindowEquivalentLayer DataZoneControls DataZoneEnergyDemands DataZoneEquipment DaylightingDevices DaylightingManager DELIGHTMANAGERF DELIGHTMANAGERF DemandManager DesiccantDehumidifiers DirectAirManager DisplacementVentMgr DualDuct DXCoils DXFEarClipping EarthTube EconomicLifeCycleCost EconomicTariff EcoRoofManager ElectricBaseboardRadiator EMSManager EvaporativeCoolers EvaporativeFluidCoolers ExteriorEnergyUse ExternalInterface FanCoilUnits Fans FaultsManager FluidCoolers FluidProperties FuelCellElectricGenerator Furnaces General GeneratorDynamicsManager GeneratorFuelSupply GlobalNames GroundHeatExchangers HeatBalanceAirManager HeatBalanceHAMTManager HeatBalanceIntRadExchange HeatBalanceManager HeatBalanceMovableInsulation HeatBalanceSurfaceManager HeatBalFiniteDiffManager HeatingCoils HeatPumpWaterToWaterCOOLING HeatPumpWaterToWaterHEATING HeatPumpWaterToWaterSimple HeatRecovery HighTempRadiantSystem Humidifiers HVACControllers HVACCooledBeam HVACDuct HVACDXHeatPumpSystem HVACDXSystem HVACHXAssistedCoolingCoil HVACInterfaceManager HVACManager HVACMultiSpeedHeatPump HVACSingleDuctInduc HVACStandAloneERV HVACUnitaryBypassVAV HVACUnitarySystem HVACVariableRefrigerantFlow HWBaseboardRadiator ICEngineElectricGenerator IceThermalStorage InputProcessor InternalHeatGains ISO_C_FUNCTION_BINDING ISO_C_FUNCTION_BINDING LowTempRadiantSystem ManageElectricPower MatrixDataManager MicroCHPElectricGenerator MicroturbineElectricGenerator MixedAir MixerComponent MoistureBalanceEMPDManager MundtSimMgr NodeInputManager NonZoneEquipmentManager OutAirNodeManager OutdoorAirUnit OutputProcessor OutputReportPredefined OutputReportTabular OutsideEnergySources PackagedTerminalHeatPump PackagedThermalStorageCoil Photovoltaics PhotovoltaicThermalCollectors PipeHeatTransfer Pipes PlantCentralGSHP PlantChillers PlantComponentTemperatureSources PlantCondLoopOperation PlantHeatExchangerFluidToFluid PlantLoadProfile PlantLoopEquip PlantLoopSolver PlantManager PlantPipingSystemsManager PlantPressureSystem PlantUtilities PlantValves PollutionModule PondGroundHeatExchanger PoweredInductionUnits Psychrometrics Pumps PurchasedAirManager RefrigeratedCase ReportSizingManager ReturnAirPathManager RoomAirModelManager RoomAirModelUserTempPattern RootFinder RuntimeLanguageProcessor ScheduleManager SetPointManager SimAirServingZones SimulationManager SingleDuct SizingManager SolarCollectors SolarReflectionManager SolarShading SortAndStringUtilities SplitterComponent SQLiteProcedures SQLiteProcedures StandardRatings SteamBaseboardRadiator SteamCoils SurfaceGeometry SurfaceGroundHeatExchanger SystemAvailabilityManager SystemReports TARCOGArgs TARCOGCommon TARCOGDeflection TARCOGGasses90 TARCOGGassesParams TARCOGMain TARCOGOutput TARCOGParams TarcogShading ThermalChimney ThermalComfort ThermalEN673Calc ThermalISO15099Calc TranspiredCollector UFADManager UnitHeater UnitVentilator UserDefinedComponents VariableSpeedCoils vectors VentilatedSlab WaterCoils WaterManager WaterThermalTanks WatertoAirHeatPump WatertoAirHeatPumpSimple WaterUse WeatherManager WindowAC WindowComplexManager WindowEquivalentLayer WindowManager WindTurbine ZoneAirLoopEquipmentManager ZoneContaminantPredictorCorrector ZoneDehumidifier ZoneEquipmentManager ZonePlenum ZoneTempPredictorCorrector