C************************************************************                INIBAL.2     
C                 SUBROUTINE INIBAL                                          INIBAL.3     
C************************************************************                INIBAL.4     
      SUBROUTINE INIBAL                                                      INIBAL.5     
C                                                                            INIBAL.6     
C     This subroutine reads data used for balancing and                      INIBAL.7     
C     calculates arrays needed for balancing.                                INIBAL.8     
C                                                                            INIBAL.9     
C                                                                            PARAM1.2     
C     Determines model resolution                                            PARAM1.3     
C                                                                            PARAM1.4     
      PARAMETER(NN=21,MM=21,NHEM=2,NL=5,MOCT=1,MG=64,JG=16,NWJ2=121          NETCDF.35    
     P         ,NCRAY=64,JGL=JG,NTRAC=1,NLEVRF=1)                            NETCDF.36    
                                                                             PARAM1.7     
C                                                                            PARAM1.8     
C                                                                            PARAM2.2     
C     Sets basic constants, especially those needed for array dimensions     PARAM2.3     
C                                                                            PARAM2.4     
      PARAMETER(MH=2,PI=3.14159265359,PI2=2.0*PI                             PARAM2.5     
     +,NNP=NN+1,MGPP=MG+2,JGP=JG+1,JGG=JG*NHEM,JGGP=JGG+1,MJP=NWJ2+NWJ2      PARAM2.6     
     +,NLM=NL-1,NLP=NL+1,NLPP=NL+2,NLA=NL+3,NLB=NL+4,NL2=NL*NL               PARAM2.7     
     +,IDA=(MG+MG+MG)/2+1,IDB=NWJ2*NL,IDC=IDB+IDB,IDD=MGPP*NL                PARAM2.8     
     +,IDE=NL2*NN,IDF=NCRAY*(MG+1),IDG=JG*NL,IDH=JG*MG                       PARAM2.9     
     +,IDI=NNP/2,IDJ=IDI*IDI,IDK=NL*IDI,IDL=MGPP/2,IDM=NNP/2,IDN=IDM*NL      PARAM2.10    
     +,NWW=1+(MM-1)/MOCT)                                                    PARAM2.11    
      PARAMETER(IGA=NWJ2*NHEM,IGB=IDB*NHEM,IGC=MGPP*NHEM,IGD=IDD*NHEM        PARAM2.12    
     +,IGG=IDG*NHEM,IGL=IDL*NHEM,IGM=IDM*NHEM,IGN=IDN*NHEM                   PARAM2.13    
     +,IGO=IGA+IGA,IGP=IGB+IGB,NFTWG=(5+NTRAC)*NL+3                          PARAM2.14    
     +,NFTGW=(6+3*NTRAC)*NL+2,NFTGD=(3+NTRAC)*NL,NLTR=NL*NTRAC)              PARAM2.15    
C     Number of 2D (surface) output fields. This value is                    PARAM2.16    
C     Doubled due to averaged and instantaneous fields.                      PARAM2.17    
      PARAMETER (N2DFLD=21,NGRPAD=N2DFLD*2*IGC)                              PARAM2.18    
