SurfaceData Derived Type

type, public :: SurfaceData

type~~surfacedata~~InheritsGraph type~surfacedata SurfaceData type~vector vector type~vector->type~surfacedata Vertex, Centroid, lcsx, lcsy, lcsz, NewellAreaVector, NewellSurfaceNormalVector
Help


Name Construction EMSConstructionOverrideON EMSConstructionOverrideValue ConstructionStoredInputValue Class Shape Sides Area GrossArea NetAreaShadowCalc Perimeter Azimuth Height Reveal Tilt Width HeatTransSurf HeatTransferAlgorithm BaseSurfName BaseSurf NumSubSurfaces ZoneName Zone ExtBoundCondName ExtBoundCond LowTempErrCount HighTempErrCount ExtSolar ExtWind IntConvCoeff EMSOverrideIntConvCoef EMSValueForIntConvCoef ExtConvCoeff EMSOverrideExtConvCoef EMSValueForExtConvCoef ViewFactorGround ViewFactorSky ViewFactorGroundIR ViewFactorSkyIR OSCPtr OSCMPtr SchedShadowSurfIndex ShadowSurfSchedVaries ShadowingSurf IsTransparent SchedMinValue ShadowSurfDiffuseSolRefl ShadowSurfDiffuseVisRefl ShadowSurfGlazingFrac ShadowSurfGlazingConstruct ShadowSurfPossibleObstruction ShadowSurfPossibleReflector ShadowSurfRecSurfNum MaterialMovInsulExt MaterialMovInsulInt SchedMovInsulExt SchedMovInsulInt Vertex Centroid lcsx lcsy lcsz NewellAreaVector NewellSurfaceNormalVector OutNormVec SinAzim CosAzim SinTilt CosTilt IsConvex IsDegenerate WindowShadingControlPtr ShadedConstruction StormWinConstruction StormWinShadedConstruction FrameDivider Multiplier Shelf TAirRef OutDryBulbTemp OutDryBulbTempEMSOverrideOn OutDryBulbTempEMSOverrideValue OutWetBulbTemp OutWetBulbTempEMSOverrideOn OutWetBulbTempEMSOverrideValue WindSpeed WindSpeedEMSOverrideOn WindSpeedEMSOverrideValue UNomWOFilm UNomFilm ExtEcoRoof ExtCavityPresent ExtCavNum IsPV IsICS ICSPtr MirroredSurf IntConvClassification IntConvHcModelEq IntConvHcUserCurveIndex OutConvClassification OutConvHfModelEq OutConvHfUserCurveIndex OutConvHnModelEq OutConvHnUserCurveIndex OutConvFaceArea OutConvFacePerimeter OutConvFaceHeight IntConvZoneWallHeight IntConvZonePerimLength IntConvZoneHorizHydrDiam IntConvWindowWallRatio IntConvWindowLocation IntConvSurfGetsRadiantHeat IntConvSurfHasActiveInIt PartOfVentSlabOrRadiantSurface GenericContam

Source Code


Components

