def simulate(self):
self.N = int(self.simTime.days * <NUM_LIT>)       <EOL>n = <NUM_LIT:0>                                      <EOL>self.ph = self.simTime.dt/<NUM_LIT>            <EOL>time = range(self.N)<EOL>self.WeatherData = [None for x in range(self.N)]<EOL>self.UCMData = [None for x in range(self.N)]<EOL>self.UBLData = [None for x in range(self.N)]<EOL>self.RSMData = [None for x in range(self.N)]<EOL>self.USMData = [None for x in range(self.N)]<EOL>print('<STR_LIT>'.format(<EOL>int(self.nDay), int(self.Month), int(self.Day)))<EOL>self.logger.info("<STR_LIT>")<EOL>for it in range(<NUM_LIT:1>, self.simTime.nt, <NUM_LIT:1>):  <EOL><INDENT>if self.nSoil < <NUM_LIT:3>: <EOL><INDENT>self.forc.deepTemp = sum(self.forcIP.temp)/float(len(self.forcIP.temp))<EOL>self.forc.waterTemp = sum(<EOL>self.forcIP.temp)/float(len(self.forcIP.temp)) - <NUM_LIT>      <EOL><DEDENT>else:<EOL><INDENT>self.forc.deepTemp = self.Tsoil[self.soilindex1][self.simTime.month-<NUM_LIT:1>]<EOL>self.forc.waterTemp = self.Tsoil[<NUM_LIT:2>][self.simTime.month-<NUM_LIT:1>]<EOL><DEDENT>self.simTime.UpdateDate()<EOL>self.logger.info("<STR_LIT>".format(<EOL>__name__, self.simTime.month, self.simTime.day, self.simTime.secDay/<NUM_LIT>, self.simTime.secDay))<EOL>self.ceil_time_step = int(math.ceil(it * self.ph))-<NUM_LIT:1><EOL>self.forc.infra = self.forcIP.infra[self.ceil_time_step]<EOL>self.forc.wind = max(self.forcIP.wind[self.ceil_time_step], self.geoParam.windMin)<EOL>self.forc.uDir = self.forcIP.uDir[self.ceil_time_step]          <EOL>self.forc.hum = self.forcIP.hum[self.ceil_time_step]<EOL>self.forc.pres = self.forcIP.pres[self.ceil_time_step]          <EOL>self.forc.temp = self.forcIP.temp[self.ceil_time_step]          <EOL>self.forc.rHum = self.forcIP.rHum[self.ceil_time_step]          <EOL>self.forc.prec = self.forcIP.prec[self.ceil_time_step]          <EOL>self.forc.dif = self.forcIP.dif[self.ceil_time_step]<EOL>self.forc.dir = self.forcIP.dir[self.ceil_time_step]<EOL>self.UCM.canHum = copy.copy(self.forc.hum)<EOL>self.solar = SolarCalcs(self.UCM, self.BEM, self.simTime,<EOL>self.RSM, self.forc, self.geoParam, self.rural)<EOL>self.rural, self.UCM, self.BEM = self.solar.solarcalcs()<EOL>if self.is_near_zero(self.simTime.julian % <NUM_LIT:7>):<EOL><INDENT>self.dayType = <NUM_LIT:3>                                        <EOL><DEDENT>elif self.is_near_zero(self.simTime.julian % <NUM_LIT:7> - <NUM_LIT>):<EOL><INDENT>self.dayType = <NUM_LIT:2>                                        <EOL><DEDENT>else:<EOL><INDENT>self.dayType = <NUM_LIT:1>                                        <EOL><DEDENT>self.UCM.sensAnthrop = self.sensAnth * (self.SchTraffic[self.dayType-<NUM_LIT:1>][self.simTime.hourDay])<EOL>for i in range(len(self.BEM)):<EOL><INDENT>self.BEM[i].building.coolSetpointDay = self.Sch[i].Cool[self.dayType -<EOL><NUM_LIT:1>][self.simTime.hourDay] + <NUM_LIT>  <EOL>self.BEM[i].building.coolSetpointNight = self.BEM[i].building.coolSetpointDay<EOL>self.BEM[i].building.heatSetpointDay = self.Sch[i].Heat[self.dayType -<EOL><NUM_LIT:1>][self.simTime.hourDay] + <NUM_LIT>  <EOL>self.BEM[i].building.heatSetpointNight = self.BEM[i].building.heatSetpointDay<EOL>self.BEM[i].Elec = self.Sch[i].Qelec * self.Sch[i].Elec[self.dayType -<EOL><NUM_LIT:1>][self.simTime.hourDay]      <EOL>self.BEM[i].Light = self.Sch[i].Qlight * self.Sch[i].Light[self.dayType -<EOL><NUM_LIT:1>][self.simTime.hourDay]    <EOL>self.BEM[i].Nocc = self.Sch[i].Nocc * self.Sch[i].Occ[self.dayType -<EOL><NUM_LIT:1>][self.simTime.hourDay]        <EOL>self.BEM[i].Qocc = self.sensOcc * (<NUM_LIT:1> - self.LatFOcc) * self.BEM[i].Nocc<EOL>self.BEM[i].SWH = self.Sch[i].Vswh * self.Sch[i].SWH[self.dayType -<EOL><NUM_LIT:1>][self.simTime.hourDay]          <EOL>self.BEM[i].building.vent = self.Sch[i].Vent<EOL>self.BEM[i].Gas = self.Sch[i].Qgas * self.Sch[i].Gas[self.dayType -<EOL><NUM_LIT:1>][self.simTime.hourDay]          <EOL>intHeat = self.BEM[i].Light + self.BEM[i].Elec + self.BEM[i].Qocc<EOL>self.BEM[i].building.intHeatDay = intHeat<EOL>self.BEM[i].building.intHeatNight = intHeat<EOL>self.BEM[i].building.intHeatFRad = (<EOL>self.RadFLight * self.BEM[i].Light + self.RadFEquip * self.BEM[i].Elec) / intHeat<EOL>self.BEM[i].building.intHeatFLat = self.LatFOcc *self.sensOcc * self.BEM[i].Nocc/intHeat<EOL>self.BEM[i].T_wallex = self.BEM[i].wall.layerTemp[<NUM_LIT:0>]<EOL>self.BEM[i].T_wallin = self.BEM[i].wall.layerTemp[-<NUM_LIT:1>]<EOL>self.BEM[i].T_roofex = self.BEM[i].roof.layerTemp[<NUM_LIT:0>]<EOL>self.BEM[i].T_roofin = self.BEM[i].roof.layerTemp[-<NUM_LIT:1>]<EOL><DEDENT>self.rural.infra = self.forc.infra - self.rural.emissivity * self.SIGMA *self.rural.layerTemp[<NUM_LIT:0>]**<NUM_LIT>    <EOL>self.rural.SurfFlux(self.forc, self.geoParam, self.simTime,<EOL>self.forc.hum, self.forc.temp, self.forc.wind, <NUM_LIT>, <NUM_LIT:0.>)<EOL>self.RSM.VDM(self.forc, self.rural, self.geoParam, self.simTime)<EOL>self.UCM, self.UBL, self.BEM = urbflux(<EOL>self.UCM, self.UBL, self.BEM, self.forc, self.geoParam, self.simTime, self.RSM)<EOL>self.UCM.UCModel(self.BEM, self.UBL.ublTemp, self.forc, self.geoParam)<EOL>self.UBL.UBLModel(self.UCM, self.RSM, self.rural,<EOL>self.forc, self.geoParam, self.simTime)<EOL>"""<STR_LIT>"""<EOL>self.logger.info("<STR_LIT>".format(self.UCM.canTemp-<NUM_LIT>))<EOL>if n > <NUM_LIT:0>:<EOL><INDENT>logging.info("<STR_LIT>".format(self.UCM.Tdp))<EOL>logging.info("<STR_LIT>".format(self.UCM.canRHum))<EOL><DEDENT>if self.is_near_zero(self.simTime.secDay % self.simTime.timePrint) and n < self.N:<EOL><INDENT>self.logger.info("<STR_LIT>".format(__name__, n))<EOL>self.WeatherData[n] = copy.copy(self.forc)<EOL>_Tdb, _w, self.UCM.canRHum, _h, self.UCM.Tdp, _v = psychrometrics(<EOL>self.UCM.canTemp, self.UCM.canHum, self.forc.pres)<EOL>self.UBLData[n] = copy.copy(self.UBL)<EOL>self.UCMData[n] = copy.copy(self.UCM)<EOL>self.RSMData[n] = copy.copy(self.RSM)<EOL>self.logger.info("<STR_LIT>".format(self.UCMData[n].canTemp-<NUM_LIT>))<EOL>self.logger.info("<STR_LIT>".format(self.UCMData[n].Tdp))<EOL>self.logger.info("<STR_LIT>".format(self.UCMData[n].canRHum))<EOL>n += <NUM_LIT:1><EOL><DEDENT><DEDENT>
Section 7 - uwg main section

            self.N                  # Total hours in simulation
            self.ph                 # per hour
            self.dayType            # 3=Sun, 2=Sat, 1=Weekday
            self.ceil_time_step     # simulation timestep (dt) fitted to weather file timestep

            # Output of object instance vector
            self.WeatherData        # Nx1 vector of forc instance
            self.UCMData            # Nx1 vector of UCM instance
            self.UBLData            # Nx1 vector of UBL instance
            self.RSMData            # Nx1 vector of RSM instance
            self.USMData            # Nx1 vector of USM instance