Changeset 4035 for trunk/LMDZ.MARS/libf/aeronomars/moldiff_MPF.F90
- Timestamp:
- Jan 30, 2026, 12:40:55 PM (4 weeks ago)
- File:
-
- 1 edited
-
trunk/LMDZ.MARS/libf/aeronomars/moldiff_MPF.F90 (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/aeronomars/moldiff_MPF.F90
r4021 r4035 8 8 9 9 subroutine moldiff_MPF(ngrid,nlayer,nq,pplay,pplev,pt,pdt,pq,pdq,& 10 ptimestep, zzlay,pdteuv,pdtconduc,pdqdiff,&10 ptimestep,pdqdiff,& 11 11 PhiEscH,PhiEscH2,PhiEscD) 12 12 … … 32 32 integer,intent(in) :: nlayer ! number of atmospheric layers 33 33 integer,intent(in) :: nq ! number of advected tracers 34 real ptimestep 35 real pplay(ngrid,nlayer) 36 real zzlay(ngrid,nlayer) 37 real pplev(ngrid,nlayer+1) 38 real pq(ngrid,nlayer,nq) 39 real pdq(ngrid,nlayer,nq) 40 real pt(ngrid,nlayer) 41 real pdt(ngrid,nlayer) 42 real pdteuv(ngrid,nlayer) 43 real pdtconduc(ngrid,nlayer) 44 real pdqdiff(ngrid,nlayer,nq) 45 real*8 PhiEscH,PhiEscH2,PhiEscD 34 real,intent(in) :: ptimestep ! physics time step (s) 35 real,intent(in) :: pplay(ngrid,nlayer) ! mid-layer pressure (Pa) 36 real,intent(in) :: pplev(ngrid,nlayer+1) ! pressure (Pa) at layer boundaries 37 real,intent(in) :: pq(ngrid,nlayer,nq) ! input tracer mmr (kg/kg_air) 38 real,intent(in) :: pdq(ngrid,nlayer,nq) ! input tendency on tracers (kg/kg_air/s) 39 real,intent(in) :: pt(ngrid,nlayer) ! input temperature (K) 40 real,intent(in) :: pdt(ngrid,nlayer) ! input tendency on temperature (K/s) 41 real,intent(out) :: pdqdiff(ngrid,nlayer,nq) ! tendency on tracers (kg/kg_air/s) 42 real*8,intent(out) :: PhiEscH ! escape flux of H (.../s) 43 real*8,intent(out) :: PhiEscH2 ! escape flux of H2 (.../s) 44 real*8,intent(out) :: PhiEscD ! escape flux of D (.../s) 46 45 ! 47 46 ! Local … … 271 270 ! & ,tt,ptimestep,nlayer,ig) 272 271 do l=1,nlayer 273 tt(l)=pt(ig,l)*1D0+(pdt(ig,l)*dble(ptimestep)+ & 274 pdtconduc(ig,l)*dble(ptimestep)+ & 275 pdteuv(ig,l)*dble(ptimestep)) 272 tt(l)=pt(ig,l)*1D0+(pdt(ig,l)*dble(ptimestep)) 276 273 ! to cach Nans... 277 274 if (tt(l).ne.tt(l)) then 278 275 print*,'Err TMNEW',ig,l,tt(l),pt(ig,l), & 279 pdt(ig,l), pdtconduc(ig,l),pdteuv(ig,l),dble(ptimestep)276 pdt(ig,l),dble(ptimestep) 280 277 endif 281 278 enddo ! of do l=1,nlayer … … 338 335 Print*,'Zmax too high',ig,zmax,zmin 339 336 do l=1,nlayer 340 print*,'old',zz(l),pt(ig,l),pdt euv(ig,l),pdq(ig,l,:)337 print*,'old',zz(l),pt(ig,l),pdt(ig,l),pdq(ig,l,:) 341 338 print*,'l',l,rhot(l),tt(l),pp(l),massemoy(l),qq(l,:) 342 339 enddo
Note: See TracChangeset
for help on using the changeset viewer.
