CMAQ/pruebaAMBA

De Wikicima
Saltar a: navegación, buscar

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.

|- CMAQ vertical prof bcon NO.png |- CMAQ vertical prof bcon NO2.png -| |- CMAQ vertical prof bcon O3.png |- CMAQ vertical prof bcon PCVOC.png -|

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