ADCIRC+SWAN学习笔记(四)利用OceanMesh2D生成网格文件
Beta_Yang
编辑于 2023年04月08日 06:13
收录于文集
共11篇

SMS操作比较繁琐,且不开源。相较之下OceanMesh2D可能会更友好一些。

一、配置matlab

1. 下载m_map,解压到matlab路径下的toolbox文件夹下

https://www.eoas.ubc.ca/~rich/map.html

2. 下载OceanMesh2D,解压到matlab路径下的toolbox文件夹下

https://github.com/CHLNDDEV/OceanMesh2D

3. 下载全球海岸线数据,解压到OceanMesh2D/datasets

https://www.ngdc.noaa.gov/mgg/shorelines/shorelines.html

4. 在matlab中添加以上文件路径

二、利用OceanMesh2D代码生成Mesh文件 (fort.14)

1. 具体可参考OceanMesh2D的使用说明,写得非常详细。

https://www.researchgate.net/publication/326327226_OceanMesh2D_User_guide_-_Precise_distance-based_two-dimensional_automated_mesh_generation_toolbox_intended_for_coastal_oceanshallow_water

2. 使用时候需要注意,初始边界的编辑(可以在ArcGIS上操作)还是很讲究,过于复杂会出现后面跑ADCIRC时解算奇异造成程序终止:

图 1. 因网格做得不好导致程序终止

三、 飓风数据文件(fort.22)准备

1. 根据ADCIRC手册上fort.22文件说明里面推荐的路径采用lftp下载飓风数据

图 2. 下载飓风数据链接

2. 可以采用lftp下载:

代码块
JavaScript
自动换行
复制代码
lftp ftp://ftp.nhc.noaa.gov/atcf/archive/
mirror 文件
复制成功

3. 文件信息等在README里面有介绍

图 3. NOAA数据ftp路径下的目录

4. 找到2008年Ike的文件以后需要进行一些编辑

图 4. 需对best track做一些预编辑

5. 编辑完用ADCIRC编译出来的aswip再进行处理生成fort.22文件

代码块
JavaScript
自动换行
复制代码
aswip -n 19 -m 2 -z 1
复制成功

四、ADCIRC控制文件准备(fort.15)

控制文件条目比较多,可以采用SMS先生成一个大概的模板再对照着ADCIRC官网说明进行参数的调整;OceanMesh2D也有可以生成fort.15文件的函数。下列参数文件只是实验性质:

