Changeset 1032 for trunk/LMDZ.MARS/libf/phymars/thermcell_dqup.F90
- Timestamp:
- Sep 6, 2013, 8:51:56 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/phymars/thermcell_dqup.F90
r1028 r1032 1 ! ---------------------------------------------------------------------2 ! Arnaud Colaitis 2011-01-053 ! --------------------------------------------------------------------4 1 subroutine thermcell_dqup(ngrid,nlayer,ptimestep,fm,entr,detr, & 5 2 & masse0,q_therm,dq_therm,ndt,zlmax) … … 16 13 ! 17 14 !======================================================================= 18 19 #include "dimensions.h" !contains global GCM grid dimension informations 20 #include "dimphys.h" !similar to dimensions.h, and based on it; includes 21 ! "ngridmx": number of horizontal grid points 22 ! "nlayermx": number of atmospheric layers 15 ! Arnaud Colaitis 2011-01-05 (modified 2011-2013) 16 ! SEE COMMENTS IN CALLTHERM_INTERFACE 17 !======================================================================= 23 18 24 19 ! ============================ INPUTS ============================ … … 26 21 INTEGER, INTENT(IN) :: ngrid,nlayer ! number of grid points and number of levels 27 22 REAL, INTENT(IN) :: ptimestep ! timestep (s) 28 REAL, INTENT(IN) :: fm(ngrid mx,nlayermx+1) ! upward mass flux29 REAL, INTENT(IN) :: entr(ngrid mx,nlayermx) ! entrainment mass flux30 REAL, INTENT(IN) :: detr(ngrid mx,nlayermx) ! detrainment mass flux31 REAL, INTENT(IN) :: q_therm(ngrid mx,nlayermx) ! initial profil of q32 REAL, INTENT(IN) :: masse0(ngrid mx,nlayermx) ! mass of cells23 REAL, INTENT(IN) :: fm(ngrid,nlayer+1) ! upward mass flux 24 REAL, INTENT(IN) :: entr(ngrid,nlayer) ! entrainment mass flux 25 REAL, INTENT(IN) :: detr(ngrid,nlayer) ! detrainment mass flux 26 REAL, INTENT(IN) :: q_therm(ngrid,nlayer) ! initial profil of q 27 REAL, INTENT(IN) :: masse0(ngrid,nlayer) ! mass of cells 33 28 INTEGER, INTENT(IN) :: ndt ! number of subtimesteps 34 29 INTEGER, INTENT(IN) :: zlmax ! index of maximum layer … … 36 31 ! ============================ OUTPUTS =========================== 37 32 38 REAL, INTENT(OUT) :: dq_therm(ngrid mx,nlayermx) ! dq/dt -> derivative33 REAL, INTENT(OUT) :: dq_therm(ngrid,nlayer) ! dq/dt -> derivative 39 34 40 35 ! ============================ LOCAL ============================= 41 36 42 REAL q(ngrid mx,nlayermx)43 REAL qa(ngrid mx,nlayermx)37 REAL q(ngrid,nlayer) 38 REAL qa(ngrid,nlayer) 44 39 INTEGER ig,k,i 45 REAL invflux0(ngrid mx,nlayermx)40 REAL invflux0(ngrid,nlayer) 46 41 REAL ztimestep 47 42 … … 65 60 66 61 do k=2,zlmax 67 do ig=1,ngrid mx62 do ig=1,ngrid 68 63 if ((fm(ig,k+1)+detr(ig,k))*ptimestep.gt. & 69 64 & 1.e-5*masse0(ig,k)) then
Note: See TracChangeset
for help on using the changeset viewer.