Ignore:
Timestamp:
Jan 30, 2026, 12:40:55 PM (4 weeks ago)
Author:
emillour
Message:

Mars PCM:
Cleanup and correction around thermospheric processes: ensure that the
tendencies from previous processes are included before being sent to
the next process (was not the case for conduction).
EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/aeronomars/molvis.F

    r3466 r4035  
    66
    77      SUBROUTINE molvis(ngrid,nlayer,ptimestep,
    8      &            pplay,pplev,pt,pdteuv,pdtconduc
    9      $           ,pvel,tsurf,zzlev,zzlay,zdvelmolvis)
     8     &            pplay,pplev,pt,pdt,
     9     $            pvel,tsurf,zzlev,zzlay,zdvelmolvis)
    1010     
    1111      use conc_mod, only: cpnew, Akknew, rnew
     
    3131      integer,intent(in) :: ngrid ! number of atmospheric columns
    3232      integer,intent(in) :: nlayer ! number of atmospheric layers
    33       REAL ptimestep
    34       REAL pplay(ngrid,nlayer)
    35       REAL pplev(ngrid,nlayer+1)
    36       REAL zzlay(ngrid,nlayer)
    37       REAL zzlev(ngrid,nlayer+1)
    38       real pt(ngrid,nlayer)
    39       real tsurf(ngrid)
    40       REAL pvel(ngrid,nlayer)
    41       REAL pdvel(ngrid,nlayer)
    42       real pdteuv(ngrid,nlayer)
    43       real pdtconduc(ngrid,nlayer)
     33      REAL,INTENT(IN) :: ptimestep ! physics time step (s)
     34      REAL,INTENT(IN) :: pplay(ngrid,nlayer)
     35      REAL,INTENT(IN) :: pplev(ngrid,nlayer+1)
     36      REAL,INTENT(IN) :: zzlay(ngrid,nlayer)
     37      REAL,INTENT(IN) :: zzlev(ngrid,nlayer+1)
     38      real,intent(in) :: pt(ngrid,nlayer) ! input temperature (K)
     39      real,intent(in) :: pdt(ngrid,nlayer) ! input tendency on temperature (K/s)
     40      real,intent(in) :: tsurf(ngrid) ! input ssurface temperature (K)
     41      REAL,INTENT(IN) :: pvel(ngrid,nlayer) ! wind velocity (m/s)
    4442
    45       real zdvelmolvis(ngrid,nlayer)
     43      real,intent(out) :: zdvelmolvis(ngrid,nlayer) ! tendency on velocity (m/s/s)
    4644
    4745c   local:
     
    9997      do ig=1,ngrid
    10098
    101         zt(1)=pt(ig,1)+(pdteuv(ig,1)+pdtconduc(ig,1))*ptimestep
     99        zt(1)=pt(ig,1)+(pdt(ig,1))*ptimestep
    102100        zvel(1)=pvel(ig,1)
    103101        zlay(1)=zzlay(ig,1)
     
    105103
    106104        do l=2,nz
    107           zt(l)=pt(ig,l)+(pdteuv(ig,l)+pdtconduc(ig,l))*ptimestep
     105          zt(l)=pt(ig,l)+(pdt(ig,l))*ptimestep
    108106          zvel(l)=pvel(ig,l)
    109107          zlay(l)=zzlay(ig,l)
Note: See TracChangeset for help on using the changeset viewer.