*IF DEF,CONTROL                                                            INITHDR1.2      
C ******************************COPYRIGHT******************************    GTS2F400.4753   
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.4754   
C                                                                          GTS2F400.4755   
C Use, duplication or disclosure of this code is subject to the            GTS2F400.4756   
C restrictions as set forth in the contract.                               GTS2F400.4757   
C                                                                          GTS2F400.4758   
C                Meteorological Office                                     GTS2F400.4759   
C                London Road                                               GTS2F400.4760   
C                BRACKNELL                                                 GTS2F400.4761   
C                Berkshire UK                                              GTS2F400.4762   
C                RG12 2SZ                                                  GTS2F400.4763   
C                                                                          GTS2F400.4764   
C If no contract has been raised with this copy of the code, the use,      GTS2F400.4765   
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.4766   
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.4767   
C Modelling at the above address.                                          GTS2F400.4768   
C ******************************COPYRIGHT******************************    GTS2F400.4769   
C                                                                          GTS2F400.4770   
CLL  SUBROUTINE INITHDRS -----------------------------------------------   INITHDR1.3      
CLL                                                                        INITHDR1.4      
CLL  PURPOSE:   Initialises dump LOOKUP headers reserved for diagnostic    INITHDR1.5      
CLL             fields with size and other basic information to allow      INITHDR1.6      
CLL             dump IO routines to work correctly before STASH has        INITHDR1.7      
CLL             updated the addressed fields.                              INITHDR1.8      
CLL                                                                        INITHDR1.9      
CLL   programmers of some or all of previous code & changes include:       INITHDR1.10     
CLL    T JOHNS                                                             INITHDR1.11     
CLL                                                                        INITHDR1.12     
CLL  Model            Modification history:                                INITHDR1.13     
CLL version  Date                                                          INITHDR1.14     
CLL   3.2  28/07/93  Introduced as new deck to initialise diagnostic       INITHDR1.15     
CLL                  LOOKUP headers at the start of an NRUN.               INITHDR1.16     
CLL   3.3  26/10/93  Correct the routine to set all headers of a           MC261093.119    
CLL                  multi-level item.                                     MC261093.120    
CLL   3.3  26/10/93  M. Carter. Part of an extensive mod that:             MC261093.121    
CLL                  1.Removes the limit on primary STASH item numbers.    MC261093.122    
CLL                  2.Removes the assumption that (section,item)          MC261093.123    
CLL                    defines the sub-model.                              MC261093.124    
CLL                  3.Thus allows for user-prognostics.                   MC261093.125    
CLL   3.4  27/07/94  Initialise LOOKUP(lbnrec) to 0 so that IO routines    GRR2F304.1      
CLL                  can recognise diagnostic field as belonging           GRR2F304.2      
CLL                  in a dump. R. Rawlins                                 GRR2F304.3      
CLL  3.4  07/09/94   Bug fix to initialisation of ocean lookup.            GJT0F304.1      
CLL                  J Thomson                                             GJT0F304.2      
CLL   3.5 May 95       Submodels project.                                  GSS1F305.487    
CLL                  Values of 'idump' now read from STASH list array;     GSS1F305.488    
CLL                    reference to INDEX_PPXREF removed.                  GSS1F305.489    
CLL                  References to PP_XREF array replaced by EXPPXI        GSS1F305.490    
CLL                    function calls.                                     GSS1F305.491    
CLL                  Certain *CALLs introduced in conjunction with         GSS1F305.492    
CLL                    the above - ARGPPX, CSUBMODL, PPXLOOK.              GSS1F305.493    
CLL                    S.J.Swarbrick                                       GSS1F305.494    
CLL   4.0  10/10/95  Rationalise use of internal model and submodel        GDR7F400.1      
CLL                  partition idents. Set internal model ids in           GDR7F400.2      
CLL                  lookups. R. Rawlins                                   GDR7F400.3      
CLL  4.1  26/03/96  Introduce Wave sub-model.  RTHBarnes.                  WRB1F401.432    
!     4.1  03/04/96  Use DUMP_PACKim to control packing in Dump.           GDR2F401.38     
!                    D. Robinson                                           GDR2F401.39     
!LL  4.2  27/11/96  MPP code: Correct setting up of LBLREC and             GPB1F402.321    
!LL                           NADDR elements of lookup  P.Burton           GPB1F402.322    
!LL   4.4  27/11/96  New option mean timeseries. R A Stratton.             GRS1F404.240    
!    4.4  25/04/97   Changes to make the addresses well-formed for         GBC5F404.142    
!                    Cray I/O.                                             GBC5F404.143    
!                      Author: Bob Carruthers, Cray Research               GBC5F404.144    
CLL                                                                        INITHDR1.17     
CLL  PROGRAMMING STANDARD: UNIFIED MODEL DP NO. 3, VERSION 3               INITHDR1.18     
CLL                                                                        INITHDR1.19     
CLL  SYSTEM TASK: C4                                                       INITHDR1.20     
CLL                                                                        INITHDR1.21     
CLL  SYSTEM COMPONENTS: C401                                               INITHDR1.22     
CLL                                                                        INITHDR1.23     
CLL  EXTERNAL DOCUMENTATION: UMDP NO. C4 VERSION NO. 8                     INITHDR1.24     
CLL                                                                        INITHDR1.25     
CLLEND-------------------------------------------------------------        INITHDR1.26     
                                                                           INITHDR1.27     

      SUBROUTINE INITHDRS(                                                  1,9INITHDR1.28     
*CALL ARGSIZE                                                              INITHDR1.29     
*CALL ARGDUMA                                                              INITHDR1.30     
*CALL ARGDUMO                                                              INITHDR1.31     
*CALL ARGDUMW                                                              WRB1F401.433    
*CALL ARGSTS                                                               INITHDR1.32     
*CALL ARGPPX                                                               GSS1F305.495    
     &                  ICODE,CMESSAGE)                                    INITHDR1.33     
                                                                           INITHDR1.34     
      IMPLICIT NONE                                                        INITHDR1.35     
                                                                           INITHDR1.36     
