3 SUBROUTINE advtrac_p(pbaru,pbarv , p,  masse,q,iapptrac,teta, flxw, pk)
 
   23   include 
"dimensions.h" 
   32   include 
"description.h" 
   37   INTEGER,
INTENT(OUT) :: iapptrac
 
   57   REAL (kind=kind(1.d0)) :: t_initial, t_final, tps_cpu
 
   61   SAVE iadvtr, massem, pbaruc, pbarvc
 
   79   integer ijb,ije,ijb_u,ijb_v,ije_u,ije_v,j
 
   80   type(
request) :: Request_vanleer
 
   98         pbaruc(ijb_u:ije_u,l)=0.
 
   99         pbarvc(ijb_v:ije_v,l)=0.
 
  108         pbaruc(ij,l) = pbaruc(ij,l) + pbaru(ij,l)
 
  111         pbarvc(ij,l) = pbarvc(ij,l) + pbarv(ij,l)
 
  125         massem(ijb:ije,l)=masse(ijb:ije,l)
 
  157      CALL groupe_p( massem, pbaruc,pbarvc, pbarug,pbarvg,wg )
 
  163         p_tmp(ijb:ije,l)=p(ijb:ije,l)
 
  169         pk_tmp(ijb:ije,l)=pk(ijb:ije,l)
 
  170         teta_tmp(ijb:ije,l)=teta(ijb:ije,l)
 
  225            zdp(ij) =    pbarug(ij-1,l)   - pbarug(ij,l) &
 
  226                 - pbarvg(ij-iip1,l) + pbarvg(ij,l) &
 
  227                 +       wg(ij,l+1)  - wg(ij,l)
 
  233         do ij=ijb,ije-iip1+1,iip1
 
  234            zdp(ij)=zdp(ij+iip1-1)
 
  238            zdp(ij)= zdp(ij)*
dtvr/ massem(ij,l) 
 
  244         CALL minmax ( ije-ijb+1, zdp(ijb), zdpmin,zdpmax )
 
  246         IF(max(abs(zdpmin),abs(zdpmax)).GT.0.5) 
THEN 
  247            print*,
'WARNING DP/P l=',l,
'  MIN:',zdpmin, &
 
  268           pbarug,pbarvg,
dtvr,p_tmp,pk_tmp,teta_tmp )
 
  277         if(
iadv(iq) == 0) cycle 
 
  281         if(
iadv(iq).eq.10) 
THEN 
  283            call vlsplt_p(q(1,1,iq),2.,massem,wg,pbarug,pbarvg,
dtvr)
 
  289         else if(
iadv(iq).eq.14) 
then 
  293                 pbarug,pbarvg,
dtvr,p_tmp,pk_tmp,teta_tmp )
 
  297         else if(
iadv(iq).eq.12) 
then 
  298            stop 
'advtrac : schema non parallelise' 
  302               write(*,*) 
'WARNING horizontal dt=',dtbon,
'dtvr=', &
 
  306               call advn(q(1,1,iq),massem,wg,pbarug,pbarvg,dtbon,1)
 
  308         else if(
iadv(iq).eq.13) 
then 
  309            stop 
'advtrac : schema non parallelise' 
  313               write(*,*) 
'WARNING horizontal dt=',dtbon,
'dtvr=', &
 
  317               call advn(q(1,1,iq),massem,wg,pbarug,pbarvg,dtbon,2)
 
  322         else if (
iadv(iq).eq.20) 
then 
  323            stop 
'advtrac : schema non parallelise' 
  325            call pentes_ini (q(1,1,iq),wg,massem,pbarug,pbarvg,0)
 
  330         else if (
iadv(iq).eq.30) 
then 
  331            stop 
'advtrac : schema non parallelise' 
  335               write(*,*) 
