Changes in src/obukhov.f90 [e200b7a:6ecb30a] in flexpart.git
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/obukhov.f90
re200b7a r6ecb30a 20 20 !********************************************************************** 21 21 22 real function obukhov(ps,tsurf,tdsurf,tlev,ustar,hf,akm,bkm )22 real function obukhov(ps,tsurf,tdsurf,tlev,ustar,hf,akm,bkm,plev,metdata_format) 23 23 24 24 !******************************************************************** … … 27 27 ! Date: 1994-06-27 * 28 28 ! * 29 ! Update: A. Stohl, 2000-09-25, avoid division by zero by*30 ! setting ustar to minimum value*29 ! This program calculates Obukhov scale height from surface * 30 ! meteorological data and sensible heat flux. * 31 31 ! * 32 32 !******************************************************************** 33 33 ! * 34 ! This program calculates Obukhov scale height from surface * 35 ! meteorological data and sensible heat flux. * 34 ! Update: A. Stohl, 2000-09-25, avoid division by zero by * 35 ! setting ustar to minimum value * 36 ! CHANGE: 17/11/2005 Caroline Forster NCEP GFS version * 37 ! * 38 ! Unified ECMWF and GFS builds * 39 ! Marian Harustak, 12.5.2017 * 40 ! - Merged obukhov and obukhov_gfs into one routine using * 41 ! if-then for meteo-type dependent code * 36 42 ! * 37 43 !******************************************************************** … … 47 53 ! akm ECMWF vertical discretization parameter * 48 54 ! bkm ECMWF vertical discretization parameter * 55 ! plev * 56 ! metdata_format format of metdata (ecmwf/gfs) * 49 57 ! * 50 58 !******************************************************************** 51 59 52 60 use par_mod 61 use class_gribfile 53 62 54 63 implicit none 55 64 65 integer :: metdata_format 56 66 real :: akm(nwzmax),bkm(nwzmax) 57 67 real :: ps,tsurf,tdsurf,tlev,ustar,hf,e,ew,tv,rhoa,plev … … 62 72 tv=tsurf*(1.+0.378*e/ps) ! virtual temperature 63 73 rhoa=ps/(r_air*tv) ! air density 74 if (metdata_format.eq.GRIBFILE_CENTRE_ECMWF) then 64 75 ak1=(akm(1)+akm(2))/2. 65 76 bk1=(bkm(1)+bkm(2))/2. 66 77 plev=ak1+bk1*ps ! Pressure level 1 78 end if 67 79 theta=tlev*(100000./plev)**(r_air/cpa) ! potential temperature 68 80 if (ustar.le.0.) ustar=1.e-8
Note: See TracChangeset
for help on using the changeset viewer.