FVCOM需要根据算例编译可执行文件,如果使用inlet算例,则需按照编译和安装流程将“make.inc”文件更换为Intel算例的“make.inc”文件重新编译,并修改“/path/to/FVCOM/FVCOM_source”目录下“mod_cstms_vars.F”、“mod_sed_cstms.F”文件,其余步骤与编译和安装相同。
vi mod_cstms_vars.F
494 (/ "bo_sd50" & 529 (/ "mean grain diameter" & 563 character(len=80), dimension(34) :: bot_units = (" m","kg& 568 character(len=80), dimension(5) :: bed_snames = (/"bed_thick","bed_age","bed_por","bed_diff","bed_btcr"/) 569 character(len=80), dimension(5) :: bed_lnames = (/"bed layer thickness","bed layer age","bed layer porosity","bed layer bio-diffusivity","bed critical stress"/) 570 character(len=80), dimension(5) :: bed_units = (/"m","days","-","-","N/m2"/)
494 (/character(80):: "bo_sd50" & 529 (/ character(80):: "mean grain diameter" & 563 character(len=80), dimension(34) :: bot_units = (/character(80)::" m","kg& 568 character(len=80), dimension(5) :: bed_snames = (/character(80)::"| (/"bed_thick","bed_age","bed_por","bed_diff","bed_btcr"/) 569 character(len=80), dimension(5) :: bed_lnames = (/character(80)::"bed layer thickness","bed layer age","bed layer porosity","bed layer bio-diffusivity","bed critical stress"/) 570 character(len=80), dimension(5) :: bed_units = (/character(80)::"m","days","-","-","N/m2"/)
vi mod_sed_cstms.F
5797 IF(BACKWARD_ADVECTION .EQV. .TRUE.)THEN
mkdir -p /path/to/FVCOM/test cd /path/to/FVCOM/test
cp -r /path/to/FVCOM/FVCOM4.1/Examples/cohesive_bed/tidal_inlet/ ./
cd ./tidal_inlet/run
vi inlet_run.nml
NCNEST_NODE_FILES_WAVE = 'none' NESTING_FILE_NAME = 'inlet_nesting.nc' NESTING_FILE_NAME_WAVE = 'inlet_nesting_wave.nc'
time mpirun -np 96 --allow-run-as-root --bind-to core /path/to/FVCOM/FVCOM4.1/FVCOM_source/fvcom --casename=inlet
结果样例如下所示。