C*L Arguments                                                              INITHDR1.37     
CL                                                                         INITHDR1.38     
*CALL CSUBMODL                                                             GSS1F305.496    
*CALL TYPSIZE                                                              INITHDR1.39     
*CALL TYPDUMA                                                              INITHDR1.40     
*CALL TYPDUMO                                                              INITHDR1.41     
*CALL TYPDUMW                                                              WRB1F401.434    
*CALL TYPSTS                     ! Contains *CALL CPPXREF                  GSS1F305.497    
      INTEGER                                                              INITHDR1.43     
     &    ICODE                  ! OUT: Error return code                  INITHDR1.44     
C                                                                          INITHDR1.45     
      CHARACTER*80  CMESSAGE     ! OUT: Error return message               WRB1F401.435    
                                                                           INITHDR1.48     
C PARAMETERs                                                               INITHDR1.49     
                                                                           INITHDR1.50     
*CALL CHSUNITS                                                             GDR2F401.40     
*CALL CCONTROL                                                             GDR2F401.41     
*CALL C_MDI                                                                INITHDR1.52     
*CALL CLOOKADD                                                             INITHDR1.53     
*CALL STPARAM                                                              INITHDR1.54     
                                                                           GSS1F305.498    
! PPXREF lookup arrays                                                     GSS1F305.499    
                                                                           GSS1F305.500    
*CALL PPXLOOK                                                              GSS1F305.501    
                                                                           INITHDR1.55     
C Local variables                                                          INITHDR1.56     
                                                                           INITHDR1.57     
      REAL                                                                 INITHDR1.58     
     &        r_eqv_rmdi                                                   INITHDR1.59     
      INTEGER                                                              INITHDR1.60     
     &        i_eqv_rmdi                                                   INITHDR1.61     
     &,disk_address                    ! Current rounded disk address      GBC5F404.145    
     &,number_of_data_words_on_disk    ! Number of data words on disk      GBC5F404.146    
     &,number_of_data_words_in_memory  ! Number of Data Words in memory    GBC5F404.147    
      INTEGER                                                              INITHDR1.62     
     &        i,ii,is,im,iproc,ilookup,iheaders,ilength,imean,j            GDR7F400.4      
     &       ,im_ident        ! internal model identifier                  GDR7F400.5      
     &       ,sm_ident        ! submodel partition (dump) identifier       GDR7F400.6      
     &       ,N1              ! Packing Indicator for Lookup(21)           GDR2F401.42     
                                                                           INITHDR1.64     
      EQUIVALENCE(r_eqv_rmdi,i_eqv_rmdi)                                   INITHDR1.65     
                                                                           INITHDR1.66     
! Function and subroutine calls:                                           GSS1F305.503    
      INTEGER  EXPPXI                                                      GSS1F305.504    
      EXTERNAL EXPPXI                                                      GSS1F305.505    
                                                                           GSS1F305.506    
