当前位置: 首页 > news >正文

【WRF教程第3.6期】预处理系统 WPS 详解:以4.5版本为例

预处理系统 WPS 详解:以4.5版本为例

  • Geogrid/Metgrid 插值选项详解
    • 1. 插值方法的工作机制
    • 2. 插值方法的详细说明
      • 2.1 四点双线性插值(four_pt)
      • 2.2 十六点重叠抛物线插值(sixteen_pt)
      • 2.3 简单四点平均插值(average_4pt)
      • 2.4 加权四点平均插值(wt_average_4pt)
      • 2.5 简单十六点平均插值(average_16pt)
      • 2.6 加权十六点平均插值(wt_average_16pt)
      • 2.7 最近邻插值(nearest_neighbor)
      • 2.8 广度优先搜索插值(search)
      • 2.9 模型网格单元平均插值(average_gcell)
    • 3. 插值方法的选择与组合
  • 静态数据中的土地利用与土壤分类
    • 土地利用分类
    • 土壤分类
  • WPS输出字段(WPS Output Fields)
    • 1. Geogrid输出(Geogrid Output)
    • 2. Metgrid 输出(Metgrid Output)
  • 参考

Geogrid/Metgrid 插值选项详解

在 WRF/WPS 模型中,GEOGRID.TBL 和 METGRID.TBL 文件用于控制静态地理数据(geogrid)或气象数据(metgrid)的插值方式。用户可以为每个变量指定一种或多种插值方法,按优先级尝试这些方法,直至某种方法成功或列表耗尽。

以下是 WPS 中可用的插值方法的详细概述,包括它们的适用场景、插值原理和计算细节。

1. 插值方法的工作机制

多种插值方法组合使用:例如,interp_option=four_pt+average_4pt 表示优先尝试四点双线性插值(four_pt),如果数据中存在缺失值导致插值失败,则退回到简单四点平均插值(average_4pt)。

连续与分类数据的区别:

  • 连续数据(continuous):适用于具有连续数值的字段(如地形高度)。
  • 分类数据(categorical):适用于离散类别字段(如土地利用类型)。

2. 插值方法的详细说明

2.1 四点双线性插值(four_pt)

方法描述:要求目标点 (x,y) 周围有四个有效数据点(a11, a12, a21, a22),以实现插值。

计算步骤:
1、对 a11 和 a12 在 x 轴方向线性插值,得到中间值;
2、对 a21 和 a22 在 x 轴方向线性插值;
3、对上述两个中间值在 y 轴方向线性插值,最终得到 (x,y) 的插值值。

适用场景:适合无缺失值的连续数据。
在这里插入图片描述

2.2 十六点重叠抛物线插值(sixteen_pt)

方法描述:使用 (x,y) 周围的 16 个有效数据点,拟合抛物线进行插值。

计算步骤:
1、对每行的四组连续点(如 ai1, ai2, ai3 和 ai2, ai3, ai4)拟合两条抛物线;
2、计算目标 x 坐标上的中间值,并对两个抛物线的结果加权平均;
3、最后,对所有行的中间值沿 y 轴方向进行类似操作。

特点:比双线性插值更平滑,但需要更多的有效点。

适用场景:适合连续数据,精度高。

在这里插入图片描述

2.3 简单四点平均插值(average_4pt)

方法描述:使用 (x,y) 周围四个点中的一部分有效数据点,计算其简单平均值。
优点:容忍部分数据缺失。
适用场景:适合数据稀疏或有缺失值的情况。

2.4 加权四点平均插值(wt_average_4pt)

方法描述:对 (x,y) 周围的四个点进行加权平均,权重由点到目标点的距离决定:
在这里插入图片描述

其中,x_i 和 y_j 是数据点的坐标。
优点:权重更精准,适合部分缺失数据且需要较高精度的场景。

2.5 简单十六点平均插值(average_16pt)

方法描述:类似于 average_4pt,但使用 (x,y) 周围的 16 个点。
适用场景:适合处理更高分辨率数据的情况。

2.6 加权十六点平均插值(wt_average_16pt)

方法描述:类似于 wt_average_4pt,但使用 (x,y) 周围的 16 个点
权重公式如下:
在这里插入图片描述
特点:精度更高,但对计算资源要求较高。

2.7 最近邻插值(nearest_neighbor)

方法描述:

  • 对连续数据:直接选取离 (x,y) 最近的源数据点值。
  • 对分类数据:计算网格中每种类别的占比,并以占比最大的类别为结果。

