Index | Rundeck: P1SoM40 | Created: Thu May 9 03:30:17 EDT 2024 |
advanc | Module: SOCPBL | File: PBL.f |
Author : Ye Cheng/G. Hartke
Version:
Declaration:
subroutine advanc(pbl_args, coriol, utop, vtop, qtop, ztop, mdf, dpdxr, dpdyr, dpdxr0, dpdyr0, dtdt_gcm, utop_old, vtop_old, ilong, jlat, ihc, itype, kms, kqs, z0m, z0h, z0q, w2_1, ufluxs, vfluxs, tfluxs, qfluxs, u, v, t, q, e )
- coriol :
real*8, intent(in)
- 2.*omega*sin(latitude), the coriolis factor
- utop :
real*8, intent(in)
- x component of wind at the top of the layer
- vtop :
real*8, intent(in)
- y component of wind at the top of the layer
- ttop :
real*8
- virtual potential temperature at the top of the layer
- qtop :
real*8, intent(in)
- moisture at the top of the layer
- tgrnd0 :
real*8
- bulk virt. pot. temp. of the ground, at the roughness height
- tg :
real*8
- actual ground temp
- elhx :
real*8
- relevant latent heat for qg calc
- qgrnd0 :
real*8
- initial moisture at the ground, at the roughness height
- qgrnd_sat :
real*8
- saturated moisture at the ground, at the roughness height
- evap_max :
real*8
- maximal evaporation from unsaturated soil
- fr_sat :
real*8
- fraction of saturated soil
- ztop :
real*8, intent(in)
- height of the first model layer, approx 200 m if lm=9
- dtime :
real*8
- time step
- ilong :
integer, intent(in)
- longitude identifier
- jlat :
integer, intent(in)
- latitude identifier
- ihc :
integer, intent(in)
- Height class (for debugging printout)
- itype :
integer, intent(in)
- 1, ocean; 2, ocean ice; 3, land ice; 4, land
- psurf :
real*8
- surface pressure
- trhr0 :
real*8
- incident long wave radiation
- sss_loc :
real*8
- SSS at i,j
- dtdt_gcm :
real*8, intent(in)
- ttop tendency from processes other than turbulence (K/s)
- utop_old :
real*8, intent(in)
- utop after turb. diffusion during previous timestep
- vtop_old :
real*8, intent(in)
- vtop after turb. diffusion during previous timestep
- us :
real*8
- = x component of surface wind, positive eastward (m/s)
- vs :
real*8
- = y component of surface wind, positive northward (m/s)
- tsv :
real*8
- = virtual potential temperature of the surface (K)
- qsrf :
real*8
- surface specific moisture
- kms :
real*8, intent(out)
- = momentum transport coefficient at ZGS (m**2/s)
- khs :
real*8
- = heat transport coefficient at ZGS (m**2/s)
- kqs :
real*8, intent(out)
- surface value of kq
- ws :
real*8
- = magn of GCM surf wind - ocean curr + buoyancy + gust (m/s)
- ustar :
real*8
- = friction speed (square root of momentum flux) (m/s)
- cm :
real*8
- = drag coefficient (dimensionless surface momentum flux)
- ch :
real*8
- = Stanton number (dimensionless surface heat flux)
- cq :
real*8
- = Dalton number (dimensionless surface moisture flux)
- z0m :
real*8, intent(inout)
- = roughness length for momentum,
- z0h :
real*8, intent(out)
- = roughness length for temperature (m)
- z0q :
real*8, intent(out)
- = roughness length for water vapor (m)
- dskin :
real*8
- skin-bulk SST difference
- us :
real*8
- = x component of surface wind, positive eastward (m/s)
- vs :
real*8
- = y component of surface wind, positive northward (m/s)
- wsgcm :
real*8
- = magnitude of the GCM surface wind - ocean currents (m/s)
- wspdf :
real*8
- = mean surface wind calculated from PDF of wind speed (m/s)
- ws :
real*8
- = magn of GCM surf wind - ocean curr + buoyancy + gust (m/s)
- tsv :
real*8
- = virtual potential temperature of the surface (K)
- qs :
- = surface value of the specific moisture
- dbl :
real*8
- = boundary layer height (m)
- kms :
real*8, intent(out)
- = momentum transport coefficient at ZGS (m**2/s)
- khs :
real*8
- = heat transport coefficient at ZGS (m**2/s)
- khq :
- = moist transport coefficient at ZGS (m**2/s)
- ppbl :
- = pressure at DBL (mb)
- ustar :
real*8
- = friction speed (square root of momentum flux) (m/s)
- cm :
real*8
- = drag coefficient (dimensionless surface momentum flux)
- ch :
real*8
- = Stanton number (dimensionless surface heat flux)
- cq :
real*8
- = Dalton number (dimensionless surface moisture flux)
- z0m :
real*8, intent(inout)
- = roughness length for momentum,
- z0h :
real*8, intent(out)
- = roughness length for temperature (m)
- z0q :
real*8, intent(out)
- = roughness length for water vapor (m)
- ug :
real*8
- = eastward component of the geostrophic wind (m/s)
- vg :
real*8
- = northward component of the geostrophic wind (m/s)
- mdf :
real*8, intent(in)
- = downdraft mass flux (m/s)
- wint :
- = integrated surface wind speed over sgs wind distribution
- u :
real*8, dimension(n), intent(inout)
- local due east component of wind
- v :
real*8, dimension(n), intent(inout)
- local due north component of wind
- t :
real*8, dimension(n), intent(inout)
- local virtual potential temperature
- q :
real*8, dimension(n), intent(inout)
- local specific humidity (a passive scalar)
- e :
real*8, dimension(n-1), intent(inout)
- local turbulent kinetic energy
- n :
- number of the local, vertical grid points
- lscale :
real*8, dimension(n-1)
- turbulence length scale. computed on secondary grid.
- z :
real*8, dimension(n)
- altitude of primary vertical grid points
- zhat :
real*8, dimension(n-1)
- altitude of secondary vertical grid points
- dzh :
real*8, dimension(n-1)
- dz evaluated at zhat(i)
- dz :
real*8, dimension(n)
- dz evaluated at z(i)
- dxi :
- (z(n)-z(1))/(n-1)
- km :
real*8, dimension(n-1)
- turbulent momentum tranport coefficient.
- kh :
real*8, dimension(n-1)
- turbulent thermometric conductivity. computed
- ke :
real*8, dimension(n-1)
- transport coefficient for the turbulent kinetic energy.
- tv :
real*8, dimension(n)
- local virtual potential temperature
- tdns :
real*8
- downdraft temperature in K, (i,j)
- qdns :
real*8
- downdraft humidity in kg/kg, (i,j)
- pbl_args :
type(t_pbl_args), intent(inout)
- dpdxr :
real*8, intent(in)
- dpdyr :
real*8, intent(in)
- dpdxr0 :
real*8, intent(in)
- dpdyr0 :
real*8, intent(in)
- w2_1 :
real*8, intent(out)
- the vertical component of 2*e at GCM layer 1
- ufluxs :
real*8, intent(out)
- vfluxs :
real*8, intent(out)
- tfluxs :
real*8, intent(out)
- qfluxs :
real*8, intent(out)
- uocean :
real*8
- vocean :
real*8
- qsol :
real*8
- tprime :
real*8
- qprime :
real*8
- tr4 :
real*8
- ocean :
logical
- ddml_eq_1 :
logical
- gusti :
real*8
- ws0 :
real*8
- lmonin :
real*8
- qsat :
real*8
- deltasst :
real*8
- tgskin :
real*8
- qnet :
real*8
- ts :
real*8
- rhosrf :
real*8
- qgrnd :
real*8
- delt :
real*8
- tstar :
real*8
- qstar :
real*8
- ustar0 :
real*8
- test :
real*8
- wstar3 :
real*8
- wstar2h :
real*8
- tgrnd :
real*8
- ustar_oc :
real*8
- bgrid :
real*8
- an2 :
real*8
- as2 :
real*8
- dudz :
real*8
- dvdz :
real*8
- tau :
real*8
- tgr4skin :
real*8
- ws02 :
real*8
- dm :
real*8
- tol :
real*8, parameter
- Initial Value
= 1d-3
- w :
real*8, parameter
- Initial Value
= .5d0
- itmax :
integer, parameter
- Initial Value
= 5
- iprint :
integer, parameter
- Initial Value
= 0
- jprint :
integer, parameter
- Initial Value
= 41
- xi :
real*8, dimension(n)
- usave :
real*8, dimension(n)
- vsave :
real*8, dimension(n)
- tsave :
real*8, dimension(n)
- qsave :
real*8, dimension(n)
- usave1 :
real*8, dimension(n)
- vsave1 :
real*8, dimension(n)
- tsave1 :
real*8, dimension(n)
- qsave1 :
real*8, dimension(n)
- iter :
integer
- loop variable
- i :
integer
- loop variable
- xihat :
real*8, dimension(n-1)
- kq :
real*8, dimension(n-1)
- esave :
real*8, dimension(n-1)
- esave1 :
real*8, dimension(n-1)
- ierr :
integer
- gm :
real*8, dimension(n-1)
- gh :
real*8, dimension(n-1)
- lmonin_dry :
real*8
- tg1 :
real*8
- wstar :
- the convection-induced wind according to
- w2_1 :
real*8, intent(out)
- the vertical component of 2*e at GCM layer 1