Ignore:
Timestamp:
Aug 2, 2024, 9:58:25 PM (7 weeks ago)
Author:
abarral
Message:

Put dimensions.h and paramet.h into modules

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/filtrez/lmdz_filtreg.F90

    r5158 r5159  
    22
    33MODULE lmdz_filtreg
     4  USE lmdz_paramet
    45  IMPLICIT NONE; PRIVATE
    56  PUBLIC matriceun, matriceus, matricevn, matricevs, matrinvn, matrinvs, &
     
    1314  SUBROUTINE filtreg(champ, nlat, nbniv, ifiltre, iaire, &
    1415          griscal, iter)
     16  USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
    1517    USE lmdz_coefils, ONLY: jfiltnu, jfiltnv, jfiltsu, jfiltsv, sddu, sddv, unsddu, unsddv, modfrstv, modfrstu
    1618
    1719    !=======================================================================
    18     !
     20
    1921    !   Auteur: P. Le Van        07/10/97
    2022    !   ------
    21     !
     23
    2224    !   Objet: filtre matriciel longitudinal ,avec les matrices precalculees
    2325    !                 pour l'operateur  Filtre    .
    2426    !   ------
    25     !
     27
    2628    !   Arguments:
    2729    !   ----------
    28     !
     30
    2931    !  nblat                 nombre de latitudes a filtrer
    3032    !  nbniv                 nombre de niveaux verticaux a filtrer
     
    3537    !                        +2  Filtre directe
    3638    !                        -2  Filtre inverse
    37     !
     39
    3840    !  iaire                 1   si champ intensif
    3941    !                        2   si champ extensif (pondere par les aires)
    40     !
     42
    4143    !  iter                  1   filtre simple
    42     !
     44
    4345    !=======================================================================
    44     !
    45     !
     46
     47
    4648    !                  Variable Intensive
    4749    !            ifiltre = 1     filtre directe
    4850    !            ifiltre =-1     filtre inverse
    49     !
     51
    5052    !                  Variable Extensive
    5153    !            ifiltre = 2     filtre directe
    5254    !            ifiltre =-2     filtre inverse
     55
    5356    !
    54     !
    55     INCLUDE "dimensions.h"
    56     INCLUDE "paramet.h"
     57
     58
    5759
    5860    INTEGER :: nlat, nbniv, ifiltre, iter
     
    326328
    327329  SUBROUTINE inifgn(dv)
    328     !
     330
    329331    !    ...  H.Upadyaya , O.Sharma  ...
    330     !
     332
    331333    USE lmdz_coefils, ONLY: sddv, sddu, unsddu, unsddv, eignfnv, eignfnu
    332334    USE lmdz_ssum_scopy, ONLY: ssum
    333335    USE lmdz_comgeom
    334336
     337USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
     338  USE lmdz_paramet
    335339    IMPLICIT NONE
    336340
    337     INCLUDE "dimensions.h"
    338     INCLUDE "paramet.h"
     341
     342
    339343
    340344    REAL :: vec(iim, iim), vec1(iim, iim)
     
    347351    imm1 = iim - 1
    348352    pi = 2. * ASIN(1.)
    349     !
     353
    350354    DO i = 1, iim
    351355      dlonu(i) = xprimu(i)
     
    359363      unsddv(i) = 1. / sddv(i)
    360364    END DO
    361     !
     365
    362366    DO j = 1, iim
    363367      DO i = 1, iim
     
    368372      END DO
    369373    END DO
    370     !
    371     !
     374
     375
    372376    eignfnv(1, 1) = -1.
    373377    eignfnv(iim, 1) = 1.
     
    386390      END DO
    387391    END DO
    388     !
     392
    389393    DO j = 1, iim
    390394      DO i = 1, iim
     
    398402    ENDDO
    399403
    400     !
     404
    401405    CALL jacobi(vec, iim, iim, dv, eignfnv, nrot)
    402406    CALL acc(eignfnv, d, iim)
    403407    CALL eigen_sort(dv, eignfnv, iim, iim)
    404     !
     408
    405409    CALL jacobi(vec1, iim, iim, du, eignfnu, nrot)
    406410    CALL acc(eignfnu, d, iim)
     
    408412
    409413    !c   ancienne version avec appels IMSL
    410     !
     414
    411415    ! CALL MXM(eignfnu,iim,eignfnv,iim,vec,iim)
    412416    ! CALL MXM(eignfnv,iim,eignfnu,iim,vec1,iim)
     
    414418    ! CALL acc(eignfnv,d,iim)
    415419    ! CALL eigen(eignfnv,dv)
    416     !
     420
    417421    ! CALL EVCSF(iim,vec1,iim,du,eignfnu,iim)
    418422    ! CALL acc(eignfnu,d,iim)
     
    587591    USE lmdz_coefils, ONLY: modfrstv, modfrstu, jfiltnu, jfiltnv, coefilu, coefilv, &
    588592            coefilu2, coefilv2, eignfnv, eignfnu, jfiltsu, jfiltsv
     593  USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
    589594    USE lmdz_comgeom
     595    USE lmdz_paramet
    590596
    591597    !    ... H. Upfiltreg_modadhyaya, O.Sharma   ...
     
    595601    !     Correction  le 28/10/97    P. Le Van .
    596602    !  -------------------------------------------------------------------
    597     INCLUDE "dimensions.h"
    598     INCLUDE "paramet.h"
    599603
    600604    REAL  dlonu(iim), dlatu(jjm)
Note: See TracChangeset for help on using the changeset viewer.