适用场景:适合分类数据或低分辨率数据。

2.8 广度优先搜索插值(search)

方法描述:将数据点视为二维网格图,从 (x,y) 最近的源数据点开始广度优先搜索,找到最近的有效点,使用其值进行插值。

特点:可以解决稀疏数据的插值问题,找到最近的“有效邻居”。
适用场景:适合数据缺失严重的情况。

2.9 模型网格单元平均插值(average_gcell)

方法描述:适用于源数据分辨率高于模型网格分辨率的情况。对于每个模型网格单元,计算所有靠近其中心的源数据点的简单平均值。

特点:适合高分辨率数据的降采样。
适用场景:常用于地形等静态数据的插值。

在这里插入图片描述

3. 插值方法的选择与组合

组合使用插值方法:可以通过 + 符号组合多种方法。例如:

interp_option=four_pt+average_4pt

表示优先尝试 four_pt,失败时退回到 average_4pt。

插值选项示例:
1、对地形高度数据:

interp_option=four_pt+average_4pt

2、对土地利用分类数据:

interp_option=nearest_neighbor

3、对气象场降水数据:

interp_option=wt_average_16pt

静态数据中的土地利用与土壤分类

土地利用分类

静态数据中的默认土地利用分类使用的是 MODIS 分类,与 WRF 的 VEGPARM.TBL 和 LANDUSE.TBL 文件相匹配。
用户可以下载更高分辨率的静态数据(如 USGS 数据),并确保其分类与表格文件一致。

土壤分类

静态数据中的土壤分类与 WRF 的 SOILPARM.TBL 文件匹配,用户需确保所用数据集的分类编号与表格文件一致。

WPS输出字段(WPS Output Fields)

1. Geogrid输出(Geogrid Output)

以下是写入 geogrid 程序输出文件的全局属性和字段的列表。此列表是 ncdump 程序在典型的 geo_em.d01.nc 文件上运行时输出的精简版本。

