g.setproj needs IMHO a major re-design.
It is bad design that the mutual dependencies are hard-coded
into g.setproj and not reflected in the external database
files. 

a proposal for a new metadata system:

system

zone

projection

datum

ellipsoid

units

(dependencies are top to down, e. g. ellipsoid is usually
 determined by datum)

# projection	spheroid	map datum
ALSK		clark66
GS48		clark66
GS50		clark66
LABRD		international
NZMG		interantional
SOMERC		bessel
OBTRAN		eqc

# units
meters		1.0
degree
degrees
feet
foot
meters		0.30479999

-- 
Andreas Lange, 11/2000