地球科学

 

FVCOM

更新时间 2020-12-01

##FVCOM

FVCOM用于多尺度,多物理的海洋动力学模型模拟计算,对研究水体采用非结构网格划分。由非结构网格划分法带来了能自由的在关注点上加密网格、提高精度,同时不影响非关注区域计算量的优点。
软件适用于研究多尺度水体问题,从全球洋流,区域海洋至江河入海口都能满足研究者的需要。FVCOM包含的物理知识可以充分满足在海水,海冰,海浪,洋流,渔业等方向上的研究。目前FVCOM已经成功运用于09年法航搜索,2014年亚航搜救,日本311海啸还原模拟,30年来北极海冰面积变化,全球海水实时动态,珠江口附近海域模拟等项目。

一、脚本模板

  1. Slurm
    #!/bin/bash
    #SBATCH --nodes=1                   # 节点数量
    #SBATCH --ntasks-per-node=56        # 每个节点核心数量
    #SBATCH --ntasks=56                 # 总核心数
    #SBATCH --partition=g1_share        # 队列分区且必须指定正确分区
    #SBATCH --job-name=vasp             # 作业名称
    #SBATCH --output=vasp.%j.out        # 正常日志输出 (%j 参数值为 jobId)
    #SBATCH --error=vasp.%j.err         # 错误日志输出 (%j 参数值为 jobId)
    
    ##############################################
    #          Software Envrironment             #
    ##############################################
    unset I_MPI_PMI_LIBRARY                        # 取消默认mpi库,使用intel自带
    export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0   # intel 多节点作业所需修改参数
    # module load intel/2022 intelmpi/2022           # intel 环境加载
    
    ##############################################
    #               Run job                      #
    ##############################################
    export OMP_NUM_THREADS=1
    
    fvcom --casename=tst
    

二、编译

  1. 环境加载

    module load intel/2022 intelmpi/2022
    
  2. 解压后进入FVCOM目录下的METIS_source,Configure文件夹编译其中所有文件。

    $cd FVCOM根目录/METIS_source
    
    $make
    
    $cd FVCOM根目录/Configure
    
    $./configure.sh parallel
    
    # 新生成的make.inc文件位于FVCOM根目录下FVCOM_source文件内。
    # 第19行中 CFLAGS=-03 改写为:CFLAGS="-03 -DNAGf90Fortran"
    
  3. 解压编译同目录中netcdf.tgz

    $tar xf netcdf.tgz
    
    # 修改netcdf中/cxx/ncvalues.cpp的头文件
    # 将#include <string>改为#include <string.h>
    
    $make 
    
    $cp ../../METIS_source/libmetis.a install/lib
    
    # 清理上一次fvcom的编译痕迹  
    $FVCOM/3.2.1/FVCOM_source/make clean
    
  4. 再次编辑FVCOM3.2.1/FVCOM_source/make.inc

    # 注意make.inc下面的功能开关,不同开关决定了编译出来后fvcom的功能,请自行选择。
    
    # 编译FVCOM_source
    $FVCOM/3.2.1/FVCOM_source/make
    
    # 注意1. FVCOM中make.inc文件决定了编译后的FVCOM能调用什么功能包。当使用者想改变当前FVCOM的功能时,必须重新编译FVCOM,重新执行上述的6-8步。具体开关功能请看FVCOM根目录/doc中的说明文档。
    
    # 注意2. FVCOM中使用波浪模块时,将swanmain.F文件中所有USE VARS_WAVE后的 "ONLY: ******" 删掉。
    
  5. 完成。

这篇文档解决了您的问题吗?
0
0