# 污染物排放动态监测接口文档
## 接口文档
### Docker服务地址
`124.16.151.196:8788/emission/`
### 输入
输入为json串，具体内容如下：
```
{
    "key": "xxxx",
    "data":{
        "time": "",
        "boiler": "",
        ...  //以下省略
    }
}
```
其中`key`字段可用于并发时确认请求来源，`data`字段为传入的机组和排放参数，具体如下：
|字段|类型|含义|是否由爬虫获取|
|----|----|----|----|
|time|str|时间，'yyyy-mm-dd hh:MM:ss'|是|
|boiler|str|锅炉类型|否|
|steam|str|汽轮机类型|否|
|cold|str|冷却方式|否|
|pressure|str|压力参数|否|
|nox|float|氮氧化物($NO_x$)浓度数值($mg/m^3$)|是|
|so2|float|二氧化硫($SO_2$)浓度数值($mg/m^3$)|是|
|smoke|float|烟气浓度($mg/m^3$)|是|
|flow|float|烟气流量($m^3/h$)|是|
|o2|float|含氧量($O_2$, %)|是|
|temp|float|温度(℃)|是|
|evaporation|float|机组额定蒸发量(t/h)|否|
|caloric|float|低位发热值(一般为10-30 GJ/t)|视情况而定|
|lon|str|经度|否|
|lat|str|纬度|否|

### 输出
输出为json串，包含如下字段
```
{
    "code": 200, # 若调用错误，code为406
    "request_key": "xxxx",
    "msg": "若code为406，返回该字段",
    "data": {...}  # 若code为200，返回该字段  
}
```
其中`key`字段可用于并发时确认请求来源，data字段对应模型返回的当前时刻的结果，具体如下：
|字段|类型|含义|
|----|----|----|
|coal|float|该时刻对应的煤耗(t)|
|co|float|一氧化碳排放量(kg)|
|co2|float|二氧化碳排放量(kg)|
|vocs|float|VOCs排放量(kg)|
|pm25|float|PM2.5排放量(kg)|
|pm10|float|PM10排放量(kg)|

## 示例
### 输入示例
```
{
    "key": "123456",
    "data": {
        "time": "2023-01-02 03:04:05",
        "boiler": "循环流化床锅炉",
        "steam": "凝气式",
        "cold": "水冷-开式循环",
        "pressure": "超超临界",
        "nox": "12",
        "so2": "0.15",
        "smoke": "12",
        "flow": "5000000",
        "o2": "23",
        "temp": "55",
        "evaporation": "123",
        "caloric": "23",
        "capacity": "234",
        "lon": "122",
        "lat": "33"
    }
}
```
### 输出示例（调用成功）
```
{
    "code": 200,
    "key": "123456",
    "data": {
        "coal": 31.213128645837465,
        "co": 62.42625729167493,
        "vocs": 67.42035787500893,
        "pm25": 0.72,
        "pm10": 2.7600000000000002,
        "co2": 65.24910397752144
    }
}
```
### 输出示例（调用失败）
```
{
    "code": 406,
    "key": "123456",
    "msg": "Input is None, please check!"
}
```