Function Repository Resource:

ColdWaterSurvivalTime

Source Notebook

Compute the approximate survival time of a human in cold water

Contributed by: Claudio Lobo Chaib Filho

ResourceFunction["ColdWaterSurvivalTime"][temp]

estimates the survival time in cold water for a temperature temp.

ResourceFunction["ColdWaterSurvivalTime"][temp,prop]

gives the property prop.

Details and Options

ResourceFunction["ColdWaterSurvivalTime"] is useful to inform how long a person can survive hypothermia.
Any temperature quantity is accepted by the function. If the argument is not a Quantity, it is interpreted as "DegreesCelsius".
The temperature values temp accepted by the function must be in the temperature range 0 to 20 degrees Celsius.
Available properties include:
"SurvivalTime"time a human can survive in cold water of the specified temperature
"MetabolicHeat"heat generated by the body in the cold water
"CoolingRate"body's cooling rate
"Plot"plot of the curve of survival time versus water temperature
"PropertyAssociation"all results as an Association
ResourceFunction["ColdWaterSurvivalTime"][temp] is equivalent to ResourceFunction["ColdWaterSurvivalTime"][temp,"SurvivalTime"].
The "Plot" property shows the survival time curve. The x-axis is the water temperature and y-axis is the survival time. The input temp is displayed as a red point.
ResourceFunction["ColdWaterSurvivalTime"] accepts the options:
"EnergyUnit""Calories"unit of the result heat ("Kilojoules", "Watts", )
"TimeUnit""Minutes"unit of time in the results

Examples

Basic Examples (1) 

Get the survival time in cold water at a specific temperature:

In[1]:=
ResourceFunction["ColdWaterSurvivalTime"][
 Quantity[10, "DegreesCelsius"]]
Out[1]=

Scope (7) 

The function interprets any unit type of degrees for temperature:

In[2]:=
ResourceFunction["ColdWaterSurvivalTime"][
 Quantity[40, "DegreesFahrenheit"]]
Out[2]=

The function used with one argument is similar to the function with two arguments where the second is "SurvivalTime":

In[3]:=
ResourceFunction["ColdWaterSurvivalTime"][
 Quantity[3, "DegreesCelsius"]]
Out[3]=
In[4]:=
ResourceFunction["ColdWaterSurvivalTime"][
 Quantity[3, "DegreesCelsius"], "SurvivalTime"]
Out[4]=

If a Quantity is not specified, it is interpreted in "DegreesCelsius":

In[5]:=
ResourceFunction["ColdWaterSurvivalTime"][3]
Out[5]=

Obtain the heat generated by the body in water at the specified temperature:

In[6]:=
ResourceFunction["ColdWaterSurvivalTime"][
 Quantity[3, "DegreesCelsius"], "MetabolicHeat"]
Out[6]=

Obtain the body’s cooling rate for a specific temperature:

In[7]:=
ResourceFunction["ColdWaterSurvivalTime"][
 Quantity[3, "DegreesCelsius"], "CoolingRate"]
Out[7]=

Use "Plot" to obtain the survival time curve (y axis) for different water temperatures (x axis):

In[8]:=
ResourceFunction["ColdWaterSurvivalTime"][
 Quantity[278, "Kelvins"], "Plot"]
Out[8]=

Use "PropertyAssociation" to get all the information simultaneously for a specific temperature. Note that the result is given in the same temperature units as the input:

In[9]:=
ResourceFunction["ColdWaterSurvivalTime"][
 Quantity[512, "DegreesRankine"], "PropertyAssociation"]
Out[9]=

Options (3) 

Get information using another unit of heat with the option "EnergyUnit":

In[10]:=
ResourceFunction["ColdWaterSurvivalTime"][
 Quantity[10, "DegreesCelsius"], "MetabolicHeat", "EnergyUnit" -> "Kilojoules"]
Out[10]=

Choose another unit of time with the "TimeUnit" option:

In[11]:=
ResourceFunction["ColdWaterSurvivalTime"][
 Quantity[46, "DegreesFahrenheit"], "CoolingRate", "TimeUnit" -> "Hours"]
Out[11]=

Change both the unit of energy and the time. The plot and the result use the chosen time unit and a given requested energy unit:

In[12]:=
ResourceFunction["ColdWaterSurvivalTime"][
 Quantity[280, "Kelvins"], "PropertyAssociation", "EnergyUnit" -> "Watts", "TimeUnit" -> "Seconds"]
Out[12]=

Possible Issues (2) 

Note that even if the temperature unit is not degrees Celsius, the x axis of the graph remains in that unit:

In[13]:=
ResourceFunction["ColdWaterSurvivalTime"][
 Quantity[500, "DegreesRankine"], "Plot"]
Out[13]=

If the required property does not contain information about the energy, the "EnergyUnit" option does not influence the output:

In[14]:=
ResourceFunction["ColdWaterSurvivalTime"][
 Quantity[290, "Kelvins"], "CoolingRate", "EnergyUnit" -> "Watts"]
Out[14]=

Publisher

Claudio Lobo Chaib Filho

Version History

  • 1.0.0 – 29 September 2020

Related Resources

License Information