# surf

Calculate the LCPO surface area of specified atoms. Can do partial surface areas.

`surf [<dataset name>] [<mask>] [out <filename>]`

Calculate the surface area in $\AA^2$ of atoms in <mask> (all solute atoms if no mask specified) using the LCPO algorithm of Weiser et al. In order for this to work, the topology needs to have bond information and atom type information.

Note that even if <mask> does not include all solute atoms, the neighbor list is still calculated for all solute atoms so the surface area calculated reflects the contribution of atoms in <mask> to the overall surface area, not the surface area of <mask> as an isolated system. As a result, it may be possible to obtain a negative surface area
if only a small fraction of the solute is selected.

For example, to calculate the overall surface area of all solute atoms, as well as the contribution of residue 1 to the overall surface area, writing both results to “surf.dat”:

```surf out surf.dat
surf :1 out surf.dat```