Description: "Package with models to compute the sky temperature"

- Home > Modelica

## Buildings.BoundaryConditions.SkyTemperature

Package with models to compute the sky temperature

### Information

This package contains models to compute the black body sky temperature.

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

### Package Content

Name | Description
--- | ---
BlackBody | Calculate black body sky temperature
Examples | Collection of models that illustrate model use and test models

## Buildings.BoundaryConditions.SkyTemperature.BlackBody

Calculate black body sky temperature

### Information

This component computes the black-body sky temperature.

For `calTSky = 0`, the model uses horizontal infrared irradiation. Otherwise, it uses dry buld temperature, dew point temperature and opaque sky cover.

Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
SkyTemperatureCalculation | calTSky | SkyTemperatureCalculation.Te... | Computation of black-body sky temperature

### Connectors

Type | Name | Description
--- | --- | ---
input RealInput | TDryBul | Dry bulb temperature at ground level [K]
input RealInput | TDewPoi | Dew point temperature [K]
input RealInput | nOpa | Opaque sky cover
output RealOutput | TBlaSky | Black-body sky temperature [K]
input RealInput | radHorIR | Horizontal infrared irradiation [W/m2]

### Modelica definition

block BlackBody "Calculate black body sky temperature" extends Modelica.Blocks.Icons.Block; import Buildings.BoundaryConditions.Types.SkyTemperatureCalculation; parameter Buildings.BoundaryConditions.Types.SkyTemperatureCalculation calTSky= SkyTemperatureCalculation.TemperaturesAndSkyCover "Computation of black-body sky temperature"; Modelica.Blocks.Interfaces.RealInput TDryBul( final quantity="ThermodynamicTemperature", final unit="K", displayUnit="degC") "Dry bulb temperature at ground level"; Modelica.Blocks.Interfaces.RealInput TDewPoi( final quantity="ThermodynamicTemperature", final unit="K", displayUnit="degC") "Dew point temperature"; Modelica.Blocks.Interfaces.RealInput nOpa "Opaque sky cover"; Modelica.Blocks.Interfaces.RealOutput TBlaSky( final quantity="ThermodynamicTemperature", displayUnit="degC", final unit="K") "Black-body sky temperature"; Modelica.Blocks.Interfaces.RealInput radHorIR( unit="W/m2", min=0, nominal=100) "Horizontal infrared irradiation"; protected Modelica.SIunits.Temperature TDewPoiK "Dewpoint temperature"; Modelica.SIunits.Emissivity epsSky "Black-body absorptivity of sky"; Real nOpa10(min=0, max=10) "Opaque sky cover"; algorithm if calTSky == Buildings.BoundaryConditions.Types.SkyTemperatureCalculation.TemperaturesAndSkyCover then TDewPoiK := Buildings.Utilities.Math.Functions.smoothMin(TDryBul, TDewPoi, 0.1); nOpa10 := 10*nOpa "Input nOpa is scaled to [0,1] instead of [0,10]"; epsSky := (0.787 + 0.764*Modelica.Math.log(-TDewPoiK/Modelica.Constants.T_zero))*(1 + 0.0224*nOpa10 - 0.0035*(nOpa10^2) + 0.00028*(nOpa10^3)); TBlaSky := TDryBul*(epsSky^0.25); else TDewPoiK := 273.15; nOpa10 := 0.0; epsSky := 0.0; TBlaSky := (radHorIR/Modelica.Constants.sigma)^0.25; end if; end BlackBody;