Changeset 1274 for trunk/LMDZ.MARS/libf/aeronomars
- Timestamp:
- May 21, 2014, 4:18:35 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/aeronomars/thermosphere.F
r1266 r1274 6 6 7 7 use conc_mod, only: rnew, cpnew 8 USE comcstfi_h 8 USE comcstfi_h, only: r, cpp 9 9 implicit none 10 10 … … 14 14 integer,intent(in) :: nlayer ! number of atmospheric layers 15 15 integer,intent(in) :: nq ! number of advected tracers 16 REAL pplay(ngrid,nlayer)17 realpplev(ngrid,nlayer+1)18 REAL zzlay(ngrid,nlayer)19 realzzlev(ngrid,nlayer+1)20 REAL pt(ngrid,nlayer)21 realzday22 REAL dist_sol23 realmu0(ngrid)24 realpq(ngrid,nlayer,nq)25 realptimestep26 realptime27 realtsurf(ngrid)28 REAL pu(ngrid,nlayer),pv(ngrid,nlayer)29 REAL pdt(ngrid,nlayer),pdq(ngrid,nlayer,nq)16 REAL,INTENT(in) :: pplay(ngrid,nlayer) 17 REAL,INTENT(in) :: pplev(ngrid,nlayer+1) 18 REAL,INTENT(in) :: zzlay(ngrid,nlayer) 19 REAL,INTENT(in) :: zzlev(ngrid,nlayer+1) 20 REAL,INTENT(in) :: pt(ngrid,nlayer) 21 REAL,INTENT(in) :: zday 22 REAL,INTENT(in) :: dist_sol 23 REAL,INTENT(in) :: mu0(ngrid) 24 REAL,INTENT(in) :: pq(ngrid,nlayer,nq) 25 REAL,INTENT(in) :: ptimestep 26 REAL,INTENT(in) :: ptime 27 REAL,INTENT(in) :: tsurf(ngrid) 28 REAL,INTENT(in) :: pu(ngrid,nlayer),pv(ngrid,nlayer) 29 REAL,INTENT(in) :: pdt(ngrid,nlayer),pdq(ngrid,nlayer,nq) 30 30 31 REAL zdteuv(ngrid,nlayer)32 REAL zdtconduc(ngrid,nlayer)33 REAL zdumolvis(ngrid,nlayer)34 REAL zdvmolvis(ngrid,nlayer)35 realzdqmoldiff(ngrid,nlayer,nq)31 REAL,INTENT(out) :: zdteuv(ngrid,nlayer) 32 REAL,INTENT(out) :: zdtconduc(ngrid,nlayer) 33 REAL,INTENT(out) :: zdumolvis(ngrid,nlayer) 34 REAL,INTENT(out) :: zdvmolvis(ngrid,nlayer) 35 REAL,INTENT(out) :: zdqmoldiff(ngrid,nlayer,nq) 36 36 37 INTEGER l,ig37 INTEGER :: l,ig 38 38 logical,save :: firstcall=.true. 39 39 … … 50 50 endif 51 51 52 ! initialize tendencies to zero in all cases 53 ! (tendencies are added later on, even if parametrization is not called) 54 zdteuv(1:ngrid,1:nlayer)=0 55 zdtconduc(1:ngrid,1:nlayer)=0 56 zdumolvis(1:ngrid,1:nlayer)=0 57 zdvmolvis(1:ngrid,1:nlayer)=0 58 zdqmoldiff(1:ngrid,1:nlayer,1:nq)=0 59 52 60 if (calleuv) then 53 zdteuv(1:ngrid,1:nlayer)=054 61 call euvheat(ngrid,nlayer,nq,pt,pdt,pplev,pplay,zzlay, 55 62 $ mu0,ptimestep,ptime,zday,pq,pdq,zdteuv) … … 57 64 58 65 if (callconduct) THEN 59 zdtconduc(1:ngrid,1:nlayer)=060 66 call conduction(ngrid,nlayer,ptimestep,pplay,pplev,pt,zdteuv, 61 67 $ tsurf,zzlev,zzlay,zdtconduc) … … 63 69 64 70 if (callmolvis) THEN 65 zdumolvis(1:ngrid,1:nlayer)=066 71 call molvis(ngrid,nlayer,ptimestep,pplay,pplev,pt, 67 72 & zdteuv,zdtconduc,pu, 68 73 $ tsurf,zzlev,zzlay,zdumolvis) 69 zdvmolvis(1:ngrid,1:nlayer)=070 74 call molvis(ngrid,nlayer,ptimestep,pplay,pplev,pt, 71 75 & zdteuv,zdtconduc,pv, … … 74 78 75 79 if (callmoldiff) THEN 76 zdqmoldiff(1:ngrid,1:nlayer,1:nq)=077 80 call moldiff_red(ngrid,nlayer,nq, 78 81 & pplay,pplev,pt,pdt,pq,pdq,ptimestep, … … 80 83 endif 81 84 82 return83 85 end 84 86
Note: See TracChangeset
for help on using the changeset viewer.