跳转到主要内容

未提供项目描述

项目描述

coloc_sat

PyPI Version Documentation Status

coloc_sat 是一个Python包,用于卫星数据产品的共定位。它允许您根据提供的路径和通用变量名,将来自不同卫星源的数据进行共定位。此README提供了安装指南和使用说明。此包还允许进行共定位列表。该工具可以处理的输入卫星/任务如下:WindSat / SMOS / SMAP / SAR (L1/L2) / ERA5 / HY2。SAR卫星是RCM、RadarSat-2和Sentinel1。

安装

确保已安装Python 3.9或更高版本。

使用pip

xsarcoloc_sat 的依赖项,它依赖于 GDAL。为了避免在安装 coloc_sat 时的冲突,必须先使用conda安装gdal。

conda install -c conda-forge gdal
pip install coloc-sat

使用conda

conda install -c conda-forge coloc_sat

使用mamba

mamba install -c conda-forge coloc_sat

另外,要使用RCM数据,必须安装xarray-safe-rcm(尚未在conda-forge上提供)

pip install xarray-safe-rcm

使用方法

配置

在使用 coloc_sat 之前,您需要配置您的卫星数据产品路径并定义通用变量名。请按照以下步骤操作

  1. 在您的家目录中创建一个名为 coloc_sat 的目录。
  2. coloc_sat 目录中,创建一个名为 localconfig.yml 的文件。

localconfig.yml 中,按照以下模式填写您的卫星产品路径

paths:
  SMOS:
    - '/path/to/SMOS/%Y/%(dayOfYear)/*%Y%m%d*.nc'
    - '/path2/to/SMOS//%Y/%(dayOfYear)/*%Y%m%d*.nc'
  HY2:
    - '/path/to/hy2/%Y/%(dayOfYear)/*%Y%m%d*.nc'
  ERA5:
    - '/path/to/era5/%Y/%m/era_5-copernicus__%Y%m%d.nc'
  RS2:
    L1:
      - '/path/to/rs2/L1/*/%Y/%(dayOfYear)/RS2*%Y%m%d*'
    L2:
      - '/path/to/rs2/L2/*/%Y/%(dayOfYear)/RS2_OK*/RS2_*%Y%m%d*/post_processing/nclight_L2M/rs2*owi*%Y%m%d*0003*_ll_gd.nc'
  S1:
    L1:
      - '/path/to/s1/L1/*/*/%Y/%(dayOfYear)/S1*%Y%m%d*SAFE'
    L2:
      - '/path/to/s1/L2/*/%Y/%(dayOfYear)/S1*%Y%m%d*/post_processing/nclight_L2M/s1*owi*%Y%m%d*000003*_ll_gd.nc'
      - '/path2/to/s1/L2/*/%Y/%(dayOfYear)/S1*%Y%m%d*/post_processing/nclight_L2M/s1*owi*%Y%m%d*0003*_ll_gd.nc'
  RCM:
    L1:
      - '/path/to/rcm/L1/*/%Y/%(dayOfYear)/RCM*%Y%m%d*'
    L2: []
  WS:
    - '/path/to/windsat/%Y/%(dayOfYear)/wsat_%Y%m%d*.gz'
  SMAP:
    - '/path/to/smap/%Y/%(dayOfYear)/RSS_smap_*.nc'
    - '/path2/to/smap/%Y/%(dayOfYear)/RSS_smap_*.nc'
common_var_names:
  wind_speed: wind_speed
  wind_direction: wind_direction_ecmwf
  wind_from_direction: wind_from_direction
  longitude: lon
  latitude: lat
  time: time

将路径替换为您的卫星数据产品的实际路径。使用占位符 %Y、%m、%d 和 %(dayOfYear) 从路径中自动解析日期。

共定位数据

一旦配置好路径和常用变量名称,您就可以使用 coloc_sat 来对齐数据。导入包后,根据您的需求开始对齐您的数据。

现在,导入包

import coloc_sat

然后,定义对齐所需的重要变量

delta_time=60
destination_folder = '/tmp'
listing = True
product_generation = True
product1 = '/path/to/s1/l2/s1a-ew-owi-cm-20181009t142906-20181009t143110-000003-02A122_ll_gd.nc'

以下是对齐卫星产品与任务的示例代码

ds_name = 'SMOS'
# Call the generation tool
generator = coloc_sat.GenerateColoc(product1_id=product1, ds_name=ds_namedelta_time=delta_time, product_generation=product_generation, 
                            listing=listing, destination_folder=destination_folder)
# save the results (listing and / or co-location products)
generator.save_results()

