code/__DEFINES/atmospherics.dm

R_IDEAL_GAS_EQUATION | kPaL/(Kmol) |
---|---|
ONE_ATMOSPHERE | kPa |
TCMB | -270.3degC |
TCRYO | -48.15degC |
T0C | 0degC |
T20C | 20degC |
COLD_ROOM_TEMP | -14C - Temperature used for kitchen cold room, medical freezer, etc. |
MINIMUM_HEAT_CAPACITY | I feel the need to document what happens here. Basically this is used catch rounding errors, and make gas go away in small portions. People have raised it to higher levels in the past, do not do this. Consider this number a soft limit If you're making gasmixtures that have unexpected behavior related to this value, you're doing something wrong. |
MINIMUM_MOLE_COUNT | Minimum mole count of a gas |
MOLAR_ACCURACY | Molar accuracy to round to |
GAS_TYPE_COUNT | Types of gases (based on gaslist_cache) |
MAXIMUM_ERROR_GAS_REMOVAL | Maximum error caused by QUANTIZE when removing gas (roughly, in reality around 2 * MOLAR_ACCURACY less) |
MOLES_CELLSTANDARD | moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC (103 or so) |
M_CELL_WITH_RATIO | compared against for superconductivity |
O2STANDARD | percentage of oxygen in a normal mixture of air |
N2STANDARD | same but for nitrogen |
MOLES_O2STANDARD | O2 standard value (21%) |
MOLES_N2STANDARD | N2 standard value (79%) |
CELL_VOLUME | liters in a cell |
BREATH_VOLUME | |
BREATH_PERCENTAGE | Amount of air to take a from a tile |
EXCITED_GROUP_BREAKDOWN_CYCLES | Some further context on breakdown. Unlike dismantle, the breakdown ticker doesn't reset itself when a tile is added This is because we cannot expect maps to have small spaces, so we need to even ourselves out often We do this to avoid equalizing a large space in one tick, with some significant amount of say heat diff This way large areas don't suddenly all become cold at once, it acts more like a wave |
EXCITED_GROUP_DISMANTLE_CYCLES | number of FULL air controller ticks before an excited group dismantles and removes its turfs from active |
MINIMUM_AIR_RATIO_TO_SUSPEND | Ratio of air that must move to/from a tile to reset group processing |
MINIMUM_AIR_RATIO_TO_MOVE | Minimum ratio of air that must move to/from a tile |
MINIMUM_AIR_TO_SUSPEND | Minimum amount of air that has to move before a group processing can be suspended (Round about 10) |
MINIMUM_MOLES_DELTA_TO_MOVE | Either this must be active (round about 0.1) //Might need to raise this a tad to better support space leaks. we'll see |
MINIMUM_TEMPERATURE_TO_MOVE | or this (or both, obviously) |
MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND | Minimum temperature difference before group processing is suspended |
MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER | Minimum temperature difference before the gas temperatures are just set to be equal |
WINDOW_HEAT_TRANSFER_COEFFICIENT | a hack for now |
HEAT_CAPACITY_VACUUM | a hack to help make vacuums "cold", sacrificing realism for gameplay |
MOLES_GAS_VISIBLE | Moles in a standard cell after which gases are visible |
FACTOR_GAS_VISIBLE_MAX | moles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility |
MOLES_GAS_VISIBLE_STEP | Mole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on |
TOTAL_VISIBLE_STATES | The total visible states |
FUSION_RAD_MAX | Max amount of radiation that can be emitted per reaction cycle |
FUSION_INSTABILITY_ENDOTHERMALITY | Maximum instability before the reaction goes endothermic |
FUSION_MAXIMUM_TEMPERATURE | Maximum reachable fusion temperature |
HAZARD_HIGH_PRESSURE | This determins at what pressure the ultra-high pressure red icon is displayed. (This one is set as a constant) |
WARNING_HIGH_PRESSURE | This determins when the orange pressure icon is displayed (it is 0.7 * HAZARD_HIGH_PRESSURE) |
WARNING_LOW_PRESSURE | This is when the gray low pressure icon is displayed. (it is 2.5 * HAZARD_LOW_PRESSURE) |
HAZARD_LOW_PRESSURE | This is when the black ultra-low pressure icon is displayed. (This one is set as a constant) |
TEMPERATURE_DAMAGE_COEFFICIENT | This is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount. |
BODYTEMP_NORMAL | The natural temperature for a body |
BODYTEMP_AUTORECOVERY_DIVISOR | This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive. |
BODYTEMP_AUTORECOVERY_MINIMUM | Minimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50. |
BODYTEMP_COLD_DIVISOR | Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster. |
BODYTEMP_HEAT_DIVISOR | Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster. |
BODYTEMP_COOLING_MAX | The maximum number of degrees that your body can cool in 1 tick, due to the environment, when in a cold area. |
BODYTEMP_HEATING_MAX | The maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area. |
BODYTEMP_HEAT_DAMAGE_LIMIT | The body temperature limit the human body can take before it starts taking damage from heat. This also affects how fast the body normalises it's temperature when hot. 340k is about 66c, and rather high for a human. |
BODYTEMP_COLD_DAMAGE_LIMIT | The body temperature limit the human body can take before it starts taking damage from cold. This also affects how fast the body normalises it's temperature when cold. 270k is about -3c, that is below freezing and would hurt over time. |
BODYTEMP_HEAT_WOUND_LIMIT | The body temperature limit the human body can take before it will take wound damage. |
BODYTEMP_HULK_COLD_DAMAGE_LIMIT_MODIFIER | The modifier on cold damage limit hulks get ontop of their regular limit |
HULK_COLD_DAMAGE_MOD | The modifier on cold damage hulks get. |
BODYTEMP_HEAT_WARNING_3 | The temperature the red icon is displayed. |
BODYTEMP_HEAT_WARNING_2 | The temperature the orange icon is displayed. |
BODYTEMP_HEAT_WARNING_1 | The temperature the yellow icon is displayed. |
BODYTEMP_COLD_WARNING_1 | The temperature the light green icon is displayed. |
BODYTEMP_COLD_WARNING_2 | The temperature the cyan icon is displayed. |
BODYTEMP_COLD_WARNING_3 | The temperature the blue icon is displayed. |
SPACE_HELM_MIN_TEMP_PROTECT | what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0. |
SPACE_HELM_MAX_TEMP_PROTECT | Thermal insulation works both ways /Malkevin |
SPACE_SUIT_MIN_TEMP_PROTECT | what min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0. |
SPACE_SUIT_MIN_TEMP_PROTECT_OFF | The min cold protection of a space suit without the heater active |
FIRE_SUIT_MIN_TEMP_PROTECT | Cold protection for firesuits |
FIRE_SUIT_MAX_TEMP_PROTECT | what max_heat_protection_temperature is set to for firesuit quality suits. MUST NOT BE 0. |
FIRE_HELM_MIN_TEMP_PROTECT | Cold protection for fire helmets |
FIRE_HELM_MAX_TEMP_PROTECT | for fire helmet quality items (red and white hardhats) |
FIRE_IMMUNITY_MAX_TEMP_PROTECT | what max_heat_protection_temperature is set to for firesuit quality suits and helmets. MUST NOT BE 0. |
HELMET_MIN_TEMP_PROTECT | For normal helmets |
HELMET_MAX_TEMP_PROTECT | For normal helmets |
ARMOR_MIN_TEMP_PROTECT | For armor |
ARMOR_MAX_TEMP_PROTECT | For armor |
GLOVES_MIN_TEMP_PROTECT | For some gloves (black and) |
GLOVES_MAX_TEMP_PROTECT | For some gloves |
SHOES_MIN_TEMP_PROTECT | For gloves |
SHOES_MAX_TEMP_PROTECT | For gloves |
PRESSURE_DAMAGE_COEFFICIENT | The amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE |
LOW_PRESSURE_DAMAGE | The amount of damage someone takes when in a low pressure area (The pressure threshold is so low that it doesn't make sense to do any calculations, so it just applies this flat value). |
COLD_SLOWDOWN_FACTOR | Humans are slowed by the difference between bodytemp and BODYTEMP_COLD_DAMAGE_LIMIT divided by this |
MAX_OUTPUT_PRESSURE | (kPa) What pressure pumps and powered equipment max out at. |
MAX_TRANSFER_RATE | (L/s) Maximum speed powered equipment can work at. |
VOLUME_PUMP_LEAK_AMOUNT | How many percent of the contents that an overclocked volume pumps leak into the air |
TANK_MELT_TEMPERATURE | temperature in kelvins at which a tank will start to melt |
TANK_LEAK_PRESSURE | Tank starts leaking |
TANK_RUPTURE_PRESSURE | Tank spills all contents into atmosphere |
TANK_FRAGMENT_PRESSURE | Boom 3x3 base explosion |
TANK_FRAGMENT_SCALE | +1 for each SCALE kPa aboe threshold |
ATMOS_PASS_PROC | ask CanAtmosPass() |
ATMOS_PASS_DENSITY | just check density |
OPENTURF_DEFAULT_ATMOS | the default air mix that open turfs spawn |
TCOMMS_ATMOS | -193,15°C telecommunications. also used for xenobiology slime killrooms |
AIRLESS_ATMOS | space |
FROZEN_ATMOS | -93.15°C snow and ice turfs |
KITCHEN_COLDROOM_ATMOS | -14°C kitchen coldroom, just might loss your tail; higher amount of mol to reach about 101.3 kpA |
BURNMIX_ATMOS | used in the holodeck burn test program |
LAVALAND_EQUIPMENT_EFFECT_PRESSURE | what pressure you have to be under to increase the effect of equipment meant for lavaland |
PIPING_ALL_LAYER | intended to connect with all layers, check for all instead of just one. |
PIPING_ONE_PER_TURF | can only be built if nothing else with this flag is on the tile already. |
PIPING_DEFAULT_LAYER_ONLY | can only exist at PIPING_LAYER_DEFAULT |
PIPING_CARDINAL_AUTONORMALIZE | north/south east/west doesn't matter, auto normalize on build. |
PIPING_ALL_COLORS | intended to connect with everything, both layers and colors |
PIPING_BRIDGE | can bridge over pipenets |
VENTCRAWL_ALLOWED | Allows for ventcrawling to occur. All atmospheric machines have this flag on by default. Cryo is the exception |
VENTCRAWL_ENTRANCE_ALLOWED | Allows mobs to enter or leave from atmospheric machines. On for passive, unary, and scrubber vents. |
VENTCRAWL_CAN_SEE | Used to check if a machinery is visible. Called by update_pipe_vision(). On by default for all except cryo. |
Define Details
AIRLESS_ATMOS
space
ARMOR_MAX_TEMP_PROTECT
For armor
ARMOR_MIN_TEMP_PROTECT
For armor
ATMOS_PASS_DENSITY
just check density
ATMOS_PASS_PROC
ask CanAtmosPass()
BODYTEMP_AUTORECOVERY_DIVISOR
This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive.
BODYTEMP_AUTORECOVERY_MINIMUM
Minimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50.
BODYTEMP_COLD_DAMAGE_LIMIT
The body temperature limit the human body can take before it starts taking damage from cold. This also affects how fast the body normalises it's temperature when cold. 270k is about -3c, that is below freezing and would hurt over time.
BODYTEMP_COLD_DIVISOR
Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster.
BODYTEMP_COLD_WARNING_1
The temperature the light green icon is displayed.
BODYTEMP_COLD_WARNING_2
The temperature the cyan icon is displayed.
BODYTEMP_COLD_WARNING_3
The temperature the blue icon is displayed.
BODYTEMP_COOLING_MAX
The maximum number of degrees that your body can cool in 1 tick, due to the environment, when in a cold area.
BODYTEMP_HEATING_MAX
The maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area.
BODYTEMP_HEAT_DAMAGE_LIMIT
The body temperature limit the human body can take before it starts taking damage from heat. This also affects how fast the body normalises it's temperature when hot. 340k is about 66c, and rather high for a human.
BODYTEMP_HEAT_DIVISOR
Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster.
BODYTEMP_HEAT_WARNING_1
The temperature the yellow icon is displayed.
BODYTEMP_HEAT_WARNING_2
The temperature the orange icon is displayed.
BODYTEMP_HEAT_WARNING_3
The temperature the red icon is displayed.
BODYTEMP_HEAT_WOUND_LIMIT
The body temperature limit the human body can take before it will take wound damage.
BODYTEMP_HULK_COLD_DAMAGE_LIMIT_MODIFIER
The modifier on cold damage limit hulks get ontop of their regular limit
BODYTEMP_NORMAL
The natural temperature for a body
BREATH_PERCENTAGE
Amount of air to take a from a tile
BREATH_VOLUME
- liters in a normal breath. note that breaths are taken once every 4 life ticks, which is 8 seconds
- Addendum for people tweaking this value in the future.
- Because o2 tank release values/human o2 requirements are very strictly set to the same pressure, small errors can cause breakage
- This comes from QUANTIZE being used in /datum/gas_mixture.remove(), forming a slight sawtooth pattern of the added/removed gas, centered on the actual pressure
- Changing BREATH_VOLUME can set us on the lower half of this sawtooth, making humans unable to breath at standard pressure.
- There's no good way I can come up with to hardcode a fix for this. So if you're going to change this variable
- graph the functions that describe how it is used/how it interacts with breath code, and pick something on the upper half of the sawtooth
BURNMIX_ATMOS
used in the holodeck burn test program
CELL_VOLUME
liters in a cell
COLD_ROOM_TEMP
-14C - Temperature used for kitchen cold room, medical freezer, etc.
COLD_SLOWDOWN_FACTOR
Humans are slowed by the difference between bodytemp and BODYTEMP_COLD_DAMAGE_LIMIT divided by this
EXCITED_GROUP_BREAKDOWN_CYCLES
Some further context on breakdown. Unlike dismantle, the breakdown ticker doesn't reset itself when a tile is added This is because we cannot expect maps to have small spaces, so we need to even ourselves out often We do this to avoid equalizing a large space in one tick, with some significant amount of say heat diff This way large areas don't suddenly all become cold at once, it acts more like a wave
Because of this and the behavior of share(), the breakdown cycles value can be tweaked directly to effect how fast we want gas to move number of FULL air controller ticks before an excited group breaks down (averages gas contents across turfs)
EXCITED_GROUP_DISMANTLE_CYCLES
number of FULL air controller ticks before an excited group dismantles and removes its turfs from active
FACTOR_GAS_VISIBLE_MAX
moles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility
FIRE_HELM_MAX_TEMP_PROTECT
for fire helmet quality items (red and white hardhats)
FIRE_HELM_MIN_TEMP_PROTECT
Cold protection for fire helmets
FIRE_IMMUNITY_MAX_TEMP_PROTECT
what max_heat_protection_temperature is set to for firesuit quality suits and helmets. MUST NOT BE 0.
FIRE_SUIT_MAX_TEMP_PROTECT
what max_heat_protection_temperature is set to for firesuit quality suits. MUST NOT BE 0.
FIRE_SUIT_MIN_TEMP_PROTECT
Cold protection for firesuits
FROZEN_ATMOS
-93.15°C snow and ice turfs
FUSION_INSTABILITY_ENDOTHERMALITY
Maximum instability before the reaction goes endothermic
FUSION_MAXIMUM_TEMPERATURE
Maximum reachable fusion temperature
FUSION_RAD_MAX
Max amount of radiation that can be emitted per reaction cycle
GAS_TYPE_COUNT
Types of gases (based on gaslist_cache)
GLOVES_MAX_TEMP_PROTECT
For some gloves
GLOVES_MIN_TEMP_PROTECT
For some gloves (black and)
HAZARD_HIGH_PRESSURE
This determins at what pressure the ultra-high pressure red icon is displayed. (This one is set as a constant)
HAZARD_LOW_PRESSURE
This is when the black ultra-low pressure icon is displayed. (This one is set as a constant)
HEAT_CAPACITY_VACUUM
a hack to help make vacuums "cold", sacrificing realism for gameplay
HELMET_MAX_TEMP_PROTECT
For normal helmets
HELMET_MIN_TEMP_PROTECT
For normal helmets
HULK_COLD_DAMAGE_MOD
The modifier on cold damage hulks get.
KITCHEN_COLDROOM_ATMOS
-14°C kitchen coldroom, just might loss your tail; higher amount of mol to reach about 101.3 kpA
LAVALAND_EQUIPMENT_EFFECT_PRESSURE
what pressure you have to be under to increase the effect of equipment meant for lavaland
LOW_PRESSURE_DAMAGE
The amount of damage someone takes when in a low pressure area (The pressure threshold is so low that it doesn't make sense to do any calculations, so it just applies this flat value).
MAXIMUM_ERROR_GAS_REMOVAL
Maximum error caused by QUANTIZE when removing gas (roughly, in reality around 2 * MOLAR_ACCURACY less)
MAX_OUTPUT_PRESSURE
(kPa) What pressure pumps and powered equipment max out at.
MAX_TRANSFER_RATE
(L/s) Maximum speed powered equipment can work at.
MINIMUM_AIR_RATIO_TO_MOVE
Minimum ratio of air that must move to/from a tile
MINIMUM_AIR_RATIO_TO_SUSPEND
Ratio of air that must move to/from a tile to reset group processing
MINIMUM_AIR_TO_SUSPEND
Minimum amount of air that has to move before a group processing can be suspended (Round about 10)
MINIMUM_HEAT_CAPACITY
I feel the need to document what happens here. Basically this is used catch rounding errors, and make gas go away in small portions. People have raised it to higher levels in the past, do not do this. Consider this number a soft limit If you're making gasmixtures that have unexpected behavior related to this value, you're doing something wrong.
On an unrelated note this may cause a bug that creates negative gas, related to round(). When it has a second arg it will round up. So for instance round(0.5, 1) == 1. I've hardcoded a fix for this into share, by forcing the garbage collect. Any other attempts to fix it just killed atmos. I leave this to a greater man then I The minimum heat capacity of a gas
MINIMUM_MOLES_DELTA_TO_MOVE
Either this must be active (round about 0.1) //Might need to raise this a tad to better support space leaks. we'll see
MINIMUM_MOLE_COUNT
Minimum mole count of a gas
MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER
Minimum temperature difference before the gas temperatures are just set to be equal
MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND
Minimum temperature difference before group processing is suspended
MINIMUM_TEMPERATURE_TO_MOVE
or this (or both, obviously)
MOLAR_ACCURACY
Molar accuracy to round to
MOLES_CELLSTANDARD
moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC (103 or so)
MOLES_GAS_VISIBLE
Moles in a standard cell after which gases are visible
MOLES_GAS_VISIBLE_STEP
Mole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on
MOLES_N2STANDARD
N2 standard value (79%)
MOLES_O2STANDARD
O2 standard value (21%)
M_CELL_WITH_RATIO
compared against for superconductivity
N2STANDARD
same but for nitrogen
O2STANDARD
percentage of oxygen in a normal mixture of air
ONE_ATMOSPHERE
kPa
OPENTURF_DEFAULT_ATMOS
the default air mix that open turfs spawn
PIPING_ALL_COLORS
intended to connect with everything, both layers and colors
PIPING_ALL_LAYER
intended to connect with all layers, check for all instead of just one.
PIPING_BRIDGE
can bridge over pipenets
PIPING_CARDINAL_AUTONORMALIZE
north/south east/west doesn't matter, auto normalize on build.
PIPING_DEFAULT_LAYER_ONLY
can only exist at PIPING_LAYER_DEFAULT
PIPING_ONE_PER_TURF
can only be built if nothing else with this flag is on the tile already.
PRESSURE_DAMAGE_COEFFICIENT
The amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE
R_IDEAL_GAS_EQUATION
kPaL/(Kmol)
SHOES_MAX_TEMP_PROTECT
For gloves
SHOES_MIN_TEMP_PROTECT
For gloves
SPACE_HELM_MAX_TEMP_PROTECT
Thermal insulation works both ways /Malkevin
SPACE_HELM_MIN_TEMP_PROTECT
what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0.
SPACE_SUIT_MIN_TEMP_PROTECT
what min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0.
SPACE_SUIT_MIN_TEMP_PROTECT_OFF
The min cold protection of a space suit without the heater active
T0C
0degC
T20C
20degC
TANK_FRAGMENT_PRESSURE
Boom 3x3 base explosion
TANK_FRAGMENT_SCALE
+1 for each SCALE kPa aboe threshold
TANK_LEAK_PRESSURE
Tank starts leaking
TANK_MELT_TEMPERATURE
temperature in kelvins at which a tank will start to melt
TANK_RUPTURE_PRESSURE
Tank spills all contents into atmosphere
TCMB
-270.3degC
TCOMMS_ATMOS
-193,15°C telecommunications. also used for xenobiology slime killrooms
TCRYO
-48.15degC
TEMPERATURE_DAMAGE_COEFFICIENT
This is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount.
TOTAL_VISIBLE_STATES
The total visible states
VENTCRAWL_ALLOWED
Allows for ventcrawling to occur. All atmospheric machines have this flag on by default. Cryo is the exception
VENTCRAWL_CAN_SEE
Used to check if a machinery is visible. Called by update_pipe_vision(). On by default for all except cryo.
VENTCRAWL_ENTRANCE_ALLOWED
Allows mobs to enter or leave from atmospheric machines. On for passive, unary, and scrubber vents.
VOLUME_PUMP_LEAK_AMOUNT
How many percent of the contents that an overclocked volume pumps leak into the air
WARNING_HIGH_PRESSURE
This determins when the orange pressure icon is displayed (it is 0.7 * HAZARD_HIGH_PRESSURE)
WARNING_LOW_PRESSURE
This is when the gray low pressure icon is displayed. (it is 2.5 * HAZARD_LOW_PRESSURE)
WINDOW_HEAT_TRANSFER_COEFFICIENT
a hack for now