> ncdump -h geo_em.d01.ncnetcdf geo_em.d01 {
dimensions:Time = UNLIMITED ; // (1 currently)DateStrLen = 19 ;west_east = 73 ;south_north = 60 ;south_north_stag = 61 ;west_east_stag = 74 ;land_cat = 21 ;soil_cat = 16 ;month = 12 ;num_urb_params = 132 ;
variables:char Times(Time, DateStrLen) ;float XLAT_M(Time, south_north, west_east) ;XLAT_M:units = "degrees latitude" ;XLAT_M:description = "Latitude on mass grid" ;float XLONG_M(Time, south_north, west_east) ;XLONG_M:units = "degrees longitude" ;XLONG_M:description = "Longitude on mass grid" ;float XLAT_V(Time, south_north_stag, west_east) ;XLAT_V:units = "degrees latitude" ;XLAT_V:description = "Latitude on V grid" ;float XLONG_V(Time, south_north_stag, west_east) ;XLONG_V:units = "degrees longitude" ;XLONG_V:description = "Longitude on V grid" ;float XLAT_U(Time, south_north, west_east_stag) ;XLAT_U:units = "degrees latitude" ;XLAT_U:description = "Latitude on U grid" ;float XLONG_U(Time, south_north, west_east_stag) ;XLONG_U:units = "degrees longitude" ;XLONG_U:description = "Longitude on U grid" ;float CLAT(Time, south_north, west_east) ;CLAT:units = "degrees latitude" ;CLAT:description = "Computational latitude on mass grid" ;float CLONG(Time, south_north, west_east) ;CLONG:units = "degrees longitude" ;CLONG:description = "Computational longitude on mass grid" ;float MAPFAC_M(Time, south_north, west_east) ;MAPFAC_M:units = "none" ;MAPFAC_M:description = "Mapfactor on mass grid" ;float MAPFAC_V(Time, south_north_stag, west_east) ;MAPFAC_V:units = "none" ;MAPFAC_V:description = "Mapfactor on V grid" ;float MAPFAC_U(Time, south_north, west_east_stag) ;MAPFAC_U:units = "none" ;MAPFAC_U:description = "Mapfactor on U grid" ;float MAPFAC_MX(Time, south_north, west_east) ;MAPFAC_MX:units = "none" ;MAPFAC_MX:description = "Mapfactor (x-dir) on mass grid" ;float MAPFAC_VX(Time, south_north_stag, west_east) ;MAPFAC_VX:units = "none" ;MAPFAC_VX:description = "Mapfactor (x-dir) on V grid" ;float MAPFAC_UX(Time, south_north, west_east_stag) ;MAPFAC_UX:units = "none" ;MAPFAC_UX:description = "Mapfactor (x-dir) on U grid" ;float MAPFAC_MY(Time, south_north, west_east) ;MAPFAC_MY:units = "none" ;MAPFAC_MY:description = "Mapfactor (y-dir) on mass grid" ;float MAPFAC_VY(Time, south_north_stag, west_east) ;MAPFAC_VY:units = "none" ;MAPFAC_VY:description = "Mapfactor (y-dir) on V grid" ;float MAPFAC_UY(Time, south_north, west_east_stag) ;MAPFAC_UY:units = "none" ;MAPFAC_UY:description = "Mapfactor (y-dir) on U grid" ;float E(Time, south_north, west_east) ;E:units = "-" ;E:description = "Coriolis E parameter" ;float F(Time, south_north, west_east) ;F:units = "-" ;F:description = "Coriolis F parameter" ;float SINALPHA(Time, south_north, west_east) ;SINALPHA:units = "none" ;SINALPHA:description = "Sine of rotation angle" ;float COSALPHA(Time, south_north, west_east) ;COSALPHA:units = "none" ;COSALPHA:description = "Cosine of rotation angle" ;float LANDMASK(Time, south_north, west_east) ;LANDMASK:units = "none" ;LANDMASK:description = "Landmask : 1=land, 0=water" ;float XLAT_C(Time, south_north_stag, west_east_stag) ;XLAT_C:units = "degrees latitude" ;XLAT_C:description = "Latitude at grid cell corners" ;float XLONG_C(Time, south_north_stag, west_east_stag) ;XLONG_C:units = "degrees longitude" ;XLONG_C:description = "Longitude at grid cell corners" ;float LANDUSEF(Time, land_cat, south_north, west_east) ;LANDUSEF:units = "category" ;LANDUSEF:description = "Noah-modified 21-category IGBP-MODIS landuse" ;float LU_INDEX(Time, south_north, west_east) ;LU_INDEX:units = "category" ;LU_INDEX:description = "Dominant category" ;float HGT_M(Time, south_north, west_east) ;HGT_M:units = "meters MSL" ;HGT_M:description = "GMTED2010 30-arc-second topography height" ;float SOILTEMP(Time, south_north, west_east) ;SOILTEMP:units = "Kelvin" ;SOILTEMP:description = "Annual mean deep soil temperature" ;float SOILCTOP(Time, soil_cat, south_north, west_east) ;SOILCTOP:units = "category" ;SOILCTOP:description = "16-category top-layer soil type" ;float SCT_DOM(Time, south_north, west_east) ;SCT_DOM:units = "category" ;SCT_DOM:description = "Dominant category" ;float SOILCBOT(Time, soil_cat, south_north, west_east) ;SOILCBOT:units = "category" ;SOILCBOT:description = "16-category top-layer soil type" ;float SCB_DOM(Time, south_north, west_east) ;SCB_DOM:units = "category" ;SCB_DOM:description = "Dominant category" ;float ALBEDO12M(Time, month, south_north, west_east) ;ALBEDO12M:units = "percent" ;ALBEDO12M:description = "Monthly surface albedo" ;float GREENFRAC(Time, month, south_north, west_east) ;GREENFRAC:units = "fraction" ;GREENFRAC:description = "MODIS FPAR" ;float LAI12M(Time, month, south_north, west_east) ;LAI12M:units = "m^2/m^2" ;LAI12M:description = "MODIS LAI" ;float SNOALB(Time, south_north, west_east) ;SNOALB:units = "percent" ;SNOALB:description = "Maximum snow albedo" ;float SLOPECAT(Time, south_north, west_east) ;SLOPECAT:units = "category" ;SLOPECAT:description = "Dominant category" ;float CON(Time, south_north, west_east) ;CON:units = "" ;CON:description = "Subgrid-scale orographic convexity" ;float VAR(Time, south_north, west_east) ;VAR:units = "" ;VAR:description = "Subgrid-scale orographic variance" ;float OA1(Time, south_north, west_east) ;OA1:units = "" ;OA1:description = "Subgrid-scale orographic asymmetry" ;float OA2(Time, south_north, west_east) ;OA2:units = "" ;OA2:description = "Subgrid-scale orographic asymmetry" ;float OA3(Time, south_north, west_east) ;OA3:units = "" ;OA3:description = "Subgrid-scale orographic asymmetry" ;float OA4(Time, south_north, west_east) ;OA4:units = "" ;OA4:description = "Subgrid-scale orographic asymmetry" ;float OL1(Time, south_north, west_east) ;OL1:units = "" ;OL1:description = "Subgrid-scale effective orographic length scale" ;float OL2(Time, south_north, west_east) ;OL2:units = "" ;OL2:description = "Subgrid-scale effective orographic length scale" ;float OL3(Time, south_north, west_east) ;OL3:units = "" ;OL3:description = "Subgrid-scale effective orographic length scale" ;float OL4(Time, south_north, west_east) ;OL4:units = "" ;OL4:description = "Subgrid-scale effective orographic length scale" ;float VAR_SSO(Time, south_north, west_east) ;VAR_SSO:units = "meters2 MSL" ;VAR_SSO:description = "Variance of Subgrid Scale Orography" ;float LAKE_DEPTH(Time, south_north, west_east) ;LAKE_DEPTH:units = "meters MSL" ;LAKE_DEPTH:description = "Topography height" ;float URB_PARAM(Time, num_urb_params, south_north, west_east) ;URB_PARAM:units = "dimensionless" ;URB_PARAM:description = "Urban_Parameters" ;// global attributes::TITLE = "OUTPUT FROM GEOGRID V4.0" ;:SIMULATION_START_DATE = "0000-00-00_00:00:00" ;:WEST-EAST_GRID_DIMENSION = 74 ;:SOUTH-NORTH_GRID_DIMENSION = 61 ;:BOTTOM-TOP_GRID_DIMENSION = 0 ;:WEST-EAST_PATCH_START_UNSTAG = 1 ;:WEST-EAST_PATCH_END_UNSTAG = 73 ;:WEST-EAST_PATCH_START_STAG = 1 ;:WEST-EAST_PATCH_END_STAG = 74 ;:SOUTH-NORTH_PATCH_START_UNSTAG = 1 ;:SOUTH-NORTH_PATCH_END_UNSTAG = 60 ;:SOUTH-NORTH_PATCH_START_STAG = 1 ;:SOUTH-NORTH_PATCH_END_STAG = 61 ;:GRIDTYPE = "C" ;:DX = 30000.f ;:DY = 30000.f ;:DYN_OPT = 2 ;:CEN_LAT = 34.83001f ;:CEN_LON = -81.03f ;:TRUELAT1 = 30.f ;:TRUELAT2 = 60.f ;:MOAD_CEN_LAT = 34.83001f ;:STAND_LON = -98.f ;:POLE_LAT = 90.f ;:POLE_LON = 0.f ;:corner_lats = 28.17127f, 44.36657f, 39.63231f, 24.61906f, 28.17842f, 44.37617f, \39.57812f, 24.57806f, 28.03771f, 44.50592f, 39.76032f, 24.49431f, 28.04485f, \44.51553f, 39.70599f, 24.45341f ;:corner_lons = -93.64893f, -92.39661f, -66.00165f, -72.64047f, -93.80048f, \-92.59155f, -65.83557f, -72.5033f, -93.65717f, -92.3829f, -65.9313f, \-72.68539f, -93.80841f, -92.57831f, -65.76495f, -72.54843f ;:MAP_PROJ = 1 ;:MMINLU = "MODIFIED_IGBP_MODIS_NOAH" ;:NUM_LAND_CAT = 21 ;:ISWATER = 17 ;:ISLAKE = 21 ;:ISICE = 15 ;:ISURBAN = 13 ;:ISOILWATER = 14 ;:grid_id = 1 ;:parent_id = 1 ;:i_parent_start = 1 ;:j_parent_start = 1 ;:i_parent_end = 74 ;:j_parent_end = 61 ;:parent_grid_ratio = 1 ;:FLAG_MF_XY = 1 ;:FLAG_LAI12M = 1 ;:FLAG_LAKE_DEPTH = 1 ;
}

