ConstructionData Derived Type

type, public :: ConstructionData

type~~constructiondata~~InheritsGraph type~constructiondata ConstructionData BSDFWindowInputStruct BSDFWindowInputStruct BSDFWindowInputStruct->type~constructiondata BSDFInput
Help


Name TotLayers TotSolidLayers TotGlassLayers LayerPoint IsUsed InsideAbsorpVis OutsideAbsorpVis InsideAbsorpSolar OutsideAbsorpSolar InsideAbsorpThermal OutsideAbsorpThermal OutsideRoughness DayltPropPtr W5FrameDivider CTFCross CTFFlux CTFInside CTFOutside CTFSourceIn CTFSourceOut CTFTimeStep CTFTSourceOut CTFTSourceIn CTFTSourceQ CTFTUserOut CTFTUserIn CTFTUserSource NumHistories NumCTFTerms UValue SolutionDimensions SourceAfterLayer TempAfterLayer ThicknessPerpend AbsDiffIn AbsDiffOut AbsDiff BlAbsDiff BlAbsDiffGnd BlAbsDiffSky AbsDiffBack BlAbsDiffBack AbsDiffShade AbsDiffBlind AbsDiffBlindGnd AbsDiffBlindSky AbsDiffBackShade AbsDiffBackBlind ShadeAbsorpThermal AbsBeamCoef AbsBeamBackCoef AbsBeamShadeCoef TransDiff BlTransDiff BlTransDiffGnd BlTransDiffSky TransDiffVis BlTransDiffVis ReflectSolDiffBack BlReflectSolDiffBack ReflectSolDiffFront BlReflectSolDiffFront ReflectVisDiffBack BlReflectVisDiffBack ReflectVisDiffFront BlReflectVisDiffFront TransSolBeamCoef TransVisBeamCoef ReflSolBeamFrontCoef ReflSolBeamBackCoef tBareSolCoef tBareVisCoef rfBareSolCoef rfBareVisCoef rbBareSolCoef rbBareVisCoef afBareSolCoef abBareSolCoef tBareSolDiff tBareVisDiff rfBareSolDiff rfBareVisDiff rbBareSolDiff rbBareVisDiff afBareSolDiff abBareSolDiff FromWindow5DataFile W5FileMullionWidth W5FileMullionOrientation W5FileGlazingSysWidth W5FileGlazingSysHeight SummerSHGC VisTransNorm SolTransNorm SourceSinkPresent TypeIsWindow WindowTypeBSDF TypeIsEcoRoof TypeIsIRT TypeIsCfactorWall TypeIsFfactorFloor TCFlag TCLayer TCMasterConst TCLayerID TCGlassID CFactor Height FFactor Area PerimeterExposed ReverseConstructionNumLayersWarning ReverseConstructionLayersOrderWarning BSDFInput WindowTypeEQL EQLConsPtr AbsDiffFrontEQL AbsDiffBackEQL TransDiffFrontEQL TransDiffBackEQL

Source Code


Components

