IOAPI
(→ASCII con variables definidas) |
(→m3fake) |
||
Línea 182: | Línea 182: | ||
En este fichero están los valores que les queremos asignar a las variables. Para eso hay que agarrar el inventario que tenemos .nc y pasarlo al formato correcto para correr con esto. Esto lo hace el script <code>nc_to_m3fake.py</code>. |
En este fichero están los valores que les queremos asignar a las variables. Para eso hay que agarrar el inventario que tenemos .nc y pasarlo al formato correcto para correr con esto. Esto lo hace el script <code>nc_to_m3fake.py</code>. |
||
− | Hay que tener un csv por variable. Los csv de las variables son: <code>NO_AMBA.csv</code> y <code>NO2_AMBA.csv</code> (Aparte de uno por cada voc que todavía no tengo hecho). |
+ | Hay que tener un csv por variable. Todavía hay que hacer bien la especiación de VOCs, pero tenemos una provisoria. |
== Variables de entorno == |
== Variables de entorno == |
||
<pre style="shell"> |
<pre style="shell"> |
||
− | setenv GRIDDESC Inventarios_AMBA.griddesc |
+ | export GRIDDESC=Inventarios_AMBA.griddesc |
− | setenv OUT inv_ioapi |
||
</pre> |
</pre> |
||
== Ejecución == |
== Ejecución == |
||
+ | |||
+ | El script pide varias variables por terminal. Para que no sea tan engorroso, el script <code>run_m3fake.py</code> escribe en un .txt todos los argumentos que se necesitan. Una vez generado el .txt <code>args_m3fake.txt<\code>, el programa se ejecuta así (Hay que estar en la misma carpeta donde están los csv de cada variable): |
||
<pre style="shell"> |
<pre style="shell"> |
||
− | $ROOT_IOAPI/m3fake $OUT |
+ | $ROOT_IOAPI/m3fake < args_m3fake.txt |
</pre> |
</pre> |
||
− | |||
− | Pide varios inputs: |
||
− | |||
− | 1) Tipo de archivo: <code>GRIDDED</code> |
||
− | |||
− | 2) Nombre de la grilla: <code>AMBA_emis_cp</code> |
||
− | |||
− | 3) Número de layers: <code>1</code> |
||
− | |||
− | 4) TSTEP: <code>010000</code> |
||
− | |||
− | 5) STARTING DATE: <code>2012010</code> (No importa mucho esto) |
||
− | |||
− | 6) STARTING TIME: <code>000000</code> |
||
− | |||
− | 7) Number of time steps: <code>24</code> |
||
− | |||
− | 8) Number of variables: <code>2</code> (Solo para NO y NO2, después hay que agregar las que se necesiten para los VOCs) |
||
− | |||
− | 9) Name variable 1: <code>NO</code> |
||
− | |||
− | 10) Units variable 1: <code>moles/s</code> |
||
− | |||
− | 11) Description variable 1: <code>NO[1]</code> |
||
− | |||
− | 12) Type variable 1: <code>double precision</code> |
||
− | |||
− | 13) Filler formula variable 1: <code>Input from user-specified file</code> |
||
− | |||
− | 14) Logical name file variable 1: <code>NO_AMBA.csv</code> |
||
− | |||
− | 15) Name variable 2: <code>NO2</code> |
||
− | |||
− | 16) Units variable 2: <code>moles/s</code> |
||
− | |||
− | 17) Description variable 2: <code>NO2[1]</code> |
||
− | |||
− | 18) Type variable 2: <code>double precision</code> |
||
− | |||
− | 19) Filler formula variable 2: <code>Input from user-specified file</code> |
||
− | |||
− | 20) Logical name file variable 2: <code>NO2_AMBA.csv</code> |
Revisión de 12:36 23 ene 2023
Página con la utilización de las distintas herramientas IOAPI
Directorio de trabajo
/home/solange.luque/estudios/IOAPI
Vigilar la coherencia entre el entorno cargado y la compilación de la IOAPI
source /opt/env_scripts/load_gnu-10.2.1_mpich-3.4.2.sh
Directorio de la librería
setenv ROOT_IOAPI /home/solange.luque/libraries/ioapi/v3.2-20200828/gnu/Linux2_x86_64/
Contenido |
wrfgriddesc
Programa para crear el GRIDDESC de un archivo WRF
Workdir:
IOAPI/wrfgriddesc
Archivo test:
/home/solange.luque/salidas/lluis.fita/estudios/ChemGBsAs/sims/weeks/20121110/control/wrfout_d01_2012-11-13_00:00:00
Variables de entorno
setenv PROMPTFLAG yes setenv WRFFILE /home/solange.luque/salidas/lluis.fita/estudios/ChemGBsAs/sims/weeks/20121110/control/wrfout_d01_2012-11-13_00:00:00 setenv OUTDESC /home/solange.luque/estudios/IOAPI/wrfgriddesc/ChemGBsAs_d01.griddesc setenv CRDNAME ChemGBsAs_d01 setenv CROGRID ChemGBsAs_d01_cpgrd setenv DOTGRID ChemGBsAs_d01_dotgrd setenv STXGRID ChemGBsAs_d01_xstag setenv STYGRID ChemGBsAs_d01_ystag
Ejecutando
${ROOT_IOAPI}/wrfgriddesc
Contenido archivo salida
cat ChemGBsAs_d01.griddesc ! coords --line: name; type, P-alpha, P-beta, P-gamma, xcent, ycent 'ChemGBsAs_d01' 2 -3.5600000D+01 -3.3600000D+01 -5.8400000D+01 -5.8400000D+01 -3.4600000D+01 ' ' ! end coords. grids: name; xorig, yorig, xcell, ycell, ncols, nrows, nthik 'ChemGBsAs_d01_cp' 'ChemGBsAs_d01' -8.2512722E+05 -7.5011479E+05 1.5000000E+04 1.5000000E+04 110 100 1 'ChemGBsAs_d01_do' 'ChemGBsAs_d01' -8.3262722E+05 -7.5761479E+05 1.5000000E+04 1.5000000E+04 111 101 1 'ChemGBsAs_d01_xs' 'ChemGBsAs_d01' -8.3262722E+05 -7.5011479E+05 1.5000000E+04 1.5000000E+04 111 100 1 'ChemGBsAs_d01_ys' 'ChemGBsAs_d01' -8.2512722E+05 -7.5761479E+05 1.5000000E+04 1.5000000E+04 110 101 1 ' ' ! end grids
wrftom3
Programa para transformar un archivo WRF a un archivo IOAPI.
Workdir:
IOAPI/wrftom3
Archivo test:
/home/solange.luque/salidas/lluis.fita/estudios/ChemGBsAs/sims/weeks/20121110/control/wrfout_d01_2012-11-13_00:00:00
Archivos de configuración
griddesc
Archivo con la información geográfica (descripción GRIDDESC). Detalles sobre el significado de las variables en VarsIOAPI GRIDDESC
Nombre archivo ChemGBsAs_d01.griddesc
, generado con wrfgriddesc
configuración
Archivo con la configuración del programa (dimensiones, variables, ... que se quieren agarrar)
1-layer no staggered ni en x, ni en y
Nombre archivo ChemGBsAs_d01_wrftom3_1lay_unstag.conf
a usar (variable OUTGRID
) con el grid ChemGBsAs_d01_cp
"T2" "tas" "U10" "uas" "V10" "vas"
3D no staggered ni en x, ni en y
Nombre archivo ChemGBsAs_d01_wrftom3_3D_unstag.conf
"QVAPOR" "qv"
3D no staggered (suelo) ni en x, ni en y
Nombre archivo ChemGBsAs_d01_wrftom3_3Dland_unstag.conf
"SMOIS" "swvl"
3D no staggered ni en x, ni en y, staggered en z
Nombre archivo ChemGBsAs_d01_wrftom3_3D_zstag.conf
"W" "wa"
3D staggered en x
Nombre archivo ChemGBsAs_d01_wrftom3_3D_xstag.conf
a usar con el grid ChemGBsAs_d01_xs
"U" "ua"
3D staggered en y
Nombre archivo ChemGBsAs_d01_wrftom3_3D_ystag.conf
a usar con el grid ChemGBsAs_d01_ys
"V" "va"
Variables de entorno
Recordar correr en tcsh
setenv GRIDDESC /home/solange.luque/estudios/IOAPI/wrfgriddesc/ChemGBsAs_d01.griddesc setenv OUTGRID ChemGBsAs_d01_cp setenv WRFFILE /home/solange.luque/salidas/lluis.fita/estudios/ChemGBsAs/sims/weeks/20121110/control/wrfout_d01_2012-11-13_00:00:00 setenv OUTFILE wrf_ChemGBsAs_d01.iopai setenv CONFIG ChemGBsAs_d01_wrftom3_1lay_unstag.conf
Ejecución
$ROOT_IOAPI/wrftom3
Archivo salida
wrf_ChemGBsAs_d01.iopai
m3fake
Programa para crear un fichero I/O API a partir de un fichero ASCII con las variables definidas.
Workdir:
IOAPI/m3fake
Para crear el inventario de emisiones para el AMBA:
Archivos de configuración
griddesc
Archivo con la información geográfica (descripción GRIDDESC). Detalles sobre el significado de las variables en VarsIOAPI GRIDDESC
Lo podemos linkear del directorio de wrftom3
ln /home/solange.luque/estudios/IOAPI/wrftom3/Inventarios_AMBA.griddesc Inventarios_AMBA.griddesc
Este fichero es el griddesc del inventario que hicimos a mano.
ASCII con variables definidas
En este fichero están los valores que les queremos asignar a las variables. Para eso hay que agarrar el inventario que tenemos .nc y pasarlo al formato correcto para correr con esto. Esto lo hace el script nc_to_m3fake.py
.
Hay que tener un csv por variable. Todavía hay que hacer bien la especiación de VOCs, pero tenemos una provisoria.
Variables de entorno
export GRIDDESC=Inventarios_AMBA.griddesc
Ejecución
El script pide varias variables por terminal. Para que no sea tan engorroso, el script run_m3fake.py
escribe en un .txt todos los argumentos que se necesitan. Una vez generado el .txt args_m3fake.txt<\code>, el programa se ejecuta así (Hay que estar en la misma carpeta donde están los csv de cada variable):
$ROOT_IOAPI/m3fake < args_m3fake.txt