*IF DEF,C84_1A,OR,DEF,FLDMOD                                               UIE3F404.26     
C ******************************COPYRIGHT******************************    GTS2F400.4843   
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.4844   
C                                                                          GTS2F400.4845   
C Use, duplication or disclosure of this code is subject to the            GTS2F400.4846   
C restrictions as set forth in the contract.                               GTS2F400.4847   
C                                                                          GTS2F400.4848   
C                Meteorological Office                                     GTS2F400.4849   
C                London Road                                               GTS2F400.4850   
C                BRACKNELL                                                 GTS2F400.4851   
C                Berkshire UK                                              GTS2F400.4852   
C                RG12 2SZ                                                  GTS2F400.4853   
C                                                                          GTS2F400.4854   
C If no contract has been raised with this copy of the code, the use,      GTS2F400.4855   
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.4856   
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.4857   
C Modelling at the above address.                                          GTS2F400.4858   
C ******************************COPYRIGHT******************************    GTS2F400.4859   
C                                                                          GTS2F400.4860   
CLL  Routine: INIT_PP  -------------------------------------------------   INITPP1A.3      
CLL                                                                        INITPP1A.4      
CLL  Purpose: Initialises direct access PP files at the start of           INITPP1A.5      
CLL           the run.  NB: Sequential PP files need no initialisation.    INITPP1A.6      
CLL                                                                        INITPP1A.7      
CLL  Tested under compiler:   cft77                                        INITPP1A.8      
CLL  Tested under OS version: UNICOS 5.1                                   INITPP1A.9      
CLL                                                                        INITPP1A.10     
CLL  Model            Modification history from model version 3.0:         INITPP1A.11     
CLL version  Date                                                          INITPP1A.12     
CLL   3.1  12/02/93  Modify args to allow correct setting of PP_FIXHD(5)   TJ130293.10     
CLL   3.2    13/07/93 Changed CHARACTER*(*) to CHARACTER*(80) for          TS150793.75     
CLL                   portability.  Author Tracey Smith.                   TS150793.76     
CLL   3.3  05/10/93  Flush buffer of each pp file after initialisation     RR051093.1      
CLL                  to ensure complete file ready for re-start in the     RR051093.2      
CLL                  event of a 'hard' failure. R. Rawlins                 RR051093.3      
!LL  4.3   30/04/97  Added code to use UM_SECTOR_SIZE to make transfers    GBC0F403.43     
!LL                  well-formed.                                          GBC0F403.44     
!LL                  B. Carruthers  Cray Research.                         GBC0F403.45     
CLL                                                                        INITPP1A.13     
CLL  Programming standard: UM Doc Paper 3, version 1 (15/1/90)             INITPP1A.14     
CLL                                                                        INITPP1A.15     
CLL  Logical components covered: D401                                      INITPP1A.16     
CLL                                                                        INITPP1A.17     
CLL  Project task:                                                         INITPP1A.18     
CLL                                                                        INITPP1A.19     
CLL  External documentation: On-line UM document C61 - Zonal mean          INITPP1A.20     
CLL                          calculations.                                 INITPP1A.21     
CLL                                                                        INITPP1A.22     
CLL  -------------------------------------------------------------------   INITPP1A.23     
C*L  Interface and arguments: ------------------------------------------   INITPP1A.24     
C                                                                          INITPP1A.25     

      SUBROUTINE INIT_PP ( FTN_UNIT,FILE_TYPE_LETTER,                       10,15TJ130293.11     
     &                     LEN1_LOOKUP,PP_LEN2_LOOKUP,FIXHD,               TJ130293.12     
     1                     INTHD,REALHD,LEVDEPC,LEN_FIXHD,LEN_INTHD,       INITPP1A.27     
     2                     LEN_REALHD,LEN1_LEVDEPC,LEN2_LEVDEPC,           INITPP1A.28     
     3                     ICODE,CMESSAGE)                                 INITPP1A.29     
C                                                                          INITPP1A.30     
      IMPLICIT NONE                                                        INITPP1A.31     
