Changeset 4189
- Timestamp:
- Dec 19, 2019, 11:18:28 PM (5 years ago)
- Location:
- dynamico_lmdz/simple_physics/phyparam
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
dynamico_lmdz/simple_physics/phyparam/param/iniphyparam.F
r4184 r4189 11 11 use comsaison 12 12 USE geometry_mod, ONLY : longitude,latitude,cell_area 13 USE phys_const 14 USE planet 15 13 USE phys_const, ONLY : pi,rad,g,r,cpp,rcp,dtphys,unjours,mugaz 14 USE planet, ONLY : coefir, coefvis 15 USE planet, ONLY : aphelie, periheli, peri_day, obliquit, year_day 16 USE vdif_mod, ONLY : lmixmin, emin_turb 16 17 IMPLICIT NONE 17 18 -
dynamico_lmdz/simple_physics/phyparam/param/paramdef.F
r4184 r4189 1 1 SUBROUTINE paramdef(ngrid,rnatur,albedo,inertie,emissiv,z0) 2 USE comgeomfi, ONLY : lati,sinlat,coslat 3 USE planet 2 USE comgeomfi, ONLY : lati,sinlat,coslat 3 USE vdif_mod, ONLY : lmixmin, emin_turb 4 USE planet, ONLY : coefir, coefvis 5 USE planet, ONLY : aphelie, periheli, obliquit, peri_day, year_day 4 6 IMPLICIT NONE 5 7 c----------------------------------------------------------------------- -
dynamico_lmdz/simple_physics/phyparam/physics/planet.F90
r4187 r4189 4 4 5 5 REAL :: aphelie, periheli, year_day, peri_day, obliquit, & 6 coefvis, coefir, & 7 lmixmin=100., emin_turb=1e-8 6 coefvis, coefir 8 7 9 8 END MODULE planet -
dynamico_lmdz/simple_physics/phyparam/physics/vdif_mod.F90
r4188 r4189 5 5 6 6 REAL, PARAMETER :: karman=0.4 7 8 PUBLIC :: vdif 7 REAL :: lmixmin=100., emin_turb=1e-8 8 9 PUBLIC :: vdif, lmixmin, emin_turb 9 10 10 11 CONTAINS 11 12 12 SUBROUTINE vdif_cd( ngrid,pz0,pg,pz,pu,pv,pts,ph,pcdv,pcdh)13 PURE SUBROUTINE vdif_cd( ngrid,pz0,pg,pz,pu,pv,pts,ph,pcdv,pcdh) 13 14 !======================================================================= 14 15 ! … … 25 26 ! ------ 26 27 ! ngrid size of the horizontal grid 28 ! pz0(ngrid) roughness length ? 27 29 ! pg gravity (m s -2) 28 30 ! pz(ngrid) height of the first atmospheric layer … … 46 48 ! ---------- 47 49 48 INTEGER ngrid,nlay 49 REAL pz0(ngrid) 50 REAL pg,pz(ngrid) 51 REAL pu(ngrid),pv(ngrid) 52 REAL pts(ngrid),ph(ngrid) 53 REAL pcdv(ngrid),pcdh(ngrid) 50 INTEGER, INTENT(IN) :: ngrid 51 REAL, INTENT(IN) :: pg, pz0(ngrid), pz(ngrid), & 52 pu(ngrid),pv(ngrid), pts(ngrid),ph(ngrid) 53 REAL, INTENT(OUT) :: pcdv(ngrid),pcdh(ngrid) 54 54 55 55 ! Local: … … 58 58 REAL, PARAMETER :: b=5., c=5., d=5., umin2=1e-12, & 59 59 c2b=2.*b, c3bc=3.*b*c, c3b=3.*b 60 61 60 INTEGER ig 62 63 REAL zu2,z1,zri,zcd0,zz 64 61 REAL zu2,z1,zri,zcd0,zz 65 62 66 63 !----------------------------------------------------------------------- … … 98 95 END SUBROUTINE vdif_cd 99 96 100 101 SUBROUTINE vdif_k(ngrid,nlay, & 102 ptimestep,pg,pzlev,pzlay,pz0,pu,pv,ph,pcdv,pkv,pkh) 97 PURE SUBROUTINE vdif_k(ngrid,nlay, & 98 ptimestep,pg,pzlev,pzlay,pz0,pu,pv,ph,pkv,pkh) 103 99 ! FIXME : pkh := pkv 104 100 USE planet 105 INTEGER ngrid,nlay 106 REAL ptimestep 107 REAL pzlay(ngrid,nlay),pzlev(ngrid,nlay+1) 108 REAL pz0(ngrid) 109 REAL pu(ngrid,nlay),pv(ngrid,nlay),ph(ngrid,nlay) 110 REAL pg,pcdv(ngrid) 111 REAL pkv(ngrid,nlay+1),pkh(ngrid,nlay+1) 101 INTEGER, INTENT(IN) :: ngrid,nlay 102 REAL, INTENT(IN) :: ptimestep, pg, & 103 pzlay(ngrid,nlay),pzlev(ngrid,nlay+1), pz0(ngrid), & 104 pu(ngrid,nlay),pv(ngrid,nlay),ph(ngrid,nlay) 105 REAL, INTENT(OUT) :: pkv(ngrid,nlay+1),pkh(ngrid,nlay+1) 112 106 113 107 INTEGER ig,il 114 108 REAL zdu,zdv,zri,zdvodz2,zdz,z1,lmix 115 109 116 print*,'LMIXMIN',lmixmin117 110 DO ig=1,ngrid 118 111 pkv(ig,1)=0. … … 285 278 ! 286 279 CALL vdif_cd( ngrid,pz0,g,pzlay,pu,pv,ptsrf,ph,zcdv,zcdh) 287 CALL vdif_k(ngrid,nlay,ptimestep,g,pzlev,pzlay,pz0,pu,pv,ph,z cdv,zkv,zkh)280 CALL vdif_k(ngrid,nlay,ptimestep,g,pzlev,pzlay,pz0,pu,pv,ph,zkv,zkh) 288 281 289 282 DO ig=1,ngrid … … 296 289 PRINT* 297 290 PRINT*,'Diagnostique diffusion verticale' 291 print*,'LMIXMIN',lmixmin 298 292 PRINT*,'coefficients Cd pour v et h' 299 293 PRINT*,zcdv(ngrid/2+1),zcdh(ngrid/2+1)
Note: See TracChangeset
for help on using the changeset viewer.