FVCOM离线拉格朗日配置

离线拉格朗日配置

可以在PML GitLab中找到该代码。调整makefile以指向您的netCDF库路径,并使用编译代码make。输出文件称为ptraj

注意:代码没有并行化,因此运行缓慢且仅在单个内核上运行。

模型设置

模型配置由文件控制casename_run.dat。下面给出一个例子。

!=========================================================================================!
! INPUT FILE FOR PARAMETERS CONTROLLING EXECUTION OF OFF-LINE PARTICLE TRACKING           !
! DESCRIPTION OF VARIABLES AND SUGGESTED PARAMETERS CAN BE FOUND AT BOTTOM                !
!                                                                                         !
!        FORMAT:                                                                          !
!       1.) VARIABLE  = VALUE  (EQUAL SIGN MUST BE USED)                                  !
!       2.) FLOATING POINT VARIABLES MUST CONTAIN A PERIOD "." EX: 1.3, 2.,etc            !
!       3.) BLANK LINES ARE IGNORED AS ARE LINES BEGINNING WITH ! (F90 COMMENT)           !
!       4.) COMMENTS CAN FOLLOW VALUES IF MARKED BY !                                     !
!       5.) ORDER OF VARIABLES IS NOT IMPORTANT                                           !
!       6.) FOR MULTIPLE VALUE VARIABLES FIRST ENTRY IS NUMBER OF VARIABLES               !
!           TO FOLLOW (OR 0 IF NONE)                                                      !
!       7.) DO NOT USE COMMAS TO SEPARATE VARIABLES                                       !
!       8.) DO NOT EXCEED EIGHTY CHARACTERS PER LINE                                      !
!       9.) FOR LINE CONTINUATION ADD \\ TO END OF LINE TO FORCE CONTINUE                 !
!           TO NEXT LINE.  MAXIMUM 4 CONTINUATIONS                                        !
!       10.) TRUE = T, FALSE = F                                                          !
!                                                                                         !    
!=========================================================================================!

!=========Parameters Controlling Time Integration==========================================

DTI      = 120.0 ! Time step for scheme resolution. mod(INSTP/DTI) should be 0
INSTP    = 3600  ! INPUT time step (s).
DTOUT    = 1     ! output time step in hour
TDRIFT   = 720 !480 !720 ! Drift duration (hour)

!=========Parameters Controlling Starting Tracking Date====================================

YEARLAG   = 1995 ! Year of tracking start
MONTHLAG  = 1    ! Month of tracking start
DAYLAG    = 1    ! Day of tracking start
HOURLAG   = 0    ! Hour of tracking start

!=========Parameters Controlling Input/Output LOCATION=====================================

INPDIR   = INPDIR
GEOAREA  = tst
OUTDIR   = OUTDIR_tst
INFOFILE = screen
LAGINI   = particle_tst   ! Input file with particle location
METRICS  = tst            ! Prefix for the grid metrics netCDF file (saved in OUTDIR)

!=========Parameters Controlling SIGMA/CARTESIAN===========================================

F_DEPTH  = F              ! Cartesian depth is kept constant if T.
P_SIGMA  = F              ! Input particle depth in sigma if T.
OUT_SIGMA  = F            ! Output particle depth in sigma if T.

!=========Parameters Controlling Random Walk===============================================

IRW   = 0   ! IRW (0-w/o rw; 1-hor rw; 2-vert rw; 3:hor+vert rw)
DHOR  = 20. ! DHOR (horizontal diff coeff m^2/s, miller 10^6m^2/day~11.57m^2/s)
DTRW  = 6.  ! time step (s) for RW (from the visser's criterion). mod(DTI/DTRW) should be 0

值得注意的参数是YEARLAGMONTHLAGDAYLAGHOURLAG确定何时粒子追踪应该开始。尽管YEARLAG在此控制文件中进行了定义,但是源代码当前具有年份的硬编码值,因此您将需要offlag.f90在第45行和第46行进行编辑以使用正确的年份进行模型运行。

LAGINI 是包含初始粒子位置的文件。

GEOAREAcasename与FVCOM手册中的等效。您的.dat文件必须被调用GEOAREA_run.dat(即casename_run.dat)。

设置INPDIROUTDIR值以反映您从FVCOM模型运行中获得的输入和输出目录。每年的输出文件必须在目录中。模型输出文件的命名必须为casename_####.nc####是从0001开始的数字。

    INPDIR/YEARLAG/casename_0001.nc
    INPDIR/YEARLAG/casename_0002.nc
    ...
    INPDIR/YEARLAG/casename_000n.nc

可以在此处找到将每月模型输出文件分割为一天的单个文件的脚本。

INFOFILEscreen将运行时信息输出到标准输出(即到终端)或文件名。

网格指标

如果您使用的是离线拉格朗日代码的medusa-v3.1.0-LAG分支,则必须在该Parameters Controlling Input/Output LOCATION部分中添加一个额外的参数:

    !=========Parameters Controlling Input/Output LOCATION=====================================
    
    INPDIR   = INPDIR
    GEOAREA  = tst
    OUTDIR   = OUTDIR_tst
    INFOFILE = screen
    LAGINI   = particle_tst   ! Input file with particle location
    METRICS  = tst            ! Prefix for the grid metrics netCDF file (saved in OUTDIR)

METRICS参数控制网格度量的文件名。此netCDF文件包含平移粒子所需的网格度量。如果网格很复杂,这可能是一个耗时的操作,因此将这些输出保存为连续运行可以节省大量时间。

它的工作方式是,如果输入目录中不存在该文件,则将计算网格度量并将其保存到tst_metrics.nc上例中命名的netCDF文件中(更改METRICS以更改前缀)。首次运行生成文件后,如果将其移入输入目录(INPDIR/YEARLAG),则连续运行都可以使用它。

FVCOM模型输出文件

离线代码需要模型输出,其中包含以下变量:

变量名长名外型尺寸单位
X节点x坐标节点
ÿ节点y坐标节点
nv元素周围的节点三,尼尔
H测深法节点
西格列夫西格玛水平siglev,节点
a1ua1u三,尼尔
a2ua2u三,尼尔
w0w0三,尼尔
awxawx三,尼尔
wywy三,尼尔
时间时间时间自1858-11-17 00:00:00以来的天数
泽塔水面高程时间,节点
ü东风速时间西格莱奈尔毫秒-1
v北方水速时间西格莱奈尔毫秒-1
欧米茄垂直Sigma坐标速度时间,siglev,节点s -1
公里动量的涡流粘度时间,siglev,节点m 2 s -1

注意:不支持球坐标,因此您将不得不以笛卡尔形式运行原始模型,或者FLAG_6 = -DPROJ在编译FVCOM时启用(随后PROJECTION_REFERENCEcasename_run.nml文件中进行设置)。

注意:您的FVCOM模型输出必须是整天的块。粒子跟踪只会读取给出的任何结果文件的前24小时。可以在此处找到将每月模型输出文件分割为一天的单个文件的脚本。

离线输入粒子定义文件

脱机代码仅需要一个文件即可定义粒子的释放位置。下面是一个示例:

3
1 510876 6555485 5.0
2 500064 6563972 0.0
3 530350 6561007 10.0

第一行定义了要跟踪的粒子数(这是通过offlag.f90中的DO循环读取的,因此,如果位置列表很长,但只希望使用前几个位置,请将标头号设置为希望阅读,保留列表中定义的其余点;代码将忽略它们)。

每个点的定义是ID XPOS YPOS DEPTH深度为正向下。设置此文件的名称以匹配文件中的LAGINIcasename_run.dat

 
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值