输入模板框架

edam的Python项目详细描述


欢迎光临

目录

安装

这个项目运行在python3上。因此,应该安装python3。

对于发出brew install python3的macos用户,应该可以做到这一点。 上面的命令安装python3(/usr/local/bin/python3)和pip3(/usr/local/bin/pip3)。

您可以安装并运行此版本。发布以下内容:

PIP3安装EDAM

以上命令在您的系统中安装edam。 它们还会在系统的主目录中创建一个.edam文件夹。 所有与EDAM相关的文档都位于此文件夹中。 用户起草的模板和metadat,以及输入的文件都应该放在这个文件夹中。

有关建议的工作流的更多信息,请在此处找到。

测试用例

使用edam命令分析数据集后,可以发出viewer命令 一个网络服务在你的电脑上启动。如果未更改settings.yaml (检查提议的工作流)rel="nofollow">提议的工作流已创建,您可以访问 http://127.0.0.1:5000并查看数据。

有关edam命令用法的详细信息,请在终端中发出edam--help

AGMIP和APSIM气象数据文件

农业模式互比与改进项目(agmip)使农业模式数据共享成为人们关注的焦点。 在agmip中,各种农业模型(如apsim)被转换为agmip数据方案。

agmip和apsim数据文件使用不同的时间戳组件。 这里的挑战是将它们组合成一个通用的时间戳。 APSIM使用儒略日期和,而AGMIP时间戳通过日期组件表示。

另一个挑战与apsim数据文件序言中编码的元数据有关。 具体来说,在时间序列之前,存在站点元数据,例如站点名称、位置和其他。 APSIM数据文件共享相同的结构,因此这些前导码编码的元数据区分不同的站点。

AGMIP数据文件

AGMIP数据集
@DATE    YYYY  MM  DD  SRAD  TMAX  TMIN  RAIN  WIND  DEWP  VPRS  RHUM
1980001  1980   1   1  15.0  26.0  12.2   0.0   1.4   4.8   8.6    25
1980002  1980   1   2   6.9  21.2   9.5   0.0   1.6   8.1  10.8    42
1980003  1980   1   3  10.7  22.2  14.7   8.0   1.5  11.9  14.0    52
1980004  1980   1   4  15.6  24.0  10.0   0.0   2.9   9.2  11.7    39
1980005  1980   1   5  16.3  23.9  12.0   0.0   2.7   1.7   6.9    23
1980006  1980   1   6  15.0  23.0  11.8   0.0   2.7   2.8   7.5    26
1980007  1980   1   7  16.5  22.2  11.4   0.0   2.5  -0.5   5.9    22

AGMIP模板
@DATE    YYYY  MM  DD  SRAD  TMAX  TMIN  RAIN  WIND  DEWP  VPRS  RHUM
{%for timestamp, srad, tmax, tmin, rain, wind, dewp, vprs, rhum in chunk%}
1980001  {{timestamp.year}}   {{timestamp.month}}   {{timestamp.day}}  {{srad.value}}  {{tmax.value}}  {{tmin.value}}   {{rain.value}}   {{wind.value}}   {{dewp.value}}   {{vprs.value}}    {{rhum.value}}
{%endfor%}

agmip元数据
Station:name:Agmipmobile:Falselatitude:23.200longitude:89.330license:Attributiontags:key1:value1key2:value2Observables:-observable_id:tminname:Temperature Minontology:http://edam.gr#Temperaturequalifiers:http://edam.gr#min-observable_id:tmaxname:Temperature Maxontology:http://edam.gr#Temperaturequalifiers:http://edam.gr#max-observable_id:rainname:Rainontology:http://edam.gr#Rain-observable_id:sradname:Solar radiationontology:http://edam.gr#SolarRadiation-observable_id:windname:Windontology:http://edam.gr#WindSpeed-observable_id:rhumname:Humidityontology:http://edam.gr#RelativeHumidity-observable_id:vprsname:Vprsontology:http://edam.gr#VaporPressure-observable_id:dewpname:Dewing pointontology:http://edam.gr#DewingPointUnits of Measurement:-name:Megajoule per square metresymbol:MJ/m^2relevant_observables:srad-name:Kilopascalsymbol:kParelevant_observables:vprs-name:Percentsymbol:\%relevant_observables:rhum-name:Celciussymbol:degCrelevant_observables:tmin, tmax, dewp-name:Millimeterssymbol:mmrelevant_observables:rain-name:kilometers per hoursymbol:km/hrrelevant_observables:wind

