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

news2024/12/23 8:08:31

预处理系统 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.nc

netcdf 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.nc

netcdf 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 ;
}

参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2264134.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

批量提取zotero的论文构建知识库做问答的大模型(可选)——含转存PDF-分割统计PDF等

文章目录 提取zotero的PDF上传到AI平台保留文件名代码分成20个PDF视频讲解 提取zotero的PDF 右键查看目录 发现目录为 C:\Users\89735\Zotero\storage 写代码: 扫描路径‘C:\Users\89735\Zotero\storage’下面的所有PDF文件,全部复制一份汇总到"C:\Users\89735\Downl…

Java模拟Mqtt客户端连接Mqtt Broker

Java模拟Mqtt客户端基本流程 引入Paho MQTT客户端库 <dependency><groupId>org.eclipse.paho</groupId><artifactId>org.eclipse.paho.mqttv5.client</artifactId><version>1.2.5</version> </dependency>设置mqtt配置数据 …

boost asio 异步服务器

boost网络框架使用方法 boost绑定 首先介绍io_context&#xff0c;可以理解为这是操作系统和应用层数据交互的桥梁。有了它不必关注内核态的缓冲区&#xff0c;只需要关注自己定义在用户态的缓冲区&#xff0c;因为它会通过桥梁运输到用户态的缓冲区。 boost::asio::io_contex…

图解HTTP-HTTP协议

HTTP HTTP是一种不保存状态&#xff0c;即无状态的协议。HTTP协议自身不对请求和响应之间的通信进行保存。为了保存状态因此后面也有一些技术产生比如Cookies技术。 HTTP是通过URI定位网上的资源&#xff0c;理论上将URI可以访问互联网上的任意资源。 如果不是访问特定的资源…

【Go】-限流器的四种实现方法

目录 关于限流和限流器 固定窗口限流器 滑动窗口限流器 漏桶限流器 令牌桶限流器 总结 关于限流和限流器 限流&#xff08;Rate Limiting&#xff09;是一种控制资源使用率的机制&#xff0c;通常用于防止系统过载和滥用。 限流器&#xff08;Rate Limiter&#xff09;是…

CTF_1

CTF_Show 萌新赛 1.签到题 <?php if(isset($_GET[url])){system("curl https://".$_GET[url].".ctf.show"); }else{show_source(__FILE__); }?> 和 AI 一起分析 1.if(isset($_GET[url]))检查GET请求中是否存在名为url的参数。 curl 2.curl…

[文献阅读] Unsupervised Deep Embedding for Clustering Analysis (无监督的深度嵌入式聚类)

文章目录 Abstract:摘要聚类深度聚类 KL散度深度嵌入式聚类(DEC)KL散度聚类软分配&#xff08;soft assignment&#xff09;KL散度损失训练编码器的初始化聚类中心的初始化 实验评估总结 Abstract: This week I read Unsupervised Deep Embedding for Clustering Analysis .It…

记录:virt-manager配置Ubuntu arm虚拟机

virt-manager&#xff08;Virtual Machine Manager&#xff09;是一个图形用户界面应用程序&#xff0c;通过libvirt管理虚拟机&#xff08;即作为libvirt的图形前端&#xff09; 因为要在Linux arm环境做测试&#xff0c;记录下virt-manager配置arm虚拟机的过程 先在VMWare中…

使用C语言编写UDP循环接收并打印消息的程序

使用C语言编写UDP循环接收并打印消息的程序 前提条件程序概述伪代码C语言实现编译和运行C改进之自由设定端口注意事项在本文中,我们将展示如何使用C语言编写一个简单的UDP服务器程序,该程序将循环接收来自指定端口的UDP消息,并将接收到的消息打印到控制台。我们将使用POSIX套…

Spring Boot 教程之三十六:实现身份验证

如何在 Spring Boot 中实现简单的身份验证&#xff1f; 在本文中&#xff0c;我们将学习如何使用 Spring设置和配置基本身份验证。身份验证是任何类型的安全性中的主要步骤之一。Spring 提供依赖项&#xff0c;即Spring Security&#xff0c;可帮助在 API 上建立身份验证。有很…