C                                                                            PARAM2.19    
C                                                                            BLANK.2     
C     Basic planetary parameters for run plus information about              BLANK.3     
C     vertical grid structure                                                BLANK.4     
C                                                                            BLANK.5     
C     Note that RD and GASCON are identical and CPD is set from RD,AKAP.     BLANK.6     
      COMMON        SQ(NNP),RSQ(NNP),SIGMAH(NLM),SIGMA(NL)                   BLANK.7     
     +              ,T01S2(NLM),T0(NL),ALPHA(NL),DSIGMA(NL),RDSIG(NL)        BLANK.8     
     +              ,TKP(NL),C(NL2),SQH(NNP)                                 BLANK.9     
     +              ,MF,MFP,JZF,NF,NFP                                       BLANK.10    
     +              ,AKAP,GA,GASCON,RADEA,WW,P0,PFAC,EZ,AIOCT                BLANK.11    
     +              ,RD,RV,CPD,CLATNT                                        BLANK.12    
     +              ,LRSTRT,LSHORT,LTVEC,LSTRETCH                            BLANK.13    
     +              ,LFLUX                                                   BLANK.14    
     +              ,LBALAN,LRESTIJ                                          BLANK.15    
     +              ,LCLIM, LPERPET, L22L,LOROG ,LCSFCT                      BLANK.16    
     +              ,LNOISE                                                  BLANK.17    
      COMPLEX EZ,AIOCT                                                       BLANK.18    
      LOGICAL LRSTRT,LSHORT,LTVEC,LSTRETCH,LBALAN,LRESTIJ                    BLANK.19    
     +       ,LFLUX,LNOISE                                                   BLANK.20    
     +       ,LCLIM, LPERPET, L22L,LOROG,LCSFCT                              BLANK.21    
C                                                                            BLANK.22    
C                                                                            SPECTR.2     
C     Array ordering in SPECTR must correspond to that in GRIDP.             SPECTR.3     
C                                                                            SPECTR.4     
      COMMON/SPECTR/Z(IGB),D(IGB),T(IGB),TRA(IGB,NTRAC),SP(IGA),GS(IGA)      SPECTR.5     
     :              ,SPA(IGA),VP(IGA),DTE(IGB),TT(IGB)                       SPECTR.6     
     :              ,TRAT(IGB,NTRAC),DT(IGB),ZT(IGB)                         SPECTR.7     
     :              ,ZMI(IGB),DMI(IGB),TMI(IGB)                              SPECTR.8     
     :              ,TRAMI(IGB,NTRAC),SPMI(IGA)                              SPECTR.9     
      COMPLEX Z,D,T,TRA,SP,GS,SPA,VP,DTE,TT,TRAT,DT,ZT                       SPECTR.10    
     :       ,ZMI,DMI,TMI,TRAMI,SPMI                                         SPECTR.11    
C                                                                            SPECTR.12    
C                                                                            BATS.2     
C     Constant arrays and variables associated with time and vertical        BATS.3     
C     differencing. Also counters.                                           BATS.4     
C                                                                            BATS.5     
      COMMON/BATS/  BM1(IDE),AK(NNP),AQ(NL2),G(NL2),TAU(NL2)                 BATS.6     
     +              ,KOUNT,KITS,KSTART,KTOTAL,KRUN,BEGDAY,ITSPD              BATS.7     
     +              ,DELT,DELT2,CV,CG,CT,CQ,PNU,PNU2,PNU21                   BATS.8     
     +              ,NTRACO,CTRA(NTRAC),KOLOUR(NTRAC),RGG(NL2)               BATS.9     
     +              ,BEGDOY,DOY                                              BATS.10    
C                                                                            BATS.11    
C                                                                            OUTCON.2     
C     Switches counters and constants controlling type and frequency of      OUTCON.3     
C     model output                                                           OUTCON.4     
C                                                                            OUTCON.5     
      COMMON/OUTCON/RNTAPE,NCOEFF,NLAT,INLAT,INSPC                           OUTCON.6     
     +              ,RNTAPO                                                  OUTCON.7     
     +              ,KOUNTP,KOUNTE,KOUNTH,KOUNTR                             OUTCON.8     
     +              ,KOUTP,KOUTE,KOUTH,KOUTR,DAY                             OUTCON.9     
     +              ,SQR2,RSQR2,EAM1,EAM2,TOUT1,TOUT2,RMG                    OUTCON.10    
     +              ,LSPO(NL),LGPO(NL)                                       OUTCON.11    
     $              ,LSHIST,LMINIH                                           OUTCON.12    
      LOGICAL LSHIST,LMINIH                                                  OUTCON.13    
      LOGICAL LSPO,LGPO                                                      OUTCON.14    
