Skip to content
产品中心
ERA5createEra5Layer

ECMWF 第五代全球再分析经纬场。原件是 NetCDF3,format: 'era5',必须写 product,按文件短名取列。工厂 createEra5Layer。下表是库内带默认色标的产品。同一规范的其它变量见 自行绘制。每个要素的绘制写在该产品的「能力」里。

参数 ​

本页绘制用这些字段。范围写在记录的经纬界上。

参数必选用途默认
data必选解析出口的 values,一条经纬格网记录—
product必选画哪一列,与 parse 的 product 相同—
pieces可选分档色标。内置产品可省产品默认档
range可选过滤可见数值全开
fill可选连续场可切 cells / isobands / gradientcells
convert可选绘制换算 (value) => number。自定义时必须同时传 pieces。分类码不能写t2m 默认开尔文→摄氏,msl 默认帕斯卡→百帕,tp 默认米→毫米,tcc 默认小数→百分数
opacity可选透明度,透出底图0.8
显示与交互可选见 图层—
产品key单位能力
2米气温t2m原件 K,默认画 °C绘制:逐格 / 等值面 / 渐变 · 数据裁剪
平均海平面气压msl原件 Pa,默认画 hPa绘制:逐格 / 等值面 / 渐变
总降水量tp原件 m,默认画 mm绘制:逐格 / 等值面 / 渐变
总云量tcc原件 0~1,默认画 %绘制:逐格 / 等值面 / 渐变
对流有效位能capeJ kg⁻¹绘制:逐格 / 等值面 / 渐变
10米纬向风u10m/s,西风为正绘制:逐格 / 等值面 / 渐变
10米经向风v10m/s,南风为正绘制:逐格 / 等值面 / 渐变
10米风场u10+v10填色 m/screateEra5WindLayer:风速填色 + 粒子 · 数据裁剪
降水类型ptype分类码 4.201绘制:只认逐格

数据 ​

经纬 NetCDF3。必须有 longitude / latitude / time(或 valid_time)。一次 parse 一个时次、一层。选填 hour(UTC 0~23)、level(hPa)。单位跟原件。

NetCDF3
longitude[]
latitude[]
time[]
要素变量 (time, latitude, longitude)
参数含义
longitude一维经度,西向东
latitude一维纬度。第 0 行在北;源 lat 从南往北则翻行
time时次。不写 hour 取第一个
要素变量按 parse 的 product 取列。对上只出这一列

也可传打包,解开再认 NetCDF3。


2米气温 ​

2米气温(示例)

通过绘制经纬格网色斑,用来看 2 米气温。产品 key 为 t2m。parse 出口是 K,默认按 °C 画。本产品能绘制。

文件 ​

ECMWF ERA5「2 metre temperature」(短名 t2m)。原件是经纬 NetCDF3,单位 K。常见日文件 era5.t2m.YYYYMMDD.nc。format: 'era5',product: 't2m'。也可传打包。

数据 ​

文件规则见页头。本产品变量是 2 米气温,原件单位 K。低于 −120 °C 或缺测铺色透明。铺色请传 parse 出口,不要先换成摄氏再喂工厂。

调用 ​

ts
const parsed = await parse(buffer, {
    format: 'era5',
    // 一次只出这一列
    product: 't2m'
})
const layer = createEra5Layer({
    // 解析出口
    data: parsed.values,
    // 画哪一列,与 parse 相同
    product: 't2m',
    // 示例页默认渐变填色
    fill: 'gradient'
    // 不传 convert,默认开尔文→摄氏。要按开尔文画就自己传 convert 和 pieces
})
layer.addTo(map)

当前场四至:layer.getBounds(),套合视野由调用侧做。见 图层。

色标 ​

气象预报服务产品色标征求意见稿表 1「气温分布图」。默认档位按摄氏下沿。要按开尔文画就自己传 convert 和对应 pieces。低于 −120 °C 或缺测透明。

档 (°C)<−30−30−20−10010203035>40
色rgb(2, 12, 100)rgb(7, 30, 120)rgb(59, 126, 219)rgb(155, 188, 232)rgb(215, 222, 126)rgb(242, 155, 0)rgb(238, 88, 31)rgb(194, 0, 3)rgb(138, 5, 25)rgb(80, 0, 15)

中间 2 °C 一档,色值按表 1 递进。34 / 35 / 37 / 40 按原文加档。图例只挂上表主刻度,铺色仍用全档。

能力 ​

绘制 cells / isobands / gradient 互斥。示例页默认渐变填色。

ts
// 示例页默认渐变
fill: 'gradient'
// 切逐格 / 等值面
layer.setFill('cells')
layer.setFill('isobands')

对照 2米气温示例。

数据裁剪 setClipPath 按省界贴边。clipField 只给导出 / 统计,不要把格心 NaN 场喂给图层。风场填色和粒子同一套 setClipPath。