分析agmip

大约2秒钟后执行以下命令:

edam——输入agmip.csv——模板agmip.tmpl—元数据agmip.yaml—删除"是"

APSIM站

APSIM数据集

[weather.met.weather]

Latitude   =   36.68
longitude   =   116.98
tav   =   14.6   (oC)   !   annual   average   ambient   temperature
amp   =   28.2   (oC)   !   annual   amplitude   in   mean   monthly   temperature
!!!!   1/01/1961   to   31/12/2005
   day   year   radn   maxt   mint   rain   wind   RH
   273   2002   17.5   27.2   14.6   0   3.5   54
  274   2002   13.6   23.1   14.7   0   5.3   40
  275   2002   15.8   27.1   11.1   0   5.5   29
  276   2002   15.5   25.8   16.5   0   3.8   39
  277   2002   14.9   25.5   14.6   0   2.5   63
  278   2002   15.2   23.1   15.2   0   3   47
  279   2002   13.4   19.9   10.9   0   3   38
  280   2002   15.7   19.3   8.2   0   2.5   47

APSIM模板

[weather.met.weather]

Latitude   =   {{station.latitude}}
longitude   =   {{station.longitude}}
tav   =   {{station.tags.tav}}
amp   =   {{station.tags.amp}}
!!!!   1/01/1961   to   31/12/2005
   day   year   radn   maxt   mint   rain   wind   RH
{%for timestamp, radn,maxt,mint,rain,wind,RH in chunk%}
{{timestamp.dayofyear}}  {{timestamp.year}}  {{radn.value}}  {{maxt.value}}  {{mint.value}}  {{rain.value}}  {{wind.value}}  {{RH.value}}
{%endfor%}

APSIM元数据

Station:name:Yuchenglicense:AttributionObservables:-observable_id:mintname:Temperatureontology:http://edam.gr#Temperaturequalifiers:http://edam.gr#min-observable_id:maxtname:Max Temperatureontology:http://edam.gr#Temperaturequalifiers:http://edam.gr#max-observable_id:rainname:Rainontology:http://edam.gr#Rain-observable_id:radnname:Solar radiationontology:http://edam.gr#SolarRadiation-observable_id:windname:Windontology:http://edam.gr#WindSpeed-observable_id:RHname:Relative humidityontology:http://edam.gr#RelativeHumidityUnits of Measurement:-name:Millijoule per square meterssymbol:mJ/m^2relevant_observables:radn-name:Percentsymbol:\%relevant_observables:RH-name:Celciussymbol:degCrelevant_observables:mint, maxt-name:Millimeterssymbol:mmrelevant_observables:rain-name:Meters per secondsymbol:m/srelevant_observables:wind

分析apsim

以下命令在不到1秒的时间内执行:

edam--input yucheng.met--template yucheng.tmpl--metadata yucheng.yaml--drop yes

英国气象局

在公开数据的背景下,英国气象局报告了27个气象站的历史观测结果。 对于每个站点,每月的观测数据都存储在一个文本文档中。 每个月都会有新的观测结果,每个气象站都可以在某个uri上找到。 uri遵循以下模式: http://www.metoffice.gov.uk/pub/data/weather/uk/climate/stationdata/{station name}data.txt,其中{station name}替换为实际的站名。

气象局气象站文件中报告的数据点有特殊标记。 这里的挑战是建立标记和属性之间的关系。 这种关系用自然语言表达,在每个文件的序言中都有定义。 例如,"估计数据在值后用*标记"。 这些类型的元数据是必不可少的,因此必须对它们进行分析和存储。

英国气象数据集

Cwmystwyth
Location: 277300E 274900N, Lat 52.358 Lon -3.802, 301 metres amsl
Estimated data is marked with a * after the value.
Missing data (more than 2 days missing in month) is marked by  ---.
Sunshine data taken from an automatic Kipp & Zonen sensor marked with a #, otherwise sunshine data taken from a Campbell Stokes recorder.
   yyyy  mm   tmax    tmin      af    rain     sun
              degC    degC    days      mm   hours
   1959   1    4.5    -1.9      20    ---     57.2
  1959    2    7.3     0.9      15    ---     87.2
  1959    3    8.4     3.1       3    ---     81.6
  1959    4   10.8     3.7       1    ---    107.4
  1959    5   15.8     5.8       1    ---    213.5
  1959    6   16.9     8.2       0    ---    209.4
  1959    7   18.5     9.5       0    ---    167.8
  1959    8   19.0    10.5       0    ---    164.8
  1959    9   18.3     5.9       0    ---    196.5
  1959   10   14.8     7.9       1    ---    101.1
  1959   11    8.8     3.9       3    ---     38.9
  1959   12    7.2     2.5       3    ---     19.2

