      SUBROUTINE FAIFLA (KRANG)
#include "facom0.h"
C****
C        Ce sous-programme est charge des Initialisations des
C     tableaux FLAp1d., utilises pour aplatir le spectre des champs
C     d'un fichier avant le compactage (coefficients spectraux seulement).
C**
C
C
C**
C     ARGUMENTS :    KRANG  (Entree) ==> Rang de l'unite logique
C
C
      USE FAMODU   , ONLY : FLAP1D   ,FLAP1DA  ,XLAP1D   ,XLAP1DA
C
#include "precision.h"
C
#include "facomp.h"
#include "facom1.h"
C
      INTEGER KRANG
C
      INTEGER J, IRANGC, IPUILA, ITRONC
C
      LOGICAL LLPREA
      SAVE LLPREA
C
      DATA LLPREA /.TRUE./
C
      IF (LLPREA) THEN
C
C
C
C         C'EST LE PREMIER APPEL au sous-programme,
C         on commence par les allocations des differents tableaux
C
        ALLOCATE (FLAP1D (JPXTRO,JPNXFA))
        ALLOCATE (FLAP1DA (JPXTRO*JPXTRO,JPNXFA))
        LLPREA=.FALSE.
      ENDIF
C
      IPUILA = NPUFLA(KRANG)
      IRANGC = NUCADR(KRANG)
      ITRONC = MTRONC(IRANGC)
      IF (IPUILA.GT.0) THEN
C
        DO J=1,ITRONC
          FLAP1D(J,KRANG)=XLAP1D(J,0)**IPUILA
        ENDDO
        DO J=1,JPXTRO*JPXTRO
          FLAP1DA(J,KRANG)=XLAP1DA(J,0)**IPUILA
        ENDDO
C
      ELSEIF (IPUILA.LT.0) THEN
C
        DO J=1,ITRONC
          FLAP1D(J,KRANG)=XLAP1D(J,1)**(-IPUILA)
        ENDDO
        DO J=1,JPXTRO*JPXTRO
          FLAP1DA(J,KRANG)=XLAP1DA(J,1)**(-IPUILA)
        ENDDO
C
      ENDIF
C
      RETURN
      END
