云底高度及边界层高度

https://link.springer.com/chapter/10.1007/978-94-009-3027-8_13

https://agupubs.onlinelibrary.wiley.com/doi/full/10.1002/grl.50836
先前的方法主要通过应用卫星导出的云光学深度和云顶温度获得云几何厚度(CGT),以及将云光学深度和云顶温度与CGT连接的一些额外经验假设[ Smith等,1993 ],然后从云顶高度(CTH)中减去CGT以进一步推导出CBH。和记[ 2002]提出了一种基于云光学厚度,云有效半径的CGT估算技术,以及液体含水量在整个垂直范围内保持恒定的假设。类似的方法也被用于光学薄的海洋层积云和早期的对流水云[ Bennartz,2007; MeerkÖtter和Zinner,2007 ]。除了基于可见光和红外云参数的CBH技术,Wilheit和Hutchison [ 2000]还提出了一种结合被动微波亮温和红外云顶温度来检索CBH的方法。但是,这些方法主要用于特殊云类型(例如,相对较薄,层状或对流云),并且仅限于白天应用。


边界层高度

位温法

首先通过探空资料确定边界层类型,具体方法根据以下公式计算 [2]

[图片上传失败...(image-6dc8a1-1551146241046)]

,CBL→不稳定层结

[图片上传失败...(image-eb428d-1551146241046)]

,SBL→稳定层结

其他,NRL→中性层结

其中,

[图片上传失败...(image-41dd4b-1551146241046)]

为位温,其下标表示从地面开始每层的位温,地表面为1;

[图片上传失败...(image-6cc15c-1551146241046)]

为温度随高度变化时,当出现逆温时,最小的位温增量,一般是在稳定层结顶部和稳定层结下部,在实际计算中,该值根据地面特征设置为较小正值。 [2]

罗氏法

Nozaki et al于1973年提出一种用地面气象资料估算混合层高度的方法,即罗氏法。该方法认为大气混合层是由热力湍流和机械湍流共同作用的结果,而且边界层上部大气运动状况与地面气象参数间存在相互联系和反馈作用,因此可以用地面气象资料来估算大气混合层高度。计算公式如下 [2]

[图片上传失败...(image-eecbe6-1551146241046)]

式中:

[图片上传失败...(image-f9b5df-1551146241046)]

为地面气温;

[图片上传失败...(image-70c801-1551146241046)]

为露点温度;

[图片上传失败...(image-5a6d1e-1551146241046)]

[图片上传失败...(image-876c7c-1551146241046)]

高度处的平均风速;

[图片上传失败...(image-80ddd2-1551146241045)]

为地面粗糙度;

[图片上传失败...(image-39d6bb-1551146241045)]

为柯氏参数;

[图片上传失败...(image-e128fd-1551146241045)]

为帕斯圭尔稳定度级别。 [2]

国标法

国标法是根据国家标准GB/T13201-91规定的方法进行计算。该方法认为近地层的热状况在相当程度上取决于地面加热和冷却程度。该方法综合考虑了热力和动力因素,把太阳高度角、云量和风速分级定量化,然后根据规定的当地具体参数,当大气稳定度为A、B、C和D时 [2]

[图片上传失败...(image-68e614-1551146241045)]

当大气稳定度为E和F时:

[图片上传失败...(image-6d81e4-1551146241045)]

[图片上传失败...(image-1eb647-1551146241045)]

式中:

[图片上传失败...(image-435831-1551146241045)]

为混合层厚度(E、F时指近地层厚度,单位:m);

[图片上传失败...(image-d5a34f-1551146241045)]

为10m高度处平均风速(单位:m·s-1),>6m·s-1时取6m·s-1

[图片上传失败...(image-3ac461-1551146241045)]

[图片上传失败...(image-295595-1551146241045)]

为混合层系数;

[图片上传失败...(image-fff358-1551146241045)]

为地转参数;

[图片上传失败...(image-3151a7-1551146241044)]

为地转角速度,取7.29×10-5rad·s-1

[图片上传失败...(image-b6659d-1551146241044)]

为地理纬度,单位:(°)。[2]

https://www.nrsc.gov.in/planetary_boundary

https://www.researchgate.net/post/How_to_estimate_PBL_Planetary_Boundary_Layer_height

https://journals.ametsoc.org/doi/10.1175/JTECH-D-14-00155.1

image.png

