跳转到主要内容

IMAP SDC 数据访问

项目描述

IMAP 数据访问包

All Contributors

这个轻量级Python包允许用户从IMAP科学数据中心(SDC)下载、查询和上传数据。

有关更多信息,请参阅详细说明

命令行工具

安装

pip install imap-data-access
imap-data-access -h

基本命令参数

$ imap-data-access query # or
$ imap-data-access download # or
$ imap-data-access upload

添加'-h'帮助标志以获取任何基本命令的更多信息

查询/搜索数据

查找来自SWE仪器的所有文件

$ imap-data-access query --instrument swe
Found [3] matching files
|-----------------------------------------------------------------------------------------------------------------------------------|
| Instrument | Data Level | Descriptor      | Start Date | Repointing | Version | Filename                                          |
|-----------------------------------------------------------------------------------------------------------------------------------|
| swe        | l0         | raw             | 20240510   |            | v022    | imap_swe_l0_raw_20240510_v022.pkts                |
| swe        | l1a        | sci             | 20240510   |            | v022    | imap_swe_l1a_sci_20240510_v022.cdf                |
| swe        | l1b        | sci             | 20240510   |            | v022    | imap_swe_l1b_sci_20240510_v022.cdf                |
|-----------------------------------------------------------------------------------------------------------------------------------|

在2024年期间查找所有文件,并将响应作为原始json返回

$ imap-data-access query --start-date 20240101 --end-date 20241231 --output-format json
[{'file_path': 'imap/swe/l0/2024/01/imap_swe_l0_sci_20240105_v001.pkts', 'instrument': 'swe', 'data_level': 'l0', 'descriptor': 'sci', 'start_date': '20240105', 'version': 'v001', 'extension': 'pkts'}, {'file_path': 'imap/swe/l0/2024/01/imap_swe_l0_sci_20240105_v001.pkts', 'instrument': 'swe', 'data_level': 'l0', 'descriptor': 'sci', 'start_date': '20240105', 'version': 'v001', 'extension': 'pkts'}]

下载一个文件

在2024/01/05下载一个0级SWE文件

[!注意] 确保目录配置正确,有关更多信息,请参阅数据目录部分

$ imap-data-access download imap/swe/l0/2024/01/imap_swe_l0_sci_20240105_v001.pkts
Successfully downloaded the file to: <IMAP_DATA_DIR>/imap/swe/l0/2024/01/imap_swe_l0_sci_20240105_v001.pkts

上传一个文件

在解码l0 CCSDS ".pkts"文件后上传l1a文件

$ imap-data-access upload /imap/swe/l1a/2024/01/imap_swe_l1a_sci_20240105_v001.cdf
Successfully uploaded the file to the IMAP SDC

作为包导入

import imap_data_access

# Search for files
results = imap_data_access.query(instrument="mag", data_level="l0")
# results is a list of dictionaries
# [{'file_path': 'imap/swe/l0/2024/01/imap_swe_l0_sci_20240105_v001.pkts', 'instrument': 'swe', 'data_level': 'l0', 'descriptor': 'sci', 'start_date': '20240105','version': 'v001', 'extension': 'pkts'}, {'file_path': 'imap/swe/l0/2024/01/imap_swe_l0_sci_20240105_v001.pkts', 'instrument': 'swe', 'data_level': 'l0', 'descriptor': 'sci', 'start_date': '20240105', 'version': 'v001', 'extension': 'pkts'}]

# Download a file that was returned from the search
imap_data_access.download("imap/mag/l0/2024/01/imap_mag_l0_raw_202040101_v001.pkts")

# Upload a calibration file that exists locally
imap_data_access.upload("imap/swe/l1a/2024/01/imap_swe_l1a_sci_20240105_v001.cdf")

配置

数据目录

IMAP SDC内部的数据文件文件夹结构是严格定义的,因此数据访问将模仿该结构,以确保所有数据都存储在与SDC相同的层级结构中。这将使用户的本地系统与SDC之间的过渡变得无缝。这仅用于下载。

用户的根数据位置可以指定为环境变量IMAP_DATA_DIR或通过包内部的配置字典imap_data_access.config["DATA_DIR"]。如果未设置IMAP_DATA_DIR变量,则程序默认为用户当前工作目录+data/

以下是IMAP SDC使用的目录结构。

<IMAP_DATA_DIR>/
  imap/
    <instrument>/
      <data_level>/
        <year>/
          <month>/
            <filename>

例如,如果IMAP_DATA_DIR=/data

/data/
  imap/
    swe/
      l0/
        2024/
          01/
            imap_swe_l0_sci_20240105_v001.pkts

数据访问URL

要更改包访问的默认URL,可以设置环境变量IMAP_DATA_ACCESS_URL或包内部imap_data_access.config["DATA_ACCESS_URL"]。默认为开发服务器https://api.dev.imap-mission.com

故障排除

网络问题

SSL

如果您遇到类似于以下SSL错误

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>

这通常意味着您使用的Python环境没有正确找到系统根证书。这意味着您需要通过以下潜在解决方案告诉Python如何找到这些证书。

  1. 升级certifi包

    pip install --upgrade certifi
    
  2. 安装系统证书 根据您安装程序时使用的Python版本,命令将类似于以下内容

    /Applications/Python\ 3.10/Install\ Certificates.command
    

HTTP错误502:网关错误

这可能意味着该服务暂时关闭。如果您继续遇到此问题,请联系IMAP SDC,邮箱为imap-sdc@lasp.colorado.edu

文件未找到错误

这可能意味着本地数据目录没有设置与SDC相同的路径。请参阅数据目录部分以获取设置示例。

文件验证

此包验证文件名和路径,检查它们是否遵循我们根据文件名约定定义的标准。还有可供其他包使用的类,用于创建遵循IMAP SDC约定的文件路径和文件名。

要使用此类,请使用imap_data_access.ScienceFilePath

用法

science_file = imap_data_access.ScienceFilePath("imap_swe_l0_sci_20240101_v001.pkts")

# Filepath = /imap/swe/l0/2024/01/imap_swe_l0_sci_20240101_v001.pkts
filepath = science_file.construct_path()

贡献者 ✨

感谢以下这些优秀的人(emoji键)

Greg Lucas
Greg Lucas

💻
Matthew Bourque
Matthew Bourque

💻
Maxine Hartnett
Maxine Hartnett

💻
Michele Facchinelli
Michele Facchinelli

💻
anamanica
anamanica

📖
Daralynn Rhode
Daralynn Rhode

📖 💻

此项目遵循all-contributors规范。欢迎任何类型的贡献!

项目详细信息


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

imap_data_access-0.10.0.tar.gz (23.9 kB 查看哈希值)

上传时间

支持