CMAQ/pruebaAMBA
(→mcip) |
(→mcip) |
||
Línea 52: | Línea 52: | ||
< set InMetFiles = ( $InMetDir/wrfout_d03_2012-11-14_12:00:00 \ |
< set InMetFiles = ( $InMetDir/wrfout_d03_2012-11-14_12:00:00 \ |
||
< $InMetDir/wrfout_d03_2012-11-15_00:00:00 \ |
< $InMetDir/wrfout_d03_2012-11-15_00:00:00 \ |
||
− | < $InMetDir/wrfout_d03_2012-11-15_12:00:00 \ |
+ | < $InMetDir/wrfout_d03_2012-11-15_12:00:00 \ |
< $InMetDir/wrfout_d03_2012-11-16_00:00:00 ) |
< $InMetDir/wrfout_d03_2012-11-16_00:00:00 ) |
||
--- |
--- |
Revisión de 15:55 30 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,128c125 < # config_cmaq.csh modifies $CMAQ_HOME < set val = $CMAQ_HOME < source $CMAQ_HOME/config_cmaq.csh intel < set CMAQ_HOME = $val --- > source $CMAQ_HOME/config_cmaq.csh 129a127,129 > set APPL = 160702 > set CoordName = LamCon_40N_97W # 16-character maximum > set GridName = 2016_12SE1 # 16-character maximum 131,136c131,132 < set APPL = AMBA < set CoordName = ChemGBsAs_d03 # 16-character maximum < set GridName = ChemGBsAs_d03_cp # 16-character maximum < < set DataPath = /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA < set InMetDir = $DataPath/wrf --- > set DataPath = $CMAQ_DATA > set InMetDir = $DataPath/wrf 138c134 < set OutDir = $DataPath/mcip/$APPL --- > set OutDir = $DataPath/mcip/$GridName 142,143d137 < < 163,166c157,159 < set InMetFiles = ( $InMetDir/wrfout_d03_2012-11-14_12:00:00 \ < $InMetDir/wrfout_d03_2012-11-15_00:00:00 \ < $InMetDir/wrfout_d03_2012-11-15_12:00:00 \ < $InMetDir/wrfout_d03_2012-11-16_00: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 ) 168,169c161,162 < set IfGeo = "T" < set InGeoFile = $InGeoDir/geo_em.d03.nc --- > set IfGeo = "F" > set InGeoFile = $InGeoDir/geo_em_d01.nc 196,197c189,190 < set MCIP_START = 2012-11-15-00:00:00.0000 # [UTC] < set MCIP_END = 2012-11-16-00: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] 223c216 < set BTRIM = 5 --- > set BTRIM = 0 263c256 < set WRF_LC_REF_LAT = -999.0 --- > set WRF_LC_REF_LAT = 40.0
NOTA: El intervalo de salida de mcip tiene que ser el mismo que el del inventario porque sino busca con la frecuencia de mcip los datos en el inventario y no los encuentra. Siento que no debiera ser así, pero no funcionaba de otra forma. Otra cosa: La fecha de inicio y final de mcip también tiene que coincidir con la del inventario. Como el inventario empieza a las 00:00 no queda otra que mcip arranque desde ahí también. Para eso, va a necesitar el time step de las 23 del dia anterior así que si o si hay que agregar el fichero de wrf del dia anterior.
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_* /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/wrf/
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_AMBA.nc GRIDDESC LUFRAC_CRO_AMBA.nc METCRO2D_AMBA.nc METDOT3D_AMBA.nc SOI_CRO_AMBA.nc GRIDCRO2D_AMBA.nc GRIDDOT2D_AMBA.nc METBDY3D_AMBA.nc METCRO3D_AMBA.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
. NO HACE FALTA. VAMOS A USAR DIRECTAMENTE EL QUE SALE DE MCIP
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 ETHY_AMBA Inventarios_1k.griddesc ISPD_AMBA NO2_AMBA OLE_AMBA PRPA_AMBA TOL_AMBA XYLMN_AMBA ACROLEIN_AMBA ALDX_AMBA BUTADIENE13_AMBA ETH_AMBA FORM_AMBA IOLE_AMBA KET_AMBA NO_AMBA PAR_AMBA TOLU_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 ~/estudios/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/mcip/AMBA mcip.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 mcip.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 archivo ASCII
args_m3cple.txt
Ahora sí, se corre finalmente m3cple
.
$ROOT_IOAPI/m3cple < args_m3cple.txt
Esto genera el fichero IOAPI:
gridr_inv_1k
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:
[1] avprofile_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv [2] avprofile_saprc07tc_ae6_aq_derived_from_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv [3] avprofile_racm_ae6_aq_derived_from_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv [4] 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. Mirar figuras (número coincide con nombre de archivo)
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 < 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/mcip/AMBA/GRIDDESC --- > setenv GRIDDESC /work/MOD3DATA/SE53BENCH/met/mcip/GRIDDESC 88c88 < set DATE = "2012-11-15" --- > set DATE = "2016-07-01" 104c104 < setenv MET_CRO_3D_FIN /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/mcip/AMBA/METCRO3D_AMBA.nc --- > setenv MET_CRO_3D_FIN /work/MOD3DATA/SE53BENCH/met/mcip/METCRO3D_${YYMMDD}.nc
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_20121115
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/mcip/AMBA/GRIDDESC --- > setenv GRIDDESC /work/MOD3DATA/SE53BENCH/met/mcip/GRIDDESC 88c88 < set DATE = "2012-11-15" --- > set DATE = "2016-07-01" 105c105 < setenv MET_BDY_3D_FIN /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/mcip/AMBA/METBDY3D_AMBA.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_20121115
Ahora copiamos estos dos ficheros en el directorio de trabajo
cp /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/data/bcon/BCON_v54_AMBA_profile_20121115 /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/icbc/BCON_v54_AMBA_profile_20121115 cp /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/data/icon/ICON_v54_AMBA_profile_20121115 /home/solange.luque/estudios/CMAQ-AMBA/prueba/DATA/icbc/ICON_v54_AMBA_profile_20121115
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 ln -s ~/estudios/CMAQ-AMBA/prueba/DATA/emisiones/ChemGBsAs_d03.griddesc GRIDDESC
</pre>
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/gridr_inv_1k /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/CCTM/scripts 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 diff run_cctm_Bench_2016_12SE1.csh run_AMBA.csh 38,39c38,39 < set MECH = cb6r5_ae7_aq #> Mechanism ID < set APPL = Bench_2016_12SE1 #> Application Name (e.g. Gridname) --- > set MECH = cb6r3_ae7_aq #> Mechanism ID > set APPL = AMBA #> Application Name (e.g. Gridname) 57c57 < setenv INPDIR ${CMAQ_DATA}/2016_12SE1 #> Input Directory --- > setenv INPDIR ${CMAQ_DATA}/AMBA #> Input Directory 75,76c75,76 < set START_DATE = "2016-07-01" #> beginning date (July 1, 2016) < set END_DATE = "2016-07-01" #> ending date (July 1, 2016) --- > set START_DATE = "2012-11-15" #> beginning date (July 1, 2016) > set END_DATE = "2012-11-15" #> ending date (July 1, 2016) 79c79 < set STTIME = 000000 #> beginning GMT time (HHMMSS) --- > set STTIME = 001000 #> beginning GMT time (HHMMSS) 121c121 < setenv GRID_NAME 2016_12SE1 #> check GRIDDESC file for GRID_NAME options --- > setenv GRID_NAME ChemGBsAs_d03_cp #> check GRIDDESC file for GRID_NAME options 150c150 < setenv CTM_OCEAN_CHEM Y #> Flag for ocean halgoen chemistry and sea spray aerosol emissions [ default: Y ] --- > setenv CTM_OCEAN_CHEM N #> Flag for ocean halgoen chemistry and sea spray aerosol emissions [ default: Y ] 158c158 < setenv CTM_ABFLUX Y #> ammonia bi-directional flux for in-line deposition --- > setenv CTM_ABFLUX N #> ammonia bi-directional flux for in-line deposition 169c169 < setenv CTM_BIOGEMIS_BE Y #> calculate in-line biogenic emissions with BEIS [ default: N ] --- > setenv CTM_BIOGEMIS_BE N #> calculate in-line biogenic emissions with BEIS [ default: N ] 233c233 < set METpath = $INPDIR/met/mcipv5.0 #> meteorology input directory --- > set METpath = $INPDIR/mcip/AMBA #> meteorology input directory 283c283 < setenv ICFILE ICON_20160630_bench.nc --- > setenv ICFILE ICON_v54_AMBA_profile_20121115 292c292 < set BCFILE = BCON_${YYYYMMDD}_bench.nc --- > set BCFILE = BCON_v54_AMBA_profile_20121115 304,312c304,312 < setenv GRID_BDY_2D $METpath/GRIDBDY2D_${YYMMDD}.nc # GRID files are static, not day-specific < setenv GRID_CRO_2D $METpath/GRIDCRO2D_${YYMMDD}.nc < setenv GRID_CRO_3D $METpath/GRIDCRO3D_${YYMMDD}.nc < setenv GRID_DOT_2D $METpath/GRIDDOT2D_${YYMMDD}.nc < setenv MET_CRO_2D $METpath/METCRO2D_${YYMMDD}.nc < setenv MET_CRO_3D $METpath/METCRO3D_${YYMMDD}.nc < setenv MET_DOT_3D $METpath/METDOT3D_${YYMMDD}.nc < setenv MET_BDY_3D $METpath/METBDY3D_${YYMMDD}.nc < setenv LUFRAC_CRO $METpath/LUFRAC_CRO_${YYMMDD}.nc --- > setenv GRID_BDY_2D $METpath/GRIDBDY2D_AMBA.nc # GRID files are static, not day-specific > setenv GRID_CRO_2D $METpath/GRIDCRO2D_AMBA.nc > setenv GRID_CRO_3D $METpath/GRIDCRO3D_AMBA.nc > setenv GRID_DOT_2D $METpath/GRIDDOT2D_AMBA.nc > setenv MET_CRO_2D $METpath/METCRO2D_AMBA.nc > setenv MET_CRO_3D $METpath/METCRO3D_AMBA.nc > setenv MET_DOT_3D $METpath/METDOT3D_AMBA.nc > setenv MET_BDY_3D $METpath/METBDY3D_AMBA.nc > setenv LUFRAC_CRO $METpath/LUFRAC_CRO_AMBA.nc 344c344 < setenv CMAQ_MASKS $SZpath/OCEAN_${MM}_L3m_MC_CHL_chlor_a_SE53BENCH.nc #> horizontal grid-dependent ocean file --- > #setenv CMAQ_MASKS $SZpath/OCEAN_${MM}_L3m_MC_CHL_chlor_a_SE53BENCH.nc #> horizontal grid-dependent ocean file 347,348c347,348 < setenv N_EMIS_GR 2 < set EMISfile = emis_mole_all_${YYYYMMDD}_cb6_bench.nc --- > setenv N_EMIS_GR 1 > set EMISfile = gridded_AMBA 353,356c353,356 < set EMISfile = emis_mole_rwc_${YYYYMMDD}_12US1_cmaq_cb6_2016ff_16j.nc < setenv GR_EMIS_002 ${EMISpath2}/${EMISfile} < setenv GR_EMIS_LAB_002 GR_RES_FIRES < setenv GR_EM_SYM_DATE_002 F # To change default behaviour please see Users Guide for EMIS_SYM_DATE --- > #set EMISfile = emis_mole_rwc_${YYYYMMDD}_12US1_cmaq_cb6_2016ff_16j.nc > #setenv GR_EMIS_002 ${EMISpath2}/${EMISfile} > #setenv GR_EMIS_LAB_002 GR_RES_FIRES > #setenv GR_EM_SYM_DATE_002 F # To change default behaviour please see Users Guide for EMIS_SYM_DATE 359c359 < setenv N_EMIS_PT 8 #> Number of elevated source groups --- > #setenv N_EMIS_PT 8 #> Number of elevated source groups 361,362c361,362 < set STKCASEG = 12US1_2016ff_16j # Stack Group Version Label < set STKCASEE = 12US1_cmaq_cb6_2016ff_16j # Stack Emission Version Label --- > #set STKCASEG = 12US1_2016ff_16j # Stack Group Version Label > #set STKCASEE = 12US1_cmaq_cb6_2016ff_16j # Stack Emission Version Label 365,372c365,372 < setenv STK_GRPS_001 $IN_PTpath/stack_groups/stack_groups_ptnonipm_${STKCASEG}.nc < setenv STK_GRPS_002 $IN_PTpath/stack_groups/stack_groups_ptegu_${STKCASEG}.nc < setenv STK_GRPS_003 $IN_PTpath/stack_groups/stack_groups_othpt_${STKCASEG}.nc < setenv STK_GRPS_004 $IN_PTpath/stack_groups/stack_groups_ptagfire_${YYYYMMDD}_${STKCASEG}.nc < setenv STK_GRPS_005 $IN_PTpath/stack_groups/stack_groups_ptfire_${YYYYMMDD}_${STKCASEG}.nc < setenv STK_GRPS_006 $IN_PTpath/stack_groups/stack_groups_ptfire_othna_${YYYYMMDD}_${STKCASEG}.nc < setenv STK_GRPS_007 $IN_PTpath/stack_groups/stack_groups_pt_oilgas_${STKCASEG}.nc < setenv STK_GRPS_008 $IN_PTpath/stack_groups/stack_groups_cmv_c3_${STKCASEG}.nc --- > #setenv STK_GRPS_001 $IN_PTpath/stack_groups/stack_groups_ptnonipm_${STKCASEG}.nc > #setenv STK_GRPS_002 $IN_PTpath/stack_groups/stack_groups_ptegu_${STKCASEG}.nc > #setenv STK_GRPS_003 $IN_PTpath/stack_groups/stack_groups_othpt_${STKCASEG}.nc > #setenv STK_GRPS_004 $IN_PTpath/stack_groups/stack_groups_ptagfire_${YYYYMMDD}_${STKCASEG}.nc > #setenv STK_GRPS_005 $IN_PTpath/stack_groups/stack_groups_ptfire_${YYYYMMDD}_${STKCASEG}.nc > #setenv STK_GRPS_006 $IN_PTpath/stack_groups/stack_groups_ptfire_othna_${YYYYMMDD}_${STKCASEG}.nc > #setenv STK_GRPS_007 $IN_PTpath/stack_groups/stack_groups_pt_oilgas_${STKCASEG}.nc > #setenv STK_GRPS_008 $IN_PTpath/stack_groups/stack_groups_cmv_c3_${STKCASEG}.nc 375,382c375,382 < setenv STK_EMIS_001 $IN_PTpath/ptnonipm/inln_mole_ptnonipm_${YYYYMMDD}_${STKCASEE}.nc < setenv STK_EMIS_002 $IN_PTpath/ptegu/inln_mole_ptegu_${YYYYMMDD}_${STKCASEE}.nc < setenv STK_EMIS_003 $IN_PTpath/othpt/inln_mole_othpt_${YYYYMMDD}_${STKCASEE}.nc < setenv STK_EMIS_004 $IN_PTpath/ptagfire/inln_mole_ptagfire_${YYYYMMDD}_${STKCASEE}.nc < setenv STK_EMIS_005 $IN_PTpath/ptfire/inln_mole_ptfire_${YYYYMMDD}_${STKCASEE}.nc < setenv STK_EMIS_006 $IN_PTpath/ptfire_othna/inln_mole_ptfire_othna_${YYYYMMDD}_${STKCASEE}.nc < setenv STK_EMIS_007 $IN_PTpath/pt_oilgas/inln_mole_pt_oilgas_${YYYYMMDD}_${STKCASEE}.nc < setenv STK_EMIS_008 $IN_PTpath/cmv_c3/inln_mole_cmv_c3_${YYYYMMDD}_${STKCASEE}.nc --- > #setenv STK_EMIS_001 $IN_PTpath/ptnonipm/inln_mole_ptnonipm_${YYYYMMDD}_${STKCASEE}.nc > #setenv STK_EMIS_002 $IN_PTpath/ptegu/inln_mole_ptegu_${YYYYMMDD}_${STKCASEE}.nc > #setenv STK_EMIS_003 $IN_PTpath/othpt/inln_mole_othpt_${YYYYMMDD}_${STKCASEE}.nc > #setenv STK_EMIS_004 $IN_PTpath/ptagfire/inln_mole_ptagfire_${YYYYMMDD}_${STKCASEE}.nc > #setenv STK_EMIS_005 $IN_PTpath/ptfire/inln_mole_ptfire_${YYYYMMDD}_${STKCASEE}.nc > #setenv STK_EMIS_006 $IN_PTpath/ptfire_othna/inln_mole_ptfire_othna_${YYYYMMDD}_${STKCASEE}.nc > #setenv STK_EMIS_007 $IN_PTpath/pt_oilgas/inln_mole_pt_oilgas_${YYYYMMDD}_${STKCASEE}.nc > #setenv STK_EMIS_008 $IN_PTpath/cmv_c3/inln_mole_cmv_c3_${YYYYMMDD}_${STKCASEE}.nc 385,392c385,392 < setenv STK_EMIS_LAB_001 PT_NONEGU < setenv STK_EMIS_LAB_002 PT_EGU < setenv STK_EMIS_LAB_003 PT_OTHER < setenv STK_EMIS_LAB_004 PT_AGFIRES < setenv STK_EMIS_LAB_005 PT_FIRES < setenv STK_EMIS_LAB_006 PT_OTHFIRES < setenv STK_EMIS_LAB_007 PT_OILGAS < setenv STK_EMIS_LAB_008 PT_CMV --- > #setenv STK_EMIS_LAB_001 PT_NONEGU > #setenv STK_EMIS_LAB_002 PT_EGU > #setenv STK_EMIS_LAB_003 PT_OTHER > #setenv STK_EMIS_LAB_004 PT_AGFIRES > #setenv STK_EMIS_LAB_005 PT_FIRES > #setenv STK_EMIS_LAB_006 PT_OTHFIRES > #setenv STK_EMIS_LAB_007 PT_OILGAS > #setenv STK_EMIS_LAB_008 PT_CMV 397,404c397,404 < setenv STK_EM_SYM_DATE_001 T < setenv STK_EM_SYM_DATE_002 T < setenv STK_EM_SYM_DATE_003 T < setenv STK_EM_SYM_DATE_004 T < setenv STK_EM_SYM_DATE_005 T < setenv STK_EM_SYM_DATE_006 T < setenv STK_EM_SYM_DATE_007 T < setenv STK_EM_SYM_DATE_008 T --- > #setenv STK_EM_SYM_DATE_001 T > #setenv STK_EM_SYM_DATE_002 T > #setenv STK_EM_SYM_DATE_003 T > #setenv STK_EM_SYM_DATE_004 T > #setenv STK_EM_SYM_DATE_005 T > #setenv STK_EM_SYM_DATE_006 T > #setenv STK_EM_SYM_DATE_007 T > #setenv STK_EM_SYM_DATE_008 T 444c444 < setenv OCEAN_1 $SZpath/OCEAN_${MM}_L3m_MC_CHL_chlor_a_SE53BENCH.nc #> horizontal grid-dependent ocean file --- > #setenv OCEAN_1 $SZpath/OCEAN_${MM}_L3m_MC_CHL_chlor_a_SE53BENCH.nc #> horizontal grid-dependent ocean file 710c710,711 < ( /usr/bin/time -p mpirun -np $NPROCS $BLD/$EXEC ) |& tee buff_${EXECUTION_ID}.txt --- > # ( /usr/bin/time -p mpirun -np $NPROCS $BLD/$EXEC ) |& tee buff_${EXECUTION_ID}.txt > (mpirun -np $NPROCS $BLD/$EXEC ) |& tee buff_${EXECUTION_ID}.txt
Simulado CMAQ
Ahora sí, solo queda correr el modelo. El directorio de trabajo es
WORKDIR = /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/CCTM/scripts
Para correr en la cola de Hydra necesitamos un script. Nos copiamos uno que ya hay:
cp launch_cctm_intel.pbs launch_cctm_intel_AMBA.pbs
Lo modificamos:
diff launch_cctm_intel.pbs launch_cctm_intel_AMBA.pbs 38c38 < ./run_cctm_Bench_2018_12NE3.csh >& run_Bench_2018-12NE3.log --- > ./run_AMBA.csh >& run_AMBA.log
Hay un par de tablas que necesitamos del mecanismo que estamos usando En este caso cb6r3_ae7_aq). Se pueden encontrar acá,
Las creamos y le copiamos los datos:
nano /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/CCTM/scripts/BLD_CCTM_v54_intel/CSQY_DATA_cb6r3_ae7_aq nano /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/CCTM/scripts/BLD_CCTM_v54_intel/GC_cb6r3_ae7_aq.nml nano /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/CCTM/scripts/BLD_CCTM_v54_intel/AE_cb6r3_ae7_aq.nml nano /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/CCTM/scripts/BLD_CCTM_v54_intel/NR_cb6r3_ae7_aq.nml nano /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/CCTM/scripts/BLD_CCTM_v54_intel/CMAQ_Control_DESID_cb6r3_ae7_aq.nml nano /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/CCTM/scripts/BLD_CCTM_v54_intel/SpecDef_Dep_cb6r3_ae7_aq.txt nano /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/CCTM/scripts/BLD_CCTM_v54_intel/SpecDef_cb6r3_ae7_aq.txt nano /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/CCTM/scripts/BLD_CCTM_v54_intel/mech_cb6r3_ae7_aq.def nano /home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/CCTM/scripts/BLD_CCTM_v54_intel/pa_cb6r3_ae7_aq.ctl
Ahora sí, corremos:
qsub launch_cctm_intel_AMBA.pbs
Si hay algún error, conviene mirar en el log de que nodo está el problema:
grep -i error CTM_LOG*
Nota: Acá hay un problema y es que el GRIDDESC generado por wrfgriddesc no coincide en su xorig e yorig con el generado por mcip. Por lo tanto, tira error. Lo que puedo hacer es usar el de mcip para todo y listo (incluso para regrillar las emisiones).
Nota: Estoy teniendo un error porque en mcip la fecha de inicio es:
"MET_CRO_2D" opened as OLD:READ-ONLY File name "/home/solange.luque/MODELOS/CMAQ/intel/src/CMAQ-master/CMAQ_Project/data/AMBA/mcip/AMBA/METCRO2D_AMBA.nc" File type GRDDED3 Execution ID "mcip" Grid name "ChemGBsAs_d03_cp" Dimensions: 114 rows, 120 cols, 1 lays, 35 vbles NetCDF ID: 327680 opened as READONLY Starting date and time 2012320:001000 (0:10:00 Nov 15, 2012) Timestep 001000 (0:10:00 hh:mm:ss) Maximum current record number 143
El problema es que claramente yo por todos lados estuve poniendo que empezaba el 10 a las 00:00. Tengo que rastrear en que pasos lo hice y recorrer lo que sea necesario.