Skip to content

pipi0315/Hello-worrld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Hello-worrld

just a repository

NetCDF 文件处理接口需求文档

概述

该接口用于处理 NetCDF 格式的气象数据文件,并生成不同区域的气象变量描述。支持对多个文件的批量处理,并根据时间和区域筛选数据。

功能

1. 打开 NetCDF 文件

  • 函数名: open_nc_file
  • 参数:
    • file_path (str): NetCDF 文件的路径。
  • 返回: 打开的 NetCDF 数据集对象。

2. 获取 Dask 数组

  • 函数名: get_dask_array
  • 参数:
    • nc_file (Dataset): 打开的 NetCDF 数据集。
    • var_name (str): 变量名称。
  • 返回: 对应变量的 Dask 数组。

3. 筛选经纬度范围内的数据

  • 函数名: filter_by_lat_lon
  • 参数:
    • lon_array (Dask Array): 经度数组。
    • lat_array (Dask Array): 纬度数组。
    • data_array (Dask Array): 数据数组。
    • lon_min (float): 经度下限。
    • lon_max (float): 经度上限。
    • lat_min (float): 纬度下限。
    • lat_max (float): 纬度上限。
  • 返回: 筛选后的数据数组。

4. 从文件名中提取时间信息

  • 函数名: extract_time_from_filename
  • 参数:
    • file_name (str): 文件名。
  • 返回: 格式化的时间字符串。

5. 过滤数据,仅保留指定时间范围内的数据

  • 函数名: filter_by_time
  • 参数:
    • file_time (str): 文件中的时间字符串。
    • start_time (str): 开始时间字符串,格式为“HH:MM”。
    • end_time (str): 结束时间字符串,格式为“HH:MM”。
  • 返回: 布尔值,表示文件时间是否在指定范围内且分钟为 0。

6. 调用大语言模型

  • 函数名: call_large_language_model
  • 参数:
    • data (str): 处理的数据描述。
    • prompt_template (str): 提示模板。
    • llm (Chat Model): 大语言模型实例。
  • 返回: 语言模型的响应。

7. 根据区域描述单一变量

  • 函数名: describe_region_sigle
  • 参数:
    • lon_array (Dask Array): 经度数组。
    • lat_array (Dask Array): 纬度数组。
    • data_dict (dict): 各变量的 Dask 数组字典。
    • regions (dict): 区域经纬度范围字典。
    • var_name (str): 变量名称。
  • 返回: 区域的自然语言描述列表。

8. 处理单个 NetCDF 文件

  • 函数名: process_nc_file
  • 参数:
    • file_path (str): NetCDF 文件路径。
    • start_time (str): 开始时间字符串。
    • end_time (str): 结束时间字符串。
  • 返回: 生成的描述字符串。

9. 批量处理目录中的 NetCDF 文件

  • 函数名: process_and_combine_nc_files
  • 参数:
    • directory_path (str): 目录路径。
    • start_time (str): 开始时间字符串。
    • end_time (str): 结束时间字符串。
  • 返回: 合并后的描述字符串。

使用示例

# 打开 NetCDF 文件
nc_file = open_nc_file("path/to/file.nc")

# 获取 Dask 数组
dask_array = get_dask_array(nc_file, "TEM")

# 处理文件并获取描述
description = process_nc_file("path/to/file.nc", "08:00", "18:00")
print(description)

# 批量处理文件并合并描述
combined_description = process_and_combine_nc_files("path/to/directory", "08:00", "18:00")
print(combined_description)

About

just a repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published