*IF DEF,C80_1A,OR,DEF,UTILIO,OR,DEF,RECON                                  UIE3F404.42     
C ******************************COPYRIGHT******************************    GTS2F400.7543   
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.7544   
C                                                                          GTS2F400.7545   
C Use, duplication or disclosure of this code is subject to the            GTS2F400.7546   
C restrictions as set forth in the contract.                               GTS2F400.7547   
C                                                                          GTS2F400.7548   
C                Meteorological Office                                     GTS2F400.7549   
C                London Road                                               GTS2F400.7550   
C                BRACKNELL                                                 GTS2F400.7551   
C                Berkshire UK                                              GTS2F400.7552   
C                RG12 2SZ                                                  GTS2F400.7553   
C                                                                          GTS2F400.7554   
C If no contract has been raised with this copy of the code, the use,      GTS2F400.7555   
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.7556   
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.7557   
C Modelling at the above address.                                          GTS2F400.7558   
C ******************************COPYRIGHT******************************    GTS2F400.7559   
C                                                                          GTS2F400.7560   
CLL  SUBROUTINE PR_FIXHD---------------------------------------            PRFIXH1A.3      
CLL                                                                        PRFIXH1A.4      
CLL  Purpose: Prints out fixed length header record and checks             PRFIXH1A.5      
CLL           validity of information.                                     PRFIXH1A.6      
CLL                                                                        PRFIXH1A.7      
CLL AD, DR, SI  <- programmer of some or all of previous code or changes   PRFIXH1A.8      
CLL                                                                        PRFIXH1A.9      
CLL  Model            Modification history from model version 3.0:         PRFIXH1A.10     
CLL version  Date                                                          PRFIXH1A.11     
CLL                                                                        AD221292.17     
CLL  3.1   22/12/92     Allow use by ancillary field headers               AD221292.18     
CLL                     Author A. Dickinson    Reviewer C. Wilson          AD221292.19     
CLL   3.2    13/07/93 Changed CHARACTER*(*) to CHARACTER*(80) for          TS150793.120    
CLL                   portability.  Author Tracey Smith.                   TS150793.121    
CLL  3.2   19/04/93     Code for new real missing data indicator.          TJ050593.52     
CLL                     Author T.Johns         Reviewer A.Dickinson        TJ050593.53     
CLL  3.4   5/07/94  Allowed for new PF model vert coord (density*r*r)      VSB1F304.138    
CLL                 and for Varobs file.    Author Colin Parrett.          VSB1F304.139    
CLL  4.0  21/11/95   Allowed for Covariance files.   C.Parrett             VSB1F400.8      
CLL  4.1  09/04/96  Introduce wave sub-model.  RTHBarnes.                  WRB1F401.694    
CLL  4.1   16/04/96  Allowed for OPS Obstore files.  Author Colin Parret   VSB1F401.99     
!LL  4.1  23/05/96   Removed check of data length for MPP code  P.Burton   GPB0F401.270    
CLL  4.1  22/05/96   Print out UM Version Number   D. Robinson             GDR1F401.46     
CLL                                                                        PRFIXH1A.12     
CLL  Programming standard:                                                 PRFIXH1A.13     
CLL           Unified Model Documentation Paper No 3                       PRFIXH1A.14     
CLL           Version No 2  09/09/91                                       PRFIXH1A.15     
CLL                                                                        PRFIXH1A.16     
CLL  System component: C25                                                 PRFIXH1A.17     
CLL                                                                        PRFIXH1A.18     
CLL  System task: F3                                                       PRFIXH1A.19     
CLL                                                                        PRFIXH1A.20     
CLL  Documentation:                                                        PRFIXH1A.21     
CLL           Unified Model Documentation Paper No F3                      PRFIXH1A.22     
CLL           Version No 5 9/2/90                                          PRFIXH1A.23     
CLL                                                                        PRFIXH1A.24     
CLL------------------------------------------------------------            PRFIXH1A.25     
C*L Arguments:-------------------------------------------------            PRFIXH1A.26     

      SUBROUTINE PR_FIXHD                                                   4PRFIXH1A.27     
     *(FIXHD,LEN_FIXHD,LEN_INTHD,LEN_REALHD,LEN1_LEVDEPC                   PRFIXH1A.28     
     *,LEN2_LEVDEPC,LEN1_ROWDEPC,LEN2_ROWDEPC,LEN1_COLDEPC,LEN2_COLDEPC    PRFIXH1A.29     
     *,LEN1_FLDDEPC,LEN2_FLDDEPC,LEN_EXTCNST,LEN_DUMPHIST,LEN_CFI1         PRFIXH1A.30     
     *,LEN_CFI2,LEN_CFI3,LEN1_LOOKUP,LEN2_LOOKUP,LEN_DATA                  PRFIXH1A.31     
     *,ICODE,CMESSAGE)                                                     PRFIXH1A.32     
                                                                           PRFIXH1A.33     
      IMPLICIT NONE                                                        PRFIXH1A.34     
                                                                           PRFIXH1A.35     
      INTEGER                                                              PRFIXH1A.36     
     * LEN_FIXHD     !IN Length of fixed length header                     PRFIXH1A.37     
     *,LEN_INTHD     !IN Length of integer header                          PRFIXH1A.38     
     *,LEN_REALHD    !IN Length of real header                             PRFIXH1A.39     
     *,LEN1_LEVDEPC  !IN 1st dim of level dep consts                       PRFIXH1A.40     
     *,LEN2_LEVDEPC  !IN 2nd dim of level dep consts                       PRFIXH1A.41     
     *,LEN1_ROWDEPC  !IN 1st dim of row dep consts                         PRFIXH1A.42     
     *,LEN2_ROWDEPC  !IN 2nd dim of row dep consts                         PRFIXH1A.43     
     &,LEN1_COLDEPC  !IN 1st dim of column dep consts                      PRFIXH1A.44     
     &,LEN2_COLDEPC  !IN 2nd dim of column dep consts                      PRFIXH1A.45     
     &,LEN1_FLDDEPC  !IN 1st dim of field dep consts                       PRFIXH1A.46     
     &,LEN2_FLDDEPC  !IN 2nd dim of field dep consts                       PRFIXH1A.47     
     &,LEN_EXTCNST   !IN Length of extra constants                         PRFIXH1A.48     
     &,LEN_DUMPHIST  !IN Length of history block                           PRFIXH1A.49     
     &,LEN_CFI1      !IN Length of comp field index 1                      PRFIXH1A.50     
     &,LEN_CFI2      !IN Length of comp field index 2                      PRFIXH1A.51     
     &,LEN_CFI3      !IN Length of comp field index 3                      PRFIXH1A.52     
     &,LEN1_LOOKUP   !IN 1st dim of lookup                                 PRFIXH1A.53     
     &,LEN2_LOOKUP   !IN 2nd dim of lookup                                 PRFIXH1A.54     
                                                                           PRFIXH1A.55     
      INTEGER                                                              PRFIXH1A.56     
     * FIXHD(LEN_FIXHD) !IN Fixed length header                            PRFIXH1A.57     
     &,LEN_DATA         !IN Length of real data                            PRFIXH1A.58     
     *,ICODE          !OUT Return code; successful=0                       PRFIXH1A.59     
     *                !                 error > 0                          PRFIXH1A.60     
                                                                           PRFIXH1A.61     
      CHARACTER*(80)                                                       TS150793.122    
     * CMESSAGE       !OUT Error message if ICODE > 0                      PRFIXH1A.63     
                                                                           PRFIXH1A.64     