细写见 数据裁剪。对照 裁剪示例。


平均海平面气压 ​

平均海平面气压(示例)

通过绘制经纬格网色斑,用来看平均海平面气压。产品 key 为 msl。parse 出口是 Pa,默认按 hPa 画。不要写成地面分析 prs 或模式 slp。本产品能绘制。

文件 ​

ECMWF ERA5「Mean sea level pressure」(短名 msl)。原件是经纬 NetCDF3,单位 Pa。常见日文件 era5.msl.YYYYMMDD.nc。format: 'era5',product: 'msl'。也可传打包。

数据 ​

文件规则见页头。本产品变量是平均海平面气压,原件单位 Pa。低于 980 hPa 或缺测铺色透明。铺色请传 parse 出口,不要先换成百帕再喂工厂。

调用 ​

ts
const parsed = await parse(buffer, {
    format: 'era5',
    // 一次只出这一列
    product: 'msl'
})
const layer = createEra5Layer({
    // 解析出口
    data: parsed.values,
    // 画哪一列,与 parse 相同
    product: 'msl',
    // 示例页默认渐变填色
    fill: 'gradient'
    // 不传 convert,默认帕斯卡→百帕。要按帕斯卡画就自己传 convert 和 pieces
})
layer.addTo(map)

当前场四至:layer.getBounds(),套合视野由调用侧做。见 图层。

色标 ​

与地面分析气压同一套业务档(官方色表未到)。默认档位按百帕下沿。要按帕斯卡画就自己传 convert 和对应 pieces。低于 980 hPa 或缺测透明。不要写成 prs / slp。

档 (hPa)98099010001005101010151020102510301040
色rgb(20, 40, 140)rgb(40, 90, 190)rgb(70, 150, 210)rgb(120, 200, 170)rgb(190, 220, 110)rgb(240, 210, 70)rgb(250, 160, 40)rgb(230, 90, 30)rgb(190, 30, 40)rgb(120, 10, 70)

能力 ​

绘制 cells / isobands / gradient 互斥。示例页默认渐变填色。

ts
// 示例页默认渐变
fill: 'gradient'
// 切逐格 / 等值面
layer.setFill('cells')
layer.setFill('isobands')

对照 平均海平面气压示例。


总降水量 ​

总降水量(示例)

通过绘制经纬格网色斑,用来看总降水量。产品 key 为 tp。parse 出口是米水深,默认按 mm 画。不要写成地面分析 pre 或卫星定量 qpe。本产品能绘制。

文件 ​

ECMWF ERA5「Total precipitation」(短名 tp)。原件是经纬 NetCDF3,单位 m。常见日文件 era5.tp.YYYYMMDD.nc。format: 'era5',product: 'tp'。也可传打包。

数据 ​

文件规则见页头。本产品变量是累计水深,原件单位 m。低于 0.1 mm(含 0)或缺测铺色透明。铺色请传 parse 出口,不要先换成毫米再喂工厂。

调用 ​

ts
const parsed = await parse(buffer, {
    format: 'era5',
    // 一次只出这一列
    product: 'tp'
})
const layer = createEra5Layer({
    // 解析出口
    data: parsed.values,
    // 画哪一列,与 parse 相同
    product: 'tp',
    // 示例页默认渐变填色
    fill: 'gradient'
    // 不传 convert,默认米→毫米。要按米画就自己传 convert 和 pieces
})
layer.addTo(map)

当前场四至:layer.getBounds(),套合视野由调用侧做。见 图层。

色标 ​

档位按 GB/T 28592(0.1 / 10 / 25 / 50 / 100 / 250 mm),色值同地面分析降水。官方 ERA5 色表未到。默认档位按毫米下沿。要按米画就自己传 convert 和对应 pieces。低于 0.1 mm(含 0)或缺测透明。不要写成 pre / qpe。

档 (mm)0.1102550100250
色rgb(166, 242, 143)rgb(61, 186, 61)rgb(97, 184, 255)rgb(0, 115, 255)rgb(250, 38, 255)rgb(133, 0, 133)

能力 ​

绘制 cells / isobands / gradient 互斥。示例页默认渐变填色。

ts
// 示例页默认渐变
fill: 'gradient'
// 切逐格 / 等值面
layer.setFill('cells')
layer.setFill('isobands')

对照 总降水量示例。


总云量 ​

总云量(示例)

通过绘制经纬格网色斑,用来看总云量。产品 key 为 tcc。parse 出口是 0~1,默认按 % 画。不要为 hcc / mcc / lcc 另开页。本产品能绘制。

文件 ​

ECMWF ERA5「Total cloud cover」(短名 tcc)。原件是经纬 NetCDF3,0~1。常见日文件 era5.tcc.YYYYMMDD.nc。format: 'era5',product: 'tcc'。也可传打包。