代码块
JavaScript
自动换行
复制代码
Ike                                      ! 32 CHARACTER ALPHANUMERIC RUN DESCRIPTION
Ike                                      ! 24 CHARACTER ALPHANUMERIC RUN IDENTIFICATION
1 20.0 1 50 1000.0                       ! NFOVER - NONFATAL ERROR OVERRIDE OPTION
0                                        ! NABOUT - ABREVIATED OUTPUT OPTION PARAMETER
20                                       ! NSCREEN - OUTPUT TO UNIT 6 PARAMETER
0                                        ! IHOT - HOT START OPTION PARAMETER
2                                        ! ICS - COORDINATE SYSTEM OPTION PARAMETER
0                                        ! IM - MODEL RUN TYPE: 0,10,20,30 = 2DDI, 1,11,21,31 = 3D(VS), 2 = 3D(DSS)
1                                        ! NOLIBF - NONLINEAR BOTTOM FRICTION OPTION
2                                        ! NOLIFA - OPTION TO INCLUDE FINITE AMPLITUDE TERMS
1                                        ! NOLICA - OPTION TO INCLUDE CONVECTIVE ACCELERATION TERMS
1                                        ! NOLICAT - OPTION TO CONSIDER TIME DERIVATIVE OF CONV ACC TERMS
0                                        ! NWP - Number of nodal attributes.
1                                        ! NCOR - VARIABLE CORIOLIS IN SPACE OPTION PARAMETER
0                                        ! NTIP - TIDAL POTENTIAL OPTION PARAMETER
19                                       ! NWS - WIND STRESS AND BAROMETRIC PRESSURE OPTION PARAMETER
1                                        ! NRAMP - RAMP FUNCTION OPTION
9.80665                                  ! G - ACCELERATION DUE TO GRAVITY - DETERMINES UNITS
0.00040                                  ! TAU0 - WEIGHTING FACTOR IN GWCE
15.00000                                 ! DT - TIME STEP (IN SECONDS)
0.00000                                  ! STATIM - STARTING SIMULATION TIME IN DAYS
0.00000                                  ! REFTIME - REFERENCE TIME (IN DAYS) FOR NODAL FACTORS AND EQUILIBRIUM ARGS
2008 09 10 00 1 0.9                      ! YYYY,MM,DD,HH24,StormNumber,BLAdj,
5.00000                                  ! RNDAY - TOTAL LENGTH OF SIMULATION (IN DAYS)
1.0                                      ! DRAMP - DURATION OF RAMP FUNCTION (IN DAYS)
0.35 0.30 0.35                           ! TIME WEIGHTING FACTORS FOR THE GWCE EQUATION
0.02 12 12 0.02                          ! H0, NODEDRYMIN, NODEWETMIN, VELMIN - MINIMUM WATER DEPTH AND DRYING/WETTING OPTIONS
-94.766 29.352                           ! SLAM0, SFEA0 - LONGITUDE AND LATITUDE ON WHICH THE CPP COORDINATE PROJECTION IS CENTERED
0.0050                                   ! FFACTOR - 2DDI BOTTOM FRICTION COEFFICIENT
3.0                                      ! ESLM - SPATIALLY CONSTANT HORIZONTAL EDDY VISCOSITY FOR THE MOMENTUM EQUATIONS
0.0                                      ! CORI - CONSTANT CORIOLIS COEFFICIENT
0                                        ! NTIF - NUMBER OF TIDAL POTENTIAL CONSTITUENTS
0                                        ! NBFR - NUMBER OF PERIODIC FORCING FREQUENCIES ON ELEVATION SPECIFIED BOUNDARIES
50                                       ! ANGINN - MINIMUM ANGLE FOR TANGENTIAL FLOW
0 0.0 0.0 0                              ! NOUTE, TOUTSE, TOUTFE, NSPOOLE - FORT 61 OPTIONS
0                                        ! NSTAE - NUMBER OF ELEVATION RECORDING STATIONS, FOLLOWED BY LOCATIONS ON PROCEEDING LINES
0 0.0 0.0 0                              ! NOUTV, TOUTSV, TOUTFV, NSPOOLV - FORT 62 OPTIONS
0                                        ! NSTAV - NUMBER OF VELOCITY RECORDING STATIONS, FOLLOWED BY LOCATIONS ON PROCEEDING LINES
0 0.0 0.0 0                              ! NOUTM, TOUTSM, TOUTFM, NSPOOLM - METEOROLOCIAL OUTPUT INFO
0                                        ! NSTAM - NUMBER OF METEOROLOGICAL RECORDING STATIONS, FOLLOWED BY LOCATIONS ON PROCEEDING LINES
-1 0.0 5.0 240                           ! NOUTGE, TOUTSGE, TOUTFGE, NSPOOLGE - GLOBAL ELEVATION OUTPUT INFO (UNIT 63)
-1 0.0 5.0 240                           ! NOUTGV, TOUTSGV, TOUTFGV, NSPOOLGV - GLOBAL VELOCITY OUTPUT INFO (UNIT 64)
-1 0.0 5.0 240                           ! NOUTGM,TOUTSGM,TOUTFGM,NSPOOLGM  - GLOBAL METEOROLOGICAL OUTPUT INFO (UNIT 73/74)
0                                        ! NHARF - NUMBER OF FREQENCIES IN HARMONIC ANALYSIS
10.0 40.0 360 0.0                        ! THAS,THAF,NHAINC,FMV - HARMONIC ANALYSIS PARAMETERS
0 0 1 1                                  ! NHASE,NHASV,NHAGE,NHAGV - CONTROL HARMONIC ANALYSIS AND OUTPUT TO UNITS 51,52,53,54
0 86400                                  ! NHSTAR,NHSINC - HOT START FILE GENERATION PARAMETERS
1 0 1e-010 50                            ! ITITER, ISLDIA, CONVCR, ITMAX - ALGEBRAIC SOLUTION PARAMETERS
&timeBathyControl                        ! NDDT, BTIMINC, BCHGTIMINC -- BATHYMETRY TIME RECORDS (IN SECONDS) AND TRANSITION TIME
    NDDT = 0
    BTIMINC = 0
    BCHGTIMINC = 43200
/
复制成功

五、模式结果与对比

在本篇算例中未加入潮汐,因此输出的水位文件理论上就是扣除潮汐、忽略波浪(SWAN为波浪模式)以及忽略各种耦合影响后的风暴潮增水:

图 5. ADCIR模式输出

由于在Ike登陆的核心区域内绝大部分验潮站都出现了数据间断,因此采用唯一完整记录了整个过程的验潮站进行定性方面的粗略对比:

图 6. ADCIRC结果与验潮站实测对比

从图6中可以看到,变化趋势上比较还是比较接近,但若在实际的科研和应用过程中,各输入文件都需要再进行处理和调整。

图 7. Ike期间风暴潮增减水空间变化

小结:之前三篇加本篇基本上将ADCIRC的整个流程走了一遍,即源代码编译、官方算例运行以及针对特定目标区域的输入文件制作和模式运行。以后在实际科研的使用中如果发现比较有意思的点或者是小tip,应该还会陆陆续续进行总结。另外,欢迎大家通过私信或是留言相互讨论,共同进步!