Changes in src/richardson.f90 [6ecb30a:c2162ce] in flexpart.git
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/richardson.f90
r6ecb30a rc2162ce 21 21 22 22 subroutine richardson(psurf,ust,ttlev,qvlev,ulev,vlev,nuvz, & 23 akz,bkz,hf,tt2,td2,h,wst,hmixplus ,metdata_format)23 akz,bkz,hf,tt2,td2,h,wst,hmixplus) 24 24 ! i i i i i i i 25 25 ! i i i i i o o o … … 41 41 ! Meteor. 81, 245-269. * 42 42 ! * 43 !****************************************************************************44 ! *45 43 ! Update: 1999-02-01 by G. Wotawa * 46 44 ! * … … 48 46 ! instead of first model level. * 49 47 ! New input variables tt2, td2 introduced. * 50 ! *51 ! CHANGE: 17/11/2005 Caroline Forster NCEP GFS version *52 ! *53 ! Unified ECMWF and GFS builds *54 ! Marian Harustak, 12.5.2017 *55 ! - Merged richardson and richardson_gfs into one routine using *56 ! if-then for meteo-type dependent code *57 48 ! * 58 49 !**************************************************************************** … … 64 55 ! tv virtual temperature * 65 56 ! wst convective velocity scale * 66 ! metdata_format format of metdata (ecmwf/gfs) *67 57 ! * 68 58 ! Constants: * … … 72 62 73 63 use par_mod 74 use class_gribfile75 64 76 65 implicit none 77 66 78 integer :: metdata_format 79 integer :: i,k,nuvz,iter,llev,loop_start 67 integer :: i,k,nuvz,iter 80 68 real :: tv,tvold,zref,z,zold,pint,pold,theta,thetaref,ri 81 69 real :: akz(nuvz),bkz(nuvz),ulev(nuvz),vlev(nuvz),hf,wst,tt2,td2,ew … … 88 76 excess=0.0 89 77 iter=0 90 91 if (metdata_format.eq.GRIBFILE_CENTRE_NCEP) then92 ! NCEP version: find first model level above ground93 !**************************************************94 95 llev = 096 do i=1,nuvz97 if (psurf.lt.akz(i)) llev=i98 end do99 llev = llev+1100 ! sec llev should not be 1!101 if (llev.eq.1) llev = 2102 if (llev.gt.nuvz) llev = nuvz-1103 ! NCEP version104 end if105 106 78 107 79 ! Compute virtual temperature and virtual potential temperature at … … 123 95 ! Integrate z up to one level above zt 124 96 !************************************* 125 if (metdata_format.eq.GRIBFILE_CENTRE_ECMWF) then 126 loop_start=2 127 else 128 loop_start=llev 129 end if 130 do k=loop_start,nuvz 97 98 do k=2,nuvz 131 99 pint=akz(k)+bkz(k)*psurf ! pressure on model layers 132 100 tv=ttlev(k)*(1.+0.608*qvlev(k))
Note: See TracChangeset
for help on using the changeset viewer.