模型对比平台工作日志

Posted by Shen Chaoran on January 29, 2018

背景知识

碳源排放量测算的方法研究目前,对碳源的测算主要采用3种方法:实测法、物料衡算法和排放系数法。这3种方法各有所长,互为补充。但对于不同的碳源,所采用的方法也不尽相同。

  • 实测法主要通过监测手段或国家有关部门认定的连续计量设施,测量排放气体的流速、流量和浓度,用环保部门认可的测量数据来计算气体的排放总量的统计计算方法。实测法的基础数据主要来源于环境监测站。监测数据是通过科学、合理地采集和分析样品而获得的。样品是对监测的环境要素的总体而言,如采集的样品缺乏代表性,尽管测试分析很准确,不具备代表性的数据也是毫无意义的[6]。
  • 物料衡算法物料衡算是对生产过程中使用的物料情况进行定量分析的一种方法。始于质量守恒定律,即生产过程中,投入某系统或设备的物料质量必须等于该系统产出物质的质量。该法是把工业排放源的排放量、生产工艺和管理、资源(原材料、水源、能源)的综合利用及环境治理结合起来,系统地、全面地研究生产过程中排放物的产生、排放的一种科学有效的计算方法[6]。适用于整个生产过程的总物料衡算,也适用于生产过程中某一局部生产过程的物料衡算。目前大部分的碳源排碳量的估算工作和基础数据的获得都是以此方法为基础的。具体应用中,主要有表观能源消费量估算法和详细的燃料分类为基础的排放量估算法
  • 排放系数法排放系数法是指在正常技术经济和管理条件下,生产单位产品所排放的气体数量的统计平均值,排放系数也称为排放因子。目前的排放系数分为没有气体回收和有气体回收或治理情况下的排放系数[1]。但在不同技术水平、生产状况、能源使用情况、工艺过程等因素的影响下的排碳系数存在很大差异。因此,使用系数法存在的不确定性也较大。此法对于统计数据不够详尽的情况有较好的适用性,对我国一些小规模甚至是非法的企业估算其排碳量也有较高的效率。
  • 模型法由于森林与土壤这类生态系统复杂,碳通量受季节、地域、气候、人类与各种生物活动、社会发展等诸多因素的影响,而各因素之间又是相互作用的,因此,对于森林与土壤的排碳量,国际上比较多用生物地球化学模型进行模拟。它通过考察环境条件,包括温室、降水、太阳辐射和土壤结构等条件为输入变量来模拟森林、土壤生态系统的碳循环过程,从而计算森林———土壤———大气之间的碳循环以及温室气体通量。代表模型有:F7气候变化和热带森林研究网

NPP估算模型一般被分为3类: ① 气候统计模型 (又称气候相关模型);② 遥感参数模型(又称光能利用率模型);③ 过程模型(又称机理模型)[21-23]。然而,随着NPP模型的发展,作者认为该分类方法已不能全面且无歧义地概括现有的NPP估算模型: 有些统计模型并不是基于气候数据,而是基于遥感植被指数;有些参数化模型也并非基于遥感光能利用率,而是基于气候数据;此外,遥感—过程耦合的NPP模型越来越多且被广泛应用。因此,本文在前述分类系统的基础上,根据模型利用的主要数据源和是否考虑生理生态机制将NPP估算模型划分为4类: 气候模型、遥感模型、过程模型和遥感—过程耦合模型。

# 概念

## 问题

## 方案

从各个角度比较特定类型的模型的方法的集合。其中参与的模型是不固定的,但他们所解决的地理问题是同一类型的,模型可以动态地加入方案。 方案是为了比较一系列模型的某些角度而制定的,因此他只配置了比较所在模型的数据参考,而没有配置数据。

## 任务

任务是方案通过配置输入数据而得。具有具体的研究区域

模型

Model Name 计算规模 输入尺度 输出尺度 平台 源代码语言 数据格式
LPJ Linux fortran table
IBIS_point 日,年 Windows fortran table
BIOME 日,月,年 Windows C++ table
IBIS_netcdf 日,月,年 Linux fortran netcdf

IBIS

代码实现

内部是通过迭代计算的

IBIS_netcdf_2.6b4

输入

ibis.infile

参数
parameter description etc
irestart 0: not a restart run 1: restart run  
iyear0 initial year of simulation (don’t change for restart)  
nrun number of years in this simulation (change for restart)  
iyranom year to start reading anomalies (don’t chng for restart)  
nanom number of years in the anomaly files (ditto)  
iyrdaily year to start reading daily data (ditto)  
soilcspin 0: no soil spinup, 1: acceleration procedure used  
iyearout 0: no yearly output, 1: yearly output  
imonthout 0: no monthly output, 1: monthly output  
idailyout 0: no daily output, 1: daily output  
isimveg 0: static veg, 1: dynamic veg, 2: dynamic veg-cold start  
isimfire 0: fixed fire, 1: dynam fire  
isimco2 0: fixed co2, 1: ramped co2  
co2init initial co2 concentration in mol/mol (real)  
o2init initial o2 concentration in mol/mol (real)  
dtime time step in seconds  
idiag 0: no diagnostic output, 1-10 # of files to output log
snorth northern latitude for subsetting in/output sub-region
ssouth southern latitude for subsetting in/output sub-region
swest western longitude for subsetting in/output sub-region
seast eastern longitude for subsetting in/output sub-region
文件

