SMOKE
(→gcc) |
|||
(No se muestran 26 ediciones intermedias realizadas por 2 usuarios) | |||
Línea 1: | Línea 1: | ||
− | Instalando y usando SMOKE en hydra |
+ | Instalando y usando ''Sparse Matrix Operator Kernel Emissions (SMOKE)'' en hydra |
Página de SMOKE: [https://www.cmascenter.org/smoke/ https://www.cmascenter.org/smoke/] |
Página de SMOKE: [https://www.cmascenter.org/smoke/ https://www.cmascenter.org/smoke/] |
||
Línea 98: | Línea 98: | ||
</pre> |
</pre> |
||
− | En <code>/home/solange.luque/MODELOS/SMOKE/DATA/smoke4.7/scripts/platform</code> está seteado por default la abreviación de intel, así que hay que cambiarlo. |
+ | == gcc - debug == |
+ | Directorio de instalación <code>/home/solange.luque/MODELOS/SMOKE_dbg</code> |
||
+ | '''NOTA:''' Todo se tendría que llamar <code>Linux2_x86_64_dbg</code>, pero después no encuentra en la compilación de I/O - API, el <code>ioapi/Makinclude.Linux2_x86_64_dbg</code>, puiesto que sí existe un <code>ioapi/Makinclude.Linux2_x86_64dbg</code> (que rompimos, ver CMAQ gnu - debug). Hacemos ''trampas'', poniéndole el nombre <code>Linux2_x86_64</code> |
||
+ | |||
+ | Desplegando código |
||
+ | <pre style="shell"> |
||
+ | mv ~/smoke_v49.Linux2_x86_64ifort.tar.gz ./ |
||
+ | mkdir gcc/ |
||
+ | cd gcc |
||
+ | tar xvfz /home/solange.luque/MODELOS/SMOKE/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 |
||
+ | </pre> |
||
+ | |||
+ | Compilando |
||
+ | <pre style="shell"> |
||
+ | cd src |
||
+ | cp Makeinclude Makeinclude.old |
||
+ | cp Makeinclude Makeinclude.Linux2_x86_64 |
||
+ | rm Makeinclude |
||
+ | diff Makeinclude.Linux2_x86_64 Makeinclude.old |
||
+ | 30d29 |
||
+ | < SMK_HOME = /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src |
||
+ | 32c31 |
||
+ | < BASEDIR = /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src |
||
+ | --- |
||
+ | > BASEDIR = ${SMK_HOME}/subsys/smoke/src |
||
+ | 36c35 |
||
+ | < IOBASE = /home/solange.luque/libraries/ioapi/v3.2-20200828/gnu |
||
+ | --- |
||
+ | > IOBASE = ${SMK_HOME}/subsys/ioapi |
||
+ | 41c40 |
||
+ | < INSTDIR = /home/solange.luque/MODELOS/SMOKE/gcc/${BIN} |
||
+ | --- |
||
+ | > INSTDIR = /somewhere/apps/${BIN} |
||
+ | 49,50c48,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 |
||
+ | 54,55c53,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 |
||
+ | 60c59 |
||
+ | < MFLAGS = -g -Wall -Wextra -Warray-temporaries -Wconversion -fimplicit-none -fbacktrace -fcheck=all |
||
+ | -ffpe-trap=zero,overflow,underflow -finit-real=nan |
||
+ | --- |
||
+ | > MFLAGS = -traceback |
||
+ | </pre> |
||
+ | |||
+ | Hay un error de sintaxis Fortran en <code>/home/solange.luque/libraries/ioapi/v3.2-20200828/gnu/ioapi/fixed_src/PARMS3.EXT</code>, en la línea #104, queda: |
||
<pre style="fortran"> |
<pre style="fortran"> |
||
− | #set comp_abbrv = ifort |
+ | ! INTEGER, PARAMETER :: M3TYPES( NM3TYPES ) = & |
− | set comp_abbrv = gcc |
+ | ! & (/ M3INT, M3REAL, M3DBLE, M3INT8 /) |
+ | INTEGER, PARAMETER :: M3TYPES( NM3TYPES ) = (/ M3INT, M3REAL, M3DBLE, M3INT8 /) |
||
+ | </pre> |
||
+ | |||
+ | Copilamos |
||
+ | <pre style="shell"> |
||
+ | /opt/load-libs.sh |
||
+ | source /opt/env_scripts/load_gnu-10.2.1_openmpi-4.1.2.sh |
||
+ | 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 |
||
</pre> |
</pre> |
||
Línea 108: | Línea 164: | ||
Empecemos por el test-case |
Empecemos por el test-case |
||
+ | |||
+ | == Errores de sistema encontrados == |
||
'''NOTA:''' Los shells son todos <code>#!/bin/csh</code>, pero de verdad se utiliza <code>#!/bin/tcsh</code> [https://forum.cmascenter.org/t/source-too-many-arguments-is-not-csh/3679 CMAS Source Too many arguments is not csh!] |
'''NOTA:''' Los shells son todos <code>#!/bin/csh</code>, pero de verdad se utiliza <code>#!/bin/tcsh</code> [https://forum.cmascenter.org/t/source-too-many-arguments-is-not-csh/3679 CMAS Source Too many arguments is not csh!] |
||
+ | |||
+ | Se tuvo que pedir la instalación de paquetes adicionales: |
||
+ | * GNU arbitrary precision calculator language [https://packages.debian.org/bullseye/bc bc] |
||
+ | * classic UNIX line editor [https://packages.debian.org/bullseye/ed ed] |
||
== test-case == |
== test-case == |
||
Línea 155: | Línea 217: | ||
ls |
ls |
||
SMOKE-TestCase |
SMOKE-TestCase |
||
+ | </pre> |
||
+ | |||
+ | === gcc === |
||
+ | Seteando entorno |
||
+ | <pre style="shell"> |
||
+ | /opt/load-libs.sh 3 |
||
+ | source /opt/env_scripts/load_gnu-10.2.1_mpich-3.4.2.sh |
||
</pre> |
</pre> |
||
Línea 203: | Línea 272: | ||
</pre> |
</pre> |
||
+ | En <code>/home/solange.luque/MODELOS/SMOKE/DATA/smoke4.7/scripts/platform</code> está seteado por default la abreviación de intel, así que hay que cambiarlo. |
||
+ | |||
+ | <pre style="fortran"> |
||
+ | #set comp_abbrv = ifort |
||
+ | set comp_abbrv = gcc |
||
+ | </pre> |
||
Desde <code>/home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/scripts/</code> |
Desde <code>/home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/scripts/</code> |
||
<pre style="shell"> |
<pre style="shell"> |
||
− | export LD_LIBRARY_PATH=/opt/netcdf/netcdf-4/gnu/10.2.1/lib/ |
||
mkdir /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/scripts/logs |
mkdir /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/scripts/logs |
||
cd nonpoint/ |
cd nonpoint/ |
||
./Annual_np_oilgas_12US1_2017gb_17j_TestCase.csh >& run_nonpoint.log |
./Annual_np_oilgas_12US1_2017gb_17j_TestCase.csh >& run_nonpoint.log |
||
</pre> |
</pre> |
||
+ | |||
+ | Nota: Antes de correr, si no es la primera vez que se lo hace, hay que borrar el log <code>timelog_np_oilgas_SMOKE-TestCase_12US1_all.txt</code> que está en <code>/home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/intermed/np_oilgas/logs/</code>. Sino, el programa timetracker tira error de que tiene multiple primary keys disponibles. |
||
+ | |||
+ | <pre style="shell"> |
||
+ | cd /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/intermed/np_oilgas/logs |
||
+ | rm timelog_np_oilgas_SMOKE-TestCase_12US1_all.txt |
||
+ | </pre> |
||
+ | |||
Correr el siguiente sector: |
Correr el siguiente sector: |
||
Línea 216: | Línea 298: | ||
cd ../point |
cd ../point |
||
./Annual_pt_oilgas_onetime_12US1_2017gb_17j_TestCase.csh >& run_Annual_onetime.log |
./Annual_pt_oilgas_onetime_12US1_2017gb_17j_TestCase.csh >& run_Annual_onetime.log |
||
+ | </pre> |
||
+ | |||
+ | === gcc - debug === |
||
+ | Directorio de trabajo: <code>/home/solange.luque/estudios/SMOKE/TestCase_dbg</code> |
||
+ | |||
+ | [https://drive.google.com/drive/folders/18hiiGSlFQ6gWtXmEdkemBwoyUly1dJEV googleDrive] |
||
+ | <pre> |
||
+ | 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 |
||
+ | </pre> |
||
+ | |||
+ | <pre style="shell"> |
||
+ | unzip /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase-BEIS4-inputs.tar.gz-20221026T133036Z-001.zip |
||
+ | unzip /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase-inputs.tar.gz-20221026T133039Z-001.zip |
||
+ | unzip /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase-BEIS4-output.tar.gz-20221026T133038Z-001.zip |
||
+ | unzip /home/solange.luque/MODELOS/SMOKE/DATA/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 |
||
+ | </pre> |
||
+ | |||
+ | Nos queda: |
||
+ | <pre style="shell"> |
||
+ | ls |
||
+ | biogenics_output SMOKE-TestCase-BEIS4-inputs.tar.gz |
||
+ | ge_dat SMOKE-TestCase-BEIS4-output.tar.gz |
||
+ | output_forQA SMOKE-TestCase-inputs.tar.gz |
||
+ | smoke4.7 SMOKE-TestCase-output.tar.gz |
||
+ | SMOKE-TestCase |
||
+ | </pre> |
||
+ | |||
+ | Descargamos archivos para simular en <code>/home/solange.luque/estudios/SMOKE/TestCase_dbg</code> |
||
+ | |||
+ | <pre style="shell"> |
||
+ | mkdir git |
||
+ | cd git |
||
+ | git clone https://github.com/CEMPD/SMOKE-TestCase.git |
||
+ | ls |
||
+ | SMOKE-TestCase |
||
+ | </pre> |
||
+ | |||
+ | Seteando entorno |
||
+ | <pre style="shell"> |
||
+ | /opt/load-libs.sh 3 |
||
+ | source /opt/env_scripts/load_gnu-10.2.1_mpich-3.4.2.sh |
||
+ | </pre> |
||
+ | |||
+ | Preparando directorio para simular <code>/home/solange.luque/estudios/SMOKE/TestCase_dbg</code> |
||
+ | <pre style="shell"> |
||
+ | cp -R /home/solange.luque/estudios/SMOKE/TestCase_dbg/git/SMOKE-TestCase/scripts ./ |
||
+ | cd scripts |
||
+ | diff directory_definitions.csh /home/solange.luque/estudios/SMOKE/TestCase_dbg/git/SMOKE-TestCase/scripts/directory_definitions.csh |
||
+ | 13c13 |
||
+ | < setenv INSTALL_DIR "/home/solange.luque/estudios/SMOKE/TestCase_dbg" |
||
+ | --- |
||
+ | > setenv INSTALL_DIR "/proj/ie/proj/SMOKE/chef" |
||
+ | 19c19 |
||
+ | < setenv MET_ROOT "/home/solange.luque/estudios/SMOKE/TestCase_dbg/SMOKE-TestCase/inputs/biogenics" |
||
+ | --- |
||
+ | > setenv MET_ROOT "/proj/ie/proj/TRECH/emissions/mcip" |
||
+ | 24c24 |
||
+ | < setenv MET_ROOT_3D "/home/solange.luque/estudios/SMOKE/TestCase_dbg/SMOKE-TestCase/inputs/biogenics" |
||
+ | --- |
||
+ | > setenv MET_ROOT_3D "/proj/ie/proj/TRECH/emissions/mcip" |
||
+ | 46c46 |
||
+ | < setenv SMOKE_LOCATION "/home/solange.luque/MODELOS/SMOKE_dbg/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" |
||
+ | </pre> |
||
+ | |||
+ | |||
+ | Ajustando scripts al cluster: |
||
+ | <pre type="shell"> |
||
+ | $ cat /home/solange.luque/estudios/SMOKE/TestCase_dbg/smoke4.7/scripts/emf/smk_ar_annual_emf.csh | grep py |
||
+ | set log_analyzer = $SCRIPTS/log_analyzer/log_analyzer.py |
||
+ | set path_parser = $SCRIPTS/run/path_parser.py |
||
+ | </pre> |
||
+ | |||
+ | |||
+ | * línea #1 de <code>/home/solange.luque/estudios/SMOKE/TestCase_dbg/smoke4.7/scripts/log_analyzer/log_analyzer.py</code>, <code>/home/solange.luque/estudios/SMOKE/TestCase_dbg/smoke4.7/scripts/run/path_parser.py</code>, <code>/home/solange.luque/estudios/SMOKE/TestCase_dbg/smoke4.7/scripts/annual_report/annual_report_v2.py</code> |
||
+ | <pre style"python"> |
||
+ | #!/usr/bin/env python3 |
||
+ | </pre> |
||
+ | |||
+ | Error de c-shell en el script <code>/home/solange.luque/estudios/SMOKE/TestCase_dbg/smoke4.7/scripts/run/set_months_v4.csh</code>, sintaxis errónea en dar la cantidad de argumentos: está <code>$#</code> y tiene que ser <code>$#argv</code> [https://www.unix.com/shell-programming-and-scripting/42713-read-number-arguments-c-shell.html web], en línea # 30: |
||
+ | <pre style="shell"> |
||
+ | if ( $#argv == 3 ) then |
||
+ | </pre> |
||
+ | |||
+ | En <code>/home/solange.luque/estudios/SMOKE/TestCase_dbg/smoke4.7/scripts/platform</code> está seteado por default la abreviación de intel, así que hay que cambiarlo. |
||
+ | |||
+ | <pre style="fortran"> |
||
+ | #set comp_abbrv = ifort |
||
+ | set comp_abbrv = gcc |
||
+ | </pre> |
||
+ | |||
+ | Desde <code>/home/solange.luque/estudios/SMOKE/TestCase_dbg/scripts</code> |
||
+ | <pre style="shell"> |
||
+ | mkdir /home/solange.luque/estudios/SMOKE/TestCase_dbg/scripts/logs |
||
+ | cd nonpoint/ |
||
+ | ./Annual_np_oilgas_12US1_2017gb_17j_TestCase.csh >& run_nonpoint.log |
||
+ | </pre> |
||
+ | |||
+ | Nota: Antes de correr, si no es la primera vez que se lo hace, hay que borrar el log <code>timelog_np_oilgas_SMOKE-TestCase_12US1_all.txt</code> que está en <code>/home/solange.luque/estudios/SMOKE/TestCase_dbg/SMOKE-TestCase/intermed/np_oilgas/logs |
||
+ | </code>. Sino, el programa timetracker tira error de que tiene multiple primary keys disponibles. |
||
+ | |||
+ | <pre style="shell"> |
||
+ | rm /home/solange.luque/estudios/SMOKE/TestCase_dbg/SMOKE-TestCase/intermed/np_oilgas/logs/timelog_np_oilgas_SMOKE-TestCase_12US1_all.txt |
||
+ | </pre> |
||
+ | |||
+ | Mensaje de error en <code>run_nonpoint.log</code> |
||
+ | |||
+ | <pre style="shell"> |
||
+ | (...) |
||
+ | At line 1902 of file /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/wrrephdr.f |
||
+ | Fortran runtime error: Index '20' of dimension 1 of array 'outdnam' above upper bound of 19 |
||
+ | |||
+ | Error termination. Backtrace: |
||
+ | #0 0x14e579400bd0 in ??? |
||
+ | #1 0x14e579401685 in ??? |
||
+ | #2 0x14e579401c76 in ??? |
||
+ | #3 0x55e8e8e454dc in wrrephdr_ |
||
+ | at /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/wrrephdr.f:1902 |
||
+ | #4 0x55e8e8e3a2e9 in smkreport |
||
+ | at /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/smkreport.f:406 |
||
+ | #5 0x55e8e8df5978 in main |
||
+ | at /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/smkreport.f:47 |
||
+ | SMOKE --------------- |
||
+ | Copyright (c)2004 Environmental Modeling for Policy Development |
||
+ | (...) |
||
+ | </pre> |
||
+ | |||
+ | Correr el siguiente sector: |
||
+ | <pre style="shell"> |
||
+ | cd ../point |
||
+ | ./Annual_pt_oilgas_onetime_12US1_2017gb_17j_TestCase.csh >& run_Annual_onetime.log |
||
+ | </pre> |
||
+ | |||
+ | Mismo mensaje de error que en <code>nonpoint</code> en <code>run_Annual_onetime.log</code>: |
||
+ | |||
+ | <pre style="shell"> |
||
+ | (...) |
||
+ | At line 560 of file /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/bldrepidx.f |
||
+ | Fortran runtime error: Index '20' of dimension 1 of array 'outdnam' above upper bound of 19 |
||
+ | |||
+ | Error termination. Backtrace: |
||
+ | #0 0x14f1d4b2bbd0 in ??? |
||
+ | #1 0x14f1d4b2c685 in ??? |
||
+ | #2 0x14f1d4b2cc76 in ??? |
||
+ | #3 0x55d128c00dac in bldrepidx_ |
||
+ | at /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/bldrepidx.f:560 |
||
+ | #4 0x55d128c2e775 in smkreport |
||
+ | at /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/smkreport.f:179 |
||
+ | #5 0x55d128bea978 in main |
||
+ | at /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/smkreport.f:47 |
||
+ | SMOKE --------------- |
||
+ | (...) |
||
</pre> |
</pre> |
||
Línea 394: | Línea 638: | ||
77: comment= "US" |
77: comment= "US" |
||
</pre> |
</pre> |
||
+ | |||
+ | = Uso y manejo = |
||
+ | |||
+ | == Nuevo dominio de simulación == |
||
+ | Instrucciones Creación de los archivos necesarios para un nuevo dominio de simulación [[/NuevoDominio]] acá |
Última revisión de 12:17 14 dic 2022
Instalando y usando Sparse Matrix Operator Kernel Emissions (SMOKE) en hydra
Página de SMOKE: https://www.cmascenter.org/smoke/
Manual de usuarie User's manual v4.5
Contenido |
[editar] Compilar
Archivo comprimido desde la página web (bajo registro previo)
smoke_v49.Linux2_x86_64ifort.tar.gz
[editar] intel
En del directorio
tar xvfz smoke_v49.Linux2_x86_64ifort.tar.gz cd subsys/smoke ls Linux2_x86_64ifort src ls Linux2_x86_64ifort/ aggwndw cntlmat gentpro inlineto2d met4moves mrgelev normbeis4 smkinven surgtool uam2ncf beld3to2 elevpoint geofac invsplit metcombine mrggrid pktreduc smkmerge temporal bluesky2inv extractida grdmat layalloc metscan mrgpt saregroup smkreport tmpbeis3 cemscan gcntl4carb grwinven laypoint movesmrg normbeis3 smk2emis spcmat tmpbeis4
[editar] 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
/opt/load-libs.sh source /opt/env_scripts/load_gnu-10.2.1_openmpi-4.1.2.sh 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
[editar] gcc - debug
Directorio de instalación /home/solange.luque/MODELOS/SMOKE_dbg
NOTA: Todo se tendría que llamar Linux2_x86_64_dbg
, pero después no encuentra en la compilación de I/O - API, el ioapi/Makinclude.Linux2_x86_64_dbg
, puiesto que sí existe un ioapi/Makinclude.Linux2_x86_64dbg
(que rompimos, ver CMAQ gnu - debug). Hacemos trampas, poniéndole el nombre Linux2_x86_64
Desplegando código
mv ~/smoke_v49.Linux2_x86_64ifort.tar.gz ./ mkdir gcc/ cd gcc tar xvfz /home/solange.luque/MODELOS/SMOKE/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 rm Makeinclude diff Makeinclude.Linux2_x86_64 Makeinclude.old 30d29 < SMK_HOME = /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src 32c31 < BASEDIR = /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src --- > BASEDIR = ${SMK_HOME}/subsys/smoke/src 36c35 < IOBASE = /home/solange.luque/libraries/ioapi/v3.2-20200828/gnu --- > IOBASE = ${SMK_HOME}/subsys/ioapi 41c40 < INSTDIR = /home/solange.luque/MODELOS/SMOKE/gcc/${BIN} --- > INSTDIR = /somewhere/apps/${BIN} 49,50c48,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 54,55c53,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 60c59 < MFLAGS = -g -Wall -Wextra -Warray-temporaries -Wconversion -fimplicit-none -fbacktrace -fcheck=all -ffpe-trap=zero,overflow,underflow -finit-real=nan --- > 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
/opt/load-libs.sh source /opt/env_scripts/load_gnu-10.2.1_openmpi-4.1.2.sh 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
[editar] Usar
Empecemos por el test-case
[editar] Errores de sistema encontrados
NOTA: Los shells son todos #!/bin/csh
, pero de verdad se utiliza #!/bin/tcsh
CMAS Source Too many arguments is not csh!
Se tuvo que pedir la instalación de paquetes adicionales:
[editar] test-case
Post en: foro CMAS
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
[editar] gcc
Seteando entorno
/opt/load-libs.sh 3 source /opt/env_scripts/load_gnu-10.2.1_mpich-3.4.2.sh
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:
$ cat /home/solange.luque/MODELOS/SMOKE/DATA/smoke4.7/scripts/emf/smk_ar_annual_emf.csh | grep py set log_analyzer = $SCRIPTS/log_analyzer/log_analyzer.py set path_parser = $SCRIPTS/run/path_parser.py
- 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
Error de c-shell en el script /home/solange.luque/MODELOS/SMOKE/DATA/smoke4.7/scripts/run/set_months_v4.csh
, sintaxis errónea en dar la cantidad de argumentos: está $#
y tiene que ser $#argv
web, en línea # 30:
if ( $#argv == 3 ) then
En /home/solange.luque/MODELOS/SMOKE/DATA/smoke4.7/scripts/platform
está seteado por default la abreviación de intel, así que hay que cambiarlo.
#set comp_abbrv = ifort set comp_abbrv = gcc
Desde /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/scripts/
mkdir /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/scripts/logs cd nonpoint/ ./Annual_np_oilgas_12US1_2017gb_17j_TestCase.csh >& run_nonpoint.log
Nota: Antes de correr, si no es la primera vez que se lo hace, hay que borrar el log timelog_np_oilgas_SMOKE-TestCase_12US1_all.txt
que está en /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/intermed/np_oilgas/logs/
. Sino, el programa timetracker tira error de que tiene multiple primary keys disponibles.
cd /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/intermed/np_oilgas/logs rm timelog_np_oilgas_SMOKE-TestCase_12US1_all.txt
Correr el siguiente sector:
cd ../point ./Annual_pt_oilgas_onetime_12US1_2017gb_17j_TestCase.csh >& run_Annual_onetime.log
[editar] gcc - debug
Directorio de trabajo: /home/solange.luque/estudios/SMOKE/TestCase_dbg
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 /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase-BEIS4-inputs.tar.gz-20221026T133036Z-001.zip unzip /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase-inputs.tar.gz-20221026T133039Z-001.zip unzip /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase-BEIS4-output.tar.gz-20221026T133038Z-001.zip unzip /home/solange.luque/MODELOS/SMOKE/DATA/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 ge_dat SMOKE-TestCase-BEIS4-output.tar.gz output_forQA SMOKE-TestCase-inputs.tar.gz smoke4.7 SMOKE-TestCase-output.tar.gz SMOKE-TestCase
Descargamos archivos para simular en /home/solange.luque/estudios/SMOKE/TestCase_dbg
mkdir git cd git git clone https://github.com/CEMPD/SMOKE-TestCase.git ls SMOKE-TestCase
Seteando entorno
/opt/load-libs.sh 3 source /opt/env_scripts/load_gnu-10.2.1_mpich-3.4.2.sh
Preparando directorio para simular /home/solange.luque/estudios/SMOKE/TestCase_dbg
cp -R /home/solange.luque/estudios/SMOKE/TestCase_dbg/git/SMOKE-TestCase/scripts ./ cd scripts diff directory_definitions.csh /home/solange.luque/estudios/SMOKE/TestCase_dbg/git/SMOKE-TestCase/scripts/directory_definitions.csh 13c13 < setenv INSTALL_DIR "/home/solange.luque/estudios/SMOKE/TestCase_dbg" --- > setenv INSTALL_DIR "/proj/ie/proj/SMOKE/chef" 19c19 < setenv MET_ROOT "/home/solange.luque/estudios/SMOKE/TestCase_dbg/SMOKE-TestCase/inputs/biogenics" --- > setenv MET_ROOT "/proj/ie/proj/TRECH/emissions/mcip" 24c24 < setenv MET_ROOT_3D "/home/solange.luque/estudios/SMOKE/TestCase_dbg/SMOKE-TestCase/inputs/biogenics" --- > setenv MET_ROOT_3D "/proj/ie/proj/TRECH/emissions/mcip" 46c46 < setenv SMOKE_LOCATION "/home/solange.luque/MODELOS/SMOKE_dbg/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:
$ cat /home/solange.luque/estudios/SMOKE/TestCase_dbg/smoke4.7/scripts/emf/smk_ar_annual_emf.csh | grep py set log_analyzer = $SCRIPTS/log_analyzer/log_analyzer.py set path_parser = $SCRIPTS/run/path_parser.py
- línea #1 de
/home/solange.luque/estudios/SMOKE/TestCase_dbg/smoke4.7/scripts/log_analyzer/log_analyzer.py
,/home/solange.luque/estudios/SMOKE/TestCase_dbg/smoke4.7/scripts/run/path_parser.py
,/home/solange.luque/estudios/SMOKE/TestCase_dbg/smoke4.7/scripts/annual_report/annual_report_v2.py
#!/usr/bin/env python3
Error de c-shell en el script /home/solange.luque/estudios/SMOKE/TestCase_dbg/smoke4.7/scripts/run/set_months_v4.csh
, sintaxis errónea en dar la cantidad de argumentos: está $#
y tiene que ser $#argv
web, en línea # 30:
if ( $#argv == 3 ) then
En /home/solange.luque/estudios/SMOKE/TestCase_dbg/smoke4.7/scripts/platform
está seteado por default la abreviación de intel, así que hay que cambiarlo.
#set comp_abbrv = ifort set comp_abbrv = gcc
Desde /home/solange.luque/estudios/SMOKE/TestCase_dbg/scripts
mkdir /home/solange.luque/estudios/SMOKE/TestCase_dbg/scripts/logs cd nonpoint/ ./Annual_np_oilgas_12US1_2017gb_17j_TestCase.csh >& run_nonpoint.log
Nota: Antes de correr, si no es la primera vez que se lo hace, hay que borrar el log timelog_np_oilgas_SMOKE-TestCase_12US1_all.txt
que está en /home/solange.luque/estudios/SMOKE/TestCase_dbg/SMOKE-TestCase/intermed/np_oilgas/logs
. Sino, el programa timetracker tira error de que tiene multiple primary keys disponibles.
rm /home/solange.luque/estudios/SMOKE/TestCase_dbg/SMOKE-TestCase/intermed/np_oilgas/logs/timelog_np_oilgas_SMOKE-TestCase_12US1_all.txt
Mensaje de error en run_nonpoint.log
(...) At line 1902 of file /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/wrrephdr.f Fortran runtime error: Index '20' of dimension 1 of array 'outdnam' above upper bound of 19 Error termination. Backtrace: #0 0x14e579400bd0 in ??? #1 0x14e579401685 in ??? #2 0x14e579401c76 in ??? #3 0x55e8e8e454dc in wrrephdr_ at /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/wrrephdr.f:1902 #4 0x55e8e8e3a2e9 in smkreport at /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/smkreport.f:406 #5 0x55e8e8df5978 in main at /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/smkreport.f:47 SMOKE --------------- Copyright (c)2004 Environmental Modeling for Policy Development (...)
Correr el siguiente sector:
cd ../point ./Annual_pt_oilgas_onetime_12US1_2017gb_17j_TestCase.csh >& run_Annual_onetime.log
Mismo mensaje de error que en nonpoint
en run_Annual_onetime.log
:
(...) At line 560 of file /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/bldrepidx.f Fortran runtime error: Index '20' of dimension 1 of array 'outdnam' above upper bound of 19 Error termination. Backtrace: #0 0x14f1d4b2bbd0 in ??? #1 0x14f1d4b2c685 in ??? #2 0x14f1d4b2cc76 in ??? #3 0x55d128c00dac in bldrepidx_ at /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/bldrepidx.f:560 #4 0x55d128c2e775 in smkreport at /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/smkreport.f:179 #5 0x55d128bea978 in main at /home/solange.luque/MODELOS/SMOKE_dbg/gcc/src/emqa/smkreport.f:47 SMOKE --------------- (...)
[editar] intel
Trabajanod con la compilación de intel
cd /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/scripts cp directory_definitions.csh directory_definitions.csh.gcc diff directory_definitions.csh directory_definitions.csh.gcc 46c46 < setenv SMOKE_LOCATION "/home/solange.luque/MODELOS/SMOKE/intel/subsys/smoke/Linux2_x86_64ifort" --- > setenv SMOKE_LOCATION "/home/solange.luque/MODELOS/SMOKE/gcc/Linux2_x86_64" 53c53 < setenv IOAPI_LOCATION "/home/solange.luque/libraries/ioapi/v3.2-20200828/intel/Linux2_x86_64ifort" --- > setenv IOAPI_LOCATION "/home/solange.luque/libraries/ioapi/v3.2-20200828/gnu/Linux2_x86_64"
Ejexcutando:
cd nonpoint/ cp run_nonpoint.log run_nonpoint.log.gcc ./Annual_np_oilgas_12US1_2017gb_17j_TestCase.csh >& run_nonpoint.log ls /home/solange.luque/estudios/CMAQ-ideal/DATA/mcip/AMBA/ GRIDBDY2D_160702.nc GRIDDOT2D_160702.nc METCRO2D_160702.nc namelist.mcip GRIDCRO2D_160702.nc LUFRAC_CRO_160702.nc METCRO3D_160702.nc SOI_CRO_160702.nc GRIDDESC METBDY3D_160702.nc METDOT3D_160702.nc
[editar] inventarios
SMOKE parte de unos ficheros de inventarios de emisiones que están en ASCII. SMOKE lo que hace, es procesarlos para generar los mapas de emisiones para ingestar a CMAQ.
Encontramos un pdf con mucha información del significado de cada elemento de los inventarios EPA-Emissions
[editar] nopoint
Agarramos estos inventarios como ejemplo:
Fichero base del TestCase:
/home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/inputs/np_oilgas/np_oilgas_2017NEI_NONPOINT_20200501_04may2020_nf_v1.csv ../read_table.bash np_oilgas_2017NEI_NONPOINT_20200501_04may2020_nf_v1.csv country 0.6598465 , 1: country_cd= "US" 2: region_cd= "17001" 3: tribal_code= 4: census_tract_cd= 5: shape_id= 6: scc= "2310021501" 7: emis_type= 8: poll= "VOC" 9: ann_value= 0.6598465 10: ann_pct_red= 11: control_ids= 12: control_measures= 13: current_cost= 14: cumulative_cost= 15: projection_factor= 16: reg_codes= 17: calc_method= 6 18: calc_year= 2017 19: date_updated= 20200430 20: data_set_id= "2017EPA_NONPOINT" 21: jan_value= 22: feb_value= 23: mar_value= 24: apr_value= 25: may_value= 26: jun_value= 27: jul_value= 28: aug_value= 29: sep_value= 30: oct_value= 31: nov_value= 32: dec_value= 33: jan_pctred= 34: feb_pctred= 35: mar_pctred= 36: apr_pctred= 37: may_pctred= 38: jun_pctred= 39: jul_pctred= 40: aug_pctred= 41: sep_pctred= 42: oct_pctred= 43: nov_pctred= 44: dec_pctred= 45: comment=
Archivo con el significado de cada pixel/county de los US:
/home/solange.luque/MODELOS/SMOKE/DATA/ge_dat/costcy_for_2017platform_24apr2020_nf_v1.txt
[editar] point
En: /home/solange.luque/MODELOS/SMOKE/DATA/SMOKE-TestCase/inputs/pt_oilgas
../read_table.bash pt_oilgas_2017NEIpost_POINT_20200618_09feb2021_v0.csv country 0.0757 , 1: country_cd= "US" 2: region_cd= "01073" 3: tribal_code= 4: facility_id= "1001411" 5: unit_id= "63024513" 6: rel_point_id= "57750712" 7: process_id= "86737214" 8: agy_facility_id= "010730267" 9: agy_unit_id= "9" 10: agy_rel_point_id= "9" 11: agy_process_id= "1" 12: scc= "20200252" 13: poll= "540841" 14: ann_value= 0.0757 15: ann_pct_red= 16: facility_name= "SOUTHERN NATURAL GAS CORP." 17: erptype= "2" 18: stkhgt= 38 19: stkdiam= 2.5 20: stktemp= 615 21: stkflow= 220.7666 22: stkvel= 45 23: naics= "486210" 24: longitude= -86.76774 25: latitude= 33.59422 26: ll_datum= 27: horiz_coll_mthd= 28: design_capacity= 29: design_capacity_units= 30: reg_codes= 31: fac_source_type= "110" 32: unit_type_code= "999" 33: control_ids= 34: control_measures= 35: current_cost= 36: cumulative_cost= 37: projection_factor= 38: submitter_id= "ALJCBOH" 39: calc_method= 8 40: data_set_id= "2017JeffCty" 41: facil_category_code= "HAP" 42: oris_facility_code= " " 43: oris_boiler_id= 44: ipm_yn= 45: calc_year= "2017" 46: date_updated= 20200617 47: fug_height= 48: fug_width_xdim= 49: fug_length_ydim= 50: fug_angle= 51: zipcode= "35217" 52: annual_avg_hours_per_year= 53: jan_value= 54: feb_value= 55: mar_value= 56: apr_value= 57: may_value= 58: jun_value= 59: jul_value= 60: aug_value= 61: sep_value= 62: oct_value= 63: nov_value= 64: dec_value= 65: jan_pctred= 66: feb_pctred= 67: mar_pctred= 68: apr_pctred= 69: may_pctred= 70: jun_pctred= 71: jul_pctred= 72: aug_pctred= 73: sep_pctred= 74: oct_pctred= 75: nov_pctred= 76: dec_pctred= 77: comment= "US"
[editar] Uso y manejo
[editar] Nuevo dominio de simulación
Instrucciones Creación de los archivos necesarios para un nuevo dominio de simulación /NuevoDominio acá