Ignore:
Timestamp:
Feb 17, 2009, 3:44:06 PM (15 years ago)
Author:
lguez
Message:

"filtrez/filtreg.F" works with either "matmul" or a direct call to
BLAS.
"gcm.def", "physiq.def" and "run.def" adapted from
"http://forge.ipsl.jussieu.fr/igcmg/browser/CONFIG/LMDZOR/branches/LMDZ4OR_v3/LMDZOR/PARAM".

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4-dev/libf/filtrez/filtreg.F

    r1086 r1101  
    184184               
    185185               DO j = jdfil,jffil
     186#ifdef BLAS
    186187                  CALL DGEMM("N", "N", iim, nbniv, iim, 1.0,
    187188     &                 matrinvn(1,1,j),
    188189     &                 iim, champ(1,j,1), iip1*nlat, 0.0,
    189190     &                 eignq(1,j-jdfil+1,1), iim*nlat)
     191#else
     192                  eignq(:,j-jdfil+1,:)
     193     $                 = matmul(matrinvn(:,:,j), champ(:iim,j,:))
     194#endif
    190195               END DO
    191196               
     
    193198               
    194199               DO j = jdfil,jffil
     200#ifdef BLAS
    195201                  CALL DGEMM("N", "N", iim, nbniv, iim, 1.0,
    196202     &                 matriceun(1,1,j),
    197203     &                 iim, champ(1,j,1), iip1*nlat, 0.0,
    198204     &                 eignq(1,j-jdfil+1,1), iim*nlat)
     205#else
     206                  eignq(:,j-jdfil+1,:)
     207     $                 = matmul(matriceun(:,:,j), champ(:iim,j,:))
     208#endif
    199209               END DO
    200210               
     
    202212               
    203213               DO j = jdfil,jffil
     214#ifdef BLAS
    204215                  CALL DGEMM("N", "N", iim, nbniv, iim, 1.0,
    205216     &                 matricevn(1,1,j),
    206217     &                 iim, champ(1,j,1), iip1*nlat, 0.0,
    207218     &                 eignq(1,j-jdfil+1,1), iim*nlat)
     219#else
     220                  eignq(:,j-jdfil+1,:)
     221     $                 = matmul(matricevn(:,:,j), champ(:iim,j,:))
     222#endif
    208223               END DO
    209224               
     
    215230               
    216231               DO j = jdfil,jffil
     232#ifdef BLAS
    217233                  CALL DGEMM("N", "N", iim, nbniv, iim, 1.0,
    218234     &                 matrinvs(1,1,j-jfiltsu+1),
    219235     &                 iim, champ(1,j,1), iip1*nlat, 0.0,
    220236     &                 eignq(1,j-jdfil+1,1), iim*nlat)
     237#else
     238                  eignq(:,j-jdfil+1,:)
     239     $                 = matmul(matrinvs(:,:,j-jfiltsu+1),
     240     $                 champ(:iim,j,:))
     241#endif
    221242               END DO
    222243               
     
    225246               
    226247               DO j = jdfil,jffil
     248#ifdef BLAS
    227249                  CALL DGEMM("N", "N", iim, nbniv, iim, 1.0,
    228250     &                 matriceus(1,1,j-jfiltsu+1),
    229251     &                 iim, champ(1,j,1), iip1*nlat, 0.0,
    230252     &                 eignq(1,j-jdfil+1,1), iim*nlat)
     253#else
     254                  eignq(:,j-jdfil+1,:)
     255     $                 = matmul(matriceus(:,:,j-jfiltsu+1),
     256     $                 champ(:iim,j,:))
     257#endif
    231258               END DO
    232259                             
     
    234261               
    235262               DO j = jdfil,jffil
     263#ifdef BLAS
    236264                  CALL DGEMM("N", "N", iim, nbniv, iim, 1.0,
    237265     &                 matricevs(1,1,j-jfiltsv+1),
    238266     &                 iim, champ(1,j,1), iip1*nlat, 0.0,
    239267     &                 eignq(1,j-jdfil+1,1), iim*nlat)
     268#else
     269                  eignq(:,j-jdfil+1,:)
     270     $                 = matmul(matricevs(:,:,j-jfiltsv+1),
     271     $                 champ(:iim,j,:))
     272#endif
    240273               END DO
    241274                             
Note: See TracChangeset for help on using the changeset viewer.