Skip to content

Latest commit

 

History

History
638 lines (472 loc) · 43.8 KB

README.md

File metadata and controls

638 lines (472 loc) · 43.8 KB

my_roms_tools

基于MATLAB的ROMS区域海洋模式预处理、后处理工具包

该工具包为本人进行ROMS相关科研时编写。所有公开的代码可以免费用于学习、科研工作等,但不可用于商业行为,不可盈利。

如果您使用本人修改的工具(仅my_tools_前缀的目录为本人开发,其余来自COAWST)做出了相关成果,如发表了论文等,恳请给本项目点个Star。

MATLAB-based pre-processing and post-processing toolkit for ROMS regional ocean models

This toolkit is written for my ROMS related scientific research. All the open code can be used for free for study, research work, etc., but not for commercial behavior, not for profit.

If you use my modified tools (only the my_tools_ prefixed directory is developed by me, the rest is from COAWST) to produce relevant results, such as published papers, etc., you are kindly requested to give a Star to this project.

介绍

原版COAWST_TOOLS

基于COAWST模式附带的工具包,用于制作ROMS模式的预处理文件,以及用于我的项目的分析、绘图。

mfiles目录下是一组Matlab的预处理/后处理工具

更改

  • 本项目将多个文件中分散的配置进行了综合,使用 config.m文件进行统一管理
  • 增加或修复了部分ROMS和SWAN工具,例如添加河流文件、增加初始场示踪剂等。
  • 增加了一些通用型工具

软件要求

  • MATLAB R2019b+
    • Image Processing Toolbox
    • Mapping Toolbox
    • Optimization Toolbox
    • Parallel Computing Toolbox
    • Statistic and Machine Learning Toolbox
    • Symbolic Math Toolbox
  • Python 3.5+
    • requests

目录和文件

目录

原版目录

这些是COAWST工具包中自带的目录。目录中的部分文件可能也被我修改了。

目录名 内容
inwave_tools inwave模式工具
m_map 地图的绘制等
mtools ROMS创建网格、加载NC文件、将网格转为scrip、从ROMS网格创建WRF网格等工具
roms_clm 创建边界、初始文件、气候文件等。主驱动文件是roms_master_climatology_coawst_mw.m
rutgers 来自Rutgers的水深测量、边界、海岸线、强迫、网格、陆地掩膜、 netcdf、海水、和实用文件夹
swan_forc 读取WW3 Grib2文件并创建SWAN Trap强迫文件,主驱动文件是ww3_swan_input.m
tides 为ROMS创建潮汐强迫

新增目录

文件名 内容
my_tools_core 用于ROMS输入输出的核心代码函数库
my_tools_temp 临时代码
my_tools_project 用于污染物扩散模拟和溯源研究中的专有代码

基本

文件名 内容
add_paths 将当前目录注册到MATLAB中,并注册 nctoolbox
configs 集合的配置文件

核心代码:my_tools_core

ROMS网格:roms_grid

文件名 内容
roms_create_grid_core 创建ROMS网格
roms_create_grid_from_wrfinput 从WRF的 wrfinput文件创建ROMS网格
roms_fill_grid_h_core 向ROMS网格文件中填充深度信息
roms_fix_h 修复GridBuilder导出的网格文件深度问题
roms_get_grid_details 获取ROMS网格的详细信息
roms_get_volumes 获取ROMS网格中每个单元格的体积
roms_get_xy_by_lonlat_core 根据经纬度获取ROMS网格的XY位置
roms_load_grid_rho 从网格文件获取ROMS网格中rho的经度、纬度和海陆掩膜矩阵
roms_load_grid_psi 从网格文件获取ROMS网格中psi的经度、纬度和海陆掩膜矩阵

ROMS水文:roms_clm_bdy_ini

创建初始场、边界场、气候态强迫文件

文件名 内容
roms_create_clm_bdy_ini 创建ROMS的初始场、气象场、边界场文件
create_bdy 根据已有的clm文件创建边界文件
create_clm_nc 根据给定的变量创建clm的nc文件
create_clms 创建指定时间的合并的clm文件
create_single_clm 创建单个clm文件
download_hycom 下载指定时间和区域的HYCOM数据
download_cmems 下载指定时间和区域的CEMEMS数据(包含生态变量)
get_bar 根据UV计算Ubar和Vbar
get_hycom_info 获取HYCOM数据的信息
get_roms_grid_info 获取ROMS网格信息
merge_clms 合并一个时间一个的clm文件
rotate_uv 将横平竖直的UV进行旋转以符合ROMS网格

