      SUBROUTINE GGP_TITLE(TITLE,LABELNUM,PROJ)

C     * MAR 11/2004 - M.BERKLEY (MODIFIED for CCCMA)

      IMPLICIT NONE
C This routine writes title for ggplot.

      CHARACTER*1 TITLE(*)
      INTEGER LABELNUM
      CHARACTER*(*) PROJ

      INTEGER NCH
      PARAMETER(NCH = 80)
      CHARACTER*1 TITLEA(NCH)
      CHARACTER*83 TITLES
      EQUIVALENCE(TITLEA, TITLES)
      DATA TITLES/" "/

      INTEGER NEWNCH
      REAL VLSAV,VRSAV,VBSAV,VTSAV,WLSAV,WRSAV,WBSAV,WTSAV
      INTEGER LFSAV
      REAL XNDC, YNDC
      INTEGER I

      INTEGER LSTRBEG,LSTREND
      EXTERNAL LSTRBEG,LSTREND

      REAL CHSIZE
C smaller font size for 69+ character titles
C      REAL SMCHSZ
C      PARAMETER(SMCHSZ=0.010)
C!!!      PRINT*, "TITLE"
      WRITE(TITLEA, '(A)') (TITLE(I), I = 1, NCH)

      CALL GETSET(VLSAV,VRSAV,VBSAV,VTSAV,WLSAV,
     +     WRSAV,WBSAV,WTSAV,LFSAV)

      CALL SET(0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1)

C Following two conditionals added to ensure centred title in PS projection

      CHSIZE=1.0/85.0

      IF(PROJ.EQ.'CE') XNDC = 0.5
      IF(PROJ.EQ.'ST') XNDC = 0.45
C      YNDC = VTSAV + (1.0 - VTSAV)/4.0 + (3-LABELNUM)*(SMCHSZ*2)
      YNDC = VTSAV + (1.0 - VTSAV)/4.0 + (3-LABELNUM)*(CHSIZE*2)
C      CALL SHORTN(TITLEA, NCH, .TRUE., .TRUE., NEWNCH)
C      CALL PCHIQU(XNDC, YNDC, TITLES(4:NEWNCH), SMCHSZ, 0.0, 0.0)
      CALL PCHIQU(XNDC, YNDC, TITLES(LSTRBEG(TITLES):LSTREND(TITLES)),
     1     CHSIZE,0.0,0.0)

      CALL SET(VLSAV,VRSAV,VBSAV,VTSAV,WLSAV,
     1     WRSAV,WBSAV,WTSAV,LFSAV)

      RETURN
      END
