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
值得注意的参数是YEARLAG
,MONTHLAG
,DAYLAG
和HOURLAG
确定何时粒子追踪应该开始。尽管YEARLAG
在此控制文件中进行了定义,但是源代码当前具有年份的硬编码值,因此您将需要offlag.f90
在第45行和第46行进行编辑以使用正确的年份进行模型运行。
LAGINI
是包含初始粒子位置的文件。
GEOAREA
casename
与FVCOM手册中的等效。您的.dat文件必须被调用GEOAREA_run.dat
(即casename_run.dat
)。
设置INPDIR
和OUTDIR
值以反映您从FVCOM模型运行中获得的输入和输出目录。每年的输出文件必须在目录中。模型输出文件的命名必须为casename_####.nc
####是从0001开始的数字。
INPDIR/YEARLAG/casename_0001.ncINPDIR/YEARLAG/casename_0002.nc...INPDIR/YEARLAG/casename_000n.nc
可以在此处找到将每月模型输出文件分割为一天的单个文件的脚本。
INFOFILE
是screen
将运行时信息输出到标准输出(即到终端)或文件名。
网格指标
如果您使用的是离线拉格朗日代码的medusa-v3.1.0-LAG分支,则必须在该Parameters Controlling Input/Output LOCATION
部分中添加一个额外的参数:
!=========Parameters Controlling Input/Output LOCATION=====================================INPDIR = INPDIRGEOAREA = tstOUTDIR = OUTDIR_tstINFOFILE = screenLAGINI = particle_tst ! Input file with particle locationMETRICS = 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,节点 | – |
a1u | a1u | 三,尼尔 | – |
a2u | a2u | 三,尼尔 | – |
w0 | w0 | 三,尼尔 | – |
awx | awx | 三,尼尔 | – |
wy | wy | 三,尼尔 | – |
时间 | 时间 | 时间 | 自1858-11-17 00:00:00以来的天数 |
泽塔 | 水面高程 | 时间,节点 | 米 |
ü | 东风速 | 时间西格莱奈尔 | 毫秒-1 |
v | 北方水速 | 时间西格莱奈尔 | 毫秒-1 |
欧米茄 | 垂直Sigma坐标速度 | 时间,siglev,节点 | s -1 |
公里 | 动量的涡流粘度 | 时间,siglev,节点 | m 2 s -1 |
注意:不支持球坐标,因此您将不得不以笛卡尔形式运行原始模型,或者FLAG_6 = -DPROJ
在编译FVCOM时启用(随后PROJECTION_REFERENCE
在casename_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
深度为正向下。设置此文件的名称以匹配文件中的LAGINI
值casename_run.dat
。
FVCOM离线拉格朗日配置相关推荐
- Python【算法中心 03】Docker部署Django搭建的Python应用流程实例(Docker离线安装配置+Django项目Docker部署)
1.Docker离线安装配置 rpm版本安装 # 系统版本 rpm -qi centos-release Name : centos-release Version : 8.1 Release : 1 ...
- 人脸表情识别系统介绍——离线环境配置篇
摘要:本文详细介绍如何使用离线方法配置前面一篇博文<人脸表情识别系统介绍--上篇(python实现,含UI界面及完整代码)>项目中代码的Python环境,能够有效避免一些可能出现的依赖包安 ...
- AndroidStudio离线打包配置汇总
完整教程 https://blog.csdn.net/qq285744011/article/details/126649091 离线打包配置: 解决 https://blog.csdn.net/qq ...
- MySQL如何安装离线_mysql8.0.2离线安装配置方法图文教程
离线安装MySQL_8.0.2方法,供大家参考,具体内容如下 从MySQL官网中获取了下面这个压缩包: 解压之后变成这个样子: 文件里面是这个样子: 下面开始了,请注意. 第一大步:配置my.ini文 ...
- FVCOM 环境基础配置(1) intel编译器 下载与安装
FVCOM 配置(1):intel编译器的下载与安装 FVCOM模型需要Intel编译器 之前的Intel Parallel Studio XE2019软件需要认证许可.不过现在Intel已经免费开发 ...
- uniapp ios app离线打包 - 配置
前言 进行UniApp 离线打包之前, 建议先认真阅读一遍官方的开发文档.真正阅读过了,可以少踩很多坑.本文介绍离线打包前的准备及iOS工程的一些配置和需要注意的事项. 官方文档: App离线打包 i ...
- PetaLinux 2022.1离线编译配置(sstate和downloads)
2022版本的一些语法和之前版本不一样,阅读到后面请注意. 官网下载downloads文件和对应的sstate文件. sstate文件:ZYNQ-7000用 arm sstate-cache,ZYNQ ...
- CentOS 7 离线安装配置 erlang
环境准备 java 环境安装配置 请参照 CentOS 7 离线安装 JDK 安装 unixODBC 下载unixODBC源码包 unixODBC-2.3.7, 网站地址:http://www.uni ...
- ubunut离线redis配置_ubuntu安装redis及简单配置
1.官方下载redis. redis-4.0.10.tar.gz 2.上传到服务器,找到上传文件,进行解压 #tar zxvf redis-4.0.10.tar.gz #cd /apache/redi ...
最新文章
- 专业|尧德中:脑器交互学,一个发展中的新学科
- Application Session Cookie ViewState Cache Hidden 区别
- Linux设置程序开机启动-tomcat开机启动
- 【C 语言】数组 ( 数组本质 | 数组长度定义 | 数组初始化 | 编译时初始化 | 显式初始化 - 重置内存 )
- brew改源无效问题之一
- 汇编解析(5)-intel的奔4的netburst控制单元技术提高指令处理速度
- 针对大表 设计高效的存储过程【原理篇】 附最差性能sql语句进化过程客串
- python全栈开发学习 01
- 监听js变量的变化_JS监听事件型爬虫
- 五位专家跟你讲讲为啥Python更适合做AI/机器学习
- 云服务器怎么把软件装上去_服务器:云服务器怎么设置301
- WebLogic plugin for juno下载地址
- npoi操作word书签_100份Word文档合并只需3分钟?不用复制粘贴,简单到一学就会...
- 别轻易接受父母的建议
- 如何使用浏览器网络监视工具进行黑客攻击
- 主动学习、纯半监督学习、直推学习的联系与区别
- 内网穿透之HTTP穿透
- 谈谈This对象的理解
- 一个人靠不靠谱,在于能力是否配得上承诺
- python阴阳鱼绘制(使用turtle)