SMOKE
Instalando y usando SMOKE en hydra
Página de SMOKE: https://www.cmascenter.org/smoke/
Compilar
Archivo comprimido desde la página web (bajo registro previo)
smoke_v49.Linux2_x86_64ifort.tar.gz
intel
gcc
Directorio de instalación /home/solange.luque/MODELOS/SMOKE
Desplegando código
mv ~/smoke_v49.Linux2_x86_64ifort.tar.gz ./ mkdir gcc/ tar xvfz ../smoke_v49.Linux2_x86_64ifort.tar.gz mv subsys/smoke/src ./ mv subsys/smoke/Linux2_x86_64ifort ./ rmdir subsys/smoke/ rmdir subsys mkdir Linux2_x86_64
Compilando
cd src
cp Makeinclude Makeinclude.old
cp Makeinclude Makeinclude.Linux2_x86_64
diff Makeinclude.Linux2_x86_64 Makeinclude.old
31c31
< BASEDIR = /home/solange.luque/MODELOS/SMOKE/gcc/src
---
> BASEDIR = ${SMK_HOME}/subsys/smoke/src
35c35
< IOBASE = /home/solange.luque/libraries/ioapi/v3.2-20200828/gnu
---
> IOBASE = ${SMK_HOME}/subsys/ioapi
40c40
< INSTDIR = /home/solange.luque/MODELOS/SMOKE/gcc/${BIN}
---
> INSTDIR = /somewhere/apps/${BIN}
48,49c48,49
< # IFLAGS = -I${IOINC} -I${INCDIR} -I${IOBIN} # Intel, Absoft, Pathscale, UNIX Fortran
< IFLAGS = -I${IOINC} -I${INCDIR} -I${IOBIN} # GNU Fortran
---
> IFLAGS = -I${IOINC} -I${INCDIR} -I${IOBIN} # Intel, Absoft, Pathscale, UNIX Fortran
> # IFLAGS = -I${IOINC} -I${INCDIR} -I${IOBIN} # GNU Fortran
53,54c53,54
< # EFLAG = -extend-source 132 -zero # Intel Fortran
< EFLAG = -ffixed-line-length-132 -fno-backslash # GNU Fortran
---
> EFLAG = -extend-source 132 -zero # Intel Fortran
> # EFLAG = -ffixed-line-length-132 -fno-backslash # GNU Fortran
59c59
< MFLAGS = -fbacktrace
---
> MFLAGS = -traceback
Hay un error de sintaxis Fortran en /home/solange.luque/libraries/ioapi/v3.2-20200828/gnu/ioapi/fixed_src/PARMS3.EXT, en la línea #104, queda:
! INTEGER, PARAMETER :: M3TYPES( NM3TYPES ) = &
! & (/ M3INT, M3REAL, M3DBLE, M3INT8 /)
INTEGER, PARAMETER :: M3TYPES( NM3TYPES ) = (/ M3INT, M3REAL, M3DBLE, M3INT8 /)
Copilamos
export BIN=Linux2_x86_64 ln -s Makeinclude.Linux2_x86_64 ./Makeinclude make >& run_make.log ls ../Linux2_x86_64 | grep -v .o | grep -v .mod aggwndw bluesky2inv cemscan cntlmat extractida gcntl4carb grdmat grwinven invsplit libfileset.a metscan mrgelev mrggrid mrgpt pktreduc smk2emis smkinven smkmerge spcmat tmpbeis3 tmpbeis4 uam2ncf
Usar
Empecemos por el test-case
test-case
Sacado de la página de SMOKE https://github.com/CEMPD/SMOKE-TestCase/ (previo registro)
Directorio de trabajo: /home/solange.luque/MODELOS/SMOKE/DATA
SMOKE-TestCase-BEIS4-inputs.tar.gz-20221026T133036Z-001.zip SMOKE-TestCase-inputs.tar.gz-20221026T133039Z-001.zip SMOKE-TestCase-BEIS4-output.tar.gz-20221026T133038Z-001.zip SMOKE-TestCase-output.tar.gz-20221026T133041Z-001.zip
unzip SMOKE-TestCase-BEIS4-inputs.tar.gz-20221026T133036Z-001.zip unzip SMOKE-TestCase-BEIS4-output.tar.gz-20221026T133038Z-001.zip unzip SMOKE-TestCase-inputs.tar.gz-20221026T133039Z-001.zip unzip SMOKE-TestCase-output.tar.gz-20221026T133041Z-001.zip tar xvfz SMOKE-TestCase-BEIS4-inputs.tar.gz tar xvfz SMOKE-TestCase-BEIS4-output.tar.gz tar xvfz SMOKE-TestCase-inputs.tar.gz tar xvfz SMOKE-TestCase-output.tar.gz
Nos queda:
ls biogenics_output SMOKE-TestCase-BEIS4-inputs.tar.gz SMOKE-TestCase-inputs.tar.gz-20221026T133039Z-001.zip ge_dat SMOKE-TestCase-BEIS4-inputs.tar.gz-20221026T133036Z-001.zip SMOKE-TestCase-output.tar.gz output_forQA SMOKE-TestCase-BEIS4-output.tar.gz SMOKE-TestCase-output.tar.gz-20221026T133041Z-001.zip smoke4.7 SMOKE-TestCase-BEIS4-output.tar.gz-20221026T133038Z-001.zip SMOKE-TestCase SMOKE-TestCase-inputs.tar.gz
Descargamos archivos para simular en /home/solange.luque/MODELOS/SMOKE/DATA
mkdir scripts git clone https://github.com/CEMPD/SMOKE-TestCase.git ls SMOKE-TestCase
Preparando directorio para simular /home/solange.luque/estudios/SMOKE-TestCase
cp -R ~/MODELOS/SMOKE/DATA/SMOKE-TestCase/scripts ./ cd scripts diff directory_definitions.csh ~/MODELOS/SMOKE/scripts/SMOKE-TestCase/scripts/directory_definitions.csh 13c13 < setenv INSTALL_DIR "/home/solange.luque/MODELOS/SMOKE/DATA" --- > setenv INSTALL_DIR "/proj/ie/proj/SMOKE/chef" 19c19 < setenv MET_ROOT "/home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/inputs/biogenics" --- > setenv MET_ROOT "/proj/ie/proj/TRECH/emissions/mcip" 24c24 < setenv MET_ROOT_3D "/home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/inputs/biogenics" --- > setenv MET_ROOT_3D "/proj/ie/proj/TRECH/emissions/mcip" 46c46 < setenv SMOKE_LOCATION "/home/solange.luque/MODELOS/SMOKE/gcc/Linux2_x86_64" --- > setenv SMOKE_LOCATION "/proj/ie/proj/CMAS/CMAQ/christos/SMOKE_REPO/exec/Linux2_x86_64ifort_medium" 53c53 < setenv IOAPI_LOCATION "/home/solange.luque/libraries/ioapi/v3.2-20200828/gnu/Linux2_x86_64" --- > setenv IOAPI_LOCATION "/proj/ie/proj/CMAS/CMAQ/christos/SMOKE_test/SMOKE_4.8.1/subsys/ioapi-3.2/Linux2_x86_64ifort_medium"
Ajustando scripts al cluster
- línea #1 de
/home/solange.luque/MODELOS/SMOKE/DATA/smoke4.7/scripts/log_analyzer/log_analyzer.py,home/solange.luque/MODELOS/SMOKE/DATA/smoke4.7/scripts/run/path_parser.py,/home/solange.luque/MODELOS/SMOKE/DATA/smoke4.7/scripts/annual_report/annual_report_v2.py
#!/usr/bin/env python3
Generando
export LD_LIBRARY_PATH=/opt/netcdf/netcdf-4/gnu/10.2.1/lib/ cd nonpoint/ ./Annual_np_oilgas_12US1_2017gb_17j_TestCase.csh >& run_nonpoint.log