Global Heat Flow Observations

On the UNIX machine mantle, in the directory /geo/GeoData/HeatFlow, there is a file called global.q that contains the heat flow values compiled by Pollack et al. (1993). Each line of the file corresponds to one heat-flow observations and includes information on the location, the quality, and the source of the data.

The code described below does not use much of the information provided with the data set - if you use these values for research you should read the format descriptions and check the quality of any observations important to your studies.

You can find the scripts and output mentioned below is /geo/GeoData/HeatFlow/Template


Extracting values using program "pointsmpl"

"pointsmpl" is a simple program to sort through the data and extract points within a certain distance of a specified reference point. The program is interactive and prompts the user for the latitude and longitude of the reference point in decimal degrees. Then it requests the maximum distance from the station to include in the mean and median calculation and a parameter to allow verbose output.

I used the numerical recipes library to determine the median value of the observations within the specified distance of the reference point. If you want to see all the values used to compute the mean and median, use the verbose output option. With verbose output the individual values are written to stderr; each line contains the latitude, longitude distance from reference, and heat flow value in mW/m^2. You can save the values in a file by piping them into a file while running the program. For example:







#!/bin/csh # # $1 = pt lat # $2 = pt lon # $3 = max distance in degrees # $4 = 1 for verbose output # # run the program pointsmpl # pointsmpl <<echo >! theQvalues global.q $1,$2 $3 $4 echo

will create a file called "theQvalues" containing all the points within the specified distance. Suppose that you saved the above script in a file called "thescript", then you can execute it using the UNIX command:







csh thescript 38.5 -90.3 5.0 1

Here's what you would see on the screen:







csh thescript 38.5 -90.3 5.0 1 What is the name of the heat flow file? Use quotes on path name (fortran). Enter lat and lon: Enter maximum distance from station (degrees): Enter (1) for verbose output (0) for quiet Checked 24774 values. Using 80 samples. 80 38.5000 -90.3000 53.8125 55.0000

The last line summarizes the output - number of values used, the latitude and longitude of the point, the mean value, and the median value.

Here is what you will find in the file "theQvalues":







head -10 theQvalues 34.7333 -86.5000 4.84451 17.0000 33.9617 -87.9167 4.92137 15.0000 36.2833 -92.9167 3.03937 117.000 36.5000 -92.8667 2.85510 67.0000 35.9217 -89.9050 2.59283 54.0000 35.5583 -90.3667 2.93661 60.0000 35.5550 -90.6167 2.95035 58.0000 35.5517 -90.8500 2.97550 43.0000 35.3600 -91.9467 3.40028 13.0000 35.3600 -91.9467 3.40028 67.0000

The values are latitude, longitude, distance in degrees, and heat flow in mW/m^2.


"Outliers" and the Range of Observations

There are values in the data set that my seem unusually large because they are in regions with hydrothermal activity and large heat flow values. If you contour a set of heat-flow values that contain a few large values, you may end up with bull's-eye-looking variations centered on regions with unusually high heat-flow values.

To identify the extreme values you can sort the output of a search using UNIX utilities sort and awk. Here's a script that sorts the values by heat flow (the script is called /geo/GeoData/HeatFlow/Template/do_pointsmpl):