全局属性 corner_lats 和 corner_lons 包含域角相对于不同网格交错(质量、u、v 和无交错)的纬度-经度位置。 corner_lats 和 corner_lons 数组中每个元素所指的位置总结在下表和图中。
在这里插入图片描述
在这里插入图片描述

2. Metgrid 输出(Metgrid Output)

除了地理网格输出文件(例如 geo_em.d01.nc)中的字段外,以下字段和全局属性也将出现在 metgrid 程序的典型输出文件中,使用默认的 METGRID.TBL 文件和来自 NCEP 的 GFS 模型的气象数据运行。

> ncdump met_em.d01.2016-04-07_00:00:00.ncnetcdf met_em.d01.2016-04-07_00\:00\:00 {
dimensions:
Time = UNLIMITED ; // (1 currently)DateStrLen = 19 ;west_east = 73 ;south_north = 60 ;num_metgrid_levels = 27 ;num_st_layers = 4 ;num_sm_layers = 4 ;south_north_stag = 61 ;west_east_stag = 74 ;z-dimension0132 = 132 ;z-dimension0012 = 12 ;z-dimension0016 = 16 ;z-dimension0021 = 21 ;
variables:char Times(Time, DateStrLen) ;float PRES(Time, num_metgrid_levels, south_north, west_east) ;PRES:units = "" ;PRES:description = "" ;float SOIL_LAYERS(Time, num_st_layers, south_north, west_east) ;SOIL_LAYERS:units = "" ;SOIL_LAYERS:description = "" ;float SM(Time, num_sm_layers, south_north, west_east) ;SM:units = "" ;SM:description = "" ;float ST(Time, num_st_layers, south_north, west_east) ;ST:units = "" ;ST:description = "" ;float GHT(Time, num_metgrid_levels, south_north, west_east) ;GHT:units = "m" ;GHT:description = "Height" ;float HGTTROP(Time, south_north, west_east) ;HGTTROP:units = "m" ;HGTTROP:description = "Height of tropopause" ;float TTROP(Time, south_north, west_east) ;TTROP:units = "K" ;TTROP:description = "Temperature at tropopause" ;float PTROPNN(Time, south_north, west_east) ;PTROPNN:units = "Pa" ;PTROPNN:description = "PTROP, used for nearest neighbor interp" ;float PTROP(Time, south_north, west_east) ;PTROP:units = "Pa" ;PTROP:description = "Pressure of tropopause" ;float VTROP(Time, south_north_stag, west_east) ;VTROP:units = "m s-1" ;VTROP:description = "V at tropopause" ;float UTROP(Time, south_north, west_east_stag) ;UTROP:units = "m s-1" ;UTROP:description = "U at tropopause" ;float HGTMAXW(Time, south_north, west_east) ;HGTMAXW:units = "m" ;HGTMAXW:description = "Height of max wind level" ;float TMAXW(Time, south_north, west_east) ;TMAXW:units = "K" ;TMAXW:description = "Temperature at max wind level" ;float PMAXWNN(Time, south_north, west_east) ;PMAXWNN:units = "Pa" ;PMAXWNN:description = "PMAXW, used for nearest neighbor interp" ;float PMAXW(Time, south_north, west_east) ;PMAXW:units = "Pa" ;PMAXW:description = "Pressure of max wind level" ;float VMAXW(Time, south_north_stag, west_east) ;VMAXW:units = "m s-1" ;VMAXW:description = "V at max wind" ;float UMAXW(Time, south_north, west_east_stag) ;UMAXW:units = "m s-1" ;UMAXW:description = "U at max wind" ;float SNOWH(Time, south_north, west_east) ;SNOWH:units = "m" ;SNOWH:description = "Physical Snow Depth" ;float SNOW(Time, south_north, west_east) ;SNOW:units = "kg m-2" ;SNOW:description = "Water equivalent snow depth" ;float SKINTEMP(Time, south_north, west_east) ;SKINTEMP:units = "K" ;SKINTEMP:description = "Skin temperature" ;float SOILHGT(Time, south_north, west_east) ;SOILHGT:units = "m" ;SOILHGT:description = "Terrain field of source analysis" ;float LANDSEA(Time, south_north, west_east) ;LANDSEA:units = "proprtn" ;LANDSEA:description = "Land/Sea flag (1=land, 0 or 2=sea)" ;float SEAICE(Time, south_north, west_east) ;SEAICE:units = "proprtn" ;SEAICE:description = "Ice flag" ;float ST100200(Time, south_north, west_east) ;ST100200:units = "K" ;ST100200:description = "T 100-200 cm below ground layer (Bottom)" ;float ST040100(Time, south_north, west_east) ;ST040100:units = "K" ;ST040100:description = "T 40-100 cm below ground layer (Upper)" ;float ST010040(Time, south_north, west_east) ;ST010040:units = "K" ;ST010040:description = "T 10-40 cm below ground layer (Upper)" ;float ST000010(Time, south_north, west_east) ;ST000010:units = "K" ;ST000010:description = "T 0-10 cm below ground layer (Upper)" ;float SM100200(Time, south_north, west_east) ;SM100200:units = "fraction" ;SM100200:description = "Soil Moist 100-200 cm below gr layer" ;float SM040100(Time, south_north, west_east) ;SM040100:units = "fraction" ;SM040100:description = "Soil Moist 40-100 cm below grn layer" ;float SM010040(Time, south_north, west_east) ;SM010040:units = "fraction" ;SM010040:description = "Soil Moist 10-40 cm below grn layer" ;float SM000010(Time, south_north, west_east) ;SM000010:units = "fraction" ;SM000010:description = "Soil Moist 0-10 cm below grn layer (Up)" ;float PSFC(Time, south_north, west_east) ;PSFC:units = "Pa" ;PSFC:description = "Surface Pressure" ;float RH(Time, num_metgrid_levels, south_north, west_east) ;RH:units = "%" ;RH:description = "Relative Humidity" ;float VV(Time, num_metgrid_levels, south_north_stag, west_east) ;VV:units = "m s-1" ;VV:description = "V" ;float UU(Time, num_metgrid_levels, south_north, west_east_stag) ;UU:units = "m s-1" ;UU:description = "U" ;float TT(Time, num_metgrid_levels, south_north, west_east) ;TT:units = "K" ;TT:description = "Temperature" ;float PMSL(Time, south_north, west_east) ;PMSL:units = "Pa" ;PMSL:description = "Sea-level Pressure" ;// global attributes::TITLE = "OUTPUT FROM METGRID V4.0" ;:SIMULATION_START_DATE = "2016-04-07_00:00:00" ;:WEST-EAST_GRID_DIMENSION = 74 ;:SOUTH-NORTH_GRID_DIMENSION = 61 ;:BOTTOM-TOP_GRID_DIMENSION = 27 ;:WEST-EAST_PATCH_START_UNSTAG = 1 ;:WEST-EAST_PATCH_END_UNSTAG = 73 ;:WEST-EAST_PATCH_START_STAG = 1 ;:WEST-EAST_PATCH_END_STAG = 74 ;:SOUTH-NORTH_PATCH_START_UNSTAG = 1 ;:SOUTH-NORTH_PATCH_END_UNSTAG = 60 ;:SOUTH-NORTH_PATCH_START_STAG = 1 ;:SOUTH-NORTH_PATCH_END_STAG = 61 ;:GRIDTYPE = "C" ;:DX = 30000.f ;:DY = 30000.f ;:DYN_OPT = 2 ;:CEN_LAT = 34.83001f ;:CEN_LON = -81.03f ;:TRUELAT1 = 30.f ;:TRUELAT2 = 60.f ;:MOAD_CEN_LAT = 34.83001f ;:STAND_LON = -98.f ;:POLE_LAT = 90.f ;:POLE_LON = 0.f ;:corner_lats = 28.17127f, 44.36657f, 39.63231f, 24.61906f, 28.17842f, \44.37617f, 39.57812f, 24.57806f, 28.03771f, 44.50592f, 39.76032f, 24.49431f, \28.04485f, 44.51553f, 39.70599f, 24.45341f ;:corner_lons = -93.64893f, -92.39661f, -66.00165f, -72.64047f, -93.80048f, \-92.59155f, -65.83557f, -72.5033f, -93.65717f, -92.3829f, -65.9313f, \-72.68539f, -93.80841f, -92.57831f, -65.76495f, -72.54843f ;:MAP_PROJ = 1 ;:MMINLU = "MODIFIED_IGBP_MODIS_NOAH" ;:NUM_LAND_CAT = 21 ;:ISWATER = 17 ;:ISLAKE = 21 ;:ISICE = 15 ;:ISURBAN = 13 ;:ISOILWATER = 14 ;:grid_id = 1 ;:parent_id = 1 ;:i_parent_start = 1 ;:j_parent_start = 1 ;:i_parent_end = 74 ;:j_parent_end = 61 ;:parent_grid_ratio = 1 ;:NUM_METGRID_SOIL_LEVELS = 4 ;:FLAG_METGRID = 1 ;:FLAG_EXCLUDED_MIDDLE = 0 ;:FLAG_SOIL_LAYERS = 1 ;:FLAG_SNOW = 1 ;:FLAG_PSFC = 1 ;:FLAG_SM000010 = 1 ;:FLAG_SM010040 = 1 ;:FLAG_SM040100 = 1 ;:FLAG_SM100200 = 1 ;:FLAG_ST000010 = 1 ;:FLAG_ST010040 = 1 ;:FLAG_ST040100 = 1 ;:FLAG_ST100200 = 1 ;:FLAG_SLP = 1 ;:FLAG_SNOWH = 1 ;:FLAG_SOILHGT = 1 ;:FLAG_UTROP = 1 ;:FLAG_VTROP = 1 ;:FLAG_TTROP = 1 ;:FLAG_PTROP = 1 ;:FLAG_PTROPNN = 1 ;:FLAG_HGTTROP = 1 ;:FLAG_UMAXW = 1 ;:FLAG_VMAXW = 1 ;:FLAG_TMAXW = 1 ;:FLAG_PMAXW = 1 ;:FLAG_PMAXWNN = 1 ;:FLAG_HGTMAXW = 1 ;:FLAG_MF_XY = 1 ;:FLAG_LAI12M = 1 ;:FLAG_LAKE_DEPTH = 1 ;
}

