将特殊的ascii格式转换为netcdf格式的软件

jaws的Python项目详细描述


sharknasayopp

合理的自动气象站(JAWS)软件

构建状态生成状态documentation status

水蟒服务器徽章水蟒服务器徽章水蟒服务器徽章水蟒服务器徽章水蟒服务器徽章水蟒服务器徽章


文档

有关详细文档,请访问jaws主页。

支持的AWS网络

aawsgcnetIMAUpolenetpromise疤痕nsidc

站点数=620

数据站年数=4000+

南极洲和格陵兰岛地图,以及所有站点的位置,请参见站点地图部分。

如果您的网络不在上面的列表中,并且您希望jaws支持它, 请打开一个问题,或在zender@uci.edu联系charlie zender

新闻

2019/08/11:版本0.9.1发布:添加新网络NSIDC

2019/07/17:版本0.9发布:scar的正确时间变量;添加提示

2019/05/16:版本0.8.5已发布:支持Promice v03文件;--hpa选项

2019/05/03:0.8.4版发布:TXT文件分析

2019/04/23:版本0.8.3发布:GCnet的梯度通量

2019/04/14:版本0.8.2发布:摄氏度选项

2019/04/04:版本0.8.1发布:RIGB修复1小时轮班问题;CMIP命名

2019/03/30:版本0.8发布:RIGB改进,文档

2019/02/06:0.7版发布:增加了Polenet网络

2019/01/11:0.6.5版本发布:RIGB后处理

2018/12/07:0.6.3版发布:RIGB调整焊剂存档

2018/10/31:版本0.6发布:RIGB倾斜校正

2018/10/08:0.5版发布:Scar Stations可通过Jaws转换为NetCDF

2018年5月23日:版本0.4发布:pip可安装,analysis.py可从"jaws"关键字调用

2018年4月18日:版本0.3发布:conda可安装

2018/01/22:0.2版发布:完成GCNET、ProMICE和AAWS网络的转换

2017/10/23:0.1版发布:文山原创

关于

JAWS是一个科学的软件工作流程,它以现在分布的多种格式摄取2级(L2)数据,将其统一为通用格式,并提供适合网络运营商分发的增值3级(L3)输出,由研究人员进行分析,由数据中心管理。美国航天局从20171001年到20190930年资助了JAWS项目(项目摘要)。

自动气象站(aws)和类似aws的网络是偏远极地地区地面气象数据的主要来源。这些网络已经有机地独立地发展起来,并以特殊的ascii格式向研究人员提供数据,这些格式阻碍了网络之间的自动化处理和相互比较。此外,台站倾斜导致极性aws测量辐射和风向的显著偏差。研究人员、网络运营商和数据中心将从类似aws的数据中获益,这些数据采用通用格式,易于自动化分析,并针对已知的偏差进行调整。

直接目标接收者元素是Polar AWS网络管理器、用户和数据分发器。L2钻孔数据与非极性AWS数据一样,也存在类似的互操作性问题。因此,我们的L3格式将扩展到全球AWS和永久冻土网络。jaws将在原位增加数据访问性和实用性,并启用新的衍生产品。

概述

钳口包括:

1)标准化

将二级数据(通常是ascii表)转换为基于netcdf的三级格式,符合促进自动发现和分析的元数据约定(气候预测和acdd)。

2)调整

包括增值的L3功能,如回顾、迭代、基于几何的(RIGB)倾斜角和方向校正、太阳天顶角、标准质量标志、GPS导出的冰速度和湍流通量。

3)美国石油学会

提供脚本e API将最初的L2到L3转换扩展到更新的AWS,如网络和仪器。


安装

要求:

  • python 2.7、3.6或3.7(从jaws版本0.7开始)

使用conda(linux、mac osx和windows)安装预构建的二进制文件

到目前为止,安装jaws的最简单和推荐的方法是使用conda(这是一个很棒的包管理器,它附带有anacondaminiconda分发)。

您可以使用以下命令安装jaws及其所有依赖项:

$ conda install -c conda-forge jaws

从源安装

如果不使用conda,则可以使用以下命令从源安装jaws

$ pip install jaws

(它将从pypi存储库下载最新的稳定版本并触发构建过程。)

pip默认将python包安装到系统目录(例如/usr/local/lib/python2.7)。这需要根访问。

如果您没有根/管理访问权限,则可以使用:

$ pip install jaws --user

--用户改为在主目录中安装pip包,这不需要任何特殊权限。

更新

用户应使用:

$ conda update -c conda-forge jaws

$ pip install jaws --upgrade

示例

jaws是一个命令行工具。linux/unix用户可以从终端运行jaws,windows用户可以从anaconda提示符运行jaws。

当前版本可以将以下网络中的二级ascii数据转换为netcdf格式:

Note:

For PROMICE, input file name must contain station name. e.g. 'PROMICE_KAN-B.txt' or 'KAN-B.txt' or 'Kangerlussuaq-B_abc.txt', etc.

For IMAU, input file name must start with network type(i.e. 'ant' or 'grl'), followed by a underscore and then station number. e.g. 'ant_aws01.txt' or 'ant_aws15_123.txt' or 'grl_aws21abc.txt', etc.

For SCAR, input file name must end with '_aws.dat'

For POLENET, input file name must start with 'polenet_'