C                                                                          INITPP1A.32     
      CHARACTER*1                                                          TJ130293.13     
     &    FILE_TYPE_LETTER    ! IN  - File type (p-PP, b-bndry)            TJ130293.14     
      INTEGER                                                              INITPP1A.33     
     1    FTN_UNIT            ! IN  - Fortran unit number                  INITPP1A.34     
     2,   LEN1_LOOKUP         ! IN  - Size of PP header                    INITPP1A.35     
     3,   PP_LEN2_LOOKUP      ! IN  - Max allowable fields                 INITPP1A.36     
     4,   LEN_FIXHD           ! IN    LENGTH OF FIXED CONSTANTS            INITPP1A.37     
     5,   LEN_INTHD           ! IN    LENGTH OF INTEGER CONSTANTS          INITPP1A.38     
     6,   LEN_REALHD          ! IN    LENGTH OF REAL CONSTANTS             INITPP1A.39     
     7,   LEN1_LEVDEPC        ! IN    LENGTH OF 1st Dim of lev depndt      INITPP1A.40     
     8,   LEN2_LEVDEPC        ! IN    LENGTH OF 2nd Dim of lev depndt      INITPP1A.41     
     9,   ICODE               ! OUT - Error exit code                      INITPP1A.42     
     A,   PP_LEN_INTHD        ! OUT - Length of PP FILE integer header     INITPP1A.43     
     B,   PP_LEN_REALHD       ! OUT - Length of PP FILE real header        INITPP1A.44     
     C,   PP_LEN2_LEVDEPC     ! OUT - Length of 2nd dim of PP lev dep      INITPP1A.45     
C                                                                          INITPP1A.46     
      PARAMETER                                                            INITPP1A.47     
     1   (PP_LEN_INTHD=15                                                  INITPP1A.48     
     2,   PP_LEN_REALHD=6                                                  INITPP1A.49     
     3,   PP_LEN2_LEVDEPC=4)                                               INITPP1A.50     
C                                                                          INITPP1A.51     
      INTEGER                                                              INITPP1A.52     
     *    FIXHD(LEN_FIXHD)          ! IN    ARRAY OF FIXED CONSTANTS       INITPP1A.53     
     *,   INTHD(LEN_INTHD)          ! IN    ARRAY OF integer CONSTANTS     INITPP1A.54     
     *,   LEVDEPC(LEN1_LEVDEPC*LEN2_LEVDEPC)  ! IN LEV DEP CONSTANTS       INITPP1A.55     
     *,   PP_FIXHD(LEN_FIXHD)       ! OUT   ARRAY of fixed constants       INITPP1A.56     
     *,   PP_INTHD(PP_LEN_INTHD)    ! OUT   ARRAY of integer constants     INITPP1A.57     
     *,   PP_LEVDEPC(LEN1_LEVDEPC*PP_LEN2_LEVDEPC) ! OUT level dep cts     INITPP1A.58     
C                                                                          INITPP1A.59     
      REAL                                                                 INITPP1A.60     
     *    REALHD(LEN_REALHD)        ! IN    ARRAY OF REAL CONSTANTS        INITPP1A.61     
     *,   PP_REALHD(PP_LEN_REALHD)  ! OUT   ARRAY OF REAL CONSTANTS        INITPP1A.62     
C                                                                          INITPP1A.63     
      CHARACTER*80                                                         TS150793.77     
     1    CMESSAGE            ! OUT - Error message                        INITPP1A.65     
C                                                                          INITPP1A.66     
C*----------------------------------------------------------------------   INITPP1A.67     
C                                                                          INITPP1A.68     
C  External subroutines                                                    INITPP1A.69     
C                                                                          INITPP1A.70     
      EXTERNAL SETPOS,IOERROR,POSERROR,BUFFOUT,FLUSH_BUFFER                RR051093.4      
C                                                                          INITPP1A.72     
C  Local variables                                                         INITPP1A.73     
C                                                                          INITPP1A.74     
      INTEGER IPPLOOK(LEN1_LOOKUP,PP_LEN2_LOOKUP)                          INITPP1A.75     
C                                                                          GBC0F403.46     
cdir$ cache_align pp_fixhd, pp_inthd, pp_realhd, pp_levdepc, ipplook       GBC0F403.47     
*CALL CNTL_IO                                                              GBC0F403.48     
      INTEGER                                                              INITPP1A.76     
     1       II,JJ,IWA,IX,LEN_IO,START_BLOCK  !                            INITPP1A.77     
      REAL A_IO                                                            INITPP1A.78     
