没有合适的资源?快使用搜索试试~ 我知道了~
软件X 12(2020)100608原始软件出版物荷兰大气大涡模拟Gijs van den Oorda,Mr. Jasper,Fredrik Janssonb,Inti Pelupessya,Maria Chertovaa,乔安娜·H Grönqvistc,Pier Siebesmad,e,Daan Crommelinb,faNetherlands eScience Center,Science Park 140,1098XG Amsterdam,荷兰bCentrum Wiskunde Informatica,Science Park 123,1098XG Amsterdam,荷兰c物理学,科学与工程学院,芬兰图尔库20500 Porthansgatan 3d荷兰代尔夫特应用科学大学土木工程和地球科学中心,Stevinweg 1,2628CNeKoninklijk Nederlands Meteorologisch Instituut,Utrechtseweg 297,3731 GA De Bilt,荷兰far t i cl e i nf o文章历史记录:收到2019年收到修订版2020年8月31日接受2020年保留字:大气科学a b st ra ct我们提出了一个Python接口的荷兰大气大涡模拟(DALES),现有的Fortran代码的高分辨率,分辨率解决大气物理模拟该接口基于远程和并行函数调用的基础设施,并可以从Python上下文使用和控制DALES天气模拟。该接口是在OMUSE框架内设计的,并允许用户设置和控制模拟,应用扰动和强迫,收集和分析实时数据,而不向用户暴露设置和运行并行Fortran DALES代码的细节。另一个重要的可能性 是将 DALES模 拟耦 合 到 其他 模 型, 例 如 可以 提 供 真实 横 向边 界 条 件的 较 大尺 度 数 值天 气 预报(NWP)模型。最后,DALES的Python接口可以作为探索天气动力学的教育工具,我们用一个例子来演示这一点。©2020 Netherlands eScience Center.由Elsevier B.V.出版。这是CCBY许可证(http://creativecommons.org/licenses/by/4.0/)。代码元数据代码元数据描述请填写此栏当前代码版本1.1用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX_2019_279法律代码许可证Apache v2.0使用git的代码版本控制系统使用Fortran 90、Python 3、Singularity、NetCDF 4、NumPy、mpi4py、AMUSE、OMUSE、f90nml的软件代码语言、工具和服务编译要求,操作环境依赖性Linux,MPI,gcc-gfortran,make,cmake,python3-wheel如果可用开发人员文档/手册链接https://omuse.readthedocs.io/en/latest/问题支持电子邮件g. esciencecenter.nl1. 动机和意义自从数值天气预报出现以来,在大气科学领域出现了许多计算模式这就产生了一系列广泛的模型,每一个模型都基于量身定制的近似值和假设*通讯作者。电子邮件地址:g. esciencecenter.nl(G.v.d. Oord)。https://doi.org/10.1016/j.softx.2020.100608到一个典型的解决规模,以保持计算成本的限制。大气环流模式在10至100 km的分辨率范围内再现大尺度动力学,大涡模拟(LES)旨在解决对流云过程和大气湍流,这需要几十米的分辨率;因此,这些模式通常也假设有限的区域和垂直范围。小尺度LES与大尺度动力学的相互作用必须由外部源提供,通常是通过指定强迫2352-7110/©2020荷兰eScience中心。由Elsevier B. V.发布。这是CC BY许可证(http://creativecommons.org/licenses/by/4.0/)下的开放获取文章。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxG.v.d. Oord,F.扬松岛Pelupessy等人软件X 12(2020)1006082预测变量和地面边界条件的剖面图。实际上,这些参数必须存在于仿真期间读取的我们的荷兰大气大涡模拟(DALES)[1]的Python接口能够以编程的方式应用这些外部强迫和边界条件,因此可以在其时间步进期间操纵模型。与检索模型状态的接口一起,这使得将DALES耦合到外部代理成为可能一个这样的被证明的用例[2],以及我们构建DALES的Python接口的最初原因,是全局模型OpenIFS [4]的所谓的超参数化[3在该方案中,多个高分辨率DALES实例耦合到OpenIFS的网格列,并用于显式模拟云和对流过程,否则在全球模式中参数化然而,我们为接口层设想的应用程序要比这广泛得多,因为DALES的Python接口在任何旨在(i)驱动一个或多个具有时间依赖力的DALES模型的应用程序中都可能有用,其中可以完全控制时间插值,而无需为DALES编写冗长乏味的输入文本文件(ii)将DALES实例耦合到其他模型(使用Python inter-面)或(iii)从DALES中提取专门的诊断,而无需耗时的后处理或修改源代码。最后,我们指出,我们的Python接口DALES提供了一个交互式的经验,这是有价值的教育和探索性的使用DALES的天气模拟。该软件虽然是MPI并行Fortran代码,但由于底层OMUSE框架[5-7 ]提供了Python接口和计算DALES代码之间的通信,因此可 以 在 用户 友 好 的 Python 笔 记 本 环境 因 此 , Python 包 装 的DALES模型被公开为一个有状态的单线程Python对象,尽管状态分布在多个处理器上,但对其状态的访问是无缝的。然而,我们确实强调,我们的软件不会将DALES的物理过程和部分趋势作为单独的Python“构建块”公开,9];相反,我们提供了一个围绕整个模型的轻量级包装器,也许在未来的努力中,它可能会在过程级别上分解。2. 软件描述2.1. DALES模型DALES模拟大气的尺度足够精细,可以解决云和湍流过程。它是通过数值求解动量、质量、热量和湿度在直线三维网格上的守恒定律来实现的,假设沿水平轴的周期性边界条件,并使用快速傅立叶变换来求解泊松方程的气压波动。DALES使用二阶或更高阶的中心差分格式来模拟平流,并模拟亚网格尺度应力和具有涡动粘度的残差,涡动粘度是从湍流动能或Smagorinsky闭合计算的(参见例如,[10])。DALES考虑了多云大气条件的真实模拟所需的所有相关物理过程该程序采用自适应三阶时间步进方案。代码使用消息传递接口(MPI)并行化,其中域被划分为垂直板或矩形列。 戴尔也可以专用模块和顶层时间步进循环由对上述过程建模的物理例程序列组成这使得代码适合作为具有初始化、时间步进和数据访问例程的简单库公开。2.2. 软件构架我们到DALES的Python接口是使用Python框架OMUSE构建的它用一个名为Dales的Python类表示DALES,支持与用户或其他Python包装的模型进行交互。接口及其连接结构如图所示。1,最高级别的类Dales显示为粉红色。OMUSE允许Python中的远程过程调用到Fortran或C(或任何其他具有MPI或套接字绑定的语言)编写的程序OMUSE框架还提供了许多服务,使代码的部署尽可能方便,例如自动单元转换,面向对象数据对象中的模型封装,包装组件的内部状态模型这些特性都是在用户代码和模型程序之间的Python层中实现的,组件来正确配置他的Python类以使用此类服务。1OMUSE包包含一组预定义的Python接口,用于各种海洋和大气模型,为它们提供一致的接口,使它们能够耦合在一起或相互比较。我们在本文中介绍的软件增加了大气建模的曲目OMUSE,现在是官方的OMUSE光盘的一部分远 程 DALES 函 数 的 Python 定 义 被 收 集 在 一 个 名 为DalesInterface的Python类中。这些函数与Dales类中的高级函数一起构成了我们到DALES的Python接口。类DalesInterface中的接口函数在module dales_interface中各有一个Fortran对应函数。这些函数调用DALES原始源代码例程来处理初始化、获取和设置变量值以及时间步进。此外,DALES代码本身需要一组额外的route- tines,以便与Python接口。原始的DALES模型是作为一个独立的程序编写的,它根据从配置文件中读取的设置为了以编程方式控制DALES,我们增加了将DALES作为库的可能性,具有初始化,时间步进,检索预测字段,应用外部强制等功能。此功能集中在新的Fortran模块daleslib.f90 中,该模块包含在DALES源代码包中。这个DALES的库版本也可以独立于OMUSE或Python接口使用第二个修改是将MPI通信器句柄传递给DALES MPI初始化例程的选项;这对于OMUSE中的集成是必要的,其中MPI_COMM_WORLD被保留用于与主脚本通信,并且模型内部使用子通信器。编 译 时 , DALES 源 代 码 、 OMUSE 接 口 的 Fortran 部 分 和OMUSE 框 架 生 成 的 通 信 函 数 组 合 在 一 起 , 形 成 一 个 名 为dales_worker的二进制文件。当在Python中创建一个新的Dales对象时,OMUSE通过使用MPI_COMM_SPAWN启动所请求数量的dales_worker进程。工作进程由一个事件循环组成,轮询来自用户的指令通过将其平均状态推向轮廓而从外部从观测或其他大型模型中获得。DALES的Fortran代码以一种简单而全面的方式进行结构化,其中所有字段都全局存储在1例如,通过在OMUSE包装器中分配DALES数据的正确单元,我们允许框架自动将字段转换为用户代码请求的单元。G.v.d. Oord,F.扬松岛Pelupessy等人软件X 12(2020)1006083Fig. 1. DALES Python接口概述。Dales和DalesInterface类定义了Python接口。通过OMUSE,这些调用dales_interface中的Fortran函数。dales_interface模块和DALES源代码一起编译为一个名为dales_worker的二进制文件,表示为绿线。可以启动多个dales_worker进程进行并行模拟,其中每个进程本身可以是(MPI和/或OpenMP)并行的。这里显示了三个。代码. Python中Dales对象上的函数调用由OMUSE通过MPI进行序列化,并映射到远程工作进程中的Fortran例程这些函数调用用于获取和设置变量值以及对模型进行时间这种远程过程设计相对于使用cython [11]或f2py [12]的库包装器的优势在于,它从驱动程序脚本中隐藏了Dales的MPI并行特性。接口的哲学是允许用户将Dales视为Python中的黑盒,而不是暴露代码的所有复杂性,例如并行化和单个物理过程。由于OMUSE是如何构造的,Python进程并不像DALES那样在同一个内存空间中运行。这个特性的优点是可以同时运行多个独立的DALES实例,即使DALES内部状态存储为一组全局数组。此外,模型实例或模型子域可以在HPC环境中的不同集群节点上运行,通过MPI进行通信。一个明显的缺点是,通过Python接口请求的所有数据都将通过通信通道,如果频繁请求完整的3D网格数据,则会影响性能。在许多情况下,例如在上面提到的超参数化水平平均数。为此,该接口提供了专用函数来请求水平平均量,与Python端的字段平均值相比,减少了通信量。另一个性能优化是由OMUSE框架以函数调用的非阻塞(异步)版本的形式提供的这些可以用来规避Python全局解释器锁,例如让几个模型实例同时进行时间步长(参见附录B),或者在一个模型实例执行计算时与另一个模型实例交换数据该功能对于在运行例如以下操作的算法中获得良好性能至关重要:集成昂贵的模型或减轻数据传输到多模型设置中的主脚本的成本。2.3. 软件功能使用我们的Python接口运行DALES大气模拟包括设置模型,随时间推移进行演变,以及读取或写入模拟的当前状态创建顶级DalesPython对象后,用户可以将模型分辨率、物理时间无关参数和初始配置文件设置为Dales对象的属性。与时间无关的模型参数的名称和分组遵循DALES配置Fortran命名结构[13]。表A.2中列出的DalesPython对象中的输入和输出变量以网格形式组织,并根据它们在模型中的作用和维数对其进行分组(见表A.1)。DalesPython对象指导用户以具有物理意义的顺序例如,在可以施加任何垂直强迫廓线之前,有必要定义垂直离散化,并且在模式开始时间步进之后,也禁止改变静态属性,例如平流方案。为了最大限度地减少安装工作量,我们为基于CentOS的容器创建了 一 个 Singular- ity [14] 配 方 , 其 中 包 含 DALES , OMUSE 和Quixyter [15]。3. 示例:热气泡的DALES模拟作为使用DALES的Python接口的一个例子,我们展示了如何设置和运行一个简单的气泡实验。在实验中,随着时间的推移研究了热空气气泡的发展。所得到的图像序列如图所示。 2,暖空气初始化为接近地面的球体,然后以蘑菇云的外观向上上升。import numpy将matplotlib.pyplot导入为plt从omuse. community. dales. interface导入从omuse.units导入单位G.v.d. Oord,F.扬松岛Pelupessy等人软件X 12(2020)1006084图二. 温泡实验:空气温度的垂直截面。初始扰动在地平面上是球对称的。的时间系列显示暖空气上升,并形成与蘑菇云相似的漩涡,因为在柱体中部上升得更快。这种模拟,只需不到一分钟的时间,使用文本中显示的Python脚本执行。显示的温度是液态水的位温-这是DALES内部使用的温度量#创建Dales对象d=Dales(workdir ='daleswork',channel_type ='sockets',number_of_worker =1)#add redirection='none'查看模型日志消息#设置参数:域大小和分辨率,平流方案d.parameters_DOMAIN.itot = 32 #x中的网格像元数d.parameters_DOMAIN.jtot = 32 #y中的网格像元数d.parameters_DOMAIN.xsize = 6400| units.md.parameters_DOMAIN.ysize = 6400| units.md.parameters_QUALITY ICS.iadv_mom = 6 #六阶平流动量d.parameters_QUESTICS.iadv_thl = 5 #温度的五阶平流d.parameters_RUN.krand= 0#初始状态随机化关闭d.parameters_RUN.ladaptive = Trued.parameters_RUN.courant = 0.5d.parameters_RUN.peclet = 0.1d.parameters_PHYSICS. lcorrant=假d.parameters_PHYSICS.igrw_damp= 3#初始化所有速度为0和低规格湿度d.fields[:,:,:].U=0|单位.m /单位.sd.fields[:,:,:].V = 0 |单位.m /单位.sd.fields[:,:,:].W = 0|单位.m /单位.s d.字段[:,:,:].QT = 0.001|units.kg#添加温度扰动-在(cx,cy,cz)处的高斯气泡,半径rcx,cy,cz,r =3200|单位m,3200|单位.m,500|单位.m,500|单位.md.字段[:,:,:].THL +=(0.5|(1)numpy.exp(- ((d.fields.x-cx)**2+(d.fields.y-cy)**2+(d.fields.z-cz)**2)/(2*r**2))times = numpy.linspace(0,44,12)|units.minute快照的次数图,轴=plt.subplots(3,4,sharex=True,sharey=True)范围=(0,d.fields.y[0,-1,0].value_in(units.m),0,d.fields.z[0,0,-1].value_in(units.m))for t,ax in zip(times,axes.flatten()):printthl= d.fields[:,:,:].THLwthl=d.fields[:,:,:].W *thlG.v.d. Oord,F.扬松岛Pelupessy等人软件X 12(2020)1006085kwtmax= numpy.unravel_index(numpy.argmax(numpy. abs(wthl)),wthl.shape)[2]G.v.d. Oord,F.扬松岛Pelupessy等人软件X 12(2020)1006086zwtmax=d.profiles.z[kwtmax]print(“Height of themaximum heat fluxis at”,zwtmax)im = ax.imshow(thl[16,:,:].value_in(units.K).transpose(),extent=extent,origincolorplt.show)搜索结果4. 影响由于Python语言已经成为科学计算和数据分析中的主导脚本语言,运行实验和从Python中访问模型状态将被证明是高分辨率天气模型用户的宝贵资产,在本例中,特别是DALES软件的用户我们的Python接口支持设置高分辨率天气模拟等程序,以及实时将其推向观测到的大气剖面。通常,这些配置文件来自观测或大规模天气模型输出,使用Python接口可以使用户免去以适当格式编写DALES输入文件的繁琐工作。从这个意义上说,Python接口支持使用模型进行实验和快速原型化。Python接口还为DALES提供了一个适合教育目的的前端。在一台笔记本电脑中交互式地操作DALES的可能性有助于学生深入了解云的热力学、大气对流、表面过程和边界层湍流等主题。然而,库接口最重要的附加值是与其他模型的耦合.通过将DALES封装在OMUSE框架中,可以清晰地与其他环境软件集成。其中一个例子是第1节中提到的全球天气和气候模式OpenIFS的超参数化,其中多个高分辨率DALES实例耦合到全球模式的网格列OMUSE的耦合策略与OASIS [16]等更隐式和更少侵入性的方法相比的优势在于控制脚本设置的表达性。控制耦合和时间积分方案的方程可以是容易的。在Python代码中容易读取和修改,因为对象包含可识别的方法,并且数据传输通过具有熟悉名称的NumPy[17]数组进行,而不是更多通用的框架,如参考文献[1]的模型耦合工具包。[18 ]第10段。由于该接口使人们能够从DALES中提取定制的诊断,它可以用于为其他环境模型提供高分辨率例如,DALES中的降水通量可以耦合到细尺度水文模型,用于未来气候情景下的洪水风险评估。DALES的地面场和通量也可以耦合到先进的地面动力学模式,以研究现实的此外,DALES中的被动示踪剂可以耦合到外部大气化学或空气质量模型,而不需要将它们集成到DALES Fortran源代码中。最后,DALES的Python接口开辟了将DALES集成到其他复杂工作流中的可能性,例如在预测可再生能源产量时缩小外部强迫和提取所需的专用诊断,或者将机器学习算法训练到DALES输出中以构建快速代理模型。5. 结论我们已经为DALES程序建立了Fortran和Python接口,用于交互式高分辨率天气建模。该接口允许用户从DALES检索数据,并从脚本前端动态地操纵模型。该功能显著提高了DALES的可用性,并允许代码耦合到其他地球系统模型。其中一个经过验证的用例是全球天气模型OpenIFS的超级参数化,其中多个DALES实例耦合到全球天气模型的网格列。此外,该界面便于将模型用于教育目的或更复杂的工作流程。该接口是面向对象的,包含访问模型状态的熟悉方法,并允许创建多个DALES实例,完全控制可用硬件资源的占用。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作确认这 项 工 作 得 到 了 荷 兰 电 子 科 学 中 心 ( NLeSC ) 的 支 持 ,027.015.G03.附录A. 模型变量见表A.1和A.2。附录B. 异步请求DALES示例在本节中,我们将通过一个非常基本的示例来说明异步请求功能,该示例同时对两个DALES实例进行时间步进。要建立这个,应该创建一个请求池,并调用evolve_model方法的from amuse.rfi. basec_request import AsyncRequestPool#在这段代码中,我们假设有两个DalesPython类,#dales1和dales2已创建并初始化pool=AsyncRequestsPool()nexttime = dales1.get_model_time()+300| units.sreq1 = dales1.evolve_model.asynchronous(nexttime)pool.add_request(req1)req2= dales2.evolve_model.asynchronous(nexttime)pool.add_request(req2)req3= dales2.get_profile_THL.asynchronous()pool.add_request(req3)pool.waitall()#等待所有异步调用完成thlprof= req3.result()在上面的代码中,θ函数配置文件检索是以异步方式执行的。主脚本也是,但是池确保它仅在dales2的evolve完成之后发布。G.v.d. Oord,F.扬松岛Pelupessy等人软件X 12(2020)1006087表A.1DALES Python API中的数据网格组织运营商将。. . Rxxy表示体积 场的水平平均。网格名称描述读/写变量ρ,Au纯量均匀域rwps,nzmnxy,nzhnxy,nw θnxy,nwqnxysurface_fields水平场r lwp,twp,rwp,u,zm,zh,Tskin,qskin,Qs,Ql,Λ,wqt,w θ表A.2Python包装器中公开的DALES变量列表e引用[1] Heus T,van Heerwaarden CC,Jonker HJJ,Pier Siebesma A,Axelsen S,van den Dries K,Geoffroy O,Moene AF,Pino D,de Roode SR,Vilà-Guerau de Arellano J.荷兰大气大涡模拟(DALES)的公式化及其应用概述。Geosci Model Dev 2010;3 ( 2 ) : 415-44. http://dx.doi.org/10.5194/gmd-3-415-2010网站。[2] Jansson F,van den Oord G,Pelupessy I,Grönqvist JH,Siebesma AP,Crommelin D.使用大涡动模拟的全球环流模式中的区域超参数化。J AdvModel Earth Systhttp://dx.doi.org/10. 1029/2018MS001600。[3] Grabowski WW.用云分辨对流参数化(CRCP)耦合云过程和大尺度动力学。J Atmos Sci 2001;58 ( 9 ) : 978-97. http : //dx.doi.org/10.1175/1520-0469(2001)058<0978:CCPWTL>2.0.CO;2.[4] ECMWF OpenIFS数值天气预报模型发布周期40r1:描述和用例。2018年,准备提交给GMD。[5] Zwart SFP,McMillan SL,van Elteren A,Pelupessy FI,de Vries N.使用分层可 互换软件接口 的多物理场模 拟Comput Phys Comm 2013;184(3):456-68. http://dx.doi.org/10.1016/j.cpc的网站。2012.09.024。[6] [10]张文辉,张文辉.海洋学多用途软件环境(OMUSE v1.0)。Geosci ModelDev 2017;10(8):3167-87. http://dx.doi.org/10的网站。5194/gmd-10-3167-2017。[7] [10]张文辉,张文辉.创建一个可重复使用的跨学科多尺度和多物理框架:从AMUSE到OMUSE及以后。In:Rodrigues JMF,Cardoso PJS,MonteiroJ,Lam R,Krzhizhanovskaya VV,Lees MH,Dongarra JJ,Sloot PM ,editors. 计 算 科 学 - ICCS 2019 。 Cham : Springer InternationalPublishing;2019,p. 379比92[8]Monteiro JM,McGiant J,Caballero R.Sympl(v.0.4.0)和climt(v.0.15.3)一个灵活的框架,用于在Python中构建模型层次结构。Geosci Model Dev2018;11(9):3781-94. http://dx.doi.org/10.5194/gmd-11-3781-2018.[9] 罗斯湾CLIMLAB:一个用于交互式、面向过程的气候建模的Python工具包JOpenSourSoftw2018;3(24):659.http://dx.doi.org/10.21105/joss.00659.[10]放大图片作者:Schmidt H.从大涡模拟导出的对流边界层的相干结构。流体机械杂志1989;200:511[11][10] 张 文 辉 , 张 文 辉 . Cython : 两 个 世 界 中 最 好 的 。 Comput Sci Eng2011;13(2):31[12]Peterson P. F2py:连接Fortran和Python程序的工具。IntJ Comput SciEng2009;4(4):296[13]放 大 图 片 作 者 : Heus T , van Heerwaarden C , van der Dussen J ,Ouwersloot H. DALES 中 所 有namoptions 的 概 述 。 2019 , 访 问 : 2019-07-25https://github.com/dalesteam/dales/blob/master/utils/doc/input/Namoptions.pdf.[14] Kurtzer GM,Sochat V,Bauer MW. Singularity:用于计算移动性的科学容器。PlosOne2017;12(5):1-20.http://dx.doi.org/10.1371/journal.pone.0177459.[15]Kluyver T,Ragan-Kelley B,Pérez F,Granger B,Bussonnier M,FredericJ,KelleyK,Hamrick J,Grout J,Corlay S,et al. 可复制计算工作流的出版格式。在:定位和权力在学术出版:球员,代理商和广告:第20届国际会议电子出版的会议记录。Press;2016,p. 87岁[16] 瓦尔克湾OASIS3耦合器:欧洲气候建模社区软件。Geosci Model Dev2013;6(2):373-88. http://dx.doi.org/10.5194/gmd-6-373-2013。[17]Dubois PF,Hinsen K,Hugunin J. Numerical python. Comput Phys 1996;10(3):262-7. http://dx.doi.org/10.1063/1.4822400网站。[18] 放大图片作者:J.模型耦合工具包:一个新的用于构建多物理场并行耦合模型的for-trans 90工具包。国际高性能计算机应用杂志2005;19(3):277-92.http://dx.doi.org/10.1177/1094342005056115.领域三维预测变量W领域三维通用变量Ru,v,w,θ,q t↑↓↑ ↓,L S, L配置文件水平平均场Ru,v,w,θr,qt,qt,qi,qr,qsat,e,T,π,FS, ,P2C, ,Fdir,Fdifue_xxy,t_xxy,p,符号单元尺寸属性变量描述u,v,wm/ sxyzU、V、W东向、北向和向上气流速度θℓKxyzTHL液态水位温qtkg/ kgm/sxyzxyzQtE12总比湿湍流动能不Kxyz不空气温度qqiqrkg/ kgxyzQL、QL_ice、QR液体、冰和雨水含量lwp,twp,rwpkg/m2XYLWP、TWP、RWP液体、总和雨水路径qsatkg/ kgxyzQsat饱和湿度πm2/s2xyzPi修正气压ρkg/m2zRho空气密度pPazP静水压一m2/m2z一云分数廓线FS↑,↓W/ m2xyzr{s,l}w{u,d}上升流和下降流短波和长波辐射通量,LCS↑,↓W/ m2xyzr{s,l}w{u,d}cs晴空上升流和下降流短波和长波辐射通量,LFdir,F dif瓦/平方米xyzrswdir,rswdif下沉流短波直接辐射通量和漫射辐射通量T形皮肤KXYtskin皮肤温度q皮肤kg/ kgXYqskin皮肤湿度wθmK/ sXY重量表面θθ通量wqtm/ sXYWQ地表比湿通量Qs,Ql瓦/平方米XYH、LE感热和潜热通量ΛMXYOBL奥布霍夫长度uzm,zhm/s mxyxy乌斯塔尔z0m,摩擦速度动量和热量
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功