基于Python下载HYCOM-3hourly数据(可无脑用)

基于Python下载HYCOM-3hourly数据

  • 一、安装库
  • 二、主要函数
    • 2.1 `draw_time_range`
    • 2.2 `download`
      • 2.2.1 下载函数
      • 2.2.2 必传入参数:
      • 2.2.3 其他参数:
    • 2.3 `merge5nc`
  • 三、完整代码
    • 3.1 乱七八糟版
    • 3.2 精简版
    • 3.3 get_time_list
  • 四、效果
    • 4.1 终端
    • 4.2 nc文件
    • 4.3 全文本...

一、安装库

pip install OAFuncs

二、主要函数

from OAFuncs.oa_down.hycom_3hourly import draw_time_range
from OAFuncs.oa_down.hycom_3hourly import download
from OAFuncs.oa_nc import merge5nc

2.1 draw_time_range

可以忽略,这个是绘制目前所能下载3h分辨率数据的数据集;看需求,作用不大

draw_time_range(r'I:\Delete') # 图片保存至指定文件夹
# or
draw_time_range() # 图片保存至当前文件夹

结果

HYCOM_time_range.png has been saved in I:\Delete

图片展示
在这里插入图片描述
注意:
1、最新版本数据集,由于目前一直在更新,但是时间会相对滞后,所以我把结束时间暂时设置到2030年,免得经常去更新这个时间
2、GLBv0.08_93.0,经验证具体到小时
3、其他数据集,目前所设定的时间都是官网写出来的,但是实际应该会有小时上的差异,目前默认起点00h,终点21h
4、所有数据集时间分辨率为3hourly,且固定00、03、…、21
5、最新版本数据集有1hourly产品,暂未编写该部分代码
6、其他信息可去HYCOM官方自行了解

2.2 download

2.2.1 下载函数

def download(var, time_s, time_e, lon_min=0, lon_max=359.92, lat_min=-80, lat_max=90,  depth=None, level=None, store_path=None, dataset_name=None, version_name=None, num_workers=None, check=False):'''Description:Download the data of single time or a series of timeParameters:var: str, the variable name, such as 'u', 'v', 'temp', 'salinity', 'ssh', 'u_b', 'v_b', 'temp_b', 'salinity_b' or 'water_u', 'water_v', 'water_temp', 'salinity', 'surf_el', 'water_u_bottom', 'water_v_bottom', 'water_temp_bottom', 'salinity_bottom'time_s: str, the start time, such as '2024110100' or '20241101', if add hour, the hour should be 00, 03, 06, 09, 12, 15, 18, 21time_e: str, the end time, such as '2024110221' or '20241102', if add hour, the hour should be 00, 03, 06, 09, 12, 15, 18, 21lon_min: float, the minimum longitude, default is 0lon_max: float, the maximum longitude, default is 359.92lat_min: float, the minimum latitude, default is -80lat_max: float, the maximum latitude, default is 90depth: float, the depth, default is Nonelevel: int, the level number, default is Nonestore_path: str, the path to store the data, default is Nonedataset_name: str, the dataset name, default is None, example: 'GLBv0.08', 'GLBu0.08', 'GLBy0.08'version_name: str, the version name, default is None, example: '53.X', '56.3'num_workers: int, the number of workers, default is NoneReturns:None'''

2.2.2 必传入参数:

1、var
可以是官方数据名,如‘water_u’,也可以是简写,‘u’
由于不同数据集里面下载方式有异,目前只编写了单变量下载,即一个变量存储一个nc;
不支持两个及以上变量存入同一个nc,会增加很多工作量,如有需要,可以后续自行处理,应该很简单;
目前可下9种数据
2、tiem_s,time_e,起始时间
可为‘年月日’,也可为‘年月日时’;
若为年月日,默认time_s+00,time_e+21;
若起始时刻相同,则只下载一个数据;若起始时刻不同,会自动下载之间所有时刻数据(3hourly间隔);
不过,如果提供时刻,不要提供非3倍数或00时刻以外的,目前代码没做这方面优化,会报错提醒,但不会智能纠正;

2.2.3 其他参数:

