ProcessScheduleInput Subroutine

private subroutine ProcessScheduleInput()

proc~~processscheduleinput~~UsesGraph proc~processscheduleinput ProcessScheduleInput module~general General module~general->proc~processscheduleinput module~inputprocessor InputProcessor module~inputprocessor->proc~processscheduleinput module~datastringglobals DataStringGlobals module~datastringglobals->proc~processscheduleinput module~datastringglobals->module~inputprocessor module~datasystemvariables DataSystemVariables module~datastringglobals->module~datasystemvariables module~dataipshortcuts DataIPShortCuts module~dataipshortcuts->proc~processscheduleinput module~dataipshortcuts->module~inputprocessor module~dataglobals DataGlobals module~dataglobals->proc~processscheduleinput module~dataglobals->module~inputprocessor module~dataglobals->module~dataipshortcuts module~datasizing DataSizing module~dataglobals->module~datasizing module~datasystemvariables->proc~processscheduleinput module~datasystemvariables->module~inputprocessor module~datainterfaces DataInterfaces module~datainterfaces->proc~processscheduleinput module~datainterfaces->module~inputprocessor module~dataprecisionglobals DataPrecisionGlobals module~dataprecisionglobals->module~general module~dataprecisionglobals->module~inputprocessor module~dataprecisionglobals->module~dataipshortcuts module~dataprecisionglobals->module~dataglobals module~dataprecisionglobals->module~datasystemvariables module~dataprecisionglobals->module~datainterfaces module~dataprecisionglobals->module~datasizing module~datasizing->module~inputprocessor
Help

Most initializations in the schedule data structures are taken care of in the definitions (see above)

! Get Schedule Types

! Get Day Schedules (all types)

!=> Get "DAYSCHEDULE" (Hourly)

! Get "DaySchedule:Interval"

! Get "DaySchedule:List"

! Get Week Schedules - regular

! Get Week Schedules - compact ! Get Schedules (all types)

! Get Regular Schedules

! Get Compact Schedules

Arguments

None

Calls

proc~~processscheduleinput~~CallsGraph proc~processscheduleinput ProcessScheduleInput proc~showcontinueerror ShowContinueError proc~processscheduleinput->proc~showcontinueerror finditeminlist finditeminlist proc~processscheduleinput->finditeminlist proc~showfatalerror ShowFatalError proc~processscheduleinput->proc~showfatalerror verifyname verifyname proc~processscheduleinput->verifyname roundsigdigits roundsigdigits proc~processscheduleinput->roundsigdigits samestring samestring proc~processscheduleinput->samestring proc~processintervalfields ProcessIntervalFields proc~processscheduleinput->proc~processintervalfields trimsigdigits trimsigdigits proc~processscheduleinput->trimsigdigits processdatestring processdatestring proc~processscheduleinput->processdatestring proc~showwarningerror ShowWarningError proc~processscheduleinput->proc~showwarningerror setupemsactuator setupemsactuator proc~processscheduleinput->setupemsactuator proc~displaystring DisplayString proc~processscheduleinput->proc~displaystring proc~processfordaytypes ProcessForDayTypes proc~processscheduleinput->proc~processfordaytypes julianday julianday proc~processscheduleinput->julianday getnumobjectsfound getnumobjectsfound proc~processscheduleinput->getnumobjectsfound getobjectitem getobjectitem proc~processscheduleinput->getobjectitem getobjectdefmaxargs getobjectdefmaxargs proc~processscheduleinput->getobjectdefmaxargs proc~externalinterfacesetschedule ExternalInterfaceSetSchedule proc~processscheduleinput->proc~externalinterfacesetschedule finditem finditem proc~processscheduleinput->finditem proc~showsevereerror ShowSevereError proc~processscheduleinput->proc~showsevereerror processnumber processnumber proc~processscheduleinput->processnumber checkforactualfilename checkforactualfilename proc~processscheduleinput->checkforactualfilename interface~checkschedulevalueminmax CheckScheduleValueMinMax proc~processscheduleinput->interface~checkschedulevalueminmax proc~reportscheduledetails ReportScheduleDetails proc~processscheduleinput->proc~reportscheduledetails proc~showerrormessage ShowErrorMessage proc~showcontinueerror->proc~showerrormessage updatesqliteerrorrecord updatesqliteerrorrecord proc~showcontinueerror->updatesqliteerrorrecord proc~showfatalerror->roundsigdigits proc~showfatalerror->proc~displaystring proc~showfatalerror->proc~showerrormessage proc~abortenergyplus AbortEnergyPlus proc~showfatalerror->proc~abortenergyplus createsqliteerrorrecord createsqliteerrorrecord proc~showfatalerror->createsqliteerrorrecord proc~processintervalfields->proc~showcontinueerror proc~processintervalfields->proc~showwarningerror proc~processintervalfields->proc~showsevereerror proc~decodehhmmfield DecodeHHMMField proc~processintervalfields->proc~decodehhmmfield proc~showwarningerror->proc~showerrormessage proc~showwarningerror->createsqliteerrorrecord matchcounts matchcounts proc~showwarningerror->matchcounts messagesearch messagesearch proc~showwarningerror->messagesearch proc~processfordaytypes->proc~showsevereerror proc~showsevereerror->proc~showerrormessage proc~showsevereerror->createsqliteerrorrecord proc~showsevereerror->matchcounts proc~showsevereerror->messagesearch proc~dcheckschedulevalueminmax2 dCheckScheduleValueMinMax2 interface~checkschedulevalueminmax->proc~dcheckschedulevalueminmax2 proc~rcheckschedulevalueminmax1 rCheckScheduleValueMinMax1 interface~checkschedulevalueminmax->proc~rcheckschedulevalueminmax1 proc~rcheckschedulevalueminmax2 rCheckScheduleValueMinMax2 interface~checkschedulevalueminmax->proc~rcheckschedulevalueminmax2 proc~dcheckschedulevalueminmax1 dCheckScheduleValueMinMax1 interface~checkschedulevalueminmax->proc~dcheckschedulevalueminmax1 proc~reportscheduledetails->roundsigdigits invjulianday invjulianday proc~reportscheduledetails->invjulianday proc~showerrormessage->proc~showfatalerror proc~showerrormessage->proc~displaystring proc~abortenergyplus->roundsigdigits proc~abortenergyplus->proc~displaystring proc~testairpathintegrity TestAirPathIntegrity proc~abortenergyplus->proc~testairpathintegrity updatesqlitesimulationrecord updatesqlitesimulationrecord proc~abortenergyplus->updatesqlitesimulationrecord checkmarkednodes checkmarkednodes proc~abortenergyplus->checkmarkednodes reportairloopconnections reportairloopconnections proc~abortenergyplus->reportairloopconnections proc~showrecurringerrors ShowRecurringErrors proc~abortenergyplus->proc~showrecurringerrors testcompsetinletoutletnodes testcompsetinletoutletnodes proc~abortenergyplus->testcompsetinletoutletnodes proc~summarizeerrors SummarizeErrors proc~abortenergyplus->proc~summarizeerrors reportsurfaceerrors reportsurfaceerrors proc~abortenergyplus->reportsurfaceerrors reportloopconnections reportloopconnections proc~abortenergyplus->reportloopconnections proc~closemiscopenfiles CloseMiscOpenFiles proc~abortenergyplus->proc~closemiscopenfiles setupnodevarsforreporting setupnodevarsforreporting proc~abortenergyplus->setupnodevarsforreporting closesocket closesocket proc~abortenergyplus->closesocket proc~closeoutopenfiles CloseOutOpenFiles proc~abortenergyplus->proc~closeoutopenfiles proc~reportsurfaces ReportSurfaces proc~abortenergyplus->proc~reportsurfaces testbranchintegrity testbranchintegrity proc~abortenergyplus->testbranchintegrity checkplantonabort checkplantonabort proc~abortenergyplus->checkplantonabort proc~epelapsedtime epElapsedTime proc~abortenergyplus->proc~epelapsedtime proc~epstoptime epStopTime proc~abortenergyplus->proc~epstoptime proc~epsummarytimes epSummaryTimes proc~abortenergyplus->proc~epsummarytimes proc~showmessage ShowMessage proc~abortenergyplus->proc~showmessage checknodeconnections checknodeconnections proc~abortenergyplus->checknodeconnections proc~testairpathintegrity->proc~showcontinueerror proc~testairpathintegrity->proc~showsevereerror airtozonenodeinfo airtozonenodeinfo proc~testairpathintegrity->airtozonenodeinfo nodeid nodeid proc~testairpathintegrity->nodeid proc~showrecurringerrors->roundsigdigits proc~showrecurringerrors->updatesqliteerrorrecord proc~showrecurringerrors->createsqliteerrorrecord proc~showrecurringerrors->proc~showmessage removetrailingzeros removetrailingzeros proc~showrecurringerrors->removetrailingzeros recurringerrors recurringerrors proc~showrecurringerrors->recurringerrors proc~summarizeerrors->proc~showmessage proc~summarizeerrors->matchcounts summaries summaries proc~summarizeerrors->summaries moredetails moredetails proc~summarizeerrors->moredetails closedfsfile closedfsfile proc~closemiscopenfiles->closedfsfile closereportillummaps closereportillummaps proc~closemiscopenfiles->closereportillummaps proc~reportsurfaces->proc~showwarningerror proc~detailsforsurfaces DetailsForSurfaces proc~reportsurfaces->proc~detailsforsurfaces proc~setupschemecolors SetUpSchemeColors proc~reportsurfaces->proc~setupschemecolors proc~vrmlout VRMLOut proc~reportsurfaces->proc~vrmlout scanforreports scanforreports proc~reportsurfaces->scanforreports proc~dxfoutwireframe DXFOutWireFrame proc~reportsurfaces->proc~dxfoutwireframe proc~costinfoout CostInfoOut proc~reportsurfaces->proc~costinfoout proc~linesout LinesOut proc~reportsurfaces->proc~linesout proc~dxfout DXFOut proc~reportsurfaces->proc~dxfout proc~epstoptime->proc~showfatalerror tstop tstop proc~epstoptime->tstop proc~epsummarytimes->roundsigdigits proc~showmessage->proc~showerrormessage proc~detailsforsurfaces->roundsigdigits proc~detailsforsurfaces->trimsigdigits getschedulename getschedulename proc~detailsforsurfaces->getschedulename oscm oscm proc~detailsforsurfaces->oscm nominalu nominalu proc~detailsforsurfaces->nominalu zone zone proc~detailsforsurfaces->zone framedivider framedivider proc~detailsforsurfaces->framedivider getschedulemaxvalue getschedulemaxvalue proc~detailsforsurfaces->getschedulemaxvalue 2 2 proc~detailsforsurfaces->2 proc~computenominaluwithconvcoeffs ComputeNominalUwithConvCoeffs proc~detailsforsurfaces->proc~computenominaluwithconvcoeffs 3 3 proc~detailsforsurfaces->3 osc osc proc~detailsforsurfaces->osc construct construct proc~detailsforsurfaces->construct 4 4 proc~detailsforsurfaces->4 proc~csurfaceclass cSurfaceClass proc~detailsforsurfaces->proc~csurfaceclass userintconvectioncoeffs userintconvectioncoeffs proc~detailsforsurfaces->userintconvectioncoeffs userextconvectioncoeffs userextconvectioncoeffs proc~detailsforsurfaces->userextconvectioncoeffs surface surface proc~detailsforsurfaces->surface getscheduleminvalue getscheduleminvalue proc~detailsforsurfaces->getscheduleminvalue surfacewindow surfacewindow proc~detailsforsurfaces->surfacewindow proc~setupschemecolors->proc~showwarningerror proc~setupschemecolors->getobjectitem proc~setupschemecolors->getobjectdefmaxargs getobjectitemnum getobjectitemnum proc~setupschemecolors->getobjectitemnum proc~matchandsetcolortextstring MatchAndSetColorTextString proc~setupschemecolors->proc~matchandsetcolortextstring proc~vrmlout->proc~showcontinueerror proc~vrmlout->proc~showfatalerror proc~vrmlout->proc~showwarningerror proc~vrmlout->zone proc~vrmlout->surface proc~triangulate Triangulate proc~vrmlout->proc~triangulate proc~getnewunitnumber GetNewUnitNumber proc~vrmlout->proc~getnewunitnumber proc~dxfoutwireframe->proc~showfatalerror proc~dxfoutwireframe->trimsigdigits proc~dxfoutwireframe->zone proc~dxfoutwireframe->surface proc~dxfoutwireframe->surfacewindow proc~dxfoutwireframe->proc~getnewunitnumber zonedaylight zonedaylight proc~dxfoutwireframe->zonedaylight dxfcolorno dxfcolorno proc~dxfoutwireframe->dxfcolorno proc~costinfoout->proc~showfatalerror proc~costinfoout->construct proc~costinfoout->proc~csurfaceclass proc~costinfoout->surface proc~costinfoout->proc~getnewunitnumber proc~linesout->proc~showcontinueerror proc~linesout->proc~showfatalerror proc~linesout->roundsigdigits proc~linesout->proc~showwarningerror proc~linesout->proc~csurfaceclass proc~linesout->surface proc~linesout->proc~getnewunitnumber proc~dxfout->proc~showcontinueerror proc~dxfout->proc~showfatalerror proc~dxfout->trimsigdigits proc~dxfout->proc~showwarningerror proc~dxfout->zone proc~dxfout->surface proc~dxfout->surfacewindow proc~dxfout->proc~triangulate proc~dxfout->proc~getnewunitnumber proc~dxfout->zonedaylight proc~dxfout->dxfcolorno illummapcalc illummapcalc proc~dxfout->illummapcalc proc~computenominaluwithconvcoeffs->surface proc~matchandsetcolortextstring->finditem proc~triangulate->proc~showcontinueerror proc~triangulate->roundsigdigits proc~triangulate->proc~showwarningerror proc~triangulate->proc~showmessage csurfaceclass csurfaceclass proc~triangulate->csurfaceclass proc~generate_ears generate_ears proc~triangulate->proc~generate_ears proc~calcrfflrcoordinatetransformation CalcRfFlrCoordinateTransformation proc~triangulate->proc~calcrfflrcoordinatetransformation proc~calcwallcoordinatetransformation CalcWallCoordinateTransformation proc~triangulate->proc~calcwallcoordinatetransformation proc~polygon_contains_point_2d polygon_contains_point_2d proc~generate_ears->proc~polygon_contains_point_2d proc~angle_2dvector angle_2dvector proc~generate_ears->proc~angle_2dvector proc~decodehhmmfield->proc~showcontinueerror proc~decodehhmmfield->proc~showwarningerror proc~decodehhmmfield->proc~showsevereerror proc~dcheckschedulevalueminmax2->proc~showfatalerror proc~rcheckschedulevalueminmax1->proc~showfatalerror proc~rcheckschedulevalueminmax2->proc~showfatalerror proc~dcheckschedulevalueminmax1->proc~showfatalerror
Help

Called By