ROMS大气:roms_atom

文件名 内容
download_fnl 批量下载NCEP FNL数据
roms_create_force_NCEP 通过NCEP的FNL数据,创建大气强迫文件
roms_add_radiations_NCEP 通过NCEP的DS083.3数据向大气强迫文件中加入短波辐射数据
roms_create_force_radiation_ERA5 通过欧洲中心的ERA5数据,创建短波辐射、长波辐射文件

ROMS潮汐:roms_tides

文件名 内容
roms_create_tides_tpx 基于TPX的两个.m文件创建ROMS潮汐文件
roms_create_tides_tpxo9 基于TPXO9创建ROMS潮汐文件

ROMS示踪剂:roms_tracer

文件名 内容
roms_add_passive_tracer_core 向初始场和边界场中添加被动示踪剂
roms_add_tracer_from_xyz 从XYZ类型的数据集中提取数据,向初始文件、边界文件、气候态文件中添加(生物等)示踪剂变量
roms_add_tracer_to_bdy_nc 将数据写入到边界文件
roms_add_tracer_to_clm_nc 将数据写入到气候态文件
roms_get_dye 获得nc文件中的示踪剂

ROMS漂浮子:roms_float

文件名 内容
roms_create_floats 创建ROMS漂浮子文件
roms_create_timely_floats 创建ROMS漂浮子文件,在同一地点每隔一定时间生成一个漂浮子
show_floats 显示漂浮子轨迹
floats_contribution 基于漂浮子,计算不同释放源对某一海域的贡献,即有多少粒子曾经经过指定海域

ROMS生物:roms_biology

文件名 内容
get_all_biology_vars 获取所有生物变量的变量名和描述
mgL2mmolm3 将mg/L转换为millimole/m^3

ROMS输出:roms_output

文件名 内容
roms_get_times 获取ROMS的nc文件中的时间序列
roms_unify_uv 将ROMS的U和V分量统一大小并计算速度

SWAN:swan

文件名 内容
swan_create_boundary_core 创建SWAN的边界场

插值相关:roms_interpolate

文件名 内容
interpolate_xyz_to_sigma 将基于一维XY(Z)正交网格的数据插值插值为ROMS的i-j-σ地形追随坐标系网格数据
convert_rho_to_uv 将输入的rho网格转换为u或v网格
fill_invalid_data 使用5点拉普拉斯滤波器填充陆地点或无效数据点
get_xyz_data_info 获取XY(Z)正交网格的数据的基本信息及需要处理的数据边界
interpolate_z_to_sigma 将基于确定深度的z网格插值为地形追随的σ网格

河流:roms_river

文件名 内容
roms_create_rivers_core 创建ROMS河流文件

NetCDF:nc

文件名 内容
fill_rst_bio_to_ini 将模拟中生成的rst文件(最后时刻)的变量写入到初始场文件中,用于旋转模拟
nc_compact 将nc文件进行压缩。可输出每个变量独立的nc/mat文件。可去除z纬。可将double转为float。
nc_dem_clip_core 将DEM的nc文件进行裁剪,减小文件体积便于处理和导入GridBuilder
nc_extract_variables 将nc文件中的变量导出为mat文件
nc_fill_values_from_another 将nc文件中的某个变量复制到另一个文件中的相同变量
read_data 读取普通nc文件或经过nc_compact处理后的nc/mat文件/目录
roms_add_variable_to_xyzt_nc 在nc文件中生成一个xyzt(或xy、xyt、xyz)维度的变量,并写入数据

绘图:graph

文件名 内容
ncl NCL colormap包
a2z_string 获取a到z的字符数组或其中一个字符
apply_colors 将给定的颜色关键帧插值到指定数量然后应用colormap
apply_font 应用字体和字号
color_* 应用指定颜色的colormap
draw_background 在指定区域绘制一块纯色背景
draw_border 在当前坐标区的四边绘制边框
draw_map 绘制基于地图坐标系的网格图
draw_monthly_profile 绘制单个变量每月剖面图
draw_profile 绘制多个变量的平均剖面图
draw_single_lonlat_tick 显示多图tile时,左侧tile显示y坐标,底部tile显示x坐标
draw_time_series_lines 绘制某几个变量在某一(几)个位置随时间变化的折线图
draw_time_series_maps 绘制某几个变量在不同月份的地图
equal_aspect_ratio 限制坐标系等比例为1:1
save_all_figures 将所有figure保存为图片
set_gcf_size 设置图窗大小
set_tiledlayout_compact 设置tiledlayout的Margin和内部tile之间的间距为较小值
show_simulation_and_observation_core 用填色图和带颜色的点表示模拟值和观测值
show_value_change_core 显示某一点或某一柱或某一片的值随时间的变化
text_corner 在图的角落添加文字
text_left_top 在图的左上角添加白底黑字文字标签。过时,使用text_corner
text_right_bottom 在图的右下角添加白底黑字文字标签。过时,使用text_corner