(均非必须了,根据需求,不提供都会有默认值)
简单解释一下吧~
经纬度:默认值是官方的全球范围,经度不是-180到180,而是0到359.92;纬度南半球-80
深度:如果设置,就会下载单层数据,会自动寻找与该水深最接近的分层;官方有默认分层水深,40层
分层:直接指定下载某一层数据,1-40;level和depth二选一即可

level_depth = [0.0, 2.0, 4.0, 6.0, 8.0, 10.0, 12.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0, 125.0, 150.0, 200.0, 250.0, 300.0, 350.0, 400.0, 500.0, 600.0, 700.0, 800.0, 900.0, 1000.0, 1250.0, 1500.0, 2000.0, 2500.0, 3000.0, 4000.0, 5000]

存储路径:不设置就是当前路径,建议设置,程序会自动创建对应文件夹
数据集和版本名:这是一套,对应的,就是上面那个图里面;不指定,默认下载查询到的第一个数据集之中的数据(上面那个图可以看出,部分时刻数据出现在多个数据集/版本里面了)
工作数:并行数量,不指定默认串行;建议老实点,尽可能串行吧;目前我限定在最高10,如果太大,会被改成10;并行快倒是足够快,也很爽…,不过呢,封你ip的时候也很爽;串行基本不会导致封ip;封了ip大约一天会解封;目前针对反爬做了一些处理,但是比较重要的代理并没有提供(这个成本太大);所以适当用用并行,别太高频,也是可以的
检查:默认False,如果已存在同名文件,会覆盖重新下载;如果设置True,则会检查该nc文件是否存在,如果存在,检查能否正确打开,能正确打开,即跳过,反之删除重下;且原本便不存在的文件,会自动下载;所以有时候是需要开启此功能的!!!

2.3 merge5nc

前面都是单一时刻数据下载,为什么呢?
因为HYCOM有请求限制,好像是一次性不超过一天的数据量?那懒得去折腾,不如全部单一时刻请求并下载…
下载好之后,根据需要合并数据文件
这个函数主要用于按照某一维度合并nc文件
这里给个简单示例

file_list = []
for time_str in time_list:file_list.append(root_path + rf'/HYCOM_{var_name}_{time_str}.nc')
merge5nc(file_list, var_name, 'time', root_path + rf'/HYCOM_{var_name}_{merge_name}.nc')

三、完整代码

其实不用我这么复杂~
简单点几行代码也能搞定,大可不必学我,这里仅供参考

3.1 乱七八糟版

from OAFuncs.oa_down.hycom_3hourly import draw_time_range
from OAFuncs.oa_down.hycom_3hourly import download
from OAFuncs.oa_nc import merge5nc
from pathlib import Path # 我喜欢用这个库处理路径
if __name__ == '__main__':time_s, time_e = '2018010112', '2018020100'merge_name = '201801'root_path = r'I:\hycom_data_2018'location_dict = {'west': 115, 'east': 130, 'south': 33, 'north': 45}download_dict = {'water_u': {'simple_name': 'u', 'download': 0},'water_v': {'simple_name': 'v', 'download': 0},'surf_el': {'simple_name': 'ssh', 'download': 0},'water_temp': {'simple_name': 'temp', 'download': 0},'salinity': {'simple_name': 'salinity', 'download': 1},}# set depth or level, only one can be True# if you wanna download all depth or level, set both Falseset_depth, depth = False, 0  # 0-4000 metersset_level, level = False, 1  # 1-40 levelsnum_workers = 5check = Truedownload_switch = Truecombine_switch = Falsedef download_var(var_name):var = download_dict[var_name]['simple_name']if_download = download_dict[var_name]['download']if if_download == 0:returnif set_depth:download(var=var, time_s=time_s, time_e=time_e, store_path=Path(root_path)/var, lon_min=location_dict['west'], lon_max=location_dict['east'], lat_min=location_dict['south'], lat_max=location_dict['north'], depth=depth, num_workers=num_workers, check=check)elif set_level:download(var=var, time_s=time_s, time_e=time_e, store_path=Path(root_path)/var, lon_min=location_dict['west'], lon_max=location_dict['east'], lat_min=location_dict['south'], lat_max=location_dict['north'], level=level, num_workers=num_workers, check=check)else:download(var=var, time_s=time_s, time_e=time_e, store_path=Path(root_path)/var, lon_min=location_dict['west'], lon_max=location_dict['east'], lat_min=location_dict['south'], lat_max=location_dict['north'], num_workers=num_workers, check=check)if download_switch:for var_name in download_dict.keys():download_var(var_name)draw_time_range(r'I:\Delete')""" if combine_switch:time_list = get_time_list(time_s, time_e, 3)for var_name in download_dict.keys():var = download_dict[var_name]['simple_name']if_download = download_dict[var_name]['download']if if_download == 0:continuefile_list = []for time_str in time_list:file_list.append(Path(root_path)/var/f'HYCOM_{var_name}_{time_str}.nc')merge5nc(file_list, var_name, 'time',Path(root_path)/var/f'HYCOM_{var_name}_{merge_name}.nc') """

