Ignore:
Timestamp:
May 6, 2016, 12:30:29 PM (9 years ago)
Author:
emillour
Message:

All GCMs:
Further adaptations to keep up with changes in LMDZ5 concerning
physics/dynamics separation (up to rev r2420 of LMDZ5)

  • all physics packages:
  • added module callphysiq_mod.F90 in dynphy_lonlat/phy* which contains the routine "call_physiq" which is called by calfis* and calls the physics. This way different "physiq" routine from different physics packages may be called: The calfis* routines now exposes all available fields that might be transmitted to physiq but which is actually send (ie: expected/needed by physiq) is decided in call_physiq.
  • turned "physiq.F[90]" into module "physiq_mod.F[90]" for better control of "physiq" arguments. for phyvenus/phytitan, extracted gr_fi_ecrit from physiq.F as gr_fi_ecrit.F90 (note that it can only work in serial).
  • misc:
  • updated wxios.F90 to keep up with LMDZ5 modifications.
  • dyn3d_common:
  • infotrac.F90 keep up with LMDZ5 modifications (cosmetics)
  • dyn3d:
  • gcm.F90: cosmetic cleanup.
  • leapfrog.F90: fix computation of date as function of itau.
  • dyn3dpar:
  • gcm.F: cosmetic cleanup.
  • leapfrog_p.F90: fix computation of date as function of itau.

NB: physics are given the date corresponding to the end of the
physics step.

  • dynphy_lonlat:
  • calfis.F : added computation of relative wind vorticity.
  • calfis_p.F: added computation of relative wind vorticity (input required by Earth physics)

EM

