IOAPI

De Wikicima
(Diferencias entre revisiones)
Saltar a: navegación, buscar
(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
Herramientas personales