proc~~processscheduleinput~~CalledByGraph proc~processscheduleinput ProcessScheduleInput proc~getschedulename GetScheduleName proc~getschedulename->proc~processscheduleinput proc~getscheduleindex GetScheduleIndex proc~getscheduleindex->proc~processscheduleinput proc~getschedulevaluesforday GetScheduleValuesForDay proc~getschedulevaluesforday->proc~processscheduleinput proc~updateschedulevalues UpdateScheduleValues proc~updateschedulevalues->proc~processscheduleinput proc~getsingledayschedulevalues GetSingleDayScheduleValues proc~getsingledayschedulevalues->proc~processscheduleinput proc~getscheduletype GetScheduleType proc~getscheduletype->proc~processscheduleinput proc~getdayscheduleindex GetDayScheduleIndex proc~getdayscheduleindex->proc~processscheduleinput proc~lookupschedulevalue LookUpScheduleValue proc~lookupschedulevalue->proc~processscheduleinput proc~reportschedulevalues ReportScheduleValues proc~reportschedulevalues->proc~processscheduleinput proc~initoacontroller InitOAController proc~initoacontroller->proc~getschedulename proc~initmsheatpump InitMSHeatPump proc~initmsheatpump->proc~getschedulename proc~createsqliteschedulestable CreateSQLiteSchedulesTable proc~createsqliteschedulestable->proc~getschedulename proc~createsqliteschedulestable->proc~getscheduletype proc~getinternalheatgainsinput GetInternalHeatGainsInput proc~getinternalheatgainsinput->proc~getschedulename proc~getinternalheatgainsinput->proc~getscheduleindex proc~simoacontroller SimOAController proc~simoacontroller->proc~initoacontroller proc~getoacontrollerinputs GetOAControllerInputs proc~simoacontroller->proc~getoacontrollerinputs proc~simoutsideairsys SimOutsideAirSys proc~simoutsideairsys->proc~simoacontroller proc~manageoutsideairsystem ManageOutsideAirSystem proc~manageoutsideairsystem->proc~simoutsideairsys proc~simmsheatpump SimMSHeatPump proc~simmsheatpump->proc~initmsheatpump proc~getmsheatpumpinput GetMSHeatPumpInput proc~simmsheatpump->proc~getmsheatpumpinput proc~createzoneextendedoutput CreateZoneExtendedOutput proc~createzoneextendedoutput->proc~createsqliteschedulestable proc~manageinternalheatgains ManageInternalHeatGains proc~manageinternalheatgains->proc~getinternalheatgainsinput proc~getfaninput GetFanInput proc~getfaninput->proc~getscheduleindex proc~getfancoilunits GetFanCoilUnits proc~getfancoilunits->proc~getscheduleindex proc~getheatrecoveryinput GetHeatRecoveryInput proc~getheatrecoveryinput->proc~getscheduleindex proc~getpius GetPIUs proc~getpius->proc~getscheduleindex proc~getrefrigerationinput GetRefrigerationInput proc~getrefrigerationinput->proc~getscheduleindex proc~getrefrigerationinput->proc~getschedulevaluesforday proc~getunitheaterinput GetUnitHeaterInput proc~getunitheaterinput->proc~getscheduleindex proc~getindunits GetIndUnits proc~getindunits->proc~getscheduleindex proc~getbaseboardinput~2 GetBaseboardInput proc~getbaseboardinput~2->proc~getscheduleindex proc~getdisplacementventdata GetDisplacementVentData proc~getdisplacementventdata->proc~getscheduleindex proc~calcoptstartsysavailmgr CalcOptStartSysAvailMgr proc~calcoptstartsysavailmgr->proc~getscheduleindex proc~calcoptstartsysavailmgr->proc~getschedulevaluesforday proc~getdesiccantdehumidifierinput GetDesiccantDehumidifierInput proc~getdesiccantdehumidifierinput->proc~getscheduleindex proc~getfanoutletnode GetFanOutletNode proc~getdesiccantdehumidifierinput->proc~getfanoutletnode proc~getfaninletnode GetFanInletNode proc~getdesiccantdehumidifierinput->proc~getfaninletnode proc~getfanindex GetFanIndex proc~getdesiccantdehumidifierinput->proc~getfanindex proc~getheatingcoilindex GetHeatingCoilIndex proc~getdesiccantdehumidifierinput->proc~getheatingcoilindex proc~getdxcoolingsysteminput GetDXCoolingSystemInput proc~getdxcoolingsysteminput->proc~getscheduleindex proc~getsysavailmanagerinputs GetSysAvailManagerInputs proc~getsysavailmanagerinputs->proc~getscheduleindex proc~getheatingcoilinput GetHeatingCoilInput proc~getheatingcoilinput->proc~getscheduleindex proc~getinputzoneevaporativecoolerunit GetInputZoneEvaporativeCoolerUnit proc~getinputzoneevaporativecoolerunit->proc~getscheduleindex proc~getevapinput GetEvapInput proc~getinputzoneevaporativecoolerunit->proc~getevapinput proc~getoutdoorairunitinputs GetOutdoorAirUnitInputs proc~getoutdoorairunitinputs->proc~getscheduleindex proc~getwatercoilinput GetWaterCoilInput proc~getwatercoilinput->proc~getscheduleindex proc~getsysinput GetSysInput proc~getsysinput->proc~getscheduleindex interface~getcoilairoutletnode GetCoilAirOutletNode proc~getsysinput->interface~getcoilairoutletnode interface~getcoilsteaminletnode GetCoilSteamInletNode proc~getsysinput->interface~getcoilsteaminletnode proc~getptunit GetPTUnit proc~getptunit->proc~getscheduleindex proc~getfurnaceinput GetFurnaceInput proc~getfurnaceinput->proc~getscheduleindex proc~getbaseboardinput GetBaseboardInput proc~getbaseboardinput->proc~getscheduleindex proc~getunitventilatorinput GetUnitVentilatorInput proc~getunitventilatorinput->proc~getscheduleindex proc~getsetpointmanagerinputs GetSetPointManagerInputs proc~getsetpointmanagerinputs->proc~getscheduleindex proc~getdxheatpumpsysteminput GetDXHeatPumpSystemInput proc~getdxheatpumpsysteminput->proc~getscheduleindex proc~getzonedehumidifierinput GetZoneDehumidifierInput proc~getzonedehumidifierinput->proc~getscheduleindex proc~getdxcoils GetDXCoils proc~getdxcoils->proc~getscheduleindex proc~getpurchasedair GetPurchasedAir proc~getpurchasedair->proc~getscheduleindex proc~gethumidifierinput GetHumidifierInput proc~gethumidifierinput->proc~getscheduleindex proc~getdirectairinput GetDirectAirInput proc~getdirectairinput->proc~getscheduleindex proc~geticestorageinput GetIceStorageInput proc~geticestorageinput->proc~getscheduleindex proc~getdualductinput GetDualDuctInput proc~getdualductinput->proc~getscheduleindex proc~getcoolbeams GetCoolBeams proc~getcoolbeams->proc~getscheduleindex proc~getsteamcoilinput GetSteamCoilInput proc~getsteamcoilinput->proc~getscheduleindex proc~getcrossventdata GetCrossVentData proc~getcrossventdata->proc~getscheduleindex proc~getwindowac GetWindowAC proc~getwindowac->proc~getscheduleindex proc~getdaylightingparametersdetaild GetDaylightingParametersDetaild proc~getdaylightingparametersdetaild->proc~getscheduleindex proc~getevapinput->proc~getscheduleindex proc~getunitarysysteminput GetUnitarySystemInput proc~getunitarysysteminput->proc~getscheduleindex proc~getmsheatpumpinput->proc~getscheduleindex proc~getventilatedslabinput GetVentilatedSlabInput proc~getventilatedslabinput->proc~getscheduleindex proc~getoacontrollerinputs->proc~getscheduleindex proc~gethybridventilationinputs GetHybridVentilationInputs proc~gethybridventilationinputs->proc~getscheduleindex proc~getfanavailschptr GetFanAvailSchPtr proc~getfanavailschptr->proc~getfaninput proc~getfandesignvolumeflowrate GetFanDesignVolumeFlowRate proc~getfandesignvolumeflowrate->proc~getfaninput proc~getfantype GetFanType proc~getfantype->proc~getfaninput proc~getfanoutletnode->proc~getfaninput proc~setfandata SetFanData proc~setfandata->proc~getfaninput proc~simulatefancomponents SimulateFanComponents proc~simulatefancomponents->proc~getfaninput proc~getfaninletnode->proc~getfaninput proc~getfanindex->proc~getfaninput proc~getfanspeedratiocurveindex GetFanSpeedRatioCurveIndex proc~getfanspeedratiocurveindex->proc~getfaninput proc~calcgenericdesiccantdehumidifier CalcGenericDesiccantDehumidifier proc~calcgenericdesiccantdehumidifier->proc~simulatefancomponents proc~calcnondxheatingcoils CalcNonDXHeatingCoils proc~calcgenericdesiccantdehumidifier->proc~calcnondxheatingcoils proc~calcsoliddesiccantdehumidifier CalcSolidDesiccantDehumidifier proc~calcsoliddesiccantdehumidifier->proc~simulatefancomponents proc~calcsoliddesiccantdehumidifier->proc~calcnondxheatingcoils proc~simdesiccantdehumidifier SimDesiccantDehumidifier proc~simdesiccantdehumidifier->proc~getdesiccantdehumidifierinput proc~simdesiccantdehumidifier->proc~calcgenericdesiccantdehumidifier proc~simdesiccantdehumidifier->proc~calcsoliddesiccantdehumidifier proc~initdesiccantdehumidifier InitDesiccantDehumidifier proc~simdesiccantdehumidifier->proc~initdesiccantdehumidifier proc~getfancoilinletairnode GetFanCoilInletAirNode proc~getfancoilinletairnode->proc~getfancoilunits proc~getfancoilmixedairnode GetFanCoilMixedAirNode proc~getfancoilmixedairnode->proc~getfancoilunits proc~simfancoilunit SimFanCoilUnit proc~simfancoilunit->proc~getfancoilunits proc~getfancoilindex GetFanCoilIndex proc~getfancoilindex->proc~getfancoilunits proc~getfancoilreturnairnode GetFanCoilReturnAirNode proc~getfancoilreturnairnode->proc~getfancoilunits proc~getfancoilzoneinletairnode GetFanCoilZoneInletAirNode proc~getfancoilzoneinletairnode->proc~getfancoilunits proc~getfancoiloutairnode GetFanCoilOutAirNode proc~getfancoiloutairnode->proc~getfancoilunits proc~getsecondaryoutletnode GetSecondaryOutletNode proc~getsecondaryoutletnode->proc~getheatrecoveryinput proc~getheatexchangerobjecttypenum GetHeatExchangerObjectTypeNum proc~getheatexchangerobjecttypenum->proc~getheatrecoveryinput proc~setheatexchangerdata SetHeatExchangerData proc~setheatexchangerdata->proc~getheatrecoveryinput proc~getsupplyinletnode GetSupplyInletNode proc~getsupplyinletnode->proc~getheatrecoveryinput proc~simheatrecovery SimHeatRecovery proc~simheatrecovery->proc~getheatrecoveryinput proc~getsupplyoutletnode GetSupplyOutletNode proc~getsupplyoutletnode->proc~getheatrecoveryinput proc~getsupplyairflowrate GetSupplyAirFlowRate proc~getsupplyairflowrate->proc~getheatrecoveryinput proc~getsecondaryinletnode GetSecondaryInletNode proc~getsecondaryinletnode->proc~getheatrecoveryinput proc~piuinducesplenumair PIUInducesPlenumAir proc~piuinducesplenumair->proc~getpius proc~piunithasmixer PIUnitHasMixer proc~piunithasmixer->proc~getpius proc~simpiu SimPIU proc~simpiu->proc~getpius proc~checkrefrigerationinput CheckRefrigerationInput proc~checkrefrigerationinput->proc~getrefrigerationinput proc~managerefrigeratedcaseracks ManageRefrigeratedCaseRacks proc~managerefrigeratedcaseracks->proc~checkrefrigerationinput proc~simairchillerset SimAirChillerSet proc~simairchillerset->proc~checkrefrigerationinput proc~simairchillerset->proc~managerefrigeratedcaseracks proc~getrefrigeratedrackindex GetRefrigeratedRackIndex proc~getrefrigeratedrackindex->proc~checkrefrigerationinput proc~figurerefrigerationzonegains FigureRefrigerationZoneGains proc~figurerefrigerationzonegains->proc~checkrefrigerationinput proc~simunitheater SimUnitHeater proc~simunitheater->proc~getunitheaterinput proc~fourpipeinductionunithasmixer FourPipeInductionUnitHasMixer proc~fourpipeinductionunithasmixer->proc~getindunits proc~simindunit SimIndUnit proc~simindunit->proc~getindunits proc~simelectricbaseboard SimElectricBaseBoard proc~simelectricbaseboard->proc~getbaseboardinput~2 proc~getairmodeldatas GetAirModelDatas proc~getairmodeldatas->proc~getdisplacementventdata proc~getairmodeldatas->proc~getcrossventdata proc~manageairmodel ManageAirModel proc~manageairmodel->proc~getairmodeldatas proc~simsysavailmanager SimSysAvailManager proc~simsysavailmanager->proc~calcoptstartsysavailmgr proc~managesystemavailability ManageSystemAvailability proc~managesystemavailability->proc~getsysavailmanagerinputs proc~managesystemavailability->proc~simsysavailmanager proc~checkdxcoolingcoilinoasysexists CheckDXCoolingCoilInOASysExists proc~checkdxcoolingcoilinoasysexists->proc~getdxcoolingsysteminput proc~getcoolingcoiltypenameandindex GetCoolingCoilTypeNameAndIndex proc~getcoolingcoiltypenameandindex->proc~getdxcoolingsysteminput proc~simdxcoolingsystem SimDXCoolingSystem proc~simdxcoolingsystem->proc~getdxcoolingsysteminput proc~getsysavailmanagerlistinputs GetSysAvailManagerListInputs proc~getsysavailmanagerlistinputs->proc~getsysavailmanagerinputs proc~getzoneeqavailabilitymanager GetZoneEqAvailabilityManager proc~getzoneeqavailabilitymanager->proc~getsysavailmanagerlistinputs proc~getplantavailabilitymanager GetPlantAvailabilityManager proc~getplantavailabilitymanager->proc~getsysavailmanagerlistinputs proc~getairloopavailabilitymanager GetAirLoopAvailabilityManager proc~getairloopavailabilitymanager->proc~getsysavailmanagerlistinputs proc~getheatingcoiltypenum GetHeatingCoilTypeNum proc~getheatingcoiltypenum->proc~getheatingcoilinput proc~getheatreclaimsourceindex GetHeatReclaimSourceIndex proc~getheatreclaimsourceindex->proc~getheatingcoilinput proc~getcoilindex GetCoilIndex proc~getcoilindex->proc~getheatingcoilinput proc~getcoilavailscheduleindex GetCoilAvailScheduleIndex proc~getcoilavailscheduleindex->proc~getheatingcoilinput proc~checkheatingcoilschedule CheckHeatingCoilSchedule proc~checkheatingcoilschedule->proc~getheatingcoilinput proc~getcoilinletnode~2 GetCoilInletNode proc~getcoilinletnode~2->proc~getheatingcoilinput proc~getcoilcontrolnodenum GetCoilControlNodeNum proc~getcoilcontrolnodenum->proc~getheatingcoilinput proc~getcoiloutletnode~2 GetCoilOutletNode proc~getcoiloutletnode~2->proc~getheatingcoilinput proc~getcoilcapacity~2 GetCoilCapacity proc~getcoilcapacity~2->proc~getheatingcoilinput proc~getheatingcoilnumberofstages GetHeatingCoilNumberOfStages proc~getheatingcoilnumberofstages->proc~getheatingcoilinput proc~getheatingcoilindex->proc~getheatingcoilinput proc~simulateheatingcoilcomponents SimulateHeatingCoilComponents proc~simulateheatingcoilcomponents->proc~getheatingcoilinput proc~getheatingcoilplfcurveindex GetHeatingCoilPLFCurveIndex proc~getheatingcoilplfcurveindex->proc~getheatingcoilinput proc~calcnondxheatingcoils->proc~simulateheatingcoilcomponents proc~initdesiccantdehumidifier->proc~calcnondxheatingcoils proc~simzoneevaporativecoolerunit SimZoneEvaporativeCoolerUnit proc~simzoneevaporativecoolerunit->proc~getinputzoneevaporativecoolerunit proc~calczoneevaporativecoolerunit CalcZoneEvaporativeCoolerUnit proc~simzoneevaporativecoolerunit->proc~calczoneevaporativecoolerunit proc~getoutdoorairunitoutairnode GetOutdoorAirUnitOutAirNode proc~getoutdoorairunitoutairnode->proc~getoutdoorairunitinputs proc~simoutdoorairunit SimOutdoorAirUnit proc~simoutdoorairunit->proc~getoutdoorairunitinputs proc~getoutdoorairunitzoneinletnode GetOutdoorAirUnitZoneInletNode proc~getoutdoorairunitzoneinletnode->proc~getoutdoorairunitinputs proc~getoutdoorairunitreturnairnode GetOutdoorAirUnitReturnAirNode proc~getoutdoorairunitreturnairnode->proc~getoutdoorairunitinputs proc~getcoilmaxwaterflowrate~3 GetCoilMaxWaterFlowRate proc~getcoilmaxwaterflowrate~3->proc~getwatercoilinput proc~setcoildesflow SetCoilDesFlow proc~setcoildesflow->proc~getwatercoilinput proc~checkactuatornode CheckActuatorNode proc~checkactuatornode->proc~getwatercoilinput proc~getcoilinletnode~4 GetCoilInletNode proc~getcoilinletnode~4->proc~getwatercoilinput proc~getwatercoilcapacity GetWaterCoilCapacity proc~getwatercoilcapacity->proc~getwatercoilinput proc~checkwatercoilschedule CheckWaterCoilSchedule proc~checkwatercoilschedule->proc~getwatercoilinput proc~getwatercoilindex GetWaterCoilIndex proc~getwatercoilindex->proc~getwatercoilinput proc~getcoilwateroutletnode GetCoilWaterOutletNode proc~getcoilwateroutletnode->proc~getwatercoilinput proc~getcoiloutletnode~4 GetCoilOutletNode proc~getcoiloutletnode~4->proc~getwatercoilinput proc~getcoilwaterinletnode~2 GetCoilWaterInletNode proc~getcoilwaterinletnode~2->proc~getwatercoilinput proc~getwatercoilavailscheduleindex GetWaterCoilAvailScheduleIndex proc~getwatercoilavailscheduleindex->proc~getwatercoilinput proc~simulatewatercoilcomponents SimulateWaterCoilComponents proc~simulatewatercoilcomponents->proc~getwatercoilinput proc~checkforsensorandsetpointnode CheckForSensorAndSetpointNode proc~checkforsensorandsetpointnode->proc~getwatercoilinput proc~simulatesingleduct SimulateSingleDuct proc~simulatesingleduct->proc~getsysinput proc~simvav SimVAV proc~simulatesingleduct->proc~simvav proc~simcbvav SimCBVAV proc~simulatesingleduct->proc~simcbvav proc~simconstvol SimConstVol proc~simulatesingleduct->proc~simconstvol proc~simvavvs SimVAVVS proc~simulatesingleduct->proc~simvavvs proc~initsys InitSys proc~simulatesingleduct->proc~initsys proc~gethvacsingleductsysindex GetHVACSingleDuctSysIndex proc~gethvacsingleductsysindex->proc~getsysinput proc~getptunitoutairnode GetPTUnitOutAirNode proc~getptunitoutairnode->proc~getptunit proc~simpackagedterminalunit SimPackagedTerminalUnit proc~simpackagedterminalunit->proc~getptunit proc~getptunitreturnairnode GetPTUnitReturnAirNode proc~getptunitreturnairnode->proc~getptunit proc~getptunitmixedairnode GetPTUnitMixedAirNode proc~getptunitmixedairnode->proc~getptunit proc~getptunitzoneinletairnode GetPTUnitZoneInletAirNode proc~getptunitzoneinletairnode->proc~getptunit proc~simfurnace SimFurnace proc~simfurnace->proc~getfurnaceinput proc~simbaseboard SimBaseboard proc~simbaseboard->proc~getbaseboardinput proc~getunitventilatoroutairnode GetUnitVentilatorOutAirNode proc~getunitventilatoroutairnode->proc~getunitventilatorinput proc~simunitventilator SimUnitVentilator proc~simunitventilator->proc~getunitventilatorinput proc~getunitventilatorreturnairnode GetUnitVentilatorReturnAirNode proc~getunitventilatorreturnairnode->proc~getunitventilatorinput proc~getunitventilatormixedairnode GetUnitVentilatorMixedAirNode proc~getunitventilatormixedairnode->proc~getunitventilatorinput proc~getunitventilatorzoneinletairnode GetUnitVentilatorZoneInletAirNode proc~getunitventilatorzoneinletairnode->proc~getunitventilatorinput proc~nodehasspmctrlvartype NodeHasSPMCtrlVarType proc~nodehasspmctrlvartype->proc~getsetpointmanagerinputs proc~isnodeonsetptmanager IsNodeOnSetPtManager proc~isnodeonsetptmanager->proc~getsetpointmanagerinputs proc~managesetpoints ManageSetPoints proc~managesetpoints->proc~getsetpointmanagerinputs proc~simdxheatpumpsystem SimDXHeatPumpSystem proc~simdxheatpumpsystem->proc~getdxheatpumpsysteminput proc~getzonedehumidifiernodenumber GetZoneDehumidifierNodeNumber proc~getzonedehumidifiernodenumber->proc~getzonedehumidifierinput proc~simzonedehumidifier SimZoneDehumidifier proc~simzonedehumidifier->proc~getzonedehumidifierinput proc~setcoilsystemcoolingdata SetCoilSystemCoolingData proc~setcoilsystemcoolingdata->proc~getdxcoils proc~getdxcoilindex GetDXCoilIndex proc~getdxcoilindex->proc~getdxcoils proc~simdxcoilmultimode SimDXCoilMultiMode proc~simdxcoilmultimode->proc~getdxcoils proc~getcoilcondenserinletnode GetCoilCondenserInletNode proc~getcoilcondenserinletnode->proc~getdxcoils proc~getcoilinletnode GetCoilInletNode proc~getcoilinletnode->proc~getdxcoils proc~getminoatcompressor GetMinOATCompressor proc~getminoatcompressor->proc~getdxcoils proc~getdxcoilbypassedflowfrac GetDXCoilBypassedFlowFrac proc~getdxcoilbypassedflowfrac->proc~getdxcoils proc~simdxcoil SimDXCoil proc~simdxcoil->proc~getdxcoils proc~getdxcoilavailschptr GetDXCoilAvailSchPtr proc~getdxcoilavailschptr->proc~getdxcoils proc~setcoilsystemheatingdxflag SetCoilSystemHeatingDXFlag proc~setcoilsystemheatingdxflag->proc~getdxcoils proc~setdxcoolingcoildata SetDXCoolingCoilData proc~setdxcoolingcoildata->proc~getdxcoils proc~getdxcoilnumberofspeeds GetDXCoilNumberOfSpeeds proc~getdxcoilnumberofspeeds->proc~getdxcoils proc~getcoiloutletnode GetCoilOutletNode proc~getcoiloutletnode->proc~getdxcoils proc~getdxcoilairflow GetDXCoilAirFlow proc~getdxcoilairflow->proc~getdxcoils proc~getdxcoilcapftcurveindex GetDXCoilCapFTCurveIndex proc~getdxcoilcapftcurveindex->proc~getdxcoils proc~getcoiltypenum GetCoilTypeNum proc~getcoiltypenum->proc~getdxcoils proc~getcoilcapacity GetCoilCapacity proc~getcoilcapacity->proc~getdxcoils proc~getcoilcapacitybyindextype GetCoilCapacityByIndexType proc~getcoilcapacitybyindextype->proc~getdxcoils proc~simdxcoilmultispeed SimDXCoilMultiSpeed proc~simdxcoilmultispeed->proc~getdxcoils proc~setdxcoiltypedata SetDXCoilTypeData proc~setdxcoiltypedata->proc~getdxcoils proc~getpurchasedairoutairmassflow GetPurchasedAirOutAirMassFlow proc~getpurchasedairoutairmassflow->proc~getpurchasedair proc~getpurchasedairmixedairtemp GetPurchasedAirMixedAirTemp proc~getpurchasedairmixedairtemp->proc~getpurchasedair proc~simpurchasedair SimPurchasedAir proc~simpurchasedair->proc~getpurchasedair proc~getpurchasedairreturnairnode GetPurchasedAirReturnAirNode proc~getpurchasedairreturnairnode->proc~getpurchasedair proc~getpurchasedairmixedairhumrat GetPurchasedAirMixedAirHumRat proc~getpurchasedairmixedairhumrat->proc~getpurchasedair proc~getpurchasedairzoneinletairnode GetPurchasedAirZoneInletAirNode proc~getpurchasedairzoneinletairnode->proc~getpurchasedair proc~simhumidifier SimHumidifier proc~simhumidifier->proc~gethumidifierinput proc~simdirectair SimDirectAir proc~simdirectair->proc~getdirectairinput proc~simicestorage SimIceStorage proc~simicestorage->proc~geticestorageinput proc~simulatedualduct SimulateDualDuct proc~simulatedualduct->proc~getdualductinput proc~simcoolbeam SimCoolBeam proc~simcoolbeam->proc~getcoolbeams proc~simulatesteamcoilcomponents SimulateSteamCoilComponents proc~simulatesteamcoilcomponents->proc~getsteamcoilinput proc~cgetcoilairoutletnode cGetCoilAirOutletNode proc~cgetcoilairoutletnode->proc~getsteamcoilinput proc~getsteamcoilcontrolnodenum GetSteamCoilControlNodeNum proc~getsteamcoilcontrolnodenum->proc~getsteamcoilinput proc~getcoilairinletnode GetCoilAirInletNode proc~getcoilairinletnode->proc~getsteamcoilinput proc~igetcoilairoutletnode iGetCoilAirOutletNode proc~igetcoilairoutletnode->proc~getsteamcoilinput proc~getsteamcoilavailscheduleindex GetSteamCoilAvailScheduleIndex proc~getsteamcoilavailscheduleindex->proc~getsteamcoilinput proc~getcoilmaxwaterflowrate~2 GetCoilMaxWaterFlowRate proc~getcoilmaxwaterflowrate~2->proc~getsteamcoilinput proc~cgetcoilsteaminletnode cGetCoilSteamInletNode proc~cgetcoilsteaminletnode->proc~getsteamcoilinput proc~checksteamcoilschedule CheckSteamCoilSchedule proc~checksteamcoilschedule->proc~getsteamcoilinput proc~igetcoilsteamoutletnode iGetCoilSteamOutletNode proc~igetcoilsteamoutletnode->proc~getsteamcoilinput proc~cgetcoilsteamoutletnode cGetCoilSteamOutletNode proc~cgetcoilsteamoutletnode->proc~getsteamcoilinput proc~getcoilmaxsteamflowrate GetCoilMaxSteamFlowRate proc~getcoilmaxsteamflowrate->proc~getsteamcoilinput proc~gettypeofcoil GetTypeOfCoil proc~gettypeofcoil->proc~getsteamcoilinput proc~igetcoilsteaminletnode iGetCoilSteamInletNode proc~igetcoilsteaminletnode->proc~getsteamcoilinput proc~getcoilcapacity~4 GetCoilCapacity proc~getcoilcapacity~4->proc~getsteamcoilinput proc~getsteamcoilindex GetSteamCoilIndex proc~getsteamcoilindex->proc~getsteamcoilinput proc~simvav->proc~simulatesteamcoilcomponents proc~simcbvav->proc~simulatesteamcoilcomponents proc~calcvavvs CalcVAVVS proc~calcvavvs->proc~simulatesteamcoilcomponents proc~simconstvol->proc~simulatesteamcoilcomponents proc~vavvshcfanonresidual VAVVSHCFanOnResidual proc~vavvshcfanonresidual->proc~calcvavvs proc~vavvshwfanonresidual VAVVSHWFanOnResidual proc~vavvshwfanonresidual->proc~calcvavvs proc~vavvshwnofanresidual VAVVSHWNoFanResidual proc~vavvshwnofanresidual->proc~calcvavvs proc~simvavvs->proc~getcoilcapacity~4 proc~simvavvs->proc~calcvavvs proc~vavvscoolingresidual VAVVSCoolingResidual proc~vavvscoolingresidual->proc~calcvavvs interface~getcoilairoutletnode->proc~cgetcoilairoutletnode interface~getcoilairoutletnode->proc~igetcoilairoutletnode interface~getcoilsteaminletnode->proc~cgetcoilsteaminletnode interface~getcoilsteaminletnode->proc~igetcoilsteaminletnode proc~sizesys SizeSys proc~sizesys->interface~getcoilsteaminletnode interface~getcoilsteamoutletnode GetCoilSteamOutletNode proc~sizesys->interface~getcoilsteamoutletnode proc~initsys->proc~sizesys interface~getcoilsteamoutletnode->proc~igetcoilsteamoutletnode interface~getcoilsteamoutletnode->proc~cgetcoilsteamoutletnode proc~getwindowacmixedairnode GetWindowACMixedAirNode proc~getwindowacmixedairnode->proc~getwindowac proc~getwindowaczoneinletairnode GetWindowACZoneInletAirNode proc~getwindowaczoneinletairnode->proc~getwindowac proc~getwindowacoutairnode GetWindowACOutAirNode proc~getwindowacoutairnode->proc~getwindowac proc~getwindowacreturnairnode GetWindowACReturnAirNode proc~getwindowacreturnairnode->proc~getwindowac proc~simwindowac SimWindowAC proc~simwindowac->proc~getwindowac proc~getdaylightingparametersinput GetDaylightingParametersInput proc~getdaylightingparametersinput->proc~getdaylightingparametersdetaild proc~calcdayltgcoefficients CalcDayltgCoefficients proc~calcdayltgcoefficients->proc~getdaylightingparametersinput proc~calcdayltgcoeffsrefmappoints CalcDayltgCoeffsRefMapPoints proc~calcdayltgcoefficients->proc~calcdayltgcoeffsrefmappoints proc~simevapcooler SimEvapCooler proc~simevapcooler->proc~getevapinput proc~calczoneevaporativecoolerunit->proc~simevapcooler proc~controlvsevapunittomeetload ControlVSEvapUnitToMeetLoad proc~calczoneevaporativecoolerunit->proc~controlvsevapunittomeetload proc~controlvsevapunittomeetload->proc~simevapcooler proc~vsevapunitloadresidual VSEvapUnitLoadResidual proc~vsevapunitloadresidual->proc~simevapcooler proc~getunitarysystemoaheatcoolcoil GetUnitarySystemOAHeatCoolCoil proc~getunitarysystemoaheatcoolcoil->proc~getunitarysysteminput proc~getunitarysystemdxcoolingcoilindex GetUnitarySystemDXCoolingCoilIndex proc~getunitarysystemdxcoolingcoilindex->proc~getunitarysysteminput proc~checkunitarysyscoilinoasysexists CheckUnitarySysCoilInOASysExists proc~checkunitarysyscoilinoasysexists->proc~getunitarysysteminput proc~simunitarysystem SimUnitarySystem proc~simunitarysystem->proc~getunitarysysteminput proc~initunitarysystems InitUnitarySystems proc~simunitarysystem->proc~initunitarysystems proc~sizeunitarysystem SizeUnitarySystem proc~sizeunitarysystem->proc~getunitarysystemdxcoolingcoilindex proc~initunitarysystems->proc~sizeunitarysystem proc~simventilatedslab SimVentilatedSlab proc~simventilatedslab->proc~getventilatedslabinput proc~getnumoacontrollers GetNumOAControllers proc~getnumoacontrollers->proc~getoacontrollerinputs proc~setoacontrollerdata SetOAControllerData proc~setoacontrollerdata->proc~getoacontrollerinputs proc~checkoacontrollername CheckOAControllerName proc~checkoacontrollername->proc~getoacontrollerinputs proc~gethybridventilationcontrolstatus GetHybridVentilationControlStatus proc~gethybridventilationcontrolstatus->proc~gethybridventilationinputs proc~managehybridventilation ManageHybridVentilation proc~managehybridventilation->proc~gethybridventilationinputs proc~dayltghitobstruction DayltgHitObstruction proc~dayltghitobstruction->proc~lookupschedulevalue proc~dayltgdirectsundiskcomplexfenestration DayltgDirectSunDiskComplexFenestration proc~dayltgdirectsundiskcomplexfenestration->proc~dayltghitobstruction proc~figuredayltgcoeffsatpointsforwindowelements FigureDayltgCoeffsAtPointsForWindowElements proc~figuredayltgcoeffsatpointsforwindowelements->proc~dayltghitobstruction proc~figuredayltgcoeffsatpointsforsunposition FigureDayltgCoeffsAtPointsForSunPosition proc~figuredayltgcoeffsatpointsforsunposition->proc~dayltghitobstruction proc~figuredayltgcoeffsatpointsforsunposition->proc~dayltgdirectsundiskcomplexfenestration proc~dayltginterreflectedillum DayltgInterReflectedIllum proc~figuredayltgcoeffsatpointsforsunposition->proc~dayltginterreflectedillum proc~dayltginterreflectedillum->proc~dayltghitobstruction proc~calcdayltgcoeffsrefpoints CalcDayltgCoeffsRefPoints proc~calcdayltgcoeffsrefpoints->proc~figuredayltgcoeffsatpointsforwindowelements proc~calcdayltgcoeffsrefpoints->proc~figuredayltgcoeffsatpointsforsunposition proc~calcdayltgcoeffsmappoints CalcDayltgCoeffsMapPoints proc~calcdayltgcoeffsmappoints->proc~figuredayltgcoeffsatpointsforwindowelements proc~calcdayltgcoeffsmappoints->proc~figuredayltgcoeffsatpointsforsunposition proc~calcdayltgcoeffsrefmappoints->proc~calcdayltgcoeffsrefpoints proc~calcdayltgcoeffsrefmappoints->proc~calcdayltgcoeffsmappoints
Help

Source Code


Source Code

SUBROUTINE ProcessScheduleInput

          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Linda K. Lawrie
          !       DATE WRITTEN   September 1997
          !       MODIFIED       Rui Zhang February 2010
          !       RE-ENGINEERED  na

          ! PURPOSE OF THIS SUBROUTINE:
          ! This subroutine processes the schedules input for EnergyPlus.

          ! METHODOLOGY EMPLOYED:
          ! Uses the standard get routines in the InputProcessor.

          ! REFERENCES:
          ! na

          ! USE STATEMENTS:
  USE InputProcessor, ONLY: GetNumObjectsFound, GetObjectItem, FindItemInList, ProcessNumber, VerifyName, &
                            GetObjectDefMaxArgs, SameString, FindItem
  USE General,        ONLY: ProcessDateString, JulianDay, RoundSigDigits, TrimSigDigits
  USE DataIPShortCuts
  USE DataStringGlobals, ONLY: CharTab,CharComma,CharSpace,CharSemicolon
  Use DataGlobals,    ONLY: AnyEnergyManagementSystemInModel
  Use DataInterfaces, ONLY: SetupEMSActuator
  USE DataSystemVariables, ONLY: iASCII_CR, iUnicode_end, TempFullFileName,CheckForActualFileName

  IMPLICIT NONE    ! Enforce explicit typing of all variables in this routine

          ! SUBROUTINE PARAMETER DEFINITIONS:
  CHARACTER(len=*), PARAMETER :: RoutineName='ProcessScheduleInput: '

          ! INTERFACE BLOCK SPECIFICATIONS
          ! na

          ! DERIVED TYPE DEFINITIONS
          ! na

          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
  INTEGER,EXTERNAL :: GetNewUnitNumber  ! Function to call if file not opened

  INTEGER DaysInYear(366)
  INTEGER UnitNumber
  INTEGER, EXTERNAL :: FindUnitNumber
  INTEGER LoopIndex
  INTEGER InLoopIndex
  INTEGER DayIndex,WeekIndex
  CHARACTER(Len=MaxNameLength), ALLOCATABLE, DIMENSION(:) :: Alphas
  CHARACTER(Len=MaxNameLength), ALLOCATABLE, DIMENSION(:) :: cAlphaFields
  CHARACTER(Len=MaxNameLength), ALLOCATABLE, DIMENSION(:) :: cNumericFields
  REAL(r64), ALLOCATABLE, DIMENSION(:) :: Numbers
  LOGICAL, ALLOCATABLE, DIMENSION(:) :: lAlphaBlanks
  LOGICAL, ALLOCATABLE, DIMENSION(:) :: lNumericBlanks
  INTEGER NumAlphas
  INTEGER NumNumbers
  INTEGER Status
  INTEGER StartMonth,StartDay,EndMonth,EndDay
  INTEGER StartPointer,EndPointer
  INTEGER NumPointer
  INTEGER Count
  INTEGER CheckIndex
  LOGICAL :: ErrorsFound=.false.
  LOGICAL       :: IsNotOK       ! Flag to verify name
  LOGICAL       :: IsBlank       ! Flag for blank name
  LOGICAL NumErrorFlag
  INTEGER SchedTypePtr
  CHARACTER(len=20) CFld         ! Character field for error message
!  CHARACTER(len=20) CFld1        ! Character field for error message
  INTEGER NumHrDaySchedules      ! Number of "hourly" dayschedules
  INTEGER NumIntDaySchedules     ! Number of "interval" dayschedules
  INTEGER NumExternalInterfaceSchedules ! Number of "PtolemyServer ExternalInterface" "compact" Schedules
  INTEGER NumExternalInterfaceFunctionalMockupUnitImportSchedules ! Number of "FunctionalMockupUnitImport ExternalInterface"
                                                            ! "compact" Schedules ! added for FMU Import
  INTEGER NumExternalInterfaceFunctionalMockupUnitExportSchedules ! Number of "FunctionalMockupUnitExport ExternalInterface"
                                                            ! "compact" Schedules ! added for FMU Export
  INTEGER NumLstDaySchedules     ! Number of "list" dayschedules
  INTEGER NumRegDaySchedules     ! Number of hourly+interval+list dayschedules
  INTEGER NumRegWeekSchedules    ! Number of "regular" Weekschedules
  INTEGER NumRegSchedules        ! Number of "regular" Schedules
  INTEGER NumCptWeekSchedules    ! Number of "compact" WeekSchedules
  INTEGER NumCptSchedules        ! Number of "compact" Schedules
  INTEGER NumCommaFileSchedules  ! Number of Schedule:File schedules
  INTEGER NumConstantSchedules   ! Number of "constant" schedules
  INTEGER TS                     ! Counter for Num Of Time Steps in Hour
  INTEGER Hr                     ! Hour Counter
  REAL(r64), ALLOCATABLE, DIMENSION(:,:) :: MinuteValue  ! Temporary for processing interval schedules
  LOGICAL, ALLOCATABLE, DIMENSION(:,:) :: SetMinuteValue  ! Temporary for processing interval schedules
  INTEGER NumFields
  INTEGER SCount
!  LOGICAL RptSchedule
  INTEGER RptLevel
  INTEGER CurMinute
  INTEGER MinutesPerItem
  INTEGER NumExpectedItems
  INTEGER MaxNums
  INTEGER MaxAlps
  INTEGER AddWeekSch
  INTEGER AddDaySch
  LOGICAL AllDays(MaxDayTypes)
  LOGICAL Thesedays(MaxDayTypes)
  LOGICAL ErrorHere
  INTEGER SchNum
  INTEGER WkCount
  INTEGER DyCount
  INTEGER NumField
  INTEGER PDateType
  INTEGER PWeekDay
  INTEGER ThruField
  CHARACTER(len=25) ExtraField
  INTEGER UntilFld
  INTEGER xxcount