TypeVisibility AttributesNameInitial
character(len=MaxNameLength), public :: Name =' '
integer, public :: Construction =0
logical, public :: EMSConstructionOverrideON =.FALSE.
integer, public :: EMSConstructionOverrideValue =0
integer, public :: ConstructionStoredInputValue =0
integer, public :: Class =0
integer, public :: Shape =0
integer, public :: Sides =0
real(kind=r64), public :: Area =0.0d0
real(kind=r64), public :: GrossArea =0.0d0
real(kind=r64), public :: NetAreaShadowCalc =0.0d0
real(kind=r64), public :: Perimeter =0.0d0
real(kind=r64), public :: Azimuth =0.0d0
real(kind=r64), public :: Height =0.0d0
real(kind=r64), public :: Reveal =0.0d0
real(kind=r64), public :: Tilt =0.0d0
real(kind=r64), public :: Width =0.0d0
logical, public :: HeatTransSurf =.false.
integer, public :: HeatTransferAlgorithm =HeatTransferModel_NotSet
character(len=MaxNameLength), public :: BaseSurfName =' '
integer, public :: BaseSurf =0
integer, public :: NumSubSurfaces =0
character(len=MaxNameLength), public :: ZoneName =' '
integer, public :: Zone =0
character(len=MaxNameLength), public :: ExtBoundCondName =' '
integer, public :: ExtBoundCond =0
integer, public :: LowTempErrCount =0
integer, public :: HighTempErrCount =0
logical, public :: ExtSolar =.false.
logical, public :: ExtWind =.false.
integer, public :: IntConvCoeff =0
logical, public :: EMSOverrideIntConvCoef =.FALSE.
real(kind=r64), public :: EMSValueForIntConvCoef =0.0D0
integer, public :: ExtConvCoeff =0
logical, public :: EMSOverrideExtConvCoef =.FALSE.
real(kind=r64), public :: EMSValueForExtConvCoef =0.0D0
real(kind=r64), public :: ViewFactorGround =0.0d0
real(kind=r64), public :: ViewFactorSky =0.0d0
real(kind=r64), public :: ViewFactorGroundIR =0.0d0
real(kind=r64), public :: ViewFactorSkyIR =0.0d0
integer, public :: OSCPtr =0
integer, public :: OSCMPtr =0
integer, public :: SchedShadowSurfIndex =0
logical, public :: ShadowSurfSchedVaries =.false.
logical, public :: ShadowingSurf =.false.
logical, public :: IsTransparent =.false.
real(kind=r64), public :: SchedMinValue =0.0d0
real(kind=r64), public :: ShadowSurfDiffuseSolRefl =0.0d0
real(kind=r64), public :: ShadowSurfDiffuseVisRefl =0.0d0
real(kind=r64), public :: ShadowSurfGlazingFrac =0.0d0
integer, public :: ShadowSurfGlazingConstruct =0
logical, public :: ShadowSurfPossibleObstruction =.TRUE.
logical, public :: ShadowSurfPossibleReflector =.FALSE.
integer, public :: ShadowSurfRecSurfNum =0
integer, public :: MaterialMovInsulExt =0
integer, public :: MaterialMovInsulInt =0
integer, public :: SchedMovInsulExt =0
integer, public :: SchedMovInsulInt =0
type(vector), public, ALLOCATABLE, DIMENSION(:):: Vertex
type(vector), public :: Centroid =vector(0.0d0, 0.0d0, 0.0d0)
type(vector), public :: lcsx =vector(0.0d0, 0.0d0, 0.0d0)
type(vector), public :: lcsy =vector(0.0d0, 0.0d0, 0.0d0)
type(vector), public :: lcsz =vector(0.0d0, 0.0d0, 0.0d0)
type(vector), public :: NewellAreaVector =vector(0.0d0, 0.0d0, 0.0d0)
type(vector), public :: NewellSurfaceNormalVector =vector(0.0d0, 0.0d0, 0.0d0)
real(kind=r64), public, DIMENSION(3):: OutNormVec =0.0d0
real(kind=r64), public :: SinAzim =0.0d0
real(kind=r64), public :: CosAzim =0.0d0
real(kind=r64), public :: SinTilt =0.0d0
real(kind=r64), public :: CosTilt =0.0d0
logical, public :: IsConvex =.true.
logical, public :: IsDegenerate =.false.
integer, public :: WindowShadingControlPtr =0
integer, public :: ShadedConstruction =0
integer, public :: StormWinConstruction =0
integer, public :: StormWinShadedConstruction =0
integer, public :: FrameDivider =0
real(kind=r64), public :: Multiplier =1.0d0
integer, public :: Shelf =0
integer, public :: TAirRef =ZoneMeanAirTemp
real(kind=r64), public :: OutDryBulbTemp =0.0d0
logical, public :: OutDryBulbTempEMSOverrideOn =.FALSE.
real(kind=r64), public :: OutDryBulbTempEMSOverrideValue =0.d0
real(kind=r64), public :: OutWetBulbTemp =0.0d0
logical, public :: OutWetBulbTempEMSOverrideOn =.FALSE.
real(kind=r64), public :: OutWetBulbTempEMSOverrideValue =0.d0
real(kind=r64), public :: WindSpeed =0.0d0
logical, public :: WindSpeedEMSOverrideOn =.FALSE.
real(kind=r64), public :: WindSpeedEMSOverrideValue =0.d0
character(len=15), public :: UNomWOFilm ='-'
character(len=15), public :: UNomFilm ='-'
logical, public :: ExtEcoRoof =.false.
logical, public :: ExtCavityPresent =.false.
integer, public :: ExtCavNum =0
logical, public :: IsPV =.false.
logical, public :: IsICS =.false.
integer, public :: ICSPtr =0
logical, public :: MirroredSurf =.false.
integer, public :: IntConvClassification =0
integer, public :: IntConvHcModelEq =0
integer, public :: IntConvHcUserCurveIndex =0
integer, public :: OutConvClassification =0
integer, public :: OutConvHfModelEq =0
integer, public :: OutConvHfUserCurveIndex =0
integer, public :: OutConvHnModelEq =0
integer, public :: OutConvHnUserCurveIndex =0
real(kind=r64), public :: OutConvFaceArea =0.0d0
real(kind=r64), public :: OutConvFacePerimeter =0.0d0
real(kind=r64), public :: OutConvFaceHeight =0.0d0
real(kind=r64), public :: IntConvZoneWallHeight =0.0d0
real(kind=r64), public :: IntConvZonePerimLength =0.0d0
real(kind=r64), public :: IntConvZoneHorizHydrDiam =0.0d0
real(kind=r64), public :: IntConvWindowWallRatio =0.0d0
integer, public :: IntConvWindowLocation =InConvWinLoc_NotSet
logical, public :: IntConvSurfGetsRadiantHeat =.FALSE.
logical, public :: IntConvSurfHasActiveInIt =.FALSE.
logical, public :: PartOfVentSlabOrRadiantSurface =.false.
real(kind=r64), public :: GenericContam =0.d0