TypeVisibility AttributesNameInitial
character(len=MaxNameLength), public :: Name =' '
integer, public :: TotLayers =0
integer, public :: TotSolidLayers =0
integer, public :: TotGlassLayers =0
integer, public :: LayerPoint(MaxLayersInConstruct) =0
logical, public :: IsUsed =.false.
real(kind=r64), public :: InsideAbsorpVis =0.0d0
real(kind=r64), public :: OutsideAbsorpVis =0.0d0
real(kind=r64), public :: InsideAbsorpSolar =0.0d0
real(kind=r64), public :: OutsideAbsorpSolar =0.0d0
real(kind=r64), public :: InsideAbsorpThermal =0.0d0
real(kind=r64), public :: OutsideAbsorpThermal =0.0d0
integer, public :: OutsideRoughness =0
integer, public :: DayltPropPtr =0
integer, public :: W5FrameDivider =0
real(kind=r64), public :: CTFCross(0:MaxCTFTerms-1) =0.0D0
real(kind=r64), public :: CTFFlux(MaxCTFTerms-1) =0.0D0
real(kind=r64), public :: CTFInside(0:MaxCTFTerms-1) =0.0D0
real(kind=r64), public :: CTFOutside(0:MaxCTFTerms-1) =0.0D0
real(kind=r64), public :: CTFSourceIn(0:MaxCTFTerms-1) =0.0D0
real(kind=r64), public :: CTFSourceOut(0:MaxCTFTerms-1) =0.0D0
real(kind=r64), public :: CTFTimeStep
real(kind=r64), public :: CTFTSourceOut(0:MaxCTFTerms-1) =0.0D0
real(kind=r64), public :: CTFTSourceIn(0:MaxCTFTerms-1) =0.0D0
real(kind=r64), public :: CTFTSourceQ(0:MaxCTFTerms-1) =0.0D0
real(kind=r64), public :: CTFTUserOut(0:MaxCTFTerms-1) =0.0D0
real(kind=r64), public :: CTFTUserIn(0:MaxCTFTerms-1) =0.0D0
real(kind=r64), public :: CTFTUserSource(0:MaxCTFTerms-1) =0.0D0
integer, public :: NumHistories =0
integer, public :: NumCTFTerms =0
real(kind=r64), public :: UValue =0.0d0
integer, public :: SolutionDimensions =0
integer, public :: SourceAfterLayer =0
integer, public :: TempAfterLayer =0
real(kind=r64), public :: ThicknessPerpend =0.0d0
real(kind=r64), public :: AbsDiffIn =0.0d0
real(kind=r64), public :: AbsDiffOut =0.0d0
real(kind=r64), public :: AbsDiff(MaxSolidWinLayers) =0.0d0
real(kind=r64), public :: BlAbsDiff(MaxSolidWinLayers,MaxSlatAngs) =0.0d0
real(kind=r64), public :: BlAbsDiffGnd(MaxSolidWinLayers,MaxSlatAngs) =0.0d0
real(kind=r64), public :: BlAbsDiffSky(MaxSolidWinLayers,MaxSlatAngs) =0.0d0
real(kind=r64), public :: AbsDiffBack(MaxSolidWinLayers) =0.0d0
real(kind=r64), public :: BlAbsDiffBack(MaxSolidWinLayers,MaxSlatAngs) =0.0d0
real(kind=r64), public :: AbsDiffShade =0.0d0
real(kind=r64), public :: AbsDiffBlind(MaxSlatAngs) =0.0d0
real(kind=r64), public :: AbsDiffBlindGnd(MaxSlatAngs) =0.0d0
real(kind=r64), public :: AbsDiffBlindSky(MaxSlatAngs) =0.0d0
real(kind=r64), public :: AbsDiffBackShade =0.0d0
real(kind=r64), public :: AbsDiffBackBlind(MaxSlatAngs) =0.0d0
real(kind=r64), public :: ShadeAbsorpThermal =0.0d0
real(kind=r64), public :: AbsBeamCoef(MaxSolidWinLayers,6) =0.0d0
real(kind=r64), public :: AbsBeamBackCoef(MaxSolidWinLayers,6) =0.0d0
real(kind=r64), public :: AbsBeamShadeCoef(6) =0.0d0
real(kind=r64), public :: TransDiff =0.0d0
real(kind=r64), public :: BlTransDiff(MaxSlatAngs) =0.0d0
real(kind=r64), public :: BlTransDiffGnd(MaxSlatAngs) =0.0d0
real(kind=r64), public :: BlTransDiffSky(MaxSlatAngs) =0.0d0
real(kind=r64), public :: TransDiffVis =0.0d0
real(kind=r64), public :: BlTransDiffVis(MaxSlatAngs) =0.0d0
real(kind=r64), public :: ReflectSolDiffBack =0.0d0
real(kind=r64), public :: BlReflectSolDiffBack(MaxSlatAngs) =0.0d0
real(kind=r64), public :: ReflectSolDiffFront =0.0d0
real(kind=r64), public :: BlReflectSolDiffFront(MaxSlatAngs) =0.0d0
real(kind=r64), public :: ReflectVisDiffBack =0.0d0
real(kind=r64), public :: BlReflectVisDiffBack(MaxSlatAngs) =0.0d0
real(kind=r64), public :: ReflectVisDiffFront =0.0d0
real(kind=r64), public :: BlReflectVisDiffFront(MaxSlatAngs) =0.0d0
real(kind=r64), public :: TransSolBeamCoef(6) =0.0d0
real(kind=r64), public :: TransVisBeamCoef(6) =0.0d0
real(kind=r64), public :: ReflSolBeamFrontCoef(6) =0.0d0
real(kind=r64), public :: ReflSolBeamBackCoef(6) =0.0d0
real(kind=r64), public :: tBareSolCoef(5,6) =0.0d0
real(kind=r64), public :: tBareVisCoef(5,6) =0.0d0
real(kind=r64), public :: rfBareSolCoef(5,6) =0.0d0
real(kind=r64), public :: rfBareVisCoef(5,6) =0.0d0
real(kind=r64), public :: rbBareSolCoef(5,6) =0.0d0
real(kind=r64), public :: rbBareVisCoef(5,6) =0.0d0
real(kind=r64), public :: afBareSolCoef(5,6) =0.0d0
real(kind=r64), public :: abBareSolCoef(5,6) =0.0d0
real(kind=r64), public :: tBareSolDiff(5) =0.0d0
real(kind=r64), public :: tBareVisDiff(5) =0.0d0
real(kind=r64), public :: rfBareSolDiff(5) =0.0d0
real(kind=r64), public :: rfBareVisDiff(5) =0.0d0
real(kind=r64), public :: rbBareSolDiff(5) =0.0d0
real(kind=r64), public :: rbBareVisDiff(5) =0.0d0
real(kind=r64), public :: afBareSolDiff(5) =0.0d0
real(kind=r64), public :: abBareSolDiff(5) =0.0d0
logical, public :: FromWindow5DataFile =.false.
real(kind=r64), public :: W5FileMullionWidth =0.0d0
integer, public :: W5FileMullionOrientation =0
real(kind=r64), public :: W5FileGlazingSysWidth =0.0d0
real(kind=r64), public :: W5FileGlazingSysHeight =0.0d0
real(kind=r64), public :: SummerSHGC =0.0d0
real(kind=r64), public :: VisTransNorm =0.0d0
real(kind=r64), public :: SolTransNorm =0.0D0
logical, public :: SourceSinkPresent =.false.
logical, public :: TypeIsWindow =.false.
logical, public :: WindowTypeBSDF =.false.
logical, public :: TypeIsEcoRoof =.false.
logical, public :: TypeIsIRT =.false.
logical, public :: TypeIsCfactorWall =.false.
logical, public :: TypeIsFfactorFloor =.false.
integer, public :: TCFlag =0
integer, public :: TCLayer =0
integer, public :: TCMasterConst =0
integer, public :: TCLayerID =0
integer, public :: TCGlassID =0
real(kind=r64), public :: CFactor =0.0d0
real(kind=r64), public :: Height =0.0d0
real(kind=r64), public :: FFactor =0.0d0
real(kind=r64), public :: Area =0.0d0
real(kind=r64), public :: PerimeterExposed =0.0d0
logical, public :: ReverseConstructionNumLayersWarning =.false.
logical, public :: ReverseConstructionLayersOrderWarning =.false.
type(BSDFWindowInputStruct), public :: BSDFInput
logical, public :: WindowTypeEQL =.false.
integer, public :: EQLConsPtr =0
real(kind=r64), public :: AbsDiffFrontEQL(CFSMAXNL) =0.0d0
real(kind=r64), public :: AbsDiffBackEQL(CFSMAXNL) =0.0d0
real(kind=r64), public :: TransDiffFrontEQL =0.0d0
real(kind=r64), public :: TransDiffBackEQL =0.0d0

