Changeset 162 for trunk/LMDZ.MARS/libf


Ignore:
Timestamp:
Jun 16, 2011, 5:06:05 PM (13 years ago)
Author:
aslmd
Message:

MESOSCALE: changements de la revision precedente (thermiques) impactes aux routines specifiques meso_physiq.F, meso_inifis.F et meso_callkeys.h. transparent pour l'utilisateur en attendant que les thermiques soient validees. compilation OK. il faudra ajouter des liens symboliques dans MESOSCALE/LMDZ.MARS une fois valide.

Location:
trunk/LMDZ.MARS/libf/phymars
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/meso_callkeys.h

    r52 r162  
    1212     &   ,callg2d,linear,rayleigh,tracer,active,doubleq,submicron       &
    1313     &   ,lifting,callddevil,scavenging,sedimentation,activice,water    &
    14      &   ,caps,photochem
     14     &   ,caps,photochem,calltherm,outptherm
    1515     
    1616      COMMON/callkeys_i/iradia,iaervar,iddist,ilwd,ilwb,ilwn,ncouche    &
     
    2323     &   ,callstats,calleofdump                                         &
    2424     &   ,callnirco2,callnlte,callthermos,callconduct,                  &
    25      &    calleuv,callmolvis,callmoldiff,thermochem,thermoswater
     25     &    calleuv,callmolvis,callmoldiff,thermochem,thermoswater        &
     26     &   ,calltherm,outptherm
    2627
    2728
  • trunk/LMDZ.MARS/libf/phymars/meso_inifis.F

    r86 r162  
    254254
    255255         write(*,*) "Directory where external input files are:"
     256         !datafile="/u/forget/WWW/datagcm/datafile"
    256257         ! NB: default 'datafile' is set in datafile.h
    257258         call getin("datadir",datafile)
     
    341342         write(*,*) " calldifv = ",calldifv
    342343
     344         write(*,*) "call thermals ?"
     345         calltherm=.false. ! default value
     346         call getin("calltherm",calltherm)
     347         write(*,*) " calltherm = ",calltherm
     348
     349         write(*,*) "output thermal diagnostics ?"
     350         outptherm=.false. ! default value
     351         call getin("outptherm",outptherm)
     352         write(*,*) " outptherm = ",outptherm
     353
    343354         write(*,*) "call convective adjustment ?"
    344355         calladj=.true. ! default value
     
    346357         write(*,*) " calladj = ",calladj
    347358         
     359         if (calltherm .and. (.not. calladj)) then
     360          print*,'Convadj has to be activated when using thermals'
     361          stop
     362         endif
    348363
    349364         write(*,*) "call CO2 condensation ?"
  • trunk/LMDZ.MARS/libf/phymars/meso_physiq.F

    r131 r162  
    246246c     Albedo of deposited surface ice
    247247      !!REAL, PARAMETER :: alb_surfice = 0.4 ! 0.45
    248       REAL, PARAMETER :: alb_surfice = 0.45 !!TESTS_JB
     248      REAL, PARAMETER :: alb_surfice = 0.45 !!TESTS_JB 
    249249
    250250      SAVE day_ini, icount
     
    337337      REAL ccn(ngridmx,nlayermx)   ! Cloud condensation nuclei
    338338                                   !   (particules kg-1)
    339       SAVE ccn  !! in case iradia != 1 
     339      SAVE ccn  !! in case iradia != 1
    340340      real rdust(ngridmx,nlayermx) ! dust geometric mean radius (m)
    341341      real qtot1,qtot2 ! total aerosol mass
     
    359359      REAL time_phys
    360360
     361c Variables from thermal
     362
     363      REAL lmax_th_out(ngrid)
     364      REAL pdu_th(ngrid,nlayer),pdv_th(ngrid,nlayer)
     365      REAL pdt_th(ngrid,nlayer),pdq_th(ngrid,nlayer,nq)
     366      INTEGER lmax_th(ngrid)
     367      REAL dtke_th(ngrid,nlayer+1)
     368      REAL dummycol(ngrid)
    361369c=======================================================================
    362370#ifdef MESOSCALE
     
    446454c ****WRF
    447455ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
    448 
    449456
    450457
     
    9951002      ENDIF ! of IF (calldifv)
    9961003
     1004c-----------------------------------------------------------------------
     1005c   TEST. Thermals :
     1006c HIGHLY EXPERIMENTAL, BEWARE !!
     1007c   -----------------------------
     1008 
     1009      if(calltherm) then
     1010 
     1011        call calltherm_interface(ngrid,nlayer,firstcall,
     1012     $ long,lati,zzlev,zzlay,
     1013     $ ptimestep,pu,pv,pt,pq,pdu,pdv,pdt,pdq,q2,
     1014     $ pplay,pplev,pphi,nq,zpopsk,
     1015     $ pdu_th,pdv_th,pdt_th,pdq_th,lmax_th,dtke_th)
     1016 
     1017         DO l=1,nlayer
     1018           DO ig=1,ngrid
     1019              pdu(ig,l)=pdu(ig,l)+pdu_th(ig,l)
     1020              pdv(ig,l)=pdv(ig,l)+pdv_th(ig,l)
     1021              pdt(ig,l)=pdt(ig,l)+pdt_th(ig,l)
     1022              q2(ig,l)=q2(ig,l)+dtke_th(ig,l)*ptimestep
     1023           ENDDO
     1024        ENDDO
     1025 
     1026        DO ig=1,ngrid
     1027          q2(ig,nlayer+1)=q2(ig,nlayer+1)+dtke_th(ig,nlayer+1)*ptimestep
     1028        ENDDO     
     1029   
     1030        if (tracer) then
     1031        DO iq=1,nq
     1032         DO l=1,nlayer
     1033           DO ig=1,ngrid
     1034             pdq(ig,l,iq)=pdq(ig,l,iq)+pdq_th(ig,l,iq)
     1035           ENDDO
     1036         ENDDO
     1037        ENDDO
     1038        endif
     1039
     1040        else   !of if calltherm
     1041        lmax_th(:)=0
     1042        end if
    9971043
    9981044c-----------------------------------------------------------------------
     
    10121058
    10131059         CALL convadj(ngrid,nlayer,nq,ptimestep,
    1014      $                pplay,pplev,zpopsk,
     1060     $                pplay,pplev,zpopsk,lmax_th,
    10151061     $                pu,pv,zh,pq,
    10161062     $                pdu,pdv,zdh,pdq,
    10171063     $                zduadj,zdvadj,zdhadj,
    10181064     $                zdqadj)
     1065
    10191066
    10201067         DO l=1,nlayer
     
    15021549c        which can later be used to make the statistic files of the run:
    15031550c        "stats")          only possible in 3D runs !
    1504 
    15051551         
    15061552         IF (callstats) THEN
Note: See TracChangeset for help on using the changeset viewer.