CCTM - dynamic boundary condition

Good morning CMAQ users:

I am trying to run CCTM for multiple days. In the script run_cctm.csh the boundary condition is “reset” after completing the simulation of each day, by directing to the prepared BC file in the loop. Is there an option that I can avoid this “reset”, so that the boundary condition at the beginning of each day will be actually extracted from the concentrations at the end of each previous day.


Hi Huan,

There is a while loop in the CMAQ script for version 5.2.1 and above that increments the date.

while ($TODAYJ <= $STOP_DAY )  #>Compare dates in terms of YYYYJJJ
end  #Loop to the next Simulation Day

Within the above while loop, there is a check to see if the run is a NEW_START


At line 278 there is an IF ELSE ENDIF statement that checks to see if NEW_START is true or false.

  if ($NEW_START == true || $NEW_START == TRUE ) then
     setenv ICFILE
     setenv INIT_MEDC_1 notused
     setenv INITIAL_RUN Y #related to restart soil information file
     set ICpath = $OUTDIR
     setenv INITIAL_RUN N

At the end of the first day at line 668, this environment variable is set to false, so that the second day will be considered a “restart”, and so the second day will use the CCTM_CGRID file from the previous day’s run as the initial condition for it’s run.

  #> The next simulation day will, by definition, be a restart
  setenv NEW_START false

Are you able to run the second day successfully? Perhaps you are using an older version of CMAQ?

I prepared BC file before running CCTM and using “profile” option. Thus, it is an time-independent boundary condition. I don’t want the BC file to be reset for each loop.
If that is not possible to be approach, I have to: 1). run BCON of day 1, using “profile” option; 2). run CCTM of day 1; 3). extract boundary condition from CCTM output of day 1; 4). run BCON of day 2, using “m3conc”; 5). run CCTM of day 2…
and I have more than 7 days to simulate



The BC file doesn’t get reset for each loop, only the IC file.

The BC file is set using this line.
#> Boundary conditions

If you want the script to use the same file for every day of the run, the remove the date stamp.

I prepared BC file with “profile” option, and I realized it is exactly the same, no matter which date I set.

am I able to use the boundary condition extracted from CCTM result of each previous day, instead of the prepared BC file?