Source Code

TYPE ConstructionData

  CHARACTER(len=MaxNameLength) :: Name = ' ' ! Name of construction
  INTEGER :: TotLayers          = 0          ! Total number of layers for the construction; for windows
                                             !  this is the total of the glass, gas and shade layers
  INTEGER :: TotSolidLayers     = 0          ! Total number of solid (glass or shade) layers (windows only)
  INTEGER :: TotGlassLayers     = 0          ! Total number of glass layers (windows only)
  INTEGER :: LayerPoint(MaxLayersInConstruct) = 0 ! Pointer array which refers back to
                                                  ! the Material structure; LayerPoint(i)=j->Material(j)%Name,etc
  LOGICAL :: IsUsed                  =.false.  ! Marked true when the construction is used
  REAL(r64) :: InsideAbsorpVis       = 0.0d0         ! Inside Layer visible absorptance of an opaque surface; not used for windows.
  REAL(r64) :: OutsideAbsorpVis      = 0.0d0         ! Outside Layer visible absorptance of an opaque surface; not used for windows.
  REAL(r64) :: InsideAbsorpSolar     = 0.0d0         ! Inside Layer solar absorptance of an opaque surface; not used for windows.
  REAL(r64) :: OutsideAbsorpSolar    = 0.0d0         ! Outside Layer solar absorptance of an opaque surface; not used for windows.
  REAL(r64) :: InsideAbsorpThermal   = 0.0d0         ! Inside Layer Thermal absorptance for opaque surfaces or windows;
                                             ! for windows, applies to innermost glass layer
  REAL(r64) :: OutsideAbsorpThermal  = 0.0d0         ! Outside Layer Thermal absorptance
  INTEGER :: OutsideRoughness   =0           ! Outside Surface roughness index (6=very smooth, 5=smooth,
                                             ! 4=medium smooth, 3=medium rough, 2=rough, 1=very rough)
  INTEGER :: DayltPropPtr       =0           ! Pointer to Daylight Construction Properties
  INTEGER :: W5FrameDivider     = 0          ! FrameDivider number for window construction from Window5 data file;
                                             !  zero is construction not from Window5 file or Window5 construction has no frame.

          ! Conductive properties for the construction
  REAL(r64) :: CTFCross(0:MaxCTFTerms-1)    =0.0D0     ! Cross or Y terms of the CTF equation
  REAL(r64) :: CTFFlux(MaxCTFTerms-1)       =0.0D0     ! Flux history terms of the CTF equation
  REAL(r64) :: CTFInside(0:MaxCTFTerms-1)   =0.0D0     ! Inside or Z terms of the CTF equation
  REAL(r64) :: CTFOutside(0:MaxCTFTerms-1)  =0.0D0     ! Outside or X terms of the CTF equation
  REAL(r64) :: CTFSourceIn(0:MaxCTFTerms-1) =0.0D0     ! Heat source/sink inside terms of CTF equation
  REAL(r64) :: CTFSourceOut(0:MaxCTFTerms-1)=0.0D0     ! Heat source/sink outside terms of CTF equation
  REAL(r64) :: CTFTimeStep  ! Time increment for stable simulation of construct (could be greater than TimeStep)
                   ! The next three series of terms are used to calculate the temperature at the location of a source/sink
                   ! in the QTF formulation.  This calculation is necessary to allow the proper simulation of a
                   ! radiant system.
  REAL(r64) :: CTFTSourceOut(0:MaxCTFTerms-1)=0.0D0  ! Outside terms of the CTF equation for interior temp
                                                            ! calc@source location
  REAL(r64) :: CTFTSourceIn(0:MaxCTFTerms-1) =0.0D0  ! Inside terms of the CTF equation for interior temp
                                                            ! calc@source location
  REAL(r64) :: CTFTSourceQ(0:MaxCTFTerms-1)  =0.0D0  ! Source/sink terms of the CTF equation for interior temp
                                                            ! calc@source location
                   ! The next three series of terms are used to calculate the temperature at a location specified by the user.
                   ! This location must be between two layers and is intended to allow the user to evaluate whether or not
                   ! condensation is a possibility between material layers.
  REAL(r64) :: CTFTUserOut(0:MaxCTFTerms-1)  =0.0D0  ! Outside terms of the CTF equation for interior temp
                                                            ! calc@user location
  REAL(r64) :: CTFTUserIn(0:MaxCTFTerms-1)   =0.0D0  ! Inside terms of the CTF equation for interior temp
                                                            ! calc@user location
  REAL(r64) :: CTFTUserSource(0:MaxCTFTerms-1)=0.0D0 ! Source/sink terms of the CTF equation for interior temp
                                                            ! calc@user location
  INTEGER          :: NumHistories =0            ! CTFTimeStep/TimeStepZone or the number of temp/flux history series
                                                 ! for the construction
  INTEGER          :: NumCTFTerms  =0            ! Number of CTF terms for this construction (not including terms at current time)
  REAL(r64)        :: UValue       = 0.0d0          ! Overall heat transfer coefficient for the construction
  INTEGER          :: SolutionDimensions =0      ! Number of dimensions in the solution (1 for normal constructions,
                                                 ! 1 or 2 for constructions with sources or sinks)-->may allow 3-D later?
  INTEGER          :: SourceAfterLayer   =0      ! Source/sink is present after this layer in the construction
  INTEGER          :: TempAfterLayer     =0      ! User is requesting a temperature calculation after this layer in the construction
  REAL(r64)        :: ThicknessPerpend   = 0.0d0    ! Thickness between planes of symmetry in the direction
                                                 ! perpendicular to the main direction of heat transfer
                                                 ! (same as half the distance between tubes)
  ! Moisture Transfer Functions term belong here as well

          ! BLAST detailed solar model parameters
  REAL(r64) :: AbsDiffIn  = 0.0d0           ! Inner absorptance coefficient for diffuse radiation
  REAL(r64) :: AbsDiffOut = 0.0d0           ! Outer absorptance coefficient for diffuse radiation

          ! Variables for window constructions
  REAL(r64) :: AbsDiff(MaxSolidWinLayers)  = 0.0d0                 ! Diffuse solar absorptance for each glass layer,
                                                                ! bare glass or shade on
  REAL(r64) :: BlAbsDiff(MaxSolidWinLayers,MaxSlatAngs) = 0.0d0    ! Diffuse solar absorptance for each glass layer vs.
                                                                ! slat angle, blind on
  REAL(r64) :: BlAbsDiffGnd(MaxSolidWinLayers,MaxSlatAngs) = 0.0d0 ! Diffuse ground solar absorptance for each glass layer
                                                                ! vs. slat angle, blind on
  REAL(r64) :: BlAbsDiffSky(MaxSolidWinLayers,MaxSlatAngs) = 0.0d0 ! Diffuse sky solar absorptance for each glass layer
                                                                ! vs. slat angle, blind on
  REAL(r64) :: AbsDiffBack(MaxSolidWinLayers)  = 0.0d0             ! Diffuse back solar absorptance for each glass layer
  REAL(r64) :: BlAbsDiffBack(MaxSolidWinLayers,MaxSlatAngs)= 0.0d0 ! Diffuse back solar absorptance for each glass layer,
                                                           !  vs. slat angle, blind on
  REAL(r64) :: AbsDiffShade                 = 0.0d0 ! Diffuse solar absorptance for shade
  REAL(r64) :: AbsDiffBlind(MaxSlatAngs)    = 0.0d0 ! Diffuse solar absorptance for blind, vs. slat angle
  REAL(r64) :: AbsDiffBlindGnd(MaxSlatAngs) = 0.0d0 ! Diffuse ground solar absorptance for blind, vs. slat angle
  REAL(r64) :: AbsDiffBlindSky(MaxSlatAngs) = 0.0d0 ! Diffuse sky solar absorptance for blind, vs. slat angle
  REAL(r64) :: AbsDiffBackShade             = 0.0d0 ! Diffuse back solar absorptance for shade
  REAL(r64) :: AbsDiffBackBlind(MaxSlatAngs)= 0.0d0 ! Diffuse back solar absorptance for blind, vs. slat angle
  REAL(r64) :: ShadeAbsorpThermal           = 0.0d0 ! Diffuse back thermal absorptance of shade
  REAL(r64) :: AbsBeamCoef(MaxSolidWinLayers,6) = 0.0d0 ! Coefficients of incidence-angle polynomial for solar
                                                ! absorptance for each solid glazing layer

  REAL(r64) :: AbsBeamBackCoef(MaxSolidWinLayers,6) = 0.0d0 ! As for AbsBeamCoef but for back-incident solar
  REAL(r64) :: AbsBeamShadeCoef(6)           = 0.0d0    ! Coefficients of incidence-angle polynomial for solar
                                        ! absorptance of shade
  REAL(r64) :: TransDiff                     = 0.0d0   ! Diffuse solar transmittance, bare glass or shade on
  REAL(r64) :: BlTransDiff(MaxSlatAngs)      = 0.0d0   ! Diffuse solar transmittance, blind present, vs. slat angle
  REAL(r64) :: BlTransDiffGnd(MaxSlatAngs)   = 0.0d0   ! Ground diffuse solar transmittance, blind present, vs. slat angle
  REAL(r64) :: BlTransDiffSky(MaxSlatAngs)   = 0.0d0   ! Sky diffuse solar transmittance, blind present, vs. slat angle
  REAL(r64) :: TransDiffVis                  = 0.0d0   ! Diffuse visible transmittance, bare glass or shade on
  REAL(r64) :: BlTransDiffVis(MaxSlatAngs)   = 0.0d0   ! Diffuse visible transmittance, blind present, vs. slat angle
  REAL(r64) :: ReflectSolDiffBack            = 0.0d0   ! Diffuse back solar reflectance, bare glass or shade on
  REAL(r64) :: BlReflectSolDiffBack(MaxSlatAngs) = 0.0d0 ! Diffuse back solar reflectance, blind present, vs. slat angle
  REAL(r64) :: ReflectSolDiffFront               = 0.0d0 ! Diffuse front solar reflectance, bare glass or shade on
  REAL(r64) :: BlReflectSolDiffFront(MaxSlatAngs)= 0.0d0 ! Diffuse front solar reflectance, blind present, vs. slat angle
  REAL(r64) :: ReflectVisDiffBack                = 0.0d0 ! Diffuse back visible reflectance, bare glass or shade on
  REAL(r64) :: BlReflectVisDiffBack(MaxSlatAngs) = 0.0d0 ! Diffuse back visible reflectance, blind present, vs. slat angle
  REAL(r64) :: ReflectVisDiffFront               = 0.0d0 ! Diffuse front visible reflectance, bare glass or shade on
  REAL(r64) :: BlReflectVisDiffFront(MaxSlatAngs)= 0.0d0 ! Diffuse front visible reflectance, blind present, vs. slat angle
  REAL(r64) :: TransSolBeamCoef(6)               = 0.0d0 ! Coeffs of incidence-angle polynomial for beam sol trans,
                                                      ! bare glass or shade on
  REAL(r64) :: TransVisBeamCoef(6)               = 0.0d0 ! Coeffs of incidence-angle polynomial for beam vis trans,
                                                      ! bare glass or shade on
  REAL(r64) :: ReflSolBeamFrontCoef(6)           = 0.0d0 ! Coeffs of incidence-angle polynomial for beam sol front refl,
                                                      ! bare glass or shade on
  REAL(r64) :: ReflSolBeamBackCoef(6) = 0.0d0 ! Like ReflSolBeamFrontCoef, but for back-incident beam solar
  REAL(r64) :: tBareSolCoef(5,6)      = 0.0d0 ! Isolated glass solar transmittance coeffs of inc. angle polynomial
  REAL(r64) :: tBareVisCoef(5,6)      = 0.0d0 ! Isolated glass visible transmittance coeffs of inc. angle polynomial
  REAL(r64) :: rfBareSolCoef(5,6)     = 0.0d0 ! Isolated glass front solar reflectance coeffs of inc. angle polynomial
  REAL(r64) :: rfBareVisCoef(5,6)     = 0.0d0 ! Isolated glass front visible reflectance coeffs of inc. angle polynomial
  REAL(r64) :: rbBareSolCoef(5,6)     = 0.0d0 ! Isolated glass back solar reflectance coeffs of inc. angle polynomial
  REAL(r64) :: rbBareVisCoef(5,6)     = 0.0d0 ! Isolated glass back visible reflectance coeffs of inc. angle polynomial
  REAL(r64) :: afBareSolCoef(5,6)     = 0.0d0 ! Isolated glass front solar absorptance coeffs of inc. angle polynomial
  REAL(r64) :: abBareSolCoef(5,6)     = 0.0d0 ! Isolated glass back solar absorptance coeffs of inc. angle polynomial
  REAL(r64) :: tBareSolDiff(5)        = 0.0d0 ! Isolated glass diffuse solar transmittance
  REAL(r64) :: tBareVisDiff(5)        = 0.0d0 ! Isolated glass diffuse visible transmittance
  REAL(r64) :: rfBareSolDiff(5)       = 0.0d0 ! Isolated glass diffuse solar front reflectance
  REAL(r64) :: rfBareVisDiff(5)       = 0.0d0 ! Isolated glass diffuse visible front reflectance
  REAL(r64) :: rbBareSolDiff(5)       = 0.0d0 ! Isolated glass diffuse solar back reflectance
  REAL(r64) :: rbBareVisDiff(5)       = 0.0d0 ! Isolated glass diffuse visible back reflectance
  REAL(r64) :: afBareSolDiff(5)       = 0.0d0 ! Isolated glass diffuse solar front absorptance
  REAL(r64) :: abBareSolDiff(5)       = 0.0d0 ! Isolated glass diffuse solar back absorptance
  LOGICAL :: FromWindow5DataFile =.false. ! True if this is a window construction extracted from the Window5 data file
  REAL(r64) :: W5FileMullionWidth     = 0.0d0    ! Width of mullion for construction from Window5 data file (m)
  INTEGER   :: W5FileMullionOrientation = 0 ! Orientation of mullion, if present, for Window5 data file construction,
  REAL(r64) :: W5FileGlazingSysWidth     = 0.0d0 ! Glass width for construction from Window5 data file (m)
  REAL(r64) :: W5FileGlazingSysHeight    = 0.0d0 ! Glass height for construction form Window5 data file (m)
  REAL(r64) :: SummerSHGC                = 0.0d0 ! Calculated ASHRAE SHGC for summer conditions
  REAL(r64) :: VisTransNorm              = 0.0d0 ! The normal visible transmittance
  REAL(r64) :: SolTransNorm              =0.0D0 ! the normal solar transmittance

  LOGICAL :: SourceSinkPresent  =.false.  ! .TRUE. if there is a source/sink within this construction
  LOGICAL :: TypeIsWindow       =.false.  ! True if a window construction, false otherwise
  LOGICAL :: WindowTypeBSDF      =.false.  ! True for complex window, false otherwise
  LOGICAL :: TypeIsEcoRoof      =.false.  !-- true for construction with ecoRoof outside, the flag
                                          !-- is turned on when the outside layer is of type EcoRoof
  LOGICAL :: TypeIsIRT          =.false.  !-- true for construction with IRT material
  LOGICAL :: TypeIsCfactorWall  =.false.  !-- true for construction with Construction:CfactorUndergroundWall
  LOGICAL :: TypeIsFfactorFloor =.false.  !-- true for construction with Construction:FfactorGroundFloor

  ! Added TH 12/22/2008 for thermochromic windows
  INTEGER   :: TCFlag = 0                   ! 0: this construction is not a thermochromic window construction
                                            ! 1: it is a TC window construction
  INTEGER   :: TCLayer = 0                  ! Reference to the TC glazing material layer in the Material array
  INTEGER   :: TCMasterConst = 0            ! The master TC construction referenced by its slave constructions
  INTEGER   :: TCLayerID = 0                ! Which material layer is the TC glazing, counting all material layers.
  INTEGER   :: TCGlassID = 0                ! Which glass layer is the TC glazing, counting from glass layers only.

  !For CFactor underground walls
  REAL(r64) :: CFactor = 0.0d0
  REAL(r64) :: Height = 0.0d0

  !For FFactor slabs-on-grade or undeerground floors
  REAL(r64) :: FFactor = 0.0d0
  REAL(r64) :: Area = 0.0d0
  REAL(r64) :: PerimeterExposed = 0.0d0

  LOGICAL   :: ReverseConstructionNumLayersWarning = .false.
  LOGICAL   :: ReverseConstructionLayersOrderWarning = .false.

  !Complex Fenestration
  TYPE(BSDFWindowInputStruct) :: BSDFInput ! nest structure with user input for complex fenestration

  ! EquivalentLayer Window
  LOGICAL   :: WindowTypeEQL              =.false. ! True for equivalent layer window, false otherwise
  INTEGER   :: EQLConsPtr                 =0   ! Pointer to equivalent Layer window construction
  REAL(r64) :: AbsDiffFrontEQL(CFSMAXNL)  = 0.0d0 ! Diffuse layer system front absorptance for EQL window
  REAL(r64) :: AbsDiffBackEQL(CFSMAXNL)   = 0.0d0 ! Diffuse layer system back absorptance for EQL window
  REAL(r64) :: TransDiffFrontEQL          = 0.0d0 ! Diffuse system front transmittance for EQL window
  REAL(r64) :: TransDiffBackEQL           = 0.0d0 ! Diffuse system back transmittance for EQL window

