Molsurf

molsurf is a stand-alone program to calculate the surface area of a molecule.
It is included in the Amber distribution.
It is employed by MM/PBSA

The source code is in $AMBERHOME/src/mm_pbsa.
No documentation is available

To run molsurf as a stand-alone program

molsurf file.pqr radius

where file.pqr is a pqr file with the coordinates, charges, and radii (pdb file)
and radius is the solvent probe radius

WARNING: molsurf gives gravely erroneous results for symmetric molecules (e.g. symmetric molecules from a QM program) without any warning. The areas are normally small (<10 Ų). The problem can be cured by rotating the molecule somewhat around any unsymmetrica axis (e.g. 15 deg around (1,2,3)). This can be done with define, command move all.
Results with different rotations differ by at most 1 in the second decimal (using a pdb-file input).

Example pqr file

REMARK From file m1charges.out
REMARK ESP charges
ATOM      1 O    O 1     1       0.000   0.123   0.000 -0.680698  2.9000
ATOM      2 H    O 1     1       0.757  -0.490   0.000  0.340338  2.6000
ATOM      3 H    O 1     1      -0.757  -0.490   0.000  0.340361  2.6000

The number of decimals is not important, but all fields must be delimited by white-space, even the atom name and residue name.

The file can be generated by changeparm or gausstopqr.

To get MM/PBSA-like result

Select Bondi radii and add 1.4 to the radii.
Then call molsurf with the radius=0.0

Bondi radii + 1.4 from mm_pbsa_calceent.pm
         "N"    => 1.550 + 1.400,
         "H"    => 1.200 + 1.400,
         "C"    => 1.700 + 1.400,
         "O"    => 1.500 + 1.400,
         "P"    => 1.800 + 1.400,
         "S"    => 1.800 + 1.400,
         "FE"   => 1.300 + 1.400,
         "Na+"  => 1.200 + 1.400,
         "Cl-"  => 1.700 + 1.400,
         "MG"   => 1.180 + 1.400,

 According to the mm_pbsa script:
Bondi radii + 1.4A and probe radius of 0.0A yields SAS
Bondi radii + 0.0A and probe radius of 1.4A yields molecular surface
Bondi radii + 0.0A and probe radius of 0.0A yields vdW surface