C -------------------------------------------------------------            PRFIXH1A.65     
C Workspace usage:---------------------------------------------            PRFIXH1A.66     
C None                                                                     PRFIXH1A.67     
C -------------------------------------------------------------            PRFIXH1A.68     
C*L External subroutines called:-------------------------------            PRFIXH1A.69     
C None                                                                     PRFIXH1A.70     
C*-------------------------------------------------------------            PRFIXH1A.71     
*CALL C_MDI                                                                PRFIXH1A.72     
C Local variables:---------------------------------------------            PRFIXH1A.73     
      INTEGER I                                                            PRFIXH1A.74     
C--------------------------------------------------------------            PRFIXH1A.75     
                                                                           PRFIXH1A.76     
      ICODE=0                                                              PRFIXH1A.77     
      CMESSAGE=' '                                                         PRFIXH1A.78     
                                                                           PRFIXH1A.79     
      WRITE(6,'('' '')')                                                   PRFIXH1A.80     
      WRITE(6,'('' FIXED LENGTH HEADER'')')                                PRFIXH1A.81     
      WRITE(6,'('' -------------------'')')                                PRFIXH1A.82     
                                                                           PRFIXH1A.83     
      WRITE(6,'('' Dump format version'',I6)')FIXHD(1)                     PRFIXH1A.84     
      WRITE(6,'('' UM Version No      '',I6)')FIXHD(12)                    GDR1F401.47     
                                                                           PRFIXH1A.85     
      IF(FIXHD(2).EQ.1)THEN                                                PRFIXH1A.86     
        WRITE(6,'('' Atmospheric data'')')                                 PRFIXH1A.87     
      ELSE IF(FIXHD(2).EQ.2)THEN                                           PRFIXH1A.88     
        WRITE(6,'('' Oceanic data'')')                                     PRFIXH1A.89     
      ELSE IF (FIXHD(2).EQ.4) THEN                                         WRB1F401.695    
        WRITE(6,'('' Wave sub-model data'')')                              WRB1F401.696    
      ELSE                                                                 PRFIXH1A.90     
        WRITE(6,'('' ***FATAL ERROR*** Invalid data type: FIXHD(2)='',     PRFIXH1A.91     
     *I9)')FIXHD(2)                                                        PRFIXH1A.92     
       ICODE=4                                                             PRFIXH1A.93     
       CMESSAGE='PR_FIXHD: Consistency check'                              PRFIXH1A.94     
       RETURN                                                              PRFIXH1A.95     
      ENDIF                                                                PRFIXH1A.96     
                                                                           PRFIXH1A.97     
      IF(FIXHD(3).EQ.1)THEN                                                PRFIXH1A.98     
        WRITE(6,'('' On hybrid levels'')')                                 PRFIXH1A.99     
      ELSEIF(FIXHD(3).EQ.2)THEN                                            PRFIXH1A.100    
        WRITE(6,'('' On sigma levels'')')                                  PRFIXH1A.101    
      ELSEIF(FIXHD(3).EQ.3)THEN                                            PRFIXH1A.102    
        WRITE(6,'('' On pressure levels'')')                               PRFIXH1A.103    
      ELSEIF(FIXHD(3).EQ.4)THEN                                            PRFIXH1A.104    
        WRITE(6,'('' On depth levels'')')                                  PRFIXH1A.105    
      ELSEIF(FIXHD(3).EQ.5)THEN                                            VSB1F304.140    
        WRITE(6,'('' Charney-Phillips on radius levels'')')                VSB1F304.141    
      ELSEIF (FIXHD(3).EQ.6) THEN                                          WRB1F401.697    
        WRITE(6,'('' Wave model direction levels and frequency pseudo-le   WRB1F401.698    
     &vels'')')                                                            WRB1F401.699    
      ELSEIF(FIXHD(3).EQ.IMDI.AND.FIXHD(5).EQ.4)THEN                       TJ050593.54     
        WRITE(6,'('' Missing data indicator used for vert coord type       PRFIXH1A.107    
     *'')')                                                                PRFIXH1A.108    
      ELSE                                                                 PRFIXH1A.109    
        WRITE(6,'('' ***FATAL ERROR*** Invalid level type: FIXHD(3)='',    PRFIXH1A.110    
     *I9)')FIXHD(3)                                                        PRFIXH1A.111    
       ICODE=4                                                             PRFIXH1A.112    
       CMESSAGE='PR_FIXHD: Consistency check'                              PRFIXH1A.113    
       RETURN                                                              PRFIXH1A.114    
      ENDIF                                                                PRFIXH1A.115    
                                                                           PRFIXH1A.116    
      IF(FIXHD(4).EQ.0)THEN                                                PRFIXH1A.117    
        WRITE(6,'('' Over global domain'')')                               PRFIXH1A.118    
      ELSEIF(FIXHD(4).EQ.1)THEN                                            PRFIXH1A.119    
        WRITE(6,'('' Over N. Hemispheric domain'')')                       PRFIXH1A.120    
      ELSEIF(FIXHD(4).EQ.2)THEN                                            PRFIXH1A.121    
        WRITE(6,'('' Over S. Hemispheric domain'')')                       PRFIXH1A.122    
      ELSEIF(FIXHD(4).EQ.3)THEN                                            PRFIXH1A.123    
        WRITE(6,'('' Over LA domain with no wrap around'')')               PRFIXH1A.124    
      ELSEIF(FIXHD(4).EQ.4)THEN                                            PRFIXH1A.125    
        WRITE(6,'('' Over LA domain with wrap around'')')                  PRFIXH1A.126    
      ELSEIF(FIXHD(4).EQ.103)THEN                                          PRFIXH1A.127    
        WRITE(6,'('' Over rotated LA domain'')')                           PRFIXH1A.128    
      ELSE                                                                 PRFIXH1A.129    
        WRITE(6,'('' ***FATAL ERROR*** Invalid domain: FIXHD(4)='',        PRFIXH1A.130    
     *I9)')FIXHD(4)                                                        PRFIXH1A.131    
       ICODE=4                                                             PRFIXH1A.132    
       CMESSAGE='PR_FIXHD: Consistency check'                              PRFIXH1A.133    
       RETURN                                                              PRFIXH1A.134    
      ENDIF                                                                PRFIXH1A.135    
                                                                           PRFIXH1A.136    
      IF(FIXHD(5).EQ.1)THEN                                                PRFIXH1A.137    
        WRITE(6,'('' Instantaneous dump'')')                               PRFIXH1A.138    
      ELSEIF(FIXHD(5).EQ.2)THEN                                            PRFIXH1A.139    
        WRITE(6,'('' Meaned dump'')')                                      PRFIXH1A.140    
      ELSEIF(FIXHD(5).EQ.3)THEN                                            PRFIXH1A.141    
        WRITE(6,'('' FIELDS file'')')                                      PRFIXH1A.142    
      ELSEIF(FIXHD(5).EQ.4)THEN                                            PRFIXH1A.143    
        WRITE(6,'('' Ancillary dataset'')')                                PRFIXH1A.144    
      ELSEIF(FIXHD(5).EQ.5)THEN                                            PRFIXH1A.145    
        WRITE(6,'('' Boundary dataset'')')                                 PRFIXH1A.146    
      ELSEIF(FIXHD(5).EQ.6)THEN                                            PRFIXH1A.147    
        WRITE(6,'('' AC Observation File'')')                              VSB1F304.142    
      ELSEIF(FIXHD(5).EQ.7)THEN                                            VSB1F304.143    
        WRITE(6,'('' Var Observation File'')')                             VSB1F304.144    
      ELSEIF(FIXHD(5).EQ.8)THEN                                            VSB1F304.145    
        WRITE(6,'('' Cx file (model columns at ob locations)'')')          VSB1F304.146    
       ELSEIF(FIXHD(5).EQ.9)THEN                                           VSB1F400.9      
         WRITE(6,'('' Covariance File'')')                                 VSB1F400.10     
      ELSE IF (FIXHD(5).EQ.10) THEN                                        VSB1F401.100    
        WRITE (6, '('' OPS Obstore file '')')                              VSB1F401.101    
      ELSE                                                                 PRFIXH1A.149    
        WRITE(6,'('' ***FATAL ERROR*** Invalid dump type: FIXHD(5)='',     PRFIXH1A.150    
     *I9)')FIXHD(5)                                                        PRFIXH1A.151    
       ICODE=4                                                             PRFIXH1A.152    
       CMESSAGE='PR_FIXHD: Consistency check'                              PRFIXH1A.153    
       RETURN                                                              PRFIXH1A.154    
      ENDIF                                                                PRFIXH1A.155    
                                                                           PRFIXH1A.156    
      WRITE(6,'('' Exp No ='',I6,'' Run Id ='',I6)') FIXHD(7),FIXHD(6)     PRFIXH1A.157    
                                                                           PRFIXH1A.158    
      IF(FIXHD(8).EQ.1)THEN                                                PRFIXH1A.159    
        WRITE(6,'('' Gregorian calendar'')')                               PRFIXH1A.160    
      ELSEIF(FIXHD(8).EQ.2)THEN                                            PRFIXH1A.161    
        WRITE(6,'('' 360-day calendar'')')                                 PRFIXH1A.162    
      ELSEIF(FIXHD(8).EQ.IMDI.AND.FIXHD(5).EQ.4)THEN                       TJ050593.55     
        WRITE(6,'('' Missing data indcator used as calendar'')')           PRFIXH1A.164    
      ELSE                                                                 PRFIXH1A.165    
        WRITE(6,'('' *** FATAL ERROR *** Invalid calendar type: FIXHD(8)   PRFIXH1A.166    
     *='',I9)')FIXHD(8)                                                    PRFIXH1A.167    
       ICODE=4                                                             PRFIXH1A.168    
       CMESSAGE='PR_FIXHD: Consistency check'                              PRFIXH1A.169    
       RETURN                                                              PRFIXH1A.170    
      ENDIF                                                                PRFIXH1A.171    
                                                                           PRFIXH1A.172    
      IF(FIXHD(9).EQ.1)THEN                                                PRFIXH1A.173    
        WRITE(6,'('' Arakawa A grid'')')                                   PRFIXH1A.174    
      ELSEIF(FIXHD(9).EQ.2)THEN                                            PRFIXH1A.175    
        WRITE(6,'('' Arakawa B grid'')')                                   PRFIXH1A.176    
      ELSEIF(FIXHD(9).EQ.3)THEN                                            PRFIXH1A.177    
        WRITE(6,'('' Arakawa C grid'')')                                   PRFIXH1A.178    
      ELSEIF(FIXHD(9).EQ.4)THEN                                            PRFIXH1A.179    
        WRITE(6,'('' Arakawa D grid'')')                                   PRFIXH1A.180    
      ELSEIF(FIXHD(9).EQ.5)THEN                                            PRFIXH1A.181    
        WRITE(6,'('' Arakawa E grid'')')                                   PRFIXH1A.182    
      ELSEIF(FIXHD(9).EQ.IMDI.AND.FIXHD(5).EQ.4)THEN                       TJ050593.56     
        WRITE(6,'('' Missing data indicator used for grid type'')')        PRFIXH1A.184    
      ELSEIF(FIXHD(9).EQ.IMDI.AND.FIXHD(5).EQ.5)THEN                       TJ050593.57     
        WRITE(6,'('' Missing data indicator used for grid type'')')        PRFIXH1A.186    
      ELSE                                                                 PRFIXH1A.187    
        WRITE(6,'('' *** FATAL ERROR *** Invalid grid type: FIXHD(9)=''    PRFIXH1A.188    
     *  ,I9)')FIXHD(9)                                                     PRFIXH1A.189    
       ICODE=4                                                             PRFIXH1A.190    
       CMESSAGE='PR_FIXHD: Consistency check'                              PRFIXH1A.191    
       RETURN                                                              PRFIXH1A.192    
      ENDIF                                                                PRFIXH1A.193    
                                                                           PRFIXH1A.194    
      WRITE(6,'(''                 Year  Month Day Hour Min  Sec DayNo     PRFIXH1A.195    
     *'')')                                                                PRFIXH1A.196    
      WRITE(6,'('' Data time     ='',7I5)')(FIXHD(I),I=21,27)              PRFIXH1A.197    
      WRITE(6,'('' Validity time ='',7I5)')(FIXHD(I),I=28,34)              PRFIXH1A.198    
      WRITE(6,'('' Creation time ='',7I5)')(FIXHD(I),I=35,41)              PRFIXH1A.199    
                                                                           PRFIXH1A.200    
      WRITE(6,'(''                      Start   1st dim  2nd dim  1st pa   PRFIXH1A.201    
     *rm  2nd parm'')')                                                    PRFIXH1A.202    
      WRITE(6,'('' Integer Consts   '',2I9,9X,I9)')FIXHD(100),             PRFIXH1A.203    
     *FIXHD(101),LEN_INTHD                                                 PRFIXH1A.204    
      WRITE(6,'('' Real Consts      '',2I9,9X,I9)')FIXHD(105),             PRFIXH1A.205    
     *FIXHD(106),LEN_REALHD                                                PRFIXH1A.206    
      WRITE(6,'('' Level Dep Consts '',5I9)')FIXHD(110),                   PRFIXH1A.207    
     *FIXHD(111),FIXHD(112),LEN1_LEVDEPC,LEN2_LEVDEPC                      PRFIXH1A.208    
      WRITE(6,'('' Row Dep Consts   '',5I9)')FIXHD(115),                   PRFIXH1A.209    
     *FIXHD(116),FIXHD(117),LEN1_ROWDEPC,LEN2_ROWDEPC                      PRFIXH1A.210    
      WRITE(6,'('' Column Dep Consts'',5I9)')FIXHD(120),                   PRFIXH1A.211    
     *FIXHD(121),FIXHD(122),LEN1_COLDEPC,LEN2_COLDEPC                      PRFIXH1A.212    
      WRITE(6,'('' Fields of Consts '',5I9)')FIXHD(125),                   PRFIXH1A.213    
     *FIXHD(126),FIXHD(127),LEN1_FLDDEPC,LEN2_FLDDEPC                      PRFIXH1A.214    
      WRITE(6,'('' Extra Consts     '',2I9,9X,I9)')FIXHD(130),             PRFIXH1A.215    
     *FIXHD(131),LEN_EXTCNST                                               PRFIXH1A.216    
      WRITE(6,'('' History Block    '',2I9,9X,I9)')FIXHD(135),             PRFIXH1A.217    
     *FIXHD(136),LEN_DUMPHIST                                              PRFIXH1A.218    
      WRITE(6,'('' CFI No 1         '',2I9,9X,I9)')FIXHD(140),             PRFIXH1A.219    
     *FIXHD(141),LEN_CFI1                                                  PRFIXH1A.220    
      WRITE(6,'('' CFI No 2         '',2I9,9X,I9)')FIXHD(142),             PRFIXH1A.221    
     *FIXHD(143),LEN_CFI2                                                  PRFIXH1A.222    
      WRITE(6,'('' CFI No 3         '',2I9,9X,I9)')FIXHD(144),             PRFIXH1A.223    
     *FIXHD(145),LEN_CFI3                                                  PRFIXH1A.224    
      WRITE(6,'('' Lookup Tables    '',5I9)')FIXHD(150),                   PRFIXH1A.225    
     *FIXHD(151),FIXHD(152),LEN1_LOOKUP,LEN2_LOOKUP                        PRFIXH1A.226    
      WRITE(6,'('' Model Data       '',2I9,9X,I9)')FIXHD(160),             PRFIXH1A.227    
     *FIXHD(161),LEN_DATA                                                  PRFIXH1A.228    
                                                                           PRFIXH1A.229    
