Changeset 5107 for LMDZ6


Ignore:
Timestamp:
Jul 24, 2024, 10:26:10 AM (5 months ago)
Author:
abarral
Message:

Turn coefils.h into lmdz_coefils.f90
Put filtreg.F90, inifgn.f90, jacobi.F90, eigen_sort.f90, acc.f90 inside lmdz_filtreg.F90
Turn mod_* into lmdz_* in filtrez
Delete obsolete parafilt.h*
(lint) remove spaces between routine name and args

Location:
LMDZ6/branches/Amaury_dev/libf
Files:
4 deleted
8 edited
8 moved

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/filtreg_p.F90

    r5106 r5107  
    66  USE parallel_lmdz, ONLY: OMP_CHUNK
    77  USE mod_filtre_fft
    8   USE timer_filtre
     8  USE lmdz_timer_filtre
    99  USE lmdz_coefils, ONLY: jfiltnu, jfiltnv, jfiltsu, jfiltsv, sddu, sddv, unsddu, unsddv, modfrstv, modfrstu
    1010  USE lmdz_filtreg, ONLY: matrinvn, matrinvs, matriceun, matriceus, matricevn, matricevs
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/leapfrog_loc.F90

    r5106 r5107  
    1212  USE Write_Field_p
    1313  USE vampir
    14   USE timer_filtre, ONLY: print_filtre_timer
     14  USE lmdz_timer_filtre, ONLY: print_filtre_timer
    1515  USE infotrac
    1616  USE guide_loc_mod, ONLY: guide_main
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/lmdz_filtreg_p.F90

    r5106 r5107  
    1212    USE mod_filtre_fft_loc, ONLY: use_filtre_fft, filtre_u_fft, &
    1313            filtre_v_fft, filtre_inv_fft
    14     USE timer_filtre, ONLY: init_timer, start_timer, stop_timer
     14    USE lmdz_timer_filtre, ONLY: init_timer, start_timer, stop_timer
    1515    USE lmdz_coefils, ONLY: jfiltnu, jfiltnv, jfiltsu, jfiltsv, sddu, sddv, unsddu, unsddv, modfrstv, modfrstu
    1616
  • LMDZ6/branches/Amaury_dev/libf/filtrez/eigen.f90

    r5105 r5107  
    1 
    2 ! $Header$
     1! Amaury: code de <=2004 utilisé nulle part, pas de trace dans la recherche TRAC
    32
    43SUBROUTINE eigen( e,d)
  • LMDZ6/branches/Amaury_dev/libf/filtrez/lmdz_fft.F90

    r5106 r5107  
    1 MODULE mod_fft
     1MODULE lmdz_fft
    22
    33#ifdef FFT_MATHKEISAN
    4   USE mod_fft_mathkeisan
     4  USE lmdz_fft_mathkeisan
    55#else
    66#ifdef FFT_FFTW
    7   USE mod_fft_fftw
     7  USE lmdz_fft_fftw
    88#else
    99#ifdef FFT_MKL
    10   USE mod_fft_mkl
     10  USE lmdz_fft_mkl
    1111#else
    12   USE mod_fft_wrapper
     12  USE lmdz_fft_wrapper
    1313#endif
    1414#endif
    1515#endif
    1616
    17 END MODULE mod_fft
     17END MODULE lmdz_fft
  • LMDZ6/branches/Amaury_dev/libf/filtrez/lmdz_fft_fftw.F90

    r5106 r5107  
    22! $Id$
    33
    4 MODULE mod_fft_fftw
     4MODULE lmdz_fft_fftw
    55
    66#ifdef FFT_FFTW
     
    111111#endif
    112112 
    113 END MODULE mod_fft_fftw
     113END MODULE lmdz_fft_fftw
  • LMDZ6/branches/Amaury_dev/libf/filtrez/lmdz_fft_mathkeisan.F90

    r5106 r5107  
    1 MODULE mod_fft_mathkeisan
     1MODULE lmdz_fft_mathkeisan
    22#ifdef FFT_MATHKEISAN
    33
     
    6363#endif
    6464 
    65 END MODULE mod_fft_mathkeisan
     65END MODULE lmdz_fft_mathkeisan
    6666
    6767
  • LMDZ6/branches/Amaury_dev/libf/filtrez/lmdz_fft_mkl.F90

    r5106 r5107  
    1 MODULE mod_fft_mkl
     1MODULE lmdz_fft_mkl
    22#ifdef FFT_MKL
    33
    4   USE MKL_DFTI
     4  USE lmdz_mkl_dfti
    55 
    66  REAL,SAVE                :: scale_factor
     
    126126#endif
    127127 
    128 END MODULE mod_fft_mkl
     128END MODULE lmdz_fft_mkl
  • LMDZ6/branches/Amaury_dev/libf/filtrez/lmdz_fft_wrapper.f90

    r5106 r5107  
    1 MODULE mod_fft_wrapper
     1MODULE lmdz_fft_wrapper
    22
    33  INTEGER,SAVE             :: vsize
     
    3838  END SUBROUTINE fft_backward
    3939 
    40 END MODULE mod_fft_wrapper
     40END MODULE lmdz_fft_wrapper
  • LMDZ6/branches/Amaury_dev/libf/filtrez/lmdz_filtreg.F90

    r5106 r5107  
    325325  END SUBROUTINE filtreg
    326326
     327  SUBROUTINE inifgn(dv)
     328    !
     329    !    ...  H.Upadyaya , O.Sharma  ...
     330    !
     331    USE lmdz_coefils, ONLY: sddv, sddu, unsddu, unsddv, eignfnv, eignfnu
     332    IMPLICIT NONE
     333    !
     334    include "dimensions.h"
     335    include "paramet.h"
     336    include "comgeom.h"
     337    !
     338    REAL :: vec(iim, iim), vec1(iim, iim)
     339    REAL :: dlonu(iim), dlonv(iim)
     340    REAL :: du(iim), dv(iim), d(iim)
     341    REAL :: pi
     342    INTEGER :: i, j, k, imm1, nrot
     343    EXTERNAL SSUM
     344    REAL :: SSUM
     345    !
     346
     347    imm1 = iim - 1
     348    pi = 2. * ASIN(1.)
     349    !
     350    DO i = 1, iim
     351      dlonu(i) = xprimu(i)
     352      dlonv(i) = xprimv(i)
     353    END DO
     354
     355    DO i = 1, iim
     356      sddv(i) = SQRT(dlonv(i))
     357      sddu(i) = SQRT(dlonu(i))
     358      unsddu(i) = 1. / sddu(i)
     359      unsddv(i) = 1. / sddv(i)
     360    END DO
     361    !
     362    DO j = 1, iim
     363      DO i = 1, iim
     364        vec(i, j) = 0.
     365        vec1(i, j) = 0.
     366        eignfnv(i, j) = 0.
     367        eignfnu(i, j) = 0.
     368      END DO
     369    END DO
     370    !
     371    !
     372    eignfnv(1, 1) = -1.
     373    eignfnv(iim, 1) = 1.
     374    DO i = 1, imm1
     375      eignfnv(i + 1, i + 1) = -1.
     376      eignfnv(i, i + 1) = 1.
     377    END DO
     378    DO j = 1, iim
     379      DO i = 1, iim
     380        eignfnv(i, j) = eignfnv(i, j) / (sddu(i) * sddv(j))
     381      END DO
     382    END DO
     383    DO j = 1, iim
     384      DO i = 1, iim
     385        eignfnu(i, j) = -eignfnv(j, i)
     386      END DO
     387    END DO
     388    !
     389    DO j = 1, iim
     390      DO i = 1, iim
     391        vec (i, j) = 0.0
     392        vec1(i, j) = 0.0
     393        DO k = 1, iim
     394          vec (i, j) = vec(i, j) + eignfnu(i, k) * eignfnv(k, j)
     395          vec1(i, j) = vec1(i, j) + eignfnv(i, k) * eignfnu(k, j)
     396        ENDDO
     397      ENDDO
     398    ENDDO
     399
     400    !
     401    CALL jacobi(vec, iim, iim, dv, eignfnv, nrot)
     402    CALL acc(eignfnv, d, iim)
     403    CALL eigen_sort(dv, eignfnv, iim, iim)
     404    !
     405    CALL jacobi(vec1, iim, iim, du, eignfnu, nrot)
     406    CALL acc(eignfnu, d, iim)
     407    CALL eigen_sort(du, eignfnu, iim, iim)
     408
     409    !c   ancienne version avec appels IMSL
     410    !
     411    ! CALL MXM(eignfnu,iim,eignfnv,iim,vec,iim)
     412    ! CALL MXM(eignfnv,iim,eignfnu,iim,vec1,iim)
     413    !     CALL EVCSF(iim,vec,iim,dv,eignfnv,iim)
     414    ! CALL acc(eignfnv,d,iim)
     415    ! CALL eigen(eignfnv,dv)
     416    !
     417    ! CALL EVCSF(iim,vec1,iim,du,eignfnu,iim)
     418    ! CALL acc(eignfnu,d,iim)
     419    ! CALL eigen(eignfnu,du)
     420
     421    RETURN
     422  END SUBROUTINE inifgn
     423
     424  SUBROUTINE JACOBI(A, N, NP, D, V, NROT)
     425    implicit none
     426    ! Arguments:
     427    integer, intent(in) :: N
     428    integer, intent(in) :: NP
     429    integer, intent(out) :: NROT
     430    real, intent(inout) :: A(NP, NP)
     431    real, intent(out) :: D(NP)
     432    real, intent(out) :: V(NP, NP)
     433
     434    ! local variables:
     435    integer :: IP, IQ, I, J
     436    real :: SM, TRESH, G, H, T, THETA, C, S, TAU
     437    real :: B(N)
     438    real :: Z(N)
     439
     440    DO IP = 1, N
     441      DO IQ = 1, N
     442        V(IP, IQ) = 0.
     443      ENDDO
     444      V(IP, IP) = 1.
     445    ENDDO
     446    DO IP = 1, N
     447      B(IP) = A(IP, IP)
     448      D(IP) = B(IP)
     449      Z(IP) = 0.
     450    ENDDO
     451    NROT = 0
     452    DO I = 1, 50 ! 50? I suspect this should be NP
     453      !     but convergence is fast enough anyway
     454      SM = 0.
     455      DO IP = 1, N - 1
     456        DO IQ = IP + 1, N
     457          SM = SM + ABS(A(IP, IQ))
     458        ENDDO
     459      ENDDO
     460      IF(SM==0.)RETURN
     461      IF(I<4)THEN
     462        TRESH = 0.2 * SM / N**2
     463      ELSE
     464        TRESH = 0.
     465      ENDIF
     466      DO IP = 1, N - 1
     467        DO IQ = IP + 1, N
     468          G = 100. * ABS(A(IP, IQ))
     469          IF((I>4).AND.(ABS(D(IP)) + G==ABS(D(IP))) &
     470                  .AND.(ABS(D(IQ)) + G==ABS(D(IQ))))THEN
     471            A(IP, IQ) = 0.
     472          ELSE IF(ABS(A(IP, IQ))>TRESH)THEN
     473            H = D(IQ) - D(IP)
     474            IF(ABS(H) + G==ABS(H))THEN
     475              T = A(IP, IQ) / H
     476            ELSE
     477              THETA = 0.5 * H / A(IP, IQ)
     478              T = 1. / (ABS(THETA) + SQRT(1. + THETA**2))
     479              IF(THETA<0.)T = -T
     480            ENDIF
     481            C = 1. / SQRT(1 + T**2)
     482            S = T * C
     483            TAU = S / (1. + C)
     484            H = T * A(IP, IQ)
     485            Z(IP) = Z(IP) - H
     486            Z(IQ) = Z(IQ) + H
     487            D(IP) = D(IP) - H
     488            D(IQ) = D(IQ) + H
     489            A(IP, IQ) = 0.
     490            DO J = 1, IP - 1
     491              G = A(J, IP)
     492              H = A(J, IQ)
     493              A(J, IP) = G - S * (H + G * TAU)
     494              A(J, IQ) = H + S * (G - H * TAU)
     495            ENDDO
     496            DO J = IP + 1, IQ - 1
     497              G = A(IP, J)
     498              H = A(J, IQ)
     499              A(IP, J) = G - S * (H + G * TAU)
     500              A(J, IQ) = H + S * (G - H * TAU)
     501            ENDDO
     502            DO J = IQ + 1, N
     503              G = A(IP, J)
     504              H = A(IQ, J)
     505              A(IP, J) = G - S * (H + G * TAU)
     506              A(IQ, J) = H + S * (G - H * TAU)
     507            ENDDO
     508            DO J = 1, N
     509              G = V(J, IP)
     510              H = V(J, IQ)
     511              V(J, IP) = G - S * (H + G * TAU)
     512              V(J, IQ) = H + S * (G - H * TAU)
     513            ENDDO
     514            NROT = NROT + 1
     515          ENDIF
     516        ENDDO
     517      ENDDO
     518      DO IP = 1, N
     519        B(IP) = B(IP) + Z(IP)
     520        D(IP) = B(IP)
     521        Z(IP) = 0.
     522      ENDDO
     523    ENDDO ! of DO I=1,50
     524    STOP 'Jacobi: 50 iterations should never happen'
     525
     526  END SUBROUTINE JACOBI
     527
     528  SUBROUTINE eigen_sort(d, v, n, np)
     529    INTEGER :: n, np
     530    REAL :: d(np), v(np, np)
     531    INTEGER :: i, j, k
     532    REAL :: p
     533
     534    DO i = 1, n - 1
     535      k = i
     536      p = d(i)
     537      DO j = i + 1, n
     538        IF(d(j)>=p) THEN
     539          k = j
     540          p = d(j)
     541        ENDIF
     542      ENDDO
     543
     544      IF(k/=i) THEN
     545        d(k) = d(i)
     546        d(i) = p
     547        DO j = 1, n
     548          p = v(j, i)
     549          v(j, i) = v(j, k)
     550          v(j, k) = p
     551        ENDDO
     552      ENDIF
     553    ENDDO
     554
     555    RETURN
     556  END SUBROUTINE eigen_sort
     557
     558  SUBROUTINE acc(vec, d, im)
     559    implicit none
     560    integer :: im
     561    real :: vec(im, im), d(im)
     562    integer :: i, j
     563    real :: sum
     564    real, external :: ssum
     565    do j = 1, im
     566      do i = 1, im
     567        d(i) = vec(i, j) * vec(i, j)
     568      enddo
     569      sum = ssum(im, d, 1)
     570      sum = sqrt(sum)
     571      do i = 1, im
     572        vec(i, j) = vec(i, j) / sum
     573      enddo
     574    enddo
     575    return
     576  end subroutine acc
     577
     578
    327579  SUBROUTINE inifilr
    328580#ifdef CPP_PARA
  • LMDZ6/branches/Amaury_dev/libf/filtrez/lmdz_mkl_dft_type.f90

    r5106 r5107  
    2828!*****************************************************************************
    2929
    30 MODULE MKL_DFT_TYPE
     30MODULE lmdz_mkl_dft_type
    3131
    3232  TYPE, PUBLIC :: DFTI_DESCRIPTOR
     
    153153
    154154  ! DFTI_PRECISION for reduced size of statically linked application.
    155   ! Recommended use: modify statement 'USE MKL_DFTI' in your program,
     155  ! Recommended use: modify statement 'USE lmdz_mkl_dfti' in your program,
    156156  ! so that it reads as either of:
    157   ! USE MKL_DFTI, FORGET=>DFTI_SINGLE, DFTI_SINGLE=>DFTI_SINGLE_R
    158   ! USE MKL_DFTI, FORGET=>DFTI_DOUBLE, DFTI_DOUBLE=>DFTI_DOUBLE_R
     157  ! USE lmdz_mkl_dfti, FORGET=>DFTI_SINGLE, DFTI_SINGLE=>DFTI_SINGLE_R
     158  ! USE lmdz_mkl_dfti, FORGET=>DFTI_DOUBLE, DFTI_DOUBLE=>DFTI_DOUBLE_R
    159159  ! where word 'FORGET' can be any name not used in the program.
    160160  REAL(DFTI_SPKP), PARAMETER :: DFTI_SINGLE_R = 35
     
    225225  INTEGER, PARAMETER :: DFTI_ERROR_CLASS = 60
    226226
    227 END MODULE MKL_DFT_TYPE
     227END MODULE lmdz_mkl_dft_type
  • LMDZ6/branches/Amaury_dev/libf/filtrez/lmdz_mkl_dfti.f90

    r5106 r5107  
    2929
    3030
    31 MODULE MKL_DFTI
    32 
    33   USE MKL_DFT_TYPE
     31MODULE lmdz_mkl_dfti
     32
     33  USE lmdz_mkl_dft_type
    3434
    3535  INTERFACE DftiCreateDescriptor
    3636
    3737     FUNCTION dfti_create_descriptor_1d(desc, precision, domain, dim, length)
    38        USE MKL_DFT_TYPE
     38       USE lmdz_mkl_dft_type
    3939       !DEC$ ATTRIBUTES C :: dfti_create_descriptor_1d
    4040       !DEC$ ATTRIBUTES REFERENCE :: dfti_create_descriptor_1d
     
    4747
    4848     FUNCTION dfti_create_descriptor_highd(desc, precision, domain, dim,length)
    49        USE MKL_DFT_TYPE
     49       USE lmdz_mkl_dft_type
    5050       !DEC$ ATTRIBUTES C :: dfti_create_descriptor_highd
    5151       !DEC$ ATTRIBUTES REFERENCE :: dfti_create_descriptor_highd
     
    5959
    6060     FUNCTION dfti_create_descriptor_s_1d(desc, s, dom, one, dim)
    61        USE MKL_DFT_TYPE
     61       USE lmdz_mkl_dft_type
    6262       !DEC$ ATTRIBUTES C :: dfti_create_descriptor_s_1d
    6363       !DEC$ ATTRIBUTES REFERENCE :: dfti_create_descriptor_s_1d
     
    7171
    7272     FUNCTION dfti_create_descriptor_s_md(desc, s, dom, many, dims)
    73        USE MKL_DFT_TYPE
     73       USE lmdz_mkl_dft_type
    7474       !DEC$ ATTRIBUTES C :: dfti_create_descriptor_s_md
    7575       !DEC$ ATTRIBUTES REFERENCE :: dfti_create_descriptor_s_md
     
    8383
    8484     FUNCTION dfti_create_descriptor_d_1d(desc, d, dom, one, dim)
    85        USE MKL_DFT_TYPE
     85       USE lmdz_mkl_dft_type
    8686       !DEC$ ATTRIBUTES C :: dfti_create_descriptor_d_1d
    8787       !DEC$ ATTRIBUTES REFERENCE :: dfti_create_descriptor_d_1d
     
    9595
    9696     FUNCTION dfti_create_descriptor_d_md(desc, d, dom, many, dims)
    97        USE MKL_DFT_TYPE
     97       USE lmdz_mkl_dft_type
    9898       !DEC$ ATTRIBUTES C :: dfti_create_descriptor_d_md
    9999       !DEC$ ATTRIBUTES REFERENCE :: dfti_create_descriptor_d_md
     
    111111
    112112     FUNCTION dfti_copy_descriptor_external(desc, new_desc)
    113        USE MKL_DFT_TYPE
     113       USE lmdz_mkl_dft_type
    114114       !DEC$ ATTRIBUTES C :: dfti_copy_descriptor_external
    115115       !DEC$ ATTRIBUTES REFERENCE :: dfti_copy_descriptor_external
     
    124124
    125125     FUNCTION dfti_commit_descriptor_external(desc)
    126        USE MKL_DFT_TYPE
     126       USE lmdz_mkl_dft_type
    127127       !DEC$ ATTRIBUTES C :: dfti_commit_descriptor_external
    128128       !DEC$ ATTRIBUTES REFERENCE :: dfti_commit_descriptor_external
     
    136136
    137137     FUNCTION dfti_set_value_intval(desc, OptName, IntVal)
    138        USE MKL_DFT_TYPE
     138       USE lmdz_mkl_dft_type
    139139       !DEC$ ATTRIBUTES C :: dfti_set_value_intval
    140140       !DEC$ ATTRIBUTES REFERENCE :: dfti_set_value_intval
     
    146146
    147147     FUNCTION dfti_set_value_sglval(desc, OptName, sglval)
    148        USE MKL_DFT_TYPE
     148       USE lmdz_mkl_dft_type
    149149       !DEC$ ATTRIBUTES C :: dfti_set_value_sglval
    150150       !DEC$ ATTRIBUTES REFERENCE :: dfti_set_value_sglval
     
    156156
    157157     FUNCTION dfti_set_value_dblval(desc, OptName, DblVal)
    158        USE MKL_DFT_TYPE
     158       USE lmdz_mkl_dft_type
    159159       !DEC$ ATTRIBUTES C :: dfti_set_value_dblval
    160160       !DEC$ ATTRIBUTES REFERENCE :: dfti_set_value_dblval
     
    166166
    167167     FUNCTION dfti_set_value_intvec(desc, OptName, IntVec)
    168        USE MKL_DFT_TYPE
     168       USE lmdz_mkl_dft_type
    169169       !DEC$ ATTRIBUTES C :: dfti_set_value_intvec
    170170       !DEC$ ATTRIBUTES REFERENCE :: dfti_set_value_intvec
     
    176176
    177177     FUNCTION dfti_set_value_chars(desc, OptName, Chars)
    178        USE MKL_DFT_TYPE
     178       USE lmdz_mkl_dft_type
    179179       !DEC$ ATTRIBUTES C :: dfti_set_value_chars
    180180       !DEC$ ATTRIBUTES REFERENCE :: dfti_set_value_chars
     
    190190
    191191     FUNCTION dfti_get_value_intval(desc, OptName, IntVal)
    192        USE MKL_DFT_TYPE
     192       USE lmdz_mkl_dft_type
    193193       !DEC$ ATTRIBUTES C :: dfti_get_value_intval
    194194       !DEC$ ATTRIBUTES REFERENCE :: dfti_get_value_intval
     
    200200
    201201     FUNCTION dfti_get_value_sglval(desc, OptName, sglval)
    202        USE MKL_DFT_TYPE
     202       USE lmdz_mkl_dft_type
    203203       !DEC$ ATTRIBUTES C :: dfti_get_value_sglval
    204204       !DEC$ ATTRIBUTES REFERENCE :: dfti_get_value_sglval
     
    210210
    211211     FUNCTION dfti_get_value_dblval(desc, OptName, DblVal)
    212        USE MKL_DFT_TYPE
     212       USE lmdz_mkl_dft_type
    213213       !DEC$ ATTRIBUTES C :: dfti_get_value_dblval
    214214       !DEC$ ATTRIBUTES REFERENCE :: dfti_get_value_dblval
     
    220220
    221221     FUNCTION dfti_get_value_intvec(desc, OptName, IntVec)
    222        USE MKL_DFT_TYPE
     222       USE lmdz_mkl_dft_type
    223223       !DEC$ ATTRIBUTES C :: dfti_get_value_intvec
    224224       !DEC$ ATTRIBUTES REFERENCE :: dfti_get_value_intvec
     
    230230
    231231     FUNCTION dfti_get_value_chars(desc, OptName, Chars)
    232        USE MKL_DFT_TYPE
     232       USE lmdz_mkl_dft_type
    233233       !DEC$ ATTRIBUTES C :: dfti_get_value_chars
    234234       !DEC$ ATTRIBUTES REFERENCE :: dfti_get_value_chars
     
    244244
    245245     FUNCTION dfti_compute_forward_s(desc,sSrcDst)
    246        USE MKL_DFT_TYPE
     246       USE lmdz_mkl_dft_type
    247247       !DEC$ ATTRIBUTES C :: dfti_compute_forward_s
    248248       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_forward_s
     
    253253
    254254     FUNCTION dfti_compute_forward_c(desc,cSrcDst)
    255        USE MKL_DFT_TYPE
     255       USE lmdz_mkl_dft_type
    256256       !DEC$ ATTRIBUTES C :: dfti_compute_forward_c
    257257       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_forward_c
     
    262262
    263263     FUNCTION dfti_compute_forward_ss(desc,sSrcDstRe,sSrcDstIm)
    264        USE MKL_DFT_TYPE
     264       USE lmdz_mkl_dft_type
    265265       !DEC$ ATTRIBUTES C :: dfti_compute_forward_ss
    266266       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_forward_ss
     
    272272
    273273     FUNCTION dfti_compute_forward_sc(desc,sSrc,cDst)
    274        USE MKL_DFT_TYPE
     274       USE lmdz_mkl_dft_type
    275275       !DEC$ ATTRIBUTES C :: dfti_compute_forward_sc
    276276       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_forward_sc
     
    282282
    283283     FUNCTION dfti_compute_forward_cc(desc,cSrc,cDst)
    284        USE MKL_DFT_TYPE
     284       USE lmdz_mkl_dft_type
    285285       !DEC$ ATTRIBUTES C :: dfti_compute_forward_cc
    286286       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_forward_cc
     
    292292
    293293     FUNCTION dfti_compute_forward_ssss(desc,sSrcRe,sSrcIm,sDstRe,sDstIm)
    294        USE MKL_DFT_TYPE
     294       USE lmdz_mkl_dft_type
    295295       !DEC$ ATTRIBUTES C :: dfti_compute_forward_ssss
    296296       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_forward_ssss
     
    304304
    305305     FUNCTION dfti_compute_forward_d(desc,dSrcDst)
    306        USE MKL_DFT_TYPE
     306       USE lmdz_mkl_dft_type
    307307       !DEC$ ATTRIBUTES C :: dfti_compute_forward_d
    308308       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_forward_d
     
    313313
    314314     FUNCTION dfti_compute_forward_z(desc,zSrcDst)
    315        USE MKL_DFT_TYPE
     315       USE lmdz_mkl_dft_type
    316316       !DEC$ ATTRIBUTES C :: dfti_compute_forward_z
    317317       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_forward_z
     
    322322
    323323     FUNCTION dfti_compute_forward_dd(desc,dSrcDstRe,dSrcDstIm)
    324        USE MKL_DFT_TYPE
     324       USE lmdz_mkl_dft_type
    325325       !DEC$ ATTRIBUTES C :: dfti_compute_forward_dd
    326326       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_forward_dd
     
    332332
    333333     FUNCTION dfti_compute_forward_dz(desc,dSrc,zDst)
    334        USE MKL_DFT_TYPE
     334       USE lmdz_mkl_dft_type
    335335       !DEC$ ATTRIBUTES C :: dfti_compute_forward_dz
    336336       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_forward_dz
     
    342342
    343343     FUNCTION dfti_compute_forward_zz(desc,zSrc,zDst)
    344        USE MKL_DFT_TYPE
     344       USE lmdz_mkl_dft_type
    345345       !DEC$ ATTRIBUTES C :: dfti_compute_forward_zz
    346346       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_forward_zz
     
    352352
    353353     FUNCTION dfti_compute_forward_dddd(desc,dSrcRe,dSrcIm,dDstRe,dDstIm)
    354        USE MKL_DFT_TYPE
     354       USE lmdz_mkl_dft_type
    355355       !DEC$ ATTRIBUTES C :: dfti_compute_forward_dddd
    356356       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_forward_dddd
     
    368368
    369369     FUNCTION dfti_compute_backward_s(desc,sSrcDst)
    370        USE MKL_DFT_TYPE
     370       USE lmdz_mkl_dft_type
    371371       !DEC$ ATTRIBUTES C :: dfti_compute_backward_s
    372372       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_backward_s
     
    377377
    378378     FUNCTION dfti_compute_backward_c(desc,cSrcDst)
    379        USE MKL_DFT_TYPE
     379       USE lmdz_mkl_dft_type
    380380       !DEC$ ATTRIBUTES C :: dfti_compute_backward_c
    381381       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_backward_c
     
    386386
    387387     FUNCTION dfti_compute_backward_ss(desc,sSrcDstRe,sSrcDstIm)
    388        USE MKL_DFT_TYPE
     388       USE lmdz_mkl_dft_type
    389389       !DEC$ ATTRIBUTES C :: dfti_compute_backward_ss
    390390       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_backward_ss
     
    396396
    397397     FUNCTION dfti_compute_backward_cs(desc,cSrc,sDst)
    398        USE MKL_DFT_TYPE
     398       USE lmdz_mkl_dft_type
    399399       !DEC$ ATTRIBUTES C :: dfti_compute_backward_cs
    400400       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_backward_cs
     
    406406
    407407     FUNCTION dfti_compute_backward_cc(desc,cSrc,cDst)
    408        USE MKL_DFT_TYPE
     408       USE lmdz_mkl_dft_type
    409409       !DEC$ ATTRIBUTES C :: dfti_compute_backward_cc
    410410       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_backward_cc
     
    416416
    417417     FUNCTION dfti_compute_backward_ssss(desc,sSrcRe,sSrcIm,sDstRe,sDstIm)
    418        USE MKL_DFT_TYPE
     418       USE lmdz_mkl_dft_type
    419419       !DEC$ ATTRIBUTES C :: dfti_compute_backward_ssss
    420420       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_backward_ssss
     
    428428
    429429     FUNCTION dfti_compute_backward_d(desc,dSrcDst)
    430        USE MKL_DFT_TYPE
     430       USE lmdz_mkl_dft_type
    431431       !DEC$ ATTRIBUTES C :: dfti_compute_backward_d
    432432       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_backward_d
     
    437437
    438438     FUNCTION dfti_compute_backward_z(desc,zSrcDst)
    439        USE MKL_DFT_TYPE
     439       USE lmdz_mkl_dft_type
    440440       !DEC$ ATTRIBUTES C :: dfti_compute_backward_z
    441441       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_backward_z
     
    446446
    447447     FUNCTION dfti_compute_backward_dd(desc,dSrcDstRe,dSrcDstIm)
    448        USE MKL_DFT_TYPE
     448       USE lmdz_mkl_dft_type
    449449       !DEC$ ATTRIBUTES C :: dfti_compute_backward_dd
    450450       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_backward_dd
     
    456456
    457457     FUNCTION dfti_compute_backward_zd(desc,zSrc,dDst)
    458        USE MKL_DFT_TYPE
     458       USE lmdz_mkl_dft_type
    459459       !DEC$ ATTRIBUTES C :: dfti_compute_backward_zd
    460460       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_backward_zd
     
    466466
    467467     FUNCTION dfti_compute_backward_zz(desc,zSrc,zDst)
    468        USE MKL_DFT_TYPE
     468       USE lmdz_mkl_dft_type
    469469       !DEC$ ATTRIBUTES C :: dfti_compute_backward_zz
    470470       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_backward_zz
     
    476476
    477477     FUNCTION dfti_compute_backward_dddd(desc,dSrcRe,dSrcIm,dDstRe,dDstIm)
    478        USE MKL_DFT_TYPE
     478       USE lmdz_mkl_dft_type
    479479       !DEC$ ATTRIBUTES C :: dfti_compute_backward_dddd
    480480       !DEC$ ATTRIBUTES REFERENCE :: dfti_compute_backward_dddd
     
    492492
    493493     FUNCTION dfti_free_descriptor_external(desc)
    494        USE MKL_DFT_TYPE
     494       USE lmdz_mkl_dft_type
    495495       !DEC$ ATTRIBUTES C :: dfti_free_descriptor_external
    496496       !DEC$ ATTRIBUTES REFERENCE :: dfti_free_descriptor_external
     
    504504
    505505     FUNCTION dfti_error_class_external(Status, ErrorClass)
    506        USE MKL_DFT_TYPE
     506       USE lmdz_mkl_dft_type
    507507       !DEC$ ATTRIBUTES C :: dfti_error_class_external
    508508       !DEC$ ATTRIBUTES REFERENCE :: dfti_error_class_external
     
    517517
    518518     FUNCTION dfti_error_message_external(Status)
    519        USE MKL_DFT_TYPE
     519       USE lmdz_mkl_dft_type
    520520       !DEC$ ATTRIBUTES C :: dfti_error_message_external
    521521       !DEC$ ATTRIBUTES REFERENCE :: dfti_error_message_external
     
    526526  END INTERFACE
    527527
    528 END MODULE MKL_DFTI
     528END MODULE lmdz_mkl_dfti
  • LMDZ6/branches/Amaury_dev/libf/filtrez/lmdz_timer_filtre.f90

    r5106 r5107  
    1 MODULE timer_filtre
    2 IMPLICIT NONE
     1MODULE lmdz_timer_filtre
     2  IMPLICIT NONE
    33  PRIVATE
    44  REAL :: time
     
    77CONTAINS
    88
    9  SUBROUTINE Init_timer
    10    time=0
    11    Last_time=0
    12  END SUBROUTINE Init_timer
    13  
    14  SUBROUTINE Start_timer
    15  
    16    CALL cpu_time(last_time)
     9  SUBROUTINE Init_timer
     10    time = 0
     11    Last_time = 0
     12  END SUBROUTINE Init_timer
    1713
    18  END SUBROUTINE start_timer
    19  
    20  
    21  SUBROUTINE stop_timer
    22    REAL :: T
    23    
    24    CALL cpu_time(t)
    25    Time=Time+t-last_time
    26  
     14  SUBROUTINE Start_timer
     15
     16    CALL cpu_time(last_time)
     17
     18  END SUBROUTINE start_timer
     19
     20
     21  SUBROUTINE stop_timer
     22    REAL :: T
     23
     24    CALL cpu_time(t)
     25    Time = Time + t - last_time
     26
    2727  END SUBROUTINE stop_timer
    28  
     28
    2929  SUBROUTINE Print_filtre_timer
    30   PRINT *,"Temps CPU passe dans le filtre :",Time
     30    PRINT *, "Temps CPU passe dans le filtre :", Time
    3131  END SUBROUTINE  Print_filtre_timer
    3232
    33 END MODULE timer_filtre
     33END MODULE lmdz_timer_filtre
  • LMDZ6/branches/Amaury_dev/libf/filtrez/mod_filtre_fft.F90

    r5101 r5107  
    1212 
    1313  SUBROUTINE Init_filtre_fft(coeffu,modfrstu,jfiltnu,jfiltsu,coeffv,modfrstv,jfiltnv,jfiltsv)
    14     USE mod_fft
     14    USE lmdz_fft
    1515    IMPLICIT NONE
    1616    include 'dimensions.h'
     
    115115 
    116116  SUBROUTINE Filtre_u_fft(vect_inout,nlat,jj_begin,jj_end,nbniv)
    117     USE mod_fft
     117    USE lmdz_fft
    118118#ifdef CPP_PARA
    119119    USE parallel_lmdz,ONLY: OMP_CHUNK
     
    176176
    177177  SUBROUTINE Filtre_v_fft(vect_inout,nlat,jj_begin,jj_end,nbniv)
    178     USE mod_fft
     178    USE lmdz_fft
    179179#ifdef CPP_PARA
    180180    USE parallel_lmdz,ONLY: OMP_CHUNK
     
    238238
    239239  SUBROUTINE Filtre_inv_fft(vect_inout,nlat,jj_begin,jj_end,nbniv)
    240     USE mod_fft
     240    USE lmdz_fft
    241241#ifdef CPP_PARA
    242242    USE parallel_lmdz,ONLY: OMP_CHUNK
  • LMDZ6/branches/Amaury_dev/libf/filtrez/mod_filtre_fft_loc.F90

    r5101 r5107  
    99 
    1010  SUBROUTINE Init_filtre_fft(coeffu,modfrstu,jfiltnu,jfiltsu,coeffv,modfrstv,jfiltnv,jfiltsv)
    11     USE mod_fft
     11    USE lmdz_fft
    1212    IMPLICIT NONE
    1313    include 'dimensions.h'
     
    105105 
    106106  SUBROUTINE Filtre_u_fft(vect_inout,jjb,jje,jj_begin,jj_end,nbniv)
    107     USE mod_fft
     107    USE lmdz_fft
    108108#ifdef CPP_PARA
    109109    USE parallel_lmdz,ONLY: OMP_CHUNK
     
    185185
    186186  SUBROUTINE Filtre_v_fft(vect_inout,jjb,jje,jj_begin,jj_end,nbniv)
    187     USE mod_fft
     187    USE lmdz_fft
    188188#ifdef CPP_PARA
    189189    USE parallel_lmdz,ONLY: OMP_CHUNK
     
    248248
    249249  SUBROUTINE Filtre_inv_fft(vect_inout,jjb,jje,jj_begin,jj_end,nbniv)
    250     USE mod_fft
     250    USE lmdz_fft
    251251#ifdef CPP_PARA
    252252    USE parallel_lmdz,ONLY: OMP_CHUNK
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_dq.F90

    r5103 r5107  
    278278#else
    279279
    280 #define plusqueun
    281 #ifdef plusqueun
     280#define CFL_plus_grand_que_un
     281#ifdef CFL_plus_grand_que_un
    282282! Schema avec advection sur plus qu'une maille.
    283283            zzm=masse(ig,k)/ztimestep
Note: See TracChangeset for help on using the changeset viewer.