!  REAL(r64) tempval
  LOGICAL :: FullYearSet=.false.
  CHARACTER(len=MaxNameLength) :: CurrentThrough=blank
  CHARACTER(len=MaxNameLength) :: LastFor=blank
  CHARACTER(len=220) :: errmsg=blank
  integer kdy
  LOGICAL :: FileExists
  ! for SCHEDULE:FILE
  REAL(r64), ALLOCATABLE, DIMENSION(:) :: hourlyFileValues
  INTEGER :: SchdFile
  INTEGER :: colCnt
  INTEGER :: rowCnt
  INTEGER :: wordStart
  INTEGER :: wordEnd
  INTEGER :: sepPos
  CHARACTER(len=1000) :: LineIn
  CHARACTER(len=MaxNameLength) :: subString
  REAL(r64) :: columnValue
  INTEGER :: read_stat
  INTEGER :: iDay
  INTEGER :: hDay
  INTEGER :: jHour
  INTEGER :: kDayType
  REAL(r64)    :: curHrVal
  LOGICAL :: errflag
  INTEGER :: sPos
  CHARACTER(len=MaxNameLength) :: CurrentModuleObject  ! for ease in getting objects
  INTEGER :: MaxNums1
  LOGICAL :: StripCR  ! If true, strip last character (<cr> off each schedule:file line)
  INTEGER :: endLine
  CHARACTER(len=1) :: ColumnSep
  LOGICAL :: firstLine
  LOGICAL :: FileIntervalInterpolated
  INTEGER :: rowLimitCount
  INTEGER :: skiprowCount
  INTEGER :: curcolCount
  INTEGER :: numHourlyValues
  INTEGER :: numerrors
  INTEGER :: ifld
  INTEGER :: hrLimitCount


  MaxNums=1 ! Need at least 1 number because it's used as a local variable in the Schedule Types loop
  MaxAlps=0

  CurrentModuleObject='ScheduleTypeLimits'
  NumScheduleTypes=GetNumObjectsFound(CurrentModuleObject)
  IF (NumScheduleTypes > 0) THEN
    CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
    MaxNums=MAX(MaxNums,NumNumbers)
    MaxAlps=MAX(MaxAlps,NumAlphas)
  ENDIF
  CurrentModuleObject='Schedule:Day:Hourly'
  NumHrDaySchedules=GetNumObjectsFound(CurrentModuleObject)
  IF (NumHrDaySchedules > 0) THEN
    CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
    MaxNums=MAX(MaxNums,NumNumbers)
    MaxAlps=MAX(MaxAlps,NumAlphas)
  ENDIF
  CurrentModuleObject='Schedule:Day:Interval'
  NumIntDaySchedules=GetNumObjectsFound(CurrentModuleObject)
  IF (NumIntDaySchedules > 0) THEN
    CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
    MaxNums=MAX(MaxNums,NumNumbers)
    MaxAlps=MAX(MaxAlps,NumAlphas)
  ENDIF
  CurrentModuleObject='Schedule:Day:List'
  NumLstDaySchedules=GetNumObjectsFound(CurrentModuleObject)
  IF (NumLstDaySchedules > 0) THEN
    CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
    MaxNums=MAX(MaxNums,NumNumbers)
    MaxAlps=MAX(MaxAlps,NumAlphas)
  ENDIF
  CurrentModuleObject='Schedule:Week:Daily'
  NumRegWeekSchedules=GetNumObjectsFound(CurrentModuleObject)
  IF (NumRegWeekSchedules > 0) THEN
    CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
    MaxNums=MAX(MaxNums,NumNumbers)
    MaxAlps=MAX(MaxAlps,NumAlphas)
  ENDIF
  CurrentModuleObject='Schedule:Week:Compact'
  NumCptWeekSchedules=GetNumObjectsFound(CurrentModuleObject)
  IF (NumCptWeekSchedules > 0) THEN
    CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
    MaxNums=MAX(MaxNums,NumNumbers)
    MaxAlps=MAX(MaxAlps,NumAlphas)
  ENDIF
  CurrentModuleObject='Schedule:Year'
  NumRegSchedules=GetNumObjectsFound(CurrentModuleObject)
  IF (NumRegSchedules > 0) THEN
    CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
    MaxNums=MAX(MaxNums,NumNumbers)
    MaxAlps=MAX(MaxAlps,NumAlphas)
  ENDIF
  CurrentModuleObject='Schedule:Compact'
  NumCptSchedules=GetNumObjectsFound(CurrentModuleObject)
  IF (NumCptSchedules > 0) THEN
    CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
    MaxNums=MAX(MaxNums,NumNumbers)
    MaxAlps=MAX(MaxAlps,NumAlphas+1)
  ENDIF
  CurrentModuleObject='Schedule:File'
  NumCommaFileSchedules = GetNumObjectsFound(CurrentModuleObject)
  IF (NumCommaFileSchedules > 0) THEN
    CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
    MaxNums=MAX(MaxNums,NumNumbers)
    MaxAlps=MAX(MaxAlps,NumAlphas)
  ENDIF
  CurrentModuleObject='Schedule:Constant'
  NumConstantSchedules = GetNumObjectsFound(CurrentModuleObject)
  IF (NumConstantSchedules > 0) THEN
    CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
    MaxNums=MAX(MaxNums,NumNumbers)
    MaxAlps=MAX(MaxAlps,NumAlphas)
  ENDIF
  CurrentModuleObject='ExternalInterface:Schedule'
  NumExternalInterfaceSchedules=GetNumObjectsFound(CurrentModuleObject)
  ! added for FMI
  IF (NumCptSchedules > 0) THEN
    CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
    MaxNums=MAX(MaxNums,NumNumbers)
    MaxAlps=MAX(MaxAlps,NumAlphas+1)
  ENDIF
  ! added for FMU Import
  CurrentModuleObject='ExternalInterface:FunctionalMockupUnitImport:To:Schedule'
  NumExternalInterfaceFunctionalMockupUnitImportSchedules=GetNumObjectsFound(CurrentModuleObject)
  IF (NumCptSchedules > 0) THEN
    CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
    MaxNums=MAX(MaxNums,NumNumbers)
    MaxAlps=MAX(MaxAlps,NumAlphas+1)
  ENDIF
  ! added for FMU Export
  CurrentModuleObject='ExternalInterface:FunctionalMockupUnitExport:To:Schedule'
  NumExternalInterfaceFunctionalMockupUnitExportSchedules=GetNumObjectsFound(CurrentModuleObject)
  IF (NumCptSchedules > 0) THEN
    CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
    MaxNums=MAX(MaxNums,NumNumbers)
    MaxAlps=MAX(MaxAlps,NumAlphas+1)
  ENDIF
  CurrentModuleObject='Output:Schedules'
  CALL GetObjectDefMaxArgs(CurrentModuleObject,Count,NumAlphas,NumNumbers)
  MaxNums=MAX(MaxNums,NumNumbers)
  MaxAlps=MAX(MaxAlps,NumAlphas)

  ALLOCATE(Alphas(MaxAlps)) ! Maximum Alphas possible
  Alphas=' '
  ALLOCATE(cAlphaFields(MaxAlps))
  cAlphaFields=' '
  ALLOCATE(cNumericFields(MaxNums))
  cNumericFields=' '
  ALLOCATE(Numbers(MaxNums)) ! Maximum Numbers possible
  Numbers=0.0d0
  ALLOCATE(lAlphaBlanks(MaxAlps))
  lAlphaBlanks=.true.
  ALLOCATE(lNumericBlanks(MaxNums))
  lNumericBlanks=.true.

  ! Prescan to determine extra day and week schedules due to compact schedule input
  AddWeekSch=0
  AddDaySch=0
  CurrentModuleObject='Schedule:Compact'
  MaxNums1=0
  DO LoopIndex=1,NumCptSchedules
    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status)
    ! # 'THROUGH" => Number of additional week schedules
    ! # 'FOR' => Number of additional day schedules
    DO Count=3,NumAlphas
      IF (Alphas(Count)(1:7) == 'THROUGH') AddWeekSch=AddWeekSch+1
      IF (Alphas(Count)(1:3) == 'FOR') AddDaySch=AddDaySch+1
      IF (Alphas(Count)(1:5) == 'UNTIL') MaxNums1=MaxNums1+1
    ENDDO
  ENDDO
  IF (MaxNums1 > MaxNums) THEN
    MaxNums=MaxNums1
    DEALLOCATE(cNumericFields)
    DEALLOCATE(Numbers)
    DEALLOCATE(lNumericBlanks)
    ALLOCATE(cNumericFields(MaxNums))
    cNumericFields=' '
    ALLOCATE(Numbers(MaxNums)) ! Maximum Numbers possible
    Numbers=0.0d0
    ALLOCATE(lNumericBlanks(MaxNums))
    lNumericBlanks=.true.
  ENDIF
  ! add week and day schedules for each FILE:COMMA schedule
  AddWeekSch = AddWeekSch + NumCommaFileSchedules * 366 !number of days/year because need a week for each day
  AddDaySch = AddDaySch + NumCommaFileSchedules * 366  !number of days/year
  AddWeekSch = AddWeekSch + NumConstantSchedules
  AddDaySch = AddDaySch + NumConstantSchedules
  ! add week and day schedules for each ExternalInterface:Schedule schedule
  AddWeekSch = AddWeekSch + NumExternalInterfaceSchedules * 366 !number of days/year because need a week for each day
  AddDaySch = AddDaySch + NumExternalInterfaceSchedules  !one day schedule for ExternalInterface to update during run time
  ! added for FMU Import
  ! add week and day schedules for each ExternalInterface:FunctionalMockupUnitImport:Schedule
  AddWeekSch = AddWeekSch + NumExternalInterfaceFunctionalMockupUnitImportSchedules * 366 !number of days/year
                                                                                    !because need a week for each day
  AddDaySch = AddDaySch + NumExternalInterfaceFunctionalMockupUnitImportSchedules  ! one day schedule for ExternalInterface
                                                                             ! to update during run time
  ! added for FMU Export
  ! add week and day schedules for each ExternalInterface:FunctionalMockupUnitExport:Schedule
  AddWeekSch = AddWeekSch + NumExternalInterfaceFunctionalMockupUnitExportSchedules * 366 !number of days/year
                                                                                    !because need a week for each day
  AddDaySch = AddDaySch + NumExternalInterfaceFunctionalMockupUnitExportSchedules  ! one day schedule for ExternalInterface
                                                                             ! to update during run time


  ! include additional schedules in with count
  NumRegDaySchedules=NumHrDaySchedules+NumIntDaySchedules+NumLstDaySchedules
  NumDaySchedules=NumRegDaySchedules+AddDaySch
  NumWeekSchedules=NumRegWeekSchedules+NumCptWeekSchedules+AddWeekSch
  NumSchedules = NumRegSchedules + NumCptSchedules + NumCommaFileSchedules &
                   + NumConstantSchedules + NumExternalInterfaceSchedules &
                   + NumExternalInterfaceFunctionalMockupUnitImportSchedules &
                   + NumExternalInterfaceFunctionalMockupUnitExportSchedules

!!  Most initializations in the schedule data structures are taken care of in
!!  the definitions (see above)

  ALLOCATE (ScheduleType(0:NumScheduleTypes))

  ALLOCATE (DaySchedule(0:NumDaySchedules))
  !    Initialize
  DO LoopIndex=0,NumDaySchedules
    ALLOCATE(DaySchedule(LoopIndex)%TSValue(24,NumOfTimeStepInHour))
    DO Count=1,24
      DO TS=1,NumOfTimeStepInHour
        DaySchedule(LoopIndex)%TSValue(Count,TS)=0.0d0
      ENDDO
    ENDDO
  ENDDO

  ALLOCATE (WeekSchedule(0:NumWeekSchedules))

  ALLOCATE (Schedule(-1:NumSchedules))
  Schedule(-1)%ScheduleTypePtr=-1
  Schedule(-1)%WeekSchedulePointer=1
  Schedule(0)%ScheduleTypePtr=0
  Schedule(0)%WeekSchedulePointer=0

  UnitNumber=FindUnitNumber('eplusout.audit')
  WRITE(UnitNumber,*) ' Processing Schedule Input -- Start'

!!! Get Schedule Types

  CurrentModuleObject='ScheduleTypeLimits'
  DO LoopIndex=1,NumScheduleTypes
    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status,  &
                   AlphaBlank=lAlphaBlanks,NumBlank=lNumericBlanks,  &
                   AlphaFieldnames=cAlphaFields,NumericFieldNames=cNumericFields)
    IsNotOK=.false.
    IsBlank=.false.
    CALL VerifyName(Alphas(1),ScheduleType(1:NumScheduleTypes)%Name,LoopIndex-1,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound=.true.
      IF (IsBlank) Alphas(1)='xxxxx'
    ENDIF
    ScheduleType(LoopIndex)%Name=Alphas(1)
    IF (lNumericBlanks(1) .or. lNumericBlanks(2)) THEN
      ScheduleType(LoopIndex)%Limited=.false.
    ELSEIF (.not. lNumericBlanks(1) .and. .not. lNumericBlanks(2)) THEN
      ScheduleType(LoopIndex)%Limited=.true.
    ENDIF
    IF (.not. lNumericBlanks(1)) THEN
      ScheduleType(LoopIndex)%Minimum=Numbers(1)
    ENDIF
    IF (.not. lNumericBlanks(2)) THEN
      ScheduleType(LoopIndex)%Maximum=Numbers(2)
    ENDIF
    IF (ScheduleType(LoopIndex)%Limited) THEN
      IF (Alphas(2) == 'DISCRETE' .or. Alphas(2) == 'INTEGER') THEN
        ScheduleType(LoopIndex)%IsReal=.false.
      ELSE
        IF (Alphas(2) /= 'CONTINUOUS' .and. Alphas(2) /= 'REAL') THEN
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//  &
             TRIM(ScheduleType(LoopIndex)%Name)//'", invalid '//TRIM(cAlphaFields(2))//'='//TRIM(Alphas(2)))
          ErrorsFound=.true.
        ENDIF
        ScheduleType(LoopIndex)%IsReal=.true.
      ENDIF
    ENDIF
    IF (NumAlphas .ge. 3) THEN
      IF (.not. lAlphaBlanks(3)) THEN
        ScheduleType(LoopIndex)%UnitType = FindItem(Alphas(3), &
                            ScheduleTypeLimitUnitTypes,NumScheduleTypeLimitUnitTypes)
        IF (ScheduleType(LoopIndex)%UnitType .eq. 0) THEN
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="' // TRIM(Alphas(1)) //   &
                              '", '//trim(cAlphaFields(3))//'="' // TRIM(Alphas(3)) //'" is invalid.')
        END IF
      END IF
    END IF
    IF (ScheduleType(LoopIndex)%Limited) THEN
      IF (ScheduleType(LoopIndex)%Minimum > ScheduleType(LoopIndex)%Maximum) THEN
        IF (ScheduleType(LoopIndex)%IsReal) THEN
          CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="' // TRIM(Alphas(1)) //   &
                              '", '//trim(cNumericFields(1))//' ['//trim(RoundSigDigits(ScheduleType(LoopIndex)%Minimum,2))//  &
                          '] > '//trim(cNumericFields(2))//' ['//trim(RoundSigDigits(ScheduleType(LoopIndex)%Maximum,2))//'].')
          CALL ShowContinueError('  Other warning/severes about schedule values may appear.')
        ELSE
          CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="' // TRIM(Alphas(1)) //   &
                              '", '//trim(cNumericFields(1))//' ['//trim(RoundSigDigits(ScheduleType(LoopIndex)%Minimum,0))//  &
                          '] > '//trim(cNumericFields(2))//' ['//trim(RoundSigDigits(ScheduleType(LoopIndex)%Maximum,0))//'].')
          CALL ShowContinueError('  Other warning/severes about schedule values may appear.')
        ENDIF
      ENDIF
    ENDIF
  ENDDO

!!! Get Day Schedules (all types)

!!!=> Get "DAYSCHEDULE" (Hourly)

  Count=0
  CurrentModuleObject='Schedule:Day:Hourly'
  DO LoopIndex=1,NumHrDaySchedules
    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status,  &
                   AlphaBlank=lAlphaBlanks,NumBlank=lNumericBlanks,  &
                   AlphaFieldnames=cAlphaFields,NumericFieldNames=cNumericFields)
    IsNotOK=.false.
    IsBlank=.false.
    CALL VerifyName(Alphas(1),DaySchedule%Name,Count,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound=.true.
      IF (IsBlank) Alphas(1)='xxxxx'
    ENDIF
    Count=Count+1
    DaySchedule(Count)%Name=Alphas(1)
    ! Validate ScheduleType
    IF (NumScheduleTypes > 0) THEN
      CheckIndex=FindIteminList(Alphas(2),ScheduleType(1:NumScheduleTypes)%Name,NumScheduleTypes)
      IF (CheckIndex == 0) THEN
        IF (.not. lAlphaBlanks(2)) THEN
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", '//TRIM(cAlphaFields(2))//'="'//TRIM(Alphas(2))//  &
             '" not found -- will not be validated')
        ELSE
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", Blank '//TRIM(cAlphaFields(2))//' input -- will not be validated.')
        ENDIF
      ELSE
        DaySchedule(Count)%ScheduleTypePtr=CheckIndex
      ENDIF
    ENDIF
    DO HR=1,24
      DaySchedule(Count)%TSValue(Hr,1:NumOfTimeStepInHour)=Numbers(Hr)
    ENDDO
    DaySchedule(Count)%IntervalInterpolated=.false.
    SchedTypePtr=DaySchedule(Count)%ScheduleTypePtr
    IF (ScheduleType(SchedTypePtr)%Limited) THEN
      IF (ANY(DaySchedule(Count)%TSValue < ScheduleType(SchedTypePtr)%Minimum) .or.  &
          ANY(DaySchedule(Count)%TSValue > ScheduleType(SchedTypePtr)%Maximum) ) THEN
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", Values are outside of range for '//TRIM(cAlphaFields(2))//'='//TRIM(Alphas(2)))
      ENDIF
    ENDIF
    IF (.not. ScheduleType(SchedTypePtr)%IsReal) THEN
         ! Make sure each is integer
      NumErrorFlag=.false.   ! only show error message once
      DO Hr=1,24
        DO TS=1,NumOfTimeStepInHour
          IF (DaySchedule(Count)%TSValue(Hr,TS) /= INT(DaySchedule(Count)%TSValue(Hr,TS)) ) THEN
            IF (.not. NumErrorFlag) THEN
              CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
                 '", One or more values are not integer as required by '//TRIM(cAlphaFields(2))//'='//TRIM(Alphas(2)))
              NumErrorFlag=.true.
            ENDIF
          ENDIF
        ENDDO
      ENDDO
    ENDIF
  END DO

  ALLOCATE(MinuteValue(24,60))
  ALLOCATE(SetMinuteValue(24,60))

!!! Get "DaySchedule:Interval"

  CurrentModuleObject='Schedule:Day:Interval'
  DO LoopIndex=1,NumIntDaySchedules
    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status,  &
                   AlphaBlank=lAlphaBlanks,NumBlank=lNumericBlanks,  &
                   AlphaFieldnames=cAlphaFields,NumericFieldNames=cNumericFields)
    IsNotOK=.false.
    IsBlank=.false.
    CALL VerifyName(Alphas(1),DaySchedule%Name,Count,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound=.true.
      IF (IsBlank) Alphas(1)='xxxxx'
    ENDIF
    Count=Count+1
    DaySchedule(Count)%Name=Alphas(1)
    ! Validate ScheduleType
    IF (NumScheduleTypes > 0) THEN
      CheckIndex=FindIteminList(Alphas(2),ScheduleType(1:NumScheduleTypes)%Name,NumScheduleTypes)
      IF (CheckIndex == 0) THEN
        IF (.not. lAlphaBlanks(2)) THEN
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", '//TRIM(cAlphaFields(2))//'="'//TRIM(Alphas(2))//  &
             '" not found -- will not be validated')
        ELSE
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", Blank '//TRIM(cAlphaFields(2))//' input -- will not be validated.')
        ENDIF
      ELSE
        DaySchedule(Count)%ScheduleTypePtr=CheckIndex
      ENDIF
    ENDIF
    NumFields=NumAlphas-3
! check to see if numfield=0
    IF (NumFields == 0) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         '", Insufficient data entered for a full schedule day.')
      CALL ShowContinueError('...Number of interval fields = = ['//trim(RoundSigDigits(NumFields))//'].')
      ErrorsFound=.true.
    ENDIF

    CALL ProcessIntervalFields(Alphas(4:),Numbers,NumFields,NumNumbers,MinuteValue,SetMinuteValue,ErrorsFound,  &
                               Alphas(1),TRIM(CurrentModuleObject))
    ! Depending on value of "Interpolate" field, the value for each time step in each hour gets processed:
    IF (Alphas(3) /= 'NO' .and. Alphas(3) /= 'YES') THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         'Invalid value for "'//TRIM(cAlphaFields(3))//'" field="'//TRIM(Alphas(3))//'"')
      ErrorsFound=.true.
    ELSEIF (Alphas(3) /= 'YES') THEN  ! No validation done on the value of the interpolation field
      DaySchedule(Count)%IntervalInterpolated=.false.
      DO Hr=1,24
        CurMinute=MinutesPerTimeStep
        DO TS=1,NumOfTimeStepInHour
          DaySchedule(Count)%TSValue(Hr,TS)=MinuteValue(Hr,CurMinute)
          Curminute=CurMinute+MinutesPerTimeStep
        ENDDO
      ENDDO
    ELSE
      DaySchedule(Count)%IntervalInterpolated=.true.
      DO Hr=1,24
        SCount=1
        CurMinute=MinutesPerTimeStep
        DO TS=1,NumOfTimeStepInHour
          DaySchedule(Count)%TSValue(Hr,TS)=SUM(MinuteValue(Hr,SCount:CurMinute))/REAL(MinutesPerTimeStep,r64)
          SCount=CurMinute+1
          CurMinute=CurMinute+MinutesPerTimeStep
        ENDDO
      ENDDO
    ENDIF

    SchedTypePtr=DaySchedule(Count)%ScheduleTypePtr
    IF (ScheduleType(SchedTypePtr)%Limited) THEN
      IF (ANY(DaySchedule(Count)%TSValue < ScheduleType(SchedTypePtr)%Minimum) .or.  &
          ANY(DaySchedule(Count)%TSValue > ScheduleType(SchedTypePtr)%Maximum) ) THEN
        CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
           '", Values are outside of range for '//TRIM(cAlphaFields(2))//'='//TRIM(Alphas(2)))
      ENDIF
    ENDIF
    IF (.not. ScheduleType(SchedTypePtr)%IsReal) THEN
         ! Make sure each is integer
      NumErrorFlag=.false.   ! only show error message once
      DO Hr=1,24
        DO TS=1,NumOfTimeStepInHour
          IF (DaySchedule(Count)%TSValue(Hr,TS) /= INT(DaySchedule(Count)%TSValue(Hr,TS)) ) THEN
            IF (.not. NumErrorFlag) THEN
              CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
                 '", , One or more values are not integer as required by '//TRIM(cAlphaFields(2))//'='//TRIM(Alphas(2)))
              NumErrorFlag=.true.
            ENDIF
          ENDIF
        ENDDO
      ENDDO
    ENDIF
  ENDDO

!!! Get "DaySchedule:List"

  CurrentModuleObject='Schedule:Day:List'
  DO LoopIndex=1,NumLstDaySchedules
    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status,  &
                   AlphaBlank=lAlphaBlanks,NumBlank=lNumericBlanks,  &
                   AlphaFieldnames=cAlphaFields,NumericFieldNames=cNumericFields)
    IsNotOK=.false.
    IsBlank=.false.
    CALL VerifyName(Alphas(1),DaySchedule%Name,Count,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound=.true.
      IF (IsBlank) Alphas(1)='xxxxx'
    ENDIF
    Count=Count+1
    DaySchedule(Count)%Name=Alphas(1)
    ! Validate ScheduleType
    IF (NumScheduleTypes > 0) THEN
      CheckIndex=FindIteminList(Alphas(2),ScheduleType(1:NumScheduleTypes)%Name,NumScheduleTypes)
      IF (CheckIndex == 0) THEN
        IF (.not. lAlphaBlanks(2)) THEN
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", '//TRIM(cAlphaFields(2))//'="'//TRIM(Alphas(2))//  &
             '" not found -- will not be validated')
        ELSE
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", Blank '//TRIM(cAlphaFields(2))//' input -- will not be validated.')
        ENDIF
      ELSE
        DaySchedule(Count)%ScheduleTypePtr=CheckIndex
      ENDIF
    ENDIF

    ! Depending on value of "Interpolate" field, the value for each time step in each hour gets processed:
    IF (Alphas(3) /= 'NO' .and. Alphas(3) /= 'YES') THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         'Invalid value for "'//TRIM(cAlphaFields(3))//'" field="'//TRIM(Alphas(3))//'"')
      ErrorsFound=.true.
    ELSEIF (Alphas(3) /= 'YES') THEN  ! No validation done on the value of the interpolation field
      DaySchedule(Count)%IntervalInterpolated=.false.
    ELSE
      DaySchedule(Count)%IntervalInterpolated=.true.
    ENDIF

! check to see if there are any fields
    IF (Numbers(1) <= 0.0d0) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         '", Insufficient data entered for a full schedule day.')
      CALL ShowContinueError('...Minutes per Item field = ['//trim(RoundSigDigits(INT(Numbers(1))))//'].')
      ErrorsFound=.true.
      CYCLE
    ENDIF
    IF (NumNumbers < 25) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         '", Insufficient data entered for a full schedule day.')
      CALL ShowContinueError('...Minutes per Item field = ['//trim(RoundSigDigits(INT(Numbers(1))))//'] and '//  &
         ' only ['//trim(RoundSigDigits(NumNumbers-1))//'] to apply to list fields.')
      ErrorsFound=.true.
      CYCLE
    ENDIF
    MinutesPerItem=INT(Numbers(1))
    NumExpectedItems=1440/MinutesPerItem
    IF ((NumNumbers-1) /= NumExpectedItems) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         ', Number of Entered Items='//TRIM(RoundSigDigits(NumNumbers-1))//  &
         ' not equal number of expected items='//TRIM(RoundSigDigits(NumExpectedItems)))
      CALL ShowContinueError('based on '//TRIM(cNumericFields(1))//' field value='//TRIM(RoundSigDigits(MinutesPerItem)))
      ErrorsFound=.true.
      CYCLE
    ENDIF

    IF (MOD(60,MinutesPerItem) /= 0) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1)))
      CALL ShowContinueError('Requested '//TRIM(cNumericFields(1))//' field value ('//  &
         TRIM(RoundSigDigits(MinutesPerItem))//') not evenly divisible into 60')
      ErrorsFound=.true.
      CYCLE
    ENDIF

    ! Number of numbers in the Numbers list okay to process
    Hr=1
    CurMinute=MinutesPerItem
    SCount=1
    DO NumFields=2,NumNumbers
      MinuteValue(Hr,SCount:CurMinute)=Numbers(NumFields)
      SCount=CurMinute+1
      CurMinute=CurMinute+MinutesPerItem
      IF (CurMinute > 60) THEN
        CurMinute=MinutesPerItem
        SCount=1
        Hr=Hr+1
      ENDIF
    ENDDO

    ! Now parcel into TS Value....

    IF (DaySchedule(Count)%IntervalInterpolated) THEN
      DO Hr=1,24
        SCount=1
        CurMinute=MinutesPerTimeStep
        DO TS=1,NumOfTimeStepInHour
          DaySchedule(Count)%TSValue(Hr,TS)=SUM(MinuteValue(Hr,SCount:CurMinute))/REAL(MinutesPerTimeStep,r64)
          SCount=CurMinute+1
          CurMinute=CurMinute+MinutesPerTimeStep
        ENDDO
      ENDDO
    ELSE
      DO Hr=1,24
        CurMinute=MinutesPerTimeStep
        DO TS=1,NumOfTimeStepInHour
          DaySchedule(Count)%TSValue(Hr,TS)=MinuteValue(Hr,CurMinute)
          Curminute=CurMinute+MinutesPerTimeStep
        ENDDO
      ENDDO
    ENDIF

    SchedTypePtr=DaySchedule(Count)%ScheduleTypePtr
    IF (ScheduleType(SchedTypePtr)%Limited) THEN
      IF (ANY(DaySchedule(Count)%TSValue < ScheduleType(SchedTypePtr)%Minimum) .or.  &
          ANY(DaySchedule(Count)%TSValue > ScheduleType(SchedTypePtr)%Maximum) ) THEN
        CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
           '", Values are outside of range for '//TRIM(cAlphaFields(2))//'='//TRIM(Alphas(2)))
      ENDIF
    ENDIF
    IF (.not. ScheduleType(SchedTypePtr)%IsReal) THEN
         ! Make sure each is integer
      NumErrorFlag=.false.   ! only show error message once
      DO Hr=1,24
        DO TS=1,NumOfTimeStepInHour
          IF (DaySchedule(Count)%TSValue(Hr,TS) /= INT(DaySchedule(Count)%TSValue(Hr,TS)) ) THEN
            IF (.not. NumErrorFlag) THEN
              CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
                 '", , One or more values are not integer as required by '//TRIM(cAlphaFields(2))//'='//TRIM(Alphas(2)))
              NumErrorFlag=.true.
            ENDIF
          ENDIF
        ENDDO
      ENDDO
    ENDIF
  ENDDO

!!! Get Week Schedules - regular

  CurrentModuleObject='Schedule:Week:Daily'
  DO LoopIndex=1,NumRegWeekSchedules
    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status,  &
                   AlphaBlank=lAlphaBlanks,NumBlank=lNumericBlanks,  &
                   AlphaFieldnames=cAlphaFields,NumericFieldNames=cNumericFields)
    IsNotOK=.false.
    IsBlank=.false.
    CALL VerifyName(Alphas(1),WeekSchedule(1:NumRegWeekSchedules)%Name,LoopIndex-1,IsNotOK,IsBlank,  &
       TRIM(CurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound=.true.
      IF (IsBlank) Alphas(1)='xxxxx'
    ENDIF
    WeekSchedule(LoopIndex)%Name=Alphas(1)
    ! Rest of Alphas are processed into Pointers
    DO InLoopIndex=1,MaxDayTypes
      DayIndex=FindIteminList(Alphas(InLoopIndex+1),DaySchedule(1:NumRegDaySchedules)%Name,NumRegDaySchedules)
      IF (DayIndex == 0) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
           '", '//TRIM(cAlphaFields(InLoopIndex+1))//' "'//TRIM(Alphas(InLoopIndex+1))//'" not Found',UnitNumber)
        ErrorsFound=.true.
      ELSE
        WeekSchedule(LoopIndex)%DaySchedulePointer(InLoopIndex)=DayIndex
      ENDIF
    END DO
  END DO

!!! Get Week Schedules - compact
  Count=NumRegWeekSchedules
  CurrentModuleObject='Schedule:Week:Compact'
  DO LoopIndex=1,NumCptWeekSchedules
    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status,  &
                   AlphaBlank=lAlphaBlanks,NumBlank=lNumericBlanks,  &
                   AlphaFieldnames=cAlphaFields,NumericFieldNames=cNumericFields)
    IsNotOK=.false.
    IsBlank=.false.
    IF (Count > 0) THEN
      CALL VerifyName(Alphas(1),WeekSchedule(1:Count)%Name,Count,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
      IF (IsNotOK) THEN
        ErrorsFound=.true.
        IF (IsBlank) Alphas(1)='xxxxx'
      ENDIF
    ENDIF
    Count=Count+1
    WeekSchedule(Count)%Name=Alphas(1)
    AllDays=.false.
    ! Rest of Alphas are processed into Pointers
    DO InLoopIndex=2,NumAlphas,2
      DayIndex=FindIteminList(Alphas(InLoopIndex+1),DaySchedule(1:NumRegDaySchedules)%Name,NumRegDaySchedules)
      IF (DayIndex == 0) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
           '", '//TRIM(cAlphaFields(InLoopIndex+1))//' "'//TRIM(Alphas(InLoopIndex+1))//'" not Found',UnitNumber)
        CALL ShowContinueError('ref: '//TRIM(cAlphaFields(InLoopIndex))//' "'//TRIM(Alphas(InLoopIndex))//'"')
        ErrorsFound=.true.
      ELSE
        TheseDays=.false.
        ErrorHere=.false.
        CALL ProcessForDayTypes(Alphas(InLoopIndex),TheseDays,AllDays,ErrorHere)
        IF (ErrorHere) THEN
          CALL ShowContinueError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1)))
          ErrorsFound=.true.
        ELSE
          DO Hr=1,MaxDayTypes
            IF (TheseDays(Hr)) THEN
              WeekSchedule(Count)%DaySchedulePointer(Hr)=DayIndex
            ENDIF
          ENDDO
        ENDIF
      ENDIF
    END DO
    !  Have processed all named days, check to make sure all given
    IF (.not. ALL(AllDays)) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         '", Missing some day assignments')
      ErrorsFound=.true.
    ENDIF
  END DO
  NumRegWeekSchedules=Count