数据 ​

文件规则见页头。本产品变量是总云量,原件是 0~1。低于 0% 或缺测铺色透明。铺色请传 parse 出口,不要先换成百分数再喂工厂。

调用 ​

ts
const parsed = await parse(buffer, {
    format: 'era5',
    // 一次只出这一列
    product: 'tcc'
})
const layer = createEra5Layer({
    // 解析出口
    data: parsed.values,
    // 画哪一列,与 parse 相同
    product: 'tcc',
    // 示例页默认渐变填色
    fill: 'gradient'
    // 不传 convert,默认小数→百分数。要按 0~1 画就自己传 convert 和 pieces
})
layer.addTo(map)

当前场四至:layer.getBounds(),套合视野由调用侧做。见 图层。

色标 ​

按云量业务档起草(官方色表未到)。默认档位按百分数下沿。要按 0~1 画就自己传 convert 和对应 pieces。低于 0% 或缺测透明。不要复用相对湿度色标。

档 (%)020406080100
色rgb(236, 244, 252)rgb(184, 208, 230)rgb(128, 166, 200)rgb(76, 122, 168)rgb(40, 78, 136)rgb(18, 36, 96)

中间 10% 一档。

能力 ​

绘制 cells / isobands / gradient 互斥。示例页默认渐变填色。

ts
// 示例页默认渐变
fill: 'gradient'
// 切逐格 / 等值面
layer.setFill('cells')
layer.setFill('isobands')

对照 总云量示例。


对流有效位能 ​

对流有效位能(示例)

通过绘制经纬格网色斑,用来看对流有效位能。产品 key 为 cape。单位 J kg⁻¹。不要为 cin / kx 另开页。本产品能绘制。

文件 ​

ECMWF ERA5「Convective available potential energy」(短名 cape)。原件是经纬 NetCDF3,单位 J kg⁻¹。常见日文件 era5.cape.YYYYMMDD.nc。format: 'era5',product: 'cape'。也可传打包。

数据 ​

文件规则见页头。本产品变量是对流有效位能,原件单位 J kg⁻¹。低于 0 或缺测铺色透明。

调用 ​

ts
const parsed = await parse(buffer, {
    format: 'era5',
    // 一次只出这一列
    product: 'cape'
})
const layer = createEra5Layer({
    // 解析出口
    data: parsed.values,
    // 画哪一列,与 parse 相同
    product: 'cape',
    // 示例页默认渐变填色
    fill: 'gradient'
})
layer.addTo(map)

当前场四至:layer.getBounds(),套合视野由调用侧做。见 图层。

色标 ​

按对流业务档起草(官方色表未到)。档位按 J kg⁻¹ 下沿。低于 0 或缺测透明。

档 (J/kg)02501000200030005000
色rgb(220, 240, 200)rgb(130, 200, 70)rgb(250, 200, 40)rgb(240, 90, 20)rgb(180, 15, 70)rgb(90, 0, 90)

中间另有 100 / 500 / 1500 / 2500 / 4000。

能力 ​

绘制 cells / isobands / gradient 互斥。示例页默认渐变填色。

ts
// 示例页默认渐变
fill: 'gradient'
// 切逐格 / 等值面
layer.setFill('cells')
layer.setFill('isobands')

对照 对流有效位能示例。


10米纬向风 ​

10米纬向风(示例)

通过绘制经纬格网色斑,用来看 10 米纬向风。产品 key 为 u10。单位 m/s,西风为正。不要合成 ws,不要复用地面分析 ws。本产品能绘制。

文件 ​

ECMWF ERA5「10 metre U wind component」(短名 u10)。原件是经纬 NetCDF3,单位 m/s。常见日文件 era5.u10.YYYYMMDD.nc。format: 'era5',product: 'u10'。也可传打包。

数据 ​

文件规则见页头。本产品变量是 10 米纬向风,原件单位 m/s,西风为正。低于 -20 m/s 或缺测铺色透明。

调用 ​

ts
const parsed = await parse(buffer, {
    format: 'era5',
    // 一次只出这一列
    product: 'u10'
})
const layer = createEra5Layer({
    // 解析出口
    data: parsed.values,
    // 画哪一列,与 parse 相同
    product: 'u10',
    // 示例页默认渐变填色
    fill: 'gradient'
})
layer.addTo(map)

当前场四至:layer.getBounds(),套合视野由调用侧做。见 图层。

色标 ​

u10 / v10 共用有符号风速档。负值冷色、正值暖色。档位按近地面风分量业务档起草,官方色表未到。按下沿取值,不插值。不要复用地面分析 ws。

档 (m/s)-20-12-4041220
色rgb(20, 40, 140)rgb(70, 130, 210)rgb(180, 220, 240)rgb(250, 245, 220)rgb(250, 200, 120)rgb(220, 70, 30)rgb(110, 0, 50)