3.2 精简版

#from OAFuncs.oa_down.hycom_3hourly import draw_time_range
from OAFuncs.oa_down.hycom_3hourly import download
from OAFuncs.oa_nc import merge5nc#draw_time_range(r'I:\Delete')download('water_u', '20180101', '20180131', lon_min=100, lon_max=120, lat_min=20, lat_max=50, store_path=r'I:\Delete', check=True)time_list = get_time_list('2018010100', '2018013121', 3) # 这里根据个人喜好去获取时间列表
file_list = []
for time_str in time_list:file_list.append(rf'I:\Delete\HYCOM_water_u_{time_str}.nc')
merge5nc(file_list, 'water_u', 'time', r'I:\Delete\HYCOM_water_u_201801.nc')

3.3 get_time_list

估计有人还想要这个函数…?

from OAFuncs.oa_down.hycom_3hourly import get_time_list
time_list = get_time_list('2018010100', '2018013121', 3)

说明

def get_time_list(time_s, time_e, delta_hour):'''Description: get a list of time strings from time_s to time_e with delta_hourArgs:time_s: start time string, e.g. '2023080203'time_e: end time string, e.g. '2023080303'delta_hour: interval of hoursReturns:dt_list: a list of time strings'''

四、效果

开了并行,输出结果就不那么好看~

4.1 终端

在这里插入图片描述

4.2 nc文件

在这里插入图片描述

4.3 全文本…