英国气象局模板

{{station.name}}
Location:{{station.location}}, Lat {{station.latitude}} Lon {{station.longitude}}, {{station.tags.altitude}}
Estimated data is marked with a * after the value.
Missing data (more than 2 days missing in month) is marked by  ---.
Sunshine data taken from an automatic Kipp & Zonen sensor marked with a #, otherwise sunshine data taken from a Campbell Stokes recorder.
   yyyy  mm   tmax    tmin      af    rain     sun
              degC    degC    days      mm   hours
{%for timestamp, tmax,tmin,af,rain,sun in chunk%}
{{timestamp.year}}  {{timestamp.month}}  {{tmax.value}}  {{tmin.value}}  {{af.value}}  {{rain.value}}  {{sun.value}}
{%endfor%}

英国气象元数据

Station:license:Attributionregion:United Kingdomurl:http://www.metoffice.gov.uk/tags:key1:value1key2:value2Observables:-observable_id:tminname:Temperature minimumontology:http://edam.gr#Temperaturequalifiers:http://edam.gr#min-observable_id:tmaxname:Temperature Maxontology:http://edam.gr#Temperaturequalifiers:http://edam.gr#max-observable_id:rainname:Rainontology:http://edam.gr#Rain-observable_id:afname:Days of air frostontology:http://edam.gr#AirFrostDays-observable_id:sunname:Sunshine durationontology:http://edam.gr#SunShineDurationUnits of Measurement:-name:Dayssymbol:Drelevant_observables:af, sun-name:Celciussymbol:degCrelevant_observables:tmin, tmax-name:Millimeterssymbol:mmrelevant_observables:rain

分析所有英国气象站

以下命令从27个气象站下载并存储数据。 大约9秒钟后执行。

edam--input"http://www.metoffice.gov.uk/pub/data/weather/uk/climate/stationdata/{\$var}data.txt"--template uk.tmpl--metadata uk.yaml--var"阿伯波特、阿尔马、巴利帕特里克、坎伯恩、剑桥、卡迪夫、奇维诺、cwmystwyth、邓斯塔夫纳奇、达勒姆、伊斯特本,eskdalemuir"--删除"是"

澳大利亚气象局(在线)

澳大利亚气象局(bom)提供多个气象站的历史时间序列。 它们涉及每月在html文档中发布的每日观察结果。 它们共享相同的结构和语义,并且可以在线使用。 用户可以通过创建URL来访问时间序列,URL包含有关所请求站点ID和月份/年份的信息。 例如,2017年10月阿德莱德站(5002站id)气象数据的url为:
http://www.bom.gov.au/climate/dwo/201710/text/idcjdw5002201710.csv

人们以bom时间序列的结构来看待管理bom时间序列的挑战。 在大多数其他情况下,对于给定的时间戳,每个数据行对应于一个观测值。 但是,对于相同的每日采样时间戳,每个bom行有两个观测值。 这两个观察是在一天的不同时间进行的。 此采样小时将补充双日观测的每日采样时间戳,编码在数据集的头中。

物料清单数据集

@DATE    YYYY  MM  DD  SRAD  TMAX  TMIN  RAIN  WIND  DEWP  VPRS  RHUM
1980001  1980   1   1  15.0  26.0  12.2   0.0   1.4   4.8   8.6    25
1980002  1980   1   2   6.9  21.2   9.5   0.0   1.6   8.1  10.8    42
1980003  1980   1   3  10.7  22.2  14.7   8.0   1.5  11.9  14.0    52
1980004  1980   1   4  15.6  24.0  10.0   0.0   2.9   9.2  11.7    39
1980005  1980   1   5  16.3  23.9  12.0   0.0   2.7   1.7   6.9    23
1980006  1980   1   6  15.0  23.0  11.8   0.0   2.7   2.8   7.5    26
1980007  1980   1   7  16.5  22.2  11.4   0.0   2.5  -0.5   5.9    22
0