'WARNING horizontal dt=',dtbon,
'dtvr=', &
 
  338            call  prather(q(1,1,iq),wg,massem,pbarug,pbarvg, &
 
  343         else if (
iadv(iq).eq.11.OR.(
iadv(iq).GE.16.AND. &
 
  344              iadv(iq).LE.18)) 
then 
  346            stop 
'advtrac : schema non parallelise' 
  352               write(*,*) 
'WARNING horizontal dt=',dtbon,
'dtvr=', &
 
  359                  aaa=wg(ij,l)*
dtvr/massem(ij,l)
 
  360                  cflmaxz=max(cflmaxz,aaa)
 
  361                  bbb=-wg(ij,l)*
dtvr/massem(ij,l-1)
 
  362                  cflmaxz=max(cflmaxz,bbb)
 
  365            if (cflmaxz.GE.1) 
then 
  366               write(*,*) 
'WARNING vertical',
'CFLmaxz=', cflmaxz
 
  373            call interpre(q(1,1,iq),qppm(1,1,iq),wg,fluxwppm,massem, &
 
  374                 apppm,bpppm,massebx,masseby,pbarug,pbarvg, &
 
  375                 unatppm,vnatppm,psppm)
 
  381               if (
iadv(iq).eq.11) 
then 
  383                  call ppm3d(1,qppm(1,1,iq), &
 
  385                       unatppm,vnatppm,fluxwppm,dtbon,2,2,2,1, &
 
  392               else if (
iadv(iq).eq.16) 
then 
  394                  call ppm3d(1,qppm(1,1,iq), &
 
  396                       unatppm,vnatppm,fluxwppm,dtbon,3,3,3,1, &
 
  404               else if (
iadv(iq).eq.17) 
then 
  406                  call ppm3d(1,qppm(1,1,iq), &
 
  408                       unatppm,vnatppm,fluxwppm,dtbon,4,4,4,1, &
 
  416               else if (
iadv(iq).eq.18) 
then 
  418                  call ppm3d(1,qppm(1,1,iq), &
 
  420                       unatppm,vnatppm,fluxwppm,dtbon,5,5,5,1, &
 
  459               finmasse(ij,l) =  p(ij,l) - p(ij,l+1) 
 
subroutine pentes_ini(q, w, masse, pbaru, pbarv, mode)
 
integer, save iapp_tracvl
 
!$Header llmm1 INTEGER ip1jmp1
 
subroutine interpost(q, qppm)
 
subroutine groupe_p(pext, pbaru, pbarv, pbarum, pbarvm, wm)
 
integer, dimension(:), allocatable jj_nb_caldyn
 
subroutine qminimum_p(q, nq, deltap)
 
subroutine stop_timer(no_timer)
 
subroutine adaptdt(nadv, dtbon, n, pbaru, masse)
 
subroutine advtrac_p(pbaru, pbarv, p, masse, q, iapptrac, teta, flxw, pk)
 
subroutine vlspltqs_p(q, pente_max, masse, w, pbaru, pbarv, pdt, p, pk, teta)
 
character(len=10), save planet_type
 
subroutine vlsplt_p(q, pente_max, masse, w, pbaru, pbarv, pdt)
 
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
 
subroutine vlspltgen_p(q, iadv, pente_max, masse, w, pbaru, pbarv, pdt,
 
subroutine advn(q, masse, w, pbaru, pbarv, pdt, mode)
 
integer, parameter timer_caldyn
 
subroutine resume_timer(no_timer)
 
!$Header llmm1 INTEGER ip1jm
 
subroutine register_swapfieldhallo(FieldS, FieldR, ij, ll, jj_Nb_New, Up, Down, a_request)
 
subroutine minmax(imax, xi, zmin, zmax)
 
integer, parameter vthallo
 
subroutine ppm3d(IGD, Q, PS1, PS2, U, V, W, NDT, IORD, JORD, KORD, NC, IMR, JNP, j1, NLAY, AP, BP, PT, AE, fill, dum, Umax)
 
subroutine prather(q, w, masse, pbaru, pbarv, nt, dt)
 
subroutine sendrequest(a_Request)
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
 
subroutine setdistrib(jj_Nb_New)
 
!$Id mode_top_bound COMMON comconstr dtvr
 
subroutine suspend_timer(no_timer)
 
integer, parameter vtadvection
 
c c zjulian c cym CALL iim cym klev iim
 
subroutine start_timer(no_timer)
 
integer, parameter timer_vanleer
 
integer, dimension(:), allocatable jj_nb_vanleer
 
subroutine waitrequest(a_Request)
 
integer, dimension(:), allocatable, save iadv