添加新的cmems下载服务的python模块(主要应用于大数据请求)

ads4MO的Python项目详细描述


ADS4MO-为Mercator Ocean添加了下载服务

Build StatusBuild statusGitter

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

这个项目也给了我开发其他工具的想法,比如tool4ncMerOCenvMerOC。要了解更多关于它们的信息,请访问上面超链接的项目网页。

我还创建了一个chat社区由“gitter”提供支持,在这里可以交换想法、功能、bug等等。点击Gitter进入聊天室。

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

carmelo sammarco

简介:

python模块包含用于从cmems目录下载netcdf文件的附加下载服务,特别适用于大数据请求。可以按月、深度或日下载数据,直到最多有三个选定变量(计划增加这个数字的想法)。 它带来了一种非常直观的脚本编写方式,这是用MerOC提出的。

请注意:

该工具正在开发中,因此可以找到错误、错误和不精确之处。如果你找到了,请报告他们。

依赖关系:

默认情况下未安装的所需依赖项如下所示:

  • [X]motuclient>;=1.8.1
  • [X]ftputil>;=3.4

安装和模块使用

可以按照以下步骤在UNIX和Windows操作系统中安装和使用:

pip install ads4mo

我们可以将模块导入为:

from ads4mo import download

导入模块后,我们可以调用交互式下载过程输入;

download()

此时系统将询问:

  • 用户名和密码

  • 下载的类型,可以设置为键入以下类型之一:

    • month:所选的整个时段将按月份下载
    • depth:所选的整个时段将按深度级别下载
    • day:选定的整个时段将作为每日文件下载
    • month&depth:所选的整个时段将按月和深度级别下载
    • year:所选的整个期间将按年份下载。当你想要提取一个网格点(经度min=--longitude min和纬度min=--latitude max)的时候非常有用。
  • 开始/结束时间:如果未键入hh:mm:ss值,则“12:00:00”将用作默认值。

  • motu客户端脚本由cmems web门户生成。 请从“-motu”复制粘贴到最后。您可以保留未触及的“-out dir”<;output“dir”>;--out name<;output“filename”>;--user“username”>;--pwd“password”>;,因为它们以前已经设置过。

以下是门户网站生成的完整脚本示例:

python -m motuclient  --motu http://nrt.cmems-du.eu/motu-web/Motu --service-id GLOBAL_ANALYSIS_FORECAST_PHY_001_024-TDS --product-id global-analysis-forecast-phy-001-024 --longitude-min -180 --longitude-max 179.9166717529297 --latitude-min -80 --latitude-max 90 --date-min "2019-04-19 12:00:00" --date-max "2019-04-19 12:00:00" --depth-min 0.493 --depth-max 0.4942 --variable thetao --variable bottomT  --out-dir <OUTPUT_DIR> --out-name <OUTPUT_FILENAME> --user <USERNAME> --pwd <PASSWORD>

需要用作模块输入的内容:

--motu http://nrt.cmems-du.eu/motu-web/Motu --service-id GLOBAL_ANALYSIS_FORECAST_PHY_001_024-TDS --product-id global-analysis-forecast-phy-001-024 --longitude-min -180 --longitude-max 179.9166717529297 --latitude-min -80 --latitude-max 90 --date-min "2019-04-19 12:00:00" --date-max "2019-04-19 12:00:00" --depth-min 0.493 --depth-max 0.4942 --variable thetao --variable bottomT  --out-dir <OUTPUT_DIR> --out-name <OUTPUT_FILENAME> --user <USERNAME> --pwd <PASSWORD>

结果将在数据请求时终端/命令提示符所在的文件路径中下载。

独立应用程序(不需要安装python):


^{结构1}$Windows操作系统的独立应用程序可以从HERE下载。

该应用程序是在windows 10环境下开发、编译和测试的。一旦我有时间,我会尝试在其他windows环境中测试它。它将生成一个名为“cmems_data”的文件夹,其中将存储所有下载的数据。此文件夹将存储在可执行文件“ads4mo win.exe”所在的同一系统路径中。


MacOS的独立应用程序可以从HERE下载。

如果应用程序由于“不明开发者”消息而无法启动,则需要授予系统运行该应用程序的权限。有关详细信息,请进入security&privacy(选项卡“常规”),然后单击允许执行该工具的按钮。它将创建一个名为“cmems_data”的桌面文件夹,用于存储下载的所有数据。


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

推荐PyPI第三方库


热门话题
java文件分块,获取长度字节   java嵌入式Tomcat不执行jsf页面   java我的数据库中有2个实体,但hibernate返回其中6个。   java如何基于逗号拆分字符串   java取消已经运行的CompletableFutures的预期模式是什么   java如何在informix中从另一个数据库复制表ddl和数据   为什么图片是黑色的?   java根据字符串数组中的单词筛选列表   Java8的集合。平行流有效吗?   Kotlin中的java静态内部类   java如何在GUI中生成一列字符串   javafx如何正确使用高对比度主题?   带空格的javascript Httpurlconnection参数   java如何设置GridBagLayout的约束   java如何在一个线程可能尚未初始化时关闭另一个线程   java将简单时间格式转换为特殊时间格式(hhmmt)   安卓/java阵列重复过滤器的问题   java在队列的链接实现下,入队和出队是如何工作的   java更新sql外键约束