*CALL C_MDI                                                                UIE2F402.15     
CL----------------------------------------------------------------------   INITPP1A.79     
CL 1. Reserve space                                                        INITPP1A.80     
CL                                                                         INITPP1A.81     
      DO 1 II=1,PP_LEN2_LOOKUP                                             INITPP1A.82     
      DO 2 JJ=1,LEN1_LOOKUP                                                INITPP1A.83     
      IPPLOOK(JJ,II)=-99                                                   INITPP1A.84     
    2 CONTINUE                                                             INITPP1A.85     
    1 CONTINUE                                                             INITPP1A.86     
CL----------------------------------------------------------------------   INITPP1A.87     
CL 1.1 Set up FIXED header record for the PP FILE                          INITPP1A.88     
CL                                                                         INITPP1A.89     
      DO 3 II=1,LEN_FIXHD                                                  INITPP1A.90     
      PP_FIXHD(II)=FIXHD(II)                                               INITPP1A.91     
    3 CONTINUE                                                             INITPP1A.92     
      IF (FILE_TYPE_LETTER.EQ.'p') THEN                                    TJ130293.15     
        PP_FIXHD(5)=3                                                      TJ130293.16     
      ELSEIF (FILE_TYPE_LETTER.EQ.'b') THEN                                TJ130293.17     
        PP_FIXHD(5)=5                                                      TJ130293.18     
      ELSE                                                                 TJ130293.19     
        ICODE=100                                                          TJ130293.20     
        CMESSAGE='INIT_PP  : Unknown output file type letter'              TJ130293.21     
        RETURN                                                             TJ130293.22     
      ENDIF                                                                TJ130293.23     
      PP_FIXHD(101)=PP_LEN_INTHD                                           INITPP1A.93     
      PP_FIXHD(105)=PP_FIXHD(100)+PP_FIXHD(101)                            INITPP1A.94     
      PP_FIXHD(106)=PP_LEN_REALHD                                          INITPP1A.95     
      PP_FIXHD(110)=PP_FIXHD(105)+PP_FIXHD(106)                            INITPP1A.96     
      PP_FIXHD(111)=LEN1_LEVDEPC                                           INITPP1A.97     
      PP_FIXHD(112)=PP_LEN2_LEVDEPC                                        INITPP1A.98     
      PP_FIXHD(115)=0                                                      INITPP1A.99     
      PP_FIXHD(120)=0                                                      INITPP1A.100    
      PP_FIXHD(125)=0                                                      INITPP1A.101    
      PP_FIXHD(130)=0                                                      INITPP1A.102    
      PP_FIXHD(135)=0                                                      INITPP1A.103    
      PP_FIXHD(140)=0                                                      INITPP1A.104    
      PP_FIXHD(142)=0                                                      INITPP1A.105    
      PP_FIXHD(144)=0                                                      INITPP1A.106    
      PP_FIXHD(150)=PP_FIXHD(110)+ PP_FIXHD(111)*PP_FIXHD(112)             INITPP1A.107    
      PP_FIXHD(151)=LEN1_LOOKUP                                            INITPP1A.108    
      PP_FIXHD(152)=PP_LEN2_LOOKUP                                         INITPP1A.109    
      pp_fixhd(160)=     ! make sure the data starts on a sector bndry     GBC0F403.49     
     2 ((pp_fixhd(150)+pp_len2_lookup*len1_lookup+um_sector_size-1)/       GBC0F403.50     
     3 um_sector_size)*um_sector_size+1                                    GBC0F403.51     
CL----------------------------------------------------------------------   INITPP1A.112    
CL 1.2 Set up INTEGER constants record for the PP FILE                     INITPP1A.113    
CL                                                                         INITPP1A.114    
      IF(PP_FIXHD(5).LE.2) THEN !  set all values initially to MDI         UIE2F402.16     
        DO II=1,PP_LEN_INTHD                                               UIE2F402.17     
          PP_INTHD(II)=INTHD(21)                                           UIE2F402.18     
        ENDDO                                                              UIE2F402.19     
      ELSE                                                                 UIE2F402.20     
        DO II=1,PP_LEN_INTHD                                               UIE2F402.21     
          PP_INTHD(II)=IMDI                                                UIE2F402.22     
        ENDDO                                                              UIE2F402.23     
      ENDIF                                                                UIE2F402.24     
                                                                           UIE2F402.25     
      PP_INTHD(6)=INTHD(6)                                                 INITPP1A.118    
      PP_INTHD(7)=INTHD(7)                                                 INITPP1A.119    
      PP_INTHD(8)=INTHD(8)                                                 INITPP1A.120    
      PP_INTHD(9)=INTHD(9)                                                 INITPP1A.121    
      PP_INTHD(10)=INTHD(10)                                               INITPP1A.122    
      PP_INTHD(13)=INTHD(13)                                               INITPP1A.123    
