An energy and angular-momentum conserving vertical finite-difference scheme is introduced for a general terrain-following vertical coordinate which is a function of pressure and its surface value. A corresponding semi-implicit time scheme is also defined. These schemes am used to compare the usual sigma coordinate with the hybrid coordinate which reduces to pressure above a fixed level and with a modified hybrid coordinate which tends uniformly to pressure at upper levels. Error in the representation of the stratospheric pressure gradient over steep orography can be significantly reduced by use of the hybrid coordinate but the semi-implicit scheme is less stable. The modified hybrid coordinate offers a useful compromise.