Source Code

TYPE SurfaceData

  CHARACTER(len=MaxNameLength) :: Name         = ' ' ! User supplied name of the surface (must be unique)
  INTEGER :: Construction                      = 0   ! Pointer to the construction in the Construct derived type
  LOGICAL :: EMSConstructionOverrideON         = .FALSE. ! if true, EMS is calling to override the construction value
  INTEGER :: EMSConstructionOverrideValue      = 0 ! pointer value to use for Construction when overridden
  INTEGER :: ConstructionStoredInputValue      = 0 ! holds the original value for Construction per surface input
  INTEGER :: Class                             =0

          ! Geometry related parameters
  INTEGER :: Shape                             = 0   ! Surface shape (Triangle=1,Quadrilateral=2,Rectangle=3,
                                                     !                Rectangular Window/Door=4,Rectangular Overhang=5,
                                                     !                Rectangular Left Fin=6,Rectangular Right Fin=7,
                                                     !                Triangular Window=8)
  INTEGER :: Sides                             = 0   ! Number of side/vertices for this surface (based on Shape)
  REAL(r64) :: Area                            = 0.0d0 ! Surface area of the surface (less any subsurfaces) {m2}
  REAL(r64) :: GrossArea                       = 0.0d0 ! Surface area of the surface (including subsurfaces) {m2}
  REAL(r64) :: NetAreaShadowCalc               = 0.0d0 ! Area of a wall/floor/ceiling less subsurfaces assuming
                                                     !  all windows, if present, have unity multiplier.
                                                     ! Wall/floor/ceiling/roof areas that include windows include
                                                     !  frame (unity) areas.
                                                     ! Areas of Windows including divider (unity) area.
                                                     ! These areas are used in shadowing / sunlit area calculations.
  REAL(r64) :: Perimeter                       = 0.0d0 ! Perimeter length of the surface {m}
  REAL(r64) :: Azimuth                         = 0.0d0 ! Direction the surface outward normal faces (degrees) or FACING
  REAL(r64) :: Height                          = 0.0d0 ! Height of the surface (m)
  REAL(r64) :: Reveal                          = 0.0d0 ! Depth of the window reveal (m) if this surface is a window
  REAL(r64) :: Tilt                            = 0.0d0 ! Angle (deg) between the ground outward normal and the surface outward normal
  REAL(r64) :: Width                           = 0.0d0 ! Width of the surface (m)

          ! Boundary conditions and interconnections
  LOGICAL :: HeatTransSurf                 = .false. ! True if surface is a heat transfer surface,
                                                     ! False if a (detached) shadowing (sub)surface
  INTEGER :: HeatTransferAlgorithm         = HeatTransferModel_NotSet ! used for surface-specific heat transfer algorithm.

  CHARACTER(len=MaxNameLength) :: BaseSurfName = ' ' ! Name of BaseSurf
  INTEGER :: BaseSurf                          = 0   ! "Base surface" for this surface.  Applies mainly to subsurfaces
                                                     ! in which case it points back to the base surface number.
                                                     ! Equals 0 for detached shading.
                                                     ! BaseSurf equals surface number for all other surfaces.
  INTEGER :: NumSubSurfaces                    = 0   ! Number of subsurfaces this surface has (doors/windows)
  CHARACTER(len=MaxNameLength) :: ZoneName     = ' ' ! User supplied name of the Zone
  INTEGER :: Zone                              = 0   ! Interior environment or zone the surface is a part of
                                                     ! Note that though attached shading surfaces are part of a zone, this
                                                     ! value is 0 there to facilitate using them as detached surfaces (more
                                                     ! accurate shading.
  CHARACTER(len=MaxNameLength) :: ExtBoundCondName = ' ' ! Name for the Outside Environment Object
  INTEGER :: ExtBoundCond                      = 0   ! For an "interzone" surface, this is the adjacent surface number.
                                                     ! for an internal/adiabatic surface this is the current surface number.
                                                     ! Otherwise, 0=external environment, -1=ground,
                                                     ! -2=other side coefficients (OSC--won't always use CTFs)
                                                     ! -3=other side conditions model
                                                     ! During input, interim values of UnreconciledZoneSurface ("Surface") and
                                                     ! UnenteredAdjacentZoneSurface ("Zone") are used until reconciled.
  INTEGER :: LowTempErrCount               = 0
  INTEGER :: HighTempErrCount              = 0
  LOGICAL :: ExtSolar                      = .false. ! True if the "outside" of the surface is exposed to solar
  LOGICAL :: ExtWind                       = .false. ! True if the "outside" of the surface is exposed to wind

          ! Heat transfer coefficients
  INTEGER :: IntConvCoeff                      = 0   ! Interior Convection Coefficient pointer (different data structure)
                                                     ! when being overridden
  LOGICAL :: EMSOverrideIntConvCoef            = .FALSE. ! if true, EMS is calling to override interior convection coefficeint
  REAL(r64) :: EMSValueForIntConvCoef          = 0.0D0 ! Value EMS is calling to use for interior convection coefficient [W/m2-K]
  INTEGER :: ExtConvCoeff                      = 0   ! Exterior Convection Coefficient pointer (different data structure)
                                                     ! when being overridden
  LOGICAL :: EMSOverrideExtConvCoef            = .FALSE. ! if true, EMS is calling to override exterior convection coefficeint
  REAL(r64) :: EMSValueForExtConvCoef          = 0.0D0 ! Value EMS is calling to use for exterior convection coefficient [W/m2-K]
  REAL(r64) :: ViewFactorGround                = 0.0d0 ! View factor to the ground from the exterior of the surface
                                                     !   for diffuse solar radiation
  REAL(r64) :: ViewFactorSky                   = 0.0d0 ! View factor to the sky from the exterior of the surface
                                                     !   for diffuse solar radiation
  REAL(r64) :: ViewFactorGroundIR              = 0.0d0 ! View factor to the ground and shadowing surfaces from the
                                                     !    exterior of the surface for IR radiation
  REAL(r64) :: ViewFactorSkyIR                 = 0.0d0 ! View factor to the sky from the exterior of the surface for IR radiation

          ! Special/optional other side coefficients (OSC)
  INTEGER :: OSCPtr                            = 0   ! Pointer to OSC data structure
  INTEGER :: OSCMPtr                           = 0   ! "Pointer" to OSCM data structure (other side conditions from a model)

          ! Optional parameters specific to shadowing surfaces and subsurfaces (detached shading, overhangs, wings, etc.)
  INTEGER :: SchedShadowSurfIndex              = 0   ! Schedule for a shadowing (sub)surface
  LOGICAL :: ShadowSurfSchedVaries             = .false. ! true if the scheduling (transmittance) on a shading surface varies.
  LOGICAL :: ShadowingSurf                     = .false. ! True if a surface is a shadowing surface
  LOGICAL :: IsTransparent                     = .false. ! True if the schedule values are always 1.0 (or the minimum is 1.0)
  REAL(r64) :: SchedMinValue                   = 0.0d0   ! Schedule minimum value.

          ! Optional parameters specific to solar reflection from surfaces
  REAL(r64)    :: ShadowSurfDiffuseSolRefl     = 0.0d0 ! Diffuse solar reflectance of opaque portion
  REAL(r64)    :: ShadowSurfDiffuseVisRefl     = 0.0d0 ! Diffuse visible reflectance of opaque portion
  REAL(r64)    :: ShadowSurfGlazingFrac        = 0.0d0 ! Glazing fraction
  INTEGER :: ShadowSurfGlazingConstruct        = 0   ! Glazing construction number
  LOGICAL :: ShadowSurfPossibleObstruction     = .TRUE. ! True if a surface can be an exterior obstruction
  LOGICAL :: ShadowSurfPossibleReflector       = .FALSE. ! True if a surface can be an exterior reflector, not used!
  INTEGER :: ShadowSurfRecSurfNum              = 0   ! Receiving surface number

          ! Optional movable insulation parameters
  INTEGER :: MaterialMovInsulExt               = 0   ! Pointer to the material used for exterior movable insulation
  INTEGER :: MaterialMovInsulInt               = 0   ! Pointer to the material used for interior movable insulation
  INTEGER :: SchedMovInsulExt                  = 0   ! Schedule for exterior movable insulation
  INTEGER :: SchedMovInsulInt                  = 0   ! Schedule for interior movable insulation

          ! Vertices
  TYPE (vector), ALLOCATABLE, DIMENSION(:) :: Vertex     ! Surface Vertices are represented by Number of Sides and Vector (type)
  TYPE (vector) :: Centroid          =vector(0.0d0,0.0d0,0.0d0)   ! computed centroid (also known as center of mass or surface balance point)
  type (vector) :: lcsx              =vector(0.0d0,0.0d0,0.0d0)
  type (vector) :: lcsy              =vector(0.0d0,0.0d0,0.0d0)
  type (vector) :: lcsz              =vector(0.0d0,0.0d0,0.0d0)
  type (vector) :: NewellAreaVector  =vector(0.0d0,0.0d0,0.0d0)
  type (vector) :: NewellSurfaceNormalVector  =vector(0.0d0,0.0d0,0.0d0)  ! same as OutNormVec in vector notation
  REAL(r64), DIMENSION(3) :: OutNormVec        = 0.0d0  ! Direction cosines (outward normal vector) for surface

  REAL(r64) :: SinAzim                         = 0.0d0 ! Sine of surface azimuth angle
  REAL(r64) :: CosAzim                         = 0.0d0 ! Cosine of surface azimuth angle
  REAL(r64) :: SinTilt                         = 0.0d0 ! Sine of surface tilt angle
  REAL(r64) :: CosTilt                         = 0.0d0 ! Cosine of surface tilt angle
  LOGICAL   :: IsConvex                        = .true. ! true if the surface is convex.
  LOGICAL   :: IsDegenerate                    = .false. ! true if the surface is degenerate.

          ! Window Parameters (when surface is Window)
  INTEGER :: WindowShadingControlPtr           = 0   ! Pointer to shading control (windows only)
  INTEGER :: ShadedConstruction                = 0   ! Shaded construction (windows only)
  INTEGER :: StormWinConstruction              = 0   ! Construction with storm window (windows only)
  INTEGER :: StormWinShadedConstruction        = 0   ! Shaded construction with storm window (windows only)
  INTEGER :: FrameDivider                      = 0   ! Pointer to frame and divider information (windows only)
  REAL(r64)    :: Multiplier                   = 1.0d0 ! Multiplies glazed area, frame area and divider area (windows only)
          ! Daylighting pointers
  INTEGER :: Shelf                             = 0   ! Pointer to daylighting shelf
  INTEGER :: TAirRef                           = ZoneMeanAirTemp  ! Flag for reference air temperature
        ! ZoneMeanAirTemp   = 1 = mean air temperature or MAT => for mixing air model with all convection algos
        ! except inlet-dependent algo
        ! AdjacentAirTemp   = 2 = adjacent air temperature or TempEffBulkAir => for nodal or zonal air model
        ! with all convection algos except inlet-dependent algo
        ! ZoneSupplyAirTemp = 3 = supply air temperature => for mixing air model with inlet-dependent algo
        ! Default value is 'ZoneMeanAirTemp' and value for each particular surface will be changed only if
                                ! the inlet-dependent convection algorithm and/or nodal and zonal air models are used.
  REAL(r64) :: OutDryBulbTemp                  = 0.0d0 ! Surface outside dry bulb air temperature, for surface heat balance (C)
  LOGICAL   :: OutDryBulbTempEMSOverrideOn     = .FALSE. ! if true, EMS is calling to override the surface's outdoor air temp
  REAL(r64) :: OutDryBulbTempEMSOverrideValue  = 0.d0 ! value to use for EMS override of outdoor air dryblub temp (C)
  REAL(r64) :: OutWetBulbTemp                  = 0.0d0 ! Surface outside wet bulb air temperature, for surface heat balance (C)
  LOGICAL   :: OutWetBulbTempEMSOverrideOn     = .FALSE. ! if true, EMS is calling to override the surface's outdoor wetbulb
  REAL(r64) :: OutWetBulbTempEMSOverrideValue  = 0.d0 ! value to use for EMS override of outdoor air wetblub temp (C)
  REAL(r64) :: WindSpeed                       = 0.0d0 ! Surface outside wind speed, for surface heat balance (m/s)
  LOGICAL   :: WindSpeedEMSOverrideOn          = .FALSE. !
  REAL(r64) :: WindSpeedEMSOverrideValue       = 0.d0 !
  CHARACTER(len=15) :: UNomWOFilm              = '-' ! Nominal U Value without films stored as string
  CHARACTER(len=15) :: UNomFilm                = '-' ! Nominal U Value with films stored as string

  LOGICAL :: ExtEcoRoof                    = .false. ! True if the top outside construction material is of type Eco Roof
  LOGICAL :: ExtCavityPresent              = .false. ! true if there is an exterior vented cavity on surface
  INTEGER :: ExtCavNum                     = 0        ! index for this surface in ExtVentedCavity structure (if any)
  LOGICAL :: IsPV                          = .false.  ! true if this is a photovoltaic surface (dxf output)
  LOGICAL :: IsICS                         = .false.  ! true if this is an ICS collector
  INTEGER :: ICSPtr                        = 0        ! Index to ICS collector

  ! TH added 3/26/2010
  LOGICAL :: MirroredSurf                  = .false.  ! Ture if it is a mirrored surface

  ! additional attributes for convection correlations
  INTEGER   :: IntConvClassification     = 0 ! current classification for inside face air flow regime and surface orientation
  INTEGER   :: IntConvHcModelEq          = 0 ! current convection model for inside face
  INTEGER   :: IntConvHcUserCurveIndex   = 0 ! current index to user convection model if used
  INTEGER   :: OutConvClassification     = 0 ! current classification for outside face wind regime and convection orientation
  INTEGER   :: OutConvHfModelEq          = 0 ! current convection model for forced convection at outside face
  INTEGER   :: OutConvHfUserCurveIndex   = 0 ! current index to user forced convection model if used
  INTEGER   :: OutConvHnModelEq          = 0 ! current Convection model for natural convection at outside face
  INTEGER   :: OutConvHnUserCurveIndex   = 0 ! current index to user natural convection model if used

  REAL(r64) :: OutConvFaceArea           = 0.0d0 ! area of larger building envelope facade that surface is a part of
  REAL(r64) :: OutConvFacePerimeter      = 0.0d0 ! perimeter of larger building envelope facade that surface is a part of
  REAL(r64) :: OutConvFaceHeight         = 0.0d0 ! height of larger building envelope facade that surface is a part of
  REAL(r64) :: IntConvZoneWallHeight     = 0.0d0 ! [m] height of larger inside building wall element that surface is a part of
  REAL(r64) :: IntConvZonePerimLength    = 0.0d0 ! [m] length of perimeter zone's exterior wall
  REAL(r64) :: IntConvZoneHorizHydrDiam  = 0.0d0 ! [m] hydraulic diameter, usually 4 times the zone floor area div by perimeter
  REAL(r64) :: IntConvWindowWallRatio    = 0.0d0 ! [-] area of windows over area of exterior wall for zone
  INTEGER   :: IntConvWindowLocation     = InConvWinLoc_NotSet ! relative location of window in zone for interior Hc models
  LOGICAL   :: IntConvSurfGetsRadiantHeat= .FALSE.
  LOGICAL   :: IntConvSurfHasActiveInIt  = .FALSE.
  LOGICAL   :: PartOfVentSlabOrRadiantSurface = .false. ! surface cannot be part of both a radiant surface & ventilated slab group
  ! LG added 1/6/12
  REAL(r64) :: GenericContam             = 0.d0 ! [ppm] Surface generic contaminant as a storage term for
                                                ! the surface diffusion model
END TYPE SurfaceData

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