ETOPO

ETOPO is a topography/bathymetry dataset which is available in resolutions up to 1 arc minute.

Coverage:
global
License:
public domain?
Author:
Amante, C. and B. W. Eakins, ETOPO1 1 Arc-Minute Global Relief Model: Procedures, Data Sources and Analysis. NOAA Technical Memorandum NESDIS NGDC-24, 19 pp, March 2009.

Download (ASCII version): http://www.ngdc.noaa.gov/mgg/global/global.html

Conversion to xyz Format

The files at the URL above are already in an ASCII lon/lat format; only the field separator is a comma and not e.g. a tabstop. Thus, the conversion is trivial:

sed -e 's/[, ]\+/\t/g' < input.xyz > output.xyz

Conversion to GMT grd

xyz2grd ETOPO.xyz -Rg -GETOPO.grd -I1m

Ice Sheet Correction

A distinctive feature of ETOPO1 is the availability of two different datasets, one with polar ice sheets and one without. However, for some application neither dataset is suited. For example when considering the isostatic equilibrium of continents, the density differences between all rock types can be neglected, but not between rock and ice. In this case it makes sense to convert the ice sheets to a rock layer with an equivalent density, i.e. the ice thickness is reduced to 1/3. This can be done using the following script (which assumes input and output are gzip-compressed):

#!/usr/bin/perl -l

$, = "\t";

open( my $WITHOUT_ICE, 'gunzip -c ../Source/ETOPO1_Bed_g.int.xyz.gz |' ) or die "Error: bedrock file";
open( my $WITH_ICE,    'gunzip -c ../Source/ETOPO1_Ice_g.int.xyz.gz |' ) or die "Error: ice file";
open( my $OUTPUT,      '| gzip -c > output.xyz.gz' ) or die "Error: could not open output file";

while( <$WITH_ICE> )
{
        chomp;
        my @ice = split /[,[:space:]]+/;

        $_ = <$WITHOUT_ICE>;
        chomp;
        my @bedrock = split /[,[:space:]]+/;

        if( ! ( ($ice[0] == $bedrock[0]) && ($ice[1] == $bedrock[1]) ) )
        {
                print STDERR "Error on line $.: coordinates differ, exiting.";
                exit 1;
        }

        print $OUTPUT $ice[0], $ice[1], ($bedrock[2] + ($ice[2] - $bedrock[2]) / 3);
}

 Example Files for Paraview

 Suitable color tables can be found here: Color Tables for Paraview