C Check model parameters against header record entries                     PRFIXH1A.230    
                                                                           PRFIXH1A.231    
      IF(FIXHD(101).GT.0)THEN                                              PRFIXH1A.232    
        IF(LEN_INTHD.NE.FIXHD(101))THEN                                    PRFIXH1A.233    
        WRITE(6,'('' *ERROR* Integer Consts'')')                           PRFIXH1A.234    
        WRITE(6,'('' Parameter and header values dont match'')')           PRFIXH1A.235    
        ICODE=4                                                            PRFIXH1A.236    
        CMESSAGE='PR_FIXHD: Consistency check'                             PRFIXH1A.237    
        RETURN                                                             PRFIXH1A.238    
        ENDIF                                                              PRFIXH1A.239    
      ENDIF                                                                PRFIXH1A.240    
                                                                           PRFIXH1A.241    
      IF(FIXHD(105).GT.0)THEN                                              PRFIXH1A.242    
        IF(LEN_REALHD.NE.FIXHD(106))THEN                                   PRFIXH1A.243    
        WRITE(6,'('' *ERROR* Real Consts'')')                              PRFIXH1A.244    
        WRITE(6,'('' Parameter and header values dont match'')')           PRFIXH1A.245    
        ICODE=4                                                            PRFIXH1A.246    
        CMESSAGE='PR_FIXHD: Consistency check'                             PRFIXH1A.247    
        RETURN                                                             PRFIXH1A.248    
        ENDIF                                                              PRFIXH1A.249    
      ENDIF                                                                PRFIXH1A.250    
                                                                           PRFIXH1A.251    
      IF(FIXHD(110).GT.0)THEN                                              PRFIXH1A.252    
       IF(LEN1_LEVDEPC.NE.0)THEN                                           AD221292.20     
        IF(LEN1_LEVDEPC.NE.FIXHD(111).OR.LEN2_LEVDEPC.NE.FIXHD(112))THEN   PRFIXH1A.253    
        WRITE(6,'('' *ERROR* Level Dep Consts'')')                         PRFIXH1A.254    
        WRITE(6,'('' Parameter and header values dont match'')')           PRFIXH1A.255    
        ICODE=4                                                            PRFIXH1A.256    
        CMESSAGE='PR_FIXHD: Consistency check'                             PRFIXH1A.257    
        RETURN                                                             PRFIXH1A.258    
        ENDIF                                                              PRFIXH1A.259    
       ENDIF                                                               AD221292.21     
      ENDIF                                                                PRFIXH1A.260    
                                                                           PRFIXH1A.261    
      IF(FIXHD(115).GT.0)THEN                                              PRFIXH1A.262    
       IF(LEN1_ROWDEPC.NE.0)THEN                                           AD221292.22     
        IF(LEN1_ROWDEPC.NE.FIXHD(116).OR.LEN2_ROWDEPC.NE.FIXHD(117))THEN   PRFIXH1A.263    
        WRITE(6,'('' *ERROR* Row Dep Consts'')')                           PRFIXH1A.264    
        WRITE(6,'('' Parameter and header values dont match'')')           PRFIXH1A.265    
        ICODE=4                                                            PRFIXH1A.266    
        CMESSAGE='PR_FIXHD: Consistency check'                             PRFIXH1A.267    
        RETURN                                                             PRFIXH1A.268    
        ENDIF                                                              PRFIXH1A.269    
       ENDIF                                                               AD221292.23     
      ENDIF                                                                PRFIXH1A.270    
                                                                           PRFIXH1A.271    
      IF(FIXHD(120).GT.0)THEN                                              PRFIXH1A.272    
       IF(LEN1_COLDEPC.NE.0)THEN                                           AD221292.24     
        IF(LEN1_COLDEPC.NE.FIXHD(121).OR.LEN2_COLDEPC.NE.FIXHD(122))THEN   PRFIXH1A.273    
        WRITE(6,'('' *ERROR* Column Dep Consts'')')                        PRFIXH1A.274    
        WRITE(6,'('' Parameter and header values dont match'')')           PRFIXH1A.275    
        ICODE=4                                                            PRFIXH1A.276    
        CMESSAGE='PR_FIXHD: Consistency check'                             PRFIXH1A.277    
        RETURN                                                             PRFIXH1A.278    
        ENDIF                                                              PRFIXH1A.279    
       ENDIF                                                               AD221292.25     
      ENDIF                                                                PRFIXH1A.280    
                                                                           PRFIXH1A.281    
      IF(FIXHD(125).GT.0)THEN                                              PRFIXH1A.282    
       IF(LEN1_FLDDEPC.NE.0)THEN                                           AD221292.26     
        IF(LEN1_FLDDEPC.NE.FIXHD(126).OR.LEN2_FLDDEPC.NE.FIXHD(127))THEN   PRFIXH1A.283    
        WRITE(6,'('' *ERROR* Fields of Consts'')')                         PRFIXH1A.284    
        WRITE(6,'('' Parameter and header values dont match'')')           PRFIXH1A.285    
        ICODE=4                                                            PRFIXH1A.286    
        CMESSAGE='PR_FIXHD: Consistency check'                             PRFIXH1A.287    
        RETURN                                                             PRFIXH1A.288    
        ENDIF                                                              PRFIXH1A.289    
       ENDIF                                                               AD221292.27     
      ENDIF                                                                PRFIXH1A.290    
                                                                           PRFIXH1A.291    
      IF(FIXHD(130).GT.0)THEN                                              PRFIXH1A.292    
       IF(LEN_EXTCNST.NE.0)THEN                                            AD221292.28     
        IF(LEN_EXTCNST.NE.FIXHD(131))THEN                                  PRFIXH1A.293    
        WRITE(6,'('' *ERROR* Extra Consts'')')                             PRFIXH1A.294    
        WRITE(6,'('' Parameter and header values dont match'')')           PRFIXH1A.295    
        ICODE=4                                                            PRFIXH1A.296    
        CMESSAGE='PR_FIXHD: Consistency check'                             PRFIXH1A.297    
        RETURN                                                             PRFIXH1A.298    
        ENDIF                                                              PRFIXH1A.299    
       ENDIF                                                               AD221292.29     
      ENDIF                                                                PRFIXH1A.300    
                                                                           PRFIXH1A.301    
      IF(FIXHD(135).GT.0)THEN                                              PRFIXH1A.302    
       IF(LEN_DUMPHIST.NE.0)THEN                                           AD221292.30     
        IF(LEN_DUMPHIST.NE.FIXHD(136))THEN                                 PRFIXH1A.303    
        WRITE(6,'('' *ERROR* History File'')')                             PRFIXH1A.304    
        WRITE(6,'('' Parameter and header values dont match'')')           PRFIXH1A.305    
        ICODE=4                                                            PRFIXH1A.306    
        CMESSAGE='PR_FIXHD: Consistency check'                             PRFIXH1A.307    
        RETURN                                                             PRFIXH1A.308    
        ENDIF                                                              PRFIXH1A.309    
       ENDIF                                                               AD221292.31     
      ENDIF                                                                PRFIXH1A.310    
                                                                           PRFIXH1A.311    
      IF(FIXHD(140).GT.0)THEN                                              PRFIXH1A.312    
       IF(LEN_CFI1.NE.0)THEN                                               AD221292.32     
        IF(LEN_CFI1.NE.FIXHD(141))THEN                                     PRFIXH1A.313    
        WRITE(6,'('' *ERROR* CFI No 1'')')                                 PRFIXH1A.314    
        WRITE(6,'('' Parameter and header values dont match'')')           PRFIXH1A.315    
        ICODE=4                                                            PRFIXH1A.316    
        CMESSAGE='PR_FIXHD: Consistency check'                             PRFIXH1A.317    
        RETURN                                                             PRFIXH1A.318    
        ENDIF                                                              PRFIXH1A.319    
       ENDIF                                                               AD221292.33     
      ENDIF                                                                PRFIXH1A.320    
                                                                           PRFIXH1A.321    
      IF(FIXHD(142).GT.0)THEN                                              PRFIXH1A.322    
       IF(LEN_CFI2.NE.0)THEN                                               AD221292.34     
        IF(LEN_CFI2.NE.FIXHD(143))THEN                                     PRFIXH1A.323    
        WRITE(6,'('' *ERROR* CFI No 2'')')                                 PRFIXH1A.324    
        WRITE(6,'('' Parameter and header values dont match'')')           PRFIXH1A.325    
        ICODE=4                                                            PRFIXH1A.326    
        CMESSAGE='PR_FIXHD: Consistency check'                             PRFIXH1A.327    
        RETURN                                                             PRFIXH1A.328    
        ENDIF                                                              PRFIXH1A.329    
       ENDIF                                                               AD221292.35     
      ENDIF                                                                PRFIXH1A.330    
                                                                           PRFIXH1A.331    
      IF(FIXHD(144).GT.0)THEN                                              PRFIXH1A.332    
       IF(LEN_CFI3.NE.0)THEN                                               AD221292.36     
        IF(LEN_CFI3.NE.FIXHD(145))THEN                                     PRFIXH1A.333    
        WRITE(6,'('' *ERROR* CFI No 3'')')                                 PRFIXH1A.334    
        WRITE(6,'('' Parameter and header values dont match'')')           PRFIXH1A.335    
        ICODE=4                                                            PRFIXH1A.336    
        CMESSAGE='PR_FIXHD: Consistency check'                             PRFIXH1A.337    
        RETURN                                                             PRFIXH1A.338    
        ENDIF                                                              PRFIXH1A.339    
       ENDIF                                                               AD221292.37     
      ENDIF                                                                PRFIXH1A.340    
                                                                           PRFIXH1A.341    
      IF(FIXHD(150).GT.0)THEN                                              PRFIXH1A.342    
        IF(LEN2_LOOKUP.NE.IMDI)THEN                                        PRFIXH1A.343    
        IF(LEN1_LOOKUP.NE.FIXHD(151).OR.LEN2_LOOKUP.NE.FIXHD(152))THEN     PRFIXH1A.344    
        WRITE(6,'('' *ERROR* Lookup Table'')')                             PRFIXH1A.345    
        WRITE(6,'('' Parameter and header values dont match'')')           PRFIXH1A.346    
        ICODE=4                                                            PRFIXH1A.347    
        CMESSAGE='PR_FIXHD: Consistency check'                             PRFIXH1A.348    
        RETURN                                                             PRFIXH1A.349    
        ENDIF                                                              PRFIXH1A.350    
        ENDIF                                                              PRFIXH1A.351    
      ENDIF                                                                PRFIXH1A.352    
                                                                           PRFIXH1A.353    
*IF -DEF,MPP                                                               GPB0F401.271    
      IF(FIXHD(160).GT.0)THEN                                              PRFIXH1A.354    
        IF(LEN_DATA.NE.IMDI)THEN                                           PRFIXH1A.355    
        IF(LEN_DATA.NE.FIXHD(161))THEN                                     PRFIXH1A.356    
        WRITE(6,'('' *ERROR* Model Data'')')                               PRFIXH1A.357    
        WRITE(6,'('' Parameter and header values dont match'')')           PRFIXH1A.358    
        ICODE=4                                                            PRFIXH1A.359    
        CMESSAGE='PR_FIXHD: Consistency check'                             PRFIXH1A.360    
        RETURN                                                             PRFIXH1A.361    
        ENDIF                                                              PRFIXH1A.362    
        ENDIF                                                              PRFIXH1A.363    
      ENDIF                                                                PRFIXH1A.364    
*ENDIF                                                                     GPB0F401.272    
                                                                           PRFIXH1A.365    
      RETURN                                                               PRFIXH1A.366    
      END                                                                  PRFIXH1A.367    
*ENDIF                                                                     PRFIXH1A.368