CL----------------------------------------------------------------------   INITHDR1.67     
CL  1. Set dump LOOKUP headers with basic information needed by            INITHDR1.68     
CL     READDUMP and WRITDUMP, by scanning STASHlist items for              INITHDR1.69     
CL     diagnostics destined for dump addresses.  NB: timeseries            INITHDR1.70     
CL     fields cannot be 32-bit packed in dumps as the extra data           INITHDR1.71     
CL     will contain integers.                                              INITHDR1.72     
CL                                                                         INITHDR1.73     
      r_eqv_rmdi=rmdi                                                      INITHDR1.74     
C                                                                          INITHDR1.75     
      DO II=1,totitems                                                     INITHDR1.76     
        IF (stlist(st_output_code,II).EQ.st_dump) THEN                     INITHDR1.77     
C       output is to addressed D1                                          MC261093.128    
                                                                           MC261093.129    
          im_ident  =stlist(st_model_code,II)          ! internal model    GDR7F400.7      
          sm_ident  =SUBMODEL_PARTITION_INDEX(im_ident)! submodel          GDR7F400.8      
                                                                           GDR7F400.9      
          is     =stlist(st_sect_no_code,II)                               GSS1F305.508    
          im     =stlist(st_item_code,II)                                  INITHDR1.79     
          iproc  =stlist(st_proc_no_code,II)                               INITHDR1.81     
          ilookup=stlist(st_lookup_ptr,II)                                 INITHDR1.82     
                                                                           GSS1F305.509    
*IF -DEF,ATMOS                                                             INITHDR1.104    
          IF (sm_ident.EQ.atmos_sm) THEN                                   GDR7F400.10     
            icode=111                                                      INITHDR1.106    
            cmessage='INITHDRS : Atmos diagnostic request not possible'    INITHDR1.107    
            GOTO 999                                                       INITHDR1.108    
          ENDIF                                                            INITHDR1.109    
*ENDIF                                                                     MC261093.140    
*IF -DEF,OCEAN                                                             INITHDR1.130    
          IF (sm_ident.EQ.ocean_sm) THEN                                   GDR7F400.11     
            icode=222                                                      INITHDR1.132    
            cmessage='INITHDRS : Ocean diagnostic request not possible'    INITHDR1.133    
            GOTO 999                                                       INITHDR1.134    
          ENDIF                                                            INITHDR1.135    
*ENDIF                                                                     MC261093.141    
*IF -DEF,WAVE                                                              WRB1F401.436    
          IF (sm_ident.EQ.wave_sm) THEN                                    WRB1F401.437    
            icode=444                                                      WRB1F401.438    
            cmessage='INITHDRS : Wave diagnostic request not possible'     WRB1F401.439    
            GOTO 999                                                       WRB1F401.440    
          ENDIF                                                            WRB1F401.441    
*ENDIF                                                                     WRB1F401.442    
                                                                           MC261093.142    
C         Calculate the total number of headers required by this           MC261093.143    
C         stashlist record.                                                MC261093.144    
          imean=(stlist(st_gridpoint_code,II)/block_size)*block_size       MC261093.145    
          IF (stlist(st_output_bottom,II).EQ.100) THEN                     MC261093.146    
C           single level                                                   MC261093.147    
            iheaders=1                                                     MC261093.148    
          ELSE IF (stlist(st_proc_no_code,II) .EQ.                         MC261093.149    
     &              st_time_series_code.OR.                                GRS1F404.241    
     &      stlist(st_proc_no_code,II).eq.st_time_series_mean) THEN        GRS1F404.242    
C           time series                                                    MC261093.151    
            iheaders=1                                                     MC261093.152    
          ELSE IF (stlist(st_proc_no_code,II) .EQ.                         MC261093.153    
     &             st_append_traj_code) THEN                               MC261093.154    
C           append trajectories                                            MC261093.155    
            iheaders=1                                                     MC261093.156    
          ELSE IF (imean.eq.vert_mean_base) THEN                           MC261093.157    
C           vertical mean                                                  MC261093.158    
            iheaders=1                                                     MC261093.159    
          ELSE IF (imean.eq.global_mean_base) THEN                         MC261093.160    
C           total 3-D mean                                                 MC261093.161    
            iheaders=1                                                     MC261093.162    
          ELSE IF (stlist(st_output_bottom,II).LT.0) THEN                  MC261093.163    