C                                                                            OUTCON.15    
C                                                                            BALAN.2     
C     Constants and arrays needed for balancing                              BALAN.3     
C                                                                            BALAN.4     
      COMMON/BALAN/BFILT(NL),RGT0(NL),RG(NL2),TMEAN(NL)                      BALAN.5     
     +            ,EP1(IGA),EP2(IGA),KBAL,MFTBAL,SRGT0,LTBAL                 BALAN.6     
      LOGICAL LTBAL                                                          BALAN.7     
C                                                                            BALAN.8     
      PARAMETER(IDI2=IDI+IDI,NLT=NL+NL)                                      INIBAL.17    
C                                                                            INIBAL.18    
      DIMENSION TBM1(NL2),WA1(IDI),WA2(NL)                                   INIBAL.19    
      INTEGER IWA1(IDI),IWA2(NL)                                             INIBAL.20    
      DIMENSION TBME(NL,NL)                                                  INIBAL.21    
      EQUIVALENCE (TBM1(1),TBME(1,1))                                        INIBAL.22    
      DIMENSION AU(IDJ),SM(IDJ),PMNRE(IDJ)                                   INIBAL.23    
      DIMENSION AUE(IDI,IDI)                                                 INIBAL.24    
      EQUIVALENCE (AU(1),AUE(1,1))                                           INIBAL.25    
C                                                                            INIBAL.26    
      DIMENSION ZDATN(IGN),ZDAT1(IGM)                                        INIBAL.27    
C                                                                            INIBAL.28    
      NAMELIST/INPBL/ KBAL,LTBAL,TMEAN                                       INIBAL.29    
      NAMELIST/TMPSP/ ZDATN,ZDAT1                                            INIBAL.30    
      NAMELIST/WVORT/ ZDATN                                                  INIBAL.31    
C                                                                            INIBAL.32    
  219 FORMAT(/' BALANCING FROM TEMPERATURE AND SURFACE PRESSURE TO',         INIBAL.33    
     +       ' OBTAIN VORTICITY')                                            INIBAL.34    
  220 FORMAT(/' BALANCING FROM VORTICITY TO OBTAIN TEMPERATURE AND',         INIBAL.35    
     +       ' SURFACE PRESSURE')                                            INIBAL.36    
  234 FORMAT(/' ***ABORT*** BALANCING ATTEMPTED WITH OROGRAPHY'/             INIBAL.37    
     +       ' TEMPERATURE FIELD WOULD CONTAIN 2-GRID WAVE')                 INIBAL.38    
C                                                                            INIBAL.39    
C     Set default values and override as desired through NAMELIST input      INIBAL.40    
C                                                                            INIBAL.41    
      KBAL=0                                                                 INIBAL.42    
      LTBAL=.FALSE.                                                          INIBAL.43    
      DO 21 L=1,NL                                                           INIBAL.44    
         TMEAN(L)=250.0                                                      INIBAL.45    
   21 CONTINUE                                                               INIBAL.46    
C                                                                            INIBAL.47    
      READ(7,INPBL)                                                          INIBAL.48    
      WRITE(2,INPBL)                                                         INIBAL.49    
C                                                                            INIBAL.50    
      IF (     LTBAL) WRITE(2,219)                                           INIBAL.51    
      IF (.NOT.LTBAL) WRITE(2,220)                                           INIBAL.52    
C                                                                            INIBAL.53    
C     Make TMEAN dimensionless                                               INIBAL.54    
C                                                                            INIBAL.55    
      DO 62 L=1,NL                                                           INIBAL.56    
        TMEAN(L)=TMEAN(L)/CT                                                 INIBAL.57    
   62 CONTINUE                                                               INIBAL.58    