注意:您还可以使用此对齐生成器与控制台结合使用。以下是示例。

a) 此第一个示例展示了如何生成两个指定产品之间的对齐

Coloc_2_products --product1_id /path/to/rs2/L2/rs2--owi-cm-20141004t210600-20141004t210715-00003-BDBE0_ll_gd.nc --product2_id path/to/s1/L2/s1a-iw-owi-cm-20141004t211657-20141004t211829-000003-002FF5_ll_gd.nc --listing --product_generation

b) 此第二个示例展示了如何生成一个产品与任务(该任务的所有产品)之间所有可能的对齐

Coloc_between_product_and_mission --product1_id /path/to/rs2/L2/rs2--owi-cm-20141004t210600-20141004t210715-00003-BDBE0_ll_gd.nc --mission_name S1 --listing --product_generation

对齐产品的结果列表示例

列表文件名的默认参数为 'listing_coloc_' + 'MISSION_NAME1' + '_' + 'MISSION_NAME2' + '_' + 'delta_time' + '.txt'

产品名称示例: 'listing_coloc_ERA5_SAR_60.txt'

注意:对于 RCM、RadarSat-2 和 RCM,使用 'SAR'

内容

/path/to/era5/era_5-copernicus__20181009.nc:path/to/S1/L2/s1a-ew-owi-cm-20181009t142906-20181009t143110-000003-02A122_ll_gd.nc

对齐结果 xarray 产品示例

对齐产品文件名的默认参数为 'sat_coloc_' + 'product_name1' + '__' + 'product_name2' + '.nc'

产品名称示例: 'sat_coloc_s1a-ew-owi-cm-20181009t142906-20181009t143110-000003-02A122_ll_gd__era_5-copernicus__20181009.nc'

<xarray.Dataset>
    Dimensions:                            (lat: 14, lon: 9)
    Coordinates:
      * lon                                (lon) float32 -131.0 -130.5 ... -127.0
      * lat                                (lat) float32 13.5 14.0 ... 19.5 20.0
        time                               datetime64[ns] ...
        spatial_ref                        int64 ...
    Data variables: (12/52)
        wind_streaks_orientation_stddev_1  (lat, lon) float32 ...
        elevation_angle_1                  (lat, lon) float32 ...
        heading_angle_1                    (lat, lon) float32 ...
        nesz_cross_corrected_1             (lat, lon) float32 ...
        nrcs_co_1                          (lat, lon) float32 ...
        mask_flag_1                        (lat, lon) float32 ...
        ...                                 ...
        mwd_2                              (lat, lon) float32 ...
        tcw_2                              (lat, lon) float64 ...
        mwp_2                              (lat, lon) float32 ...
        tp_2                               (lat, lon) float64 ...
        mdww_2                             (lat, lon) float32 ...
        mpww_2                             (lat, lon) float32 ...
    Attributes: (12/28)
        Conventions_1:           CF-1.6
        title_1:                 SAR ocean surface wind field
        institution_1:           IFREMER/CLS
        reference_1:             Mouche Alexis, Chapron Bertrand, Knaff John, Zha...
        measurementDate_1:       2018-10-09T14:30:08Z
        sourceProduct_1:         s1a-ew-owi-cm-20181009t142906-20181009t143110-00...
        ...                      ...
        footprint_2:             POLYGON ((-131 13.5, -131 20, -127 20, -127 13.5...
        counted_points:          0
        vmax_m_s:                nan
        Bias:                    0
        Standard deviation:      0
        scatter_index:           nan

重要注意事项

此库仍在开发中,因此一些获取类型组合尚未处理

截断网格 扫描带 每日规则网格 模型
截断网格 listing=True, listing=True, listing=True, listing=True,
product_generation=True product_generation=False product_generation=True product_generation=True
扫描带 listing=True, listing=False, listing=False, listing=True,
product_generation=False product_generation=False product_generation=False product_generation=False
每日规则网格 listing=True, listing=False, listing=False, listing=True,
product_generation=True product_generation=False product_generation=False product_generation=False
模型 listing=True, listing=True, listing=True, listing=True,
product_generation=True product_generation=False product_generation=False product_generation=False

致谢

特别感谢 REMSS 提供的 Windsat 读取器。


  • 免费软件:MIT 许可证
  • 文档:[https://coloc-sat.readthedocs.io](https://coloc-sat.readthedocs.io)

项目详情


下载文件

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

源分布

coloc_sat-1.2.4.tar.gz (66.8 kB 查看哈希)

上传时间

构建分布

coloc_sat-1.2.4-py3-none-any.whl (59.6 kB 查看哈希)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面