精度评估

文件名 内容
get_ioa 计算一致性指数(Index of agreement)
get_r 计算皮尔逊相关系数(r)
get_mb 计算平均偏差(Mean Bias)

项目代码:my_tools_project

由于最新项目代码丢失,该版本代码为不知道什么时候备份的一份代码,不同代码的版本存在不一致的情况,无法保证可以正确联调运行,仅供参考。

由于最新项目代码丢失,该版本代码为不知道什么时候备份的一份代码,不同代码的版本存在不一致的情况,无法保证可以正确联调运行,仅供参考。

由于最新项目代码丢失,该版本代码为不知道什么时候备份的一份代码,不同代码的版本存在不一致的情况,无法保证可以正确联调运行,仅供参考。

文件名 内容
bundle 项目所有代码的集合
project_data 项目代码的常量、配置
show_area 绘制研究区域示意图

项目1:杭州湾污染物 hzw

对应论文:Simulations of water pollutants in the Hangzhou Bay, China: Hydrodynamics, characteristics, and sources

污染物扩散:diffuse

文件名 内容
add_ini_bdy_dye 向初始场和边界场文件中添加示踪剂
adjust_tide 调整潮汐和分潮的振幅,使其更符合实际
compare 比较不同污染物、不同季节的模拟结果与观测值对比及绘图
compare_single 单个污染物、单个季节的模拟结果与观测值的对比及绘图
create_real_emmision_points 基于政府发布数据创建河流源和排污点
read_emmision_table 读取并处理排放清单Excel表格
show_degradation_coefficient 显示降解系数的分布
show_emission_points 绘制排放点位置
show_value_change 绘制某一个值的变化
show_year_average 显示各污染物年平均分布

观测数据:observation

文件名 内容
ParseWaterQualityJson 解析从生态环境部下载的海洋水质观测数据JSON的C#工具
draw_observations_position 绘制观测点位置
get_observations 从Excel中读取观测数据
get_observations_of_all ParseWaterQualityJson处理结果中读取指定范围和时间的观测数据
get_observation_of_cluster ParseWaterQualityJson处理结果中读取聚类后的数据
get_observations_of_site_groups ParseWaterQualityJson处理结果中读取根据站点号分组的观测数据
observation_interpolation 观测值插值并绘制地图
show_obs_and_emis 同时绘制观测点和排放的位置
show_observations_per_quarter 绘制每个季度的污染物的浓度

源强估算:trace

文件名 内容
GridClassificationTool 用于绘制虚拟排放点的C#写的WPF工具
add_ini_bdy_tracer 向初始场和边界场中加入示踪剂
create_manual_virtual_emission_points 创建包含由GridClassificationTool创建的虚拟排放点的河流文件
create_manual_virtual_emission_points_with_time 创建包含由GridClassificationTool创建的虚拟排放点的河流文件,排放流量随时间而改变
create_virtual_emission_points 创建包含由代码指定的排放点位置的河流文件
export_mask 创建海陆掩膜ASCII文件,供GridClassificationTool使用
show_contributions 绘制每个排放区域对研究区域的贡献
trace 对每种污染物、每个季节的污染源排放通量或浓度进行溯源,并绘制地图
trace_single 对单个污染物和季节的污染源排放通量或浓度进行溯源,并绘制地图

水动力:water

文件名 内容
DownloadTideData 海事服务网爬取指定站点的潮高数据
show_flow 绘制24小时流场图
show_tide 进行潮汐验证并绘图

水交换:water_exchange

文件名 内容
add_water_exchange_dye 向初始场文件中添加用于水交换研究的示踪剂
create_water_exchange_rivers 创建用于水交换研究的不含示踪剂浓度的河流
get_points_in_range 筛选在指定范围内的点集
show_half_exchange_map 绘制水体半交换时间地图
show_tracer_map 绘制示踪剂浓度时间序列图
show_tracer_percent_in_each_part 绘制不同示踪剂在不同区域中的浓度变化图

项目2:东海生态 dh

