Ignore:
Timestamp:
May 27, 2008, 6:46:50 PM (16 years ago)
Author:
lsce
Message:
  • Ajoute du parametre config_inca dans conf_gcm.F config_inca='none'(sans INCA, par defaut) config_inca='chem'(avec INCA config chemie) config_inca='aero'(avec INCA config aerosol)
  • Menage parmis les cles CPP INCA
  • Enleve le calcul d'omega dans calfis.F et active le calcul correspondant dans advtrac.F(avant uniquement pour INCA).

JG

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/dyn3dpar/calfis_p.F

    r774 r960  
    2222     $                  pdteta,
    2323     $                  pdq,
    24      $                  pw,
    25 #ifdef INCA
    2624     $                  flxw,
    27 #endif
    2825     $                  clesphy0,
    2926     $                  pdufi,
     
    130127      REAL pdq(iip1,jjp1,llm,nqmx)
    131128c
    132       REAL pw(iip1,jjp1,llm)
    133 
    134129      REAL pps(iip1,jjp1)
    135130      REAL pp(iip1,jjp1,llmp1)
     
    161156      REAL,ALLOCATABLE,SAVE :: pcvgt(:,:), pcvgq(:,:,:)
    162157c
    163       REAL,ALLOCATABLE,SAVE :: pvervel(:,:)
     158c      REAL,ALLOCATABLE,SAVE :: pvervel(:,:)
    164159c
    165160      REAL,ALLOCATABLE,SAVE :: zdufi(:,:),zdvfi(:,:)
     
    176171      REAL,ALLOCATABLE,SAVE :: ztfi_omp(:,:)
    177172      REAL,ALLOCATABLE,SAVE :: zqfi_omp(:,:,:)
    178       REAL,ALLOCATABLE,SAVE :: pvervel_omp(:,:)
     173c      REAL,ALLOCATABLE,SAVE :: pvervel_omp(:,:)
    179174      REAL,ALLOCATABLE,SAVE :: zdufi_omp(:,:)
    180175      REAL,ALLOCATABLE,SAVE :: zdvfi_omp(:,:)
     
    202197      REAL PVteta(klon,ntetaSTD)
    203198     
    204 #ifdef INCA
    205       REAL flxw(iip1,jjp1,llm)
    206       REAL flxwfi(klon,llm)
    207 #endif
    208 c
     199      REAL flxw(iip1,jjp1,llm)  ! Flux de masse verticale sur la grille dynamique
     200      REAL flxwfi(klon,llm)     ! Flux de masse verticale sur la grille physiq
    209201     
    210202      REAL SSUM
     
    257249      ALLOCATE(pcvgu(klon,llm), pcvgv(klon,llm))
    258250      ALLOCATE(pcvgt(klon,llm), pcvgq(klon,llm,2))
    259       ALLOCATE(pvervel(klon,llm))
     251c      ALLOCATE(pvervel(klon,llm))
    260252      ALLOCATE(zdufi(klon,llm),zdvfi(klon,llm))
    261253      ALLOCATE(zdtfi(klon,llm),zdqfi(klon,llm,nqmx))
     
    380372         ENDDO
    381373      ENDDO
    382 c$OMP END DO NOWAIT     
     374c$OMP END DO NOWAIT
     375     
    383376c   ....  Calcul de la vitesse  verticale  ( en Pa*m*s  ou Kg/s )  ....
    384 c
    385 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)       
    386       DO l=1,llm
    387         do ig0=1,klon
    388            i=index_i(ig0)
    389            j=index_j(ig0)
    390            pvervel(ig0,l) = pw(i,j,l)*g* unsaire(i,j)
    391         enddo
    392         if (is_north_pole) pvervel(1,l)=pw(1,1,l)*g /apoln
    393         if (is_south_pole) pvervel(klon,l)=pw(1,jjp1,l)*g/apols
    394       ENDDO
    395 c$OMP END DO NOWAIT
     377c JG : ancien calcule de omega utilise dans physiq.F. Maintenant le flux
     378c      de masse est calclue dans advtrac_p.F 
     379c
     380cc$OMP DO SCHEDULE(STATIC,OMP_CHUNK)       
     381c      DO l=1,llm
     382c        do ig0=1,klon
     383c           i=index_i(ig0)
     384c           j=index_j(ig0)
     385c           pvervel(ig0,l) = pw(i,j,l)*g* unsaire(i,j)
     386c        enddo
     387c       if (is_north_pole) pvervel(1,l)=pw(1,1,l)*g /apoln
     388c       if (is_south_pole) pvervel(klon,l)=pw(1,jjp1,l)*g/apols
     389c      ENDDO
     390cc$OMP END DO NOWAIT
    396391
    397392c
     
    514509c
    515510      ENDIF
    516 #ifdef INCA
     511
     512c On change de grille, dynamique vers physiq, pour le flux de masse verticale
    517513      CALL gr_dyn_fi_p(llm,iip1,jjp1,klon,flxw,flxwfi)
    518 #endif
    519 
    520514
    521515c-----------------------------------------------------------------------
     
    548542        allocate(ztfi_omp(klon,llm))
    549543        allocate(zqfi_omp(klon,llm,nq))
    550         allocate(pvervel_omp(klon,llm))
     544c        allocate(pvervel_omp(klon,llm))
    551545        allocate(zdufi_omp(klon,llm))
    552546        allocate(zdvfi_omp(klon,llm))
     
    614608      enddo
    615609       
    616       do l=1,llm
    617         do i=1,klon
    618           pvervel_omp(i,l)=pvervel(offset+i,l)
    619         enddo
    620       enddo
     610c      do l=1,llm
     611c        do i=1,klon
     612c         pvervel_omp(i,l)=pvervel(offset+i,l)
     613c       enddo
     614c      enddo
    621615       
    622616      do l=1,llm
     
    671665     .             ztfi_omp,
    672666     .             zqfi_omp,
    673      .             pvervel_omp,
    674 #ifdef INCA
     667c     .             pvervel_omp,
     668c#ifdef INCA
    675669     .             flxwfi,
    676 #endif
     670c#endif
    677671     .             zdufi_omp,
    678672     .             zdvfi_omp,
     
    742736      enddo
    743737       
    744       do l=1,llm
    745         do i=1,klon
    746           pvervel(offset+i,l)=pvervel_omp(i,l)
    747         enddo
    748       enddo
     738c      do l=1,llm
     739c        do i=1,klon
     740c         pvervel(offset+i,l)=pvervel_omp(i,l)
     741c       enddo
     742c      enddo
    749743       
    750744      do l=1,llm
Note: See TracChangeset for help on using the changeset viewer.