END TYPE ConstructionData

ActuatorUsedType AiflowNetworkReportProp AirChillerSetData AirConnectionStruct AirflowNetworkCompProp AirflowNetworkExchangeProp AirflowNetworkLinkageProp AirflowNetworkLinkReportData AirflowNetworkLinkSimuData AirflowNetworkNodeProp AirflowNetworkNodeReportData AirflowNetworkNodeSimuData AirflowNetworkReportVars AirflowNetworkSimuProp AirIn AirLoopBranchData AirLoopCompData AirLoopControlData AirLoopFlowData AirLoopMixerData AirLoopOutsideAirConnectData AirLoopSplitterData AirLoopStatsType AirLooptoZoneData AirLoopZoneEquipConnectData AirModelData AirNodeData AirPatternInfobyZoneStruct AirReportVars AirTerminalMixerData AngleFactorData BalancedDesDehumPerfData BaseboardParams BaseboardParams BaseCell BaseChillerSpecs BasementZoneInfo BaseReportVars BaseThermalPropertySet BasisElemDescr BasisStruct BatteryDichargeDataStruct BBHeatData BinObjVarIDType BinResultsType BinStatisticsType BLASTAbsorberSpecs BoilerSpecs BoilerSpecs BoundingBoxVertStruct BranchData BranchData BranchListData BSDFBkSurfDescr BSDFDaylghtGeomDescr BSDFDaylghtPosition BSDFGeomDescr BSDFLayerAbsorpStruct BSDFRefPoints BSDFRefPointsGeomDescr BSDFStateDescr BSDFWindowDescript BSDFWindowGeomDescr BSDFWindowInputStruct cached_psat_t cached_twb_t CartesianCell CartesianPipeCellInformation CaseAndWalkInListDef CaseRAFractionData CaseWIZoneReportData CashFlowType CBVAVData CECInverterLookUpTableData CFSFILLGAS CFSGAP CFSLAYER CFSLWP CFSSWP CFSTY CGSHPNodeData ChargeBlockType ChargeSimpleType ChillerheaterSpecs CHReportVars CoefficientProps CoilCreditData CoilType CollectorData ColumnTagType CommonPipeData CompData CompDesWaterFlowData ComponentData ComponentData ComponentListData ComponentNameData ComponentProps ComponentSetPtData CompressorListDef CompSizeTableEntryType ComputationType ConnectAirSysComp ConnectAirSysSubComp ConnectAirSysSubSubComp ConnectedLoopData ConnectionPoint ConnectorData ConnectZoneComp ConnectZoneSubComp ConnectZoneSubSubComp ConstantFlowRadiantSystemData ConstCOPChillerSpecs ConstCOPReportVars ConstGradPattern ConstructionData ConstructionDataFD ContaminantData ControllerListProps ControllerPropsType ControllerStatsType ControlList ControlsType ConvectionCoefficient CoolBeamData CoolTowerParams CostAdjustmentStruct CostLineItemStruct CTGeneratorSpecs CurSimConditionsInfo CVData CVDVParameters CVFlow DamperDesignParams DamperFlowConditions DataPeriodData DataSetPointManager DaylightSavingPeriodData DayScheduleData DayWeatherVariables DCtoACInverterStruct DefineASHRAEAdaptiveOptimumStartCoeffs DefineColdestSetPointManager DefineCondEntSetPointManager DefineDiffTSysAvailManager DefineFollowOATempSetPointManager DefineFollowSysNodeTempSetPointManager DefineGroundTempSetPointManager DefineHiLoSysAvailManager DefineHybridVentSysAvailManager DefineIdealCondEntSetPointManager DefineLinearModelNode DefineMixedAirSetPointManager DefineNightCycSysAvailManager DefineNightVentSysAvailManager DefineOAPretreatSetPointManager DefineOptStartSysAvailManager DefineOutsideAirSetPointManager DefinePriAirSysAvailMgrs DefinePrimaryAirSystem DefineSchedDualSetPointManager DefineSchedOffSysAvailManager DefineSchedOnSysAvailManager DefineSchedSysAvailManager DefineScheduledSetPointManager DefineSurfaceSettings DefineSZCoolingSetPointManager DefineSZHeatingSetPointManager DefineSZMaxHumSetPointManager DefineSZMinHumSetPointManager DefineSZOneStageCoolinggSetPointManager DefineSZOneStageHeatingSetPointManager DefineSZReheatSetPointManager DefineWarmestSetPointManager DefineZoneCompAvailMgrs DefineZoneData DefMultiZoneAverageCoolingSetPointManager DefMultiZoneAverageHeatingSetPointManager DefMultiZoneAverageMaxHumSetPointManager DefMultiZoneAverageMinHumSetPointManager DefMultiZoneMaxHumSetPointManager DefMultiZoneMinHumSetPointManager DefRABFlowSetPointManager DefWarmestSetPtManagerTempFlow DemandManagerData DemandManagerListData DesDayWeathData DesiccantDehumidifierData DesignDayData DesignSpecMSHPData DetailedIceStorageData DirectAirProps DirectionNeighbor_Dictionary DirectionReal_Dictionary DisSysCompCoilProp DisSysCompCPDProp DisSysCompCVFProp DisSysCompDamperProp DisSysCompDetFanProp DisSysCompDuctProp DisSysCompELRProp DisSysCompHXProp DisSysCompLeakProp DisSysCompTermUnitProp DisSysLinkageProp DisSysNodeProp DistributionStructure DomainRectangle dTriangle DuctData DVData DXCoilData DXCoolingConditions DXHeatPumpSystemStruct EarthTubeData EarthTubeZoneReportVars EconVarType ElecBaseboardParams ElecStorageDataStruct ElectricChillerSpecs ElectricEIRChillerSpecs ElectricPowerLoadCenter ElectricRadiantSystemData ElectricReportVars ElectricTransformer EMSActuatorAvailableType EMSProgramCallManagementType EndUseCategoryType Energy EngineDrivenChillerSpecs EngineDrivenReportVars EnvironmentData EqNodeConnectionDef EquipConfiguration EquipList EquipListCompData EquipListPtrData EquipmentData EquipMeterData EquipOpList ErlExpressionType ErlStackType ErlValueType ErlVariableType EvapConditions EvapFluidCoolerInletConds EvapFluidCoolerspecs ExhaustAbsorberSpecs ExtendedFluidProperties ExteriorEquipmentUsage ExteriorLightUsage ExtVentedCavityStruct Face FanCoilData FanEquipConditions FarfieldInfo FaultProperties FCAirSupplyDataStruct FCAuxilHeatDataStruct FCDataStruct FCElecStorageDataStruct FCExhaustHXDataStruct FCInverterDataStruct FCPowerModuleStruct FCReportDataStruct FCStackCoolerDataStruct FCWaterSupplyDataStruct FenestrationSolarAbsorbed FileSectionsDefinition FluidCellInformation FluidCoolerInletConds FluidCoolerspecs FluidPropsGlycolData FluidPropsGlycolErrors FluidPropsGlycolRawData FluidPropsRefrigerantData FluidPropsRefrigErrors FrameDividerProperties FuelTypeProps FullDomainStructureInfo FurnaceEquipConditions GapDeflectionState GapSupportPillar GasAbsorberSpecs GasPropertyDataStruct GasTurbineReportVars GenData GeneratorDynamicsManagerStruct GeneratorFuelSupplyDataStruct GenericComponentZoneIntGainStruct GlheSpecs GlobalInternalGainMiscObject GridRegion GroundwaterWellDataStruct GshpSpecs GshpSpecs GshpSpecs GTChillerSpecs HalfLoopData HcInsideFaceUserCurveStruct HcOutsideFaceUserCurveStruct HeatExchangerStruct HeatExchCond HeatingCoilEquipConditions HeatPumpWaterHeaterData HeatReclaimDXCoilData HeatReclaimRefrigCondenserData HeatReclaimRefrigeratedRackData HighTempRadiantSystemData HumidifierData HVACAirLoopIterationConvergenceStruct HVACNodeConvergLogStruct HVACZoneInletConvergenceStruct HWBaseboardParams HXAssistedCoilParameters HydronicRadiantSystemData ICEngineGeneratorSpecs IceStorageMapping IceStorageSpecs IllumMapData IndirectAbsorberSpecs IndUnitData InfiltrationData InsideFaceAdaptiveConvAlgoStruct InstructionType IntegerVariables IntegerVariableType InternalVarsAvailableType InternalVarsUsedType IntWinAdjZoneExtWinStruct IrrigationDataStruct LightsData LineDefinition LocalPipeData Location LoopPipeData LoopSidePumpInformation LoopSideReportVars m_FlowControlValidator MapCalcData MarkedNodeData MaterialDataFD MaterialProperties MatrixDataStruct MeshExtents MeshPartition MeshPartitions MeshProperties MeterArrayType MeterData MeterType MicroCHPDataStruct MicroCHPParamsNonNormalized MicroCHPReportDataStruct MissingData MissingDataCounts MixerConditions MixerData MixerData MixingData MoistureInfo monetaryUnitType MonthlyColumnsType MonthlyFieldSetInputType MonthlyInputType MonthlyTablesType MoreNodeData MSHeatPumpData MSHeatPumpReportData MTGeneratorSpecs MultizoneCompDetOpeningProp MultizoneCompExhaustFanProp MultizoneCompHorOpeningProp MultizoneCompSimpleOpeningProp MultizoneCPArrayProp MultizoneCPValueProp MultizoneExternalNodeProp MultizoneSurfaceCrackProp MultizoneSurfaceCrackStdCndns MultizoneSurfaceELAProp MultizoneSurfaceProp MultizoneZoneProp NamedMonthlyType NeighborInformation NightVentPerfData NodeConnectionDef NodeData NodeListDef NonrecurringCostType OAControllerData OAControllerProps OAEquipList OAMixerProps OARequirementsData OAUnitData ObjectsDefinition OperationData OperatorType OpSchemePtrData OptStartDataType OSCData OSCMData OutputReportingVariables OutputTableBinnedType OutputVarSensorType OutsideAirSysProps OutsideEnergySourceSpecs OutsideFaceAdpativeConvAlgoStruct PackagedTESCoolingCoilStruct ParametersData ParentListData PeopleData PerfCurveTableDataStruct PerfomanceCurveData PipeCircuitInfo PipeData PipeHeatTransferReport PipeHTData PipeSegmentInfo PlaneEq PlantAvailMgrData PlantCallingOrderInfoStruct PlantConnection PlantConnectionStruct PlantConnectionStruct PlantConvergencePoint PlantIterationConvergenceStruct PlantLocation PlantLocatorStruct PlantLoopData PlantPressureCurveData PlantProfileData PlantSizingData Point Point3DInteger Point3DReal PointF PointType PollutionProps Polyhedron PondGroundHeatExchangerData PondGroundHeatExchangerReport PowIndUnitData PTUnitData PumpSpecs PumpVFDControlData PVArrayStruct PVReportVariables PVTCollectorStruct PVTReportStruct QualifyType RadialCellInformation RadialSizing RadSysTypeData RainfallCollectorDataStruct RangeCheckDef RangeDataCounts RatchetType RealVariables RealVariableType RectangleF RecurringCostsType RecurringErrorData ReformulatedEIRChillerSpecs RefrigCaseCreditData RefrigCaseData RefrigCompressorData RefrigCondenserData RefrigGasCoolerData RefrigRackData RefrigSystemData ReportBranchData ReportCompData ReportEIRVars ReportingInformation ReportLoopData reportNameType ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReqReportVariables ReturnAir RoofGeoCharactisticsStruct RootFinderDataType RunPeriodData RuntimeReportVarType ScheduleData ScheduleTypeData ScreenTransData SecondaryLoopData SecretObjects SectionsDefinition ShadingVertexData ShadowingCombinations ShadowRelateType ShelfData SimplePVParamsStruct SimplePVTModelStruct SimpleWatertoAirHPConditions SimulationControl SimulationOrder SiteRainFallDataStruct SlabListData SNLModuleParamsStuct SNLPVCalcStruct SNLPVInputStruct SolReflRecSurfData SolutionTrackerType SpecialDayData SpectralDataProperties SplitterConditions SplitterData SplitterData StackType StandAloneERVData SteamBaseboardParams SteamCoilEquipConditions StorageTankDataStruct StormWindowData StratifiedNodeData subcell SubcomponentData SubcoolerData SubEquipmentData SubSubcomponentData SubSubEquipmentData SubTableType SummarizeLoads SupplyAir SurfaceAssocNestedStruct SurfaceData SurfaceDataFD SurfaceErrorTracking SurfaceGroundHeatExchangerData SurfaceGroundHeatExchangerQTF SurfaceGroundHeatExchngrReport SurfaceListData SurfaceScreenProperties SurfaceSolarIncident SurfaceWindowCalc SurfMapPattern SysAvailManagerList SysDesignParams SysFlowConditions SystemSizingData SystemSizingInputData TableDataStruct TableEntryType TableLookupData TariffType TCGlazingsType TDDPipeData TemperaturePatternStruct TemperValveData TempGridRegionData TempLoopData TempVsHeightPattern TerminalUnitListData TermUnitSizingData ThermalChimneyData ThermalComfortDataType ThermalComfortInASH55Type ThermalComfortSetpointType ThermChimReportVars ThermChimZnReportVars TimeSteps timings TOCEntriesType TokenType TowerInletConds Towerspecs TransferLoadListDef TransRefrigSystemData TrendVariableType TriQuadraticCurveDataStruct TRNSYSPVCalcStruct TRNSYSPVModuleParamsStruct TStatObject TwoVertGradInterpolPattern TypicalExtremeData UFEData UFIData UnitarySystemData UnitConvType UnitHeaterData UnitVentilatorData UseAdjustmentType UsePriceEscalationType UserAirTerminalComponentStruct UserCoilComponentStruct UserPlantComponentStruct UserZoneHVACForcedAirComponentStruct UTSCDataStruct VariableSpeedCoilData VariableTypeForDDOutput vector Vector_2d VentilatedSlabData VentilationData VentilationMechanicalProps VRFCondenserEquipment VRFTerminalUnitEquipment VSTowerData WalkInData WarehouseCoilData WarmupConvergence WaterCoilEquipConditions WaterConnectionsType WaterEquipmentType WaterHeaterDesuperheaterData WaterHeaterSizingData WaterSourceSpecs WaterThermalTankData WatertoAirHPEquipConditions WaterUseTankConnectionStruct WeatherProperties WeekScheduleData WholeBuildingElectricPowerSummary WindACData WindowBlindProperties WindowComplexShade WindowIndex WindowShadingControlData WindowStateIndex WindowThermalModelParams WindTurbineParams WrapperComponentSpecs WrapperReportVars WrapperSpecs ZoneAirBalanceData ZoneAirDistributionData ZoneAirEquip ZoneCatEUseData ZoneComfortControls ZoneComfortControlsFangerData ZoneComfortFangerControlType ZoneCompTypeData ZoneContamGenericDataBLDiff ZoneContamGenericDataConstant ZoneContamGenericDataCutoff ZoneContamGenericDataDecay ZoneContamGenericDataDRS ZoneContamGenericDataDVS ZoneContamGenericDataPDriven ZoneContControls ZoneData ZoneDaylightCalc ZoneDehumidifierData ZoneEqSizingData ZoneEquipData ZoneEvapCoolerUnitStruct ZoneGroupData ZoneHumidityControls ZoneInternalGainsStruct ZoneListData ZoneListData ZonePreDefRepType ZonePurchasedAir ZoneReportVars ZoneReturnPlenumConditions ZoneSatgedControls ZoneSimData ZoneSizingData ZoneSizingInputData ZoneSupplyPlenumConditions ZoneSystemContaminantDemandData ZoneSystemDemandData ZoneSystemMoistureDemand ZoneTempControls ZoneTempControlType ZoneViewFactorInformation