Downloading a series of files...
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010112 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
2018010115 is in the following dataset and version:
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
GLBv0.08 93.0 2018010112-2020021909
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010118 is in the following dataset and version:
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
dataset: GLBv0.08, version: 93.0 is chosen
2018010121 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
2018010200 is in the following dataset and version:
Full depth or full level data will be downloaded...
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Downloading HYCOM_water_u_2018010115.nc...
Full depth or full level data will be downloaded...
dataset: GLBv0.08, version: 93.0 is chosen
Downloading HYCOM_water_u_2018010112.nc...
Full depth or full level data will be downloaded...
I:\hycom_data_2018\u\HYCOM_water_u_2018010115.nc does not exist
Downloading HYCOM_water_u_2018010118.nc...
Full depth or full level data will be downloaded...
I:\hycom_data_2018\u\HYCOM_water_u_2018010112.nc does not exist
Downloading HYCOM_water_u_2018010121.nc...
Download_start_time: 2024-11-12 15:41:19.315134
I:\hycom_data_2018\u\HYCOM_water_u_2018010118.nc does not exist
Downloading HYCOM_water_u_2018010200.nc...
Download_start_time: 2024-11-12 15:41:19.317122
I:\hycom_data_2018\u\HYCOM_water_u_2018010121.nc does not exist
Download_start_time: 2024-11-12 15:41:19.320120
I:\hycom_data_2018\u\HYCOM_water_u_2018010200.nc does not exist
Download_start_time: 2024-11-12 15:41:19.324283
Download_start_time: 2024-11-12 15:41:19.327282
文件 I:\hycom_data_2018\u\HYCOM_water_u_2018010112.nc 下载成功
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
文件 I:\hycom_data_2018\u\HYCOM_water_u_2018010121.nc 下载成功
Download_end_time: 2024-11-12 15:41:25.926848
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010203 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_water_u_2018010203.nc...
I:\hycom_data_2018\u\HYCOM_water_u_2018010203.nc does not exist
Download_start_time: 2024-11-12 15:41:25.936254
Download_end_time: 2024-11-12 15:41:28.673941
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010206 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_water_u_2018010206.nc...
I:\hycom_data_2018\u\HYCOM_water_u_2018010206.nc does not exist
Download_start_time: 2024-11-12 15:41:28.683972
文件 I:\hycom_data_2018\u\HYCOM_water_u_2018010203.nc 下载成功
文件 I:\hycom_data_2018\u\HYCOM_water_u_2018010115.nc 下载成功
文件 I:\hycom_data_2018\u\HYCOM_water_u_2018010118.nc 下载成功
Download_end_time: 2024-11-12 15:41:32.868537
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010209 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_water_u_2018010209.nc...
I:\hycom_data_2018\u\HYCOM_water_u_2018010209.nc does not exist
Download_start_time: 2024-11-12 15:41:32.879063
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
Download_end_time: 2024-11-12 15:41:34.836269
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010212 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_water_u_2018010212.nc...
I:\hycom_data_2018\u\HYCOM_water_u_2018010212.nc does not exist
Download_start_time: 2024-11-12 15:41:34.843813
Download_end_time: 2024-11-12 15:41:34.896266
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010215 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_water_u_2018010215.nc...
I:\hycom_data_2018\u\HYCOM_water_u_2018010215.nc does not exist
Download_start_time: 2024-11-12 15:41:34.905033
文件 I:\hycom_data_2018\u\HYCOM_water_u_2018010209.nc 下载成功
文件 I:\hycom_data_2018\u\HYCOM_water_u_2018010215.nc 下载成功
文件 I:\hycom_data_2018\u\HYCOM_water_u_2018010206.nc 下载成功
Download_end_time: 2024-11-12 15:41:40.419714
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010218 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_water_u_2018010218.nc...
I:\hycom_data_2018\u\HYCOM_water_u_2018010218.nc does not exist
Download_start_time: 2024-11-12 15:41:40.428975
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
文件 I:\hycom_data_2018\u\HYCOM_water_u_2018010200.nc 下载成功
Download_end_time: 2024-11-12 15:41:42.019486
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010221 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_water_u_2018010221.nc...
I:\hycom_data_2018\u\HYCOM_water_u_2018010221.nc does not exist
Download_start_time: 2024-11-12 15:41:42.028042
Download_end_time: 2024-11-12 15:41:43.125069
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010300 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_water_u_2018010300.nc...
I:\hycom_data_2018\u\HYCOM_water_u_2018010300.nc does not exist
Download_start_time: 2024-11-12 15:41:43.132820
Download_end_time: 2024-11-12 15:41:43.890892
文件 I:\hycom_data_2018\u\HYCOM_water_u_2018010221.nc 下载成功
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
Download_end_time: 2024-11-12 15:41:48.152418
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
文件 I:\hycom_data_2018\u\HYCOM_water_u_2018010300.nc 下载成功
Download_end_time: 2024-11-12 15:41:52.722792
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
文件 I:\hycom_data_2018\u\HYCOM_water_u_2018010212.nc 下载成功
文件 I:\hycom_data_2018\u\HYCOM_water_u_2018010218.nc 下载成功
Download_end_time: 2024-11-12 15:42:02.139767
Download_end_time: 2024-11-12 15:42:04.580072
Downloading... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Downloading a series of files...
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010112 is in the following dataset and version:
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
GLBv0.08 93.0 2018010112-2020021909
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
dataset: GLBv0.08, version: 93.0 is chosen
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010115 is in the following dataset and version:
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010118 is in the following dataset and version:
Full depth or full level data will be downloaded...
2018010121 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
2018010200 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
GLBv0.08 93.0 2018010112-2020021909
Downloading HYCOM_salinity_2018010112.nc...
dataset: GLBv0.08, version: 93.0 is chosen
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
dataset: GLBv0.08, version: 93.0 is chosen
I:\hycom_data_2018\salinity\HYCOM_salinity_2018010112.nc does not exist
Full depth or full level data will be downloaded...
Full depth or full level data will be downloaded...
Full depth or full level data will be downloaded...
Downloading HYCOM_salinity_2018010115.nc...
Download_start_time: 2024-11-12 15:42:04.615772
Downloading HYCOM_salinity_2018010118.nc...
Downloading HYCOM_salinity_2018010121.nc...
Downloading HYCOM_salinity_2018010200.nc...
I:\hycom_data_2018\salinity\HYCOM_salinity_2018010115.nc does not exist
I:\hycom_data_2018\salinity\HYCOM_salinity_2018010118.nc does not exist
I:\hycom_data_2018\salinity\HYCOM_salinity_2018010121.nc does not exist
I:\hycom_data_2018\salinity\HYCOM_salinity_2018010200.nc does not exist
Download_start_time: 2024-11-12 15:42:04.624139
Download_start_time: 2024-11-12 15:42:04.626138
Download_start_time: 2024-11-12 15:42:04.627248
Download_start_time: 2024-11-12 15:42:04.627248
文件 I:\hycom_data_2018\salinity\HYCOM_salinity_2018010112.nc 下载成功
文件 I:\hycom_data_2018\salinity\HYCOM_salinity_2018010121.nc 下载成功
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
Download_end_time: 2024-11-12 15:42:10.864679
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010203 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_salinity_2018010203.nc...
I:\hycom_data_2018\salinity\HYCOM_salinity_2018010203.nc does not exist
Download_start_time: 2024-11-12 15:42:10.873864
Download_end_time: 2024-11-12 15:42:12.625797
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010206 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_salinity_2018010206.nc...
I:\hycom_data_2018\salinity\HYCOM_salinity_2018010206.nc does not exist
Download_start_time: 2024-11-12 15:42:12.636489
文件 I:\hycom_data_2018\salinity\HYCOM_salinity_2018010203.nc 下载成功
文件 I:\hycom_data_2018\salinity\HYCOM_salinity_2018010118.nc 下载成功
Download_end_time: 2024-11-12 15:42:17.263427
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010209 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_salinity_2018010209.nc...
I:\hycom_data_2018\salinity\HYCOM_salinity_2018010209.nc does not exist
Download_start_time: 2024-11-12 15:42:17.272111
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
Download_end_time: 2024-11-12 15:42:18.938817
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010212 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_salinity_2018010212.nc...
I:\hycom_data_2018\salinity\HYCOM_salinity_2018010212.nc does not exist
Download_start_time: 2024-11-12 15:42:18.945780
文件 I:\hycom_data_2018\salinity\HYCOM_salinity_2018010209.nc 下载成功
文件 I:\hycom_data_2018\salinity\HYCOM_salinity_2018010212.nc 下载成功
文件 I:\hycom_data_2018\salinity\HYCOM_salinity_2018010200.nc 下载成功
Download_end_time: 2024-11-12 15:42:24.455424
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010215 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_salinity_2018010215.nc...
I:\hycom_data_2018\salinity\HYCOM_salinity_2018010215.nc does not exist
Download_start_time: 2024-11-12 15:42:24.464813
Download_end_time: 2024-11-12 15:42:24.586489
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010218 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_salinity_2018010218.nc...
I:\hycom_data_2018\salinity\HYCOM_salinity_2018010218.nc does not exist
Download_start_time: 2024-11-12 15:42:24.596975
文件 I:\hycom_data_2018\salinity\HYCOM_salinity_2018010115.nc 下载成功
Timeout Error: HTTPSConnectionPool(host='ncss.hycom.org', port=443): Read timed out. (read timeout=5)
Download_end_time: 2024-11-12 15:42:27.446295
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010221 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_salinity_2018010221.nc...
I:\hycom_data_2018\salinity\HYCOM_salinity_2018010221.nc does not exist
Download_start_time: 2024-11-12 15:42:27.456477
文件 I:\hycom_data_2018\salinity\HYCOM_salinity_2018010215.nc 下载成功
Download_end_time: 2024-11-12 15:42:28.582823
The dataset_name and version_name are None, so the dataset and version will be chosen according to the download_time.
If there is more than one dataset and version in the time range, the first one will be chosen.
If you wanna choose the dataset and version by yourself, please set the dataset_name and version_name together.
2018010300 is in the following dataset and version:
GLBv0.08 93.0 2018010112-2020021909
dataset: GLBv0.08, version: 93.0 is chosen
Full depth or full level data will be downloaded...
Downloading HYCOM_salinity_2018010300.nc...
I:\hycom_data_2018\salinity\HYCOM_salinity_2018010300.nc does not exist
Download_start_time: 2024-11-12 15:42:28.592080
文件 I:\hycom_data_2018\salinity\HYCOM_salinity_2018010218.nc 下载成功
文件 I:\hycom_data_2018\salinity\HYCOM_salinity_2018010221.nc 下载成功
Download_end_time: 2024-11-12 15:42:30.568878
Download_end_time: 2024-11-12 15:42:31.669004
文件 I:\hycom_data_2018\salinity\HYCOM_salinity_2018010206.nc 下载成功
文件 I:\hycom_data_2018\salinity\HYCOM_salinity_2018010300.nc 下载成功
Download_end_time: 2024-11-12 15:42:33.567151
Download_end_time: 2024-11-12 15:42:35.251822
Download_end_time: 2024-11-12 15:42:35.576907
Downloading... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/59206.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hbase集群搭建