参考

相关文章:

【WRF教程第3.6期】预处理系统 WPS 详解:以4.5版本为例

预处理系统 WPS 详解:以4.5版本为例 Geogrid/Metgrid 插值选项详解1. 插值方法的工作机制2. 插值方法的详细说明2.1 四点双线性插值(four_pt)2.2 十六点重叠抛物线插值(sixteen_pt)2.3 简单四点平均插值(av…...

linux 安装redis

下载地址 通过网盘分享的文件:redis-7.2.3.tar.gz 链接: https://pan.baidu.com/s/1KjGJB1IRIr9ehGRKBLgp4w?pwd0012 提取码: 0012 解压 tar -zxvf redis-7.2.3.tar.gz mv redis-7.2.3 /usr/local/ cd /usr/local/redis-7.2.3 安装 make install 修改配置文件 /搜索…...

Linux - rpm yum 工具及命令总结

RPM 概述 定义:RPM(RedHat Package Manager),是一个功能强大的软件包管理系统,用于在 Linux 系统中安装、升级和管理软件包采用系统:主要用于基于 RPM 的 Linux 发行版,如 Red Hat、CentOS、S…...

电子应用设计方案-58:智能沙发系统方案设计

智能沙发系统方案设计 一、引言 智能沙发作为一种融合了舒适与科技的家居产品,旨在为用户提供更加便捷、舒适和个性化的体验。本方案将详细介绍智能沙发系统的设计思路和功能实现。 二、系统概述 1. 系统目标 - 实现多种舒适的姿势调节,满足不同用户的…...

复习打卡Linux篇

目录 1. Linux常用操作命令 2. vim编辑器 3. 用户权限 4. Linux系统信息查看 1. Linux常用操作命令 基础操作: 命令说明history查看历史执行命令ls查看指定目录下内容ls -a查看所有文件 包括隐藏文件ls -l ll查看文件详细信息,包括权限类型时间大小…...

在Ubuntu 22.04 LTS中使用PyTorch深度学习框架并调用多GPU时遇到indexSelectLargeIndex相关的断言失败【笔记】

在Ubuntu 22.04 LTS系统中,已安装配置好CUDA 12.4、cuDNN 9.1.1以及PyTorch环境 export CUDA_VISIBLE_DEVICES0,1,2,3,4,5,6,7 在PyTorch深度学习框架训练调用多GPU时,提示 indexSelectLargeIndex: block: [x, 0, 0], thread: [x, 0, 0] Assertion src…...

qt 类中的run线程

在Qt中,QThread类的run()方法是线程的执行入口,它是由QThread内部自动调用的,而不是用户直接调用。 详细解释: QThread类: QThread是Qt的线程类,提供了用于多线程操作的接口。我们可以创建QThread对象并将…...

Vue3父子组件传属性和方法调用Demo

Vue3父子组件传属性和方法调用Demo 说明目录父组件给子组件传值和方法 父组件给子组件传值-使用defineProps接受父组件属性值父组件给子组件传值-使用defineModel接受父组件v-model值 当子组件只需要接收父组件一个v-model值时,写法1如下:子组件接收单个v-model写法2如下:当子…...

aac怎么转为mp3?操作起来很简单的几种aac转mp3的方法

aac怎么转为mp3?aac格式的优势主要体现在音质和压缩效率,尤其是在较低比特率下,能够实现更清晰的音质,这也是为何许多现代设备和应用偏爱aac格式的原因之一。特别是在手机、平板以及智能音响等设备中,aac文件几乎可以无…...

结合mybatis-plus实现Function获取java实体类的属性名

1、工具类 package com.yh.tunnel.util;import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import com.google.common.base.CaseFormat; import com.yh.tunnel.domain.Plan;import java.lang.invoke.SerializedLambda; import java.lang.reflect.Field; import…...

vue 响应式数据原理

发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。 Vue 的响应式数据原理是其核心功能之一,它使得 Vue 应用能够自动响应数据的变化,并在数据变化时自动更新…...

android 计算CRC

<?php /** * 将一个字符按比特位进行反转 eg: 65 (01000001) --> 130(10000010) * param $char * return $char */ function reverseChar($char) { $byte ord($char); $tmp 0; for ($i 0; $i < 8; $i) { if ($byte & (1 << $i)…...

Linux tinyproxy 使用教程

简介 Tinyproxy 是一款轻量级 HTTP 代理服务器&#xff0c;使用最少的资源&#xff0c;非常适合硬件有限的系统。尽管体积小&#xff0c;但它可以处理大量流量&#xff0c;而不会出现明显的性能问题。旨在处理简单的代理任务。它通常用于路由网络流量以保护隐私、缓存或访问受…...

局部规划器设计思路

本文参考知乎文章:如何设计局部规划器 0 引言 局部规划器设计通用方法:生成路径——>寻找最优路径——>后处理优化 1 路径生成 四个问题: ① 如果全局路径中突然出现动态障碍物 ② 如果全局路径非常靠近障碍物 ③ 如果全局路径不容易跟踪(B样条平滑) ④ 如果全局…...

数字图像处理技术期末复习

1. 已知图像的分辨率和深度&#xff0c;怎么求图像的存储空间&#xff08;位&#xff0c;字节&#xff0c;KB&#xff09;&#xff1f; 题目&#xff1a; 已知图像的分辨率和深度&#xff0c;怎么求图像的存储空间&#xff08;位&#xff0c;字节&#xff0c;KB&#xff09;&a…...

UITableView显示数据,增加数据,删除数据及移动数据行

UITableView和html中的table有点类似的&#xff0c;也有header和footer和body&#xff0c;row。下面给出一个demo // // TableViewTestViewController.m // iosstudy2024 // // Created by figo on 2024/12/9. //#import "TableViewTestViewController.h"interfa…...

金智塔科技喜获CCF中国数字金融大会 GraphRAG竞赛二等奖

12月7日&#xff0c;CCF 首届中国数字金融大会GraphRAG竞赛在上海落下帷幕&#xff0c;金智塔科技&#xff08;团队名称&#xff1a;塔塔向前冲&#xff09;从众多参赛队伍中脱颖而出&#xff0c;喜获二等奖。 CCF 首届中国数字金融大会由中国计算机学会主办&#xff0c;中国计…...

方案解读:数字化扩展中如何提升多云应用安全能力?

越来越多企业选择上云&#xff0c;拥抱数字化转型。数据显示&#xff0c;在过去一年中&#xff0c;将应用托管至六种不同环境中的企业比例已经翻倍&#xff0c;达到令人震惊的38%。与此同时&#xff0c;应用和流经其的关键数据已成为日益复杂的网络攻击的首选目标&#xff0c;且…...

“年轻科技旗舰”爱玛A7 Plus正式发布,全国售价4999元

12月18日&#xff0c;备受行业瞩目的“A7上场 一路超神”爱玛旗舰新品发布会在爱玛台州智造工厂盛大举行。 作为年末“压轴产品”的“两轮豪华轿跑”爱玛A7Plus重磅上场&#xff0c;以“快、稳、帅、炫、智、爽”六大超神技惊艳四座&#xff0c;不仅践行了爱玛科技的精品战略&…...

oracle开窗函数笔记、over()笔记

文章目录 开窗函数、组函数、分析函数概念聚合函数和分析函数的区别partition by后面也可以跟多个字段 开窗函数一定要加 聚合函数、或分析函数吗&#xff0c;否则会报错lag()和lead()的用法lag和lead实战开窗函数可以和其他函数一起使用吗? TODO开窗函数中的count(1)是什么意…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...