C           level list, not vertical mean.                                 MC261093.164    
            iheaders=STASH_LEVELS(1, -stlist(st_output_bottom,II) )        MC261093.165    
          ELSE                                                             MC261093.166    
C           level range, not vertical mean.                                MC261093.167    
            iheaders=stlist(st_output_top,II)-                             MC261093.168    
     &               stlist(st_output_bottom,II)+1                         MC261093.169    
          END IF                                                           MC261093.170    
          IF(stlist(st_pseudo_out,II).GT.0) THEN !Output pseudo levs       MC261093.171    
            iheaders=iheaders*                                             MC261093.172    
     *      STASH_PSEUDO_LEVELS(1,stlist(st_pseudo_out,II))                MC261093.173    
          END IF                                                           MC261093.174    
                                                                           MC261093.175    
*IF -DEF,MPP                                                               GPB1F402.323    
          ilength=stlist(st_output_length,II) / iheaders                   MC261093.176    
*ELSE                                                                      GPB1F402.324    
          ilength=stlist(st_dump_output_length,II) / iheaders              GPB1F402.325    
*ENDIF                                                                     GPB1F402.326    
C         Loop down the headers.                                           MC261093.177    
          DO I=0,iheaders-1                                                MC261093.178    
*IF DEF,ATMOS                                                              MC261093.179    
            IF (sm_ident.EQ.atmos_sm) THEN                                 GDR7F400.12     
              DO j=1,len1_lookup                                           MC261093.181    
                a_lookup(j,ilookup+I)=imdi                                 MC261093.182    
              ENDDO                                                        MC261093.183    
              DO j=46,len1_lookup                                          MC261093.184    
                a_lookup(j,ilookup+I)=i_eqv_rmdi                           MC261093.185    
              ENDDO                                                        MC261093.186    
              a_lookup(lbnrec   ,ilookup+I)=0                              GRR2F304.4      
              a_lookup(item_code,ilookup+I)=is*1000+im                     MC261093.187    
              a_lookup(model_code,ilookup+I)=im_ident                      GDR7F400.13     
              a_lookup(data_type,ilookup+I)=                               GSS1F305.512    
     &                          EXPPXI(im_ident,is,im,ppx_data_type,       GDR7F400.14     
*CALL ARGPPX                                                               GSS1F305.514    
     &                                             ICODE,CMESSAGE)         GSS1F305.515    
              a_lookup(lblrec,ilookup+I)=ilength                           MC261093.189    
*IF -DEF,MPP                                                               GPB1F402.327    
              a_lookup(naddr ,ilookup+I)=stlist(st_output_addr  ,II)+      MC261093.190    
     &                                   ( ilength * I )                   MC261093.191    
*ELSE                                                                      GPB1F402.328    
              a_lookup(naddr ,ilookup+I)=                                  GPB1F402.329    
     &          stlist(st_dump_output_addr  ,II)+( ilength * I )           GPB1F402.330    
*ENDIF                                                                     GPB1F402.331    
              IF (iproc.EQ.st_time_series_code .OR.                        MC261093.192    
     &            iproc.EQ.st_time_series_mean .OR.                        GRS1F404.243    
     &        iproc.EQ.st_append_traj_code) THEN                           MC261093.193    
                a_lookup(lbpack,ilookup+I)=2000                            MC261093.194    
              ELSE                                                         MC261093.195    
                a_lookup(lbpack,ilookup+I)=2000+                           MC261093.196    
     &                          EXPPXI(im_ident,is,im,ppx_dump_packing,    GDR7F400.15     
*CALL ARGPPX                                                               GSS1F305.517    
     &                                             ICODE,CMESSAGE)         GSS1F305.518    
                IF (DUMP_PACKim(sm_ident).eq.3 ) THEN                      GDR2F401.43     
!                 Do not pack data ; Override PPXREF packing indicator     GDR2F401.44     
                  N1 = 0   !   No packing                                  GDR2F401.45     
                  a_lookup(lbpack,ilookup+I) =                             GDR2F401.46     
     &           (a_lookup(lbpack,ilookup+I)/10)*10 + N1                   GDR2F401.47     
                ENDIF                                                      GDR2F401.48     
              ENDIF                                                        MC261093.198    
            END IF                                                         MC261093.199    
