DOE-2.2 bug fixes through version -037b LOADS program */=== Fix some initialization bugs that caused GP faults when some types */=== of shading surfaces were in problem. */=== Also, make std. file pointer dump more readable. */=== [JJH 6/9/97] */=== allow consistant use of new default expressions */=== 1. use ZONE-FRACTION2 as the key to 2nd daylighting area rather */=== than looking for 2nd reference point fully specified. (BDL */=== now checks for 1st and 2nd point based upon DAYLIGHTING=YES */=== and ZONE-FRACTION2 >0., respectively) */=== 2. use PEOPLE-HEAT-GAIN if specified, to overwrite sens and lat */=== values for reporting as well as calc; before both were reported */=== as input but P-H-G overwrote without changing report values. */=== [JJH 7/2/97] */=== Fix bug in S-G infiltration calculation. The coeff's were getting */=== passed to HVAC as 0.0 due to their being moved (not equiv'ed) to */=== out of the same positions as the three residential coeff's */=== [JJH 1/27/98] */=== Fix problem in shading calculation for exterior wall polygons that have */=== adjacent verticies (1,2,3 or 2,3,4) that are collinear or don't exist. */=== This caused a divide by zero or strange results */=== [FCW/JJH 4/10/98] */=== now replace FFDIF code to use points 1,2,3 rather than 4,3,2 */=== A few modifications to allow TILT for external surfaces to */=== have a range from -180 to 180 rather than 0 to 180. These */=== changes only effect convection calc's as solar calc's must */=== use the relative positionally correct angles. */=== THERM and the various film resistance calculations use */=== the absolute value of TILT in the calculations; this has */=== the effect of reversing the top and bottom of the window for */=== the convection calc's which is required as those calc's use */=== correlations that assume the tilt is positive. */=== (The other way to do this would have been to remake the */=== walls at BDL output time, but this is VERY complex if there */=== are POLYGON wall shapes. This method will produce same */=== results for same wall input with different coord's and */=== TILT = n vs -n) */=== [6/30/99 JJH] */=== Use absolute value of TILT to determine if horizontal */=== For the THERM calculation use absolute value of TILT */=== For FILM2 use absolute as well */=== Fix debug print in THEM to send to output file not console */=== Fix bug in LOADS report LV-D. More than 500 spaces or walls */=== in a project caused a GP fault due to fixed dimensioned array */=== space being exceeded. Changed to 512 spaces and 2048 walls. */=== [6/27/98 JJH] */=== Remove call to MessageBox incorrectly left in this mod */=== Fix bug in LOADS LD-D report. Floor AZIMUTH and wall TILT were */=== not taken into account when calculating AZ's for report. If TILT */=== is <0 add 180 to AZ. Add FLOOR AZ always, if a FLOOR is there. */=== [JJH 3/6/99] */=== Allow building net area of zero by calculating total cond + */=== uncond area and setting gross/net area to it if net is zero. */=== [5/20/99 JJH] */=== Fix bug that prevented SPACE level reports if more than 64 SPACEs */=== are defined in LOADS. Caused either a GP Fault, unreliable */=== results, or the report generator to issue ERRORs. (From JJH 2.1E mods) */=== [JJH 7/15/99] */=== Fix big that causes totally bogus results in SYSTEMS (possible -nan */=== values for heat or cool loads) in a models with SUNPACE = YES. */=== The response factors that were being passed from LOADS to HVAC were */=== incorrect as the wall properties block has shifted due to the 4->8 */=== character name chage. Change this to always work by using edtt variable */=== rather than "hard coded" AA() references. */=== [JJH 7/24/99] */=== Fix bug that causes either GPF fault in LOADS the first hour sun is up */=== in a model with SUNPACE = YES in several adjacent spaces. */=== LOADS, during its setup in SPMISC, saves space to for solar factors */=== for each "common wall" (a STANDARD INTERNAL-WALL between a SUNSPACE */=== and non SUNSPACE) and each window on such an INTRENAL-WALL. LOADS also */=== converts specified SUNSPACEs with no common walls into non SUNSPACEs. */=== The problem arises when a specified SUNSPACE is changed into a */=== non-SUNSPACE; it may have INTERNAL-WALL that suddenly become */=== common walls after the count of common walls for the SUNSPACE is already */=== complete (when three SUNSPACES are adjacent, the third can become */=== a non-SUNSPACE and thus its walls/windows to the 2nd space become */=== common, but the saved space for the solar factors for the second */=== SUNSPACE have already been saved). Thus, later on during the LOADS */=== calculation of solar to each surface (IWSOL) the solar factors */=== for all walls in that sdecond SPACE as well as all following SPACES */=== are off by the number of "missed" walls/windows. */=== [JJH 7/23/99] */=== Add missing items to STNDFL pointer dump */=== Fix shading arrays and col-linear checking array to allow polygons to */=== have up to 60 verticies. Also allow up to 2048 SPACEs. */=== [JJH 7/5/2000] SYSTEMS program */=== fix bug in pipe/duct loss calc. if PIPE&DUCT-ZONE is not specified */=== incorrect pointer are used (0) to pick up values; this can cause */=== memory protection fault in DOS, GP fault in windows, or just bad */=== values for UA's (if it makes it past bad code) */=== [JJH 2/7/96] */=== change SDSF so that humidification is allowed at the same time cooling */=== is being done by the cooling coil. This assumes that the humidification */=== happens in the spaces (assume all spaces have humidifiers). */=== [JJH 9/95] */=== allow MAX-COND-RECVRY and MAX-HUMIDITY to work together in PSZ */=== systems. Also allow MAX-HUMIDITY to allow a heating requirement */=== to still cause cooling to be activated and find the supply temp */=== needed to meet the max-hum setpoint. (previously max-hum only */=== worked if the AHU was in the cooling mode). */=== [JJH 12/13/95] */=== fix bug that allowed air to become "super saturated" and thus cause */=== modifier functions to return negative or very large values for */=== EIR, Tot Cap, Sen Cap, BF. This caused an occational divide by 0 */=== abort or negative compressor electricals. */=== [JJH 3/15/96] */=== fix bug that allowed a divide by zero when dehumidification */=== was thought to be needed but turned out that the required */=== temp was .GE. TM (so not needed). */=== [JJH 6/6/96] */=== fix bug in calc of design CHW zone coil capacity - when COOL-CAPZ was */=== specified the calc of CHWCAP6544Z was skipped (for unitary systems). */=== This caused a divide by zero when TWO-WAY valves were specified */=== in fan coil and induction systems with cooling coils */=== [JJH 6/25/96] */=== fix bug in RESYS evaporative cooler - did not use correct CFM */=== depending on if in heat/evap cool/mech cool modes. Caused */=== the cooling by evap to always be based upon the SUPPLY-CFM */=== rather than the evap. cool flowrate. */=== [JJH 8/7/96] */=== improve the calculation for duct thermal losses */=== [sdg 3/28/97] */=== fix bug that prevented EXHAUST-FAN-SCH from working. Whenever */=== this schedule was specified the exhaust fan were always off */=== (asxs if the schedule was 0 always). No workaround. */=== [JJH 5/6/97] */=== prevent divide by zero when S-G natural vent is used and */=== a ZONE's SPACE has a negative Z value */=== [JJH 5/6/97] */=== 1. Fix bug in HP system - fan heat was not being added into mix air */=== temp calculation, for either the capacity estimation calc or the */=== unit energy calc, so heating was overestimated. No workaround. */=== 2. Correct latent calc to take into account compressor operation frac */=== so that HP and PTAC systems only remove latent during comp operation */=== fix more bugs in HP system */=== 1. when the OA-CONTROL was not set to FIXED bug caused */=== overcooling and thus added heating load. In the estimation */=== "iteration" of air temperatures to calc zone temp, the deadband mix */=== temperature did not account for dampers closing back to the */=== minimum position, so temp could be forced down into the heating */=== range rather than float. No workaround. */=== 2. during the second "iteration" (the energy calc) the wrong value */=== was used for the minimum OA damper position (used the first iteration */=== value rather than the real min pos. No workaround. */=== [JJH 7/4/97] */=== fix error in format for no report message */=== [JJH 9/10/97] */=== fix bug in HP system - when heating-capacity was specified it was */=== being set back to 0. because of an incorrect check of HEAT-SOURCE= */=== NONE (check was removed as HP always has heating). */=== [JJH 9/10/97] */=== fix bug in air handler systems - when preheat is present the maximum */=== supply temperature was being set incorrectly by not taking into account */=== the preheat coil thus the supply temperature could be too low. Usually */=== seen when fraction of OA was high so mixed air well below preheat temp. */=== or, when cooling is sched off since the past mix temp, used in */=== estimating conditions and limiting the min mix air temp was not */=== being set, so it was zero. */=== [WFB/JJH 9/10/97] */=== fix bug in refrigeration calculation - for EVAP-CONDENSER the */=== user specified value for REFG-PUMP-KW was being set to 0. but */=== if no user value was input, the default was calc'd correctly */=== [JJH 2/12/98] */=== Fix bug in SV-B that cause error during HVAC report process with */=== a read beyond record end (and messed up title of report) due to */=== SYSTEM having a wrong record length on the blank seperator line */=== between groups of five ZONE's output to report */=== [JJH 3/19/98] */=== Fix bug in PIU system ZONE simulation order sort - it sorted */=== all ZONEs rather than just the CONDITIONED ZONEs. */=== [JJH 3/20/98] */=== for dual fan DD system fix balancing calc to correctly calc hot */=== fan size when only cold fan size is specified. Also fix */=== hot fan sizing for CV systems so that hot fan is just sized for */=== heating peak not equal to cooling size. */=== [JJH 9/15/97] */=== bug in saving of min-cfm-ratio's for use by hrly schedules values (was */=== before balancing code, so user specified values were not used when */=== values for SUPPLY-CFM and HSUPPLY-CFM were re-calc'd during re-balance */=== or re-distribution of user specified fan sizes) */=== [JJH 9/15/97] */=== bug in desiccant add-on unit for HP system - humitidy control was */=== not activated as MAX-HUIMIDITY keyword not used (change BDLKEY also). */=== [JJH 9/15/97] */=== bug in RESVVT when heatpump is used for heating and supp heat is furnace */=== - the adjustment supplemental heat after call to FURNAC to move fuel from */=== heating to supp fuel was only moving part since the furnace routine did */=== not take into account the portion of the hour in heat mode. Thus heat */=== fuel was too high (double counting supp fuel). */=== [JJH 9/15/97] */=== fix bug in fan coil humidification - it was ignored if humidifier */=== was not hot water, and in the hot water case it was only counted */=== in last zone in the system */=== [JJH 9/15/97] */=== improve calc of coil temp depression for MAX-HUMIDITY control */=== for the case of single duct air handle with central heat recovery */=== or central heating coil (use code for existing case of dry coil */=== becomes wet due to MAX-HUMIDITY check) */=== [JJH 9/15/97] */=== allow OA-FROM-SYSTEM and RECOV-MODE to work together - the recovery */=== system uses OA-FROM-SYSTEM return air as the intake and then tries */=== to exchange heat between the two streams */=== [JJH 10/24/97] */=== improve the HAX-HUMIDITY override calc's in DKTEMP to correctly */=== know about movable OA dampers as well as coil BF changes as a */=== function of entering conditions and coil load */=== [JJH 10/25/97] */=== fix probelm with estimation of minimum supply temp (TCMIN) */=== It was using the past mix air temp as the value for the */=== mix air entering the coil for the TCMIN calc when the */=== TMMIN - min mix air temp for this hour - should be used. */=== This caused TCMIN to be to high in cases when the OA temp */=== was droping and the COOL-CAP was max'ed out due to undersizing */=== or oversize of SUPPLY-CFM (common in high humidity or humidity */=== control problem situations). */=== But we will not allow mechanical cooling below MIN-SUPPLY-T */=== minus 1/2 COOL-CTRL-RANGE (assume some lockout mechanism). */=== Also, replace use of (last hour OA system leaving abs. hum) */=== with WOA (this hour new estimate) in MAX-HUMIDITY control calc's */=== [JJH 10/26/97] */=== improve HAX-HUMIDITY override in PSZ SYSTEMS with MAX-COND-RCVRY */=== to correctly know that OA can be used for cooling. Previously */=== the MAX-HUMIDITY reset was done after the return/economizer */=== calc's, thus if OA could be increased to do cooling this was */=== missing and all cooling temp reset was with mechanical cooling. */=== [JJH 10/24/97] */=== fix MIN-SUPPLY-SCH bug - did not work correctly as the schedule */=== pointer was converted from # to ptr twice! */=== = IPTSCH(ITS,) */=== Change SDSF so that PCTON is in QCRUN (#155) and COOL-CLOSS-FPLR */=== is set (was only done for GHP/VSHP DX units). */=== [JJH 10/28/97] */=== Fix bug in design calc's for HP/PTAC system - they both wrongly */=== checked for CCoil-CHW delta T >6degF */=== [JJH 3/3/98] */=== fix entering wetbuld limit - move it up to 60 or ent. drybulb, */=== whichever is lower */=== Fix bug in COOL-CONTROL = WARMEST or RESET for single duct air-handlers */=== where the cooling supply temperature reset was not over-riding the */=== dampers opening in winter, thus the supply temperature was too low. */=== This was due to the THMAX (AHU max supply temp) not taking into account */=== that the reset could close the OA dampers and thus raise the mix temp */=== [JJH 3/18/98] */=== fix bugs related to duct losses in systems that cycle or have a */=== control zone - also when using RESVVT */=== [SDG 1/28/98] */=== mods for dual-duct/multizone constant volume mixing boxes - setpoint to be */=== midway between heating and cooling setpoint, throttling range spans the */=== setpoints */=== [SDG 5/12/98] */=== Fix bug in dual duct and multi-zone systems. If the SUPPLY-CFM */=== was specified then during the calc to distribute those CFM */=== to the ZONES the outside air requirement for ZONEs with an */=== ASSIGNED-CFM specified was ignore when calculating the new */=== total SYSTEM min outside air requirement used for the min OA */=== damper position. For cases where all ZONEs had ASSIGNED-CFM */=== specified, the OA then became 0 and no economizer was present. */=== [JJH 9/15/98] */=== Fix problems and improve the part load cooling coil performance */=== model. Could produce > saturation coil leaving conditions if */=== COIL-BF-FPLR was poor (like the default! which is also changed */=== from linear = PLR to linear = 1). Calc the CBF applying the */=== COIL-BF-FPLR to the design value (as described) to represent */=== performance for multi-circuit/compressor coils/units (so if */=== a single unit/circuit use 1.0 or close to this - by circuit */=== I mean controlled by a single value or compressor). Then */=== vary the operating CBF based upon the sensible preformance */=== of the coil (i.e., recalc CBF using Tsurf, TM, TC, where */=== Tsurf was calc'd with initial CBF). */=== [JJH 9/15/98] */=== Fix bug in XFC idents where IEND was changed to IAX, but */=== GETBUF was still used which resulted in IAX being incremented */=== twice. Use new routine GETAA (added in SIM) instead of GETBUF. */=== [JJH 9/17/98] */=== fix verification report-only to work */=== fix CURINV routine to use /FILES/ rather than unit numbers as */=== this does not work for windows */=== [JJH 11/12/98] */=== Fix bug that causes report program to die when writing */=== summary reports when a SYSTEM had ain illegal HEAT-SOURCE */=== equal to HEAT-PUMP (such as PMZS, DDS). */=== [JJH 12/28/98] */=== Fix bug that caused loop not to recognize heat/cool modes */=== correctly. Caused by plt/sys commons being out of sync */=== after GHLP subhour changes. */=== [SDG 2/3/99] */=== Fix bug that kept REPORT-ONLY option from working in SYSTEMS */=== due to it causing plant design calc's to be done twice. */=== [SDG 2/3/99] */=== Fix bug in model of air source heat pump combined with cycling */=== indoor fans - */=== the ontime fraction of the unit was always being calculated */=== using the combined supp+hp capacity rather than full runtime */=== with HP then adding supplemental heat (thus fan runtime was */=== underestimated.) */=== [JJH 3/10/99] */=== first - fix bugs in DKTEMP to get THMXNS (THMAX with no */=== supplemental heat) and THMIX (est. TM in heating) calc'd correctly */=== Allow PSZ ans SZRH to use central heating coil to reheat */=== after humidity control cooling coil. */=== [JJH 3/10/99] */=== Add auto sizing for baseboards. */=== First set it to LOADS/users peak SPACE load and set the SPACE */=== load used to size the air system to zero (this approximates */=== using skin loads to size baseboards in air systems). Then */=== after air system is sized, re-size baseboards to take into */=== account added/reduced capacity due to air supply temp to ZONE. */=== [JJH 3/20/99] */=== for zonal units recalc BB sizing based on air system requirement */=== don't calc max/min extraction of no AHU capability */=== for AHU's recalc BB sizing based on air system requirement */=== fix error/warning about too little ZONE heating capacity when */=== there is cold air supply system. */=== now also apply HEAT-SIZING-RAT */=== note: the application of HEAT/COOL-SIZING-RAT's is very */=== badly implmented - it is applied after all calc's are */=== done rather than during calc process. Thus most of the */=== extraction/addition rate calculations and design conditions */=== reported by SV-A and other design reports do not take this */=== sizing into effect. Needs to be corrected (don't hold */=== your breath for AEE to do it right.) */=== [JJH 3/20/99] */=== add BASEBOARD-RATING line to SV-A */=== Fix bug in CFM distribution when SUPPLY-CFM is specified and */=== DUCT-AIR-LOSS is also specified. The duct loss was not being */=== correctly recalculated based upon specified CFM; it was calc'd */=== using ratio of ZONE calc's without those being adjusted for */=== the specified losses. */=== [JJH 3/24/99] */=== Fix bug in air losses to unconditioned zones in RESVVT; losses */=== were double counted in DESIGN calculations */=== [JJH 3/24/99] */=== Fix bug in DESIGN OA calc in the case of DUCT-AIR-LOSS to an */=== unconditioned ZONE combined with specified SUPPLY-CFM. */=== After the recalc of ZONE cfm's using the calculated SUPPLY-CFM, */=== the OA fraction was not adjusted for the duct air loss (which */=== is made up with OA. */=== [JJH 3/24/99] */=== Fix design calc bug for DUCT-AIR-LOSS and HDUCT-AIR-LOSS when the */=== loss ZONE is a PLENUM; the return CFM was adjusted for losses but */=== the return temperature did not contain a term for the loss CFM times */=== the supply temperature. Thus the heat/cool design return temp was */=== wrong and coils under (cooling) or over (heating) sized. */=== [JJH 3/24/99] */=== Fix problem in cooling coil sizing calculations for all systems. */=== If the LOADS passed OA temp at the time of the cooling peak */=== causes a design mixed air temperature that is below the */=== MIN-SUPPLY-T a negative cooling capacity results. This */=== is changed to result in a zero cooling capacity. */=== Another possibility for a similar error arises from the simple */=== correction applied to cooling capacity (total and/or sensible) */=== for packaged DX equipment; a (tm-80)*CFM*(1-CBF) factor applied */=== could cause the capacity to go negative. This is also prevented */=== [JJH 3/30/99] */=== Fix auto sizing calculation for heat pumps - Calc that */=== checked that heating and cooling capacities agreed with each */=== other (same compressor for both thus capacities are related) */=== was incorrectly resetting the heating capacity in many cases */=== [JJH 3/31/99] */=== Fix problem with minimum supply air temperature not taking into */=== account the fan temperature rise; so low limit is really */=== MIN-SUPPLY-T - SUPPLY-DELTA-T - (1/2) x COOL-CTRL-RANGE */=== [JJH 4/03/99] */=== Fix problem in DKTEMP prediction of zone air flows used to */=== estimate min/max supply temperature range prior to setting */=== AHU supply setpoint. For SD VAV systems, zones in heating mode */=== were using heating max flow time min flow ratio rather than */=== box max flow. For non-reverse action thermostats this double */=== multiplied by the min as max heating flow is the min flow. */=== [JJH 4/03/99] */=== Fix bug in DKTEMP calculation of minimum mix air temp. It had */=== included fan heat even if fan was DRAW-THROUGH, thus the fan */=== heat was being added twice to this value. */=== [JJH 4/03/99] */=== Also, remove fan heat, if appropriate, from saved coil EDB */=== and don't double count it in DualDuct system supply air */=== [JJH 4/03/99] */=== add the supply and return fan temp rise to hourly reports */=== [JJH 4/03/99] */=== change TPFC/FPFC to FC and TPIU/FPIU to IU in reports */=== Change TERMINAL-TYPE = STD-VAV to be 0 rather than 1 so that the */=== keyword can be unused for most system types. */=== [JJH 5/10/99] */=== Allow humidifier to attach to hw or steam loop */=== [SDG 6/5/99] */=== Fix bug in DOUBLE routine that did not allow baseboard loads to */=== flow on to their circulation loop */=== [SDG 6/10/99] */=== Fix bug in HTPUMP routine that did not allow baseboard loads to */=== flow on to their circulation loop */=== [SDG 6/10/99] */=== Allow a difference between a BASEBOARD-RATING as unspecified and 0. */=== 0. means no baseboard, unspecified (-66666./unfilled) means auto size */=== [JJH 6/10/99] */=== Fix terminal-type PIU bug added in -034 (change line back) */=== Fix recalc of maximum addition rate to include reheat coils */=== Split some reheat coil debugging output so seen for electric reheat */=== Fix some delta T warnig messages - make heating dT correct for */=== systems with reheat coils. Don't do cooling message for heating */=== only systems or heating message for cooling systems. */=== Remove extra header in SV-B */=== [JJH 7/9/99] */=== Allow MIN-OA-METHOD to choose using either a FRAC-OF-DESIGN flow */=== or FRAC-OF-HOURLY flow as the definition of the min OA specification */=== [JJH 7/9/99] */=== Activate HEAT-CONTROL for VAVS, RHFS, PVAVS, PIU when COOL-CONTROL */=== is WARMEST. The will be used to all the AHU to optionally perform */=== heating in the case that WARMEST finds no ZONE requiring cooling. */=== [JJH 7/9/99] */=== Fix problem introduced in -034 for single zone systems (PSZ, SZRH) */=== where the estimated maximum heating temperature was way low due */=== to the use of the TC value for heating coil enerting temperature. */=== For single zone systems TC is 0 as it is unused. */=== [JJH 7/27/99] */=== Fix problem introduced in -034 for DUCT-AIR-LOSS in VAV systems */=== where the design return air heating temperature was way low due */=== to the use of RCFM rather than RCFMH when calculating it. */=== [JJH 7/31/99] */=== Fix bug that in the distribution of ZONE loads/cfm to the */=== five minute bins that caused a divide by zero in the case */=== where outdoor reset baseboards are on but fan are off; the */=== code did not regognize that there was no current heat/cool */=== thermostat setpoint of throttling range, but tried to divide */=== by the THR. Changed to check for current setpoints and if */=== none active assume ZONE is "floating." */=== [JJH 7/18/99] */=== Make some debugging output more readable */=== [JJH 7/19/99] */=== Check for bad SSFCOR calculations; if dT > 20 deg issue message and */=== don't use the value. This allows simulation to continue without */=== totally bogus results if something is wrong with calculation. */=== [JJH 7/23/99] */=== Fix SV-A report to know about baseboard line */=== [JJH /7/23/99] */=== Fix some design calculations related to reheat coil availability. */=== Not all sizing calculations used ZONE level value. */=== [JJH /7/23/99] */=== Fix design AHU heat coil discharge temperature being incorrect when */=== no central heat coil or preheat coil was requested */=== [JJH /7/23/99] */=== Remove incorrect reset of MAX-SUPPLY-T that happened when it was */=== not specified (=0. really) and also REHEAT-DELTA-T was not specified */=== [JJH /7/23/99] */=== Fix problem which caused incorrect "insufficient heating capacity" */=== message for SYSTEM TYPEs with reheat coils in many cases - the */=== message was issued because the maximum addition rate was not */=== being recalculated once the reheat coil flow and capacity */=== was calculated, but rather later after the bogus warning was already */=== issued. Also, don't touch for PIU non STD-VAV boxes; it */=== may be used later to size box fans. */=== [JJH 7/24/99] */=== Fix the parenthsis error in dT messages from -035 */=== enlarge dT format width in ERROR message */=== Improve reheat coil capacity calculation during rebalance when */=== SUPPLY-CFM has been specified */=== [JJH /7/24/99] */=== For warnings about "insufficient heating capacity" add note that */=== this comes from a comparison of heapacity requirements found */=== on LS-A and LS-B from the LOADS calculation. */=== [JJH 7/24/99] */=== Improve ZONE DESIGN extraction calculation when then central AHU */=== HEATING-CAPACITY has been specified */=== [JJH /7/24/99] */=== Add call to collect fan part load information for PIU SYSTEM */=== [JJH 7/24/99] */=== Fix some PIU box design calculations (routine DESPIU) problems: */=== - change warnings to be more specific */=== - correct SERIES box sizing - reheat coils are in box outlet */=== - save correct dT EAT-EWT */=== - correct PARALLEL sizing - remove SQRT() formulation */=== and use the min flow/sqft for heating as over ride */=== [JJH 7/24/99] */=== Fix problems in PIU system design and hourly calculations. */=== In sizing: */=== 1) problem where the DUCT-AIR-LOSS was not included */=== 2) problem when INDUCED-AIR-ZONE is itself */=== 3) detect that more air is induced from a ZONE than */=== is being supplied to that ZONE and issue aWARNING */=== then change all the ZONE that reference itto */=== induce air from themselves. */=== In hourly calc: */=== 1) in DKTEMP the DUCT-AIR-LOSS was not included */=== 2) DKTEMP/PIU problem when INDUCED-AIR-ZONE is itself */=== 3) in DKTEMP/PIU QL and Cinf did not account for exhaust */=== [JJH 7/28/99 revised 8/6/99] */=== Fix bug in report SS-R where its information was not always */=== being saved */=== [SDG 8/6/99] */=== Allow PIU system with a single ZONE; this is allowed now */=== since a PIU can induce from the local ZONE */=== [JJH 8/22/99] */=== Correct bug in -036 where PIU ZONE reorder did not skip uncond/plen ZONEs */=== [JJH 1/31/2000] */=== Fix bug in PIU PARALLEL box code where the zone box fan on fraction */=== was not being properly reflected into the box flow. This was a problem */=== in DKTEMP estimates as well as PIU hourly calc. Also, fix problem */=== where ZONE fan setpoint was allowed to be less than the heating setpoint. */=== [JJH 2/9/2000] */=== Fix some code that could potentially cause / by zero */=== [JJH 2/10/2000] */=== Fix bug that prevented heat recovery from working in HP systems */=== since RCFM was not set; this made recovery routine think there */=== was no return flow (all exhausted.) */=== [JJH 4/12/2000] */=== Fix bug in SV-B for PIU system that caused record size exceeds */=== maximum if SV-B was requested and the ZONEs in the report could */=== not fit on a single page (the page eject command to the report */=== generator was incorrect.) */=== [JJH 4/13/00] */=== Prevent divide by zero when refrigeration is specified */=== but not for the first temperature range. */=== [JJH 5/11/2000] */=== Correct bug in sunspace venting where it could not work */=== because variables in common were initialzed in SSFCOR */=== as data statements but set to 0. in inits */=== [JJH 8/23/2000] */=== Fix bug in heat recovery. When scheduled value is less than -1, which */=== indicates a cooling or heating recovery is wanted, only heat recovery */=== is actually done due to an error in the IF statement not checking for */=== an ABS(dT) rather than just dT. */=== [JJH 8/21/2000] */=== Prevent divide by zero when */=== Fix bug(s) that caused divide by zero in single duct no PIU air */=== handler design calc's when either no reheat coil is present and */=== a zone D-H-T is equal to the AHU MAX-S-T or when a reheat coil */=== is present but the Min-S-T equals the D-C-T plus R-D-T */=== [JJH 8/22/00] */=== Fix bug when there are any SUNSPACE=YES spaces. This caused all results */=== to be susspect as the pointer to the first zone ZP1 block for any SYSTEM */=== could get reset to the one for the SYSTEM within which the space on the */=== ther side of an internal-wall was located. */=== [JJH 8/23/2000] PLANT program */=== fix a bug in the dhw routines where they didn't initialize the operating */=== capacity correctly */=== [SDG 10/1/97] */=== revise reports PS-E and PS-F to include the end-use consumption at */=== the total peak */=== [SDG 4/13/98] */=== fix bug in heat-rejection routines - not working properly in some */=== situations where flow was non-zero, but there was no load */=== [SDG 5/12/98] */=== Fix bug in interior/exterior-kw keywords in METER commands - */=== if value for any one is 0 HVAC causes a GP Fault. This is because */=== if KW is zero the schedule value is not converted to a schedule ptr */=== [JJH 2/25/98] */=== Fix bug in PLANT that caused simulation bomb with invalid file */=== unit number - in planti code was using the variable ICTRL for */=== a misc. variable, but that is also the CTRL file unit number */=== variable, so when it got set to 0 or -1 ... bomb */=== [3/19/98 JJH] */=== replace GETBUF as it incremented IAX twice */=== [JJH 9/17/98] */=== Fix loop capacity ratio problem - don't use capacity ratio <1 */=== if loop was ON previous hour and FLOATING */=== [SDG 11/9/98] */=== Fix bug in cooling tower design routine - was using wrong variable */=== and had not yet been set. */=== [11/10/98 SDG] */=== Fix bug in cooling tower design routine - was using tower-side */=== flow instead of loop-side flow - the two may be different when */=== using a heat-exchanger. */=== [11/10/98 SDG] */=== Fix bug in PlantReports that caused the monthly values in the PS-H */=== report for steam and chw meters to be incorrect. */=== [11/16/98 SDG] */=== Force loop into floating mode if the net change in loop temperature */=== due to a load is less than 0.01F */=== [SDG 1/14/99] */=== Air-cooled chiller fan power was calculated, but not summed into */=== output variable and thus never got to any meter. */=== Also modify so used identically to EIR */=== [SDG 1/18/99 SDG] */=== Fix CHW flow sizing for CHW coil in ZONEs for IU system types */=== - they were set to zero (actually, never calculated.) */=== [JJH 2/2/99] */=== Fix 2-pipe loop bug - cannot work as program always thinks */=== both heat and cool are on due to initialization error. */=== [JJH 3/3/99] */=== Fix 2-pipe loop bug - loop capacity ratios were not being set */=== properly during the changeover hours. The result is that cooling */=== cooling would be disabled. */=== [SDG 3/3/99] */=== Fix 2-pipe loop bug - some zonal coil design dTs were using system */=== level value instead of zone level value. */=== [SDG 3/3/99] */=== Cooling tower pan heater bug - a design flow was being calculated */=== for an electric pan heater, producing a divide by zero */=== [SDG 3/3/99] */=== Cooling tower pan heater bug - TWRaux was not being zeroed hourly, */=== causing electric pan heat to continuously increase over the hours */=== [SDG 3/3/99] */=== Bug - The design calcs were failing to multiply zonal condenser */=== loads by the zone multiplier, resulting in undersized equipment */=== [SDG 3/22/99] */=== Bug - Statistics generated a divide by zero during hours when a */=== WLHP switched from heating to cooling, but an overload from the */=== previous heating hour forced the loop to remain in the heating */=== mode. */=== [SDG 3/22/99] */=== Include heating effect of pump heat in check of heating capacity */=== vs. secondary loads. Not a bug, but reduces the number of */=== times a design warning is issued. */=== [SDG 3/22/99] */=== When sizing equipment, add additional checks to ensure that the */=== loop's flow requirements are met in addition to the load */=== requirements */=== [SDG 3/22/99] */=== Add pump VFD loss calculations */=== [SDG 3/22/99] */=== Remove a # sign from a couple of edtt variables for compatibility */=== with new UpdateX */=== [SDG 3/22/99] */=== Fix bug in DRY-COOLER and FLUID-COOLER that causes a X**Y, X<0 and */=== Y not interger. To fix, remove CW sub-hour temperature swing. */=== [SDG 3/27/99] */=== A primary equipment load such as a charging load from thermal storage */=== or an absorption chiller demanding heat could not activate a loop */=== operating in the STANDBY mode. Loads would be met only if the airside */=== standby flags were set. */=== [SDG 4/5/99] */=== Ident GLHX1 introduced a bug whereby the EQUIP-CTRL routine failed to */=== properly allocate load between a storage tank and other equipment when */=== the new keyword PRORATE-LOAD = NO. */=== [SDG 4/21/99] */=== Force LOOP-LOCATION to be 0 if no loop thermal loss. Since the code */=== uses this value as a flag for thermal losses, and the user can */=== override the default expression, force the location to be zero if */=== no thermal losses. */=== [SDG 4/21/99] */=== Add internal aquastat to dw heaters, allow curves to be active at */=== zero net load, prevent negative part-load ratios when a DHW */=== circulation-loop temperature setpoint is ever reset downwards */=== [SDG 6/5/99] */=== Allow humidifier to attach to hw or steam loop */=== [SDG 6/5/99] */=== Fix bug in FC system when COOLING-CAPACITY is specified that causes */=== a divide by zero. Plant tries to connect a loop when this is just */=== a way of specifying a global ZONE coil size. */=== [JJH 6/10/99] */=== Fix bug PLANT that can cause a divide by zero. Check for a LOOP */=== having at least one supplier is incorrect in that and CHW/steam */=== meter is counted as a supplier for all CHW/HW loops. Change check to */=== look for CHW/STEAM meter connected to a particular loop. */=== [JJH 6/11/99] */=== Fix bug where very small secondary loop loads may not be */=== passed on correctly to the primary loop */=== [SDG 6/10/99] */=== Not a bug - just line up things better */=== [SDG 6/10/99] */=== Secondary loops sometimes get stuck in a mode where they have a */=== capacity ratio significantly less than their primary loop */=== [SDG 6/10/99] */=== If PrimaryEquip uses an EQUIP-CTRL to allocate load, but the load */=== must be reallocated based on flow, the default flow allocation */=== was incorrect when reusing last hour's equipment mix */=== [SDG 6/10/99] */=== When using an EQUIP-CTRL to allocate a load, warn if resulting */=== flow requirements cannot be met, and program is going to use the */=== default allocation routine. */=== [SDG 6/10/99] */=== Warn when equipment is so small that it can never be used by itself */=== because the minimum loop flow requirements are larger */=== [SDG 6/10/99] */=== When heating loops are simulated with no losses, do not allow */=== pump heat to drive loop to an unrealistically high temperature */=== when loads are small */=== [SDG 6/10/99] */=== No bug, just clean up the logic */=== [SDG 6/10/99] */=== The loop control mode was not being handled correctly between primary */=== and secondary loops. A secondary loop could force its primary off, */=== even when there were loads on the primary and/or other secondaries. */=== [SDG 7/15/99] */=== In the drycooler, an extremely small load could result in a range */=== so small that roundoff errors can produce a divide by zero */=== [SDG 11/24/99] */=== Bug - Pipe losses to ground failed to convert the ground */=== temperature from Rankine to Fahrenheit. Same w/ scheduled */=== ground-loop heat-exchanger. */=== [SDG 3/10/00] */=== Bug - Allow user-specified pipe loss dT to be either positive or */=== negative and still work */=== [SDG 3/12/00] */=== Bug - The pump routine called with zero operating time could */=== divide by zero */=== [SDG 3/12/00] */=== Prevent mis-estimated pipe loss from causing the loop temperature */=== to float past the environmental temperature */=== [SDG 3/12/00] */=== When multiple pumps on a loop are overloaded, the Pump routine was */=== not taking the number of pumps into account when recalculating the */=== balance point. */=== [SDG 4/12/00]