I am trying to run CMAQ 5.5.0.3 to process some stack sources that were created using the mwdss representative date option in SMOKE 5.1. I have included detailed information for the ptnonipm sector. The CCTM script (attached) has been modified to use alternate smk_merge_dates (attached) and the STK_EM_SYM_DATE_001 control variable has been set to F (as per section 6.9 of the user manual). The output from the CCTM script and error log are also attached. The CCTM script seems to be able to find and open the smk_merge_dates file, find the line for December 22, 1979 and realize that this file does not exist but then it doesn’t seem to know it should really be looking for the December 8, 1979 file, which does exist (and has the correct header).
Any suggestions on how to get at this problem would be greatly appreciated.
Cheers,
David
p.s. Also…It isn’t clear to me how the CCTM script knows this file was created using the mwdss option. This is also important as I have prepared some other sectors using this option that do not fit in to the NEI modelling categories.
This part of your run script reads the smk_merge_dates file and sets variables for different representative day formats corresponding to the current model date (which is represented by the variable YYYYMMDD).
# #> Determine Representative Emission Days
set EMDATES = /home/my_software/SMOKE_5.1/SMOKE-ADMF/smoke4.8.1/scripts/smk_dates/1980/smk_merge_dates_${YYYYMM}.txt
set intable = `grep "^${YYYYMMDD}" $EMDATES`
set Date = `echo $intable[1] | cut -d, -f1`
set aveday_N = `echo $intable[2] | cut -d, -f1`
set aveday_Y = `echo $intable[3] | cut -d, -f1`
set mwdss_N = `echo $intable[4] | cut -d, -f1`
set mwdss_Y = `echo $intable[5] | cut -d, -f1`
set week_N = `echo $intable[6] | cut -d, -f1`
set week_Y = `echo $intable[7] | cut -d, -f1`
set all = `echo $intable[8] | cut -d, -f1`
echo
echo emdates: $intable
echo
The smk_merge_dates file does appear to be read in correctly because the result of the echo can be seen in your CCTM_dialogue.txt log file. You can use these variables later in your run script when you set the names of the emission files to point to the right file depending on what type of representative date it uses.
In your current run script, the ptnonipm input file is set like this: setenv STK_EMIS_001 $INPDIR/ptnonipm/inln_mole_ptnonipm_${YYYYMMDD}_${STKCASEE}.ncf
If your ptnonipm input files use mwdss for representative dates, it should be either: setenv STK_EMIS_001 $INPDIR/ptnonipm/inln_mole_ptnonipm_${mwdss_N}_${STKCASEE}.ncf
or setenv STK_EMIS_001 $INPDIR/ptnonipm/inln_mole_ptnonipm_${mwdss_Y}_${STKCASEE}.ncf
Usually the N or Y in mwdss_N or mwdss_Y refers to whether or not your emission processing considered holidays as a special case. However, your smk_merge_date file seems to have all the same values for mwdss_N or mwdss_Y so it would not matter in this specific case which one of those you used.
Similar would apply to setting the names of the other emission inputs. If an input uses day-specific files, then you can keep the variable ${YYYYMMDD} to provide the date on the file name. If not, then you should update the date part of the file name to the correct representative date variable from the run script code block above.