用户提供输入文件路径。默认情况下,输出文件将存储在与输入文件同名的当前目录中(例如promice_egp_20160501.nc)。用户可以选择给出自己的输出路径/名称。执行此命令以获取当前目录中的输出文件:

$ jaws ~/Downloads/PROMICE_EGP_20160501.txt

或者指定更长的路径,并使用选项:

$ jaws -4 -o ~/Desktop/PROMICE_EGP_20160501.nc ~/Downloads/PROMICE_EGP_20160501.txt
$ jaws -4 -o ~/Desktop/GCNet_Summit_20140601.nc ~/Downloads/GCNet_Summit_20140601.txt
$ jaws -4 -o ~/Desktop/AAWS_AGO-4_20161130.nc ~/Downloads/AAWS_AGO-4_20161130.txt

其中,可选-o的参数是用户定义的输出文件名

所有选项的列表可以在这里找到

钻井平台 <道琼斯指数>nload sample data from此处

运行rigb:

$ jaws ~/Downloads/gcnet_summit_20120817.txt --rigb

rigb使用climlab来模拟晴空辐射。

增值信息

除了输入变量之外,jaws还在输出netcdf文件中提供以下变量以使数据更有用:

  • 时间(从1970-01-01 00:00开始的秒数)
  • 时间界限
  • sza(太阳天顶角)
  • 纬度
  • 经度
  • Ice_GPS_Velocity_x,Ice_GPS_Velocity_y,Ice_GPS_Velocity_total(用于存档GPS位置的站点)
  • 年、月、日、时
  • 调整后的短波通量(校正的下行短波通量)

分析示例

目前,用于分析的输入文件应采用netcdf格式。因此,首先,原始的ascii文件应该转换为 使用前面步骤的netcdf。我们正在努力使它接受ascii文件作为输入。

在下面的示例中,我们在summit上使用了gcnet站,如果您使用的是单独的网络,则需要更改 相应的变量名。

Jaws能够以多种方式分析数据,如:

i.白天

jaws可用于绘制每月的日循环图,以查看整个月内任何变量的小时变化。 用户需要提供输入文件路径、变量名(需要对其进行分析)和 分析类型(即日、月、年或季节)。分析的参数是-a,--anl或--analysis和 变量名是-v,--var或--variable

我们将举两个例子:

  • 案例1:输入文件仅包含1天的数据。我们将考虑先前转换的文件,即 gcnet_summit_20120817.nc

    使用以下命令查看一天中温度如何变化:

    $ conda install -c conda-forge jaws
    
    0

     src=

  • 案例2:我们将使用来自GCnet Summit的多年数据。我们没有托管此数据的权限。

    因为这个档案有很多年和月,我们需要提供哪一年和哪一个月 我们要做分析。年的参数是:-y、-anl-yr或--analysis-year和 月份是-m,--anl-mth或--analysis-month

    如果输入文件只包含一年的数据,则用户不需要提供'-y'参数。 '-m'(month)参数的情况与此类似。

    我们将在2002年5月的全球通讯网络峰会上进行分析:

    $ conda install -c conda-forge jaws
    
    1

     src=

    蓝色的误差条显示整个月该小时的标准偏差。

$ conda install -c conda-forge jaws
2

Ⅱ。每月

在这一分析中,我们可以分析任何变量每月每一天的平均值、最大值和最小值

这一次,我们将对2013年2月不同传感器的温度进行如下测试:

$ conda install -c conda-forge jaws
3

monthly

三、年度

用日平均值、最大值和最小值绘制年周期:

$ conda install -c conda-forge jaws
4

注:由于是年画,用户不应提供de the'-m'参数

annual

四、季节性

显示每个月到多年变化的气候季节循环:

$ conda install -c conda-forge jaws
5

注:由于是季节图,用户不应同时提供'-y','-m'参数。

Seasonal


站点地图

南极洲

格陵兰

基准

从0.9版开始,处理Summit(GCnet)19960512到20170524的数据大约需要3.5分钟

学分

该软件由加州大学欧文分校根据美国宇航局高级信息系统技术(AIST)计划和项目80NSSC17K0540开发。

资源

错误和反馈

对于bug、问题和讨论,请使用github问题

版权和许可

版权所有(C)2017--2018加利福尼亚大学教务长。 您可以根据2.0版apache许可证的条款重新分发和/或修改jaws。

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

推荐PyPI第三方库


热门话题
java基于条件如何创建StringBuffers并向其添加数据   java如何用UNC路径解决“不表示可正确访问的目录”异常?   在执行提取方法重构后,java代码的速度降低了6倍   java如何修改LDAPCertStore中用于X509证书链验证的LDAP连接属性   awt如何在Java中捕获鼠标光标?   字符串如何设置Java输出流   java NumberFormatException:用于输入字符串:“8:00”   unix/linux“tail f”的Java IO文件实现   java打印输出。带有JOptionPane的txt文件   java解组总是显示0和null   使用MySQL的windows java JavaFX自包含应用程序打包   JavaSpring:方法getBean(String…)是如何实现的根据输入字符串查找bean?   java高效地更新RecyclerView网格或以其他方式显示复杂网格   java向ArrayList添加对象(String、String、int、int)   java在一组文档上使用ForkJoinPool