diag.infile

用于设置运行过程中打印选择的位置和时间跨度的日志信息。

输出

BIOME

Biome-BGC 模型是模拟不同尺度植被、凋落物、土壤中碳、氮、水的储量和通量的一个被广泛应用的生物地球化学循环模型。

include ‘a.h’ include ‘b.h’

封装

这里的封装不等同于MSC中的封装,只是把模型简单修改一下从cmd调用数据的方式,甚至说不用从代码层次上修改,用bat文件就行了。 风格:-tag= | –tag=,tag在exe内部是用来匹配event的

输入

ini

参数配置文件,里面包括一些参数值和其他输入文件的路径。 模拟站点的物理常量

参数
  • TIME_DEFINE: 气象数据时间方面的元数据描述,包括时间跨度、起始时间、模拟模式(spinup, normal)
  • CLIM_CHANGE: 气象数据列元数据描述,包括tmax, tmin, tday, precipitation(湿度), vapor(日光平均水汽分压), srad(日平均短波辐射通量密度), daylength(昼长)。官网提供了一个工具MT-CLIM,可以通过tmax, tmin估算出srad, precipitation,对于连tmax,tmin 气象数据都没有的站点,官网还提供另一个工具Daymet,可以通过附近的站点插值出这个站点的气象数据。
  • SITE: 站点的物理常量,包括soil depth, sand percentage, silt percentage, clay percentage, site elevation, site latitude…
  • RAMP_NDEP: 运行模式
  • W_STATE: 水
  • C_STATE: 碳
  • N_STATE: 氮
  • OUTPUT_CONTROL
  • DAILY_OUTPUT
  • ANNUAL_OUTPUT
文件
  • MET_INPUT: 气象数据文件。包括气温、降雨、湿度、日照长度等其他参数。数据时日尺度的,可以包含任意年数的数据
  • CO2_CONTROL: 站点的二氧化碳浓度观测文件,每年一个常量
  • EPC_FILE: 生态常量文件。包括站点植被的生态描述。不同站点可以使用默认的,但如果有站点观测的文件可以替换。
  • RESTART: 计算一半后会生成一个.endpoint文件,在重新计算时会基于这个文件重新计算。

输出

框架设计

整体平台涉及到的资源包括主题、模型、标准数据集、数据处理方法、数据可视化方法、比较方法等,考虑到后期资源扩充时,要能够支持其他主题的模型资源的接入,这些模块的设计应该相互解耦。资源之间的关系如图

主题

  • 模型大类标签
  • 前期可以先不涉及这个模块

模型

模型要有一套自描述的文档,能够描述出以下信息:

  • IO的描述
  • 引用的数据模板结构

数据集

一类模型的标准数据集的制订有几种方式:

  • 各自输入输出数据的超集:能够根据超集抽取出子集
  • 每个模型都有一套完备的数据:但是同类模型的数据要有彼此关联,比如都是同一个站点的观测数据,但是组织方式不同,根据模型的输入需要组织成方便驱动它运行的结构

schemas

upload:必须要上传才行

  • table
  • zip
  • ini
  • other: 看模型自己的输入需求

parameter:模型参数,不用通过上传文件

  • radio
  • checkbox
  • coordinate
  • date

数据处理方法

数据处理方法只和数据格式相关联

比较方法

比较方法只和数据格式相关联

数据库设计

Model

Dataset Topic Issue Solution Task

业务设计

数据

预览与下载

schema介绍

模型

详情介绍

调用配置

计算结果查看与下载

比较

方案的创建

实例的配置

比较结果查看

待讨论

  • 标准数据集的确定
  • 是否有必要以区域为单位运行
  • 验证数据集

TODO

  1. table cmp
  2. 与计算容器对接
  3. 界面整体修改,全部采用list thumbnail + item detail的形式
  4. 响应式布局
  5. 样式整理
    • 将没用到的第三方库以及其样式删除
    • 减少自定义的样式,使用bootstrap的样式
  6. 样式的相对路径
  7. 要不要做成会话列表的形式,用来对资源描述。
  8. Search 解析语法,后台服务

任务规划: IBIS 模型修改 先弄清楚每个数据的意义 模型计算容器的完善: 能够调用模型,数据库管理就行了 模型计算容器和模型比较容器的对接 分发任务,获取结果

Bugs

  1. custom-elements.min.js.map not found
  2. 标准的存在?

    后台先计算出一个平均值作为标准参与比较,当真正的标准出现时替换。

  3. @import “*.css”会全局覆盖!
  4. anchor, back-top
  5. nav menu

Comparison methods

  1. ASCII_GRID
    • SWIPE
      • 标准 vs 计算结果
      • 计算结果1 vs 计算结果2 (彼此之间的比较先不做,没有标准)
    • MIXING
      • 计算结果1-标准 vs 计算结果2-标准
  2. Table
    • STATISTIC
      • 结果1 vs 结果2
    • CHART
      • 标准 vs 计算结果
      • 计算结果1 vs 计算结果2

Calculation task

  • IO的预览、下载