IOAPI
(→Generación de inventarios ya regrillados para un dominio) |
|||
Línea 17: | Línea 17: | ||
= Generación de inventarios ya regrillados para un dominio = |
= Generación de inventarios ya regrillados para un dominio = |
||
− | 1. Generar el <code>GRIDDESC</code>, tanto del inventario como del dominio de simulación |
+ | # Generar el <code>GRIDDESC</code>, tanto del inventario como del dominio de simulación |
− | 1. inventario: a mano desdel propio archivo netCDF |
+ | ## inventario: a mano desdel propio archivo netCDF |
− | 1. dominio: se utiliza el programa ioapi <code>wrfgriddesc</code> |
+ | ## dominio: se utiliza el programa ioapi <code>wrfgriddesc</code> |
− | 1. Especiaciar las emsiones de los inventarios (en caso de que sean emisiones totales) con la script <code>nc_to_m3fake.py</code> |
+ | # Especiaciar las emsiones de los inventarios (en caso de que sean emisiones totales) con la script <code>nc_to_m3fake.py</code> |
− | 1. Transformar las emisiones en formato netCDF a formato IOAPI: |
+ | # Transformar las emisiones en formato netCDF a formato IOAPI: |
− | 1. Creación del input en ASCII a partir de la especiación de las emisiones para el programa <code>m3fake</code> con la script <code>run_m3fake.py</code> |
+ | ## Creación del input en ASCII a partir de la especiación de las emisiones para el programa <code>m3fake</code> con la script <code>run_m3fake.py</code> |
− | 1. Ejecutar <code>m3fake</code> |
+ | ## Ejecutar <code>m3fake</code> |
− | 1. Interpolar emisiones a el domionio de simulación con el programa <code>m3cple</code> |
+ | # Interpolar emisiones a el domionio de simulación con el programa <code>m3cple</code> |
= wrfgriddesc = |
= wrfgriddesc = |
Última revisión de 10:24 25 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 |
[editar] Generación de inventarios ya regrillados para un dominio
- Generar el
GRIDDESC
, tanto del inventario como del dominio de simulación- inventario: a mano desdel propio archivo netCDF
- dominio: se utiliza el programa ioapi
wrfgriddesc
- Especiaciar las emsiones de los inventarios (en caso de que sean emisiones totales) con la script
nc_to_m3fake.py
- Transformar las emisiones en formato netCDF a formato IOAPI:
- Creación del input en ASCII a partir de la especiación de las emisiones para el programa
m3fake
con la scriptrun_m3fake.py
- Ejecutar
m3fake
- Creación del input en ASCII a partir de la especiación de las emisiones para el programa
- Interpolar emisiones a el domionio de simulación con el programa
m3cple
[editar] 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
[editar] 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
[editar] 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
[editar] 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
[editar] Archivos de configuración
[editar] 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
[editar] configuración
Archivo con la configuración del programa (dimensiones, variables, ... que se quieren agarrar)
[editar] 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"
[editar] 3D no staggered ni en x, ni en y
Nombre archivo ChemGBsAs_d01_wrftom3_3D_unstag.conf
"QVAPOR" "qv"
[editar] 3D no staggered (suelo) ni en x, ni en y
Nombre archivo ChemGBsAs_d01_wrftom3_3Dland_unstag.conf
"SMOIS" "swvl"
[editar] 3D no staggered ni en x, ni en y, staggered en z
Nombre archivo ChemGBsAs_d01_wrftom3_3D_zstag.conf
"W" "wa"
[editar] 3D staggered en x
Nombre archivo ChemGBsAs_d01_wrftom3_3D_xstag.conf
a usar con el grid ChemGBsAs_d01_xs
"U" "ua"
[editar] 3D staggered en y
Nombre archivo ChemGBsAs_d01_wrftom3_3D_ystag.conf
a usar con el grid ChemGBsAs_d01_ys
"V" "va"
[editar] 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
[editar] Ejecución
$ROOT_IOAPI/wrftom3
Archivo salida
wrf_ChemGBsAs_d01.iopai
[editar] 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:
[editar] Archivos de configuración
[editar] 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 -s /home/solange.luque/estudios/IOAPI/wrftom3/Inventarios_AMBA.griddesc Inventarios_AMBA.griddesc
Este fichero es el griddesc del inventario que hicimos a mano.
[editar] 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
(accesible desdel GITcimaCMAQ)
Hay que tener un csv por variable. Todavía hay que hacer bien la especiación de VOCs, pero tenemos una provisoria.
[editar] Variables de entorno
export GRIDDESC=Inventarios_AMBA.griddesc
[editar] Ejecución
El script pide varias variables por terminal. Para que no sea tan engorroso, el script run_m3fake.py
(accesible desdel GITcimaCMAQ) escribe en un .txt todos los argumentos que se necesitan. Una vez generado el .txt args_m3fake.txt
, 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
[editar] m3cple
Programa mapear de una grilla a otra. En teoría sirve para mepear de grillas con menor a mayor resolución. La idea es mapear de la grilla del inventario a la de WRF-CMAQ
Workdir:
IOAPI/m3cple
[editar] Archivos de configuración
[editar] 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 wrfgriddesc
ln /home/solange.luque/estudios/IOAPI/wrfgriddesc/ChemGBsAs_d03.griddesc ChemGBsAs_d03.griddesc
Este fichero es el griddesc del dominio de WRF
[editar] Inventario
Este es el que hicimos con m3fake. Lo linkeamos de ahí.
ln /home/solange.luque/estudios/IOAPI/m3fake/inv_ioapi_AMBA_1k inv_1k
[editar] Variables de entorno
setenv GRIDDESC ChemGBsAs_d03.griddesc setenv SCALEFAC 1.0
NOTA: Scalefac es en realidad resolución output/resolución input. El nuestro input no es 1km exactamente, pero me parece que debiera serlo (Cuando calculamos latitudes y longitudes de nuestro inventario, me parece que calculamos todo como si las dos estaciones de referencia estuvieran en el centro de la grilla y eso no es necesariamente así. En un paper de Andrea decía que la resolución del inventario era de 1km. A chequear)
[editar] Ejecución
El script pide varias variables por terminal. Para que no sea tan engorroso, el script run_m3cple.py
escribe en un .txt todos los argumentos que se necesitan. Una vez generado el .txt args_m3cple.txt
, el programa se ejecuta así:
$ROOT_IOAPI/m3cple < args_m3cple.txt
Esto genera el fichero inv_1k_r
.
[editar] mtxcalc y mtxcple
Programa mapear de una grilla a otra. En teoría sirve para mepear de grillas con mayor a menor resolución. La idea es mapear de la grilla del inventario a la de WRF-CMAQ
Workdir:
IOAPI/mtx
Mtxcalc hace una matriz con factores que luego le sirve a mtxcple para hacer el mapeo.
[editar] Archivos de configuración
[editar] griddesc
Archivo con la información geográfica (descripción GRIDDESC). Detalles sobre el significado de las variables en VarsIOAPI GRIDDESC
Necesitamos un griddesc que tenga definido tanto el dominio de entrada como el de salida. Lo llamé combined.griddesc
. (Puse ya el del inventario con resolución de 1k, a chequear este tema).
[editar] Inventario
Es el inventario que hicimos con m3fake. Lo copiamos o linkeamos de ahí.
ln /home/solange.luque/estudios/IOAPI/m3fake/inv_ioapi_AMBA_1k inv_ioapi_AMBA_1
Lo renombramos sin la k porque no le gusta el nombre tan largo.
[editar] Variables de entorno
setenv GRIDDESC combined.griddesc setenv COL_REFINEMENT 142 setenv ROW_REFINEMENT 126
COL_REFINEMENT y ROW_REFINEMENT son el número de columnas y filas del output. Si no se pone nada quedan ambos como default en 100.
[editar] Ejecución
El script pide pocas cosas por terminal. El .text args_mxtcalc.txt
los tiene adentro para ser usados. Primero se ejecuta mtxcalc
$ROOT_IOAPI/mtxcalc < args_mtxcalc.txt
Esto genera la matriz para el mapeo tanto en un netcdf como en un ascii.
Ahora hay que correr mtxcple
. Otra vez necesita algunos argumentos que están en args_mtxcple.txt
.
$ROOT_IOAPI/mtxcple < args_mtxcple.txt
Esto no está funcionando, pero como m3cple funcionó, no lo necesitamos.