CMAQ/pruebaAMBA
(→C.I. y C.C. químicas) |
(→C.I. y C.C. químicas) |
||
Línea 268: | Línea 268: | ||
|- |
|- |
||
[[File:CMAQ_vertical_prof_bcon_NO.png]] |
[[File:CMAQ_vertical_prof_bcon_NO.png]] |
||
− | | |
+ | || |
[[File:CMAQ_vertical_prof_bcon_NO2.png]] |
[[File:CMAQ_vertical_prof_bcon_NO2.png]] |
||
|- |
|- |
||
[[File:CMAQ_vertical_prof_bcon_O3.png]] |
[[File:CMAQ_vertical_prof_bcon_O3.png]] |
||
− | | |
+ | || |
[[File:CMAQ_vertical_prof_bcon_PCVOC.png]] |
[[File:CMAQ_vertical_prof_bcon_PCVOC.png]] |
||
|} |
|} |
Revisión de 16:35 25 ene 2023
Prueba de simulado en AMBA
WORKDIR = /home/solange.luque/estudios/CMAQ-AMBA/prueba
Contenido |
Datos atmosféricos
Se parte de simulaciones de WRF ya realizadas ver referencia.
Datos en:
/home/solange.luque/salidas/lluis.fita/estudios/ChemGBsAs/sims/weeks/20121110/control
mcip
Se utiliza el programa de CMAQ mcip
(MCIP-epa) para generar los archivos con las condiciones atmosféricas necesarias para CMAQ. Seguimos los mismos pasos que [1]
Tener la script para correr el programa:
export CMAQ_HOME=/home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/ cd /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/PREP/mcip/scripts diff run_mcip.csh run_mcip.csh.old 125,129c125 < # config_cmaq.csh modifies $CMAQ_HOME < set val = $CMAQ_HOME < source $CMAQ_HOME/config_cmaq.csh intel < set CMAQ_HOME = $val < echo $0": Solange 2 CMAQ_HOME: "$CMAQ_HOME --- > source $CMAQ_HOME/config_cmaq.csh 133c129 < set GridName = AMBA # 16-character maximum --- > set GridName = 2016_12SE1 # 16-character maximum 135,136c131,132 < set DataPath = /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA < set InMetDir = $DataPath/wrf --- > set DataPath = $CMAQ_DATA > set InMetDir = $DataPath/wrf 142,143d137 < < echo $0": Solange: "$ProgDir 163,164c157,159 < set InMetFiles = ( $InMetDir/wrfout_d03_2012-11-15_00:00:00 \ < $InMetDir/wrfout_d03_2012-11-15_12:00:00 ) --- > set InMetFiles = ( $InMetDir/subset_wrfout_d01_2016-07-01_00:00:00 \ > $InMetDir/subset_wrfout_d01_2016-07-02_00:00:00 \ > $InMetDir/subset_wrfout_d01_2016-07-03_00:00:00 ) 166,167c161,162 < set IfGeo = "T" < set InGeoFile = $InGeoDir/geo_em.d03.nc --- > set IfGeo = "F" > set InGeoFile = $InGeoDir/geo_em_d01.nc 194,195c189,190 < set MCIP_START = 2012-11-15-00:10:00.0000 # [UTC] < set MCIP_END = 2012-11-15-50:00:00.0000 # [UTC] --- > set MCIP_START = 2016-07-02-00:00:00.0000 # [UTC] > set MCIP_END = 2016-07-03-00:00:00.0000 # [UTC] 197c192 < set INTVL = 10 # [min] --- > set INTVL = 60 # [min] 221c216 < set BTRIM = 5 --- > set BTRIM = 0
Crear enlaces de los datos atmosféricos (los geo_em.d0[n].nc, ya están ahí):
ln -s /home/solange.luque/salidas/lluis.fita/estudios/ChemGBsAs/sims/weeks/20121110/control/wrfout_d03_* ./
Ejecutando:
source /opt/load-libs.sh 1 ./run_mcip.csh >& run_mcip.log
Se obtienen los archivos:
ls /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/mcip/AMBA GRIDBDY2D_160702.nc GRIDDESC LUFRAC_CRO_160702.nc METCRO2D_160702.nc METDOT3D_160702.nc SOI_CRO_160702.nc GRIDCRO2D_160702.nc GRIDDOT2D_160702.nc METBDY3D_160702.nc METCRO3D_160702.nc namelist.mcip
Inventarios
Inventarios de emisiones y prepararlos para CMAQ.
Seguimos los pasos de [2]
El directorio de trabajo en hydra es:
WORKDIR = /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/emisiones
Generación GRIDDESC
Generación de los archivos ASCII de información de las proyecciones (GRIDDESC) en las cuáles se encuentran los distintos datos.
inventario
A partir de los datos ya regrillados en los archivos NOXtot.nc
y VOCtot.nc
. Se leen directamente los datos de los archivos y se rellena la información. En Inventarios_1k.griddesc
:
! coords --line: name; type, P-alpha, P-beta, P-gamma, xcent, ycent 'AMBA_emis' 1, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0 ' ' ! end coords. grids: name; xorig, yorig, xcell, ycell, ncols, nrows, nthik 'AMBA_emis_cp' 'AMBA_emis' -58.99 -35.05 0.00899321605 0.00899321605 84 84 1 ' ' ! end grids
dominio
A partir de una salida de WRF y con el programa IOAPI wrfgriddesc
se genera directamante el archivo GRIDDESC
Variables de entorno
setenv PROMPTFLAG no setenv WRFFILE /home/solange.luque/salidas/lluis.fita/estudios/ChemGBsAs/sims/weeks/20121110/control/wrfout_d03_2012-11-13_00:00:00 setenv OUTDESC /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/ChemGBsAs_d03.griddesc setenv CRDNAME ChemGBsAs_d03 setenv CROGRID ChemGBsAs_d03_cpgrd setenv DOTGRID ChemGBsAs_d03_dotgrd setenv STXGRID ChemGBsAs_d03_xstag setenv STYGRID ChemGBsAs_d03_ystag
Ejecutando:
setenv ROOT_IOAPI /home/solange.luque/libraries/ioapi/v3.2-20200828/gnu/Linux2_x86_64/ ${ROOT_IOAPI}/wrfgriddesc >& run_wrfgriddesc.log
El contenido de ChemGBsAs_d03.griddesc
! coords --line: name; type, P-alpha, P-beta, P-gamma, xcent, ycent 'ChemGBsAs_d03' 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_d03_cp' 'ChemGBsAs_d03' -6.9013191E+04 -6.3011015E+04 1.0000000E+03 1.0000000E+03 132 126 1 'ChemGBsAs_d03_do' 'ChemGBsAs_d03' -6.9513191E+04 -6.3511015E+04 1.0000000E+03 1.0000000E+03 133 127 1 'ChemGBsAs_d03_xs' 'ChemGBsAs_d03' -6.9513191E+04 -6.3011015E+04 1.0000000E+03 1.0000000E+03 133 126 1 'ChemGBsAs_d03_ys' 'ChemGBsAs_d03' -6.9013191E+04 -6.3511015E+04 1.0000000E+03 1.0000000E+03 132 127 1 ' ' ! end grids
Especiación emisiones
Los archivos con las emisiones de VOC y NOx para AMBA, se tienen en valores totales. Se tienen que especificar (disgregar) para cada tipo de fuente de emisión.
Para ello se utiliza la script de python nc_to_m3fake.py
del GITcimaCMAQ. Además de las tablas con las características de las múltiples fuentes de AMBA recopiladas en los archivos Estimacion_fi_para_el_AMBA_CMAQ.xlsx
(estas tablas de características, así cómo también las fuentes ya regrilladas, son fruto de trabajos anteriores de Andrea Pineda Rojas, Laura E. Vengas Air Quality-Models and Applications, 2011, doi: 10.5772/18767)
python3 nc_to_m3fake.py NOXtot.nc NOx /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/emisiones/ python3 nc_to_m3fake.py VOCtot.nc VOC /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/emisiones/
De las scripts se generan los archivos que movemos a la nueva carpeta llamada contaminantes
junto con el griddesc del inventario Inventarios_1k.griddesc
:
ls contaminantes/ ACET_AMBA ALD2_AMBA BENZENE_AMBA ETHA_AMBA Inventarios_1k.griddesc ISPD_AMBA NO_AMBA OLE_AMBA TOLU_AMBA XYLMN_AMBA ACROLEIN_AMBA FORM_AMBA IOLE_AMBA NO2_AMBA PRPA_AMBA
Transformación netCDF a IOAPI
La generación de un archivo en formato IOAPI desde datos en ASCII se realiza con el programa m3fake
. Dicho programa requiere la introducción de toda la información de cada fuente de emisión. A fin de agilizar este proceso, se ha creado la script de python m3fake/run_m3fake.py
(disponible desde GITcimaCMAQ) que lee los distintos archivos de las emisiones (ver paso previo), y genera un archivo ASCII el cual se utiliza para correr el m3fake
.
Ejecutando (desde CMAQ-AMBA/prueba/DATA/emisiones/contaminantes
):
python3 /home/solange.luque/MODELOS/CMAQ/tools/m3fake/run_m3fake.py /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/emisiones/contaminantes /home/solange.luque/libraries/ioapi/v3.2-20200828/gnu/Linux2_x86_64/m3fake
El cuál genera el archivo:
args_m3fake.txt
Se corre el m3fake:
export GRIDDESC=Inventarios_1k.griddesc $ROOT_IOAPI/m3fake < args_m3fake.txt
El cuál genera el archivo:
inv_ioapi_AMBA
Interpolación a dominio de simulación
Para interpolar el inventario al dominio de simulación vamos a trabajar en:
WORKDIR = /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/emisiones/interpolacion
Necesitamos acá el griddesc del dominio de simulación. Lo podemos linkear:
ln -s /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/ChemGBsAs_d03.griddesc ChemGBsAs_d03.griddesc
Necesitamos también el inventario en IOAPI que acabamos de crear:
ln -s /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/emisiones/contaminantes/inv_ioapi_AMBA inv_1k
Variables de entorno:
setenv GRIDDESC ChemGBsAs_d03.griddesc setenv SCALEFAC 1.0
Ahora queda correr el script de python que genera los argumentos para correr m3cple
(Si quisieramos cambiarle el nombre a los ficheros hay que modificarlo ahí. En el script o a mano en el .txt, es lo mismo)
python3 /home/solange.luque/MODELOS/CMAQ/tools/run_m3cple.py serv
Esto genera el fichero IOAPI:
inv_1k_r
C.I. y C.C. químicas
Condiciones de contorno e iniciales para la química atmosférica
El directorio de trabajo en hydra es:
WORKDIR = /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/icbc
Como un primer acercamiento, vamos a usar de condiciones de contorno e iniciales los perfiles verticales que vienen por default con CMAQ. Los linkeamos acá:
ln -s /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/PREP/bcon/src/profile/avprofile_* .
Deberíamos tener:
ls avprofile_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv avprofile_saprc07tc_ae6_aq_derived_from_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv avprofile_racm_ae6_aq_derived_from_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv avprofile_saprc07tic_ae7i_aq_derived_from_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv
Cada uno de estos está calculado usando diferentes mecanismos. Debiéramos elegir uno, que tiene que coincidir con la especiación / mecanismo de las emisiones propias.
Se tiene que transformar formato IOAPI utilizando las herramientas icon
(como en [3]) y bcon
(como en [4])
Empecemos por las condiciones iniciales. La carpeta de trabajo es:
cd /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/PREP/icon/scripts
Hay que modificar el script run_icon.csh
. Para eso copiamos la versión vieja y modificamos. Si queremos cambiar el perfil que usamos (para usar otro mecanismo), es acá también. Por ahora lo dejé así con cb6r3m_ae7
.
cp run_icon.csh run_icon.csh.old diff run_icon.csh run_icon.csh.old 32,33c32,33 < set APPL = AMBA #> Application Name < set ICTYPE = profile #> Initial conditions type [profile|regrid] --- > set APPL = 2016_12SE1 #> Application Name > set ICTYPE = regrid #> Initial conditions type [profile|regrid] 41c41 < setenv GRID_NAME ChemGBsAs_d03_cp #> check GRIDDESC file for GRID_NAME options --- > setenv GRID_NAME SE53BENCH #> check GRIDDESC file for GRID_NAME options 43c43 < setenv GRIDDESC /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/ChemGBsAs_d03.griddesc --- > setenv GRIDDESC /work/MOD3DATA/SE53BENCH/met/mcip/GRIDDESC 88c88 < set DATE = "2012-10-11" --- > set DATE = "2016-07-01" 104c104 < setenv MET_CRO_3D_FIN /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/mcip/AMBA/METCRO3D_160702.nc --- > setenv MET_CRO_3D_FIN /work/MOD3DATA/SE53BENCH/met/mcip/AMBA/METCRO3D_${YYMMDD}.nc 126d125 <
Y ahora ejecutamos:
./run_icon.csh |& tee run_icon.log
Esto genera el fichero:
/home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/data/icon/ICON_v54_AMBA_profile_20121011
Ahora a las condiciones de borde. Hacemos lo mismo: Nos vamos a la carpeta de bcon y copiamos el run_bcon.csh
.
cd /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/PREP/bcon/scripts cp run_bcon.csh run_bcon.csh.old
Ahora lo modificamos. Acá también si queremos cambiar el perfil que usamos (para usar otro mecanismo), hay que cambiarlo. Por ahora lo dejé así con cb6r3m_ae7
.
diff run_bcon.csh run_bcon.csh.old 32,33c32,33 < set APPL = AMBA #> Application Name < set BCTYPE = profile #> Boundary condition type [profile|regrid] --- > set APPL = 2016_12SE1 #> Application Name > set BCTYPE = regrid #> Boundary condition type [profile|regrid] 41c41 < setenv GRID_NAME ChemGBsAs_d03_cp #> check GRIDDESC file for GRID_NAME options --- > setenv GRID_NAME SE53BENCH #> check GRIDDESC file for GRID_NAME options 43c43 < setenv GRIDDESC /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/ChemGBsAs_d03.griddesc --- > setenv GRIDDESC /work/MOD3DATA/SE53BENCH/met/mcip/GRIDDESC 88c88 < set DATE = "2012-10-11" --- > set DATE = "2016-07-01" 105c105 < setenv MET_BDY_3D_FIN /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/mcip/AMBA/METBDY3D_160702.nc --- > setenv MET_BDY_3D_FIN /work/MOD3DATA/SE53BENCH/met/mcip/METBDY3D_${YYMMDD}.nc
Ahora ejecutamos.
./run_bcon.csh |& tee run_bcon.log
Esto crea el fichero:
/home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/data/bcon/BCON_v54_AMBA_profile_20121011
Configuración CMAQ
Configurar CMAQ para determinar opciones de química y física.
Primero creamos la carpeta AMBA
:
mkdir /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/data/AMBA
En esa carpeta vamos a linkear los inputs.
ln -s ~/estudios/CMAQ-AMBA/prueba/DATA/icbc icbc ln -s ~/estudios/CMAQ-AMBA/prueba/DATA/mcip mcip ln -s ~/estudios/CMAQ-AMBA/prueba/DATA/wrf wrf
Creamos una carpeta para las emisiones:
mkdir emis cd emis mkdir gridded_area cd gridded_area mkdir gridded
Linkeamos el inventario ahí:
ln -s /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/emisiones/interpolacion/inv_1k_r /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/data/AMBA/emis/gridded_area/gridded/gridded_AMBA
Primero hay que editar bldit_cctm.csh
con las opciones que querramos. Esto está acá:
cd /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project cp bldit_cctm.csh bldit_cctm.csh.old diff bldit_cctm.csh bldit_cctm.csh.old
Ahora hay que editar los paths de los inputs. Esto está definido en el .csh que se corre con el modelo. Para eso nos copiamos primero uno de referencia y lo vamos a modificar. Esto está en:
cd /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/CCTM/scripts cp run_cctm_Bench_2016_12SE1.csh run_AMBA.csh
Simulado CMAQ
Simular CMAQ