C                                                                            INIBAL.59    
C     Read zonally averaged state from NAMELIST WVORT or TMPSP.              INIBAL.60    
C     Assumes data is non-dimensionalised spectral coefficients              INIBAL.61    
C     and that temperature (if used) includes layer mean.                    INIBAL.62    
C                                                                            INIBAL.63    
      IF(.NOT.LTBAL) THEN                                                    INIBAL.64    
         READ (7,WVORT)                                                      INIBAL.65    
         WRITE(2,WVORT)                                                      INIBAL.66    
         M=0                                                                 INIBAL.67    
         DO 800 IHEM=1,NHEM                                                  INIBAL.68    
            DO 801 L=1,NL                                                    INIBAL.69    
               K=NWJ2*(IHEM-1)+(L-1)*IGA                                     INIBAL.70    
               DO 802 I=1,IDM                                                INIBAL.71    
                  K=K+1                                                      INIBAL.72    
                  M=M+1                                                      INIBAL.73    
                  Z(K)=ZDATN(M)                                              INIBAL.74    
  802          CONTINUE                                                      INIBAL.75    
  801       CONTINUE                                                         INIBAL.76    
  800    CONTINUE                                                            INIBAL.77    
         I=1                                                                 INIBAL.78    
         DO 170 L=1,NL                                                       INIBAL.79    
            T(I)=T(I)+SQR2*(TMEAN(L)-T0(L))                                  INIBAL.80    
            I=I+IGA                                                          INIBAL.81    
  170    CONTINUE                                                            INIBAL.82    
      ELSE                                                                   INIBAL.83    
         READ (7,TMPSP)                                                      INIBAL.84    
         WRITE(2,TMPSP)                                                      INIBAL.85    
         M=0                                                                 INIBAL.86    
         DO 803 IHEM=1,NHEM                                                  INIBAL.87    
            DO 804 L=1,NL                                                    INIBAL.88    
               K=NWJ2*(IHEM-1)+(L-1)*IGA                                     INIBAL.89    
               DO 805 I=1,IDM                                                INIBAL.90    
                  K=K+1                                                      INIBAL.91    
                  M=M+1                                                      INIBAL.92    
                  T(K)=ZDATN(M)                                              INIBAL.93    
  805          CONTINUE                                                      INIBAL.94    
  804       CONTINUE                                                         INIBAL.95    
  803    CONTINUE                                                            INIBAL.96    
         M=0                                                                 INIBAL.97    
         DO 806 IHEM=1,NHEM                                                  INIBAL.98    
            K=NWJ2*(IHEM-1)                                                  INIBAL.99    
            DO 807 I=1,IDM                                                   INIBAL.100   
               K=K+1                                                         INIBAL.101   
               M=M+1                                                         INIBAL.102   
               SP(K)=ZDAT1(M)                                                INIBAL.103   
  807       CONTINUE                                                         INIBAL.104   
  806    CONTINUE                                                            INIBAL.105   
         I=1                                                                 INIBAL.106   
         DO 172 L=1,NL                                                       INIBAL.107   
            T(I)=T(I)-SQR2*T0(L)                                             INIBAL.108   
            I=I+IGA                                                          INIBAL.109   
  172    CONTINUE                                                            INIBAL.110   
      ENDIF                                                                  INIBAL.111   
      IL=1                                                                   INIBAL.112   
      DO 174 L=1,NL                                                          INIBAL.113   
         Z(IL)=Z(IL)+EZ                                                      INIBAL.114   
         IL=IL+IGA                                                           INIBAL.115   
  174 CONTINUE                                                               INIBAL.116   
C                                                                            INIBAL.117   
      IF (KBAL.EQ.0) RETURN                                                  INIBAL.118   
C                                                                            INIBAL.119   
      IF(.NOT.LTBAL) THEN                                                    INIBAL.120   
