动量粗糙度长度(Z0, Momentum Roughness Length)是WRF模式中描述地表粗糙程度的关键参数,直接影响地表风场模拟。根据地表类型的不同(如农田、城市、湖泊等),Z0值会有显著差异。
WRF模式中Z0值存储在多个位置:
位置 | 用途 | 适用模块 |
|---|---|---|
VEGPARM.TBL | 为NOAH和RUC陆面模式指定参数 | module_sf_noahlsm.F |
LANDUSE.TBL | 提供不同土地利用类型的参数 | module_sf_sfclay.F |
lake module | 湖泊模型中的Z0值 | module_lake.F |
适用场景:调整表面风模拟的敏感性
步骤:
VEGPARM.TBL文件Z0MIN:最小动量粗糙度Z0MAX:最大动量粗糙度示例:
INDEX CATEGORY ISLT ZSOIL DMAX ALBEDO ...
13 URBAN AND BLD 1 2.0 0.5 0.15 ...
... ... ... ... ... ... ...
Z0MIN 1.0
Z0MAX 2.0
适用场景:使用module_sf_sfclay.F或module_sf_sfclayrev.F时
步骤:
LANDUSE.TBL文件注意:此修改适用于直接在边界层方案中使用LANDUSE.TBL的情况,不影响NOAH或RUC陆面模式。
适用场景:调整湖泊表面的粗糙度长度
步骤:
module_lake.F)建议:对于湖泊相关的修改,直接修改lake module比修改VEGPARM.TBL更准确。
如果需要在模拟过程中输出表面粗糙度(ZNT)进行验证,需要修改WRF注册表。
Registry/Registry.EM_COMMON文件ZNT变量i3r(仅用于计算)改为i3rh(用于计算并输出)修改示例:
# 修改前
state real ZNT ij misc 1 i3r "ZNT AT PREVIOUS TIME STEP" "m"
# 修改后
state real ZNT ij misc 1 i3rh "ZNT AT PREVIOUS TIME STEP" "m"
重新编译WRF:
./clean -a
./configure
./compile em_real
如果现有土地利用类别的Z0值不符合研究需求,可以创建新的类别。
geo_em文件:geo_em.d0X.nc文件LU_INDEX变量的值,将部分区域分配给未使用的类别编号(如22)VEGPARM.TBL**:Z0MIN和Z0MAX值示例:
INDEX CATEGORY ISLT ZSOIL DMAX ALBEDO ...
22 CUSTOM URBAN 1 2.5 0.6 0.12 ...
Z0MIN 1.5
Z0MAX 3.0
met_em和wrfinput采用geo_em中的LU_INDEX会影响整个模拟流程,确保met_em和wrfinput文件正确采用新值