1. 环境 三台节点hadoop 集群zookeeper 集群hbase 1.1环境准备 使用前文hdfs三台节点 1.11 zookeeper搭建 下载 wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz解压 tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz zookee…

为什么用SQL而不是Excel+VBA?

SQL主要服务数据库 SQL服务的是MySQL、Oracle、SQL Sever、Hive等各大数据库,它们都需要SQL来管理、定义。题主理解的SQL只限于查询数据、清洗数据,这些当然ExcelVBA都能做到,任何编程语言都能做到,但事实是SQL是数据库的管理工具…

Android OpenGL ES详解——纹理:纹理过滤GL_NEAREST和GL_LINEAR的区别

目录 一、概念 1、纹理过滤 2、邻近过滤 3、线性过滤 二、邻近过滤和线性过滤的区别 三、源码下载 一、概念 1、纹理过滤 当纹理被应用到三维物体上时,随着物体表面的形状和相机视角的变化,会导致纹理在渲染过程中出现一些问题,如锯齿…

OpenHarmony4.1蓝牙芯片如何适配?触觉智能RK3568主板SBC3568演示

当打开蓝牙后没有反应时,需要排查蓝牙节点是否对应、固件是否加载成功,本文介绍开源鸿蒙OpenHarmony4.1系统下适配蓝牙的方法,触觉智能SBC3568主板演示 修改对应节点 开发板蓝牙硬件连接为UART1,修改对应的节点,路径为…

