What is the radius of the Earth (and why?)

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
csherwood
Posts: 39
Joined: Fri Apr 02, 2004 4:46 pm
Location: USGS, Woods Hole, USA

What is the radius of the Earth (and why?)

#1 Unread post by csherwood »

In trying to regenerate the numbers seagrid comes up with, I found that there are inconsistencies in the earth radii being used.

In ROMS (mod_scalars.F)

Code: Select all

!    Eradius       Earth equatorial radius (m).
        real(r8) :: Eradius = 6371315.0_r8      ! m
In earthdist.m (seagrid's routine for calculating spherical distances):

Code: Select all

%  earthdist(alon, aloat, blon, blat, radius) returns the
%   distance in maters between locations (alon, alat)
%   and (blon, blat).  The default earth radius is
%   assumed to be 6371*1000 meters, the radius for
%   a sphere of equal-volume.
if nargin < 5, radius = 6371*1000; end   % meters.
(this default value is used in dosave2.m, the seagrid routine to save to seagrid.mat)

In seagrid2roms (seagrid's conversion from seagrid.mat to a roms grid.nc)

Code: Select all

EARTH_RADIUS_METERS = 6378*1000;   % Equatorial radius.
In sw_dist.m (CSIRO seawater toolkit), conversion of 1 nm = 1852 m is used, which yields a radius of 6,366,707.02

The WGS ellipsoid is defined as:
Equatorial radius: a = 6378137.0
Flattening: f = 1/298.257
(this is also what Rich Pawlowicz uses in m_map routines)
Using polar radius b = (1-f)*a
and volume of an ellipsoid V = 4*pi*a*a*b,
you get a radius of

Code: Select all

(a.^2*b).^(1/3) = 6.371000784654107e+006
Who cares? I did late last night, while trying to figure out what I was doing wrong creating a ROMS grid file...the numbers didn't quite match.

What to do? The ROMS number seems reasonable...but I am not sure where it came from. In general, 6371000 seems better justified and easier to remember. I plan to change all my seagrid values to this, and if I can remember, I'll also change Eradius in mod_scalars.F to this, but if I don't remember, the resulting errors will probably be the least of my problems.

-Chris
Chris Sherwood, USGS
1 508 457 2269

User avatar
arango
Site Admin
Posts: 1349
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

#2 Unread post by arango »

Good point :!: I don't really know where the other numbers come from. The one in ROMS comes from Standard Mathematical Tables by William H. Beyer, 26th Edition, CRC Press. In page 5, you will find a table of physical constants:

Code: Select all

Equatorial radius of the Earth = 6378.388 km = 3963.34 miles (statute)
Polar radius of the Earth = 6356.912 km = 3949.99 miles (statute)
Since the Earth is not an sphere but an ellipsoid, the radius varies as function of latitude. There is also a spheroidal flattening at the poles. Some people take the Earth radius as the mean value. In my Matlab script geodesic_dist.m, I have a major axis of 6378.1350 km and a minor axis of 6356.7505 km. These numbers come from Sodano and Robinson (1963) in an Army Map Service Report on Direct and Inverse Solutions of Geodesics. I always use this script because is more accurate for computing the distance between two points, specially for long distances. Otherwise, the error is big.

I don't know what are the modern values for both equatorial and polar radius. If you do google search you will find values close to the ones by Sodano and Robinson. I guess that all depends on what formula are you using to compute geodesic distances. However, I think that it will be nice to be consistent with all these numbers.

I need to check what formula SeaGrid is using. I hope that it uses the geodesic equations.

Post Reply