对应论文:Impacts of Coastal Nutrient Increases on the Marine Ecosystem in the East China Sea During 1982–2012: A Coupled Hydrodynamic‐Ecological Modeling Study

输入文件制作:input

文件名 内容
add_bio_to_rivers 向河流中添加生物河流。在create_bio_rivers后执行
add_real_bio_varibles 向初始文件、边界文件、气候态文件中加入生物变量,并创建包含生物变量的河流文件
create_bio_rivers 创建项目2河流
get_all_biology_var_info 包含需要写入的生物变量的信息

模型验证及其对比:compare

文件名 内容
compare_chl_with_clm 与气候态文件中的叶绿素进行对比
compare_chl_with_CMEMS 与CMEMS再分析资料比较叶绿素
compare_chl_with_oceancolour 与OceanColour遥感反演资料比较叶绿素
compare_SST_with_Argo 与Argo浮标比较温度
compare_SST_with_AVHRR 与AVHRR卫星反演温度数据比较水温

绘图:graph

文件名 内容
draw_biology_profile 绘制用于该项目的剖面图
draw_biology_time_series_maps 绘制用于该项目的时间序列地图
draw_seasonal_currents 绘制每个季节的海流
draw_seasonal_wind 绘制每个季节的风
draw_sensitivity_testing_bars 绘制敏感性试验中典型位置的条形图
draw_sensitivity_testing_maps 绘制敏感性试验中的地图

核心配置:config.m

在进行一切操作之前,首先需要编辑配置文件 configs.m

路径

用户输入 子配置项 含义 格式
project_dir 项目目录,进行预处理的目录 string
build_dir 模拟文件的输出目录,仅在Linux下直接后处理时指定 string

time:时间

用户输入 子配置项 含义 格式
start 开始时间 int[6],分别为年月日时分秒
stop 结束时间 int[6],分别为年月日时分秒
start_julian 开始时刻的简化儒略日
stop_julian 结束时刻的简化儒略日
days 总天数

grid:网格

用户输入 子配置项 含义 格式
longitude 经度范围 double[2],分别为西侧经度、东侧经度
latitude 经度范围 double[2],分别为南侧纬度、北侧纬度
size 网格大小(分辨率) int[2],分别为Lm、Mm
N 垂向分层 int
theta_s 地形跟随坐标θs参数 double
theta_b 地形跟随坐标θb参数 double
Tcline 地形跟随坐标关键深度参数 double
Hmin 最小深度值 double
Vtransform 地形跟随坐标Vtransform参数 int
Vstretching 地形跟随坐标Vstretching参数 int

input:输入文件

用户输入 子配置项 含义 格式
grid 网格文件 string
bot 地形文件 string
force 气象强迫场文件 string
climatology 气候强迫场文件 string
initialization 初始场文件 string
boundary 边界场文件 string
tides 潮汐强迫场文件 string
rivers 河流文件 string

output:输出文件

用户输入 子配置项 含义 格式
hisotry 历史文件 string
floats 漂浮子文件 string

res:数据资源路径

气象

用户输入 子配置项 含义 格式
force_ncep_dir NCEP FNL数据的文件夹位置
需要下载NCEP的FNL数据,作为气象强迫文件的插值源。
string
force_ncep_step 所提供的NCEP FNL数据的时间分辨率 double(小时)
force_ncep_radiation_files 包含辐射数据的NCEP DS083.3数据的文件通配名 string
force_era5_radiation_file 包含辐射数据的ERA5数据的文件名 string

地形

用户输入 子配置项 含义 格式
elevation 全球地形文件,用于网格文件的插值
ETOPO1可以从此处下载,选择Cell/pixel-registered,netCDF,...gmt4.grd.gz
SRTM15可以从此处下载,选择FTP SRTM15+ and source identification (SID)SRTM15_V2.4.nc
string
elevation_longitude
elevation_latitude
elevation_altitude
高程文件中经度、纬度、海拔的字段名 string
gshhs_f 全球海岸线文件
用于编辑水陆点,可以从此处下载,选择binary files。
string

潮汐

用户输入 子配置项 含义 格式
tpx_uv
tpx_h
潮汐文件
用于制作潮汐文件,可以从此处下载。
string
tpxo9 高精度TPXO9的潮汐文件所在目录 string
tpxo9_days 使用TPXO9的潮汐时,指定估计的模拟总时间(天) int

水文(本地)

