下载/操作netcdf文件的软件

MerOC的Python项目详细描述


MEROC

pypi/p>

我是在Akka工作时开发这个软件的。我曾经也受到墨卡托海洋社区(用户、同事、网络论坛讨论等等)的启发,这个社区给了我一些想法和建立这个工具的动力。这是在cmems环境中创建的第一个python应用程序,我希望随着时间的推移,它将成为正式的cmems工具。我想要解决的主要目标是解决最常见的用户问题,如数据下载请求和netcdf文件操作。

This project gave me ideas to develop other tools as , and

非常感谢您访问此页并试用此软件。

卡梅洛·萨马尔科

简介:

包含简化netcdf文件下载和操作功能的python软件。要使用下载服务(tab1:netcdf-download),必须注册到cmems门户网站(由哥白尼提供)。其他工具(tab2:netcdf-manipulations)可以在没有任何注册的情况下使用。

imgur

请注意:

由于项目开发的早期阶段,有可能发现错误、错误和不精确。如果可以,请报告。

依赖关系:

依赖项如下所示:

  • [X]netcdf4>;=1.4.2
  • [X]ftputil>;=3.4
  • [X]motuclient>;=1.8.1
  • [X]熊猫>;=0.23.4
  • [X]xarray>;=0.11.0
  • [X]CSV342>;=1.0.0
  • [X]形状>;=1.6.4.post1
  • [x]fiona>;=1.8.4
  • [X] Cdo>;=1.4.0

Unix用户安装(Linux发行版和Mac OSX系统):

如果有兴趣充分使用"tab2:netcdf操作",请安装cdo-气候数据运算符。实际上,在上面提到的选项卡中需要运行一些函数。为此,您可以使用以下命令:

sudo apt-get install cdo

另外,请考虑安装anaconda3.*版本(请注意,建议使用此软件python~=3.6)。下载bash文件(.sh)后,可以使用以下命令在终端中执行它:

bash file_installation_Anaconda_downloaded.sh

此外,建议更新pip、setuptools和wheels。您可以执行以下命令:

python -m pip install --upgrade pip setuptools wheel

之后,使用以下命令运行软件安装:

pip install MerOC

安装结束后,只需键入终端"meroc",按回车键,应用程序将弹出。

Windows用户安装:

首先,请安装cdo-climate data operator。需要在"tab2:netcdf操作"中运行一些函数。您可以从产品网页下载满足系统特性的版本。解压下载的文件夹后,只需运行.exe文件即可在Windows操作系统中安装CDO。

另外,请考虑安装anaconda3.*版本(请注意,建议使用此软件python~=3.6)。从您下载的文件将是stardard可执行文件(.exe)。在运行安装之前,请确保勾选"在Windows路径环境变量中添加蟒蛇包的路径"选项。

此外,建议更新pip、setuptools和wheels。您可以执行以下命令:

python -m pip install --upgrade pip setuptools wheel

