首页 > 解决方案 > 接受检索的字段少于 MARS Web API 中请求的字段吗?

问题描述

我正在尝试从 ECMWF MARS Web API 下载 2018 年全年的 25 天前预报。这些预报(WAEF 控制预报)仅在星期一和星期四发布,在这里我在使用火星网络 API。

我尝试请求直观的2018-01-01/to/2018-12-31,但由于每周有 5 天没有要检索的字段,因此请求失败。

我的 MARS 请求文件如下:

retrieve,
class=od,
date=2018-01-01/to/2018-12-31,
expver=1,
param=229.140/245.140,
step=600/624/648/672,
stream=waef,
time=00:00:00,
type=cf,
target="output.grib"

这导致以下响应:

...
mars - INFO   - 20190215.100826 - Welcome to MARS
mars - INFO   - 20190215.100826 - MARS Client build stamp: 20190130224336
mars - INFO   - 20190215.100826 - MARS Client version: 6.23.3
mars - INFO   - 20190215.100826 - MIR version: 1.1.2
mars - INFO   - 20190215.100826 - Using ecCodes version 2.10.1
mars - INFO   - 20190215.100826 - Using odb_api version: 0.15.9 (file format version: 0.5)
mars - INFO   - 20190215.100826 - Maximum retrieval size is 30.00 G
retrieve,target="output.grib",stream=waef,param=229.140/245.140,padding=0,step=600/624/648/672,expver=1,time=00:00:00,date=2018-01-01/to/2018-12-31,type=cf,class=odmars - WARN   - 20190215.100826 - For wave data, LEVTYPE forced to Surface
mars - INFO   - 20190215.100826 - Automatic split by date is on
mars - INFO   - 20190215.100826 - Request has been split into 12 monthly retrievals

mars - INFO   - 20190215.100826 - Processing request 1

RETRIEVE,
    CLASS      = OD,
    TYPE       = CF,
    STREAM     = WAEF,
    EXPVER     = 0001,
    REPRES     = SH,
    LEVTYPE    = SFC,
    PARAM      = 229.140/245.140,
    TIME       = 0000,
    STEP       = 600/624/648/672,
    DOMAIN     = G,
    TARGET     = "output.grib",
    PADDING    = 0,
    DATE       = 20180101/20180102/20180103/20180104/20180105/20180106/20180107/20180108/20180109/20180110/20180111/20180112/20180113/20180114/20180115/20180116/20180117/20180118/20180119/20180120/20180121/20180122/20180123/20180124/20180125/20180126/20180127/20180128/20180129/20180130/20180131

mars - INFO   - 20190215.100826 - Web API request id: xxx
mars - INFO   - 20190215.100826 - Requesting 248 fields
mars - INFO   - 20190215.100826 - Calling mars on 'marsod', callback on 36551
mars - INFO   - 20190215.100827 - Server task is 228 [marsod]
mars - INFO   - 20190215.100827 - Request cost: 72 fields, 17.2754 Mbytes on 1 tape, nodes: hpss [marsod]
2019-02-15 11:08:59 Request is active
mars - INFO   - 20190215.102300 - Transfering 18114554 bytes
mars - WARN   - 20190215.102301 - Visiting database marsod : expected 248, got 72
mars - ERROR  - 20190215.102301 - Expected 248, got 72.
mars - ERROR  - 20190215.102301 - Request failed
...

除了只请求星期一和星期四的正确日期之外,有没有办法允许接收比请求更少的字段或任何其他优雅的解决这个问题的方法?

标签: downloadweatherweather-apigrib

解决方案


毕竟,我设法在 MARS 文档中找到了答案。expect = any在控制部分使用解决了这个问题。更多信息可以在这里找到:https ://confluence.ecmwf.int/pages/viewpage.action?pageId=43521134

retrieve,
class=od,
date=2018-01-01/to/2018-12-31,
expver=1,
param=229.140/245.140,
step=600/624/648/672,
stream=waef,
time=00:00:00,
type=cf,
expect=any,
target="output.grib"

推荐阅读