Ignore:
Timestamp:
Dec 10, 2009, 10:02:56 AM (15 years ago)
Author:
Laurent Fairhead
Message:

Merged LMDZ4-dev branch changes r1241:1278 into the trunk
Running trunk and LMDZ4-dev in LMDZOR configuration on local
machine (sequential) and SX8 (4-proc) yields identical results
(restart and restartphy are identical binarily)
Log history from r1241 to r1278 is available by switching to
source:LMDZ4/branches/LMDZ4-dev-20091210

Location:
LMDZ4/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk

  • LMDZ4/trunk/libf/filtrez/filtreg.F

    r1146 r1279  
    112112           
    113113            IF( iaire.EQ.1 )  THEN
    114                sdd1_type = type_sddu
    115                sdd2_type = type_unsddu
     114               sdd1_type = type_sddv
     115               sdd2_type = type_unsddv
    116116            ELSE
    117                sdd1_type = type_unsddu
    118                sdd2_type = type_sddu
     117               sdd1_type = type_unsddv
     118               sdd2_type = type_sddv
    119119            ENDIF
    120120
  • LMDZ4/trunk/libf/filtrez/filtreg_mod.F90

    r1146 r1279  
    77
    88  SUBROUTINE inifilr
     9  USE mod_filtre_fft
    910    !
    1011    !    ... H. Upadhyaya, O.Sharma   ...
     
    519520    ENDDO
    520521
     522    IF (use_filtre_fft) THEN
     523       CALL Init_filtre_fft(coefilu,modfrstu,jfiltnu,jfiltsu,  &
     524                           coefilv,modfrstv,jfiltnv,jfiltsv)
     525    ENDIF
     526
    521527    !   ...................................................................
    522528
  • LMDZ4/trunk/libf/filtrez/mod_fft_mkl.F90

    r986 r1279  
    7474      ierr = DftiSetValue(FFT_Handle,DFTI_PLACEMENT,DFTI_NOT_INPLACE)
    7575      ierr = DftiSetValue(FFT_Handle, DFTI_INPUT_DISTANCE, vsize+inc)
    76       ierr = DftiSetValue(FFT_Handle, DFTI_OUTPUT_DISTANCE, vsize/2+1)
     76      ierr = DftiSetValue(FFT_Handle, DFTI_OUTPUT_DISTANCE, (vsize/2+1)*2)
    7777      ierr = DftiCommitDescriptor( FFT_Handle )
    7878!      Forward_handle(nb_vect)%IsAllocated=.TRUE.
     
    114114      ierr = DftiSetValue(FFT_Handle,DFTI_BACKWARD_SCALE,scale_factor)
    115115      ierr = DftiSetValue(FFT_Handle,DFTI_PLACEMENT,DFTI_NOT_INPLACE)
    116       ierr = DftiSetValue(FFT_Handle, DFTI_INPUT_DISTANCE,  vsize/2+1)
     116      ierr = DftiSetValue(FFT_Handle, DFTI_INPUT_DISTANCE,  (vsize/2+1)*2)
    117117      ierr = DftiSetValue(FFT_Handle, DFTI_OUTPUT_DISTANCE, vsize+inc)
    118118      ierr = DftiCommitDescriptor( FFT_Handle )
  • LMDZ4/trunk/libf/filtrez/mod_fft_wrapper.F90

    r986 r1279  
    1919    INTEGER,INTENT(IN)  :: nb_vect
    2020    REAL,INTENT(IN)     :: vect(vsize+inc,nb_vect)
    21     COMPLEX,INTENT(INOUT) :: TF_vect(vsize/2+1,nb_vect)
     21    COMPLEX*16,INTENT(INOUT) :: TF_vect(vsize/2+1,nb_vect)
    2222   
    2323    STOP "wrapper fft : une FFT doit etre specifiee a l'aide d'une clee CPP, sinon utiliser le filtre classique"
     
    2929    INTEGER,INTENT(IN)  :: nb_vect
    3030    REAL,INTENT(INOUT)    :: vect(vsize+inc,nb_vect)
    31     COMPLEX,INTENT(IN ) :: TF_vect(vsize/2+1,nb_vect)
     31    COMPLEX*16,INTENT(IN ) :: TF_vect(vsize/2+1,nb_vect)
    3232 
    3333    STOP "wrapper fft : une FFT doit etre specifiee a l'aide d'une clee CPP, sinon utiliser le filtre classique"
  • LMDZ4/trunk/libf/filtrez/mod_filtre_fft.F90

    r994 r1279  
    118118
    119119    REAL               :: vect(iim+inc,jj_end-jj_begin+1,nbniv)
    120     COMPLEX            :: TF_vect(iim/2+1,jj_end-jj_begin+1,nbniv)
     120!    REAL               :: vect_test(iim+inc,jj_end-jj_begin+1,nbniv)
     121    COMPLEX*16         :: TF_vect(iim/2+1,jj_end-jj_begin+1,nbniv)
     122!    COMPLEX*16         :: TF_vect_test(iim/2+1,jj_end-jj_begin+1,nbniv)
    121123    INTEGER            :: nb_vect
    122124    INTEGER :: i,j,l
     
    142144    CALL FFT_forward(vect,TF_vect,nb_vect)
    143145
     146!    CALL FFT_forward(vect,TF_vect_test,nb_vect)
     147!      PRINT *,"XXXXXXXXXXXXX Filtre_u_FFT xxxxxxxxxxxx"
     148!      DO j=1,jj_end-jj_begin+1
     149!      DO i=1,iim/2+1
     150!         PRINT *,"====",i,j,"----->",TF_vect_test(i,j,1)
     151!       ENDDO
     152!      ENDDO
     153
    144154    DO l=1,ll_nb
    145155      DO j=1,jj_end-jj_begin+1
     
    149159      ENDDO
    150160    ENDDO
    151  
     161       
    152162    CALL FFT_backward(TF_vect,vect,nb_vect)
    153      
     163!    CALL FFT_backward(TF_vect_test,vect_test,nb_vect)
     164         
    154165!      PRINT *,"XXXXXXXXXXXXX Filtre_u_FFT xxxxxxxxxxxx"
    155166!      DO j=1,jj_end-jj_begin+1
    156 !          DO i=1,iim
    157 !          PRINT *,"====",j,"----->",(vect_tmp(i,j,1)-vect(i,j,1))/ &
    158 !                                    ((vect_tmp(i,j,1)+vect(i,j,1))*0.5+1e-30)
    159 !          ENDDO
     167!         DO i=1,iim
     168!           PRINT *,"====",i,j,"----->",vect_test(i,j,1)
     169!         ENDDO
    160170!      ENDDO
    161      
     171
    162172    ll_nb=0
    163173!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
     
    189199
    190200    REAL               :: vect(iim+inc,jj_end-jj_begin+1,nbniv)
    191     COMPLEX            :: TF_vect(iim/2+1,jj_end-jj_begin+1,nbniv)
     201    COMPLEX*16         :: TF_vect(iim/2+1,jj_end-jj_begin+1,nbniv)
    192202    INTEGER            :: nb_vect
    193203    INTEGER :: i,j,l
     
    250260    REAL,INTENT(INOUT) :: vect_inout(iim+1,nlat,nbniv)
    251261
    252      REAL               :: vect(iim+inc,jj_end-jj_begin+1,nbniv)
    253     COMPLEX            :: TF_vect(iim/2+1,jj_end-jj_begin+1,nbniv)
     262    REAL               :: vect(iim+inc,jj_end-jj_begin+1,nbniv)
     263    COMPLEX*16         :: TF_vect(iim/2+1,jj_end-jj_begin+1,nbniv)
    254264    INTEGER            :: nb_vect
    255265    INTEGER :: i,j,l
Note: See TracChangeset for help on using the changeset viewer.