*ENDIF                                                                     MC261093.200    
*IF DEF,OCEAN                                                              MC261093.201    
            IF (sm_ident.EQ.ocean_sm) THEN                                 GDR7F400.16     
              DO j=1,len1_lookup                                           MC261093.203    
                o_lookup(j,ilookup+I)=imdi                                 GJT0F304.3      
              ENDDO                                                        MC261093.205    
              DO j=46,len1_lookup                                          MC261093.206    
                o_lookup(j,ilookup+I)=i_eqv_rmdi                           GJT0F304.4      
              ENDDO                                                        MC261093.208    
              o_lookup(lbnrec   ,ilookup+I)=0                              GRR2F304.5      
              o_lookup(item_code,ilookup+I)=is*1000+im                     MC261093.209    
              o_lookup(model_code,ilookup+I)=im_ident                      GDR7F400.17     
              o_lookup(data_type,ilookup+I)=                               GSS1F305.519    
     &                          EXPPXI(im_ident,is,im,ppx_data_type,       GDR7F400.18     
*CALL ARGPPX                                                               GSS1F305.521    
     &                                             ICODE,CMESSAGE)         GSS1F305.522    
              o_lookup(lblrec,ilookup+I)=ilength                           MC261093.211    
*IF -DEF,MPP                                                               GPB1F402.332    
              o_lookup(naddr ,ilookup+I)=stlist(st_output_addr  ,II)+      MC261093.212    
     &                                   ( ilength * I )                   MC261093.213    
*ELSE                                                                      GPB1F402.333    
              o_lookup(naddr ,ilookup+I)=                                  GPB1F402.334    
     &          stlist(st_dump_output_addr  ,II)+( ilength * I )           GPB1F402.335    
*ENDIF                                                                     GPB1F402.336    
              IF (iproc.EQ.st_time_series_code .OR.                        MC261093.214    
     &            iproc.EQ.st_time_series_mean .OR.                        GRS1F404.244    
     &            iproc.EQ.st_append_traj_code) THEN                       MC261093.215    
                o_lookup(lbpack,ilookup+I)=2000                            MC261093.216    
              ELSE                                                         MC261093.217    
                o_lookup(lbpack,ilookup+I)=2000+                           MC261093.218    
     &                          EXPPXI(im_ident,is,im,ppx_dump_packing,    GDR7F400.19     
*CALL ARGPPX                                                               GSS1F305.524    
     &                                             ICODE,CMESSAGE)         GSS1F305.525    
                IF (DUMP_PACKim(sm_ident).eq.3 ) THEN                      GDR2F401.49     
!                 Do not pack data ; Override PPXREF packing indicator     GDR2F401.50     
                  N1 = 0   !   No packing                                  GDR2F401.51     
                  o_lookup(lbpack,ilookup+I) =                             GDR2F401.52     
     &           (o_lookup(lbpack,ilookup+I)/10)*10 + N1                   GDR2F401.53     
                ENDIF                                                      GDR2F401.54     
                                                                           GSS1F305.526    
              ENDIF                                                        WRB1F401.443    
            ENDIF                                                          WRB1F401.444    
*ENDIF                                                                     WRB1F401.445    
*IF DEF,WAVE                                                               WRB1F401.446    
      IF (sm_ident.EQ.wave_sm) THEN                                        WRB1F401.447    
              DO j=1,len1_lookup                                           WRB1F401.448    
                w_lookup(j,ilookup+I)=imdi                                 WRB1F401.449    
              ENDDO                                                        WRB1F401.450    
              DO j=46,len1_lookup                                          WRB1F401.451    
                w_lookup(j,ilookup+I)=i_eqv_rmdi                           WRB1F401.452    
              ENDDO                                                        WRB1F401.453    
              w_lookup(lbnrec   ,ilookup+I)=0                              WRB1F401.454    
              w_lookup(item_code,ilookup+I)=is*1000+im                     WRB1F401.455    
              w_lookup(model_code,ilookup+I)=im_ident                      WRB1F401.456    
              w_lookup(data_type,ilookup+I)=                               WRB1F401.457    
     &                          EXPPXI(im_ident,is,im,ppx_data_type,       WRB1F401.458    
*CALL ARGPPX                                                               WRB1F401.459    
     &                                             ICODE,CMESSAGE)         WRB1F401.460    
              w_lookup(lblrec,ilookup+I)=ilength                           WRB1F401.461    
*IF -DEF,MPP                                                               GPB1F402.337    
              w_lookup(naddr ,ilookup+I)=stlist(st_output_addr  ,II)+      WRB1F401.462    
     &                                   ( ilength * I )                   WRB1F401.463    
