WW3 v6.07.1:下载+./w3_make
要求是linux系统哟~~
下载文件夹
https://github.com/Liu-Jincan/WW3/releases/tag/6.07.1
链接:https://pan.baidu.com/s/1gV8PVAP4ocfBbtIR7iIwRw 提取码:1v1u
下载压缩包,解压即可。
解压后的文件夹内容
安装gcc,版本位置信息
# 安装 gcc, gcc+
sudo apt install build-essential
### 注意事项1
# 安装过程,可能需要输入 /media/cfdom? 什么的,它会有提示的;
###
xuniji1@xuniji1-virtual-machine:~$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.5.0-3ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
xuniji1@xuniji1-virtual-machine:~$ which gcc
/usr/bin/gcc
安装gfortran,版本位置信息
# 安装 gfortran
sudo apt install gfortran
xuniji1@xuniji1-virtual-machine:~$ gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.5.0-3ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
xuniji1@xuniji1-virtual-machine:~$ which gfortran
/usr/bin/gfortran
安装netcdf-c,版本位置信息
sudo apt install libnetcdf-dev
xuniji1@xuniji1-virtual-machine:~$ nc-config --all
This netCDF 4.6.0 has been built with the following features:
--cc -> /usr/bin/cc
--cflags -> -I/usr/include -I/usr/include/hdf5/serial
--libs -> -L/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu/hdf5/serial -lnetcdf -lhdf5_hl -lhdf5 -lpthread -lsz -lz -ldl -lm -lcurl
--has-c++ -> no
--cxx ->
--has-c++4 -> no
--cxx4 ->
--has-fortran-> no
--has-dap -> yes
--has-dap2 -> yes
--has-dap4 -> yes
--has-nc2 -> yes
--has-nc4 -> yes
--has-hdf5 -> yes
--has-hdf4 -> no
--has-logging-> no
--has-pnetcdf-> no
--has-szlib -> no
--has-cdf5 -> no
--has-parallel-> no
--prefix -> /usr
--includedir-> /usr/include
--libdir -> /usr/lib/x86_64-linux-gnu
--version -> netCDF 4.6.0
xuniji1@xuniji1-virtual-machine:~$ which nc-config
/usr/bin/nc-config
安装netcdf-f,版本位置信息
xuniji1@xuniji1-virtual-machine:~$ nf-config --all
Command 'nf-config' not found, but can be installed with:
sudo apt install libnetcdff-dev
xuniji1@xuniji1-virtual-machine:~$ sudo apt install libnetcdff-dev
## 安装
xuniji1@xuniji1-virtual-machine:~$ nf-config --all
This netCDF-Fortran 4.4.4 has been built with the following features:
--cc -> gcc
--cflags -> -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2
--fc -> gfortran
--fflags -> -I/usr/include
--flibs -> -L/usr/lib -lnetcdff -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -lnetcdf -lnetcdf
--has-f90 -> no
--has-f03 -> yes
--has-nc2 -> yes
--has-nc4 -> yes
--prefix -> /usr
--includedir-> /usr/include
--version -> netCDF-Fortran 4.4.4
## 位置
xuniji1@xuniji1-virtual-machine:~$ which nf-config
/usr/bin/nf-config
在 ~/.bashrc 添加环境变量
export WWATCH3_NETCDF=NC4
export NETCDF_CONFIG=/usr/bin/nc-config
xuniji1@xuniji1-virtual-machine:~$ source ~/.bashrc
创建comp link switch 文件
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ cp comp.Gnu comp.comp.Gnu
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ cp link.Gnu link.comp.Gnu
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ cp switch_NRL1 switch_switch_NRL1
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ cp comp.Gnu comp
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ cp link.Gnu link
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ cp switch_NRL1 switch
这里的
comp.Gnu
,link.Gnu
,switch_NRL1
文件都是在 bin 文件下的,不用额外下载。
环境配置(./w3_setup, wwatch.env)
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ ./w3_setup ../ -c comp.Gnu -s switch_NRL1
*****************************
*** WAVEWATCH III setup ***
*****************************
[INFO] local env file wwatch3.env found in /home/xuniji1/WW3_607_2/model/bin/wwatch3.env
Setup file /home/xuniji1/WW3_607_2/model/bin/wwatch3.env found
Printer (listings) : printer
auxiliary FORTRAN compiler : gfortran
auxiliary C compiler : gcc
Source directory : /home/xuniji1/WW3_607_2/model
Scratch directory : /home/xuniji1/WW3_607_2/model/tmp
Save source code : yes
Save listings : yes
Update settings ? [y/n] n
Setup makefile for auxiliary programs
Compile auxiliary programs
make: Entering directory '/home/xuniji1/WW3_607_2/model/aux'
make: Nothing to be done for 'all'.
make: Leaving directory '/home/xuniji1/WW3_607_2/model/aux'
Setup comp & link files
copy /home/xuniji1/WW3_607_2/model/bin/comp.comp.Gnu => /home/xuniji1/WW3_607_2/model/bin/comp
copy /home/xuniji1/WW3_607_2/model/bin/link.comp.Gnu => /home/xuniji1/WW3_607_2/model/bin/link
Setup switch file
/home/xuniji1/WW3_607_2/model/bin/switch_switch_NRL1 => /home/xuniji1/WW3_607_2/model/bin/switch
Create required model subdirectories
Finished setting up WAVEWATCH III
首次 ./w3_make 出错
##
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ ./w3_new
Exporting WWATCH3_ENV=/home/xuniji1/WW3_607_2/model/bin/wwatch3.env
##
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ ./w3_clean
*****************************
*** WAVEWATCH III clean ***
*****************************
Exporting WWATCH3_ENV=/home/xuniji1/WW3_607_2/model/bin/wwatch3.env
Clean up /home/xuniji1/WW3_607_2/model/tmp
Clean up /home/xuniji1/WW3_607_2/model/bin
Clean up /home/xuniji1/WW3_607_2/model/ftn
Clean up /home/xuniji1/WW3_607_2/model/aux
Remove /home/xuniji1/WW3_607_2/model/mod
Remove /home/xuniji1/WW3_607_2/model/mod_MPI
Remove /home/xuniji1/WW3_607_2/model/obj
Remove /home/xuniji1/WW3_607_2/model/obj_MPI
Remove /home/xuniji1/WW3_607_2/model/tmp
##
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ ./w3_make
*****************************
*** WAVEWATCH III make ***
*****************************
Exporting WWATCH3_ENV=/home/xuniji1/WW3_607_2/model/bin/wwatch3.env
Main directory : /home/xuniji1/WW3_607_2/model
Scratch directory : /home/xuniji1/WW3_607_2/model/tmp
Save source codes : yes
Save listings : yes
[INFO] list of the programs selected : ww3_grid ww3_strt ww3_bound ww3_outf ww3_outp ww3_trck ww3_grib ww3_gint gx_outf gx_outp ww3_uprstr ww3_multi ww3_sbs1 libww3 ww3_systrk ww3_gspl ww3_prep ww3_shel ww3_prnc ww3_ounf ww3_ounp ww3_bounc ww3_trnc
WARNING: NC4 is set in WWATCH3_NETCDF but not in the switch file
Making makefile ...
*****************************
*** WAVEWATCH III makefile ***
*****************************
switch = /home/xuniji1/WW3_607_2/model/bin/switch
Checking all subroutines for modules (this may take a while) ...
Processing ww3_grid
---------------------
ad3 : processing constants
mv: cannot stat 'constants.o': No such file or directory
ad3 : processing w3servmd
mv: cannot stat 'w3servmd.o': No such file or directory
ad3 : processing w3arrymd
ad3 : processing w3gsrumd
mv: cannot stat 'w3arrymd.o': No such file or directory
mv: cannot stat 'w3gsrumd.o': No such file or directory
ad3 : processing w3gdatmd
mv: cannot stat 'w3gdatmd.o': No such file or directory
ad3 : processing w3odatmd
ad3 : processing w3idatmd
mv: cannot stat 'w3odatmd.o': No such file or directory
mv: cannot stat 'w3idatmd.o': No such file or directory
ad3 : processing w3timemd
ad3 : processing w3dispmd
ad3 : processing wmmdatmd
ad3 : processing w3nmlgridmd
mv: cannot stat 'wmmdatmd.o': No such file or directory
mv: cannot stat 'w3timemd.o': No such file or directory
mv: cannot stat 'w3dispmd.o': No such file or directory
mv: cannot stat 'w3nmlgridmd.o': No such file or directory
ad3 : processing w3adatmd
ad3 : processing w3src4md
mv: cannot stat 'w3adatmd.o': No such file or directory
ad3 : processing w3snl1md
ad3 : processing w3parall
ad3 : processing w3triamd
mv: cannot stat 'w3src4md.o': No such file or directory
mv: cannot stat 'w3parall.o': No such file or directory
mv: cannot stat 'w3snl1md.o': No such file or directory
mv: cannot stat 'w3triamd.o': No such file or directory
ad3 : processing w3iogrmd
ad3 : processing w3wdatmd
mv: cannot stat 'w3iogrmd.o': No such file or directory
mv: cannot stat 'w3wdatmd.o': No such file or directory
ad3 : processing ww3_grid
mv: cannot stat 'ww3_grid.o': No such file or directory
Linking ww3_grid
*** file ww3_grid.o not found ***
*** file w3wdatmd.o not found ***
*** file w3gdatmd.o not found ***
*** file w3adatmd.o not found ***
*** file w3idatmd.o not found ***
*** file w3odatmd.o not found ***
*** file wmmdatmd.o not found ***
*** file w3parall.o not found ***
*** file w3triamd.o not found ***
*** file w3src4md.o not found ***
*** file w3snl1md.o not found ***
*** file w3iogrmd.o not found ***
*** file constants.o not found ***
*** file w3servmd.o not found ***
*** file w3arrymd.o not found ***
*** file w3dispmd.o not found ***
*** file w3gsrumd.o not found ***
*** file w3timemd.o not found ***
*** file w3nmlgridmd.o not found ***
*** Missing object files ***
makefile:25: recipe for target '/home/xuniji1/WW3_607_2/model/exe/ww3_grid' failed
make: *** [/home/xuniji1/WW3_607_2/model/exe/ww3_grid] Error 3
在 tmp 文件夹下查询错误日志 ww3_grid.err
尝试 ./w3_automake 错误
##
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ ./w3_new
Exporting WWATCH3_ENV=/home/xuniji1/WW3_607_2/model/bin/wwatch3.env
##
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ ./w3_clean
*****************************
*** WAVEWATCH III clean ***
*****************************
Exporting WWATCH3_ENV=/home/xuniji1/WW3_607_2/model/bin/wwatch3.env
Clean up /home/xuniji1/WW3_607_2/model/tmp
Clean up /home/xuniji1/WW3_607_2/model/bin
Clean up /home/xuniji1/WW3_607_2/model/ftn
Clean up /home/xuniji1/WW3_607_2/model/aux
Remove /home/xuniji1/WW3_607_2/model/mod
Remove /home/xuniji1/WW3_607_2/model/mod_MPI
Remove /home/xuniji1/WW3_607_2/model/obj
Remove /home/xuniji1/WW3_607_2/model/obj_MPI
Remove /home/xuniji1/WW3_607_2/model/tmp
##
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ ./w3_automake
*****************************
*** WAVEWATCH III automake ***
*****************************
Exporting WWATCH3_ENV=/home/xuniji1/WW3_607_2/model/bin/wwatch3.env
[INFO] list of the programs selected : ww3_grid ww3_strt ww3_bound ww3_outf ww3_outp ww3_trck ww3_grib ww3_gint gx_outf gx_outp ww3_uprstr libww3 ww3_multi ww3_sbs1 ww3_systrk ww3_shel ww3_prep ww3_gspl ww3_prnc ww3_ounf ww3_ounp ww3_bounc ww3_trnc
[INFO] SEQ progs : ww3_grid ww3_strt ww3_bound ww3_outf ww3_outp ww3_trck ww3_grib ww3_gint gx_outf gx_outp ww3_uprstr libww3 ww3_systrk ww3_prep ww3_gspl ww3_prnc ww3_ounf ww3_ounp ww3_bounc ww3_trnc
*****************************
*** WAVEWATCH III make ***
*****************************
Main directory : /home/xuniji1/WW3_607_2/model
Scratch directory : /home/xuniji1/WW3_607_2/model/tmp
Save source codes : yes
Save listings : yes
[INFO] list of the programs selected : ww3_grid ww3_strt ww3_bound ww3_outf ww3_outp ww3_trck ww3_grib ww3_gint gx_outf gx_outp ww3_uprstr libww3 ww3_systrk ww3_prep ww3_gspl ww3_prnc ww3_ounf ww3_ounp ww3_bounc ww3_trnc
WARNING: NC4 is set in WWATCH3_NETCDF but not in the switch file
Making makefile ...
*****************************
*** WAVEWATCH III makefile ***
*****************************
switch = /home/xuniji1/WW3_607_2/model/work_SEQ/switch.SEQ
Checking all subroutines for modules (this may take a while) ...
Processing ww3_grid
---------------------
ad3 : processing constants
ad3 : processing w3servmd
ad3 : processing w3gsrumd
ad3 : processing w3arrymd
ad3 : processing w3gdatmd
ad3 : processing w3idatmd
ad3 : processing w3odatmd
ad3 : processing w3timemd
ad3 : processing w3dispmd
ad3 : processing w3nmlgridmd
ad3 : processing w3adatmd
ad3 : processing wmmdatmd
ad3 : processing w3src4md
ad3 : processing w3triamd
ad3 : processing w3snl1md
ad3 : processing w3parall
ad3 : processing w3iogrmd
ad3 : processing w3wdatmd
ad3 : processing ww3_grid
Linking ww3_grid
Processing ww3_strt
---------------------
ad3 : processing w3sdb1md
ad3 : processing w3iorsmd
ad3 : processing w3sbt1md
ad3 : processing ww3_strt
Linking ww3_strt
Processing ww3_bound
---------------------
ad3 : processing w3cspcmd
ad3 : processing w3iobcmd
ad3 : processing ww3_bound
Linking ww3_bound
Processing ww3_outf
---------------------
ad3 : processing w3iogomd
ad3 : processing ww3_outf
Linking ww3_outf
Processing ww3_outp
---------------------
ad3 : processing w3flx1md
ad3 : processing w3partmd
ad3 : processing w3iopomd
ad3 : processing w3bullmd
ad3 : processing ww3_outp
Linking ww3_outp
Processing ww3_trck
---------------------
ad3 : processing ww3_trck
Linking ww3_trck
Processing ww3_grib
---------------------
ad3 : processing ww3_grib
Linking ww3_grib
Processing ww3_gint
---------------------
ad3 : processing ww3_gint
Linking ww3_gint
Processing gx_outf
---------------------
ad3 : processing gx_outf
Linking gx_outf
Processing gx_outp
---------------------
ad3 : processing gx_outp
Linking gx_outp
Processing ww3_uprstr
---------------------
ad3 : processing ww3_uprstr
Linking ww3_uprstr
Processing libww3
---------------------
ad3 : processing w3initmd
ad3 : processing w3iotrmd
ad3 : processing w3iosfmd
ad3 : processing w3fldsmd
ad3 : processing w3uqckmd
ad3 : processing w3profsmd
ad3 : processing w3srcemd
ad3 : processing w3updtmd
ad3 : processing w3wdasmd
ad3 : processing w3pro3md
ad3 : processing w3wavemd
ar: creating libww3.a
a - wmmdatmd.o
a - w3gdatmd.o
a - w3wdatmd.o
a - w3adatmd.o
a - w3idatmd.o
a - w3odatmd.o
a - w3fldsmd.o
a - w3initmd.o
a - w3wavemd.o
a - w3wdasmd.o
a - w3updtmd.o
a - w3profsmd.o
a - w3pro3md.o
a - w3uqckmd.o
a - w3triamd.o
a - w3srcemd.o
a - w3flx1md.o
a - w3src4md.o
a - w3snl1md.o
a - w3sbt1md.o
a - w3sdb1md.o
a - w3iogrmd.o
a - w3iogomd.o
a - w3iopomd.o
a - w3iotrmd.o
a - w3iorsmd.o
a - w3iobcmd.o
a - w3iosfmd.o
a - w3partmd.o
a - constants.o
a - w3servmd.o
a - w3timemd.o
a - w3arrymd.o
a - w3dispmd.o
a - w3cspcmd.o
a - w3gsrumd.o
Processing ww3_systrk
---------------------
ad3 : processing w3strkmd
ad3 : processing ww3_systrk
Linking ww3_systrk
Processing ww3_prep
---------------------
ad3 : processing ww3_prep
Linking ww3_prep
Processing ww3_gspl
---------------------
ad3 : processing ww3_gspl
Linking ww3_gspl
Processing ww3_prnc
---------------------
ad3 : processing w3nmlprncmd
ad3 : processing ww3_prnc
Linking ww3_prnc
Processing ww3_ounf
---------------------
ad3 : processing w3nmlounfmd
ad3 : processing ww3_ounf
Linking ww3_ounf
Processing ww3_ounp
---------------------
ad3 : processing w3nmlounpmd
ad3 : processing ww3_ounp
Linking ww3_ounp
Processing ww3_bounc
---------------------
ad3 : processing w3nmlbouncmd
ad3 : processing ww3_bounc
Linking ww3_bounc
Processing ww3_trnc
---------------------
ad3 : processing w3nmltrncmd
ad3 : processing ww3_trnc
Linking ww3_trnc
**********************
*** end of compilation ***
**********************
[INFO] MPI progs : ww3_multi ww3_sbs1 ww3_shel
*****************************
*** WAVEWATCH III make ***
*****************************
Main directory : /home/xuniji1/WW3_607_2/model
Scratch directory : /home/xuniji1/WW3_607_2/model/tmp
Save source codes : yes
Save listings : yes
[INFO] list of the programs selected : ww3_multi ww3_sbs1 ww3_shel
Processing ww3_multi
---------------------
ad3 : processing w3uqckmd
ad3 : processing constants
mv: cannot stat 'w3uqckmd.o': No such file or directory
mv: cannot stat 'constants.o': No such file or directory
ad3 : processing w3servmd
mv: cannot stat 'w3servmd.o': No such file or directory
ad3 : processing w3arrymd
ad3 : processing wmunitmd
ad3 : processing w3cspcmd
ad3 : processing w3gsrumd
mv: cannot stat 'wmunitmd.o': No such file or directory
mv: cannot stat 'w3arrymd.o': No such file or directory
mv: cannot stat 'w3cspcmd.o': No such file or directory
mv: cannot stat 'w3gsrumd.o': No such file or directory
ad3 : processing w3gdatmd
mv: cannot stat 'w3gdatmd.o': No such file or directory
ad3 : processing w3odatmd
ad3 : processing w3idatmd
ad3 : processing w3sbt1md
mv: cannot stat 'w3odatmd.o': No such file or directory
mv: cannot stat 'w3idatmd.o': No such file or directory
mv: cannot stat 'w3sbt1md.o': No such file or directory
ad3 : processing w3timemd
ad3 : processing w3dispmd
ad3 : processing wmmdatmd
ad3 : processing w3sdb1md
mv: cannot stat 'w3timemd.o': No such file or directory
mv: cannot stat 'wmmdatmd.o': No such file or directory
mv: cannot stat 'w3dispmd.o': No such file or directory
mv: cannot stat 'w3sdb1md.o': No such file or directory
ad3 : processing wmfinlmd
ad3 : processing w3adatmd
ad3 : processing w3flx1md
ad3 : processing w3fldsmd
mv: cannot stat 'w3flx1md.o': No such file or directory
mv: cannot stat 'wmfinlmd.o': No such file or directory
mv: cannot stat 'w3adatmd.o': No such file or directory
mv: cannot stat 'w3fldsmd.o': No such file or directory
ad3 : processing w3src4md
ad3 : processing w3partmd
ad3 : processing w3nmlmultimd
ad3 : processing w3parall
mv: cannot stat 'w3src4md.o': No such file or directory
mv: cannot stat 'w3partmd.o': No such file or directory
mv: cannot stat 'w3nmlmultimd.o': No such file or directory
mv: cannot stat 'w3parall.o': No such file or directory
ad3 : processing w3triamd
ad3 : processing w3snl1md
ad3 : processing w3wdatmd
mv: cannot stat 'w3triamd.o': No such file or directory
mv: cannot stat 'w3wdatmd.o': No such file or directory
mv: cannot stat 'w3snl1md.o': No such file or directory
ad3 : processing wmgridmd
ad3 : processing w3iogomd
ad3 : processing w3iopomd
ad3 : processing w3iorsmd
mv: mv: cannot stat 'w3iopomd.o': No such file or directory
cannot stat 'wmgridmd.o': No such file or directory
mv: cannot stat 'w3iorsmd.o': No such file or directory
mv: cannot stat 'w3iogomd.o': No such file or directory
ad3 : processing w3iobcmd
ad3 : processing w3updtmd
ad3 : processing w3iosfmd
ad3 : processing w3iotrmd
mv: cannot stat 'w3iobcmd.o': No such file or directory
mv: cannot stat 'w3updtmd.o': No such file or directory
mv: cannot stat 'w3iosfmd.o': No such file or directory
ad3 : processing w3pro3md
mv: cannot stat 'w3iotrmd.o': No such file or directory
ad3 : processing w3profsmd
ad3 : processing w3srcemd
mv: cannot stat 'w3pro3md.o': No such file or directory
ad3 : processing wmupdtmd
mv: cannot stat 'w3profsmd.o': No such file or directory
mv: cannot stat 'w3srcemd.o': No such file or directory
ad3 : processing w3wdasmd
mv: cannot stat 'wmupdtmd.o': No such file or directory
ad3 : processing w3iogrmd
ad3 : processing wminiomd
mv: cannot stat 'w3wdasmd.o': No such file or directory
mv: cannot stat 'w3iogrmd.o': No such file or directory
mv: cannot stat 'wminiomd.o': No such file or directory
ad3 : processing w3wavemd
ad3 : processing w3initmd
mv: cannot stat 'w3wavemd.o': No such file or directory
mv: cannot stat 'w3initmd.o': No such file or directory
ad3 : processing wmiopomd
mv: cannot stat 'wmiopomd.o': No such file or directory
ad3 : processing wmwavemd
ad3 : processing wminitmd
mv: cannot stat 'wminitmd.o': No such file or directory
mv: cannot stat 'wmwavemd.o': No such file or directory
ad3 : processing ww3_multi
mv: cannot stat 'ww3_multi.o': No such file or directory
Linking ww3_multi
*** file ww3_multi.o not found ***
*** file wmmdatmd.o not found ***
*** file w3gdatmd.o not found ***
*** file w3wdatmd.o not found ***
*** file w3adatmd.o not found ***
*** file w3idatmd.o not found ***
*** file w3odatmd.o not found ***
*** file wminitmd.o not found ***
*** file wmwavemd.o not found ***
*** file wmfinlmd.o not found ***
*** file wmgridmd.o not found ***
*** file wmupdtmd.o not found ***
*** file wminiomd.o not found ***
*** file w3fldsmd.o not found ***
*** file w3initmd.o not found ***
*** file w3wavemd.o not found ***
*** file w3wdasmd.o not found ***
*** file w3updtmd.o not found ***
*** file w3profsmd.o not found ***
*** file w3pro3md.o not found ***
*** file w3uqckmd.o not found ***
*** file w3parall.o not found ***
*** file w3triamd.o not found ***
*** file w3srcemd.o not found ***
*** file w3flx1md.o not found ***
*** file w3src4md.o not found ***
*** file w3snl1md.o not found ***
*** file w3sbt1md.o not found ***
*** file w3sdb1md.o not found ***
*** file w3iogrmd.o not found ***
*** file w3iogomd.o not found ***
*** file w3iopomd.o not found ***
*** file wmiopomd.o not found ***
*** file w3iotrmd.o not found ***
*** file w3iorsmd.o not found ***
*** file w3iobcmd.o not found ***
*** file w3iosfmd.o not found ***
*** file w3partmd.o not found ***
*** file constants.o not found ***
*** file w3servmd.o not found ***
*** file w3timemd.o not found ***
*** file w3arrymd.o not found ***
*** file w3dispmd.o not found ***
*** file w3cspcmd.o not found ***
*** file w3gsrumd.o not found ***
*** file wmunitmd.o not found ***
*** file w3nmlmultimd.o not found ***
*** Missing object files ***
makefile:195: recipe for target '/home/xuniji1/WW3_607_2/model/exe/ww3_multi' failed
make: *** [/home/xuniji1/WW3_607_2/model/exe/ww3_multi] Error 3
在 tmp 文件夹下查询错误日志 ww3_multi.err
根据 err 安装 mpif90
##
xuniji1@xuniji1-virtual-machine:~$ mpif90
Command 'mpif90' not found, but can be installed with:
sudo apt install libmpich-dev
sudo apt install libopenmpi-dev
##
xuniji1@xuniji1-virtual-machine:~$ sudo apt install libmpich-dev
[sudo] password for xuniji1:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
linux-hwe-5.4-headers-5.4.0-84
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
hwloc-nox libcr-dev libcr0 libhwloc-plugins libhwloc5 libmpich12 mpich ocl-icd-libopencl1
Suggested packages:
blcr-dkms libhwloc-contrib-plugins blcr-util mpich-doc opencl-icd
The following NEW packages will be installed:
hwloc-nox libcr-dev libcr0 libhwloc-plugins libhwloc5 libmpich-dev libmpich12 mpich ocl-icd-libopencl1
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,872 kB of archives.
After this operation, 14.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrors.ubuntu.com/mirrors.txt Mirrorlist [870 B]
Get:3 http://mirrors.cn99.com/ubuntu bionic/universe amd64 libcr-dev amd64 0.8.5-2.3 [24.4 kB]
Get:8 http://mirror.dlut.edu.cn/ubuntu bionic/universe amd64 libmpich12 amd64 3.3~a2-4 [945 kB]
Ign:6 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports bionic/main amd64 ocl-icd-libopencl1 amd64 2.2.11-1ubuntu1
Get:7 http://mirror.lzu.edu.cn/ubuntu bionic/universe amd64 libhwloc-plugins amd64 1.11.9-1 [12.5 kB]
Get:4 https://mirror.bjtu.edu.cn/ubuntu bionic/universe amd64 libhwloc5 amd64 1.11.9-1 [105 kB]
Get:5 http://mirrors.dgut.edu.cn/ubuntu bionic/universe amd64 hwloc-nox amd64 1.11.9-1 [157 kB]
Get:10 http://mirrors.dgut.edu.cn/ubuntu bionic/universe amd64 mpich amd64 3.3~a2-4 [205 kB]
Ign:2 http://mirrors.sohu.com/ubuntu bionic/universe amd64 libcr0 amd64 0.8.5-2.3
Ign:9 http://mirrors.sohu.com/ubuntu bionic/universe amd64 libmpich-dev amd64 3.3~a2-4
Ign:6 http://mirrors.sohu.com/ubuntu bionic/main amd64 ocl-icd-libopencl1 amd64 2.2.11-1ubuntu1
Get:2 http://mirrors.ustc.edu.cn/ubuntu bionic/universe amd64 libcr0 amd64 0.8.5-2.3 [18.9 kB]
Get:9 http://mirrors.huaweicloud.com/repository/ubuntu bionic/universe amd64 libmpich-dev amd64 3.3~a2-4 [1,374 kB]
Get:6 http://mirrors.skyshe.cn/ubuntu bionic/main amd64 ocl-icd-libopencl1 amd64 2.2.11-1ubuntu1 [30.3 kB]
Fetched 2,873 kB in 24s (118 kB/s)
Selecting previously unselected package libcr0.
(Reading database ... 223044 files and directories currently installed.)
Preparing to unpack .../0-libcr0_0.8.5-2.3_amd64.deb ...
Unpacking libcr0 (0.8.5-2.3) ...
Selecting previously unselected package libcr-dev.
Preparing to unpack .../1-libcr-dev_0.8.5-2.3_amd64.deb ...
Unpacking libcr-dev (0.8.5-2.3) ...
Selecting previously unselected package libhwloc5:amd64.
Preparing to unpack .../2-libhwloc5_1.11.9-1_amd64.deb ...
Unpacking libhwloc5:amd64 (1.11.9-1) ...
Selecting previously unselected package hwloc-nox.
Preparing to unpack .../3-hwloc-nox_1.11.9-1_amd64.deb ...
Unpacking hwloc-nox (1.11.9-1) ...
Selecting previously unselected package ocl-icd-libopencl1:amd64.
Preparing to unpack .../4-ocl-icd-libopencl1_2.2.11-1ubuntu1_amd64.deb ...
Unpacking ocl-icd-libopencl1:amd64 (2.2.11-1ubuntu1) ...
Selecting previously unselected package libhwloc-plugins.
Preparing to unpack .../5-libhwloc-plugins_1.11.9-1_amd64.deb ...
Unpacking libhwloc-plugins (1.11.9-1) ...
Selecting previously unselected package libmpich12:amd64.
Preparing to unpack .../6-libmpich12_3.3~a2-4_amd64.deb ...
Unpacking libmpich12:amd64 (3.3~a2-4) ...
Selecting previously unselected package libmpich-dev.
Preparing to unpack .../7-libmpich-dev_3.3~a2-4_amd64.deb ...
Unpacking libmpich-dev (3.3~a2-4) ...
Selecting previously unselected package mpich.
Preparing to unpack .../8-mpich_3.3~a2-4_amd64.deb ...
Unpacking mpich (3.3~a2-4) ...
Setting up libcr0 (0.8.5-2.3) ...
Setting up libhwloc5:amd64 (1.11.9-1) ...
Setting up ocl-icd-libopencl1:amd64 (2.2.11-1ubuntu1) ...
Setting up libcr-dev (0.8.5-2.3) ...
Setting up hwloc-nox (1.11.9-1) ...
Setting up libmpich12:amd64 (3.3~a2-4) ...
Setting up libmpich-dev (3.3~a2-4) ...
update-alternatives: using /usr/include/mpich to provide /usr/include/mpi (mpi) in auto mode
Setting up libhwloc-plugins (1.11.9-1) ...
Setting up mpich (3.3~a2-4) ...
update-alternatives: using /usr/bin/mpirun.mpich to provide /usr/bin/mpirun (mpirun) in auto mode
Processing triggers for doc-base (0.10.8) ...
Processing 1 added doc-base file...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for libc-bin (2.27-3ubuntu1.4) ...
./w3_make 成功
##
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ ./w3_new
Exporting WWATCH3_ENV=/home/xuniji1/WW3_607_2/model/bin/wwatch3.env
##
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ ./w3_clean
*****************************
*** WAVEWATCH III clean ***
*****************************
Exporting WWATCH3_ENV=/home/xuniji1/WW3_607_2/model/bin/wwatch3.env
Clean up /home/xuniji1/WW3_607_2/model/tmp
Clean up /home/xuniji1/WW3_607_2/model/bin
Clean up /home/xuniji1/WW3_607_2/model/ftn
Clean up /home/xuniji1/WW3_607_2/model/aux
Remove /home/xuniji1/WW3_607_2/model/mod
Remove /home/xuniji1/WW3_607_2/model/mod_MPI
Remove /home/xuniji1/WW3_607_2/model/obj
Remove /home/xuniji1/WW3_607_2/model/obj_MPI
Remove /home/xuniji1/WW3_607_2/model/tmp
##
xuniji1@xuniji1-virtual-machine:~/WW3_607_2/model/bin$ ./w3_make
*****************************
*** WAVEWATCH III make ***
*****************************
Exporting WWATCH3_ENV=/home/xuniji1/WW3_607_2/model/bin/wwatch3.env
Main directory : /home/xuniji1/WW3_607_2/model
Scratch directory : /home/xuniji1/WW3_607_2/model/tmp
Save source codes : yes
Save listings : yes
[INFO] list of the programs selected : ww3_grid ww3_strt ww3_bound ww3_outf ww3_outp ww3_trck ww3_grib ww3_gint gx_outf gx_outp ww3_uprstr ww3_multi ww3_sbs1 libww3 ww3_systrk ww3_gspl ww3_prep ww3_shel ww3_prnc ww3_ounf ww3_ounp ww3_bounc ww3_trnc
WARNING: NC4 is set in WWATCH3_NETCDF but not in the switch file
Processing ww3_grid
---------------------
ad3 : processing constants
ad3 : processing w3servmd
ad3 : processing w3gsrumd
ad3 : processing w3arrymd
ad3 : processing w3gdatmd
ad3 : processing w3odatmd
ad3 : processing w3idatmd
ad3 : processing w3nmlgridmd
ad3 : processing w3dispmd
ad3 : processing w3adatmd
ad3 : processing w3timemd
ad3 : processing wmmdatmd
ad3 : processing w3src4md
ad3 : processing w3triamd
ad3 : processing w3parall
ad3 : processing w3snl1md
ad3 : processing w3wdatmd
ad3 : processing w3iogrmd
ad3 : processing ww3_grid
Linking ww3_grid
Processing ww3_strt
---------------------
ad3 : processing w3iorsmd
ad3 : processing w3sdb1md
ad3 : processing w3sbt1md
ad3 : processing ww3_strt
Linking ww3_strt
Processing ww3_bound
---------------------
ad3 : processing w3cspcmd
ad3 : processing w3iobcmd
ad3 : processing ww3_bound
Linking ww3_bound
Processing ww3_outf
---------------------
ad3 : processing w3iogomd
ad3 : processing ww3_outf
Linking ww3_outf
Processing ww3_outp
---------------------
ad3 : processing w3iopomd
ad3 : processing w3bullmd
ad3 : processing w3partmd
ad3 : processing w3flx1md
ad3 : processing ww3_outp
Linking ww3_outp
Processing ww3_trck
---------------------
ad3 : processing ww3_trck
Linking ww3_trck
Processing ww3_grib
---------------------
ad3 : processing ww3_grib
Linking ww3_grib
Processing ww3_gint
---------------------
ad3 : processing ww3_gint
Linking ww3_gint
Processing gx_outf
---------------------
ad3 : processing gx_outf
Linking gx_outf
Processing gx_outp
---------------------
ad3 : processing gx_outp
Linking gx_outp
Processing ww3_uprstr
---------------------
ad3 : processing ww3_uprstr
Linking ww3_uprstr
Processing ww3_multi
---------------------
ad3 : processing w3initmd
ad3 : processing w3nmlmultimd
ad3 : processing wmfinlmd
ad3 : processing w3fldsmd
ad3 : processing wmgridmd
ad3 : processing w3updtmd
ad3 : processing wmunitmd
ad3 : processing w3iosfmd
ad3 : processing w3iotrmd
ad3 : processing w3uqckmd
ad3 : processing w3profsmd
ad3 : processing w3srcemd
ad3 : processing wmupdtmd
ad3 : processing w3wdasmd
ad3 : processing wminiomd
ad3 : processing wmiopomd
ad3 : processing w3pro3md
ad3 : processing wminitmd
ad3 : processing w3wavemd
ad3 : processing wmwavemd
ad3 : processing ww3_multi
Linking ww3_multi
Processing ww3_sbs1
---------------------
ad3 : processing ww3_sbs1
Linking ww3_sbs1
Processing libww3
---------------------
ar: creating libww3.a
a - wmmdatmd.o
a - w3gdatmd.o
a - w3wdatmd.o
a - w3adatmd.o
a - w3idatmd.o
a - w3odatmd.o
a - w3fldsmd.o
a - w3initmd.o
a - w3wavemd.o
a - w3wdasmd.o
a - w3updtmd.o
a - w3profsmd.o
a - w3pro3md.o
a - w3uqckmd.o
a - w3triamd.o
a - w3srcemd.o
a - w3flx1md.o
a - w3src4md.o
a - w3snl1md.o
a - w3sbt1md.o
a - w3sdb1md.o
a - w3iogrmd.o
a - w3iogomd.o
a - w3iopomd.o
a - w3iotrmd.o
a - w3iorsmd.o
a - w3iobcmd.o
a - w3iosfmd.o
a - w3partmd.o
a - constants.o
a - w3servmd.o
a - w3timemd.o
a - w3arrymd.o
a - w3dispmd.o
a - w3cspcmd.o
a - w3gsrumd.o
Processing ww3_systrk
---------------------
ad3 : processing w3strkmd
ad3 : processing ww3_systrk
Linking ww3_systrk
Processing ww3_gspl
---------------------
ad3 : processing ww3_gspl
Linking ww3_gspl
Processing ww3_prep
---------------------
ad3 : processing ww3_prep
Linking ww3_prep
Processing ww3_shel
---------------------
ad3 : processing w3nmlshelmd
ad3 : processing ww3_shel
Linking ww3_shel
Processing ww3_prnc
---------------------
ad3 : processing w3nmlprncmd
ad3 : processing ww3_prnc
Linking ww3_prnc
Processing ww3_ounf
---------------------
ad3 : processing w3nmlounfmd
ad3 : processing ww3_ounf
Linking ww3_ounf
Processing ww3_ounp
---------------------
ad3 : processing w3nmlounpmd
ad3 : processing ww3_ounp
Linking ww3_ounp
Processing ww3_bounc
---------------------
ad3 : processing w3nmlbouncmd
ad3 : processing ww3_bounc
Linking ww3_bounc
Processing ww3_trnc
---------------------
ad3 : processing w3nmltrncmd
ad3 : processing ww3_trnc
Linking ww3_trnc
**********************
*** end of compilation ***
**********************
整个流程感受
在2021-11-20的今天,上午11点半左右,终于实现了ww3中./w3_make的编译,非常高兴,甚至是兴奋。为什么有这么大的感触呢,以至于想写写自己的感想?因为在内心深处,这不仅仅是一个文件编译实现的问题,而是面对困难、挑战,一个锲而不舍、不言放弃的精神鼓舞。
最开始接触ww3是在2021-10-20附近,最开始完全是一脸蒙蔽状态,啥都不知道,还曾质疑github上ww3教程~~
从github上ww3的manual手册出发,看到install那一章节,不行…,反过来去看github上的issue以及wiki,还是不行…,尝试去问问题,发现issue问题只能是关于bug的问题,而我…,然后尝试ww3上通过邮件询问问题,不知道怎么操作…,很烦,特别烦,一段时间放弃看这个,去看了关于可视化和Linux相关的知识,还有深度学习的pytorch使用,挺有趣的~~
又需要看ww3,内心有点绝望,为了缓解内心的痛楚,我开始尝试去网上寻求帮忙…,在这个过程中,我并没有抱着很大的希望,但总是时不时的看到一些有趣的知识感到高兴(知识不一定与ww3相关),然后也会看到相关ww3的一些文章、作者、大佬、问题,有时感觉希望大了,但不久又会被打脸,唉,太难了…,虽然难,但我知道我在成长,知乎、ResearchGate、CSDN、气象家园、QQ群、微信公众号、知网、bilibili、Teacher,痛苦并快乐着~~
今天,早上一起来,不想用办公室的那个电脑了,先玩玩电脑的虚拟机,玩着玩着,找到感觉了,突然发现,QQ、clash联网、中文输入法,终端多开、文件夹多开、网页多开,文档也可以躲开,嘿嘿,配合着jupyter的使用,舒服呀,找到感觉了~~因为前面这些貌似与ww3没有关系的准备,心情舒畅了,然后呢?当然是用脑子分析问题了,怎么分析呢?这里就特别感谢气象家园里面的一篇文章,他把所有的环境、代码相关的内容都亮出来,再问问题,那我就学他怎么记录下自己的整个代码流程,慢慢的,发现,问题明显了,有目标针对了,然后,神奇的解决了~~哈哈
所有这个过程中看似与ww3无关的准备,都不是白费的~~
多看看别人怎么做的,多与别人交流,多想别人请教,非常快乐~~
多记录过程,不要觉得浪费时间,这才是最高效的,因为你能慢慢地感受所有的信息,爽吧,爽着问题就出现了,那么继续爽~~
http://bbs.06climate.com/forum.php?mod=viewthread&tid=68742&page=2