!!! Get Schedules (all types)

!!! Get Regular Schedules

  CurrentModuleObject='Schedule:Year'
  DO LoopIndex=1,NumRegSchedules
    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status,  &
                   AlphaBlank=lAlphaBlanks,NumBlank=lNumericBlanks,  &
                   AlphaFieldnames=cAlphaFields,NumericFieldNames=cNumericFields)
    IsNotOK=.false.
    IsBlank=.false.
    CALL VerifyName(Alphas(1),Schedule(1:NumSchedules)%Name,LoopIndex-1,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound=.true.
      IF (IsBlank) Alphas(1)='xxxxx'
    ENDIF
    Schedule(LoopIndex)%Name=Alphas(1)
    Schedule(LoopIndex)%SchType=ScheduleInput_year
    ! Validate ScheduleType
    IF (NumScheduleTypes > 0) THEN
      CheckIndex=FindIteminList(Alphas(2),ScheduleType(1:NumScheduleTypes)%Name,NumScheduleTypes)
      IF (CheckIndex == 0) THEN
        IF (.not. lAlphaBlanks(2)) THEN
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", '//TRIM(cAlphaFields(2))//'="'//TRIM(Alphas(2))//  &
             '" not found -- will not be validated')
        ELSE
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", Blank '//TRIM(cAlphaFields(2))//' input -- will not be validated.')
        ENDIF
      ELSE
        Schedule(LoopIndex)%ScheduleTypePtr=CheckIndex
      ENDIF
    ENDIF
    NumPointer=0
    DaysInYear=0
    ! Rest of Alphas (Weekschedules) are processed into Pointers
    DO InLoopIndex=3,NumAlphas
      WeekIndex=FindIteminList(Alphas(InLoopIndex),WeekSchedule(1:NumRegWeekSchedules)%Name,NumRegWeekSchedules)
      IF (WeekIndex == 0) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", '//TRIM(cAlphaFields(InLoopIndex))//'="'//TRIM(Alphas(InLoopIndex))//  &
             '" not found.',UnitNumber)
        ErrorsFound=.true.
      ELSE
        ! Process for month, day
        StartMonth=INT(Numbers(NumPointer+1))
        StartDay=INT(Numbers(NumPointer+2))
        EndMonth=INT(Numbers(NumPointer+3))
        EndDay=INT(Numbers(NumPointer+4))
        NumPointer=NumPointer+4
        StartPointer=JulianDay(StartMonth,StartDay,1)
        EndPointer=JulianDay(EndMonth,EndDay,1)
        IF (StartPointer <= EndPointer) THEN
          DO Count=StartPointer,EndPointer
            DaysInYear(Count)=DaysInYear(Count)+1
            Schedule(LoopIndex)%WeekSchedulePointer(Count)=WeekIndex
          END DO
        ELSE
          DO Count=StartPointer,366
            DaysInYear(Count)=DaysInYear(Count)+1
            Schedule(LoopIndex)%WeekSchedulePointer(Count)=WeekIndex
          END DO
          DO Count=1,EndPointer
            DaysInYear(Count)=DaysInYear(Count)+1
            Schedule(LoopIndex)%WeekSchedulePointer(Count)=WeekIndex
          END DO
        ENDIF
      ENDIF
    END DO
    ! Perform Error checks on this item
    ! Do special test for Feb 29.  Make equal to Feb 28.
    IF (DaysinYear(60) == 0) THEN
      DaysinYear(60)=DaysinYear(59)
      Schedule(LoopIndex)%WeekSchedulePointer(60)=Schedule(LoopIndex)%WeekSchedulePointer(59)
    ENDIF
    IF (ANY(DaysinYear == 0)) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Schedule(LoopIndex)%Name)//  &
                 '" has missing days in its schedule pointers',UnitNumber)
      ErrorsFound=.true.
    ENDIF
    IF (ANY(DaysinYear > 1)) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Schedule(LoopIndex)%Name)//  &
                 '" has overlapping days in its schedule pointers',UnitNumber)
      ErrorsFound=.true.
    ENDIF

    IF  (AnyEnergyManagementSystemInModel) THEN ! setup constant schedules as actuators
      CALL SetupEMSActuator('Schedule:Year', &
          Schedule(LoopIndex)%Name, 'Schedule Value', '[ ]',&
          Schedule(LoopIndex)%EMSActuatedOn, Schedule(LoopIndex)%EMSValue )
    ENDIF

  END DO

!!! Get Compact Schedules
!SCHEDULE:COMPACT,
!   \memo Irregular object.  Does not follow the usual definition for fields.  Fields A3... are:
!   \memo Through: Date
!   \memo For: Applicable days (ref: Weekschedule:Compact)
!   \memo Interpolate: Yes/No (ref: Dayschedule:interval) -- optional, if not used will be "No"
!   \memo Until: <Time> (ref: Dayschedule:Interval)
!   \memo <numeric value>
!   \memo words "Through","For","Interpolate","Until" must be included.
!  A1 , \field Name
!       \required-field
!       \type alpha
!       \reference ScheduleNames
!  A2 , \field ScheduleType
!       \type object-list
!       \object-list ScheduleTypeNames
!  A3 , \field Complex Field #1
!  A4 , \field Complex Field #2
!  A5 , \field Complex Field #3

  SchNum=NumRegSchedules
  AddWeekSch=NumRegWeekSchedules
  AddDaySch=NumRegDaySchedules
  CurrentModuleObject='Schedule:Compact'
  DO LoopIndex=1,NumCptSchedules
    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status,  &
                   AlphaBlank=lAlphaBlanks,NumBlank=lNumericBlanks,  &
                   AlphaFieldnames=cAlphaFields,NumericFieldNames=cNumericFields)
    IsNotOK=.false.
    IsBlank=.false.
    CALL VerifyName(Alphas(1),Schedule(1:NumSchedules)%Name,SchNum,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound=.true.
      IF (IsBlank) Alphas(1)='xxxxx'
    ENDIF
    SchNum=SchNum+1
    Schedule(SchNum)%Name=Alphas(1)
    Schedule(SchNum)%SchType=ScheduleInput_compact
    ! Validate ScheduleType
    CheckIndex=FindIteminList(Alphas(2),ScheduleType(1:NumScheduleTypes)%Name,NumScheduleTypes)
    IF (CheckIndex == 0) THEN
        IF (.not. lAlphaBlanks(2)) THEN
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", '//TRIM(cAlphaFields(2))//'="'//TRIM(Alphas(2))//  &
             '" not found -- will not be validated')
        ELSE
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", Blank '//TRIM(cAlphaFields(2))//' input -- will not be validated.')
        ENDIF
    ELSE
      Schedule(SchNum)%ScheduleTypePtr=CheckIndex
    ENDIF
    NumPointer=0
    DaysInYear=0
    ! Process the "complex" fields -- so named because they are not a 1:1 correspondence
    ! as other objects are
    NumField=3
    StartPointer=1
    WkCount=0
    DyCount=0
    FullYearSet=.false.
Through:    DO WHILE (NumField < NumAlphas)
       !   Process "Through"
      IF (Alphas(NumField)(1:8) /= 'THROUGH:' .and. Alphas(NumField)(1:7) /= 'THROUGH') THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Schedule(SchNum)%Name)//  &
             '", Expecting "Through:" date')
        CALL ShowContinueError('Instead, found entry='//TRIM(Alphas(NumField)))
        ErrorsFound=.true.
        EXIT Through
      ELSE
        IF (Alphas(NumField)(8:8) == ':') THEN
          sPos=9
        ELSE
          sPos=8
        ENDIF
        Alphas(NumField)=Alphas(NumField)(sPos:)
        Alphas(NumField)=ADJUSTL(Alphas(NumField))
      ENDIF
      CurrentThrough=Alphas(NumField)
      ErrorHere=.false.
      CALL ProcessDateString(Alphas(NumField),EndMonth,EndDay,PWeekDay,PDateType,ErrorHere)
      IF (PDateType > 1) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Schedule(SchNum)%Name)//  &
             '", Invalid "Through:" date')
        CALL ShowContinueError('Found entry='//TRIM(Alphas(NumField)))
        ErrorsFound=.true.
        EXIT Through
      ELSEIF (ErrorHere) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Schedule(SchNum)%Name)//  &
             '", Invalid "Through:" date')
        CALL ShowContinueError('Found entry='//TRIM(Alphas(NumField)))
        ErrorsFound=.true.
        EXIT Through
      ELSE
        EndPointer=JulianDay(EndMonth,EndDay,1)
        IF (EndPointer == 366) THEN
          IF (FullYearSet) THEN
            CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Schedule(SchNum)%Name)//  &
                '", New "Through" entry when "full year" already set')
            CALL ShowContinueError('"Through" field='//TRIM(CurrentThrough))
            ErrorsFound=.true.
          ENDIF
          FullYearSet=.true.
        ENDIF
      ENDIF
      WkCount=WkCount+1
      AddWeekSch=AddWeekSch+1
      WRITE(ExtraField,*) WkCount
      ExtraField=ADJUSTL(ExtraField)
      WeekSchedule(AddWeekSch)%Name=TRIM(Alphas(1))//'_wk_'//TRIM(ExtraField)
      WeekSchedule(AddWeekSch)%Used=.true.
      DO Hr=StartPointer,EndPointer
        Schedule(SchNum)%WeekSchedulePointer(Hr)=AddWeekSch
        DaysInYear(Hr)=DaysInYear(Hr)+1
      ENDDO
      StartPointer=EndPointer+1
      ThruField=NumField
      AllDays=.false.
      NumField=NumField+1
For:  DO WHILE (NumField < NumAlphas) ! Continues until next "Through"
        IF (Alphas(NumField)(1:7) == 'THROUGH') EXIT For
        !   "For" must be next, adds to "# Day Schedules"
        IF (Alphas(NumField)(1:3) == 'FOR') THEN
          DyCount=DyCount+1
          AddDaySch=AddDaySch+1
          WRITE(ExtraField,*) DyCount
          ExtraField=ADJUSTL(ExtraField)
          DaySchedule(AddDaySch)%Name=TRIM(Alphas(1))//'_dy_'//TRIM(ExtraField)
          DaySchedule(AddDaySch)%ScheduleTypePtr=Schedule(SchNum)%ScheduleTypePtr
          DaySchedule(AddDaySch)%Used=.true.
          TheseDays=.false.
          ErrorHere=.false.
          LastFor=Alphas(NumField)
          CALL ProcessForDayTypes(Alphas(NumField),TheseDays,AllDays,ErrorHere)
          IF (ErrorHere) THEN
            CALL ShowContinueError('ref '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'"')
            CALL ShowContinueError('ref Through field='//TRIM(Alphas(ThruField)))
            ErrorsFound=.true.
          ELSE
            DO Hr=1,MaxDayTypes
              IF (TheseDays(Hr)) THEN
                WeekSchedule(AddWeekSch)%DaySchedulePointer(Hr)=AddDaySch
              ENDIF
            ENDDO
          ENDIF
        ELSE
          CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
               '", Looking for "For" field, found='//TRIM(Alphas(NumField)))
          ErrorsFound=.true.
!          CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Schedule(SchNum)%Name)//  &
!               '", Expecting "For:" day types')
!          CALL ShowContinueError('Instead, found entry='//TRIM(Alphas(NumField)))
          EXIT Through
        ENDIF
        ! Check for "Interpolate"
        NumField=NumField+1
        IF (Alphas(NumField)(1:11) == 'INTERPOLATE') THEN
          IF (INDEX(Alphas(NumField),'YES') > 0) THEN
            DaySchedule(AddDaySch)%IntervalInterpolated=.true.
          ELSE
            DaySchedule(AddDaySch)%IntervalInterpolated=.false.
          ENDIF
          NumField=NumField+1
        ELSE
          IF (Alphas(NumField)(1:5) /= 'UNTIL') THEN
            IF (INDEX(Alphas(NumField),'YES') > 0) THEN
              DaySchedule(AddDaySch)%IntervalInterpolated=.true.
            ELSEIF (INDEX(Alphas(NumField),'NO') > 0) THEN
              DaySchedule(AddDaySch)%IntervalInterpolated=.false.
            ELSE
              CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
                  '", Illegal Field entered ='//TRIM(Alphas(NumField)))
              ErrorsFound=.true.
            ENDIF
            NumField=NumField+1
          ENDIF
        ENDIF
        NumNumbers=0
        xxcount=0
        UntilFld=NumField
Until:  DO
        IF (Alphas(NumField)(1:3) == 'FOR') EXIT Until
        IF (Alphas(NumField)(1:7) == 'THROUGH') EXIT Until
        IF (Alphas(NumField)(1:5) == 'UNTIL') THEN
          ! Process Until/Value pairs for later processing by other routine.
          NumField=NumField+1
          xxcount=xxcount+1
          NumNumbers=NumNumbers+1
          Numbers(NumNumbers)=ProcessNumber(Alphas(NumField),ErrorHere)
          IF (ErrorHere) THEN
            CALL ShowSevereError(TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'"')
            CALL ShowContinueError('Until field=['//trim(Alphas(NumField-1))//'] has illegal value field=['//  &
                      trim(Alphas(NumField))//'].')
            ErrorsFound=.true.
          ENDIF
          NumField=NumField+1
          Alphas(UntilFld+xxcount)=Alphas(NumField)  ! Incase next is "until"
        ELSE
          CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
               '", Looking for "Until" field, found='//TRIM(Alphas(NumField)))
          ErrorsFound=.true.
          EXIT Through
        ENDIF
        IF (Alphas(NumField) == Blank) EXIT Until
        ENDDO Until
        ! Process Untils, Numbers
        IF (NumNumbers > 0) THEN
          NumFields=NumNumbers
          ErrorHere=.false.
          CALL ProcessIntervalFields(Alphas(UntilFld:),Numbers,NumFields,NumNumbers,MinuteValue,SetMinuteValue,  &
                                     ErrorHere,DaySchedule(AddDaySch)%Name,TRIM(CurrentModuleObject)//' DaySchedule Fields')
          ! Depending on value of "Interpolate" field, the value for each time step in each hour gets processed:
          IF (ErrorHere) THEN
            CALL ShowContinueError('ref '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'"')
            ErrorsFound=.true.
          ENDIF
          IF (.not. DaySchedule(AddDaySch)%IntervalInterpolated) THEN  ! No validation done on the value of the interpolation field
            DO Hr=1,24
              CurMinute=MinutesPerTimeStep
              DO TS=1,NumOfTimeStepInHour
                DaySchedule(AddDaySch)%TSValue(Hr,TS)=MinuteValue(Hr,CurMinute)
                Curminute=CurMinute+MinutesPerTimeStep
              ENDDO
            ENDDO
          ELSE
            DO Hr=1,24
              SCount=1
              CurMinute=MinutesPerTimeStep
              DO TS=1,NumOfTimeStepInHour
!                tempval=SUM(MinuteValue(Hr,SCount:CurMinute))/REAL(MinutesPerTimeStep,r64)
                DaySchedule(AddDaySch)%TSValue(Hr,TS)=SUM(MinuteValue(Hr,SCount:CurMinute))/REAL(MinutesPerTimeStep,r64)
                SCount=CurMinute+1
                CurMinute=CurMinute+MinutesPerTimeStep
              ENDDO
            ENDDO
          ENDIF
        ENDIF
      ENDDO For
      IF (Any(.not. AllDays)) THEN
        CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Schedule(SchNum)%Name)// &
                   '" has missing day types in Through='//TRIM(CurrentThrough))
        CALL ShowContinueError('Last "For" field='//TRIM(LastFor))
        errmsg='Missing day types=,'
        DO kdy=1,MaxDayTypes
          IF (AllDays(kdy)) CYCLE
          errmsg=errmsg(1:len_trim(errmsg)-1)//'"'//trim(ValidDayTypes(kdy))//'",-'
        ENDDO
        errmsg=errmsg(1:len_trim(errmsg)-2)
        CALL ShowContinueError(trim(errmsg))
        CALL ShowContinueError('Missing day types will have 0.0 as Schedule Values')
      ENDIF
    ENDDO Through
    IF (DaysinYear(60) == 0) THEN
      DaysinYear(60)=DaysinYear(59)
      Schedule(LoopIndex)%WeekSchedulePointer(60)=Schedule(LoopIndex)%WeekSchedulePointer(59)
    ENDIF
    IF (ANY(DaysinYear == 0)) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Schedule(SchNum)%Name)//  &
                 '" has missing days in its schedule pointers',UnitNumber)
      ErrorsFound=.true.
    ENDIF
    IF (ANY(DaysinYear > 1)) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Schedule(SchNum)%Name)//  &
                 '" has overlapping days in its schedule pointers',UnitNumber)
      ErrorsFound=.true.
    ENDIF

    IF  (AnyEnergyManagementSystemInModel) THEN ! setup constant schedules as actuators
      Call SetupEMSActuator('Schedule:Compact', &
          Schedule(SchNum)%Name, 'Schedule Value', '[ ]',&
          Schedule(SchNum)%EMSActuatedOn, Schedule(SchNum)%EMSValue )
    ENDIF

  END DO