#!/bin/csh
#
if ($#argv < 2)then
  echo "Usage: do_pointsmpl lat lon max_dist_in_degrees verbose"
  exit 1
endif
  if($#argv > 2 && $#argv < 4)then
  echo "Usage: do_pointsmpl lat lon max_dist_in_degrees verbose"
  exit 1
endif
#
# $1 = pt lat
# $2 = pt lon
# $3 = max distance in degrees
# $4 = 1 for verbose output
#
#
set tf00 = "/tmp/q00"
set tf01 = "/tmp/q01"
#
#  run the program pointsmpl
#
pointsmpl <<echo >! $tf00
global.q
$1,$2
$3
$4
echo
#
awk '{print $4, $1, $2, $3}' $tf00 | sort -n >! $tf01
awk '{printf "%9.3f %9.3f %8.2f %8.2f\n", $2, $3, $3, $1}' $tf01 >! gh.output
/bin/rm $tf00 $tf01
#

The output of this script is the file called "gh.output" and is the same format as that described above, but it is sorted such that the lowest heat-flow values are at the top of the file and the values increase into the file.


Extracting Values with program "boxsmpl"

The program boxsmpl is similar to pointsmpl, but insted of specifying a reference point and a location, you specify a geographic box. Here's a listing of the script /geo/GeoData/HeatFlow/Template/do_boxsmpl:




#!/bin/csh
#
if ($#argv < 2)then
  echo "Usage: do_boxsmpl W E S N qmin qmax"
  exit 1
endif
  if($#argv > 2 && $#argv < 6)then
  echo "Usage: do_boxsmpl W E S N qmin qmax"
  exit 1
endif
#
# $1 = west
# $2 = east
# $3 = south
# $4 = north
# $5 = min q value allowed
# $6 = max q value allowed
#
#
set tf00 = "/tmp/q00"
set tf01 = "/tmp/q01"
#
#  run the program boxsmpl
#
/geo/GeoData/HeatFlow/boxsmpl <<echo
"/geo/GeoData/HeatFlow/global.q"
$1,$2,$3,$4
$5,$6
"$tf00"
echo
#
awk '{print $3, $1, $2}' $tf00 | sort -n >! $tf01
awk '{printf "%9.3f %9.3f %8.2f\n", $2, $3, $1}' $tf01 >! gh.output
#/bin/rm $tf00 $tf01
#


Displaying Heat-Flow Observations

If you are after regional variations it may make more sense to use symbols to plot the values. In any event it may be advantageous to see the values as symbols so that you have an idea where the measurements are relative to the point of interest. Suppose that you wanted to use GMT to plot the heat-flow values as squares such that a square 1/4 of an inch represented a heat-flow value of 200 mw/m^2. You could take the output of the get_heatflow script and reformat it using awk as follows. If you used "do_pointsmpl" use the following command:







awk '{print $1, $2, $4/800}' gh.output >! q_pts.xy

If you used "do_boxsmpl", use:

awk '{print $1, $2, $3/800}' gh.output > ! q_pts.xy

The output file has three columns: latitude longitude symbol_size that can be plotted using the "psxy" command in GMT. Here's a script to make a plot for the Tibet region (/geo/GeoData/HeatFlow/Template/pltpoints.csh):







# # make a mercator map 5 inches wide # W/E/S/N # set PROJ = "-JM5 -R75/100/24/40 -V -P" # pscoast $PROJ -B5g5/4g4 -Dh -A1000 -Na -W1 -K -X1.5 -Y2.0 >! themap.ps # psxy q_pts.xy -: $PROJ -Sc -G200/200/200 -W0.5/0/0/0 -L -O >> themap.ps #

The resulting map looks like:


Heat-Flow File Format








TABLE 1 ------------------------------------------------------------------------------------------------ DESCRIPTION UNITS COLUMNS DESCRIPTION UNITS COLUMN ________________________________________________________________________________________________ DATA NUMBER 1-6 TEMP.GRADIENT mK/m 52-54 DESCRIPTIVE CODES 7-13 NO.CONDUCTIVITIES 55-57 NAME OF SITE 15-22 CONDUCTIVITY W/mK 58-61 LATITUDE DEG.,MIN.,TENTHS 23-28 NO. HEATPRODUCTION 62-64 LONGITUDE DEG.,MIN.,TENTHS 29-35 HEATPRODUCTION 10^(-6) W/m^3 65-68 ELEVATION m 36-40 HEAT FLOW mW/m^2 69-72 MINIMUM DEPTH m 41-44 NO. OFSITES 73-74 MAXIMUM DEPTH m 45-48 REFERENCENO. 76-78 NO. TEMPERATURES 49-51 YEAR OFPUBLICATION 79-80 COLUMNS 14 AND 75 CAN BE USED FOR INFORMATION IN ADDITION TO THE DESCRIPTIVE CODES. COLUMNS AFTER 80 ARE USED FOR ADDITIONAL INFORMATION.


Confused?

If you are having trouble figuring out what exactly is going on in the scripts above, you should spend some quality time with the UNIX manual pages (csh and awk) and the GMT manuals, and run the programs without a script to see what the programs is asking.


Reference

Pollack, H. N., S. J. Jurter and J. R. Johnson, Heat flow from the Earth's interior: Analysis of the global data set, Rev. of Geophys., 31, 267-280, 1993.

WWW References

Click here to find information on the global heat-flow data. Here is the place to ftp the original data, and you can click here to find the most recent data set (in a more convenient format).


Top | CJA's Guide Index | Ammon's Home | Department of Geosciences

Prepared by: Chuck Ammon Last Modified: March 1998