Location:
trunk/LMDZ.COMMON/libf/dynphy_lonlat
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/dynphy_lonlat/calfis.F

    r1459 r1549  
    3333      USE write_field
    3434      USE cpdet_mod, only: t2tpot,tpot2t
    35  
     35#ifdef CPP_PHYS
     36      USE callphysiq_mod, ONLY: call_physiq
     37#endif
     38
    3639! used only for zonal averages
    3740      USE moyzon_mod
     
    145148      REAL zphi(ngridmx,llm),zphis(ngridmx)
    146149
     150      REAL zrot(iip1,jjm,llm) ! AdlC May 2014
    147151      REAL zufi(ngridmx,llm), zvfi(ngridmx,llm)
     152      REAL zrfi(ngridmx,llm) ! relative wind vorticity
    148153      REAL ztfi(ngridmx,llm),zqfi(ngridmx,llm,nqtot)
    149154! ADAPTATION GCM POUR CP(T)
     
    572577
    573578
     579C  Alvaro de la Camara (May 2014)
     580C  46.1 Calcul de la vorticite et passage sur la grille physique
     581C  --------------------------------------------------------------
     582      DO l=1,llm
     583        do i=1,iim
     584          do j=1,jjm
     585            zrot(i,j,l) = (pvcov(i+1,j,l) - pvcov(i,j,l)
     586     $                   + pucov(i,j+1,l) - pucov(i,j,l))
     587     $                   / (cu(i,j)+cu(i,j+1))
     588     $                   / (cv(i+1,j)+cv(i,j)) *4
     589          enddo
     590        enddo
     591      ENDDO
     592
    574593c   46.champ v:
    575594c   -----------
     
    584603c     $         ( pdvcov(i,j-1,l)/cv(i,j-1) + pdvcov(i,j,l)/cv(i,j) )
    585604            ENDDO
     605               zrfi(ig0 + 1,l)= 0.25 *(zrot(iim,j-1,l)+zrot(iim,j,l)
     606     &                                +zrot(1,j-1,l)+zrot(1,j,l))
     607            DO i=2,iim
     608               zrfi(ig0 + i,l)= 0.25 *(zrot(i-1,j-1,l)+zrot(i-1,j,l)
     609     $                   +zrot(i,j-1,l)+zrot(i,j,l))   !  AdlC MAY 2014
     610            ENDDO
    586611         ENDDO
    587612      ENDDO
     
    613638         zvfi(1,l)  = SSUM(iim,zsin,1)/pi
    614639!         pcvgv(1,l) = SSUM(iim,zsinbis,1)/pi
    615 
     640         zrfi(1, l) = 0.
    616641      ENDDO
    617642
     
    642667         zvfi(ngridmx,l)  = SSUM(iim,zsin,1)/pi
    643668!         pcvgv(ngridmx,l) = SSUM(iim,zsinbis,1)/pi
    644 
     669         zrfi(ngridmx, l) = 0.
    645670      ENDDO
    646671c
     
    674699         lafin_split=lafin.and.isplit==nsplit_phys
    675700
    676       if (planet_type.eq."earth") then
    677          CALL physiq (ngridmx,
    678      .             llm,
    679      .             debut_split,
    680      .             lafin_split,
    681      .             jD_cur,
    682      .             jH_cur_split,
    683      .             zdt_split,
    684      .             zplev,
    685      .             zplay,
    686      .             zphi,
    687      .             zphis,
    688      .             presnivs,
    689      .             zufi,
    690      .             zvfi,
    691      .             ztfi,
    692      .             zqfi,
    693      .             flxwfi,
    694      .             zdufi,
    695      .             zdvfi,
    696      .             zdtfi,
    697      .             zdqfi,
    698      .             zdpsrf,
    699      .             pducov)
    700 
    701       else if ( planet_type=="generic" ) then
    702 
    703          CALL physiq (ngridmx,     !! ngrid
    704      .             llm,            !! nlayer
    705      .             nqtot,          !! nq
    706      .             tname,          !! tracer names from dynamical core (given in infotrac)
    707      .             debut_split,    !! firstcall
    708      .             lafin_split,    !! lastcall
    709      .             jD_cur,         !! pday. see leapfrog
    710      .             jH_cur_split,   !! ptime "fraction of day"
    711      .             zdt_split,      !! ptimestep
    712      .             zplev,          !! pplev
    713      .             zplay,          !! pplay
    714      .             zphi,           !! pphi
    715      .             zufi,           !! pu
    716      .             zvfi,           !! pv
    717      .             ztfi,           !! pt
    718      .             zqfi,           !! pq
    719      .             flxwfi,         !! pw !! or 0. anyway this is for diagnostic. not used in physiq.
    720      .             zdufi,          !! pdu
    721      .             zdvfi,          !! pdv
    722      .             zdtfi,          !! pdt
    723      .             zdqfi,          !! pdq
    724      .             zdpsrf,         !! pdpsrf
    725      .             tracerdyn)      !! tracerdyn <-- utilite ???
    726 
    727       else if ( planet_type=="mars" ) then
    728 
    729         CALL physiq (ngridmx,    ! ngrid
    730      .             llm,          ! nlayer
    731      .             nqtot,        ! nq
    732      .             debut_split,  ! firstcall
    733      .             lafin_split,  ! lastcall
    734      .             jD_cur,       ! pday
    735      .             jH_cur_split, ! ptime
    736      .             zdt_split,    ! ptimestep
    737      .             zplev,        ! pplev
    738      .             zplay,        ! pplay
    739      .             zphi,         ! pphi
    740      .             zufi,         ! pu
    741      .             zvfi,         ! pv
    742      .             ztfi,         ! pt
    743      .             zqfi,         ! pq
    744      .             flxwfi,       ! pw
    745      .             zdufi,        ! pdu
    746      .             zdvfi,        ! pdv
    747      .             zdtfi,        ! pdt
    748      .             zdqfi,        ! pdq
    749      .             zdpsrf,       ! pdpsrf
    750      .             tracerdyn)    ! tracerdyn (somewhat obsolete)
    751 
    752       else if ((planet_type=="titan").or.(planet_type=="venus")) then
    753 
    754          CALL physiq (ngridmx,
    755      .             llm,
    756      .             nqtot,
    757      .             debut_split,
    758      .             lafin_split,
    759      .             jD_cur,
    760      .             jH_cur_split,
    761      .             zdt_split,
    762      .             zplev,
    763      .             zplay,
    764      .             zpk,
    765      .             zphi,
    766      .             zphis,
    767      .             presnivs,
    768      .             zufi,
    769      .             zvfi,
    770      .             ztfi,
    771      .             zqfi,
    772      .             flxwfi,
    773      .             zdufi,
    774      .             zdvfi,
    775      .             zdtfi,
    776      .             zdqfi,
    777      .             zdpsrf)
    778 
    779       else ! unknown "planet_type"
    780 
    781         write(lunout,*) "calfis_p: error, unknown planet_type: ",
    782      &                  trim(planet_type)
    783         stop
    784 
    785       endif ! planet_type
     701        CALL call_physiq(ngridmx,llm,nqtot,tname,
     702     &                   debut_split,lafin_split,
     703     &                   jD_cur,jH_cur_split,zdt_split,
     704     &                   zplev,zplay,
     705     &                   zpk,zphi,zphis,
     706     &                   presnivs,
     707     &                   zufi,zvfi,zrfi,ztfi,zqfi,
     708     &                   flxwfi,pducov,
     709     &                   zdufi,zdvfi,zdtfi,zdqfi,zdpsrf,
     710     &                   tracerdyn)
     711
     712!      if (planet_type.eq."earth") then
     713!         CALL physiq (ngridmx,
     714!     .             llm,
     715!     .             debut_split,
     716!     .             lafin_split,
     717!     .             jD_cur,
     718!     .             jH_cur_split,
     719!     .             zdt_split,
     720!     .             zplev,
     721!     .             zplay,
     722!     .             zphi,
     723!     .             zphis,
     724!     .             presnivs,
     725!     .             zufi,
     726!     .             zvfi,
     727!     .             ztfi,
     728!     .             zqfi,
     729!     .             flxwfi,
     730!     .             zdufi,
     731!     .             zdvfi,
     732!     .             zdtfi,
     733!     .             zdqfi,
     734!     .             zdpsrf,
     735!     .             pducov)
     736!
     737!      else if ( planet_type=="generic" ) then
     738!
     739!         CALL physiq (ngridmx,     !! ngrid
     740!     .             llm,            !! nlayer
     741!     .             nqtot,          !! nq
     742!     .             tname,          !! tracer names from dynamical core (given in infotrac)
     743!     .             debut_split,    !! firstcall
     744!     .             lafin_split,    !! lastcall
     745!     .             jD_cur,         !! pday. see leapfrog
     746!     .             jH_cur_split,   !! ptime "fraction of day"
     747!     .             zdt_split,      !! ptimestep
     748!     .             zplev,          !! pplev
     749!     .             zplay,          !! pplay
     750!     .             zphi,           !! pphi
     751!     .             zufi,           !! pu
     752!     .             zvfi,           !! pv
     753!     .             ztfi,           !! pt
     754!     .             zqfi,           !! pq
     755!     .             flxwfi,         !! pw !! or 0. anyway this is for diagnostic. not used in physiq.
     756!     .             zdufi,          !! pdu
     757!     .             zdvfi,          !! pdv
     758!     .             zdtfi,          !! pdt
     759!     .             zdqfi,          !! pdq
     760!     .             zdpsrf,         !! pdpsrf
     761!     .             tracerdyn)      !! tracerdyn <-- utilite ???
     762!
     763!      else if ( planet_type=="mars" ) then
     764!
     765!        CALL physiq (ngridmx,    ! ngrid
     766!     .             llm,          ! nlayer
     767!     .             nqtot,        ! nq
     768!     .             debut_split,  ! firstcall
     769!     .             lafin_split,  ! lastcall
     770!     .             jD_cur,       ! pday
     771!     .             jH_cur_split, ! ptime
     772!     .             zdt_split,    ! ptimestep
     773!     .             zplev,        ! pplev
     774!     .             zplay,        ! pplay
     775!     .             zphi,         ! pphi
     776!     .             zufi,         ! pu
     777!     .             zvfi,         ! pv
     778!     .             ztfi,         ! pt
     779!     .             zqfi,         ! pq
     780!     .             flxwfi,       ! pw
     781!     .             zdufi,        ! pdu
     782!     .             zdvfi,        ! pdv
     783!     .             zdtfi,        ! pdt
     784!     .             zdqfi,        ! pdq
     785!     .             zdpsrf,       ! pdpsrf
     786!     .             tracerdyn)    ! tracerdyn (somewhat obsolete)
     787!
     788!      else if ((planet_type=="titan").or.(planet_type=="venus")) then
     789!
     790!         CALL physiq (ngridmx,
     791!     .             llm,
     792!     .             nqtot,
     793!     .             debut_split,
     794!     .             lafin_split,
     795!     .             jD_cur,
     796!     .             jH_cur_split,
     797!     .             zdt_split,
     798!     .             zplev,
     799!     .             zplay,
     800!     .             zpk,
     801!     .             zphi,
     802!     .             zphis,
     803!     .             presnivs,
     804!     .             zufi,
     805!     .             zvfi,
     806!     .             ztfi,
     807!     .             zqfi,
     808!     .             flxwfi,
     809!     .             zdufi,
     810!     .             zdvfi,
     811!     .             zdtfi,
     812!     .             zdqfi,
     813!     .             zdpsrf)
     814!
     815!      else ! unknown "planet_type"
     816!
     817!        write(lunout,*) "calfis_p: error, unknown planet_type: ",
     818!     &                  trim(planet_type)
     819!        stop
     820!
     821!      endif ! planet_type
    786822
    787823         zufi(:,:)=zufi(:,:)+zdufi(:,:)*zdt_split
  • trunk/LMDZ.COMMON/libf/dynphy_lonlat/calfis_p.F

    r1543 r1549  
    3636#endif
    3737#ifdef CPP_PARA
    38       USE parallel_lmdz, ONLY : omp_chunk, using_mpi, AllGather_Field
     38      USE parallel_lmdz, ONLY: omp_chunk, using_mpi, AllGather_Field,
     39     &                         jjb_u,jje_u,jjb_v,jje_v,
     40     &                         jj_begin_dyn=>jj_begin,jj_end_dyn=>jj_end
    3941      USE Write_Field
    4042      Use Write_field_p
     
    4951      USE comconst_mod, ONLY: daysec,dtvr,dtphys,kappa,cpp,g,rad,pi
    5052      USE logic_mod, ONLY: moyzon_ch,moyzon_mu
     53#ifdef CPP_PHYS
     54      USE callphysiq_mod, ONLY: call_physiq
     55#endif
    5156
    5257      IMPLICIT NONE
     
    159164      REAL,ALLOCATABLE,SAVE :: zphi(:,:),zphis(:)
    160165
     166!      REAL zrot(iip1,jjb_v:jje_v,llm) ! AdlC May 2014
     167      REAL :: zrot(iip1,jjm,llm)
    161168      REAL,ALLOCATABLE,SAVE :: zufi(:,:), zvfi(:,:)
    162169      REAL,ALLOCATABLE,SAVE :: ztfi(:,:),zqfi(:,:,:)
     
    170177!      REAL,ALLOCATABLE,SAVE :: pcvgt(:,:), pcvgq(:,:,:)
    171178c
    172       REAL,ALLOCATABLE,SAVE :: zdufi(:,:),zdvfi(:,:)
     179      REAL,ALLOCATABLE,SAVE :: zdufi(:,:),zdvfi(:,:), zrfi(:,:)
    173180      REAL,ALLOCATABLE,SAVE :: zdtfi(:,:),zdqfi(:,:,:)
    174181      REAL,ALLOCATABLE,SAVE :: zdpsrf(:)
     
    183190      REAL,ALLOCATABLE,SAVE :: zufi_omp(:,:)
    184191      REAL,ALLOCATABLE,SAVE :: zvfi_omp(:,:)
     192      REAL,ALLOCATABLE,SAVE :: zrfi_omp(:,:)
    185193      REAL,ALLOCATABLE,SAVE :: ztfi_omp(:,:)
    186194      REAL,ALLOCATABLE,SAVE :: zqfi_omp(:,:,:)
     
    216224c$OMP THREADPRIVATE(zplev_omp,zplay_omp,zpk_omp,zphi_omp,zphis_omp,
    217225c$OMP+                 presnivs_omp,zufi_omp,zvfi_omp,ztfi_omp,
    218 c$OMP+                 zqfi_omp,zdufi_omp,zdvfi_omp,
     226c$OMP+                 zrfi_omp,zqfi_omp,zdufi_omp,zdvfi_omp,
    219227c$OMP+                 zdtfi_omp,zdqfi_omp,zdpsrf_omp,flxwfi_omp,
    220228c$OMP+                 zdufic_omp,zdvfic_omp,zdtfic_omp,zdqfic_omp)       
     
    244252      integer :: k,kstart,kend
    245253      INTEGER :: offset 
     254      INTEGER :: jjb,jje
    246255
    247256      LOGICAL tracerdyn ! for generic/mars physics call ; possibly to get rid of
     
    294303!      ALLOCATE(pcvgu(klon,llm), pcvgv(klon,llm))
    295304!      ALLOCATE(pcvgt(klon,llm), pcvgq(klon,llm,2))
    296       ALLOCATE(zdufi(klon,llm),zdvfi(klon,llm))
     305      ALLOCATE(zdufi(klon,llm),zdvfi(klon,llm),zrfi(klon,llm))
    297306      ALLOCATE(zdtfi(klon,llm),zdqfi(klon,llm,nqtot))
    298307      ALLOCATE(zdpsrf(klon))
     
    610619c$OMP END DO NOWAIT
    611620
    612 c   46.champ v:
     621c
     622C  Alvaro de la Camara (May 2014)
     623C  46.1 Calcul de la vorticite et passage sur la grille physique
     624C  --------------------------------------------------------------
     625
     626      jjb=jj_begin_dyn-1
     627      jje=jj_end_dyn+1
     628      if (is_north_pole) jjb=1
     629      if (is_south_pole) jje=jjm
     630
     631c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
     632
     633      DO l=1,llm
     634        do i=1,iim
     635          do j=jjb,jje
     636            zrot(i,j,l) = (pvcov(i+1,j,l) - pvcov(i,j,l)
     637     $                   + pucov(i,j+1,l) - pucov(i,j,l))
     638     $                   / (cu(i,j)+cu(i,j+1))
     639     $                   / (cv(i+1,j)+cv(i,j)) *4
     640          enddo
     641        enddo
     642      ENDDO
     643
     644
     645c   46.2champ v:
    613646c   -----------
    614647
     
    623656     $                       + pvcov(i,j,l)/cv(i,j) )
    624657   
     658          if (j==1 .OR. j==jjp1) then !  AdlC MAY 2014
     659            zrfi(ig0,l) = 0 !  AdlC MAY 2014
     660          else
     661            if(i==1)then
     662            zrfi(ig0,l)= 0.25 *(zrot(iim,j-1,l)+zrot(iim,j,l)
     663     $                   +zrot(1,j-1,l)+zrot(1,j,l))   !  AdlC MAY 2014
     664            else
     665            zrfi(ig0,l)= 0.25 *(zrot(i-1,j-1,l)+zrot(i-1,j,l)
     666     $                   +zrot(i,j-1,l)+zrot(i,j,l))   !  AdlC MAY 2014
     667            endif
     668          endif
     669
     670
    625671         ENDDO
    626672      ENDDO
     
    648694           zufi(1,l)  = SSUM(iim,zcos,1)/pi
    649695           zvfi(1,l)  = SSUM(iim,zsin,1)/pi
     696           zrfi(1,l)  = 0.
    650697 
    651698        ENDDO
     
    675722           zufi(klon,l)  = SSUM(iim,zcos,1)/pi
    676723           zvfi(klon,l)  = SSUM(iim,zsin,1)/pi
     724           zrfi(klon,l)  = 0.
    677725        ENDDO
    678726c$OMP END DO NOWAIT       
     
    706754        allocate(zufi_omp(klon,llm))
    707755        allocate(zvfi_omp(klon,llm))
     756        allocate(zrfi_omp(klon,llm))  ! LG Ari 2014
    708757        allocate(ztfi_omp(klon,llm))
    709758        allocate(zqfi_omp(klon,llm,nqtot))
     
    775824      do l=1,llm
    776825        do i=1,klon
     826          zrfi_omp(i,l)=zrfi(offset+i,l)
     827        enddo
     828      enddo
     829       
     830       
     831      do l=1,llm
     832        do i=1,klon
    777833          ztfi_omp(i,l)=ztfi(offset+i,l)
    778834        enddo
     
    880936         lafin_split=lafin.and.isplit==nsplit_phys
    881937
    882 
    883       if (planet_type=="earth") then
    884         CALL physiq (klon,
    885      .             llm,
    886      .             debut_split,
    887      .             lafin_split,
    888      .             jD_cur,
    889      .             jH_cur_split,
    890      .             zdt_split,
    891      .             zplev_omp,
    892      .             zplay_omp,
    893      .             zphi_omp,
    894      .             zphis_omp,
    895      .             presnivs_omp,
    896      .             zufi_omp,
    897      .             zvfi_omp,
    898      .             ztfi_omp,
    899      .             zqfi_omp,
    900      .             flxwfi_omp,
    901      .             zdufi_omp,
    902      .             zdvfi_omp,
    903      .             zdtfi_omp,
    904      .             zdqfi_omp,
    905      .             zdpsrf_omp,
    906      .             pducov)
    907 
    908       else if ( planet_type=="generic" ) then
    909 
    910       CALL physiq (klon,     !! ngrid
    911      .             llm,            !! nlayer
    912      .             nqtot,          !! nq
    913      .             tname,          !! tracer names from dynamical core (given in infotrac)
    914      .             debut_split,    !! firstcall
    915      .             lafin_split,    !! lastcall
    916      .             jD_cur,         !! pday. see leapfrog_p
    917      .             jH_cur_split,   !! ptime "fraction of day"
    918      .             zdt_split,      !! ptimestep
    919      .             zplev_omp,  !! pplev
    920      .             zplay_omp,  !! pplay
    921      .             zphi_omp,   !! pphi
    922      .             zufi_omp,   !! pu
    923      .             zvfi_omp,   !! pv
    924      .             ztfi_omp,   !! pt
    925      .             zqfi_omp,   !! pq
    926      .             flxwfi_omp, !! pw !! or 0. anyway this is for diagnostic. not used in physiq.
    927      .             zdufi_omp,  !! pdu
    928      .             zdvfi_omp,  !! pdv
    929      .             zdtfi_omp,  !! pdt
    930      .             zdqfi_omp,  !! pdq
    931      .             zdpsrf_omp, !! pdpsrf
    932      .             tracerdyn)      !! tracerdyn <-- utilite ???
    933 
    934       else if ( planet_type=="mars" ) then
    935 
    936         CALL physiq (klon,       ! ngrid
    937      .             llm,          ! nlayer
    938      .             nqtot,        ! nq
    939      .             debut_split,  ! firstcall
    940      .             lafin_split,  ! lastcall
    941      .             jD_cur,       ! pday
    942      .             jH_cur_split, ! ptime
    943      .             zdt_split,    ! ptimestep
    944      .             zplev_omp,    ! pplev
    945      .             zplay_omp,    ! pplay
    946      .             zphi_omp,     ! pphi
    947      .             zufi_omp,     ! pu
    948      .             zvfi_omp,     ! pv
    949      .             ztfi_omp,     ! pt
    950      .             zqfi_omp,     ! pq
    951      .             flxwfi_omp,   ! pw
    952      .             zdufi_omp,    ! pdu
    953      .             zdvfi_omp,    ! pdv
    954      .             zdtfi_omp,    ! pdt
    955      .             zdqfi_omp,    ! pdq
    956      .             zdpsrf_omp,   ! pdpsrf
    957      .             tracerdyn)    ! tracerdyn (somewhat obsolete)
    958 
    959       else if ((planet_type=="titan").or.(planet_type=="venus")) then
    960 
    961         CALL physiq (klon,
    962      .             llm,
    963      .             nqtot,
    964      .             debut_split,
    965      .             lafin_split,
    966      .             jD_cur,
    967      .             jH_cur_split,
    968      .             zdt_split,
    969      .             zplev_omp,
    970      .             zplay_omp,
    971      .             zpk_omp,
    972      .             zphi_omp,
    973      .             zphis_omp,
    974      .             presnivs_omp,
    975      .             zufi_omp,
    976      .             zvfi_omp,
    977      .             ztfi_omp,
    978      .             zqfi_omp,
    979      .             flxwfi_omp,
    980      .             zdufi_omp,
    981      .             zdvfi_omp,
    982      .             zdtfi_omp,
    983      .             zdqfi_omp,
    984      .             zdpsrf_omp)
    985 
    986       else ! unknown "planet_type"
    987 
    988         write(lunout,*) "calfis_p: error, unknown planet_type: ",
    989      &                  trim(planet_type)
    990         stop
    991 
    992       endif ! planet_type
     938        CALL call_physiq(klon,llm,nqtot,tname,
     939     &                   debut_split,lafin_split,
     940     &                   jD_cur,jH_cur_split,zdt_split,
     941     &                   zplev_omp,zplay_omp,
     942     &                   zpk_omp,zphi_omp,zphis_omp,
     943     &                   presnivs_omp,
     944     &                   zufi_omp,zvfi_omp,zrfi_omp,ztfi_omp,zqfi_omp,
     945     &                   flxwfi_omp,pducov,
     946     &                   zdufi_omp,zdvfi_omp,zdtfi_omp,zdqfi_omp,
     947     &                   zdpsrf_omp,tracerdyn)
     948
     949!      if (planet_type=="earth") then
     950!        CALL physiq (klon,
     951!     .             llm,
     952!     .             debut_split,
     953!     .             lafin_split,
     954!     .             jD_cur,
     955!     .             jH_cur_split,
     956!     .             zdt_split,
     957!     .             zplev_omp,
     958!     .             zplay_omp,
     959!     .             zphi_omp,
     960!     .             zphis_omp,
     961!     .             presnivs_omp,
     962!     .             zufi_omp,
     963!     .             zvfi_omp,
     964!     .             ztfi_omp,
     965!     .             zqfi_omp,
     966!     .             flxwfi_omp,
     967!     .             zdufi_omp,
     968!     .             zdvfi_omp,
     969!     .             zdtfi_omp,
     970!     .             zdqfi_omp,
     971!     .             zdpsrf_omp,
     972!     .             pducov)
     973!
     974!      else if ( planet_type=="generic" ) then
     975!
     976!      CALL physiq (klon,     !! ngrid
     977!     .             llm,            !! nlayer
     978!     .             nqtot,          !! nq
     979!     .             tname,          !! tracer names from dynamical core (given in infotrac)
     980!     .             debut_split,    !! firstcall
     981!     .             lafin_split,    !! lastcall
     982!     .             jD_cur,         !! pday. see leapfrog_p
     983!     .             jH_cur_split,   !! ptime "fraction of day"
     984!     .             zdt_split,      !! ptimestep
     985!     .             zplev_omp,  !! pplev
     986!     .             zplay_omp,  !! pplay
     987!     .             zphi_omp,   !! pphi
     988!     .             zufi_omp,   !! pu
     989!     .             zvfi_omp,   !! pv
     990!     .             ztfi_omp,   !! pt
     991!     .             zqfi_omp,   !! pq
     992!     .             flxwfi_omp, !! pw !! or 0. anyway this is for diagnostic. not used in physiq.
     993!     .             zdufi_omp,  !! pdu
     994!     .             zdvfi_omp,  !! pdv
     995!     .             zdtfi_omp,  !! pdt
     996!     .             zdqfi_omp,  !! pdq
     997!     .             zdpsrf_omp, !! pdpsrf
     998!     .             tracerdyn)      !! tracerdyn <-- utilite ???
     999!
     1000!      else if ( planet_type=="mars" ) then
     1001!
     1002!        CALL physiq (klon,       ! ngrid
     1003!     .             llm,          ! nlayer
     1004!     .             nqtot,        ! nq
     1005!     .             debut_split,  ! firstcall
     1006!     .             lafin_split,  ! lastcall
     1007!     .             jD_cur,       ! pday
     1008!     .             jH_cur_split, ! ptime
     1009!     .             zdt_split,    ! ptimestep
     1010!     .             zplev_omp,    ! pplev
     1011!     .             zplay_omp,    ! pplay
     1012!     .             zphi_omp,     ! pphi
     1013!     .             zufi_omp,     ! pu
     1014!     .             zvfi_omp,     ! pv
     1015!     .             ztfi_omp,     ! pt
     1016!     .             zqfi_omp,     ! pq
     1017!     .             flxwfi_omp,   ! pw
     1018!     .             zdufi_omp,    ! pdu
     1019!     .             zdvfi_omp,    ! pdv
     1020!     .             zdtfi_omp,    ! pdt
     1021!     .             zdqfi_omp,    ! pdq
     1022!     .             zdpsrf_omp,   ! pdpsrf
     1023!     .             tracerdyn)    ! tracerdyn (somewhat obsolete)
     1024!
     1025!      else if ((planet_type=="titan").or.(planet_type=="venus")) then
     1026!
     1027!        CALL physiq (klon,
     1028!     .             llm,
     1029!     .             nqtot,
     1030!     .             debut_split,
     1031!     .             lafin_split,
     1032!     .             jD_cur,
     1033!     .             jH_cur_split,
     1034!     .             zdt_split,
     1035!     .             zplev_omp,
     1036!     .             zplay_omp,
     1037!     .             zpk_omp,
     1038!     .             zphi_omp,
     1039!     .             zphis_omp,
     1040!     .             presnivs_omp,
     1041!     .             zufi_omp,
     1042!     .             zvfi_omp,
     1043!     .             ztfi_omp,
     1044!     .             zqfi_omp,
     1045!     .             flxwfi_omp,
     1046!     .             zdufi_omp,
     1047!     .             zdvfi_omp,
     1048!     .             zdtfi_omp,
     1049!     .             zdqfi_omp,
     1050!     .             zdpsrf_omp)
     1051!
     1052!      else ! unknown "planet_type"
     1053!
     1054!        write(lunout,*) "calfis_p: error, unknown planet_type: ",
     1055!     &                  trim(planet_type)
     1056!        stop
     1057!
     1058!      endif ! planet_type
    9931059         zufi_omp(:,:)=zufi_omp(:,:)+zdufi_omp(:,:)*zdt_split
    9941060         zvfi_omp(:,:)=zvfi_omp(:,:)+zdvfi_omp(:,:)*zdt_split
Note: See TracChangeset for help on using the changeset viewer.