C                                                                            INIBAL.121   
C        Set values required in BALANC.                                      INIBAL.122   
C        With orography the balanced temperature field contains a            INIBAL.123   
C        2-grid wave in the vertical. ABORT if this is attempted.            INIBAL.124   
C                                                                            INIBAL.125   
         MAXIND=ICAMAX(IGA,GS,1)                                             INIBAL.126   
         GSMAX=ABS(GS(MAXIND))                                               INIBAL.127   
         IF(GSMAX.GT.1.0E-10) THEN                                           INIBAL.128   
           WRITE(2,234)                                                      INIBAL.129   
           CALL ABORT                                                        INIBAL.130   
         ENDIF                                                               INIBAL.131   
         DO 90 L=1,NL2                                                       INIBAL.132   
            TBM1(L)=G(L)                                                     INIBAL.133   
   90    CONTINUE                                                            INIBAL.134   
         CALL MATINV(TBME,NL,NL,IWA2,WA2)                                    INIBAL.135   
         DO 92 L=1,NL2                                                       INIBAL.136   
            RG(L)=TBM1(L)                                                    INIBAL.137   
   92    CONTINUE                                                            INIBAL.138   
         DO 91 L=1,NL                                                        INIBAL.139   
            BFILT(L)=0.                                                      INIBAL.140   
   91    CONTINUE                                                            INIBAL.141   
         BFILT(1)=1.                                                         INIBAL.142   
         BFILT(2)=1.0                                                        INIBAL.143   
         IF (NLM.GE.2) THEN                                                  INIBAL.144   
            TEMPP=1.0                                                        INIBAL.145   
            DO 93 I=2,NLM                                                    INIBAL.146   
               DO 94 J=2,I                                                   INIBAL.147   
                  TEMP=BFILT(J)                                              INIBAL.148   
                  BFILT(J)=TEMP+TEMPP                                        INIBAL.149   
                  TEMPP=TEMP                                                 INIBAL.150   
   94          CONTINUE                                                      INIBAL.151   
               BFILT(I+1)=1.0                                                INIBAL.152   
   93       CONTINUE                                                         INIBAL.153   
         ENDIF                                                               INIBAL.154   
         FACT=-1.0                                                           INIBAL.155   
         DO 95 I=2,NL                                                        INIBAL.156   
            BFILT(I)=BFILT(I)*FACT                                           INIBAL.157   
            FACT=-FACT                                                       INIBAL.158   
   95    CONTINUE                                                            INIBAL.159   
         SRGT0=0.                                                            INIBAL.160   
         IG=0                                                                INIBAL.161   
         DO 98 L=1,NL                                                        INIBAL.162   
            TRGT0=0.                                                         INIBAL.163   
            DO 97 M=1,NL                                                     INIBAL.164   
               IG=IG+1                                                       INIBAL.165   
               TRGT0=TRGT0+RG(IG)*T0(M)                                      INIBAL.166   
   97       CONTINUE                                                         INIBAL.167   
            RGT0(L)=TRGT0                                                    INIBAL.168   
            SRGT0=SRGT0+TRGT0*BFILT(L)                                       INIBAL.169   
   98    CONTINUE                                                            INIBAL.170   
      ELSE                                                                   INIBAL.171   
C                                                                            INIBAL.172   
C        Set values required in TBAL                                         INIBAL.173   
C                                                                            INIBAL.174   
         MWV1=1+MOCT                                                         INIBAL.175   
         MFTBAL=9                                                            INIBAL.176   
