日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WRF安装记录

發布時間:2023/12/20 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WRF安装记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WRF安裝

虛擬機 Ubuntu 22.04.1 LTS

aptitude,類似apt-get,但功能更強大

sudo apt-get install aptitude

WRF基礎依賴軟件及庫安裝(apt-get一鍵安裝)

安裝編譯器 ( #編譯c,c++,fottran語言統一使用一套編譯器,使用gun系列,對應gcc,g++,gfortran,使用intel系列,對應icc,i++,ifort,或者使用pgi系列對應的。編譯wrf和netcdf等要使用同一套系列,否則容易出錯,此次使用gun系列)

sudo apt-get install gcc g++ gfortransudo apt-get install make

安裝WPS需要的庫libpng,zlib,jasper

sudo apt-get install libpng12*sudo apt-get install zlib*sudo apt-get install libjasper-dev

安裝libjasper-dev報錯

解決方法:添加源

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"sudo apt updatesudo apt install libjasper1 libjasper-dev

缺少公鑰報錯:

打開終端,下載公鑰:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5

PS:后面那個40976EAF437D05B5換成缺少的密鑰,是什么就換成什么

安裝用于并行的mpich

sudo apt-get install mpich

安裝用于圖形顯示的

sudo aptitude install xorg-dev

安裝另外的shell語言

sudo apt-get install cshsudo apt-get install ksh

安裝m4,暫時不知道用于啥,還沒具體查

sudo apt-get install m4

HDF5與NECTCDF(手動編譯安裝)

前期準備,可以先設置HDF5和NETCDF的環境變量
例如把hdf5與netcdf安裝在/home/zzy/app這個目錄
在這兩個目錄建立hdf5和netcdf文件夾

mkdir hdf5 mkdir netcdf

設置環境變量

gedit ~/.bashrc

在文件中添加這些內容

export APP_DIR=$HOME/app #app這個目錄用的頻繁,給設置一個環境變量 export NETCDF=$APP_DIR/netcdf #設置netcdf的環境變量 export HDF5=$APP_DIR/hdf5 export PATH=$PATH:$NETCDF/bin:$HDF5/bin #在PATH后面加上netcdf和hdf5的bin路徑 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NETCDF/lib:$HDF5/lib #在 LD_LIBRARY_PATH后面加上netcdf和hdf5的lib路徑

(PATH和LD_LIBRARY_PATH都是系統有的環境變量,新安裝軟件,在他們后面加上對應的bin和lib路徑就可)

修改完后,保存退出
執行 .bashrc腳本,使剛才設置的環境變量生效

source ~/.bashrc

HDF5下載:https://support.hdfgroup.org/ftp/HDF5/releases/

NETCDF下載:https://www.unidata.ucar.edu/downloads/netcdf/

HDF5

./configure --prefix=$HDF5 CC=gcc FC=gfortran CXX=g++ --enable-fortran --enable-fortran2003 --enable-cxx make #(或者make -j 4 并行編譯,4線程,線程數可根據自己的電腦選擇) make install

注解:–prefix=$HDF5, $HDF5是安裝hdf5的路徑,換成自己的

NETCDF

NetCDF高版本的C\C++\Fortran部分需要分開編譯
先裝C版本

./configure --prefix=$NETCDF CC=gcc FC=gfortran F77=gfortran CXX=g++ CPPFLAGS="-I$HDF5/include" LIBS="-L$HDF5/lib" make #(或者make -j 4 # 并行編譯,4線程,線程數可根據自己的電腦選擇) make check (可忽略) make install

再裝Fortran版本

./configure --prefix=$NETCDF CC=gcc FC=gfortran F77=gfortran CXX=g++ CPPFLAGS="-I$NETCDF/include" LIBS="-L$NETCDF/lib" make #(或者make -j 4 # 并行編譯,4線程,線程數可根據自己的電腦選擇) make check (可忽略) make install

注解:$NETCDF是netcdf的路徑,換成自己的

WRF與WPS

下載WRF和WPS,解壓后,WRF和WPS一定要在同一個父目錄

也可以用git clone(需要先安裝git)

git clone --recurse-submodules https://github.com/wrf-model/WRF git clone https://github.com/wrf-model/WPS

WRF

定位到WRF文件夾,終端中運行

./configure

根據使用的配置,即GNU編譯器(gfortran/gcc)+ dmpar(mpich)選擇33選項(34編譯不成功,還不知道原因)。

serial 表示串行計算;
smpar 表示內存共享并行計算(shared memory option),即使用openMP,大部分多核電腦都支持這項功能;
dmpar 表示分布式并行計算(distributed memory option),即使用MPI 進行并行計算,主要用在計算集群,單個電腦就沒必要用了;
dm+sm 表示同時使用openMP與MPI兩種并行方式.

嵌套方式:選擇1,即基礎嵌套即可。???????

若出現錯誤:

因為ubuntu默認的sh是連接到dash的,又因為dash跟bash的不兼容所以出錯了,執行時可以把sh換成 ’ bash 文件名.sh ’ 來執行,成功。
修改sh默認連接到bash的一種方法:

sudo dpkg-reconfigure dash

選擇no 即可!

export J="-j 4" #設置并行編譯的環境變量J ,4是核數,根據機器選(字面上設置的是核數,實際是線程) ./compile em_real >& compile_wrf.log

編譯類型有以下幾種
WRF-Chem(WRF大氣化學模型)
em_real (3D真實情況)
em_quarter_ss (3D理想的情況下)
em_b_wave (3D理想的情況下)
em_les (3D理想的情況下)
em_heldsuarez (3D理想的情況下)
em_tropical_cyclone (3D理想的情況下)
em_hill2d_x (2D理想的情況下)
em_squall2d_x (2D理想的情況下)
em_squall2d_y ( 2d理想情況)
em_grav2d_x (2d理想情況)
em_seabreeze2d_x (2d理想情況)
em_scm_xy (1d理想情況)

真實情況編譯完成后,在main目錄下會出現ndown.exe,real.exe, tc.exe, wrf.exe這4個可執行程序;理想情況編譯后會生成wrf.exe,ideal.exe 這2個可執行程序。

ls main/*exe # 出現 ndown.exe real.exe tc.exe wrf.exe即成功

WPS

先編譯WRF,再編譯WPS
WPS要和WRF在同一個父目錄下
定位到WPS目錄,終端執行:

./configure

選擇1

./compile>& complie_wps.log ls *exe # 出現geogrid.exe metgrid.exe ungrib.exe即成功

出現問題:編譯后只生成了ungrib.exe。
解決方法:
修改./configure生成的configure.wps文件:
將“-lgomp”添加到configure.wps文件WRF_LIB變量中(只需將其附加到 -lnetcdf 之后)

重新執行

./compile>& complie_wps.log

生成geogrid.exe metgrid.exe ungrib.exe,完成!

總結

以上是生活随笔為你收集整理的WRF安装记录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。