物料清单模板

@DATE    YYYY  MM  DD  SRAD  TMAX  TMIN  RAIN  WIND  DEWP  VPRS  RHUM
1980001  1980   1   1  15.0  26.0  12.2   0.0   1.4   4.8   8.6    25
1980002  1980   1   2   6.9  21.2   9.5   0.0   1.6   8.1  10.8    42
1980003  1980   1   3  10.7  22.2  14.7   8.0   1.5  11.9  14.0    52
1980004  1980   1   4  15.6  24.0  10.0   0.0   2.9   9.2  11.7    39
1980005  1980   1   5  16.3  23.9  12.0   0.0   2.7   1.7   6.9    23
1980006  1980   1   6  15.0  23.0  11.8   0.0   2.7   2.8   7.5    26
1980007  1980   1   7  16.5  22.2  11.4   0.0   2.5  -0.5   5.9    22
1

物料清单元数据

@DATE    YYYY  MM  DD  SRAD  TMAX  TMIN  RAIN  WIND  DEWP  VPRS  RHUM
1980001  1980   1   1  15.0  26.0  12.2   0.0   1.4   4.8   8.6    25
1980002  1980   1   2   6.9  21.2   9.5   0.0   1.6   8.1  10.8    42
1980003  1980   1   3  10.7  22.2  14.7   8.0   1.5  11.9  14.0    52
1980004  1980   1   4  15.6  24.0  10.0   0.0   2.9   9.2  11.7    39
1980005  1980   1   5  16.3  23.9  12.0   0.0   2.7   1.7   6.9    23
1980006  1980   1   6  15.0  23.0  11.8   0.0   2.7   2.8   7.5    26
1980007  1980   1   7  16.5  22.2  11.4   0.0   2.5  -0.5   5.9    22
2

分析2017年7月的所有物料清单站

下面的命令将生成574个站点的url,下载并存储它们。 最终有478个车站。
这个命令需要一些时间来执行(大约。5分钟)。

edam--input"http://www.bom.gov.au/climate/dwo/201707/text/idcjdw{2-8}0{01-82}.201707.csv"--template bom.tmpl--metadata bom.yaml--drop yes

EDAM模板语言

元数据文件

在元数据文件中,您可以定义可观测值站点传感器

可观测的可以具有以下属性:

  1. 名称(如风)
  2. 单位(如km/h方向)
  3. <观察>Le_id(如风)。这对应于可以在.tmpl中使用的名称< > >

    模板

    在模板中,可以在占位符({{}中仅使用元数据文件中定义的模板id

    模板id可以具有某些属性。 这些是:

    1. 值(例如{{wind.value}
    2. 时间戳。如果表(csv)有一个专用列,表示特定可观测值的时间戳,则定义为{{wind.timestamp.time}(如果是hh:mm格式的话)。
    3. 如果一列时间戳引用多个可观测值(例如bom wind_direction_max和wind_speed_max),则应将其定义为{相同的时间戳(windm spd.timestamp.time,windm dir.timestamp.time)}
    4. < > >

      如果一列的时间戳对应于每行中的所有可观测值,则用户将使用{{timestamp.}

      建议的工作流

      1. 编辑setting.yaml以与数据库系统相对应
      2. 起草元数据文件并将其放入元数据文件夹(~/.edam/metadata)
      3. 起草模板文件(~/.edam/templates
      4. 将输入csv文件添加到输入文件夹(~/.edam/inputs
      5. < > >

        欢迎加入QQ群-->: 979659372 Python中文网_新手群

        推荐PyPI第三方库


热门话题
java 安卓 XMLPullParser错误   Java响应网格布局   Java中使用递归的不同方法   java变量可能尚未初始化(边加权图)   java如何将这样的文件插入MySQL数据库   java云端点:不允许实体类型的数组或集合   java(编译器或jvm)是否以不同方式处理类的静态最终成员?如果是,怎么做   java如何从lambda表达式返回新的非抽象映射?   java JDK 7支持的最大Spring版本是什么   我们如何从java类生成DTD   java在我的例子中BindingResult、FieldErrors或GlobalErrors是否可以为null?   java[LibGDX][GWT]读取文件外观时出错。HTML格式的json[序列化异常]   字典Java不可修改密钥集映射   java Admob在firebase sdk之后显示测试广告,但不显示真实广告