CL----------------------------------------------------------------------   INITPP1A.124    
CL 1.3 Set up REAL constants record for the PP FILE                        INITPP1A.125    
CL                                                                         INITPP1A.126    
      PP_REALHD(1)=REALHD(1)                                               INITPP1A.127    
      PP_REALHD(2)=REALHD(2)                                               INITPP1A.128    
      PP_REALHD(3)=REALHD(3)                                               INITPP1A.129    
      PP_REALHD(4)=REALHD(4)                                               INITPP1A.130    
      PP_REALHD(5)=REALHD(5)                                               INITPP1A.131    
      PP_REALHD(6)=REALHD(6)                                               INITPP1A.132    
CL----------------------------------------------------------------------   INITPP1A.133    
CL 1.4 Set up LEVEL DEPENDANT constants record for the PP FILE             INITPP1A.134    
CL                                                                         INITPP1A.135    
      DO 5 II=1,LEN1_LEVDEPC*PP_LEN2_LEVDEPC                               INITPP1A.136    
      PP_LEVDEPC(II)=LEVDEPC(II)                                           INITPP1A.137    
    5 CONTINUE                                                             INITPP1A.138    
CL----------------------------------------------------------------------   INITPP1A.139    
CL 2.1 BUFFER OUT Header Records starting with the FIXED LENGTH            INITPP1A.140    
CL                                                                         INITPP1A.141    
      CALL BUFFOUT(FTN_UNIT,PP_FIXHD(1),LEN_FIXHD,LEN_IO,A_IO)             INITPP1A.142    
        IF(A_IO.NE.-1.0.OR.LEN_IO.NE.LEN_FIXHD) THEN                       INITPP1A.143    
           CALL IOERROR('bufferout of fixed length header',A_IO,LEN_IO,    INITPP1A.144    
     &                    LEN_FIXHD)                                       INITPP1A.145    
           CMESSAGE='INIT_PP:I/O error'                                    INITPP1A.146    
           ICODE=1                                                         INITPP1A.147    
           RETURN                                                          INITPP1A.148    
        ENDIF                                                              INITPP1A.149    
      START_BLOCK=LEN_FIXHD+1                                              INITPP1A.150    
CL----------------------------------------------------------------------   INITPP1A.151    
CL 2.2 BUFFER OUT Integer Constants                                        INITPP1A.152    
CL                                                                         INITPP1A.153    
                                                                           INITPP1A.154    
      IF(FIXHD(100).GT.0) THEN  ! Any integer constants to output ?        INITPP1A.155    
                                                                           INITPP1A.156    
C Check for error in file pointers                                         INITPP1A.157    
                                                                           INITPP1A.158    
C        WRITE(6,*)  'START_BLOCK FIXHD(100)'                              INITPP1A.159    
C        WRITE(6,*)   START_BLOCK                                          INITPP1A.160    
C        WRITE(6,*)   FIXHD(100)                                           INITPP1A.161    
C        WRITE(6,*)   FTN_UNIT                                             INITPP1A.162    
         IF(FIXHD(100).NE.START_BLOCK) THEN  ! Check start address         INITPP1A.163    
            CALL POSERROR('integer constants',START_BLOCK,100,             INITPP1A.164    
     &      PP_FIXHD(100))                                                 INITPP1A.165    
            CMESSAGE='INIT_PP:  Addressing conflict'                       INITPP1A.166    
            ICODE=2                                                        INITPP1A.167    
            RETURN                                                         INITPP1A.168    
         END IF                                                            INITPP1A.169    
                                                                           INITPP1A.170    
         CALL BUFFOUT (FTN_UNIT,PP_INTHD(1),PP_FIXHD(101),LEN_IO,A_IO)     INITPP1A.171    
                                                                           INITPP1A.172    