C         REWIND 9                                                           INIBAL.177   
C                                                                            INIBAL.178   
         IE=0                                                                INIBAL.179   
         DO 410 MP=1,MFTBAL,MOCT                                             INIBAL.180   
            AM=MP-1                                                          INIBAL.181   
            AMSQ=AM*AM                                                       INIBAL.182   
            AN=AM+1.0                                                        INIBAL.183   
            DO 409 NP=MP,NFP,MH                                              INIBAL.184   
               IE=IE+1                                                       INIBAL.185   
               ANSQ=AN*AN                                                    INIBAL.186   
               EP2(IE)=2.0*SQRT((ANSQ-AMSQ)/                                 INIBAL.187   
     +                 (4.0*ANSQ-1.0))*(1.0-1.0/AN)                          INIBAL.188   
               AN=AN+1.0                                                     INIBAL.189   
               ANSQ=AN*AN                                                    INIBAL.190   
               EP1(IE)=2.0*SQRT((ANSQ-AMSQ)/                                 INIBAL.191   
     +                 (4.0*ANSQ-1.0))*(1.0+1.0/AN)                          INIBAL.192   
               AN=AN+1.0                                                     INIBAL.193   
 409        CONTINUE                                                         INIBAL.194   
 410     CONTINUE                                                            INIBAL.195   
         IE=(NFP-1)/2+1                                                      INIBAL.196   
         DO 1220 MP=MWV1,MFTBAL,MOCT                                         INIBAL.197   
            J2=(NFP-MP)/2+1                                                  INIBAL.198   
            J22=J2*J2                                                        INIBAL.199   
            DO 1202 I=1,J22                                                  INIBAL.200   
               AU(I)=0.0                                                     INIBAL.201   
               SM(I)=0.0                                                     INIBAL.202   
 1202       CONTINUE                                                         INIBAL.203   
            IJ=1                                                             INIBAL.204   
            DO 1205 J=1,J2                                                   INIBAL.205   
               IE=IE+1                                                       INIBAL.206   
               SM(IJ)=EP2(IE)                                                INIBAL.207   
               AU(IJ)=EP2(IE)*EP2(IE)+EP1(IE)*EP1(IE)                        INIBAL.208   
               IF(J.GT.1)AU(IJ-1)=EP1(IE-1)*EP2(IE)                          INIBAL.209   
               IF (J.NE.J2) THEN                                             INIBAL.210   
                  SM(IJ+1)=EP1(IE)                                           INIBAL.211   
                  AU(IJ+1)=EP1(IE)*EP2(IE+1)                                 INIBAL.212   
               ENDIF                                                         INIBAL.213   
               IJ=IJ+J2+1                                                    INIBAL.214   
 1205       CONTINUE                                                         INIBAL.215   
            CALL MATINV(AUE,J2,J2,IWA1,WA1)                                  INIBAL.216   
            IJ=0                                                             INIBAL.217   
            IUS=1                                                            INIBAL.218   
            DO 1210 I=1,J2                                                   INIBAL.219   
               DO 1208 J=1,J2                                                INIBAL.220   
                  TAL=0.0                                                    INIBAL.221   
                  IJ=IJ+1                                                    INIBAL.222   
                  IU=IUS                                                     INIBAL.223   
                  IM=J                                                       INIBAL.224   
                  DO 1207 K=1,J2                                             INIBAL.225   
                     TAL=TAL+AU(IU)*SM(IM)                                   INIBAL.226   
                     IU=IU+1                                                 INIBAL.227   
                     IM=IM+J2                                                INIBAL.228   
 1207             CONTINUE                                                   INIBAL.229   
                  PMNRE(IJ)=TAL                                              INIBAL.230   
 1208          CONTINUE                                                      INIBAL.231   
               IUS=IUS+J2                                                    INIBAL.232   
 1210       CONTINUE                                                         INIBAL.233   
            WRITE(99)(PMNRE(I),I=1,J22)                                      INIBAL.234   
 1220    CONTINUE                                                            INIBAL.235   
