Index: trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/mars_lmd_new_storm/libf/phymars/meso_physiq.F
===================================================================
--- trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/mars_lmd_new_storm/libf/phymars/meso_physiq.F	(revision 168)
+++ trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/mars_lmd_new_storm/libf/phymars/meso_physiq.F	(revision 169)
@@ -50,5 +50,4 @@
 c      5. Convective adjustment
 c      6. Condensation and sublimation of carbon dioxide.
-
 c      7.  TRACERS :
 c       7a. water and water ice
@@ -58,11 +57,10 @@
 c      8. Contribution to tendencies due to thermosphere
 c      9. Surface and sub-surface temperature calculations
-c     10. dust bomb propagative perturbation
-c     11. Write outputs :
+c     10. Write outputs :
 c           - "startfi", "histfi" (if it's time)
 c           - Saving statistics (if "callstats = .true.")
 c           - Dumping eof (if "calleofdump = .true.")
 c           - Output any needed variables in "diagfi" 
-c     12. Diagnostic: mass conservation of tracers
+c     11. Diagnostic: mass conservation of tracers
 c 
 c   author: 
@@ -202,5 +200,5 @@
       LOGICAL flag_LES     !! pour LES avec isfflx!=0
       REAL qsurfice(ngridmx) !! pour diagnostics
-      REAL qsurfice_dust(ngridmx) !! pour diagnostics de poussière
+      REAL qsurfice_dust(ngridmx) !! pour diagnostics de poussiere
       real alpha,lay1 ! coefficients for building layers
       integer iloop
@@ -252,5 +250,5 @@
 c     Albedo of deposited surface ice
       !!REAL, PARAMETER :: alb_surfice = 0.4 ! 0.45
-      REAL, PARAMETER :: alb_surfice = 0.45 !!TESTS_JB
+      REAL, PARAMETER :: alb_surfice = 0.45 !!TESTS_JB 
 
       SAVE day_ini, icount
@@ -349,5 +347,5 @@
       REAL ccn(ngridmx,nlayermx)   ! Cloud condensation nuclei
                                    !   (particules kg-1)
-      SAVE ccn  !! in case iradia != 1 
+      SAVE ccn  !! in case iradia != 1
       real rdust(ngridmx,nlayermx) ! dust geometric mean radius (m)
       real qtot1,qtot2 ! total aerosol mass
@@ -372,4 +370,12 @@
       REAL time_phys
 
+c Variables from thermal
+
+      REAL lmax_th_out(ngrid)
+      REAL pdu_th(ngrid,nlayer),pdv_th(ngrid,nlayer)
+      REAL pdt_th(ngrid,nlayer),pdq_th(ngrid,nlayer,nq)
+      INTEGER lmax_th(ngrid)
+      REAL dtke_th(ngrid,nlayer+1)
+      REAL dummycol(ngrid)
 c=======================================================================
 #ifdef MESOSCALE
@@ -459,5 +465,4 @@
 c ****WRF
 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-
 
 
@@ -593,5 +598,4 @@
       ENDIF        !  (end of "if firstcall")
 
-
 c ---------------------------------------------------
 c 1.2   Initializations done at every physical timestep:
@@ -678,5 +682,5 @@
 
 
-      IF (callrad) THEN 
+      IF (callrad) THEN
          zdqnorm(:,:,:) = 0.          
          IF( MOD(icount-1,iradia).EQ.0) THEN
@@ -1009,9 +1013,8 @@
             DO l=1,nlayer
               DO ig=1,ngrid
-                 pdq(ig,l,iq)=pdq(ig,l,iq)+ zdqdif(ig,l,iq)
-             ENDDO
+                 pdq(ig,l,iq)=pdq(ig,l,iq)+ zdqdif(ig,l,iq) 
+              ENDDO
             ENDDO
            ENDDO
-
            DO iq=1, nq
               DO ig=1,ngrid
@@ -1019,5 +1022,5 @@
               ENDDO
            ENDDO
-!truc ajouté pour vérifier la conservation.
+!truc ajoute pour verifier la conservation.
               DO ig=1,ngrid
                  zdqsdif_diag(ig)=zdqsdif(ig,igcm_dust_mass)*3.6e9
@@ -1028,5 +1031,5 @@
          DO ig=1,ngrid
             zdtsurf(ig)=zdtsurf(ig)+
-     &      (fluxrad(ig)+fluxgrd(ig))/capcal(ig)
+     s      (fluxrad(ig)+fluxgrd(ig))/capcal(ig)
          ENDDO
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -1039,4 +1042,43 @@
       ENDIF ! of IF (calldifv)
 
+c-----------------------------------------------------------------------
+c   TEST. Thermals :
+c HIGHLY EXPERIMENTAL, BEWARE !!
+c   -----------------------------
+ 
+      if(calltherm) then
+ 
+        call calltherm_interface(ngrid,nlayer,firstcall,
+     $ long,lati,zzlev,zzlay,
+     $ ptimestep,pu,pv,pt,pq,pdu,pdv,pdt,pdq,q2,
+     $ pplay,pplev,pphi,nq,zpopsk,
+     $ pdu_th,pdv_th,pdt_th,pdq_th,lmax_th,dtke_th)
+ 
+         DO l=1,nlayer
+           DO ig=1,ngrid
+              pdu(ig,l)=pdu(ig,l)+pdu_th(ig,l)
+              pdv(ig,l)=pdv(ig,l)+pdv_th(ig,l)
+              pdt(ig,l)=pdt(ig,l)+pdt_th(ig,l)
+              q2(ig,l)=q2(ig,l)+dtke_th(ig,l)*ptimestep
+           ENDDO
+        ENDDO
+ 
+        DO ig=1,ngrid
+          q2(ig,nlayer+1)=q2(ig,nlayer+1)+dtke_th(ig,nlayer+1)*ptimestep
+        ENDDO      
+    
+        if (tracer) then
+        DO iq=1,nq
+         DO l=1,nlayer
+           DO ig=1,ngrid
+             pdq(ig,l,iq)=pdq(ig,l,iq)+pdq_th(ig,l,iq)
+           ENDDO
+         ENDDO
+        ENDDO
+        endif
+
+        else   !of if calltherm
+        lmax_th(:)=0
+        end if
 
 c-----------------------------------------------------------------------
@@ -1056,9 +1098,10 @@
 
          CALL convadj(ngrid,nlayer,nq,ptimestep,
-     $                pplay,pplev,zpopsk,
+     $                pplay,pplev,zpopsk,lmax_th,
      $                pu,pv,zh,pq,
      $                pdu,pdv,zdh,pdq,
      $                zduadj,zdvadj,zdhadj,
      $                zdqadj)
+
 
          DO l=1,nlayer
@@ -1104,8 +1147,4 @@
          DO ig=1,ngrid
             zdtsurf(ig) = zdtsurf(ig) + zdtsurfc(ig)
-!!!**WRF: newphys: ici la pression n'est plus mise a jour ds le GCM
-!!!**WRF: mais il faut retablir ca dans le cas du mesoscale ?
-!!!**WRF: ...non probablement OK
-!            ps(ig)=pplev(ig,1) + pdpsrf(ig)*ptimestep
          ENDDO
 
@@ -1135,8 +1174,4 @@
 c        ----------------------------------------
          IF (water) THEN
-
-c **WRF: new arguments here rnuclei,rice,nuice
-c  plus no more iqmin +igcm_h2o_vap replaces iq, what are the consequences?
-c  checks needed when tracers simulations
 
            call watercloud(ngrid,nlayer,ptimestep,
@@ -1260,10 +1295,8 @@
            zdqssed(1:ngrid,1:nq)=0
 
-c
-c **WRF: new arguments rnuclei, rice, need checks
-c
            call callsedim(ngrid,nlayer, ptimestep,
      &                pplev,zzlev, pt, rdust, rice,
      &                pq, pdq, zdqsed, zdqssed,nq)
+
            DO iq=1, nq
              DO l=1,nlayer
@@ -1283,5 +1316,4 @@
          END IF   ! of IF (sedimentation)
 
-
 c   7d. Updates
 c     ---------
@@ -1340,7 +1372,4 @@
       ENDDO
 
-ccc
-ccc  **WRF very specific to GCM
-ccc
 c  Prescribe a cold trap at south pole (except at high obliquity !!)
 c  Temperature at the surface is set there to be the temperature
@@ -1372,7 +1401,5 @@
 c              ALWAYS PLACE these lines after newcondens !!!
 c       -------------------------------------------------------------
-c
 c **WRF : OK avec le mesoscale, pas d'indices bizarres au pole
-c
          do ig=1,ngrid
            if ((co2ice(ig).eq.0).and.
@@ -1392,5 +1419,5 @@
       ENDIF
 c-----------------------------------------------------------
-c   10. Ajout tache de poussière ou 'dust bomb propagative perturbation'
+c   10. Ajout tache de poussiere ou 'dust bomb propagative perturbation'
 c------------------------------------------------------------
             DO l=1,nlayer
@@ -1421,5 +1448,5 @@
 
 c-----------------------------------------------------------------------
-c  11. Write output files
+c  10. Write output files
 c  ----------------------
 
@@ -1563,7 +1590,4 @@
            if (water) then
 
-!!
-!!***WRF: ok, des nouveaux trucs cools de la nouvelle physique
-!!
              call zerophys(ngrid,mtot)
              call zerophys(ngrid,icetot)
@@ -1606,5 +1630,4 @@
 c        which can later be used to make the statistic files of the run:
 c        "stats")          only possible in 3D runs !
-
          
          IF (callstats) THEN
@@ -1723,9 +1746,9 @@
       !
       !enddo
-      TAU_lay(:)=tau(:,1)!!c'est le tau qui évolue
-       wtsurf(1:ngrid) = tsurf(1:ngrid)    !! surface temperature
+      TAU_lay(:)=tau(:,1)!!c'est le tau qui evolue
+      wtsurf(1:ngrid) = tsurf(1:ngrid)    !! surface temperature
       wco2ice(1:ngrid) = co2ice(1:ngrid)  !! co2 ice
       mtot(1:ngrid) = mtot(1:ngrid) * 1.e6 / rho_ice
-c**********pour avoir qte poussière en surface****************
+c**********pour avoir qte poussiere en surface****************
       IF (igcm_dust_mass .ne. 0) THEN
         qsurfice_dust(1:ngrid) = qsurf(1:ngrid,igcm_dust_mass)
Index: trunk/MESOSCALE/NOTES.txt
===================================================================
--- trunk/MESOSCALE/NOTES.txt	(revision 168)
+++ trunk/MESOSCALE/NOTES.txt	(revision 169)
@@ -20,5 +20,5 @@
 
 
-il faudrait regler le prob du Registry dans le LES
+	il faudrait regler le prob du Registry dans le LES
 il y a un souci avec les variables liees a l'eau et d'autres
 