https://www.geosci-model-dev.net/7/2599/2014/gmd-7-2599-2014.pdf
PBLH is usually defined as the top of the inversion where the
potential temperature gradient (PTG) first becomes smaller
than a certain threshold γs (Bradley et al., 1993), which is
chosen to be 6.5 K 100 m−1
following Dai et al. (2011). This
is called the PTG method hereafter. For weakly stable boundary layers or type II SBLs, turbulence is generated from wind
shear due to relatively high wind speed and the PBLH is defined as the height of the low-level jet (LLJ) (Melgarejo and
Deardorff, 1974). This is called the LLJ method hereafter

Estimating climatological planetary boundary layer heights
from radiosonde observations: Comparison of methods and
uncertainty analysis


Re: Planetary Boundary Layer Height

  • Quote

Post by hdelattre » March 19th, 2014, 4:20 am

I’m interested to get Planetary Boundary Layer Height to a specific station located South of France (Latitude: 43.52N, Longitude: 4.64E) in July and August 2011. Following the previous discussions on the forum, I downloaded GDAS1 data and MeteoInfo software in order to extract PBLH data.

I can successfully perform One Dimension Plot but don’t manage to run the script “demo_pbl_station.py” to extract the data. It seems that the loop never ends and stays on July data. The control panel indicates in a continuous loop:

C:\Users\hdelattre\Documents\Doctorat\GlobalDataAssimilationSystem\gdas1.jul11.w1
0
C:\Users\hdelattre\Documents\Doctorat\GlobalDataAssimilationSystem\gdas1.jul11.w2
0
C:\Users\hdelattre\Documents\Doctorat\GlobalDataAssimilationSystem\gdas1.jul11.w3
0
C:\Users\hdelattre\Documents\Doctorat\GlobalDataAssimilationSystem\gdas1.jul11.w4
0
C:\Users\hdelattre\Documents\Doctorat\GlobalDataAssimilationSystem\gdas1.jul11.w5
0
C:\Users\hdelattre\Documents\Doctorat\GlobalDataAssimilationSystem\gdas1.jul11.w1
0
etc.

When I attempt to access to the software, it does not respond.

As it’s the first time I work with python, my problem is probably a coding issue. Below is the modified script I tried to run and here are the modifications I performed:

  • Line 18, dataDir value
  • Line 21, sTime value
  • Line 22, eTime value
  • Line 28, lon value
  • Line 29, lat value
  • Lines 40, 41, 55 and 57, I changed the indentation because the software returned the message “Syntax Error: unindent does not match any outer indentation level”

Can somebody help me ?

The modified script:

--------------------------------------------------------

Author: Yaqiang Wang

Date: 2012-11-29

Purpose: Derive station PBL data from ARL meteorological data

Note: Sample

-----------------------------------------------------------

import clr
from System import *
from System.Globalization import *
clr.AddReference("MeteoInfoC.dll")
from MeteoInfoC import *
from MeteoInfoC.Data import *
from MeteoInfoC.Data.MeteoData import *

import os.path

---- Set directories

dataDir = "C:\Users\hdelattre\Documents\Doctorat\GlobalDataAssimilationSystem\"

---- Set times - this case show seasonal variation

sTime = DateTime.Parse("2011-07-01")
eTime = DateTime.Parse("2011-08-31")
aTime = sTime

---- Create a MeteoDataInfo object

mydata = MeteoDataInfo()

---- Set lon/lat of the location

lon = 44.0
lat = 4.0

---- Set output text file

outpath = dataDir + 'PBL_data.txt'
outf = open(outpath, 'w')
outf.write('Time,PBLH')

---- Loop

i = 0
sum = 0.0
while aTime <= eTime:
for w in range(5):
inFile = dataDir + "gdas1." + aTime.ToString("MMM", CultureInfo("en-us")).ToLower() + aTime.ToString("yy") + ".w" + (w + 1).ToString()
print inFile
if os.path.isfile(inFile):
mydata.OpenARLData(inFile) #Open ARL data file
tNum = mydata.GetTimeNumber()
print tNum
for t in range(tNum):
dTime = mydata.GetTime(t)
print dTime.ToString("yyyy-MM-dd HH:00")
mydata.TimeIndex = t #Set time index
gData = mydata.GetGridData("PBLH") #Get PBLH grid data
pblh = gData.ToStation(lon, lat) #Intepolate PBLH data to the location
print 'PBLH = %10.2f' %pblh
outf.write(os.linesep)
outf.write(dTime.ToString("yyyyMMddHH") + ',%-7.2f ' %pblh)
sum += pblh
i += 1

aTime = aTime.AddMonths(1)

outf.close()

---- Calculate seasonal average PBLH value

ave = sum / i
print 'Average PBLH: %10.2f' %ave

print 'Finished!'

你可能感兴趣的:(云底高度及边界层高度)