中间另有 -16 / -8 / 8 / 16。

能力 ​

绘制 cells / isobands / gradient 互斥。示例页默认渐变填色。

ts
// 示例页默认渐变
fill: 'gradient'
// 切逐格 / 等值面
layer.setFill('cells')
layer.setFill('isobands')

对照 10米纬向风示例。


10米经向风 ​

10米经向风(示例)

通过绘制经纬格网色斑,用来看 10 米经向风。产品 key 为 v10。单位 m/s,南风为正。不要合成 ws,不要复用地面分析 ws。本产品能绘制。

文件 ​

ECMWF ERA5「10 metre V wind component」(短名 v10)。原件是经纬 NetCDF3,单位 m/s。常见日文件 era5.v10.YYYYMMDD.nc。format: 'era5',product: 'v10'。也可传打包。

数据 ​

文件规则见页头。本产品变量是 10 米经向风,原件单位 m/s,南风为正。低于 -20 m/s 或缺测铺色透明。

调用 ​

ts
const parsed = await parse(buffer, {
    format: 'era5',
    // 一次只出这一列
    product: 'v10'
})
const layer = createEra5Layer({
    // 解析出口
    data: parsed.values,
    // 画哪一列,与 parse 相同
    product: 'v10',
    // 示例页默认渐变填色
    fill: 'gradient'
})
layer.addTo(map)

当前场四至:layer.getBounds(),套合视野由调用侧做。见 图层。

色标 ​

与 u10 同一套有符号风速档。官方色表未到。不要复用地面分析 ws。

能力 ​

绘制 cells / isobands / gradient 互斥。示例页默认渐变填色。

对照 10米经向风示例。


10米风场 ​

10米风场(示例)

成对 U/V 填色加粒子流线。工厂 createEra5WindLayer,product: ['u10','v10']。填色画 √(u²+v²),色档与地面分析风速相同,但不是 product=ws。不能写 convert。

文件 ​

两份单列:ERA5-U10.nc 与 ERA5-V10.nc,各 parse 一次。一份双列:同一 NetCDF3 里同时有 u10 / v10,product: ['u10','v10'] 一次出两列。不要传 GRIB2。

调用 ​

ts
const u = await parse(uBuffer, { format: 'era5', product: 'u10' })
const v = await parse(vBuffer, { format: 'era5', product: 'v10' })
const layer = createEra5WindLayer({
    data: [u.values, v.values],
    product: ['u10', 'v10'],
    fill: { type: 'gradient', show: true },
    wind: { show: true, density: 1, speed: 1 }
})
layer.addTo(map)

一份双列:

ts
const parsed = await parse(buffer, { format: 'era5', product: ['u10', 'v10'] })
createEra5WindLayer({
    data: parsed.values,
    product: ['u10', 'v10']
})

wind.density / wind.speed 默认 1。密度 1 约 4000 粒(0.25~3 → 400~12000)。速度 1 按大陆尺度进近。

对照 10米风场示例。风场填色和粒子同一套 setClipPath,对照 风场裁剪示例。


降水类型 ​

降水类型(示例)

通过绘制经纬格网色斑,用来看降水类型。产品 key 为 ptype。分类码,码表 4.201。只认逐格铺色,不能写 convert。本产品能绘制。

文件 ​

ECMWF ERA5「Precipitation type」(短名 ptype)。原件是经纬 NetCDF3,分类码。常见日文件 era5.ptype.YYYYMMDD.nc。format: 'era5',product: 'ptype'。也可传打包。

数据 ​

文件规则见页头。本产品变量是降水类型。IFS 只用 0 / 1 / 3 / 5 / 6 / 7 / 8,其余码表行不要写进默认档。无降水透明。

调用 ​

ts
const parsed = await parse(buffer, {
    format: 'era5',
    // 一次只出这一列
    product: 'ptype'
})
const layer = createEra5Layer({
    // 解析出口
    data: parsed.values,
    // 画哪一列,与 parse 相同
    product: 'ptype',
    // 分类码只认逐格
    fill: 'cells'
})
layer.addTo(map)

当前场四至:layer.getBounds(),套合视野由调用侧做。见 图层。

色标 ​

类号按 IFS / WMO 码表 4.201。色值按 ECMWF Forecast User Guide 降水类型配色起草,官方色表未到。按整数类号取色,不插值。无降水透明。

类号0135678
类名无降水雨冻雨雪湿雪雨夹雪冰粒
色透明rgb(46, 184, 64)rgb(220, 40, 40)rgb(50, 110, 220)rgb(40, 190, 190)rgb(230, 120, 180)rgb(240, 210, 50)

能力 ​

绘制 只认 cells。setFill('isobands') / setFill('gradient') 会报分类码。

ts
fill: 'cells'

对照 降水类型示例。