Kafka高频面试题详解

1、kafka是如何做到高效读写 1)Kafka 本身是分布式集群,可以采用分区技术,并行度高 2)读数据采用稀疏索引,可以快速定位要消费的数据。(mysql中索引多了之后,写入速度就慢了) 3&a…

ML 系列: 第 23 节 — 离散概率分布 (多项式分布)

目录 一、说明 二、多项式分布公式 2.1 多项式分布的解释 2.2 示例 2.3 特殊情况:二项分布 2.4 期望值 (Mean) 2.5 方差 三、总结 3.1 python示例 一、说明 伯努利分布对这样一种情况进行建模:随机变量可以采用两个可能的值&#…

MFC工控项目实例三十实现一个简单的流程

启动按钮夹紧 密闭,时间0到平衡 进气,时间1到进气关,时间2到平衡关 检测,时间3到平衡 排气,时间4到夹紧开、密闭开、排气关。 相关代码 void CSEAL_PRESSUREDlg::OnTimer_2(UINT nIDEvent_2) {// if (nIDEvent_21 &am…

当使用key-value方式进行参数传递时,若key对应的是一个对象或数组结构,如何利用API Post工具进行模拟操作。

1. 后端服务代码如下 RequestMapping("/handle11")public Person handle11(Person person){System.out.println(person);return person;} 2. 后端入参结构 person是一个对象,对象结构如下: public class Person {private String username …

MySQL技巧之跨服务器数据查询:基础篇-A数据库与B数据库查询合并

MySQL技巧之跨服务器数据查询:基础篇-A数据库与B数据库查询合并 上一篇已经描述:借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的链接名: MY_ODBC_MYSQL 以…

人工智能赋能快递物流,基于YOLOv3全系列【tiny/l/spp】参数模型开发构建物流分拣场景下快递包裹智能检测计数系统

随着电商互联网的迅猛发展,消费者的购物习惯发生了翻天覆地的变化,网购已成为日常生活不可或缺的一部分。这一趋势直接推动了快递物流行业的快速扩张,每天都有数以亿计的包裹在全球范围内流转。然而,传统的快递点物流包裹分拣工作…

Nginx中实现流量控制(限制给定时间内HTTP请求的数量)示例

场景 流量控制 流量限制 (rate-limiting),可以用来限制用户在给定时间内HTTP请求的数量。 流量限制可以用作安全目的,比如可以减慢暴力密码破解的速率, 更常见的情况是该功能被用来保护上游应用服务器不被同时太多用户请求所压垮。 流量…

【ARM Coresight OpenOCD 系列 5 -- arp_examine 使用介绍】

文章目录 OpenOCD arp_examine 使用 OpenOCD arp_examine 使用 因为我们很多时候运行 Openocd 的时候有些 core 还没有启动, 所以最好在配置脚本中添加 -defer-examine这个参数, 如下: #cortex-m33 target create ${_CHIPNAME}.m33 cortex_m -dap ${_CHIPNAME}.da…

【AI新领域应用】AlphaFold 2,原子级别精度的蛋白质3D结构预测,李沐论文精读(2021Nature封面,2024诺贝尔奖)

文章目录 AlphaFold 2 —— 原子级别精度的蛋白质3D结构预测背景(2024诺奖与AI学习资料)1、摘要、导论、写作技巧2、方案:模型,编码器,解码器3、实验:数据集,训练,结果 AlphaFold 2 …

微服务day06

MQ入门 同步处理业务: 异步处理: 将任务处理后交给MQ来进行分发处理。 MQ的相关知识 同步调用 同步调用的小结 异步调用 MQ技术选型 RabbitMQ 安装部署 其中包含几个概念: publisher:生产者,也就是发送消息的一方 …

[ Linux 命令基础 2 ] Linux 命令详解-系统管理命令

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

Linux:vim命令总结及环境配置

文章目录 前言一、vim的基本概念二、vim模式命令解析1. 命令模式1)命令模式到其他模式的转换:2)光标定位:3)其他命令: 2. 插入模式3. 底行模式4. 替换模式5. 视图模式6. 外部命令 三、vim环境的配置1. 环境…