C Check for I/O errors                                                     INITPP1A.173    
                                                                           INITPP1A.174    
         IF(A_IO.NE.-1.0.OR.LEN_IO.NE.PP_FIXHD(101)) THEN                  INITPP1A.175    
            CALL IOERROR('buffer out of integer constants',A_IO,LEN_IO     INITPP1A.176    
     &     ,PP_FIXHD(101))                                                 INITPP1A.177    
            CMESSAGE='INIT_PP: I/O Error'                                  INITPP1A.178    
            ICODE=3                                                        INITPP1A.179    
            RETURN                                                         INITPP1A.180    
         END IF                                                            INITPP1A.181    
                                                                           INITPP1A.182    
         START_BLOCK=START_BLOCK+PP_FIXHD(101)                             INITPP1A.183    
                                                                           INITPP1A.184    
      END IF                                                               INITPP1A.185    
                                                                           INITPP1A.186    
CL----------------------------------------------------------------------   INITPP1A.187    
CL 2.3 BUFFER OUT Real Constants                                           INITPP1A.188    
CL                                                                         INITPP1A.189    
                                                                           INITPP1A.190    
      IF(PP_FIXHD(105).GT.0) THEN   ! Any real constants to output ?       INITPP1A.191    
                                                                           INITPP1A.192    
C Check for error in file pointers                                         INITPP1A.193    
                                                                           INITPP1A.194    
        IF(PP_FIXHD(105).NE.START_BLOCK) THEN                              INITPP1A.195    
          CALL POSERROR('real constants',START_BLOCK,100,PP_FIXHD(105))    INITPP1A.196    
          CMESSAGE='INIT_PP: Addressing conflict'                          INITPP1A.197    
          ICODE=4                                                          INITPP1A.198    
          RETURN                                                           INITPP1A.199    
        END IF                                                             INITPP1A.200    
                                                                           INITPP1A.201    
        CALL BUFFOUT(FTN_UNIT,PP_REALHD(1),PP_FIXHD(106),LEN_IO,A_IO)      INITPP1A.202    
                                                                           INITPP1A.203    
C Check for I/O errors                                                     INITPP1A.204    
                                                                           INITPP1A.205    
        IF(A_IO.NE.-1.0.OR.LEN_IO.NE.PP_FIXHD(106)) THEN                   INITPP1A.206    
          CALL IOERROR('buffer out of real constants',A_IO,LEN_IO          INITPP1A.207    
     &                 ,PP_FIXHD(106))                                     INITPP1A.208    
          CMESSAGE='INIT_PP: I/O Error'                                    INITPP1A.209    
          ICODE=5                                                          INITPP1A.210    
          RETURN                                                           INITPP1A.211    
        END IF                                                             INITPP1A.212    
                                                                           INITPP1A.213    
        START_BLOCK=START_BLOCK+PP_FIXHD(106)                              INITPP1A.214    
                                                                           INITPP1A.215    
      END IF                                                               INITPP1A.216    
                                                                           INITPP1A.217    
CL----------------------------------------------------------------------   INITPP1A.218    
CL 2.4 BUFFER OUT Level Dependant Constants.                               INITPP1A.219    
CL                                                                         INITPP1A.220    
                                                                           INITPP1A.221    
      IF(PP_FIXHD(112).GT.0) THEN ! Any level dependant constants ?        INITPP1A.222    
                                                                           INITPP1A.223    
C Check for error in file pointers                                         INITPP1A.224    
                                                                           INITPP1A.225    
         IF(PP_FIXHD(110).NE.START_BLOCK) THEN                             INITPP1A.226    
            CALL POSERROR('real constants',START_BLOCK,100,                INITPP1A.227    
     &                     PP_FIXHD(110))                                  INITPP1A.228    
            CMESSAGE='INIT_PP: Addressing conflict'                        INITPP1A.229    
            ICODE=6                                                        INITPP1A.230    
            RETURN                                                         INITPP1A.231    
         END IF                                                            INITPP1A.232    
                                                                           INITPP1A.233    
         CALL BUFFOUT (FTN_UNIT,PP_LEVDEPC(1)                              INITPP1A.234    
     &              ,PP_FIXHD(111)*PP_FIXHD(112),LEN_IO,A_IO)              INITPP1A.235    
                                                                           INITPP1A.236    