C                                                                            INIBAL.236   
         IF(NHEM.EQ.2) THEN                                                  INIBAL.237   
            IE=1+NWJ2                                                        INIBAL.238   
            AN=2.0                                                           INIBAL.239   
            DO 420 NP=3,NFP,MH                                               INIBAL.240   
               IE=IE+1                                                       INIBAL.241   
               ANSQ=AN*AN                                                    INIBAL.242   
               EP2(IE)=2.0*SQRT(ANSQ/(4.0*ANSQ-1.0))*(1.0-1.0/AN)            INIBAL.243   
               AN=AN+1.0                                                     INIBAL.244   
               ANSQ=AN*AN                                                    INIBAL.245   
               EP1(IE)=2.0*SQRT(ANSQ/(4.0*ANSQ-1.0))*(1.0+1.0/AN)            INIBAL.246   
               AN=AN+1.0                                                     INIBAL.247   
  420       CONTINUE                                                         INIBAL.248   
            DO 430 MP=MWV1,MFTBAL,MOCT                                       INIBAL.249   
               AM=MP-1                                                       INIBAL.250   
               AMSQ=AM*AM                                                    INIBAL.251   
               AN=AM+1.0                                                     INIBAL.252   
               DO 429 NP=MP,NFP,MH                                           INIBAL.253   
                  IE=IE+1                                                    INIBAL.254   
                  ANSQ=AN*AN                                                 INIBAL.255   
                  EP1(IE)=2.0*SQRT((ANSQ-AMSQ)/                              INIBAL.256   
     +                    (4.0*ANSQ-1.0))*(1.0+1.0/AN)                       INIBAL.257   
                  AN=AN+1.0                                                  INIBAL.258   
                  ANSQ=AN*AN                                                 INIBAL.259   
                  EP2(IE)=2.0*SQRT((ANSQ-AMSQ)/                              INIBAL.260   
     +                    (4.0*ANSQ-1.0))*(1.0-1.0/AN)                       INIBAL.261   
                  AN=AN+1.0                                                  INIBAL.262   
  429          CONTINUE                                                      INIBAL.263   
  430       CONTINUE                                                         INIBAL.264   
            IE=1+NWJ2                                                        INIBAL.265   
            J2=IDM                                                           INIBAL.266   
            J22=J2*J2                                                        INIBAL.267   
            J2L=J2-1                                                         INIBAL.268   
            J22L=J2*J2L                                                      INIBAL.269   
            DO 1222 I=1,J22                                                  INIBAL.270   
               AU(I)=0.0                                                     INIBAL.271   
               SM(I)=0.0                                                     INIBAL.272   
 1222       CONTINUE                                                         INIBAL.273   
            IJ=1                                                             INIBAL.274   
            DO 1225 J=1,J2L                                                  INIBAL.275   
               IE=IE+1                                                       INIBAL.276   
               IJB=IJ+J-1                                                    INIBAL.277   
               SM(IJB)=EP2(IE)                                               INIBAL.278   
               AU(IJ)=EP1(IE)*EP1(IE) + EP2(IE)*EP2(IE)                      INIBAL.279   
               IF(J.GT.1) AU(IJ-1)=EP1(IE-1)*EP2(IE)                         INIBAL.280   
               SM(IJB+1)=EP1(IE)                                             INIBAL.281   
               IF(J.LT.J2L) AU(IJ+1)=EP1(IE)*EP2(IE+1)                       INIBAL.282   
               IJ=IJ+J2                                                      INIBAL.283   
 1225       CONTINUE                                                         INIBAL.284   
            CALL MATINV(AUE,J2L,J2L,IWA1,WA1)                                INIBAL.285   
            IJ=0                                                             INIBAL.286   
            IUS=1                                                            INIBAL.287   
            DO 1230 I=1,J2L                                                  INIBAL.288   
               DO 1228 J=1,J2                                                INIBAL.289   
                  TAL=0.0                                                    INIBAL.290   
                  IJ=IJ+1                                                    INIBAL.291   
                  IU=IUS                                                     INIBAL.292   
                  IM=J                                                       INIBAL.293   
                  DO 1227 K=1,J2L                                            INIBAL.294   
                     TAL=TAL + AU(IU)*SM(IM)                                 INIBAL.295   
                     IU=IU+1                                                 INIBAL.296   
                     IM=IM+J2                                                INIBAL.297   
 1227             CONTINUE                                                   INIBAL.298   
                  PMNRE(IJ)=TAL                                              INIBAL.299   
 1228          CONTINUE                                                      INIBAL.300   
               IUS=IUS+J2L                                                   INIBAL.301   
 1230       CONTINUE                                                         INIBAL.302   
            WRITE(99) (PMNRE(I),I=1,J22L)                                    INIBAL.303   
         ENDIF                                                               INIBAL.304   
C                                                                            INIBAL.305   
      ENDIF                                                                  INIBAL.306   
C                                                                            INIBAL.307   
      END                                                                    INIBAL.308   