什么样的LabVIEW控制算自动控制?

自动控制是指系统通过预先设计的算法和逻辑&#xff0c;在无人工干预的情况下对被控对象的状态进行实时监测、决策和调整&#xff0c;达到预期目标的过程。LabVIEW作为一种图形化编程工具&#xff0c;非常适合开发自动控制系统。那么&#xff0c;什么样的LabVIEW控制算作“自动…

GFPS扩展技术原理(七)-音频切换消息流

音频切换消息流 Seeker和Provider通过消息流来同步音频切换能力&#xff0c;触发连接做切换&#xff0c;获取或设置音频切换偏好&#xff0c;通知连接状态等等。为此专门定义了音频切换消息流Message Group 为0x07&#xff0c;Message codes如下&#xff1a; MAC of Audio s…

视频直播点播平台EasyDSS与无人机技术的森林防火融合应用

随着科技的飞速发展&#xff0c;无人机技术以其独特的优势在各个领域得到了广泛应用&#xff0c;特别是在森林防火这一关键领域&#xff0c;EasyDSS视频平台与无人机技术的融合应用更是为传统森林防火手段带来很大的变化。 一、无人机技术在森林防火中的优势 ‌1、快速响应与高…

机器人路径规划和避障算法matlab仿真,分别对比贪婪搜索,最安全距离,RPM以及RRT四种算法

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1贪婪搜索算法原理 4.2最安全距离算法原理 4.3RPM 算法原理 4.4 RRT 算法原理 5.完整程序 1.程序功能描述 机器人路径规划和避障算法matlab仿真,分别对比贪婪搜索,最安全距离,RPM以及R…

【论文笔记】Visual Alignment Pre-training for Sign Language Translation

&#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为往圣继绝学&#xff0c;为万世开太平。 基本信息 标题: Visual Alignment Pre-tra…

【附源码】Electron Windows桌面壁纸开发中的 CommonJS 和 ES Module 引入问题以及 Webpack 如何处理这种兼容

背景 在尝试让 ChatGPT 自动开发一个桌面壁纸更改的功能时&#xff0c;发现引入了一个 wallpaper 库&#xff0c;这个库的入口文件是 index.js&#xff0c;但是 package.json 文件下的 type:"module"&#xff0c;这样造成了无论你使用 import from 还是 require&…

Apache解析漏洞(apache_parsingCVE-2017-15715)

apache_parsing 到浏览器中访问网站 http://8.155.8.239:81/ 我们写一个木马 1.php.jpg 我们将写好的木马上传 会得到我们上传文件的路径 我们访问一下 发现上传成功 发现木马运行成功&#xff0c;接下来使用蚁剑连接我们的图片马 获取 shell 成功 CVE-2013-454 我们还是到…

C++-----函数与库

数学中的函数与编程中的函数对比 数学中的函数 - 数学函数是一种映射关系&#xff0c;例如&#xff0c;函数\(y f(x)x^{2}\)&#xff0c;对于每一个输入值\(x\)&#xff0c;都有唯一确定的输出值\(y\)。它侧重于描述变量之间的数量关系&#xff0c;通常通过公式来表示这种关系…

带着国标充电器出国怎么办? 适配器模式(Adapter Pattern)

适配器模式&#xff08;Adapter Pattern&#xff09; 适配器模式适配器模式&#xff08;Adapter Pattern&#xff09;概述talk is cheap&#xff0c; show you my code总结 适配器模式 适配器模式&#xff08;Adapter Pattern&#xff09;是面向对象软件设计中的一种结构型设计…

SKETCHPAD——允许语言模型生成中间草图,在几何、函数、图算法和游戏策略等所有数学任务中持续提高基础模型的性能

概述 论文地址&#xff1a;https://arxiv.org/pdf/2406.09403 素描是一种应用广泛的有效工具&#xff0c;包括产生创意和解决问题。由于素描能直接传达无法用语言表达的视觉和空间信息&#xff0c;因此从古代岩画到现代建筑图纸&#xff0c;素描在世界各地被用于各种用途。儿童…