*ELSE                                                                      GPB1F402.338    
              w_lookup(naddr ,ilookup+I)=                                  GPB1F402.339    
     &          stlist(st_dump_output_addr  ,II)+( ilength * I )           GPB1F402.340    
*ENDIF                                                                     GPB1F402.341    
              IF (iproc.EQ.st_time_series_code .OR.                        WRB1F401.464    
     &            iproc.EQ.st_time_series_mean .OR.                        GRS1F404.245    
     &            iproc.EQ.st_append_traj_code) THEN                       WRB1F401.465    
                w_lookup(lbpack,ilookup+I)=2000                            WRB1F401.466    
              ELSE                                                         WRB1F401.467    
                w_lookup(lbpack,ilookup+I)=2000+                           WRB1F401.468    
     &                          EXPPXI(im_ident,is,im,ppx_dump_packing,    WRB1F401.469    
*CALL ARGPPX                                                               WRB1F401.470    
     &                                             ICODE,CMESSAGE)         WRB1F401.471    
                                                                           WRB1F401.472    
                IF (DUMP_PACKim(sm_ident).eq.3 ) THEN                      WRB1F401.473    
!                 Do not pack data ; Override PPXREF packing indicator     WRB1F401.474    
                  N1 = 0   !   No packing                                  WRB1F401.475    
                  w_lookup(lbpack,ilookup+I) =                             WRB1F401.476    
     &           (w_lookup(lbpack,ilookup+I)/10)*10 + N1                   WRB1F401.477    
                ENDIF                                                      WRB1F401.478    
              ENDIF                                                        MC261093.220    
            ENDIF                                                          INITHDR1.153    
*ENDIF                                                                     INITHDR1.155    
          END DO ! I, Loop over headers for this STASHlist entry           MC261093.221    
                                                                           MC261093.222    
                                                                           MC261093.223    
        ENDIF                                                              INITHDR1.156    
      END DO  ! II LOOP OVER TOTITEMS                                      MC261093.224    
                                                                           INITHDR1.158    
c                                                                          GBC5F404.148    
c--reset the disk addresses and lengths for well-formed I/O                GBC5F404.149    
*IF DEF,ATMOS                                                              GBC5F404.150    
      if (sm_ident.eq.atmos_sm) then                                       GBC5F404.151    
        call set_dumpfile_address(a_fixhd, len_fixhd,                      GBC5F404.152    
     &                            a_lookup, len1_lookup,                   GBC5F404.153    
     &                            a_len2_lookup,                           GBC5F404.154    
     &                            number_of_data_words_in_memory,          GBC5F404.155    
     &                            number_of_data_words_on_disk,            GBC5F404.156    
     &                            disk_address)                            GBC5F404.157    
      endif                                                                GBC5F404.158    
*ENDIF                                                                     GBC5F404.159    
*IF DEF,OCEAN                                                              GBC5F404.160    
      if (sm_ident.eq.ocean_sm) then                                       GBC5F404.161    
        call set_dumpfile_address(o_fixhd, len_fixhd,                      GBC5F404.162    
     &                            o_lookup, len1_lookup,                   GBC5F404.163    
     &                            o_len2_lookup,                           GBC5F404.164    
     &                            number_of_data_words_in_memory,          GBC5F404.165    
     &                            number_of_data_words_on_disk,            GBC5F404.166    
     &                            disk_address)                            GBC5F404.167    
      endif                                                                GBC5F404.168    
*ENDIF                                                                     GBC5F404.169    
*IF DEF,WAVE                                                               GBC5F404.170    
      if (sm_ident.eq.wave_sm) then                                        GBC5F404.171    
        call set_dumpfile_address(w_fixhd, len_fixhd,                      GBC5F404.172    
     &                            w_lookup, len1_lookup,                   GBC5F404.173    
     &                            w_len2_lookup,                           GBC5F404.174    
     &                            number_of_data_words_in_memory,          GBC5F404.175    
     &                            number_of_data_words_on_disk,            GBC5F404.176    
     &                            disk_address)                            GBC5F404.177    
      endif                                                                GBC5F404.178    
*ENDIF                                                                     GBC5F404.179    
  999 CONTINUE                                                             INITHDR1.159    
      RETURN                                                               INITHDR1.160    
      END                                                                  INITHDR1.161    
                                                                           INITHDR1.162    
*ENDIF                                                                     INITHDR1.163