C Check for I/O errors                                                     INITPP1A.237    
                                                                           INITPP1A.238    
         IF(A_IO.NE.-1.0.OR.LEN_IO.NE.(PP_FIXHD(111)*PP_FIXHD(112)         INITPP1A.239    
     &        ))THEN                                                       INITPP1A.240    
           CALL IOERROR('buffer out of lev dep constants',A_IO,LEN_IO      INITPP1A.241    
     &            ,PP_FIXHD(111))                                          INITPP1A.242    
           CMESSAGE='INIT_PP: I/O Error'                                   INITPP1A.243    
           ICODE=7                                                         INITPP1A.244    
           RETURN                                                          INITPP1A.245    
         END IF                                                            INITPP1A.246    
                                                                           INITPP1A.247    
         START_BLOCK=START_BLOCK+ PP_FIXHD(111)*PP_FIXHD(112)              INITPP1A.248    
                                                                           INITPP1A.249    
      END IF                                                               INITPP1A.250    
CL----------------------------------------------------------------------   INITPP1A.251    
CL 2.5 BUFFER OUT Lookup Table                                             INITPP1A.252    
CL                                                                         INITPP1A.253    
C     IWA= 0                                                               INITPP1A.254    
C     CALL SETPOS(FTN_UNIT,3,IWA,ICODE)                                    GTD0F400.92     
           IF(PP_FIXHD(152).GT.0) THEN                                     INITPP1A.256    
                                                                           INITPP1A.257    
C Check for error in file pointers                                         INITPP1A.258    
                                                                           INITPP1A.259    
             IF(PP_FIXHD(150).NE.START_BLOCK) THEN                         INITPP1A.260    
               CALL POSERROR('lookup table',START_BLOCK,100,               INITPP1A.261    
     &              PP_FIXHD(150))                                         INITPP1A.262    
               CMESSAGE='INIT_PP: Addressing conflict'                     INITPP1A.263    
               ICODE=8                                                     INITPP1A.264    
               RETURN                                                      INITPP1A.265    
             END IF                                                        INITPP1A.266    
                                                                           INITPP1A.267    
      CALL BUFFOUT (FTN_UNIT,                                              INITPP1A.268    
     *           IPPLOOK(1,1),LEN1_LOOKUP*PP_LEN2_LOOKUP,LEN_IO,A_IO)      INITPP1A.269    
C                                                                          INITPP1A.271    
C Check for I/O errors                                                     INITPP1A.272    
                                                                           INITPP1A.273    
            IF(A_IO.NE.-1.0.OR.LEN_IO.NE.(PP_FIXHD(151)*PP_FIXHD(152)))    INITPP1A.274    
     &          THEN                                                       INITPP1A.275    
              CALL IOERROR('buffer out of PP LOOKUP TABLE ',A_IO,LEN_IO    INITPP1A.276    
     &            ,PP_FIXHD(152))                                          INITPP1A.277    
              CMESSAGE='INIT_PP: I/O Error'                                INITPP1A.278    
              ICODE=9                                                      INITPP1A.279    
              RETURN                                                       INITPP1A.280    
            END IF                                                         INITPP1A.281    
C                                                                          RR051093.5      
C Clear file buffer : force last buffer to be written to file              RR051093.6      
C  to avoid problems with continuation runs following hard failures.       RR051093.7      
C                                                                          RR051093.8      
      CALL FLUSH_BUFFER(FTN_UNIT,ICODE)                                    RR051093.9      
      IF(ICODE.NE.0) THEN                                                  RR051093.10     
         CMESSAGE='INIT_PP: Problem flushing buffer'                       RR051093.11     
         ICODE=10                                                          RR051093.12     
         RETURN                                                            RR051093.13     
      ENDIF                                                                RR051093.14     
C                                                                          RR051093.15     
            START_BLOCK=START_BLOCK+(PP_FIXHD(151)*PP_FIXHD(152))          INITPP1A.285    
C                                                                          RR051093.16     
          END IF                                                           INITPP1A.289    
      RETURN                                                               INITPP1A.290    
      END                                                                  INITPP1A.291    
                                                                           INITPP1A.292    
*ENDIF                                                                     INITPP1A.293