31 #include "dimensions.h" 
   35 #include "comdissip.h" 
   40 #include "description.h" 
   61       REAL (kind=kind(1.d0)) :: t_initial, t_final, tps_cpu
 
   62       INTEGER,
SAVE :: iadvtr=0
 
   80       integer ijb,ije,ijbu,ijbv,ijeu,ijev,j
 
   81       type(
request),
SAVE :: testRequest
 
   93               zdp(ij) =    pbarug(ij-1,l)   - pbarug(ij,l)
 
   94      s                  - pbarvg(ij-iip1,l) + pbarvg(ij,l)
 
   95      s                  +       wg(ij,l+1)  - wg(ij,l)
 
  101             do ij=ijb,ije-iip1+1,iip1
 
  102               zdp(ij)=zdp(ij+iip1-1)
 
  106                zdp(ij)= zdp(ij)*
dtvr/ massem(ij,l) 
 
  112             CALL minmax ( ije-ijb+1, zdp(ijb), zdpmin,zdpmax )
 
  114             IF(max(abs(zdpmin),abs(zdpmax)).GT.0.5) 
THEN 
  115             print*,
'WARNING DP/P l=',l,
'  MIN:',zdpmin,
 
  159      *                        pbarug,pbarvg,
dtvr,p,
 
  180         if(
iadv(iq) == 0) cycle 
 
  184         if(
iadv(iq).eq.10) 
THEN 
  192         else if(
iadv(iq).eq.14) 
then 
  200         else if(
iadv(iq).eq.12) 
then 
  201           stop 
'advtrac : schema non parallelise' 
  205            write(*,*) 
'WARNING horizontal dt=',dtbon,
'dtvr=',
 
  209             call advn(q(1,1,iq),massem,wg,pbarug,pbarvg,dtbon,1)
 
  211         else if(
iadv(iq).eq.13) 
then 
  212           stop 
'advtrac : schema non parallelise' 
  216            write(*,*) 
'WARNING horizontal dt=',dtbon,
'dtvr=',
 
  220             call advn(q(1,1,iq),massem,wg,pbarug,pbarvg,dtbon,2)
 
  225         else if (
iadv(iq).eq.20) 
then 
  226           stop 
'advtrac : schema non parallelise' 
  228             call pentes_ini (q(1,1,iq),wg,massem,pbarug,pbarvg,0)
 
  233         else if (
iadv(iq).eq.30) 
then 
  234           stop 
'advtrac : schema non parallelise' 
  238            write(*,*) 
'WARNING horizontal dt=',dtbon,
'dtvr=',
 
  241            call  prather(q(1,1,iq),wg,massem,pbarug,pbarvg,
 
  246        else if (
iadv(iq).eq.11.OR.(
iadv(iq).GE.16.AND.
 
  247      s                     
iadv(iq).LE.18)) 
then 
  249            stop 
'advtrac : schema non parallelise' 
  255            write(*,*) 
'WARNING horizontal dt=',dtbon,
'dtvr=',
 
  262             aaa=wg(ij,l)*
dtvr/massem(ij,l)
 
  263             cflmaxz=max(cflmaxz,aaa)
 
  264             bbb=-wg(ij,l)*
dtvr/massem(ij,l-1)
 
  265             cflmaxz=max(cflmaxz,bbb)
 
  268          if (cflmaxz.GE.1) 
then 
  269             write(*,*) 
'WARNING vertical',
'CFLmaxz=', cflmaxz
 
  276           call interpre(q(1,1,iq),qppm(1,1,iq),wg,fluxwppm,massem,
 
  277      s                 apppm,bpppm,massebx,masseby,pbarug,pbarvg,
 
  278      s                 unatppm,vnatppm,psppm)
 
  284                 if (
iadv(iq).eq.11) 
then 
  286                   call ppm3d(1,qppm(1,1,iq),
 
  288      s                       unatppm,vnatppm,fluxwppm,dtbon,2,2,2,1,
 
  295                else if (
iadv(iq).eq.16) 
then 
  297                   call ppm3d(1,qppm(1,1,iq),
 
  299      s                       unatppm,vnatppm,fluxwppm,dtbon,3,3,3,1,
 
  307                else if (
iadv(iq).eq.17) 
then 
  309                   call ppm3d(1,qppm(1,1,iq),
 
  311      s                       unatppm,vnatppm,fluxwppm,dtbon,4,4,4,1,
 
  319                 else if (
iadv(iq).eq.18) 
then 
  321                   call ppm3d(1,qppm(1,1,iq),
 
  323      s                       unatppm,vnatppm,fluxwppm,dtbon,5,5,5,1,
 
  359            finmasse(ij,l) =  p(ij,l) - p(ij,l+1) 
 
subroutine pentes_ini(q, w, masse, pbaru, pbarv, mode)
 
integer, save iapp_tracvl
 
subroutine check_isotopes(q, ijb, ije, err_msg)
 
subroutine interpost(q, qppm)
 
real, dimension(:,:), pointer, save finmasse
 
subroutine adaptdt(nadv, dtbon, n, pbaru, masse)
 
subroutine qminimum_loc(q, nqtot, deltap)
 
logical, save ok_iso_verif
 
character(len=10), save planet_type
 
!$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 advn(q, masse, w, pbaru, pbarv, pdt, mode)
 
subroutine advtrac_loc(pbarug, pbarvg, wg, p, massem, q, teta, pk)
 
!$Header llmm1 INTEGER ip1jm
 
subroutine minmax(imax, xi, zmin, zmax)
 
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 vlspltgen_loc(q, iadv, pente_max, masse, w, pbaru, pbarv,
 
!$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
 
!$Id mode_top_bound COMMON comconstr dtvr
 
c c zjulian c cym CALL iim cym klev iim
 
character(len=maxlen) function int2str(int)
 
integer, dimension(:), allocatable, save iadv