【在Linux世界中追寻伟大的One Piece】多路转接epoll

目录 1 -> I/O多路转接之poll 1.1 -> poll函数接口 1.2 -> poll的优点 1.3 -> poll的缺点 1.4 -> poll示例 1.4.1 -> 使用poll监控标准输入 2 -> I/O多路转接之epoll 2.1 -> 初识epoll 2.2 -> epoll的相关系统调用 2.2.1 -> epoll_cre…

JS爬虫实战之TikTok_Shop验证码

TikTok_Shop验证码逆向 逆向前准备思路1- 确认接口2- 参数确认3- 获取轨迹参数4- 构建请求5- 结果展示 结语 逆向前准备 首先我们得有TK Shop账号,否则是无法抓取到数据的。拥有账号后,我们直接进入登录。 TikTok Shop 登录页面 思路 逆向步骤一般分为…

自由学习记录(20)

PureMVC 把 LoginView 视图组件赋给 viewComponent,然后用它来监听用户事件,更新显示状态。 command 将请求(例如方法调用)封装成一个对象,从而使得用户可以通过该对象来调用相应的操作。 Command(命令…

数据结构-并查集专题(2)

一、前言 接(1)完成剩余题目和了解并查集运用求解最小生成树的Kruskal算法 二、专题训练 2.1 题目总览 前四题见(1) 2.2 1568: 并查集-家谱 思路 首先这个题目的描述就有问题,它说每一组的父子关系由两行组成&…