用户输入 子配置项 含义 格式
hydrodynamics 本地海洋数据的位置 string
hydrodynamics_type 本地海洋数据的数据源 `"HYCOM"
hydrodynamics_step_time_hour 本地海洋数据的时间分辨率 double(小时)
_latitude
_longitude
_depth
_time
_u
_v
_temp
_salt
_surface_elevation
本地海洋数据的经度、纬度、深度、时间、U速度、V速度、温度、盐度、海表高度变量名 string
hycom_t0dt 本地海洋数据的基准时间 datetime
hycom_t0 以日为单位存储的本地海洋数据的基准时间 double
hycom_tunit 本地海洋数据中1个时间单位表示的时间长度 double(小时)

tracer:示踪剂

用户输入 子配置项 含义 格式
count 示踪剂图层数量 int
age 是否启用平均年龄 AGE_MEAN功能 logical
延迟 densities 示踪剂的浓度 {double[grid.size(1)+1,grid.size(2)+1,grid.N,tracer.count]}
元胞数组的长度应与配置的示踪剂数量相同。
延迟 ages 示踪剂的初始年龄 {double[grid.size(1)+1,grid.size(2)+1,grid.N,tracer.count]}
元胞数组的长度应与配置的示踪剂数量相同。
延迟 east
west
south
north
边界示踪剂的浓度 {double[grid.size(1/2),grid.N,tracer.count]}
元胞数组的长度应与配置的示踪剂数量相同。

rivers:河流

用户输入 子配置项 含义 格式
count 河流数量 int
延迟 location 河流所在的坐标 int[rivers.count,2]
行数为河流数量,每一行分别为横坐标和纵坐标。
LuvSrc时,指的是U/V面的位置;LwSrc时,指的是ρ点的位置。
延迟 direction 流向 int[rivers.count,2]
LuvSrc时,值为0(U方向)或1(V方向);LwSrc时,值为2
延迟 time 时间 double[]
应覆盖模拟时间段
延迟 transport 流量 double[rivers.count,grid.N,rivers.time]
LuvSrc时,具有正负,正值代表向数值更大的方向流动;LwSrc时,恒为正数。
单位:$m ^ 3 / s$
延迟 v_shape 垂向流量分配 double[rivers.count,grid.N]
流量在垂直层上的分布的百分比,每一列的总和应当为1。
延迟 temp
salt
温度
盐度
double[rivers.count,grid.N,rivers.time]
单位分别为摄氏度、?
延迟 dye
ages
示踪剂及其初始年龄 {double[rivers.count,grid.N,rivers.time]}
元胞数组的长度应与配置的示踪剂数量相同。

biology:生物

用户输入 子配置项 含义 格式
model 所使用的生物模型 `"fennel"

io:输入输出

用户输入 子配置项 含义 格式
deflate 压缩机别 int[0:9]
越大,压缩机别越高,0表示不压缩
shuffle 压缩时是否开启乱序数据写入 logical

项目配置:project_data.m

字符串常量:strs

配置名 含义
language 语言
axis_* 坐标系标签
tide_* 潮站名
legend_* 图例名
title_* 图名

项目通用常量:projectData

配置名 含义
pollutionNames 污染物的名称
studyRange 研究区域(能完全包含杭州湾的多边形)
obsRange 用于对比和溯源的观测值的选取区域
maxValue 各污染物能够达到的最大浓度(用于绘图)
colormapSteps 各污染物的colorbar的段数
bdy 各污染物的边界强迫浓度
factor 各指标的污染源(河流、排污口)浓度与海洋(监测)浓度的比值
excludeSites 对结果进行对比和评估时,排除的异常值站点的站点号(废弃)
emissionList 排放清单Excel文件
observationInfo 水质观测数据CSV文件

源强估算常量:traceData

配置名 含义
obsExtra 额外的虚拟观测站的位置(前两列)和浓度值
partCount 排放区域的数量
riverPartCount 排放区域中,属于河流的数量
simFluxs 各区域(列)的每个月份(行)的流量,其中河流使用真实流量,考虑月流量的不同,其他使用恒定值
refFluxs 不同污染物(行),不同沿岸排放区域(列)的基于沿海排污数据的参考污染物通量
refConcentration 不同污染物(行),不同河流排放区域(列)的基于河流水质数据的参考污染物通量
partNames 各部分的名称
pointPerPart 每个部分的实际排放点数量
maxValues 各污染物能够达到的最大浓度(用于绘图)
repeat 每个示踪剂的重复生成次数。总的生成示踪剂数量为$(partCount+1) \times repeat$

生态常量:bioData

