csh
setenv SMK_HOME /path/to/SMOKE setenv LD_LIBRARY_PATH /path/to/BISHENG/bisheng-1.3.1/lib:/path/to/HMPI/hmpi-1.0.2/ompi/lib setenv PATH /path/to/HMPI/hmpi-1.0.2/hmpi/bin:/path/to/BISHENG/bisheng-1.3.1/bin:$PATH setenv LD_LIBRARY_PATH /path/to/NETCDF/lib:$LD_LIBRARY_PATH
cp smoke_v47.gz $SMK_HOME cp smoke_v47.nctox.data.tar.gz $SMK_HOME cp smoke_install.csh $SMK_HOME cp ioapi-3.2.tar.gz $SMK_HOME cd $SMK_HOME source smoke_install_v47.csh setenv BIN Linux2_aarch64
tar -xvf ioapi-3.2-2020111.tar.gz mv ioapi-3.2-2020111 ioapi-3.2
cd ioapi-3.2 cp ioapi/Makeinclude.Linux2_ia64gfort ioapi/Makeinclude.Linux2_aarch64
vi ioapi/Makeinclude.Linux2_aarch64
CC = mpicc CXX = mpicxx FC = mpif90
注释FSFLAGS关键字对应的行,如#FSFLAGS = -save。
cp ioapi/Makefile.nocpl ioapi/Makefile
cp m3tools/Makefile.nocpl m3tools/Makefile
vi m3tools/Makefile
LIBS = -L${OBJDIR} -lioapi -L/path/to/NETCDF/lib -lnetcdff –lnetcdf -L/path/to/HDF5/lib -lhdf5_hl -lhdf5 -lz $(OMPLIBS) $(ARCHLIB) $(ARCHLIBS)
cp Makefile.template Makefile
vi Makefile
BIN = Linux2_aarch64 BASEDIR = ${PWD} INSTALL = ${HOME} LIBINST = $(INSTALL)/$(BIN) BININST = $(INSTALL)/$(BIN) CPLMODE = nocpl IOAPIDEFS = "-DIOAPI_NCF4"
修改NCFLIBS项:
NCFLIBS = -L/path/to/NETCDF/lib -lnetcdff -lnetcdf -L/path/to/HDF5/lib -lhdf5_hl -lhdf5 -lz
make BIN=Linux2_aarch64
cd $SMK_HOME/subsys/smoke/assigns/
vi ASSIGNS.nctox.cmaq.cb05_soa.us12-nc
setenv BIN Linux2_aarch64
执行3.a之后,按“Esc”键,输入“:set nu”,按“Enter”即可显示出行号。
cd $SMK_HOME/subsys/smoke/src vi Makeinclude
INSTDIR = ${OBJDIR}/${BIN} #EFLAG = -extend-source 132 -zero EFLAG = -ffixed-line-length-132 -fno-backslash IOLIB = -L$(IOBIN) -lioapi -L/path/to/NETCDF/lib -lnetcdf -lnetcdff IOBASE = ${SMK_HOME}/ ioapi-3.2
vi biog/normbeis361.f
执行5.a之后,按“Esc”键,输入“:set nu”,按“Enter”即可显示出行号。
vi emutil/gentpro.f
1663 (( PROF_MON( S,NP )), NP = 1,12 ) 1695 ( ( PROF_DAY( S,NP ) ), NP = 1,31 )
执行6.a之后,按“Esc”键,输入“:set nu”,按“Enter”即可显示出行号。
mkdir ${SMK_HOME}/subsys/smoke/${BIN}
source $SMK_HOME/subsys/smoke/assigns/ASSIGNS.nctox.cmaq.cb05_soa.us12-nc make