在开始软件安装之前,必须手动配置和安装一些python依赖项,这些依赖项不是由stardard'pip'windows命令安装正确管理的。我所说的依赖关系是"shapely"和"fiona"。它们是用于地理空间操作的基本python模块,包含在这个python软件中(将netcdf变量导出为shapefile,仅举一个例子)。在这个特定的场景中,特别是在windows操作系统中,能够使用python轮子安装所需的模块非常方便。事实上,它们已经被预先编译,然后很容易从windows操作系统中消化。加州大学欧文分校荧光动力学实验室的christoph gohlke负责维护一个大型的python wheels库。请注意,对于每个模块,您都需要选择一台机器来定义您的python版本和pc处理器特性(32位或64位)。如果我们以"shapely-1.6.4.post1-cp37-cp37m-win32.whl"为例,"cp37"表示python版本为3.7.*,而"win32"表示处理器类型为32位。python版本也可以表示为"py3"、"py2"或"py2.py3"。后者当2.*和3.*python版本都可以使用时。要安装控制盘文件,只需在控制盘所在的同一位置运行"pip install[wheel_file]"。要在"shapely"和"fiona"的安装过程中成功,您必须按照下面列出的顺序执行以下步骤:

  1. 安装gdal单击cligji点击插件费欧纳〈费欧纳〉费欧纳〈费欧纳〉费欧纳〈费欧纳〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧纳〉〈费欧www.lfd.uci.edu/%7egohlke/蟒蛇/#shapely" rel="nofollow">shapely来自Python Wheels库。现在,您可以执行以下步骤了。

  2. 安装齿轮。我建议您不要将gdal模块与osgeo4w或其他类似的发行版一起使用,因为它们可能会发生冲突,然后产生错误和故障。还要将gdal library path添加到windows path环境变量(类似于"c:\ pyhon_version\lib\site packages\osgeo")中。要知道如何添加gdal path变量,可以检查此处。最后,我们现在可以测试gdal模块了。在此之前,请关闭并重新打开命令提示符,然后从任何路径位置执行此命令:

  3. < > >
    gdalinfo --help-general
    

    如果gdal配置正确,它将显示其使用说明。

    1. 安装之前下载的其他python wheels模块(不包括gdal),并遵循列表顺序(从上到下):
    2. < > >
      • 单击
      • cligj
      • 单击"U插件"
      • 属性
      • 咀嚼
      • 菲奥娜
      • Pyproj
      • 形状

      现在已经安装了所有最讨厌的依赖项(至少对于Windows OS),您可以执行:

      pip install MerOC
      

      安装结束后,只需键入终端"meroc",按回车键,应用程序将弹出。

      功能:

      程序分为两个选项卡。第一个选项卡由下载机制特别使用,而第二个选项卡包含操作netcdf文件的工具(参见上图)。更多详细信息如下:

      选项卡1:netcdf下载

      此选项卡允许通过边界框、变量、深度和时间覆盖范围对cmems产品进行子集,然后按天、月、深度或仅作为一个文件下载所请求的数据。下载的方式与数据的时间覆盖率密切相关。事实上,对于一个非常大的时间窗口(例如,年或至少超过2个月的数据),使用"每月下载"方法(每月生成一个文件)更明智,而对于几天来说,可以使用简单的"下载"和"每天下载"方法(前者只生成一个tput文件,后者为每天的一个文件。

      下面我将展示"tab 1:netcdf下载"的更详细的图像。不同的颜色会突出显示不同的"标签"部分。

      imgur

      imgur

      我可以将"tab 1:netcdf download"的工作流程总结如下:

      1)用所需的所有参数填写表格

      • cmems usename
      • cmems密码
      • 产品:产品名称
      • 数据集:数据集的名称
      • 长最小/最大值:经度最小和最大值
      • < >ng>纬度最小值/最大值:纬度最小值和最大值
      • 深度最小值/最大值:深度最小值和最大值(如果可用)
      • 日期开始/结束:由日期和时间定义(从[hh:mm:ss]的[date_start]到[date end]的[hh:mm:ss])
      • 变量-1,2,3:最多允许三个变量。如果你想少用,就把手机空着。
      • 文件名:如果只是由单个文件下载方法使用,则还需要键入该文件名)
      • 输出目录:要保存数据的输出目录

      2)生成motuclient脚本

      3)下载数据

      要做到这一点,只需点击更合适的方法(根据您的需要)。如前所述,下载机制将允许您按深度、天数、月份、月份和深度、每年(仅在网格点请求时非常有用)或按单个文件下载数据。所有下载机制在上图中均以黄色突出显示。

      表2:netcdf操作

      此选项卡可以转换不同格式的netcdf文件(csv、网格和形状文件),连接来自同一数据集但处于不同时间步的数据段,并根据时间函数拆分数据。可以按天(dd)、月(yyyymm)和年(yyyy)拆分数据,还可以为生成的数据添加后缀。有关此选项卡中包含的功能的更多详细信息显示在名为tool4nc的单独发布的python模块中,该模块提供了一个简单的编码形式,包括所有操作功能。

      独立窗口应用程序:


      Windows操作系统应用程序可从这里

      这个应用程序仍然是一个原型,然后正在开发中。我刚决定给你一个预览。只是为了您的信息和技术原因,目前许多功能都不起作用,特别是在"tab2:netcdf操作"中,此时唯一有效的功能是转换成csv。

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

      推荐PyPI第三方库


热门话题
java需要一种简单的方法来创建用于排序的comparator类   java getReadableDatabase和getWriteableDatabase无法解析   查找列表<Long>中与某个元素对应的所有索引的java方法   安卓将视图添加到ViewFlipper会导致java。StackOverflowerr语言   java根据它所包含的长“curTime”类字段将N的列表拆分为24(小时)   Android N中的Java8流API   自动生成Java策略文件的安全性   垃圾收集鼓励Java中的主要GC(但不是STW GC)   java如何检查UDP服务器上侦听的客户端数量   在前一台主机被Datastax Java驱动程序关闭后,Cassandra尝试重新连接到下一台主机   java如何使用Spring Boot创建部分代理   java是否有一个网站或资源可以完全比较EJB版本   java无需使用第三方库从gradle生成输出   继承由于这个多态性的基本示例中的语法有什么不同吗?(爪哇)   java字符串数组中的空字符串   java为什么CMS中的初始标记阶段是串行的   为什么Lucene有时与InChIKeys不匹配?   安卓通知Java应用程序数据库中的更改   java如何将单个json对象值解析为按钮   java打印堆栈将运行时错误跟踪到文件