Ignore:
Timestamp:
May 3, 2012, 8:44:26 AM (13 years ago)
Author:
emillour
Message:

Mars GCM:

  • Update of molecular diffusion routines (diffusion.h, moldiff_red.F90 and moldiffcoeff_red.F): optimized to run faster and diffuse only specific tracers (if they are present).
  • bugs fixed in simpleclouds.F (extra arguments) and watercloud.F (wrong arguments in call to simpleclouds and rdust() should only be recomputed if dust_mass & dust_number tracers are available).

JYC+EM

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

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/simpleclouds.F

    r633 r645  
    11      subroutine simpleclouds(ngrid,nlay,ptimestep,
    2      &             pplev,pplay,pzlay,pt,pdt,
     2     &             pplay,pzlay,pt,pdt,
    33     &             pq,pdq,pdqcloud,pdtcloud,
    44     &             nq,tau,rice)
     
    4141      integer nq                 ! nombre de traceurs
    4242      REAL ptimestep             ! pas de temps physique (s)
    43       REAL pplev(ngrid,nlay+1)   ! pression aux inter-couches (Pa)
     43!      REAL pplev(ngrid,nlay+1)   ! pression aux inter-couches (Pa)
    4444      REAL pplay(ngrid,nlay)     ! pression au milieu des couches (Pa)
    4545      REAL pzlay(ngrid,nlay)     ! altitude at the middle of the layers
  • trunk/LMDZ.MARS/libf/phymars/watercloud.F

    r633 r645  
    210210     &             pplay,pzlay,pt,subpdt,
    211211     &             pq,subpdq,subpdqcloud,subpdtcloud,
    212      &             nq,tau)
     212     &             nq,tau,rice)
    213213        ENDIF
    214214
     
    360360        ENDDO
    361361       ELSE
    362         DO l=1,nlay
     362       
     363        if ((igcm_dust_mass.ne.0).and.(igcm_dust_number.ne.0)) then
     364         ! recompute rdust(), if we have dust_mass & dust_number tracers
     365         DO l=1,nlay
    363366          DO ig=1,ngrid
    364 
    365           rdust(ig,l)=
     367           rdust(ig,l)=
    366368     &      CBRT(r3n_q*(pq(ig,l,igcm_dust_mass)+
    367369     &           (pdq(ig,l,igcm_dust_mass)
     
    370372     &           (pdq(ig,l,igcm_dust_number)+
    371373     &            pdqcloud(ig,l,igcm_dust_number)*ptimestep)))
    372           rdust(ig,l)=min(max(rdust(ig,l),1.e-10),500.e-6)
    373 
     374           rdust(ig,l)=min(max(rdust(ig,l),1.e-10),500.e-6)
     375          ENDDO
     376         ENDDO
     377        endif ! of if ((igcm_dust_mass.ne.0).and.(igcm_dust_number.ne.0))
     378       
     379        DO l=1,nlay
     380          DO ig=1,ngrid
    374381            ccntyp =
    375382     &     1.3e+8*max(tau(ig,1),0.001)/0.1*exp(-pzlay(ig,l)/10000.)
Note: See TracChangeset for help on using the changeset viewer.