!  Schedule:File,
!   \min-fields 5
!         \memo A Schedule:File points to a text computer file that has 8760-8784 hours of data.
!    A1 , \field Name
!         \required-field
!         \type alpha
!         \reference ScheduleNames
!    A2 , \field Schedule Type Limits Name
!         \type object-list
!         \object-list ScheduleTypeLimitsNames
!    A3 , \field File Name
!         \required-field
!         \retaincase
!    N1 , \field Column Number
!         \required-field
!         \type integer
!         \minimum 1
!    N2 , \field Rows to Skip at Top
!         \required-field
!         \type integer
!         \minimum 0
!    N3 , \field Number of Hours of Data
!         \note 8760 hours does not account for leap years, 8784 does.
!         \note should be either 8760 or 8784
!         \default 8760
!         \minimum 8760
!         \maximum 8784
!    A4 , \field Column Separator
!         \type choice
!         \key Comma
!         \key Tab
!         \key Fixed
!         \key Semicolon
!         \default Comma
!    A5 , \field Interpolate to Timestep
!         \note when the interval does not match the user specified timestep a "Yes" choice will average between the intervals request (to
!         \note timestep resolution.  a "No" choice will use the interval value at the simulation timestep without regard to if it matches
!         \note the boundary or not.
!         \type choice
!         \key Yes
!         \key No
!         \default No
!    N4 ; \field Minutes per Item
!         \note Must be evenly divisible into 60
!         \type integer
!         \minimum 1
!         \maximum 60

! continue adding to SchNum,AddWeekSch,AddDaySch
  IF (NumCommaFileSchedules > 0) THEN
    ALLOCATE(hourlyFileValues(8784*60))   ! sized to accomodate any interval for schedule file.
  ENDIF
  CurrentModuleObject='Schedule:File'
  DO LoopIndex=1,NumCommaFileSchedules
    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status,  &
                   AlphaBlank=lAlphaBlanks,NumBlank=lNumericBlanks,  &
                   AlphaFieldnames=cAlphaFields,NumericFieldNames=cNumericFields)
    IsNotOK=.false.
    IsBlank=.false.
    CALL VerifyName(Alphas(1),Schedule(1:NumSchedules)%Name,SchNum,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound=.true.
      IF (IsBlank) Alphas(1)='xxxxx'
    ENDIF
    SchNum = SchNum + 1
    Schedule(SchNum)%Name=Alphas(1)
    Schedule(SchNum)%SchType=ScheduleInput_file
    ! Validate ScheduleType
    IF (NumScheduleTypes > 0) THEN
      CheckIndex=0
      IF (.not. lAlphaBlanks(2)) &
           CheckIndex=FindIteminList(Alphas(2),ScheduleType(1:NumScheduleTypes)%Name,NumScheduleTypes)
      IF (CheckIndex == 0) THEN
        IF (.not. lAlphaBlanks(2)) THEN
          CALL ShowWarningError('ProcessScheduleInput: For '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", '//TRIM(cAlphaFields(2))//'="'//TRIM(Alphas(2))//  &
             '" not found -- will not be validated')
        ELSE
          CALL ShowWarningError('For '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", Blank '//TRIM(cAlphaFields(2))//' input -- will not be validated.')
        ENDIF
      ELSE
        Schedule(SchNum)%ScheduleTypePtr=CheckIndex
      ENDIF
    ENDIF
    hourlyFileValues = 0.0d0 !set default values to zero

    ! Numbers(1) - which column
    curcolCount=Numbers(1)
    ! Numbers(2) - number of rows to skip
    skiprowCount=Numbers(2)
    IF (Numbers(3) == 0) Numbers(3)=8760.0d0
    IF (Numbers(3) /= 8760 .and. Numbers(3) /= 8784) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         '", '//TRIM(cNumericFields(3))//' must = 8760 or 8784 (for a leap year)')
      CALL ShowContinueError('..Value for field = '//TRIM(TrimSigDigits(Numbers(3),0))//', Schedule not processed.')
      ErrorsFound=.true.
      CYCLE
    ENDIF

    IF (lAlphaBlanks(4) .or. SameString(Alphas(4),'comma')) THEN
      ColumnSep=CharComma
      Alphas(4)='comma'
    ELSEIF (SameString(Alphas(4),'semicolon')) THEN
      ColumnSep=CharSemicolon
    ELSEIF (SameString(Alphas(4),'tab')) THEN
      ColumnSep=CharTab
    ELSEIF (SameString(Alphas(4),'space')) THEN
      ColumnSep=CharSpace
    ELSE
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         '", '//TRIM(cAlphaFields(4))//' illegal value="'//trim(Alphas(4))//'".')
      CALL ShowContinueError('..must be Comma, Semicolon, Tab, or Space.')
      ErrorsFound=.true.
      CYCLE
    ENDIF

    ! Depending on value of "Interpolate" field, the value for each time step in each hour gets processed:
    FileIntervalInterpolated=.false.
    IF (lAlphaBlanks(5)) Alphas(5)='NO'
    IF (Alphas(5) /= 'NO' .and. Alphas(5) /= 'YES') THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         'Invalid value for "'//TRIM(cAlphaFields(5))//'" field="'//TRIM(Alphas(5))//'"')
      ErrorsFound=.true.
    ELSEIF (Alphas(5) /= 'YES') THEN  ! No validation done on the value of the interpolation field
      FileIntervalInterpolated=.false.
    ELSE
      FileIntervalInterpolated=.true.
    ENDIF

    ! is it a sub-hourly schedule or not?
    MinutesPerItem=60
    IF (NumNumbers > 3) THEN
      MinutesPerItem=INT(Numbers(4))
      NumExpectedItems=1440/MinutesPerItem
      IF (MOD(60,MinutesPerItem) /= 0) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1)))
        CALL ShowContinueError('Requested '//TRIM(cNumericFields(4))//' field value ('//  &
           TRIM(RoundSigDigits(MinutesPerItem))//') not evenly divisible into 60')
        ErrorsFound=.true.
        CYCLE
      ENDIF
    ENDIF

    numHourlyValues=Numbers(3)
    rowLimitCount=(Numbers(3)*60.0d0)/MinutesPerItem
    hrLimitCount=60/MinutesPerItem

!    ! Number of numbers in the Numbers list okay to process
!    Hr=1
!    CurMinute=MinutesPerItem
!    SCount=1
!    DO NumFields=2,NumNumbers
!      MinuteValue(Hr,SCount:CurMinute)=Numbers(NumFields)
!      SCount=CurMinute+1
!      CurMinute=CurMinute+MinutesPerItem
!      IF (CurMinute > 60) THEN
!        CurMinute=MinutesPerItem
!        SCount=1
!        Hr=Hr+1
!      ENDIF
!    ENDDO
!
!    ! Now parcel into TS Value....
!
!    IF (DaySchedule(Count)%IntervalInterpolated) THEN
!      DO Hr=1,24
!        SCount=1
!        CurMinute=MinutesPerTimeStep
!        DO TS=1,NumOfTimeStepInHour
!          DaySchedule(Count)%TSValue(Hr,TS)=SUM(MinuteValue(Hr,SCount:CurMinute))/REAL(MinutesPerTimeStep,r64)
!          SCount=CurMinute+1
!          CurMinute=CurMinute+MinutesPerTimeStep
!        ENDDO
!      ENDDO
!    ELSE
!      DO Hr=1,24
!        CurMinute=MinutesPerTimeStep
!        DO TS=1,NumOfTimeStepInHour
!          DaySchedule(Count)%TSValue(Hr,TS)=MinuteValue(Hr,CurMinute)
!          Curminute=CurMinute+MinutesPerTimeStep
!        ENDDO
!      ENDDO
!    ENDIF

    CALL CheckForActualFileName(Alphas(3),FileExists,TempFullFileName)

!    INQUIRE(file=Alphas(3),EXIST=FileExists)
! Setup file reading parameters
    StripCR=.false.
    IF (.not. FileExists) THEN
      CALL DisplayString('Missing '//TRIM(Alphas(3)))
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         '", '//TRIM(cAlphaFields(3))//'="'//TRIM(Alphas(3))//'" not found.')
      CALL ShowContinueError('Certain run environments require a full path to be included with the file name in the input field.')
      CALL ShowContinueError('Try again with putting full path and file name in the field.')
      ErrorsFound=.true.
    ELSE
      SchdFile = GetNewUnitNumber()
      OPEN(unit=SchdFile, file=TempFullFileName, action='read', IOSTAT=read_stat)
      IF (read_stat /= 0) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         '", '//TRIM(cAlphaFields(3))//'="'//TRIM(Alphas(3))//'" cannot be opened.')
        CALL ShowContinueError('... It may be open in another program (such as Excel).  Please close and try again.')
        CALL ShowFatalError('Program terminates due to previous condition.')
      ENDIF
      ! check for stripping
      READ(Unit=SchdFile, FMT="(A)", IOSTAT=read_stat) LineIn
      endLine=LEN_TRIM(LineIn)
      IF (endLine > 0) THEN
        IF (ICHAR(LineIn(endLine:endLine)) == iASCII_CR) THEN
          StripCR=.true.
          LineIn(endLine:endLine)=Blank
        ENDIF
        IF (ICHAR(LineIn(endLine:endLine)) == iUnicode_end) THEN
          CLOSE(unit=SchdFile)
          CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
           '", '//TRIM(cAlphaFields(3))//'="'//TRIM(Alphas(3))//' appears to be a Unicode or binary file.')
          CALL ShowContinueError('...This file cannot be read by this program. Please save as PC or Unix file and try again')
          CALL ShowFatalError('Program terminates due to previous condition.')
        ENDIF
      ENDIF
      BACKSPACE(Unit=SchdFile)

 ! skip lines if any need to be skipped.
      numerrors=0
      rowCnt = 0
      read_stat=0
      IF (skiprowCount > 0) THEN  ! Numbers(2) has number of rows to skip
        DO WHILE (read_stat == 0) !end of file
          READ(UNIT=SchdFile, FMT="(A)", IOSTAT=read_stat) LineIn
          IF (StripCR) THEN
            endLine=LEN_TRIM(LineIn)
            IF (endLine > 0) THEN
              IF (ICHAR(LineIn(endLine:endLine)) == iASCII_CR) LineIn(endLine:endLine)=Blank
            ENDIF
          ENDIF
          rowCnt = rowCnt + 1
          IF (rowCnt == skiprowCount) THEN
            EXIT
          END IF
        END DO
      ENDIF

!  proper number of lines are skipped.  read the file
      ! for the rest of the lines read from the file
      rowCnt = 0
      firstLine=.true.
      DO WHILE (read_stat == 0) !end of file
        READ(UNIT=SchdFile, FMT="(A)", IOSTAT=read_stat) LineIn
        IF (StripCR) THEN
          endLine=LEN_TRIM(LineIn)
          IF (endLine > 0) THEN
            IF (ICHAR(LineIn(endLine:endLine)) == iASCII_CR) LineIn(endLine:endLine)=Blank
          ENDIF
        ENDIF
        rowCnt = rowCnt + 1
        colCnt = 0
        wordStart = 1
        columnValue = 0.0d0
        !scan through the line looking for a specific column
        DO
          sepPos = INDEX(LineIn, ColumnSep)
          colCnt = colCnt + 1
          IF (sepPos > 0) THEN
            if (sepPos > 1) then
              wordEnd = sepPos - 1
            else
              wordEnd = wordStart
            endif
            subString = TRIM(LineIn(wordStart:wordEnd))
            !the next word will start after the comma
            wordStart = sepPos + 1
            !get rid of separator so next INDEX will find next separator
            LineIn=LineIn(wordStart:)
            firstLine=.false.
            wordStart=1
          ELSE
            !no more commas
            subString = LineIn(wordStart:)
            if (firstLine .and. subString == Blank) then
              CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
                '" first line does not contain the indicated column separator='//trim(Alphas(4))//'.')
              CALL ShowContinueError('...first 40 characters of line=['//trim(LineIn(1:40))//']')
              firstLine=.false.
            endif
            EXIT
          END IF
          IF (colCnt .eq. curcolCount) EXIT
        END DO
        IF (colCnt .eq. curcolCount) THEN
          columnValue = ProcessNumber(subString,errflag)
          IF (errflag) THEN
            numerrors=numerrors+1
            columnValue = 0.0d0
          ENDIF
        ELSE
          columnValue = 0.0d0
        END IF
        hourlyFileValues(rowCnt) = columnValue
        IF (rowCnt .eq. rowLimitCount) EXIT
      END DO
      CLOSE(SchdFile)

      ! schedule values have been filled into the hourlyFileValues array.

      IF (numerrors > 0) THEN
        CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
           '" '//trim(RoundSigDigits(numerrors))//' records had errors - these values are set to 0.')
        CALL ShowContinueError('Use Output:Diagnostics,DisplayExtraWarnings; to see individual records in error.')
      ENDIF
      IF (rowCnt < rowLimitCount) THEN
        CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
           '" less than '//trim(RoundSigDigits(numHourlyValues))//' hourly values read from file.')
        CALL ShowContinueError('..Number read='//TRIM(TrimSigDigits((rowCnt*60)/MinutesPerItem))//'.')
      END IF
      IF (rowCnt < rowLimitCount) THEN
        CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
           '" less than specified hourly values read from file.')
        CALL ShowContinueError('..Specified Number of Hourly Values='//TRIM(TrimSigDigits(numHourlyValues,0))//  &
               ' Actual number of hourly values included='//TRIM(TrimSigDigits((rowCnt*60)/MinutesPerItem)))
      ENDIF
      ! process the data into the normal schedule data structures
      ! note -- schedules are ALWAYS 366 days so some special measures have to be done at 29 Feb "day of year" (60)
      iDay=0
      hDay=0
      ifld=0
      DO
        ! create string of which day of year
        iDay=iDay+1
        hDay=hDay+1
        IF (iDay > 366) EXIT
        ExtraField=RoundSigDigits(iDay)
        ! increment both since a week schedule is being defined for each day so that a day is valid
        ! no matter what the day type that is used in a design day.
        AddWeekSch = AddWeekSch + 1
        AddDaySch = AddDaySch + 1
        ! define week schedule
        WeekSchedule(AddWeekSch)%Name=TRIM(Alphas(1))//'_wk_'//ExtraField
        ! for all day types point the week schedule to the newly defined day schedule
        DO kDayType = 1, MaxDayTypes
          WeekSchedule(AddWeekSch)%DaySchedulePointer(kDayType) = AddDaySch
        END DO
        ! day schedule
        DaySchedule(AddDaySch)%Name=TRIM(Alphas(1))//'_dy_'//ExtraField
        DaySchedule(AddDaySch)%ScheduleTypePtr = Schedule(SchNum)%ScheduleTypePtr
        ! schedule is pointing to the week schedule
        Schedule(SchNum)%WeekSchedulePointer(iDay) = AddWeekSch
        IF (MinutesPerItem == 60) THEN
          DO jHour = 1, 24
            ifld=ifld+1
            curHrVal = hourlyFileValues(ifld) ! hourlyFileValues((hDay - 1) * 24 + jHour)
            DO TS=1,NumOfTimeStepInHour
              DaySchedule(AddDaySch)%TSValue(jHour,TS) = curHrVal
            END DO
          END DO
        ELSE  ! Minutes Per Item < 60
          DO Hr=1,24
            CurMinute=MinutesPerItem
            SCount=1
            DO NumFields=1,hrLimitCount
              ifld=ifld+1
              MinuteValue(Hr,SCount:CurMinute)=hourlyFileValues(ifld)
              SCount=CurMinute+1
              CurMinute=CurMinute+MinutesPerItem
            ENDDO
          ENDDO
          IF (FileIntervalInterpolated) THEN
            DO Hr=1,24
              SCount=1
              CurMinute=MinutesPerTimeStep
              DO TS=1,NumOfTimeStepInHour
                DaySchedule(AddDaySch)%TSValue(Hr,TS)=SUM(MinuteValue(Hr,SCount:CurMinute))/REAL(MinutesPerTimeStep,r64)
                SCount=CurMinute+1
                CurMinute=CurMinute+MinutesPerTimeStep
              ENDDO
            ENDDO
          ELSE
            DO Hr=1,24
              CurMinute=MinutesPerTimeStep
              DO TS=1,NumOfTimeStepInHour
                DaySchedule(AddDaySch)%TSValue(Hr,TS)=MinuteValue(Hr,CurMinute)
                Curminute=CurMinute+MinutesPerTimeStep
              ENDDO
            ENDDO
          ENDIF
        ENDIF
        IF (iDay == 59 .and. rowCnt < 8784*hrlimitcount) THEN   ! 28 Feb
          ! Dup 28 Feb to 29 Feb (60)
          iDay=iDay+1
          Schedule(SchNum)%WeekSchedulePointer(iDay)=Schedule(SchNum)%WeekSchedulePointer(iDay-1)
        ENDIF
      END DO
    ENDIF

    IF  (AnyEnergyManagementSystemInModel) THEN ! setup constant schedules as actuators
      Call SetupEMSActuator('Schedule:File', &
          Schedule(SchNum)%Name, 'Schedule Value', '[ ]',&
          Schedule(SchNum)%EMSActuatedOn, Schedule(SchNum)%EMSValue )
    ENDIF
  END DO
  IF (NumCommaFileSchedules > 0) THEN
    DEALLOCATE(hourlyFileValues)
  ENDIF

  DEALLOCATE(MinuteValue)
  DEALLOCATE(SetMinuteValue)

  ! Constant Schedules
  CurrentModuleObject='Schedule:Constant'
  DO LoopIndex=1,NumConstantSchedules
    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status,  &
                   AlphaBlank=lAlphaBlanks,NumBlank=lNumericBlanks,  &
                   AlphaFieldnames=cAlphaFields,NumericFieldNames=cNumericFields)
    IsNotOK=.false.
    IsBlank=.false.
    CALL VerifyName(Alphas(1),Schedule(1:NumSchedules)%Name,SchNum,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound=.true.
      IF (IsBlank) Alphas(1)='xxxxx'
    ENDIF
    SchNum = SchNum + 1
    Schedule(SchNum)%Name=Alphas(1)
    Schedule(SchNum)%SchType=ScheduleInput_constant
    ! Validate ScheduleType
    IF (NumScheduleTypes > 0) THEN
      CheckIndex=FindIteminList(Alphas(2),ScheduleType(1:NumScheduleTypes)%Name,NumScheduleTypes)
      IF (CheckIndex == 0) THEN
        IF (.not. lAlphaBlanks(2)) THEN
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", '//TRIM(cAlphaFields(2))//'="'//TRIM(Alphas(2))//  &
             '" not found -- will not be validated')
        ELSE
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", Blank '//TRIM(cAlphaFields(2))//' input -- will not be validated.')
        ENDIF
      ELSE
        Schedule(SchNum)%ScheduleTypePtr=CheckIndex
      ENDIF
    ENDIF
    AddWeekSch = AddWeekSch + 1
    AddDaySch = AddDaySch + 1
    ! define week schedule
    WeekSchedule(AddWeekSch)%Name=TRIM(Alphas(1))//'_wk_'
    ! for all day types point the week schedule to the newly defined day schedule
    DO kDayType = 1, MaxDayTypes
      WeekSchedule(AddWeekSch)%DaySchedulePointer(kDayType) = AddDaySch
    END DO
    ! day schedule
    DaySchedule(AddDaySch)%Name=TRIM(Alphas(1))//'_dy_'
    DaySchedule(AddDaySch)%ScheduleTypePtr = Schedule(SchNum)%ScheduleTypePtr
    ! schedule is pointing to the week schedule
    Schedule(SchNum)%WeekSchedulePointer = AddWeekSch
    curHrVal = Numbers(1)
    DaySchedule(AddDaySch)%TSValue = Numbers(1)

    IF  (AnyEnergyManagementSystemInModel) THEN ! setup constant schedules as actuators
      Call SetupEMSActuator('Schedule:Constant', &
          Schedule(SchNum)%Name, 'Schedule Value', '[ ]',&
          Schedule(SchNum)%EMSActuatedOn, Schedule(SchNum)%EMSValue )
    ENDIF
  END DO


  CurrentModuleObject='ExternalInterface:Schedule'
  DO LoopIndex=1,NumExternalInterfaceSchedules

    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status, &
                   AlphaBlank=lAlphaBlanks,NumBlank=lNumericBlanks,  &
                   AlphaFieldnames=cAlphaFields,NumericFieldNames=cNumericFields)
    IsNotOK=.false.
    IsBlank=.false.

    CALL VerifyName(Alphas(1),Schedule(1:NumSchedules)%Name,SchNum,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name') ! Bug fix
    IF (IsNotOK) THEN
      ErrorsFound=.true.
      IF (IsBlank) Alphas(1)='xxxxx'
    ENDIF
    SchNum=SchNum+1
    Schedule(SchNum)%Name=Alphas(1)
    Schedule(SchNum)%SchType=ScheduleInput_external

    ! Validate ScheduleType
    CheckIndex=FindIteminList(Alphas(2),ScheduleType(1:NumScheduleTypes)%Name,NumScheduleTypes)
    IF (CheckIndex == 0) THEN
        IF (.not. lAlphaBlanks(2)) THEN
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", '//TRIM(cAlphaFields(2))//'="'//TRIM(Alphas(2))//  &
             '" not found -- will not be validated')
        ELSE
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", Blank '//TRIM(cAlphaFields(2))//' input -- will not be validated.')
        ENDIF
    ELSE
      Schedule(SchNum)%ScheduleTypePtr=CheckIndex
    ENDIF
    AddWeekSch=AddWeekSch+1
    WeekSchedule(AddWeekSch)%Name=TRIM(Alphas(1))
    WeekSchedule(AddWeekSch)%Used=.true.
    DO Hr=1,366
      Schedule(SchNum)%WeekSchedulePointer(Hr)=AddWeekSch
    ENDDO
    AddDaySch=AddDaySch+1
    DaySchedule(AddDaySch)%Name=TRIM(Alphas(1))
    DaySchedule(AddDaySch)%ScheduleTypePtr=Schedule(SchNum)%ScheduleTypePtr
    DaySchedule(AddDaySch)%Used=.true.
    DO Hr = 1, MaxDayTypes
      WeekSchedule(AddWeekSch)%DaySchedulePointer(Hr) = AddDaySch
    END DO
!   Initialize the ExternalInterface day schedule for the ExternalInterface compact schedule.
!   It will be overwritten during run time stepping after the warm up period
    IF (NumNumbers<1) THEN
      CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         '", initial value is not numeric or is missing. Fix idf file.')
      NumErrorFlag=.true.
    ENDIF
    CALL ExternalInterfaceSetSchedule(AddDaySch, Numbers(1))

  ENDDO
  ! added for FMU Import
  CurrentModuleObject='ExternalInterface:FunctionalMockupUnitImport:To:Schedule'
  DO LoopIndex=1,NumExternalInterfaceFunctionalMockupUnitImportSchedules

    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status, &
                   AlphaBlank=lAlphaBlanks,NumBlank=lNumericBlanks,  &
                   AlphaFieldnames=cAlphaFields,NumericFieldNames=cNumericFields)
    IsNotOK=.false.
    IsBlank=.false.

    IF (NumExternalInterfaceSchedules .ge. 1) THEN
     CALL VerifyName(Alphas(1),Schedule(1:NumSchedules)%Name,SchNum,IsNotOK,IsBlank, 'The schedule object with the name "' &
              //TRIM(Alphas(1))//'" is defined as an ExternalInterface:Schedule and ' &
              //'ExternalInterface:FunctionalMockupUnitImport:To:Schedule. This will cause the schedule to be overwritten' &
              //' by PtolemyServer and FunctionalMockUpUnitImport.')
    ELSE
      CALL VerifyName(Alphas(1),Schedule(1:NumSchedules)%Name,SchNum,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
    END IF
      IF (IsNotOK) THEN
        ErrorsFound=.true.
        IF (IsBlank) Alphas(1)='xxxxx'
      ENDIF
   ! END IF
    SchNum=SchNum+1
    Schedule(SchNum)%Name=Alphas(1)
    Schedule(SchNum)%SchType=ScheduleInput_external

    ! Validate ScheduleType
    CheckIndex=FindIteminList(Alphas(2),ScheduleType(1:NumScheduleTypes)%Name,NumScheduleTypes)
    IF (CheckIndex == 0) THEN
        IF (.not. lAlphaBlanks(2)) THEN
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", '//TRIM(cAlphaFields(2))//'="'//TRIM(Alphas(2))//  &
             '" not found -- will not be validated')
        ELSE
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", Blank '//TRIM(cAlphaFields(2))//' input -- will not be validated.')
        ENDIF
    ELSE
      Schedule(SchNum)%ScheduleTypePtr=CheckIndex
    ENDIF
    AddWeekSch=AddWeekSch+1
    WeekSchedule(AddWeekSch)%Name=TRIM(Alphas(1))
    WeekSchedule(AddWeekSch)%Used=.true.
    DO Hr=1,366
      Schedule(SchNum)%WeekSchedulePointer(Hr)=AddWeekSch
    ENDDO
    AddDaySch=AddDaySch+1
    DaySchedule(AddDaySch)%Name=TRIM(Alphas(1))
    DaySchedule(AddDaySch)%ScheduleTypePtr=Schedule(SchNum)%ScheduleTypePtr
    DaySchedule(AddDaySch)%Used=.true.
    DO Hr = 1, MaxDayTypes
      WeekSchedule(AddWeekSch)%DaySchedulePointer(Hr) = AddDaySch
    END DO
!   Initialize the ExternalInterface day schedule for the ExternalInterface compact schedule.
!   It will be overwritten during run time stepping after the warm up period
    IF (NumNumbers<1) THEN
      CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         '", initial value is not numeric or is missing. Fix idf file.')
      NumErrorFlag=.true.
    ENDIF
    CALL ExternalInterfaceSetSchedule(AddDaySch, Numbers(1))

  ENDDO

  ! added for FMU Export
  CurrentModuleObject='ExternalInterface:FunctionalMockupUnitExport:To:Schedule'
  DO LoopIndex=1,NumExternalInterfaceFunctionalMockupUnitExportSchedules

    CALL GetObjectItem(CurrentModuleObject,LoopIndex,Alphas,NumAlphas,Numbers,NumNumbers,Status, &
                   AlphaBlank=lAlphaBlanks,NumBlank=lNumericBlanks,  &
                   AlphaFieldnames=cAlphaFields,NumericFieldNames=cNumericFields)
    IsNotOK=.false.
    IsBlank=.false.

    IF (NumExternalInterfaceSchedules .ge. 1) THEN
     CALL VerifyName(Alphas(1),Schedule(1:NumSchedules)%Name,SchNum,IsNotOK,IsBlank, 'The schedule object with the name "' &
              //TRIM(Alphas(1))//'" is defined as an ExternalInterface:Schedule and ' &
              //'ExternalInterface:FunctionalMockupUnitExport:To:Schedule. This will cause the schedule to be overwritten' &
              //' by PtolemyServer and FunctionalMockUpUnitExport.')
    ELSE
      CALL VerifyName(Alphas(1),Schedule(1:NumSchedules)%Name,SchNum,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
    END IF
      IF (IsNotOK) THEN
        ErrorsFound=.true.
        IF (IsBlank) Alphas(1)='xxxxx'
      ENDIF

    SchNum=SchNum+1
    Schedule(SchNum)%Name=Alphas(1)
    Schedule(SchNum)%SchType=ScheduleInput_external

    ! Validate ScheduleType
    CheckIndex=FindIteminList(Alphas(2),ScheduleType(1:NumScheduleTypes)%Name,NumScheduleTypes)
    IF (CheckIndex == 0) THEN
        IF (.not. lAlphaBlanks(2)) THEN
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", '//TRIM(cAlphaFields(2))//'="'//TRIM(Alphas(2))//  &
             '" not found -- will not be validated')
        ELSE
          CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
             '", Blank '//TRIM(cAlphaFields(2))//' input -- will not be validated.')
        ENDIF
    ELSE
      Schedule(SchNum)%ScheduleTypePtr=CheckIndex
    ENDIF
    AddWeekSch=AddWeekSch+1
    WeekSchedule(AddWeekSch)%Name=TRIM(Alphas(1))
    WeekSchedule(AddWeekSch)%Used=.true.
    DO Hr=1,366
      Schedule(SchNum)%WeekSchedulePointer(Hr)=AddWeekSch
    ENDDO
    AddDaySch=AddDaySch+1
    DaySchedule(AddDaySch)%Name=TRIM(Alphas(1))
    DaySchedule(AddDaySch)%ScheduleTypePtr=Schedule(SchNum)%ScheduleTypePtr
    DaySchedule(AddDaySch)%Used=.true.
    DO Hr = 1, MaxDayTypes
      WeekSchedule(AddWeekSch)%DaySchedulePointer(Hr) = AddDaySch
    END DO
!   Initialize the ExternalInterface day schedule for the ExternalInterface compact schedule.
!   It will be overwritten during run time stepping after the warm up period
    IF (NumNumbers<1) THEN
      CALL ShowWarningError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//  &
         '", initial value is not numeric or is missing. Fix idf file.')
      NumErrorFlag=.true.
    ENDIF
    CALL ExternalInterfaceSetSchedule(AddDaySch, Numbers(1))

  ENDDO


  ! Validate by ScheduleLimitsType
  DO SchNum=1,NumSchedules
    NumPointer=Schedule(SchNum)%ScheduleTypePtr
    IF (.not. ScheduleType(NumPointer)%Limited) CYCLE
    IF (CheckScheduleValueMinMax(SchNum,'>=',ScheduleType(NumPointer)%Minimum,'<=',ScheduleType(NumPointer)%Maximum)) CYCLE
    CALL ShowSevereError(RoutineName//'Schedule="'//TRIM(Schedule(SchNum)%Name)//  &
        '" has values outside its Schedule Type ('//    &
        TRIM(ScheduleType(NumPointer)%Name)//') range')
    CALL ShowContinueError('  Minimum should be >='//TRIM(RoundSigDigits(ScheduleType(NumPointer)%Minimum,3))//     &
                           ' and Maximum should be <='//TRIM(RoundSigDigits(ScheduleType(NumPointer)%Maximum,3)))
    ErrorsFound=.true.
  ENDDO

  IF (ErrorsFound) THEN
    CALL ShowFatalError(RoutineName//'Preceding Errors cause termination.')
  ENDIF

  IF (NumScheduleTypes+NumDaySchedules+NumWeekSchedules+NumSchedules > 0) THEN  ! Report to EIO file
    CurrentModuleObject='Output:Schedules'
    NumFields=GetNumObjectsFound(CurrentModuleObject)

!    RptSchedule=.false.
    RptLevel=1
    DO Count=1,NumFields
      CALL GetObjectItem(CurrentModuleObject,Count,Alphas,NumAlphas,Numbers,NumNumbers,Status)
!      RptSchedule=.true.

      SELECT CASE (Alphas(1))

        CASE ('HOURLY')
          RptLevel=1
          CALL ReportScheduleDetails(RptLevel)

        CASE ('TIMESTEP','DETAILED')
          RptLevel=2
          CALL ReportScheduleDetails(RptLevel)

        CASE ('IDF')
          RptLevel=3
          CALL ReportScheduleDetails(RptLevel)

        CASE DEFAULT
          CALL ShowWarningError(RoutineName//'Report for Schedules should specify "HOURLY" or "TIMESTEP" ("DETAILED")')
          CALL ShowContinueError('HOURLY report will be done')
          RptLevel=1
          CALL ReportScheduleDetails(RptLevel)

      END SELECT
    ENDDO
  ENDIF

  DEALLOCATE(Alphas)
  DEALLOCATE(cAlphaFields)
  DEALLOCATE(cNumericFields)
  DEALLOCATE(Numbers)
  DEALLOCATE(lAlphaBlanks)
  DEALLOCATE(lNumericBlanks)

  WRITE(UnitNumber,*) ' Processing Schedule Input -- Complete'

RETURN

END SUBROUTINE ProcessScheduleInput


AbortEnergyPlus AbsoluteAirMass ActivateDemandManagers ActivateEMSControls AddBlankKeys addChargesToOperand AddCompSizeTableEntry AddEndUseSubcategory AddError addFootNoteSubTable AddInstruction AddMeter addMonthlyCharge AddMonthlyFieldSetInput AddMonthlyReport AddNeighborInformation AddObjectDefandParse addOperand AddRecordFromSection AddRecordToOutputVariableStructure AddSectionDef AddShadowRelateTableEntry AddSQLiteComponentSizingRecord AddSQLiteComponentSizingRecord AddSQLiteSystemSizingRecord AddSQLiteSystemSizingRecord AddSQLiteZoneSizingRecord AddSQLiteZoneSizingRecord AddTOCEntry AddTOCZoneLoadComponentTable AddToOutputVariableList AddVariablesForMonthlyReport AddVariableSlatBlind AddWindow AdjustAirSetpointsforOpTempCntrl AdjustCBF AdjustCBF AdjustChangeInLoadByEMSControls AdjustChangeInLoadByHowServed AdjustChangeInLoadForLastStageUpperRangeLimit AdjustCoolingSetPointforTempAndHumidityControl adjusthhat AdjustPumpFlowRequestByEMSControls AdjustReportingHourAndMinutes AdjustVBGap AdvanceRootFinder AFECFR AFECOI AFECPD AFECPF AFEDMP AFEDOP AFEDWC AFEELR AFEEXF AFEFAN AFEHEX AFEHOP AFEPLR AFESCR AFESEL AFESOP AFETMU AirflowNetworkVentingControl AirMass AIRMOV AllocateAirflowNetworkData AllocateAirHeatBalArrays AllocateAndInitData AllocateAndSetUpVentReports AllocateCFSStateHourlyData AllocateForCFSRefPointsGeometry AllocateForCFSRefPointsState AllocateHeatBalArrays AllocateLoadComponentArrays AllocateModuleArrays AllocateModuleArrays AllocateSurfaceHeatBalArrays AllocateWeatherData angle_2dvector AnisoSkyViewFactors AnyPlantLoopSidesNeedSim AnyPlantSplitterMixerLacksContinuity AreaPolygon ArgCheck array_to_vector ASHRAETauModel ASHWAT_OffNormalProperties ASHWAT_Solar ASHWAT_Thermal ASSIGNMENT (=) AssignNodeNumber AssignReportNumber AssignResourceTypeNum AssignReverseConstructionNumber AssignVariablePt AttachCustomMeters AttachMeters AuditBranches AUTOTDMA BaseThermalPropertySet_Diffusivity BeginEnvrnInitializeRuntimeLanguage BetweenDates BetweenGlassForcedFlow BetweenGlassShadeForcedFlow BetweenGlassShadeNaturalFlow BisectionMethod BlindBeamBeamTrans BlindOpticsBeam BlindOpticsDiffuse BoreholeResistance BoundValueToNodeMinMaxAvail BoundValueToWithinTwoValues BracketRoot BranchPressureDrop BrentMethod BuildGap BuildKeyVarList Calc4PipeFanCoil Calc_EN673 Calc_ISO15099 CalcActiveTranspiredCollector CalcAggregateLoad CalcAirflowNetworkAirBalance CalcAirflowNetworkCO2Balance CalcAirflowNetworkGCBalance CalcAirflowNetworkHeatBalance CalcAirflowNetworkMoisBalance CalcAirFlowSimple CalcAirLoopSplitter CalcAirMixer CalcAirToAirGenericHeatExch CalcAirToAirPlateHeatExch CalcAirZoneReturnPlenum CalcAirZoneSupplyPlenum CalcAlamdariHammondStableHorizontal CalcAlamdariHammondUnstableHorizontal CalcAlamdariHammondVerticalWall CalcAngleFactorMRT CalcApproximateViewFactors CalcASHRAEDetailedIntConvCoeff CalcASHRAESimpExtConvectCoeff CalcASHRAESimpleIntConvCoeff CalcASHRAEVerticalWall CalcATMixer CalcAwbiHattonHeatedFloor CalcAwbiHattonHeatedWall CalcBasinHeaterPower CalcBasinHeaterPowerForMultiModeDXCoil CalcBeamSolarOnWinRevealSurface CalcBeamSolDiffuseReflFactors CalcBeamSolSpecularReflFactors CalcBeausoleilMorrisonMixedAssistedWall CalcBeausoleilMorrisonMixedOpposingWall CalcBeausoleilMorrisonMixedStableCeiling CalcBeausoleilMorrisonMixedStableFloor CalcBeausoleilMorrisonMixedUnstableCeiling CalcBeausoleilMorrisonMixedUnstableFloor CalcBLASTAbsorberModel CalcBlockenWindward CalcBoilerModel CalcBoilerModel CalcBottomFluxCoefficents CalcBottomSurfTemp CalcBuriedPipeSoil CalcCBF CalcCBF CalcCBVAV CalcCeilingDiffuserInletCorr CalcCeilingDiffuserIntConvCoeff CalcChillerHeaterModel CalcChillerIPLV CalcChillerModel CalcClearRoof CalcCoilUAbyEffectNTU CalcColdestSetPoint CalcComplexWindowOverlap CalcComplexWindowThermal CalcCompSuctionTempResidual CalcCondEntSetPoint CalcConnectionsDrainTemp CalcConnectionsFlowRates CalcConnectionsHeatRecovery CalcConstCOPChillerModel CalcConvCoeffAbsPlateAndWater CalcConvCoeffBetweenPlates CalcCoolBeam CalcCoolTower CalcCoordinateTransformation CalcCoPlanarNess CalcCostEstimate CalcCTGeneratorModel CalcDayltgCoefficients CalcDayltgCoeffsMapPoints CalcDayltgCoeffsRefMapPoints CalcDayltgCoeffsRefPoints CalcDesiccantBalancedHeatExch CalcDesignSpecificationOutdoorAir CalcDesuperheaterHeatingCoil CalcDesuperheaterWaterHeater CalcDetailedHcInForDVModel CalcDetailedSystem CalcDetailedTransSystem CalcDetailFlatFinCoolingCoil CalcDetIceStorLMTDstar CalcDiffTSysAvailMgr CalcDirectAir CalcDirectEvapCooler CalcDirectResearchSpecialEvapCooler CalcDoe2DXCoil CalcDOE2Leeward CalcDOE2Windward CalcDryFinEffCoef CalcDryIndirectEvapCooler CalcDuct CalcDXCoilStandardRating CalcDXHeatingCoil CalcEarthTube CalcEcoRoof CalcEffectiveness CalcEffectiveSHR CalcEffectiveSHR CalcEffectiveSHR CalcEffectiveSHR CalcElecSteamHumidifier CalcElectricBaseboard CalcElectricChillerHeatRecovery CalcElectricChillerModel CalcElectricEIRChillerModel CalcElectricHeatingCoil CalcEmmelRoof CalcEmmelVertical CalcEngineChillerHeatRec CalcEngineDrivenChillerModel CalcEQLOpticalProperty CalcEQLWindowOpticalProperty CalcEQLWindowSHGCAndTransNormal CalcEQLWindowStandardRatings CalcEQLWindowUvalue CalcEquipmentDrainTemp CalcEquipmentFlowRates CalcExhaustAbsorberChillerModel CalcExhaustAbsorberHeaterModel CalcExteriorVentedCavity CalcFisherPedersenCeilDiffuserCeiling CalcFisherPedersenCeilDiffuserFloor CalcFisherPedersenCeilDiffuserWalls CalcFluidHeatExchanger CalcFohannoPolidoriVerticalWall CalcFollowOATempSetPoint CalcFollowSysNodeTempSetPoint CalcFourPipeIndUnit CalcFrameDividerShadow CalcFuelCellAuxHeater CalcFuelCellGeneratorModel CalcFuelCellGenHeatRecovery CalcFurnaceOutput CalcFurnaceResidual CalcGasAbsorberChillerModel CalcGasAbsorberHeaterModel CalcGasCooler CalcGasHeatingCoil CalcGenericDesiccantDehumidifier CalcGoldsteinNovoselacCeilingDiffuserFloor CalcGoldsteinNovoselacCeilingDiffuserWall CalcGoldsteinNovoselacCeilingDiffuserWindow CalcGroundTempSetPoint CalcGroundwaterWell CalcGshpModel CalcGshpModel CalcGTChillerModel CalcHeatBalanceAir CalcHeatBalanceInsideSurf CalcHeatBalanceInsideSurf CalcHeatBalanceOutsideSurf CalcHeatBalanceOutsideSurf CalcHeatBalFiniteDiff CalcHeatBalHAMT CalcHeatPumpWaterHeater CalcHeatTransCoeffAndCoverTemp CalcHfExteriorSparrow CalcHighTempRadiantSystem CalcHighTempRadiantSystemSP CalcHiTurnOffSysAvailMgr CalcHiTurnOnSysAvailMgr CalcHnASHRAETARPExterior CalcHPCoolingSimple CalcHPHeatingSimple CalcHPWHDXCoil CalcHWBaseboard CalcHXAssistedCoolingCoil CalcHXEffectTerm CalcHybridVentSysAvailMgr CalcIBesselFunc CalcICEngineGeneratorModel CalcICEngineGenHeatRecovery CalcIceStorageCapacity CalcIceStorageCharge CalcIceStorageDischarge CalcIceStorageDormant CalcICSSolarCollector CalcIdealCondEntSetPoint CalcIfSetpointMet CalcIndirectAbsorberModel CalcIndirectResearchSpecialEvapCooler CalcInteriorRadExchange CalcInteriorSolarDistribution CalcInteriorSolarOverlaps CalcInteriorWinTransDifSolInitialDistribution CalcISO15099WindowIntConvCoeff CalcKaradagChilledCeiling CalcKBesselFunc CalcKhalifaEq3WallAwayFromHeat CalcKhalifaEq4CeilingAwayFromHeat CalcKhalifaEq5WallsNearHeat CalcKhalifaEq6NonHeatedWalls CalcKhalifaEq7Ceiling CalcLoadCenterThermalLoad CalcLoTurnOffSysAvailMgr CalcLoTurnOnSysAvailMgr CalcLowTempCFloRadiantSystem CalcLowTempCFloRadSysComps CalcLowTempElecRadiantSystem CalcLowTempHydrRadiantSystem CalcLowTempHydrRadSysComps CalcMatrixInverse CalcMcAdams CalcMerkelVariableSpeedTower CalcMicroCHPNoNormalizeGeneratorModel CalcMinIntWinSolidAngs CalcMitchell CalcMixedAirSetPoint CalcMoistureBalanceEMPD CalcMoreNodeInfo CalcMoWITTLeeward CalcMoWITTWindward CalcMSHeatPump CalcMTGeneratorModel CalcMultiSpeedDXCoil CalcMultiSpeedDXCoilCooling CalcMultiSpeedDXCoilHeating CalcMultiStageElectricHeatingCoil CalcMultiStageGasHeatingCoil CalcMultiZoneAverageCoolingSetPoint CalcMultiZoneAverageHeatingSetPoint CalcMultiZoneAverageMaxHumSetPoint CalcMultiZoneAverageMinHumSetPoint CalcMultiZoneMaxHumSetPoint CalcMultiZoneMinHumSetPoint CalcMundtModel CalcNCycSysAvailMgr CalcNewZoneHeatCoolFlowRates CalcNewZoneHeatOnlyFlowRates CalcNodeMassFlows CalcNominalWindowCond CalcNonDXHeatingCoils CalcNonDXHeatingCoils CalcNonDXHeatingCoils CalcNonDXHeatingCoils CalcNusselt CalcNusseltJurges CalcNVentSysAvailMgr CalcOAController CalcOAMassFlow CalcOAMassFlow CalcOAMixer CalcOAOnlyMassFlow CalcOAPretreatSetPoint CalcOAUnitCoilComps CalcObstrMultiplier CalcOptStartSysAvailMgr CalcOtherSideDemand CalcOutdoorAirUnit CalcOutsideAirSetPoint CalcOutsideSurfTemp CalcParallelPIU CalcPassiveExteriorBaffleGap CalcPassiveSystem CalcPassiveTranspiredCollector CalcPerSolarBeam CalcPipeHeatTransCoef CalcPipesHeatTransfer CalcPipeTransBeam CalcPlantValves CalcPollution CalcPolyhedronVolume CalcPolynomCoef CalcPondGroundHeatExchanger CalcPredictedHumidityRatio CalcPredictedSystemLoad CalcPTUnit CalcPumps CalcPurchAirLoads CalcPurchAirMinOAMassFlow CalcPurchAirMixedAir CalcPVTcollectors CalcQiceChargeMaxByChiller CalcQiceChargeMaxByITS CalcQiceDischageMax CalcRABFlowSetPoint CalcRackSystem CalcRadSysHXEffectTerm CalcRadTemp CalcRainCollector CalcReformEIRChillerModel CalcResearchSpecialPartLoad CalcReturnAirPath CalcRfFlrCoordinateTransformation CalcSandiaPV CalcSatVapPressFromTemp CalcSchedOffSysAvailMgr CalcSchedOnSysAvailMgr CalcSchedSysAvailMgr CalcScheduledDualSetPoint CalcScheduledSetPoint CalcScreenTransmittance CalcScriptF CalcSeriesPIU CalcSetpointTempTarget CalcSHRUserDefinedCurves CalcSimpleController CalcSimpleHeatingCoil CalcSimplePV CalcSingleSpeedEvapFluidCooler CalcSingleSpeedTower CalcSingZoneClSetPoint CalcSingZoneHtSetPoint CalcSingZoneMaxHumSetPoint CalcSingZoneMinHumSetPoint CalcSingZoneRhSetPoint CalcSkySolDiffuseReflFactors CalcSolarCollector CalcSolarFlux CalcSolidDesiccantDehumidifier CalcSourceFlux CalcSourceTempCoefficents CalcSparrowLeeward CalcSparrowWindward CalcSpecialDayTypes CalcStandAloneERV CalcStandardRatings CalcStaticProperties CalcSteamAirCoil CalcSteamBaseboard CalcSurfaceCentroid CalcSurfaceGroundHeatExchanger CalcSystemEnergyUse CalcSZOneStageCoolingSetPt CalcSZOneStageHeatingSetPt CalcTankTemp CalcTDDTransSolAniso CalcTDDTransSolHorizon CalcTDDTransSolIso CalcTempDistModel CalcTempIntegral CalcTESCoilChargeOnlyMode CalcTESCoilCoolingAndChargeMode CalcTESCoilCoolingAndDischargeMode CalcTESCoilCoolingOnlyMode CalcTESCoilDischargeOnlyMode CalcTESCoilOffMode CalcTESIceStorageTank CalcTESWaterStorageTank CalcThermalChimney CalcThermalComfortAdaptiveASH55 CalcThermalComfortAdaptiveCEN15251 CalcThermalComfortFanger CalcThermalComfortKSU CalcThermalComfortPierce CalcThermalComfortSimpleASH55 CalcTimeNeeded CalcTopFluxCoefficents CalcTopSurfTemp CalcTotalFLux CalcTotCapSHR CalcTotCapSHR_VSWSHP CalcTransAbsorProduct CalcTransRefAbsOfCover CalcTRNSYSPV CalcTrombeWallIntConvCoeff CalcTwoSpeedDXCoilIEERResidual CalcTwoSpeedDXCoilStandardRating CalcTwoSpeedEvapFluidCooler CalcTwoSpeedTower CalcUAIce CalcUCSDCV CalcUCSDDV CalcUCSDUE CalcUCSDUI CalculateAirChillerSets CalculateBasisLength CalculateCase CalculateCoil CalculateCompressors CalculateCondensers CalculateCTFs CalculateDailySolarCoeffs CalculateDayOfWeek CalculateEpsFromNTUandZ CalculateExponentialMatrix CalculateFuncResults CalculateGammas CalculateInverseMatrix CalculateMoodyFrictionFactor CalculateNTUfromEpsAndZ CalculatePollution CalculateSecondary CalculateSubcoolers CalculateSunDirectionCosines CalculateTransCompressors CalculateWalkIn CalculateWaterUseage CalculateWaterUseage CalculateWindowBeamProperties CalculateZoneMRT CalculateZoneVolume CalcUnitaryCoolingSystem CalcUnitaryHeatingSystem CalcUnitarySuppHeatingSystem CalcUnitarySuppSystemtoSP CalcUnitarySystemLoadResidual CalcUnitarySystemToLoad CalcUnitHeater CalcUnitHeaterComponents CalcUnitVentilator CalcUnitVentilatorComponents CalcUnmetPlantDemand CalcUpdateHeatRecovery CalcUpdateHeatRecovery CalcUserDefinedInsideHcModel CalcUserDefinedOutsideHcModel CalcVariableSpeedTower CalcVarSpeedCoilCooling CalcVarSpeedCoilHeating CalcVarSpeedHeatPump CalcVarSpeedHeatPump CalcVAVVS CalcVentilatedSlab CalcVentilatedSlabComps CalcVentilatedSlabRadComps CalcVentSlabHXEffectTerm CalcVerticalGroundHeatExchanger CalcViewFactorToShelf CalcVRF CalcVRFCondenser CalcVRFCoolingCoil CalcVSTowerApproach CalcWallCoordinateTransformation CalcWaltonStableHorizontalOrTilt CalcWaltonUnstableHorizontalOrTilt CalcWarmestSetPoint CalcWarmestSetPointTempFlow CalcWaterMainsTemp CalcWaterSource CalcWaterStorageTank CalcWaterThermalTankMixed CalcWaterThermalTankStratified CalcWaterThermalTankZoneGains CalcWaterToAirHeatpump CalcWatertoAirHPCooling CalcWatertoAirHPHeating CalcWaterToAirResidual CalcWatertoWaterHPCooling CalcWatertoWaterHPHeating CalcWaterUseZoneGains CalcWetIndirectEvapCooler CalcWindowACOutput CalcWindowBlindProperties CalcWindowHeatBalance CalcWindowProfileAngles CalcWindowScreenProperties CalcWindowStaticProperties CalcWindPressure CalcWindPressureCoeffs CalcWindTurbine CalcWinFrameAndDividerTemps CalcWinTransDifSolInitialDistribution CalcWrapperModel CalcZoneAirComfortSetpoints CalcZoneAirTempSetpoints CalcZoneComponentLoadSums CalcZoneDehumidifier CalcZoneEvaporativeCoolerUnit CalcZoneLeavingConditions CalcZoneMassBalance CalcZonePipesHeatGain CalcZoneSums CartesianPipeCellInformation_ctor CellType_IsFieldCell CFSHasControlledShade CFSNGlz CFSRefPointPosFactor CFSRefPointSolidAngle CFSShadeAndBeamInitialization CFSUFactor cGetCoilAirOutletNode cGetCoilSteamInletNode cGetCoilSteamOutletNode CharPreDefTableEntry CheckActuatorNode CheckAndAddAirNodeNumber CheckAndFixCFSLayer CheckAndReadCustomSprectrumData CheckAndReadFaults CheckAndSetConstructionProperties CheckBracketRoundOff CheckBranchForOASys CheckCachedIPErrors CheckCFSStates CheckCoilWaterInletNode CheckControllerListOrder CheckControllerLists CheckConvexity CheckCostEstimateInput CheckCreatedZoneItemName CheckCurveLimitsForIPLV CheckCurveLimitsForStandardRatings CheckDayScheduleValueMinMax CheckDXCoolingCoilInOASysExists CheckFDSurfaceTempLimits CheckFFSchedule CheckFluidPropertyName CheckForActualFileName CheckForBalancedFlow CheckForControllerWaterCoil CheckForGeometricTransform CheckForGeometricTransform CheckForMisMatchedEnvironmentSpecifications CheckForOutOfRangeTempResult CheckForOutOfRangeTemps CheckForRequestedReporting CheckForRunawayPlantTemps CheckForSensorAndSetpointNode CheckGasCoefs CheckHeatingCoilSchedule CheckHXAssistedCoolingCoilSchedule CheckIFAnyEMS CheckIFAnyIdealCondEntSetPoint CheckIfAnyPlant CheckIfNodeSetpointManagedByEMS CheckIncrementRoundOff CheckInternalConsistency CheckLightsReplaceableMinMaxForZone CheckLocationValidity CheckLoopExitNode CheckLowerUpperBracket CheckMarkedNodes CheckMaxActiveController CheckMaxConstraint CheckMicroCHPThermalBalance CheckMinActiveController CheckMinConstraint checkMinimumMonthlyCharge CheckMinMaxCurveBoundaries CheckMinMaxRange CheckModelBoundOutput_HumRat CheckModelBoundOutput_Temp CheckModelBounds CheckModelBoundsHumRatEq CheckModelBoundsRH_HumRatEq CheckModelBoundsRH_TempEq CheckModelBoundsTempEq CheckNodeConnections CheckNodeSetPoint CheckNonSingularity CheckOAControllerName CheckOutAirNodeNumber CheckPlantConvergence CheckPlantMixerSplitterConsistency CheckPlantOnAbort CheckPollutionMeterReporting CheckRefrigerationInput CheckReportVariable CheckRootFinderCandidate CheckRootFinderConvergence CheckScheduledSurfaceGains CheckScheduleValue CheckScheduleValueMinMax Checksetpoints CheckSimpleController CheckSlope CheckSteamCoilSchedule CheckSubSurfaceMiscellaneous CheckSysSizing CheckSystemBranchFlow CheckTDDsAndLightShelvesInDaylitZones CheckThisAirSystemForSizing CheckThisZoneForSizing CheckThreading CheckUniqueNodes CheckUnitarySysCoilInOASysExists CheckUsedConstructions CheckValidSimulationObjects CheckWarmupConvergence CheckWaterCoilSchedule CheckWeatherFileValidity CheckWindowShadingControlFrameDivider CheckZoneEquipmentList CheckZoneSizing CHKBKS CHKGSS CHKSBS CLIP CLIPPOLY CloseDFSFile CloseMiscOpenFiles CloseMoistureBalanceEMPD CloseOutOpenFiles CloseOutputFiles CloseOutputTabularFile CloseReportIllumMaps CloseSocket CloseWeatherFile CoilAreaFracIter CoilCompletelyDry CoilCompletelyWet CoilOutletStreamCondition CoilPartWetPartDry COMMAND_ARGUMENT_COUNT CompactObjectsCheck CompareTwoVectors ComplexFenestrationLuminances ComputeDelayedComponents ComputeDifSolExcZonesWIZWindows ComputeIntSolarAbsorpFactors ComputeIntSWAbsorpFactors ComputeIntThermalAbsorpFactors ComputeLifeCycleCostAndReport ComputeLoadComponentDecayCurve ComputeNominalUwithConvCoeffs ComputePresentValue ComputeTariff ComputeTaxAndDepreciation ComputeWinShadeAbsorpFactors CondOutTempResidual ConstructBasis ControlCBVAVOutput ControlCompOutput ControlCompOutput ControlCoolBeam ControlCoolingSystem ControlCycWindACOutput ControlDesiccantDehumidifier ControlDXHeatingSystem ControlDXSystem ControlFluidHeatExchanger ControlHeatingSystem ControlHumidifier ControlMSHPOutput ControlPTUnitOutput ControlPVTcollector ControlReformEIRChillerModel ControlSuppHeatSystem ControlUnitarySystemOutput ControlUnitarySystemtoLoad ControlUnitarySystemtoSP ControlVRF ControlVSEvapUnitToMeetLoad ControlVSHPOutput ControlVSHPOutput ConvectionFactor ConvertCasetoLower ConvertCasetoUpper ConvertIP ConvertIPdelta ConvertToElementTag ConvertToEscaped CoolBeamResidual CoolingCoil CoolWaterHumRatResidual CoolWaterTempResidual CoolWatertoAirHPHumRatResidual CoolWatertoAirHPTempResidual CorrectZoneAirTemp CorrectZoneContaminants CorrectZoneHumRat CostInfoOut CPCW CPHW CreateBoundaryList CreateBoundaryListCount CreateCategoryNativeVariables CreateCellArray CreateCurrentDateTimeString CreateDefaultComputation CreateEnergyReportStructure CreateFCfactorConstructions CreateHVACStepFullString CreateHVACTimeIntervalString CreateHVACTimeString CreateNewellAreaVector CreateNewellSurfaceNormalVector CreatePartitionCenterList CreatePartitionRegionList CreatePredefinedMonthlyReports CreateRegionList CreateRegionListCount CreateShadedWindowConstruction CreateSQLiteConstructionsTable CreateSQLiteConstructionsTable CreateSQLiteDatabase CreateSQLiteDatabase CreateSQLiteDaylightMap CreateSQLiteDaylightMap CreateSQLiteDaylightMapTitle CreateSQLiteDaylightMapTitle CreateSQLiteEnvironmentPeriodRecord CreateSQLiteEnvironmentPeriodRecord CreateSQLiteErrorRecord CreateSQLiteErrorRecord CreateSQLiteInfiltrationTable CreateSQLiteInfiltrationTable CreateSQLiteMaterialsTable CreateSQLiteMaterialsTable CreateSQLiteMeterDictionaryRecord CreateSQLiteMeterDictionaryRecord CreateSQLiteMeterRecord CreateSQLiteMeterRecord CreateSQLiteNominalBaseboardHeatTable CreateSQLiteNominalBaseboardHeatTable CreateSQLiteNominalElectricEquipmentTable CreateSQLiteNominalElectricEquipmentTable CreateSQLiteNominalGasEquipmentTable CreateSQLiteNominalGasEquipmentTable CreateSQLiteNominalHotWaterEquipmentTable CreateSQLiteNominalHotWaterEquipmentTable CreateSQLiteNominalLightingTable CreateSQLiteNominalLightingTable CreateSQLiteNominalOtherEquipmentTable CreateSQLiteNominalOtherEquipmentTable CreateSQLiteNominalPeopleTable CreateSQLiteNominalPeopleTable CreateSQLiteNominalSteamEquipmentTable CreateSQLiteNominalSteamEquipmentTable CreateSQLiteReportVariableDataRecord CreateSQLiteReportVariableDataRecord CreateSQLiteReportVariableDictionaryRecord CreateSQLiteReportVariableDictionaryRecord CreateSQLiteRoomAirModelTable CreateSQLiteRoomAirModelTable CreateSQLiteSchedulesTable CreateSQLiteSimulationsRecord CreateSQLiteSimulationsRecord CreateSQLiteStringTableRecord CreateSQLiteSurfacesTable CreateSQLiteSurfacesTable CreateSQLiteTabularDataRecords CreateSQLiteTabularDataRecords CreateSQLiteTimeIndexRecord CreateSQLiteTimeIndexRecord CreateSQLiteVentilationTable CreateSQLiteVentilationTable CreateSQLiteZoneGroupTable CreateSQLiteZoneGroupTable CreateSQLiteZoneListTable CreateSQLiteZoneListTable CreateSQLiteZoneTable CreateSQLiteZoneTable CreateStormWindowConstructions CreateSysTimeIntervalString CreateTCConstructions CreateTimeIntervalString CreateTimeString CreatExtBooundCondName CreateZoneExtendedOutput CreateZoneExtendedOutput CrossProduct CrossProduct cSurfaceClass CTRANS CurveValue DateToString DateToStringWithMonth DaylghtAltAndAzimuth DayltgAveInteriorReflectance DayltgClosestObstruction DayltgCrossProduct DayltgCurrentExtHorizIllum DayltgDirectIllumComplexFenestration DayltgDirectSunDiskComplexFenestration DayltgElecLightingControl DayltgExtHorizIllum DayltgGlare DayltgGlarePositionFactor DayltgGlareWithIntWins DayltgHitBetWinObstruction DayltgHitInteriorObstruction DayltgHitObstruction DayltgInteriorIllum DayltgInteriorMapIllum DayltgInteriorTDDIllum DayltgInterReflectedIllum DayltgInterReflectedIllumComplexFenestration DayltgInterReflIllFrIntWins DayltgLuminousEfficacy DayltgPierceSurface DayltgSetupAdjZoneListsAndPointers DayltgSkyLuminance DayltgSurfaceLumFromSun dCheckScheduleValueMinMax1 dCheckScheduleValueMinMax2 DeallocateLoadComponentArrays DebugRootFinder DecodeHHMMField DecodeMonDayHrMin DeflectionTemperatures DeflectionWidths DegradF DElightDaylightCoefficients DElightDaylightCoefficients DElightElecLtgCtrl DElightElecLtgCtrl DElightFreeMemory DElightFreeMemory DElightInputGenerator DElightInputGenerator DElightOutputGenerator DElightOutputGenerator DensityCFSFillGas Depth DERIV DetailsForSurfaces DetectOscillatingZoneTemp DetermineAzimuthAndTilt DetermineBranchFlowRequest DetermineBuildingFloorArea DetermineDateTokens DetermineFrequency DetermineIndexGroupFromMeterGroup DetermineIndexGroupKeyFromMeterName DetermineMaxBackSurfaces DetermineMeterIPUnits DetermineMinuteForReporting DeterminePolygonOverlap DetermineShadowingCombinations DetermineSunUpDown DevelopMesh DiffuseAverage DiffuseAverageProfAngGnd DiffuseAverageProfAngSky DisplayMaterialRoughness DisplayNumberandString DisplaySimDaysProgress DisplayString distance DistributeBBElecRadGains DistributeBBRadGains DistributeBBSteamRadGains DistributeHTRadGains DistributePlantLoad DistributePressureOnBranch DistributeTDDAbsorbedSolar DistributeUserDefinedPlantLoad DL_RES_r2 DLAG DOE2DXCoilHumRatResidual DOE2DXCoilHumRatResidual DOE2DXCoilResidual DOE2DXCoilResidual DOE2DXCoilResidual DoEndOfIterationOperations DomainRectangle_Contains DOMakeUPPERCase DoOneTimeInitializations DOSameString DoShadeControl DoStartOfTimeStepInitializations DownInterpolate4HistoryValues DumpAirLoopStatistics DumpCurrentLineBuffer DUMPVD DUMPVR DXCoilCyclingHumRatResidual DXCoilCyclingHumRatResidual DXCoilCyclingResidual DXCoilCyclingResidual DXCoilVarSpeedHumRatResidual DXCoilVarSpeedHumRatResidual DXCoilVarSpeedResidual DXCoilVarSpeedResidual DXFOut DXFOutLines DXFOutWireFrame DXHeatingCoilResidual DXHeatingCoilResidual DXHeatingCoilResidual DynamicClothingModel DynamicExtConvSurfaceClassification DynamicIntConvSurfaceClassification EchoOutActuatorKeyChoices EchoOutInternalVariableChoices EffectiveEPSLB EffectiveEPSLF EIRChillerHeatRecovery EN673ISO10292 EncodeMonDayHrMin EndEnergyPlus EndUniqueNodeCheck EnthalpyResidual epElapsedTime epGetTimeUsed epGetTimeUsedperCall epStartTime epStopTime epSummaryTimes eptime EQLWindowInsideEffectiveEmiss EQLWindowOutsideEffectiveEmiss EQLWindowSurfaceHeatBalance EquationsSolver ERF EstimateHEXSurfaceArea EvalInsideMovableInsulation EvalOutsideMovableInsulation EvaluateAdiabaticSurfaceTemperature EvaluateBasementCellTemperature EvaluateCellNeighborDirections evaluateChargeBlock evaluateChargeSimple EvaluateExpression EvaluateExtHcModels EvaluateFarfieldBoundaryTemperature EvaluateFarfieldCharacteristics EvaluateFieldCellTemperature EvaluateGroundSurfaceTemperature EvaluateIntHcModels EvaluateLoopSetPointLoad EvaluateNeighborCharacteristics evaluateQualify evaluateRatchet EvaluateSoilRhoCp EvaluateStack EvolveParaUCSDCV ExitCalcController ExpandComplexState ExpressAsCashFlows ExtendObjectDefinition ExteriorBCEqns ExternalInterfaceExchangeVariables ExternalInterfaceInitializeErlVariable ExternalInterfaceSetErlVariable ExternalInterfaceSetSchedule ExtOrIntShadeNaturalFlow Fabric_EstimateDiffuseProps FACSKY FalsePositionMethod FEQX FI FigureACAncillaries FigureAirEnthalpy FigureAirHeatCap FigureAuxilHeatGasHeatCap FigureBeamSolDiffuseReflFactors FigureBeamSolSpecularReflFactors FigureConstGradPattern FigureDayltgCoeffsAtPointsForSunPosition FigureDayltgCoeffsAtPointsForWindowElements FigureDayltgCoeffsAtPointsSetupForWindow FigureElectricalStorageZoneGains FigureFuelCellZoneGains FigureFuelEnthalpy FigureFuelHeatCap FigureGaseousWaterEnthalpy FigureHeightPattern FigureHXleavingGasHeatCap FigureInverterZoneGains FigureLHVofFuel FigureLiquidWaterEnthalpy FigureLiquidWaterHeatCap FigureMapPointDayltgFactorsToAddIllums FigureMicroCHPZoneGains FigureNDheightInZone FigurePowerConditioningLosses FigureProductGasesEnthalpy FigureProductGasHeatCap FigureRefPointDayltgFactorsToAddIllums FigureRefrigerationZoneGains FigureSolarBeamAtTimestep FigureSunCosines FigureSurfMapPattern FigureTDDZoneGains FigureTransformerZoneGains FigureTransientConstraints FigureTwoGradInterpPattern FILJAC FillBasisElement FillDefaultsSWP FillRemainingPredefinedEntries FillWeatherPredefinedEntries film filmg filmi filmPillar FILSKY FinalizeCFS FinalizeCFSLAYER FinalRateCoils FindAirLoopBranchConnection FindAirPlantCondenserLoopFromBranchList FindAllNumbersinList FindArrayIndex FindCompSPInput FindCompSPLoad FindCondenserLoopBranchConnection FindControlledZoneIndexFromSystemNodeNumberForZone FindDeltaTempRangeInput FindDemandSideMatch FindEMSVariable FindFirstLastPtr FindFirstRecord FindGlycol FindHXDemandSideLoopFlow FindInBasis FindItem FindIteminList FindIteminSortedList FindItemInVariableList FindLoopSideInCallingOrder FindNextRecord FindNonSpace FindNumberinList FindOAMixerMatchForOASystem FindPlantLoopBranchConnection FindRangeBasedOrUncontrolledInput FindRangeVariable FindRefrigerant FindRootSimpleController FindStratifiedTankSensedTemp FindTariffIndex FindTDDPipe FindUnitNumber FinishDebugOutputFiles FixViewFactors FluidCellInformation_ctor FM_BEAM FM_DIFF FM_F FNU forcedventilation FourPipeInductionUnitHasMixer FourPipeIUCoolingResidual FourPipeIUHeatingResidual FRA FrostControl FrostControlSetPointLimit FrostControlSetPointLimit FuelCellProductGasEnthResidual FUN FuncDetermineCoolantWaterExitTemp FuncDetermineCWMdotForInternalFlowControl FuncDetermineEngineTemp FV GasElecHeatingCoilResidual GASSES90 GassesLow GatherBEPSResultsForTimestep GatherBinResultsForTimestep GatherComponentLoadsHVAC GatherComponentLoadsIntGain GatherComponentLoadsSurfAbsFact GatherComponentLoadsSurface GatherForEconomics GatherForPredefinedReport GatherHeatGainReport GatherMonthlyResultsForTimestep GatherPeakDemandForTimestep GatherSourceEnergyEndUseResultsForTimestep GaussElimination generate_ears GenerateDElightDaylightCoefficients GenerateDElightDaylightCoefficients GeneratorPowerOutput GenericCrack GenOutputVariablesAuditReport Get2DMatrix Get2DMatrixDimensions GET_COMMAND GET_COMMAND_ARGUMENT Get_Environment_Variable GetActualDXCoilIndex GetAirBranchIndex GetAirFlowFlag GetAirflowNetworkInput GetAirHeatBalanceInput GetAirLoopAvailabilityManager GetAirModelDatas GetAirNodeData GetAirPathData GetAngleFactorList GetATMixer GetATMixerOutNode GetATMixerPriNode GetATMixers GetATMixerSecNode GetAttShdSurfaceData GetAverageTempByType GetBaseboardInput GetBaseboardInput GetBasementFloorHeatFlux GetBasementWallHeatFlux GetBLASTAbsorberInput GetBoilerInput GetBoilerInput GetBranchData GetBranchFanTypeName GetBranchFlow GetBranchInput GetBranchList GetBranchListInput GetBuildingData GetCBVAV GetCellWidths GetCellWidthsCount GetChildrenData GetChillerheaterInput GetCoilAirFlowRate GetCoilAirFlowRateVariableSpeed GetCoilAirInletNode GetCoilAirOutletNode GetCoilAvailScheduleIndex GetCoilCapacity GetCoilCapacity GetCoilCapacity GetCoilCapacity GetCoilCapacity GetCoilCapacity GetCoilCapacityByIndexType GetCoilCapacityVariableSpeed GetCoilCondenserInletNode GetCoilControlNodeNum GetCoilGroupTypeNum GetCoilIndex GetCoilIndex GetCoilIndex GetCoilIndexVariableSpeed GetCoilInletNode GetCoilInletNode GetCoilInletNode GetCoilInletNode GetCoilInletNode GetCoilInletNode GetCoilInletNodeVariableSpeed GetCoilMaxSteamFlowRate GetCoilMaxWaterFlowRate GetCoilMaxWaterFlowRate GetCoilMaxWaterFlowRate GetCoilObjectTypeNum GetCoilOutletNode GetCoilOutletNode GetCoilOutletNode GetCoilOutletNode GetCoilOutletNode GetCoilOutletNode GetCoilOutletNodeVariableSpeed GetCoilSteamInletNode GetCoilSteamOutletNode GetCoilTypeNum GetCoilWaterInletNode GetCoilWaterInletNode GetCoilWaterOutletNode GetColumnUsingTabs GetComfortSetpoints GetComponentData GetCondFDInput GetConductivityGlycol GetConnectorList GetConnectorListInput GetConstCOPChillerInput GetConstructData GetControlledZoneIndex GetControllerActuatorNodeNum GetControllerInput GetCoolBeams GetCoolingCoilTypeNameAndIndex GetCooltower GetCostEstimateInput GetCrossVentData GetCTGeneratorInput GetCTGeneratorResults GetCurrentHVACTime GetCurrentMeterValue GetCurrentScheduleValue GetCurveCheck GetCurveIndex GetCurveInput GetCurveMinMaxValues GetCurveName GetCurveObjectTypeNum GetCurveType GetCustomMeterInput GetDaylightingParametersDetaild GetDaylightingParametersInput GetDayScheduleIndex GetDemandManagerInput GetDemandManagerListInput GetDensityGlycol GetDesiccantDehumidifierInput GetDesignDayData GetDesignLightingLevelForZone GetDetShdSurfaceData GetDirectAirInput GetDisplacementVentData GetDSTData GetDualDuctInput GetDualDuctOutdoorAirRecircUse GetDuctInput GetDXCoilAirFlow GetDXCoilAvailSchPtr GetDXCoilBypassedFlowFrac GetDXCoilCapFTCurveIndex GetDXCoilIndex GetDXCoilNumberOfSpeeds GetDXCoils GetDXCoolingSystemInput GetDXHeatPumpSystemInput GetEarthTube GetElecReformEIRChillerInput GetElectricBaseboardInput GetElectricChillerInput GetElectricEIRChillerInput GetEMSInput GetEngineDrivenChillerInput GetEnvironmentalImpactFactorInfo GetEvapFluidCoolerInput GetEvapInput GetExhaustAbsorberInput GetExhaustAirInletNode GetExteriorEnergyUseInput GetExtVentedCavityIndex GetExtVentedCavityIndex GetExtVentedCavityTsColl GetExtVentedCavityTsColl GetFanAvailSchPtr GetFanCoilIndex GetFanCoilInletAirNode GetFanCoilMixedAirNode GetFanCoilOutAirNode GetFanCoilReturnAirNode GetFanCoilUnits GetFanCoilZoneInletAirNode GetFanDesignVolumeFlowRate GetFanIndex GetFanIndexForTwoSpeedCoil GetFanInletNode GetFanInput GetFanOutletNode GetFanPower GetFanSpeedRatioCurveIndex GetFanType GetFanVolFlow GetFarfieldTemp GetFirstBranchInletNodeName GetFluidCoolerInput GetFluidDensityTemperatureLimits GetFluidHeatExchangerInput GetFluidPropertiesData GetFluidSpecificHeatTemperatureLimits GetFrameAndDividerData GetFuelCellGeneratorInput GetFuelCellGeneratorResults GetFuelFactorInfo GetFurnaceInput GetGasAbsorberInput GetGeneratorFuelSupplyInput GetGeometryParameters GetGlycolNameByIndex GetGroundheatExchangerInput GetGroundReflectances GetGroundTemps GetGshpInput GetGshpInput GetGTChillerInput GetHeatBalanceInput GetHeatBalHAMTInput GetHeatExchangerObjectTypeNum GetHeatingCoilIndex GetHeatingCoilInput GetHeatingCoilNumberOfStages GetHeatingCoilPLFCurveIndex GetHeatingCoilTypeNum GetHeatReclaimSourceIndex GetHeatRecoveryInput GetHighTempRadiantSystem GetHPCoolingCoilIndex GetHTSubSurfaceData GetHTSurfaceData GetHTSurfExtVentedCavityData GetHumidifierInput GetHVACSingleDuctSysIndex GetHWBaseboardInput GetHXAssistedCoolingCoilInput GetHXCoilAirFlowRate GetHXCoilType GetHXCoilTypeAndName GetHXDXCoilIndex GetHXDXCoilName GetHybridVentilationControlStatus GetHybridVentilationInputs GetICEGeneratorResults GetICEngineGeneratorInput GetIceStorageInput GetIDFRecordsStats GetIndirectAbsorberInput GetIndUnits GetInputEconomicsChargeBlock GetInputEconomicsChargeSimple GetInputEconomicsComputation GetInputEconomicsCurrencyType GetInputEconomicsQualify GetInputEconomicsRatchet GetInputEconomicsTariff GetInputEconomicsVariable GetInputForLifeCycleCost GetInputFuelAndPollutionFactors GetInputLifeCycleCostNonrecurringCost GetInputLifeCycleCostParameters GetInputLifeCycleCostRecurringCosts GetInputLifeCycleCostUseAdjustment GetInputLifeCycleCostUsePriceEscalation GetInputTabularMonthly GetInputTabularPredefined GetInputTabularStyle GetInputTabularTimeBins GetInputViewFactors GetInputViewFactorsbyName GetInputZoneEvaporativeCoolerUnit GetInstantMeterValue GetInternalBranchData GetInternalHeatGainsInput GetInternalVariableValue GetInternalVariableValue GetInternalVariableValueExternalInterface GetInternalVariableValueExternalInterface GetInterpolatedSatProp GetInterpValue GetIntMassSurfaceData GetLastBranchOutletNodeName GetLastWord GetLightWellData GetListOfObjectsInIDD GetListofSectionsinInput GetLocationInfo GetLoopMixer GetLoopSidePumpIndex GetLoopSplitter GetLowTempRadiantSystem GetMaterialData GetMatrixInput getMaxAndSum GetMeteredVariables GetMeterIndex GetMeterResourceType GetMicroCHPGeneratorInput GetMicroCHPGeneratorResults GetMinOATCompressor GetMixerInput GetMixerInput GetMoistureBalanceEMPDInput GetMonthlyCostForResource GetMovableInsulationData GetMSHeatPumpInput GetMTGeneratorExhaustNode GetMTGeneratorInput GetMTGeneratorResults GetMundtData GetNewUnitNumber GetNextEnvironment GetNodeConnectionType GetNodeList GetNodeListsInput GetNodeNums GetNTUforCrossFlowBothUnmixed GetNumberOfSchedules GetNumberOfSurfaceLists GetNumberOfSurfListVentSlab GetNumChildren GetNumMeteredVariables GetNumOAControllers GetNumOAMixers GetNumOASystems GetNumObjectsFound GetNumObjectsInIDD GetNumRangeCheckErrorsFound GetNumSectionsFound GetNumSectionsinInput GetNumSegmentsForHorizontalTrenches GetNumSplitterMixerInConntrList GetOACompListNumber GetOACompName GetOACompType GetOACompTypeNum GetOAControllerInputs GetOAMixerIndex GetOAMixerInletNodeNumber GetOAMixerInputs GetOAMixerMixedNodeNumber GetOAMixerNodeNumbers GetOAMixerReliefNodeNumber GetOAMixerReturnNodeNumber GetOARequirements GetOASysControllerListIndex GetOASysNumCoolingCoils GetOASysNumHeatingCoils GetOASysNumSimpControllers GetOASystemNumber GetObjectDefInIDD GetObjectDefMaxArgs GetObjectItem GetObjectItemfromFile GetObjectItemNum GetOnlySingleNode GetOperationSchemeInput GetOSCData GetOSCMData GetOutAirNodesInput GetOutdoorAirUnitInputs GetOutdoorAirUnitOutAirNode GetOutdoorAirUnitReturnAirNode GetOutdoorAirUnitZoneInletNode GetOutsideAirSysInputs GetOutsideEnergySourcesInput GetParentData GetPipeInput GetPipesHeatTransfer GetPipingSystemsInput GetPIUs GetPlantAvailabilityManager GetPlantInput GetPlantLoopData GetPlantOperationInput GetPlantProfileInput GetPlantSizingInput GetPlantValvesInput GetPollutionFactorInput GetPondGroundHeatExchanger GetPowerManagerInput GetPressureCurveTypeAndIndex GetPressureSystemInput GetPreviousHVACTime GetProjectControlData GetProjectData GetPTUnit GetPTUnitMixedAirNode GetPTUnitOutAirNode GetPTUnitReturnAirNode GetPTUnitZoneInletAirNode GetPumpInput GetPurchasedAir GetPurchasedAirMixedAirHumRat GetPurchasedAirMixedAirTemp GetPurchasedAirOutAirMassFlow GetPurchasedAirReturnAirNode GetPurchasedAirZoneInletAirNode GetPVGeneratorResults GetPVInput GetPVTcollectorsInput GetPVTThermalPowerProduction GetQualityRefrig GetRecordLocations GetRectDetShdSurfaceData GetRectSubSurfaces GetRectSurfaces GetRefrigeratedRackIndex GetRefrigerationInput GetReportVariableInput GetRequiredMassFlowRate GetResidCrossFlowBothUnmixed GetResourceTypeChar GetReturnAirNodeForZone GetReturnAirPathInput GetRoomAirModelParameters GetRunPeriodData GetRunPeriodDesignData GetRuntimeLanguageUserInput GetSatDensityRefrig GetSatEnthalpyRefrig GetSatPressureRefrig GetSatSpecificHeatRefrig GetSatTemperatureRefrig GetScheduledSurfaceGains GetScheduleIndex GetScheduleMaxValue GetScheduleMinValue GetScheduleName GetScheduleType GetScheduleValuesForDay GetSecondaryInletNode GetSecondaryOutletNode GetSetPointManagerInputs GetShadingSurfReflectanceData GetShadowingInput GetShelfInput GetSimpleAirModelInputs GetSimpleShdSurfaceData GetSimpleWatertoAirHPInput GetSingleDayScheduleValues GetSiteAtmosphereData GetSizingParams GetSnowGroundRefModifiers GetSolarCollectorInput GetSpecialDayPeriodData GetSpecificHeatGlycol getSpecificUnitDivider getSpecificUnitIndex getSpecificUnitMultiplier GetSplitterInput GetSplitterInput GetSplitterNodeNumbers GetSplitterOutletNumber GetStandAloneERV GetStandAloneERVNodes GetStandAloneERVOutAirNode GetStandAloneERVReturnAirNode GetStandAloneERVZoneInletAirNode GetStandardMeterResourceType GetSteamBaseboardInput GetSteamCoilAvailScheduleIndex GetSteamCoilControlNodeNum GetSteamCoilIndex GetSteamCoilInput GetSTM GetStormWindowData GetSupHeatDensityRefrig GetSupHeatEnthalpyRefrig GetSupHeatPressureRefrig GetSupplyAirFlowRate GetSupplyAirFlowRate GetSupplyAirInletNode GetSupplyInletNode GetSupplyOutletNode GetSurfaceCountForOSCM GetSurfaceData GetSurfaceGroundHeatExchanger GetSurfaceHeatTransferAlgorithmOverrides GetSurfaceIndecesForOSCM GetSurfaceListsInputs GetSurfHBDataForMundtModel GetSurfHBDataForTempDistModel GetSysAvailManagerInputs GetSysAvailManagerListInputs GetSysInput GetSystemNodeNumberForZone GetSystemSizingInput GetTDDInput GetTESCoilIndex GetTESCoilInput GetThermalChimney GetTowerInput GetTranspiredCollectorIndex GetTranspiredCollectorInput GetTypeOfCoil GetUFADZoneData GetUnitarySystemDXCoolingCoilIndex GetUnitarySystemInput GetUnitarySystemOAHeatCoolCoil GetUnitConversion GetUnitHeaterInput GetUnitsString GetUnitSubString GetUnitVentilatorInput GetUnitVentilatorMixedAirNode GetUnitVentilatorOutAirNode GetUnitVentilatorReturnAirNode GetUnitVentilatorZoneInletAirNode GetUserConvectionCoefficients GetUserDefinedComponents GetUserDefinedOpSchemeInput GetUserDefinedPatternData GetUTSCTsColl GetVariableKeyCountandType GetVariableKeyCountandType GetVariableKeys GetVariableKeys GetVariableTypeAndIndex GetVariableUnitsString GetVarSpeedCoilInput GetVentilatedSlabInput GetVertices GetViscosityGlycol GetVRFInput GetVSCoilCondenserInletNode GetVSCoilMinOATCompressor GetVSCoilNumOfSpeeds GetWaterCoilAvailScheduleIndex GetWaterCoilCapacity GetWaterCoilIndex GetWaterCoilInput GetWaterMainsTemperatures GetWaterManagerInput GetWaterSource GetWaterThermalTankInput GetWatertoAirHPInput GetWatertoWaterHPInput GetWaterUseInput GetWeatherProperties GetWeatherStation GetWindowAC GetWindowACMixedAirNode GetWindowACOutAirNode GetWindowACReturnAirNode GetWindowACZoneInletAirNode GetWindowGapAirflowControlData GetWindowGlassSpectralData GetWindowShadingControlData GetWindTurbineInput GetWrapperInput GetWTGeneratorResults GetZoneAirDistribution GetZoneAirLoopEquipment GetZoneAirSetpoints GetZoneAndZoneListNames GetZoneContaminanInputs GetZoneContaminanSetpoints GetZoneData GetZoneDehumidifierInput GetZoneDehumidifierNodeNumber GetZoneEqAvailabilityManager GetZoneEquipment GetZoneEquipmentData GetZoneEquipmentData1 GetZoneInfilAirChangeRate GetZoneLoads GetZonePlenumInput GetZoneSizingInput GLtoAMB GoAhead guess HasFractionalScheduleValue hatter HCInWindowStandardRatings HConvGap HcUCSDCV HcUCSDDV HcUCSDUF HeatingCoilVarSpeedCycResidual HeatingCoilVarSpeedResidual HeatPumpRunFrac HeatPumpRunFrac HeatPumpRunFrac HeatWatertoAirHPTempResidual Height HEMINT HIC_ASHRAE HotWaterCoilResidual HotWaterCoilResidual HotWaterCoilResidual HotWaterCoilResidual HotWaterCoilResidual HotWaterHeatingCoilResidual HRadPar HTRANS HTRANS0 HTRANS1 HWBaseboardUAResidual HXAssistDXCoilResidual HXAssistedCoolCoilHRResidual HXAssistedCoolCoilHRResidual HXAssistedCoolCoilTempResidual HXAssistedCoolCoilTempResidual HXDemandSideLoopFlowResidual HybridVentilationControl IAM iCheckScheduleValue ICSCollectorAnalyticalSoluton iGetCoilAirOutletNode iGetCoilSteamInletNode iGetCoilSteamOutletNode INCLOS incrementEconVar IncrementInstMeterCache incrementSteps incrementTableEntry InitAirflowNetwork InitAirflowNetworkData InitAirHeatBalance InitAirLoops InitAirLoopSplitter InitAirMixer InitAirTerminalUserDefined InitAirZoneReturnPlenum InitAirZoneSupplyPlenum InitATMixer InitBaseboard InitBaseboard InitBLASTAbsorberModel InitBoiler InitBoiler InitBoreholeHXSimVars InitBSDFWindows InitCBVAV InitCoilUserDefined InitComplexWindows InitComponentNodes InitConductionTransferFunctions InitConnections InitConstCOPChiller InitController InitCoolBeam InitCTGenerators InitCurveReporting InitDaylightingDevices InitDemandManagers InitDesiccantDehumidifier InitDetailedIceStorage InitDirectAir InitDualDuct InitDuct InitDXCoil InitDXCoolingSystem InitDXHeatPumpSystem InitElecReformEIRChiller InitElectricBaseboard InitElectricChiller InitElectricEIRChiller InitEMS InitEMSControlledConstructions InitEMSControlledSurfaceProperties InitEnergyReports InitEngineDrivenChiller InitEquivalentLayerWindowCalculations InitEvapCooler InitEvapFluidCooler InitExhaustAbsorber InitExteriorConvectionCoeff InitFan InitFanCoilUnits InitFluidCooler InitFluidHeatExchanger InitFuelCellGenerators InitFurnace InitGasAbsorber InitGlassOpticalCalculations InitGshp InitGshp InitGTChiller InitHeatBalance InitHeatBalFiniteDiff InitHeatBalHAMT InitHeatingCoil InitHeatRecovery InitHighTempRadiantSystem InitHumidifier InitHWBaseboard InitHXAssistedCoolingCoil InitHybridVentSysAvailMgr InitialInitHeatBalFiniteDiff InitializeCFSDaylighting InitializeCFSStateData InitializeComponentSizingTable InitializeConstructionsTables InitializeDaylightMapTables InitializeEnvironmentPeriodsTable InitializeErrorsTable InitializeGlycolTempLimits InitializeHeatTransferPipes InitializeIndexes InitializeIndexes InitializeLoops InitializeMaterialsTable InitializeMeters initializeMonetaryUnit InitializeNominalBaseboardHeatTable InitializeNominalElectricEquipmentTable InitializeNominalGasEquipmentTable InitializeNominalHotWaterEquipmentTable InitializeNominalInfiltrationTable InitializeNominalLightingTable InitializeNominalOtherEquipmentTable InitializeNominalPeopleTable InitializeNominalSteamEquipmentTable InitializeNominalVentilationTable InitializeOperatingMode InitializeOutput InitializePipes InitializePredefinedMonthlyTitles InitializePsychRoutines InitializePumps InitializeRefrigerantLimits InitializeReportMeterDataDictionaryTable InitializeReportMeterDataTables InitializeReportVariableDataDictionaryTable InitializeReportVariableDataTables InitializeRoomAirModelTable InitializeRootFinder InitializeRuntimeLanguage InitializeSchedulesTable InitializeSimulationsTable InitializeSQLiteTables InitializeSurfacesTable InitializeSystemSizingTable InitializeTabularDataTable InitializeTabularDataTable InitializeTabularDataView InitializeTabularDataView InitializeTabularMonthly InitializeTimeIndicesTable InitializeViews InitializeWeather InitializeZoneGroupTable InitializeZoneInfoTable InitializeZoneListTable InitializeZoneSizingTable InitICEngineGenerators InitIndirectAbsorpChiller InitIndUnit InitInteriorConvectionCoeffs InitInteriorRadExchange InitInternalHeatGains InitIntSolarDistribution InitLoadBasedControl InitLoadDistribution InitLowTempRadiantSystem InitMicroCHPNoNormalizeGenerators InitMoistureBalanceEMPD InitMSHeatPump InitMTGenerators InitMundtModel InitOAController InitOAMixer InitOneTimePlantSizingInfo InitOutAirNodes InitOutdoorAirUnit InitOutsideAirSys InitPipesHeatTransfer InitPipingSystems InitPIU InitPlantProfile InitPlantUserComponent InitPlantValves InitPollutionMeterReporting InitPondGroundHeatExchanger InitPressureDrop InitPTUnit InitPurchasedAir InitPVTcollectors InitRefrigeration InitRefrigerationPlantConnections InitReturnAirPath InitSecretObjects InitSetPointManagers InitSimpleIceStorage InitSimpleMixingConvectiveHeatGains InitSimpleWatertoAirHP InitSimVars InitSimVars InitSimVars InitSimVars InitSolarCalculations InitSolarCollector InitSolarHeatGains InitSolReflRecSurf InitStandAloneERV InitSteamBaseboard InitSteamCoil InitSurfaceGroundHeatExchanger InitSurfaceHeatBalance InitSys InitSysAvailManagers InitSystemOutputRequired InitTempDistModel InitTESCoil InitThermalAndFluxHistories InitThermalComfort InitTower InitTranspiredCollector InitTRNSYSPV InitUCSDCV InitUCSDDV InitUCSDUF InitUniqueNodeCheck InitUnitarySystems InitUnitHeater InitUnitVentilator InitVarSpeedCoil InitVentilatedSlab InitVRF InitWaterCoil InitWaterSource InitWaterThermalTank InitWatertoAirHP InitWatertoWaterHP InitWindowAC InitWindTurbine InitWrapper InitZoneAirLoopEquipment InitZoneAirSetpoints InitZoneAirUserDefined InitZoneContSetpoints InitZoneDehumidifier InitZoneEquipment InitZoneEvaporativeCoolerUnit InPolygon InsertCurrencySymbol int_times_vector INTCPT Integer_IsInRange IntegerIsWithinTwoValues IntegerToString InterConnectTwoPlantLoopSides InteriorBCEqns InteriorNodeEqns InternalRangeCheck InternalSetupTankDemandComponent InternalSetupTankSupplyComponent interp INTERP InterpBlind InterpDefValuesForGlycolConc Interpolate Interpolate_Lagrange InterpolateBetweenFourValues InterpolateBetweenTwoValues InterpolatePipeTransBeam InterpProfAng InterpProfSlatAng InterpretWeatherDataLine InterpSlatAng InterpSw InterpValuesForGlycolConc IntInterfaceNodeEqns IntPreDefTableEntry IntToStr Invert3By3Matrix InvertMatrix InvJulianDay IPTrimSigDigits iRoundSigDigits IS_BEAM IS_DIFF IS_DSRATIO IS_F IS_LWP IS_OPENNESS IS_SWP isCompLoadRepReq IsControlledShade IsConverged_CurrentToPrevIteration IsConverged_PipeCurrentToPrevIteration IsCurveInputTypeValid IsCurveOutputTypeValid isExternalInterfaceErlVariable IsGlazeLayerX IsGZSLayer isInQuadrilateral IsInRange isInTriangle IsLeapYear IsNodeOnSetPtManager IsParentObject IsParentObjectCompSet IsShadingLayer IssueSevereAlphaInputFieldError IssueSevereInputFieldError IssueSevereRealInputFieldError IsValidConnectionType IsVBLayer isWithinRange ITERATE IterateRootFinder iTrimSigDigits JGDate JulianDay LClimb LDSumMax LDSumMean LEEDtariffReporting LimitCoilCapacity LimitController LimitTUCapacity LinesOut linint LoadEquipList LoadInterface LogicalToInteger LogicalToInteger LogPlantConvergencePoints lookupOperator LookUpScheduleValue LookUpSeason LookupSItoIP lubksb LUBKSB ludcmp LUDCMP LUdecomposition LUsolution MakeAnchorName MakeHVACTimeIntervalString MakeMirrorSurface MakeRectangularVertices MakeRelativeRectangularVertices MakeTransition MakeUPPERCase ManageAirflowNetworkBalance ManageAirHeatBalance ManageAirLoops ManageAirModel ManageBranchInput ManageControllers ManageCoolTower ManageDemand ManageEarthTube ManageElectCenterStorageInteractions ManageElectricLoadCenters ManageElectStorInteractions ManageEMS ManageExteriorEnergyUse ManageGeneratorControlState ManageGeneratorFuelFlow ManageHeatBalance ManageHeatBalFiniteDiff ManageHeatBalHAMT ManageHVAC ManageHybridVentilation ManageInsideAdaptiveConvectionAlgo ManageInternalHeatGains ManageInverter ManageMundtModel ManageNonZoneEquipment ManageOutsideAdaptiveConvectionAlgo ManageOutsideAirSystem ManagePlantLoadDistribution ManagePlantLoops ManageRefrigeratedCaseRacks ManageSetPoints ManageSimulation ManageSingleCommonPipe ManageSizing ManageSurfaceHeatBalance ManageSystemAvailability ManageThermalChimney ManageThermalComfort ManageTransformers ManageTwoWayCommonPipe ManageUCSDCVModel ManageUCSDDVModel ManageUCSDUFModels ManageUserDefinedPatterns ManageWater ManageWaterInits ManageWeather ManageZoneAirLoopEquipment ManageZoneAirUpdates ManageZoneContaminanUpdates ManageZoneEquipment MapExtConvClassificationToHcModels MapIntConvClassificationToHcModels MarkNode MatchAndSetColorTextString MatchPlantSys MatrixIndex matrixQBalance MeshPartition_CompareByDimension MeshPartition_SelectionSort MeshPartitionArray_Contains MinePlantStructForInfo MixedAirControlTempResidual ModifyWindow Modulus MonthToMonthNumber MovingAvg MRXINV MSHPCyclingResidual MSHPHeatRecovery MSHPVarSpeedResidual MultiModeDXCoilHumRatResidual MultiModeDXCoilHumRatResidual MultiModeDXCoilResidual MultiModeDXCoilResidual MultiModeDXCoilResidual MultiSpeedDXCoolingCoilStandardRatings MultiSpeedDXHeatingCoilStandardRatings MULTOL MyPlantSizingIndex NeighborInformationArray_Value NETRAD NewEMSVariable NewExpression newPreDefColumn newPreDefReport newPreDefSubTable NEWTON NodeHasSPMCtrlVarType NormalArea NumBranchesInBranchList NumCompsInBranch nusselt NusseltNumber OpenEPlusWeatherFile OPENNESS_LW OpenOutputFiles OpenOutputTabularFile OpenWeatherFile OPERATOR (*) OPERATOR (+) OPERATOR (-) OPERATOR (.dot.) OPERATOR (.twodcross.) OPERATOR (.twoddot.) OPERATOR (/) ORDER OutBaroPressAt OutDewPointTempAt OutDryBulbTempAt OutsidePipeHeatTransCoef OutWetBulbTempAt P01 PanesDeflection ParametricObjectsCheck parseComputeLine ParseExpression ParseStack ParseTime PartLoadFactor PassiveGapNusseltNumber PassPressureAcrossInterface PassPressureAcrossMixer PassPressureAcrossSplitter PD_BEAM PD_BEAM_CASE_I PD_BEAM_CASE_II PD_BEAM_CASE_III PD_BEAM_CASE_IV PD_BEAM_CASE_V PD_BEAM_CASE_VI PD_DIFF PD_LW PD_LWP PD_SWP PerformanceCurveObject PerformanceTableObject PerformIterationLoop PerformPipeCellSimulation PerformPipeCircuitSimulation PerformSolarCalculations PerformTemperatureFieldUpdate PierceSurface PierceSurfaceVector PipeCircuitInfo_InitInOutCells PipeSegmentInfo_InitPipeCells PIUInducesPlenumAir PIUnitHasMixer PlaneEquation PlantHalfLoopSolver PlantMassFlowRatesFunc PLRResidual PLRResidual PLRResidualMixedTank PLRResidualStratifiedTank PMVResidual POLY1F POLY2F POLYF polygon_contains_point_2d popStack pos PostIPProcessing POWER PreDefTableEntry PredictSystemLoads PredictZoneContaminants PreparePipeCircuitSimulation PrepDebugFilesAndVariables PreProcessorCheck PrepVariablesISO15099 PreScanReportingVariables PresProfile PressureCurveValue ProcessDataDicFile ProcessDateString ProcessEMSInput ProcessEPWHeader ProcessForDayTypes ProcessInput ProcessInputDataFile ProcessIntervalFields ProcessMinMaxDefLine ProcessNumber ProcessScheduleInput ProcessSurfaceVertices ProcessTokens ProduceMinMaxString ProduceMinMaxStringWStartMinute ProduceRDDMDD ProfileAngle PropagateResolvedFlow PStack PsyCpAirFnWTdb PsyHfgAirFnWTdb PsyHFnTdbRhPb PsyHFnTdbW PsyHgAirFnWTdb PsyPsatFnTemp PsyPsatFnTemp_raw PsyRhFnTdbRhov PsyRhFnTdbRhovLBnd0C PsyRhFnTdbWPb PsyRhoAirFnPbTdbW PsyRhovFnTdbRh PsyRhovFnTdbRhLBnd0C PsyRhovFnTdbWPb PsyTdbFnHW PsyTdpFnTdbTwbPb PsyTdpFnWPb PsyTsatFnHPb PsyTsatFnPb PsyTwbFnTdbWPb PsyTwbFnTdbWPb_raw PsyVFnTdbWPb PsyWFnTdbH PsyWFnTdbRhPb PsyWFnTdbTwbPb PsyWFnTdpPb psz Pt2Plane PullCompInterconnectTrigger PumpDataForTable PushBranchFlowCharacteristics PushInnerTimeStepArrays pushStack PushSystemTimestepHistories PushSystemTimestepHistories PushZoneTimestepHistories PushZoneTimestepHistories QsortC QsortPartition RadialCellInfo_XY_CrossSectArea RadialCellInformation_ctor RadialSizing_Thickness Rainflow RangeCheck RB_BEAM RB_DIFF RB_F RB_LWP RB_SWP rCheckDayScheduleValueMinMax rCheckScheduleValue rCheckScheduleValueMinMax1 rCheckScheduleValueMinMax2 ReadEnergyMeters ReadEPlusWeatherForDay ReadGeneralDomainInputs ReadHorizontalTrenchInputs ReadINIFile ReadInputLine ReadPipeCircuitInputs ReadPipeSegmentInputs ReadTableData ReadUserWeatherInput ReadWeatherForDay Real_ConstrainTo Real_IsInRange real_times_vector ReAllocateAndPreserveOutputVariablesForSimulation ReallocateIntegerArray ReallocateIVar ReallocateRealArray ReallocateRVar RealPreDefTableEntry RealToStr RecKeepHeatBalance RecordOutput RectangleF_Contains ReformEIRChillerCondInletTempResidual ReformEIRChillerHeatRecovery RegisterNodeConnection RegisterPlantCompDesignFlow RegulateCondenserCompFlowReqOp ReInitPlantLoopsAtFirstHVACIteration RemoveSpaces RemoveTrailingZeros reorder ReplaceBlanksWithUnderscores ReplaceBlanksWithUnderscores ReportAirflowNetwork ReportAirHeatBalance ReportAirLoopConnections ReportAirTerminalUserDefined ReportAndTestGlycols ReportAndTestRefrigerants ReportBaseboard ReportBaseboard ReportCBVAV ReportChillerIPLV ReportCoilUserDefined ReportCompSetMeterVariables ReportController ReportCoolBeam ReportCoolTower ReportCTFs ReportCWTankInits ReportDemandManagerList ReportDesiccantDehumidifier ReportDetailedIceStorage ReportDirectAir ReportDualDuct ReportDualDuctConnections ReportDuct ReportDXCoil ReportDXCoilRating ReportDYMeters ReportEarthTube ReportEconomicVariable ReportElectricBaseboard ReportEMS ReportEvapCooler ReportEvapFluidCooler ReportExteriorEnergyUse ReportFan ReportFanCoilUnit ReportFatalGlycolErrors ReportFatalRefrigerantErrors ReportFiniteDiffInits ReportFluidCooler ReportFluidHeatExchanger ReportForTabularReports ReportFurnace ReportGlass ReportHeatBalance ReportHeatingCoil ReportHeatRecovery ReportHighTempRadiantSystem ReportHRMeters ReportHumidifier ReportHWBaseboard ReportIllumMap ReportingFreqName ReportingThisVariable ReportInternalHeatGains ReportLoopConnections ReportLowTempRadiantSystem ReportMaxVentilationLoads ReportMeterDetails ReportMissing_RangeData ReportMixer ReportMNMeters ReportMoistureBalanceEMPD ReportMSHeatPump ReportNodeConnections ReportOAController ReportOAMixer ReportOrphanFluids ReportOrphanRecordObjects ReportOrphanSchedules ReportOutdoorAirUnit ReportOutputFileHeaders ReportParentChildren ReportPipesHeatTransfer ReportPIU ReportPlantProfile ReportPlantUserComponent ReportPlantValves ReportPondGroundHeatExchanger ReportPTUnit ReportPumps ReportPurchasedAir ReportPV ReportRackSystem ReportRefrigerationComponents ReportReturnAirPath ReportRuntimeLanguage ReportScheduleDetails ReportScheduleValues ReportSizingOutput ReportSMMeters ReportSolarCollector ReportSplitter ReportStandAloneERV ReportStandAloneWaterUse ReportSteamBaseboard ReportSteamCoil ReportSurfaceErrors ReportSurfaceGroundHeatExchngr ReportSurfaceHeatBalance ReportSurfaces ReportSurfaceShading ReportSys ReportSysSizing ReportSystemEnergyUse ReportThermalChimney ReportTowers ReportTSMeters ReportUnitarySystem ReportUnitHeater ReportUnitVentilator ReportVentilatedSlab ReportVRFCondenser ReportVRFTerminalUnit ReportWarmupConvergence ReportWaterCoil ReportWaterManager ReportWaterThermalTank ReportWaterUse ReportWeatherAndTimeInformation ReportWindowAC ReportWindTurbine ReportZoneAirLoopEquipment ReportZoneAirUserDefined ReportZoneDehumidifier ReportZoneEquipment ReportZoneEvaporativeCoolerUnit ReportZoneMeanAirTemp ReportZoneReturnPlenum ReportZoneSizing ReportZoneSupplyPlenum ResetAllPlantInterConnectFlags ResetController ResetEnvironmentCounter ResetHVACControl ResetNodeData ResetPerformanceCurveOutput ResetRootFinder ResetTerminalUnitFlowLimits ResetWeekDaysByMonth Resimulate resist ReSolveAirLoopControllers ResolveAirLoopFlowLimits ResolveLocationInformation ResolveLockoutFlags ResolveLoopFlowVsPressure ResolveParallelFlows ResolveSysFlow ReverseAndRecalculate RevertZoneTimestepHistories RevertZoneTimestepHistories RevisePlantCallingOrder RezeroZoneSizingArrays RhoH2O RHtoVP RKG RoundSigDigits rRoundSigDigits rTrimSigDigits SafeCopyPlantNode SafeDiv SafeDivide SameString SandiaCellTemperature SandiaEffectiveIrradiance SandiaF1 SandiaF2 SandiaImp SandiaIsc SandiaIx SandiaIxx SandiaModuleTemperature SandiaTcellFromTmodule SandiaVmp SandiaVoc SaveSimpleController ScanForReports ScanPlantLoopsForNodeNum ScanPlantLoopsForObject sCheckDayScheduleValueMinMax ScheduleAverageHoursPerWeek SEARCH SearchAscTable SearchWindow5DataFile SecantFormula SecantMethod selectTariff SetActuatedBranchFlowRate SetAdditionalNeighborData SetAllFlowLocks SetAllPlantSimFlagsToValue SetATMixerPriFlow SetATMixerPriFlow SetAverageAirFlow SetAverageAirFlow SetAverageAirFlow SetAverageAirFlow SetAverageAirFlow SetAverageAirFlow SetCoilDesFlow SetCoilSystemCoolingData SetCoilSystemHeatingDXFlag SetCompFlowRate SetComponentFlowRate SetCurrentWeather SetCurveOutputMinMaxValues SetDSTDateRanges SetDXCoilTypeData SetDXCoolingCoilData SetEquivalentLayerWindowProperties SetErlValueNumber SetExtConvectionCoeff SetFanData SetHeatExchangerData SetHeatToReturnAirFlag SetInitialMeterReportingAndOutputNames SetIntConvectionCoeff SetInternalVariableValue SetMinMax setNativeVariables SetNodeResult SetOAControllerData SetOnOffMassFlowRate SetOnOffMassFlowRate SetOnOffMassFlowRate SetOnOffMassFlowRateVSCoil SetOnOffMassFlowRateVSCoil SetOutAirNodes SetOutBulbTempAt SetPredefinedTables SetSimpleWSHPData SETSKY SetSpecialDayDates SetSpeedVariables SetStormWindowControl SetSurfHBDataForMundtModel SetSurfHBDataForTempDistModel SetSurfTmeanAir SETUP4x4_A SetupAdaptiveConvectionRadiantSurfaceData SetupAdaptiveConvectionStaticMetaData SetupAirLoopControllersTracer SetupAllOutputVariables SetUpAndSort SetupBranchControlTypes SetupCellNeighbors SetupCommonPipes SetupComplexFenestrationMaterialInput SetupComplexFenestrationStateInput SetupComplexWindowStateGeometry SetUpCompSets SetupDElightOutput4EPlus SetupDElightOutput4EPlus SetUpDesignDay SetupEMSActuator SetupEMSIntegerActuator SetupEMSIntegerInternalVariable SetupEMSInternalVariable SetupEMSLogicalActuator SetupEMSRealActuator SetupEMSRealInternalVariable SetupEnvironmentTypes SetupFuelConstituentData SetupGeneratorControlStateManager SetupIndividualControllerTracer SetupInitialPlantCallingOrder SetupIntegerOutputVariable SetupInterpolationValues SetupLoopFlowRequest SetupMeteredVarsForSetPt SetupMundtModel SetupNodeSetpointsAsActuators SetupNodeVarsForReporting SetupOutputVariable SetupPipeCircuitInOutCells SetupPlantEMSActuators SetupPollutionCalculations SetupPollutionMeterReporting SetupPossibleOperators SetupPrimaryAirSystemAvailMgrAsActuators SetupPumpMinMaxFlows SetupRealOutputVariable SetupRealOutputVariable_IntKey SetupReportInput SetupReports SetupRootFinder SetUpSchemeColors SetupShadeSurfacesForSolarCalcs SetupSimpleWindowGlazingSystem SetupSimulation SetupStratifiedNodes SetupSurfaceConstructionActuators SetupSurfaceConvectionActuators SetupSurfaceOutdoorBoundaryConditionActuators SetUpSysSizingArrays SetupTankDemandComponent SetupTankSupplyComponent SetupThermostatActuators SetupTimePointers SetupUnitConversions SetupWeekDaysByMonth SetupWindowShadingControlActuators SetupZoneEquipmentForConvectionFlowRegime SetupZoneGeometry SetupZoneInfoAsInternalDataAvail SetupZoneInternalGain SetupZoneInternalGain SetupZoneSizing SetUpZoneSizingArrays SetUTSCQdotSource SetVarSpeedCoilData SetVentedModuleQdotSource SetVSHPAirFlow SetVSHPAirFlow SetWindSpeedAt SetZoneEquipSimOrder shading shadingedge shadingin SHADOW SharedDVCVUFDataInit SHDBKS SHDGSS SHDRVL SHDSBS shift ShiftPipeTemperaturesForNewIteration ShiftPlantLoopSideCallingOrder ShiftTemperaturesForNewIteration ShiftTemperaturesForNewTimeStep ShowAuditErrorMessage ShowBranchesOnLoop ShowContinueError ShowContinueError ShowContinueErrorTimeStamp ShowContinueErrorTimeStamp ShowErrorMessage ShowErrorMessage ShowFatalError ShowFatalError ShowMessage ShowMessage ShowPsychrometricSummary ShowRecurringContinueErrorAtEnd ShowRecurringContinueErrorAtEnd ShowRecurringErrors ShowRecurringSevereErrorAtEnd ShowRecurringSevereErrorAtEnd ShowRecurringWarningErrorAtEnd ShowRecurringWarningErrorAtEnd ShowSevereError ShowSevereError ShowSevereMessage ShowSevereMessage ShowWarningError ShowWarningError ShowWarningMessage ShowWarningMessage showWarningsBasedOnTotal Sim4PipeFanCoil SimAirChillerSet SimAirLoop SimAirLoopComponent SimAirLoopComponents SimAirLoops SimAirLoopSplitter SimAirMixer SimAirTerminalUserDefined SimAirZonePlenum SimATMixer SimBaseboard SimBLASTAbsorber SimBoiler SimCBVAV SimCBVAV SimCentralGroundSourceHeatPump SimChiller SimCoilUserDefined SimComponentModelFan SimConstVol SimCoolBeam SimCostEstimate SimCTGenerator SimCTPlantHeatRecovery SimCyclingWindowAC SimDesiccantDehumidifier SimDetailedIceStorage SimDirectAir SimDistrictEnergy SimDualDuctConstVol SimDualDuctVarVol SimDualDuctVAVOutdoorAir SimDuct SimDXCoil SimDXCoilMultiMode SimDXCoilMultiSpeed SimDXCoolingSystem SimDXHeatPumpSystem SimElecBaseBoard SimElectricBaseBoard SimElectricConvective SimElectricEIRChiller SimEvapCooler SimEvapFluidCoolers SimExhaustAbsorber SimFanCoilUnit SimFluidCoolers SimFluidHeatExchanger SimFourPipeIndUnit SimFuelCellGenerator SimFuelCellPlantHeatRecovery SimFurnace SimGasAbsorber SimGroundHeatExchangers SimHeatPumpWaterHeater SimHeatRecovery SimHighTempRadiantSystem SimHPWatertoWaterCOOLING SimHPWatertoWaterHEATING SimHPWatertoWaterSimple SimHumidifier SimHVAC SimHWBaseboard SimHWConvective SimHXAssistedCoolingCoil SimICEngineGenerator SimICEPlantHeatRecovery SimIceStorage SimIndirectAbsorber SimIndUnit SimLowTempRadiantSystem SimMicroCHPGenerator SimMicroCHPPlantHeatRecovery SimMSHeatPump SimMSHP SimMTGenerator SimMTPlantHeatRecovery SimMultiSpeedCoils SimOAComponent SimOAController SimOAMixer SimOnOffFan SimOutdoorAirEquipComps SimOutdoorAirUnit SimOutsideAirSys SimOutsideEnergy SimPackagedTerminalUnit SimPipes SimPipesHeatTransfer SimPipingSystemCircuit SimPIU SimPlantEquip SimPlantValves SimpleCoolingCoilUAResidual SimpleEvapFluidCoolerUAResidual SimpleFluidCoolerUAResidual SimpleHeatingCoilUAResidual SimpleTowerApproachResidual SimpleTowerTrResidual SimpleTowerUAResidual SimPondGroundHeatExchanger SimPressureDropSystem SimPTUnit SimPumps SimPurchasedAir SimPVGenerator SimPVTcollectors SimReformulatedEIRChiller SimRefrigCondenser SimReturnAirPath SimSelectedEquipment SimSetPointManagers SimSimpleEvapFluidCooler SimSimpleFan SimSimpleFluidCooler SimSimpleTower SimSolarCollector SimStandAloneERV SimSteamBaseboard SimSteamBoiler SimSteamCoils SimSurfaceGroundHeatExchanger SimSysAvailManager SimTESCoil SimTowers SimTranspiredCollector SimulateAllInteriorRadialSoilSlices SimulateAllLoopSideBranches SimulateAllLoopSidePumps SimulateDemandManagerList SimulateDetailedRefrigerationSystems SimulateDetailedTransRefrigSystems SimulateDualDuct SimulateFanComponents SimulateFluidCell SimulateHeatingCoilComponents SimulateInnerMostRadialSoilSlice SimulateLoopSideBranchGroup SimulateOuterMostRadialSoilSlice SimulatePlantProfile SimulateRadialInsulationCell SimulateRadialPipeCell SimulateRadialToCartesianInterface SimulateSingleDuct SimulateSteamCoilComponents SimulateVRF SimulateWaterCoilComponents SimulateWaterHeaterStandAlone SimulateWaterUse SimulateWaterUseConnection SimUnitaryBypassVAV SimUnitarySystem SimUnitHeater SimUnitVentilator SimUnitVentOAMixer SimUserDefinedPlantComponent SimVariableSpeedCoils SimVariableSpeedHP SimVariableSpeedHP SimVariableTower SimVariableVolumeFan SimVAV SimVAVVS SimVentilatedSlab SimVentSlabOAMixer SimVRF SimVRFCondenserPlant SimWaterCoils SimWaterSource SimWaterThermalTank SimWatertoAirHP SimWatertoAirHPSimple SimWindowAC SimWindTurbine SimZoneAirLoopEquipment SimZoneAirUserDefined SimZoneDehumidifier SimZoneEquipment SimZoneEvaporativeCoolerUnit SimZoneExhaustFan SimZoneOutAirUnitComps SingelSpeedDXCoolingCoilStandardRatings SingleSpeedDXHeatingCoilStandardRatings SingleSpeedFluidCooler SizeAbsorpChiller SizeAirLoopBranches SizeAirLoops SizeBaseboard SizeBoiler SizeBoiler SizeCBVAV SizeConstCOPChiller SizeController SizeCoolBeam SizeDemandSidePlantConnections SizeDirectAir SizeDualDuct SizeDXCoil SizeElecReformEIRChiller SizeElectricBaseboard SizeElectricBaseboard SizeElectricChiller SizeElectricEIRChiller SizeEngineDrivenChiller SizeEvapCooler SizeEvapFluidCooler SizeExhaustAbsorber SizeFan SizeFanCoilUnit SizeFluidCooler SizeFluidHeatExchanger SizeFurnace SizeGasAbsorber SizeGTChiller SizeHeatingCoil SizeHeatRecovery SizeHighTempRadiantSystem SizeHumidifier SizeHVACWaterToAir SizeHWBaseboard SizeIndirectAbsorpChiller SizeIndUnit SizeLowTempRadiantSystem SizeMSHeatPump SizeOAController SizeOutdoorAirUnit SizePIU SizePlantLoop SizePTUnit SizePump SizePurchasedAir SizePVT SizeStandAloneERV SizeStandAloneWaterHeater SizeSteamBaseboard SizeSteamCoil SizeSupplySidePlantConnections SizeSys SizeTankForDemandSide SizeTankForSupplySide SizeTESCoil SizeTower SizeUCSDUF SizeUnitarySystem SizeUnitHeater SizeUnitVentilator SizeVarSpeedCoil SizeVentilatedSlab SizeVRF SizeVRFCondenser SizeVSMerkelTower SizeWaterCoil SizeWaterManager SizeWaterSource SizeWindowAC SizeWrapper SizeZoneDehumidifier SizeZoneEquipment SizeZoneEvaporativeCoolerUnit SkipEPlusWFHeader SkyDifSolarShading SkyGndWeight SkyWeight SLtoAMB SLtoGL SLVSKY solar_EN673 solarISO15099 SolarSprectrumAverage SOLMATS SolveAirLoopControllers SolveForWindowTemperatures SolveRegression SolveRegulaFalsi SolverMoistureBalanceEMPD SOLVZP SortHistory Specular_Adjust Specular_EstimateDiffuseProps Specular_F Specular_OffNormal Specular_RATDiff Specular_SWP SQLiteBegin SQLiteBegin SQLiteBindDouble SQLiteBindInteger SQLiteBindLogicalMacro SQLiteBindNULL SQLiteBindText SQLiteBindTextMacro SQLiteClearBindings SQLiteCloseDatabase SQLiteColumnInt SQLiteColumnIntMacro SQLiteCommit SQLiteCommit SQLiteExecuteCommand SQLiteExecuteCommandMacro SQLiteFinalizeCommand SQLiteOpenDatabase SQLiteOpenDatabaseMacro SQLitePrepareStatement SQLitePrepareStatementMacro SQLiteResetCommand SQLiteStepCommand SQLiteWriteMessage SQLiteWriteMessageMacro SQLiteWriteMessageMacro StandardIndexTypeKey StandardVariableTypeKey StartingWindowTemps StartingWinTempsForNominalCond SteamHeatingCoilResidual StorageType StoreAPumpOnCurrentTempLoop storeIterationResults StoreRecurringErrorMessage StringValue StrToReal SumAllInternalCO2Gains SumAllInternalConvectionGains SumAllInternalGenericContamGains SumAllInternalLatentGains SumAllInternalRadiationGains SumAllReturnAirConvectionGains SumAllReturnAirLatentGains SumHATsurf SumHATsurf SumHATsurf SumHATsurf SumHATsurf SumHATsurf SumInternalCO2GainsByTypes SumInternalConvectionGainsByTypes SumInternalLatentGainsByTypes SumInternalRadiationGainsByTypes SummarizeErrors SumReturnAirConvectionGainsByTypes SumZoneImpacts SUN3 SUN4 SupSATResidual SurfaceScheduledSolarInc SurveyDemandManagers SystemPropertiesAtLambdaAndPhi SystemSpectralPropertiesAtPhi TableLookupObject TARCOG90 TBND TdbFnHRhPb TDMA TDMA_R TellMeHowManyObjectItemArgs TemperaturesFromEnergy TempIPtoSI TempSItoIP terpld TESCoilHumRatResidual TESCoilResidual TestAirPathIntegrity TestBranchIntegrity TestCompSet TestCompSetInletOutletNodes TestInletOutletNodes TestReturnAirPathIntegrity TestSupplyAirPathIntegrity therm1d TightenNodeMinMaxAvails TimestepInitComplexFenestration TimestepTypeName TraceAirLoopController TraceAirLoopControllers TraceIndividualController TraceIterationStamp TrackAirLoopController TrackAirLoopControllers TRadC TransAndReflAtPhi TransformVertsByAspect TransTDD Triangulate TrimSigDigits TurnOffLoopEquipment TurnOffLoopSideEquipment TurnOffReportRangeCheckErrors TurnOnPlantLoopPipes TurnOnReportRangeCheckErrors TwoSpeedFluidCooler UnitarySystemHeatRecovery UpdateAbsorberChillerComponentGeneratorSide UpdateAirflowNetwork UpdateAirMixer UpdateAirSysCompPtrArray UpdateAirSysSubCompPtrArray UpdateAirSysSubSubCompPtrArray UpdateAirZoneReturnPlenum UpdateAirZoneSupplyPlenum UpdateAnyLoopDemandAlterations UpdateATMixer UpdateBaseboard UpdateBaseboardPlantConnection UpdateBasementSurfaceTemperatures UpdateBBElecRadSourceValAvg UpdateBBRadSourceValAvg UpdateBBSteamRadSourceValAvg UpdateBLASTAbsorberRecords UpdateBoilerRecords UpdateBoilerRecords UpdateBracket UpdateBranchConnections UpdateChillerComponentCondenserSide UpdateChillerheaterRecords UpdateChillerRecords UpdateColdWeatherProtection UpdateCommonPipe UpdateComplexWindows UpdateComponentHeatRecoverySide UpdateConstCOPChillerRecords UpdateController UpdateCoolBeam UpdateCoolTower UpdateCTGeneratorRecords UpdateDataandReport UpdateDemandManagers UpdateDesiccantDehumidifier UpdateDetailedIceStorage UpdateDualDuct UpdateDuct UpdateDXCoil UpdateElectricBaseboard UpdateElectricChillerRecords UpdateElectricEIRChillerRecords UpdateEMSTrendVariables UpdateEngineDrivenChiller UpdateEvapCooler UpdateEvapFluidCooler UpdateEvaporativeCondenserBasinHeater UpdateEvaporativeCondenserWaterUse UpdateExhaustAbsorberCoolRecords UpdateExhaustAbsorberHeatRecords UpdateExhaustAirFlows UpdateFan UpdateFinalSurfaceHeatBalance UpdateFluidCooler UpdateFluidHeatExchanger UpdateFuelCellGeneratorRecords UpdateGasAbsorberCoolRecords UpdateGasAbsorberHeatRecords UpdateGSHPRecords UpdateGSHPRecords UpdateGSHPRecords UpdateGTChillerRecords UpdateHalfLoopInletTemp UpdateHeatBalHAMT UpdateHeatingCoil UpdateHeatRecovery UpdateHighTempRadiantSystem UpdateHistories UpdateHistory UpdateHTRadSourceValAvg UpdateHumidifier UpdateHVACInterface UpdateHWBaseboard UpdateHWBaseboardPlantConnection UpdateIceFractions UpdateICEngineGeneratorRecords UpdateIndirectAbsorberRecords UpdateInternalGainValues UpdateIrrigation UpdateLoadCenterRecords UpdateLoopSideReportVars UpdateLowTempRadiantSystem UpdateMeterReporting UpdateMeters UpdateMeterValues UpdateMicroCHPGeneratorRecords UpdateMinMax UpdateMixedAirSetPoints UpdateMoistureBalanceEMPD UpdateMoistureBalanceFD UpdateMSHeatPump UpdateMTGeneratorRecords UpdateNode UpdateNodeThermalHistory UpdateOAController UpdateOAMixer UpdateOAPretreatSetPoints UpdatePipesHeatTransfer UpdatePipingSystems UpdatePlantLoopInterface UpdatePlantMixer UpdatePlantProfile UpdatePlantSplitter UpdatePlantValves UpdatePondGroundHeatExchanger UpdatePrecipitation UpdatePressureDrop UpdatePurchasedAir UpdatePVTcollectors UpdateRadSysSourceValAvg UpdateRecords UpdateReformEIRChillerRecords UpdateRefrigCondenser UpdateReportWaterSystem UpdateRootFinder UpdateScheduleValues UpdateSetPointManagers UpdateSimpleWatertoAirHP UpdateSoilProps UpdateSolarCollector UpdateSplitter UpdateSQLiteErrorRecord UpdateSQLiteErrorRecord UpdateSQLiteSimulationRecord UpdateSQLiteSimulationRecord UpdateSteamBaseboard UpdateSteamBaseboardPlantConnection UpdateSteamCoil UpdateSurfaceGroundHeatExchngr UpdateSys UpdateSysSizing UpdateSystemOutputRequired UpdateTabularReports UpdateTEStorage UpdateThermalHistories UpdateTowers UpdateTranspiredCollector UpdateUnitarySystemControl UpdateUtilityBills UpdateVarSpeedCoil UpdateVentilatedSlab UpdateVerticalGroundHeatExchanger UpdateVRFCondenser UpdateWaterCoil UpdateWaterConnections UpdateWaterManager UpdateWaterSource UpdateWaterThermalTank UpdateWaterToAirCoilPlantConnection UpdateWatertoAirHP UpdateWeatherData UpdateWholeBuildingRecords UpdateZoneAirLoopEquipment UpdateZoneCompPtrArray UpdateZoneDehumidifier UpdateZoneEquipment UpdateZoneInletConvergenceLog UpdateZoneListAndGroupLoads UpdateZoneSizing UpdateZoneSubCompPtrArray UpdateZoneSubSubCompPtrArray ValidateAndSetSysAvailabilityManagerType ValidateComponent ValidateDistributionSystem ValidateEMSProgramName ValidateEMSVariableName ValidateExhaustFanInput ValidateFlowControlPaths ValidateFuelType ValidateIndexType ValidateMaterialRoughness ValidateMonthDay ValidateNStandardizeMeterTitles ValidateObjectandParse ValidatePipeConstruction ValidatePLFCurve ValidateSection ValidateSectionsInput ValidateVariableType value_to_vector ValueToString VAVVSCoolingResidual VAVVSHCFanOnResidual VAVVSHWFanOnResidual VAVVSHWNoFanResidual VB_CriticalSlatAngle VB_DIFF VB_LWP VB_ShadeControl VB_SLAT_RADIUS_RATIO VB_SOL4 VB_SOL46_CURVE VB_SOL6 VB_SWP vec2d_cross_product vec2d_dot_product vec_cross_product vec_dot_product VecLength VecNegate VecNormalize VecRound VecSquaredLength vector_add vector_div_int vector_div_real vector_subtract vector_times_int vector_times_real vector_to_array VerifyControlledZoneForThermostat VerifyCustomMetersElecPowerMgr VerifyHeatExchangerParent VerifyName VerifySetPointManagers VerifyThermostatInZone VerifyUniqueBaseboardName VerifyUniqueBoilerName VerifyUniqueChillerName VerifyUniqueCoilName ViewFac VisibleSprectrumAverage Volume VRMLOut VSCoilCyclingHumResidual VSCoilCyclingResidual VSCoilCyclingResidual VSCoilSpeedHumResidual VSCoilSpeedResidual VSCoilSpeedResidual VSEvapUnitLoadResidual VSHPCyclingResidual VSHPCyclingResidual VSHPSpeedResidual VSHPSpeedResidual VSMerkelResidual W5InitGlassParameters W5LsqFit W5LsqFit2 W6CoordsFromWorldVect warnIfNativeVarname WetCoilOutletCondition WhichCompSet WhichParentCompSet WhichParentSet Width WindowGapAirflowControl WindowGasConductance WindowGasPropertiesAtTemp WindowHeatBalanceEquations WindowScheduledSolarAbs WindowShadingManager WindowTempsForNominalCond WindSpeedAt Windward WorldVectFromW6 WriteAdaptiveComfortTable WriteAirLoopStatistics WriteBEPSTable WriteCompCostTable WriteComponentSizing WriteCumulativeReportMeterData WriteDaylightMapTitle WriteDemandEndUseSummary WriteInputArguments WriteIntegerData WriteIntegerVariableOutput WriteMeterDictionaryItem WriteModifiedArguments WriteMonthlyTables WriteOutputArguments WriteOutputEN673 WritePoint WritePredefinedTables WriteRealData WriteRealVariableOutput WriteReportHeaders WriteReportIntegerData WriteReportMeterData WriteReportRealData WriteReportVariableDictionaryItem WriteRootFinderStatus WriteRootFinderTrace WriteRootFinderTraceHeader WriteSourceEnergyEndUseSummary writeSubtitle WriteSurfaceShadowing WriteTable WriteTableOfContents WriteTabularLifeCycleCostReport WriteTabularReports WriteTabularTariffReports WriteTARCOGInputFile writeTextLine WriteTimeBinTables WriteTimeStampFormatData WriteTrace WriteVeriSumTable WriteZoneLoadComponentTable WVDC XNormalArea XYRectangle XZRectangle YNormalArea YZRectangle ZeroHVACValues ZNormalArea