配置名 含义
tests 敏感性试验案例地址
testNames 敏感性试验案例名
locations 典型位置经纬度坐标
locationNames 典型位置地名
colorRanges 每类变量在表层的值域
profileColorRanges 每类变量在绘制剖面图时的值域
maxDepth 每类变量在绘制剖面图时的最大深度
varName 每个变量的名称
dh 东海的经纬度坐标范围

绘图常量:graphData

配置名 含义
*Values/Labels 需要在地图坐标轴上注明的经纬度值和标签
landColor 用来表示陆地的颜色
fontSize/lagerFontSize 字体大小
font 字体

ROMS

创建网格

使用 GridBuilder来创建网格。

首先执行 roms_create_grid_from_wrfinput,从 wrfinput创建网格,在弹出的窗口中根据海岸线编辑水陆点;或执行 roms_create_grid_core,根据高程文件来创建网格。。然后执行 roms_fill_grid_h填充水深。

边界场、初始场、气候态逼近场

下载HYCOM数据

编辑 download_hycom.py,指定区域和时间,使用Python下载所需的HYCOM数据。

手动下载:位于HYCOM(hybrid coordinate ocean model,混合坐标海洋模型)。这里选用的是GOFS 3.0: HYCOM + NCODA Global 1/12° Analysis (NRL)-GLBu0.08/expt_90.9 (2012-05 to 2013-08)/,选择Hindcast Data: May-2012 to Aug-2013,然后选择OPeNDAP://tds.hycom.org/thredds/dodsC/GLBu0.08/expt_90.9,其中有个Data URL后面就是所需要的地址。

确认示踪剂配置

若需要示踪剂,则编辑 roms_add_tracer文件,在需要的地方填充初始时刻的示踪剂浓度。

制作文件

执行 roms_create_clm_bdy_ini。会生成:

  • 初始场文件:roms_ini.nc
  • 边界文件:roms_bdy.nc
  • 气象文件:roms_clm.nc

对于嵌套中的子区域,需要创建初始场和气象文件。可以和上面进行相同的步骤,也可以:

create_roms_child_init( roms_grid, roms_child_grid, 'Sandy_ini.nc',  'Sandy_ini_ref3.nc') 
create_roms_child_clm( roms_grid, roms_child_grid,  'Sandy_clm.nc', 'Sandy_clm_ref3.nc')

这一部分还未进行修改。

潮汐场

低精度潮汐

需要 tpx_h.mattpx_uv.mat文件。进入Revision 41,选择tide,下载adcirc..tpx_h.mattpx_uv.mat。这个网站用IE才能打开,Chromium打不开,因为加密方式太老了。

确保 roms_create_tides中调用的是 roms_create_tides_tpx。执行 roms_create_tides

高精度潮汐

使用 TPXO9进行创建。下载地址未知。

确保 roms_create_tides中调用的是 roms_create_tides_tpxo9。执行 roms_create_tides

大气强迫场

风、温湿度

下载NCEP的FNL数据,不要重命名,放在配置中的 roms.res.force_ncep_dir下。

执行 roms_create_ncep_force

辐射

下载链接:ERA5 hourly data on single levels from 1940 to present

Variable中找到Radiation and heat,勾选:

  • Surface net solar radiation(ssr,太阳短波辐射)
  • Surface net thermal radiation(str,向上长波辐射,物体由于存在温度而辐射的长波)
  • Surface thermal radiation downwards(strd,向下短波辐射,云、大气等由于存在温度而向下辐射的长波)

选择需要的Year、Month、Day、Time,在Geographical area中指定需要的范围,Format选择NetCDF,然后Submit Form

等待请求完成,下载数据,保证文件名与configs中相同。

执行roms_create_force_radiation_ERA5

河流

编辑 roms_create_rivers,确认河流的位置、流量等信息。如果启用了示踪剂,则设置示踪剂浓度。之后执行。

最终所必需的文件(非嵌套)

  • 网格文件:roms_grid.nc
  • 初始场文件:roms_ini.nc
  • 边界文件(若需要):roms_bdy.nc
  • 气候态逼近文件(若需要):roms_clm.nc
  • 潮汐强迫文件(若需要):roms_tides.nc
  • 河流强迫文件(若需要):roms_rivers.nc

  • my_tools_core\graph\ncl下的数据和代码来自slandarer,具体见代码中的注释。

  • 部分代码基于COAWST工具包改编,而非本仓库原创。

  • 2024年起,下载CMEMS的代码已经过时,需要修改后才可使用。

  • 代码已申请软件著作权,请勿牟利。