Run a one-hour CCTM based on previous hours from the same day

Hi all,

If I have a CCTM_CONC file for 0:00 to 12:00 on one day, and I’d like to run the subsequent one-hour simulation based on this file. How to set the run_cctm.csh? I have made the following adjustments and commented out the section responsible for removing previous output files. But I’m not entirely confident about the settings for the initial files (use today or yesterday?). And are there any other parts I need to adjust?

setenv NEW_START FALSE #> Set to FALSE for model restart
set START_DATE = “2022-12-27” #> beginning date (July 1, 2016)
set END_DATE = “2022-12-27” #> ending date (July 1, 2016)

#> Set Timestepping Parameters
set STTIME = 130000 #> beginning GMT time (HHMMSS)
set NSTEPS = 010000 #> time duration (HHMMSS) for this run
set TSTEP = 010000 #> output time step interval (HHMMSS)

#> Initial conditions
if ($NEW_START == true || $NEW_START == TRUE ) then
setenv ICFILE ICON_v54_2022_12US1_profile_20221226
setenv INIT_MEDC_1 notused
set ICpath = $OUTDIR

Could you give me some advice? Thanks for your help!

The CMAQ run script is set up so that the first model execution begins on START_DATE (which gets converted to STDATE in I/O API format) at STTIME, and the last model execution begins on END_DATE at STTIME, and each execution is NSTEPS long (24 hours, or 240000).
This is for historical reasons and for convenience of preparing input files of a manageable size. In principle a single model execution can simulate a much (much) longer period, extending multiple years.
If you have run the model for 12 hours, ending at 120000 on 2022-12-27, and written a CGRID file at that time, and you wish to restart the model from there, then

set START_DATE=2022-12-27
set STTIME = 120000

You will also need to ensue that ICFILE and INIT_MEDC [if being used] are set correctly to point to files that exist and have data for 2022-12-27 at 12:00:00.

Hi Chris,

I appreciate your guidance!

But when I try to run the cctm for the first 12 hours, an error related to OMI data occurs. Could you help me with that?

ERROR: input file not found: OMI
*** ERROR ABORT in subroutine O3TOTCOL on PE 033
Error opening OMI
PM3EXIT: DTBUF 0:00:00 Jan. 6, 2023
Date and time 0:00:00 Jan. 6, 2023 (2023006:000000)

The error message is telling you the file is not found, so you should look at the name of the file it is looking for and see if you can figure out whether there is a mistake in the file name or whether you are missing a file.

Here, the filename should be OMI_1979_to_2019.dat, which contains data from the Ozone Monitoring Instrument – a satellite product that did not exist in 1927.

Apologies for the oversight. Thank you for catching that mistake.

Hi Chris,

There is still one issue regarding this restart method when running the model:

 *** ERROR ABORT in subroutine soilinp_setup on PE 018
 Cannot use BEIS_SOILINP file; found date       0.00  expecting ***,

I am using the BEIS to generate biogenic emissions, and I have changed the related settings to the following ones. Among these adjustments, the BEIS_SOILINP has been changed from “{YESTERDAY}" to "{YYYYMMDD}” to utilize the first 12 hours as the initial files. Could you tell me why I cannot use the BEIS_SOILINP file in the output path?

#> In-line biogenic emissions configuration
if ( CTM_BIOGEMIS_BE == 'Y' ) then set IN_BEISpath = {INPDIR}/surface
setenv GSPRO $BLD/gspro_biogenics.txt
setenv BEIS_NORM_EMIS $IN_BEISpath/b3grd.smoke30_beis361_beld5.12US1.ncf
#> Biogenic NO soil input file; ignore if NEW_START = TRUE

That is odd. And in trying to reproduce your problem I’m encountering a different issue.
To help us debug this, please specify:
What version of CMAQ are you using?
What deposition model (m3dry or stage) are you using?
What is the setting of CTM_ABFLUX?

The CMAQ version is 5.4;
The DepMod is m3dry;
I set CTM_ABFLUX to N, so I didn’t encounter issue related to it.

The model runs smoothly when the STIME=00 and NSTEPS=24.

This procedure worked for me.
0. Make sure there are no files in your output directory.

  1. set NSTEPS = 120000
  2. Execute the model.
  3. Rename the BSOILOUT file, perhaps by appending _1200 to the date stamp.
  5. In the else block for CLOBBER_DATA, comment out “deleting file” and other echo statements, as well as the exit 1 statement.
  6. move or delete the log files from the just-completed run.
  7. setenv NEW_START FALSE
  8. set STTIME = 120000
  9. In the NEW_START = FALSE block of the run script, setenv ICFILE CCTM_CGRID_${CTM_APPL}
  10. Change the setting of BEIS_SOILINP to point to whatever you renamed the BSOILOUT file in step 2, perhaps CCTM_BSOILOUT_${CTM_APPL}
  11. Execute the model.

Hi Chris,

Thank you for your thorough instructions. I followed them step by step, but I still encountered errors related to BSOILOUT. I run one hour rather than 12 hours for test, and I have attached my run.csh and log files. I’ve tried, but I’m still unable to resolve the issue. Could you provide further assistance?
run_cctm_2023_12US1_EQUATES.txt (38.5 KB)
log.txt (17.6 KB)

It works after I delete the just-generated file. Thanks again for your time!

Hi Chirs,

I conducted a similar case using CMAQ DDM3D. In addition to following the instructions you provided, I changed the settings of S_ICfile to the correct restart file of the same day.

However, a new error has occurred. I noticed that the number of variables in the CCTM_ASENS file should be 216. However, when I use the results from the first 1 hour of the same day as the restart file, it’s showing 220 vs. 216.

 *** ERROR ABORT in subroutine OPASENS on PE 005
 Number of variables don't match file:    220   216

Since this seems to be a follow-up problem, I’m replying here directly. If this causes any inconvenience, I can start a new thread. Thank you for your understanding and assistance!

The ASENS files are analogous to ACONC files. Instead I believe you want to use the analog of CGRID files, which are named SENGRID.