Changeset 1047 for trunk/LMDZ.MARS/libf/aeronomars/perosat.F
- Timestamp:
- Sep 23, 2013, 9:56:47 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/aeronomars/perosat.F
r1036 r1047 1 SUBROUTINE perosat( ig, ptimestep,1 SUBROUTINE perosat(ngrid,nlayer,nq,ig, ptimestep, 2 2 $ pplev, pplay, zt, 3 3 & zy, pdqcloud, pdqscloud) 4 use tracer_mod, only: nqmx, igcm_h2o2, mmol 4 5 use tracer_mod, only: igcm_h2o2, mmol 6 use conc_mod, only: mmean 5 7 IMPLICIT NONE 6 8 … … 22 24 c ------------- 23 25 24 #include "dimensions.h"25 #include "dimphys.h"26 !#include "dimensions.h" 27 !#include "dimphys.h" 26 28 #include "comcstfi.h" 27 #include "chimiedata.h"29 !#include "chimiedata.h" 28 30 !#include "tracer.h" 29 #include "conc.h"31 !#include "conc.h" 30 32 c 31 33 c arguments: 32 34 c ---------- 33 35 36 integer,intent(in) :: ngrid ! number of atmospheric columns 37 integer,intent(in) :: nlayer ! number of atmospheric layers 38 integer,intent(in) :: nq ! number of tracers 34 39 INTEGER ig 35 40 REAL ptimestep ! pas de temps physique (s) 36 REAL pplev(ngrid mx,nlayermx+1)! pression aux inter-couches (Pa)37 REAL pplay(ngrid mx,nlayermx)! pression au milieu des couches (Pa)38 REAL zt(nlayer mx)! temperature au centre des couches (K)41 REAL pplev(ngrid,nlayer+1) ! pression aux inter-couches (Pa) 42 REAL pplay(ngrid,nlayer) ! pression au milieu des couches (Pa) 43 REAL zt(nlayer) ! temperature au centre des couches (K) 39 44 ! deja mise a jour dans calchim 40 45 41 46 c Traceurs : 42 real zy(nlayer mx,nqmx) ! traceur (fraction molaire sortie chimie)43 real pdqcloud(ngrid mx,nlayermx,nqmx) ! tendance condensation (kg/kg.s-1)44 real pdqscloud(ngrid mx,nqmx) ! flux en surface (kg.m-2.s-1)47 real zy(nlayer,nq) ! traceur (fraction molaire sortie chimie) 48 real pdqcloud(ngrid,nlayer,nq) ! tendance condensation (kg/kg.s-1) 49 real pdqscloud(ngrid,nq) ! flux en surface (kg.m-2.s-1) 45 50 46 51 c local: … … 49 54 INTEGER l,iq 50 55 51 REAL zysat(nlayer mx)52 REAL zynew(nlayer mx)! mole fraction after condensation56 REAL zysat(nlayer) 57 REAL zynew(nlayer) ! mole fraction after condensation 53 58 REAL psat_hg ! pression saturante (mm Hg) 54 59 REAL psat_hpa ! pression saturante (hPa) … … 57 62 c Pour diagnostique : 58 63 c ~~~~~~~~~~~~~~~~~ 59 REAL taucond(ngrid mx,nlayermx) ! taux de condensation (kg/kg/s-1)64 REAL taucond(ngrid,nlayer) ! taux de condensation (kg/kg/s-1) 60 65 61 66 c----------------------------------------------------------------------- … … 80 85 c domaine d'application: T < 220 K 81 86 c 82 do l = 1,nlayer mx87 do l = 1,nlayer 83 88 84 89 c print *,'ig=',ig,' l=',l,' igcm_h2o2=',igcm_h2o2 … … 103 108 c (Pour diagnostic seulement !) 104 109 c 105 do l=1, nlayer mx110 do l=1, nlayer 106 111 taucond(ig,l)=max((zy(l,igcm_h2o2)-zysat(l))*mmol(igcm_h2o2) 107 112 $ /(mmean(ig,l)*ptimestep),0.) … … 111 116 c ~~~~~~~~~~~~~~~~~~~~~~~~~~ 112 117 c 113 do l=nlayer mx,2, -1118 do l=nlayer,2, -1 114 119 if (zynew(l).gt.zysat(l)) then 115 120 zynew(l-1) = zynew(l-1) + (zynew(l) - zysat(l)) … … 135 140 c ~~~~~~~~~~~~~~~ 136 141 c 137 do l=1, nlayer mx142 do l=1, nlayer 138 143 pdqcloud(ig,l,igcm_h2o2)=(zynew(l) - zy(l,igcm_h2o2)) 139 144 & *mmol(igcm_h2o2)/(mmean(ig,l)*ptimestep)
Note: See TracChangeset
for help on using the changeset viewer.