Hi teachers,
I ran a one-month simulation using CMAQ. My MCIP output and the emissions files processed and merged from different sources using SMOKE (each source has only one output file with 745 time steps) all correspond to the full month. In the CCTM script, I directly set NSTEPS to 745 (representing 31 days) and ran the model once to get the results.
Is this approach valid? Would the output be significantly different compared to setting NSTEPS to 24 and running the model day by day, reading daily emission files sequentially?
Here are parts of my CCTM script:
Presuming you did the merges correctly, it should (if anything) be more valid than running a full month of single-day runs and then merging the result: doing it all as one run ensures that you do not have any artifacts coming from (and you have avoided the complexities of) the restart procedure.
Being able to do whole-month, whole-season, or even whole-year runs was one of the original software-systems requirements for the CMAQ system; that seems to have been “torn up” by a combination of (a) disk-space requirements; (b) foundation-file database-programmers who insist on “doing things their way”; and (c) analysis&visualization programmers who insist in only doing “easy” in-memory algorithms (again contrary to the original requirements). Note that none of the M3Tools analysis programs has any difficulty working with “long” files; in fact, I have used them successfully on (7TB) 33-year hydrology-model runs. For what it’s worth, none of these DB nor A&V people even take advantage of the I/O API File-Set File Lists feature.
Thank you very much for the insights. It’s truly impressive to hear about your experience with long runs and how M3Tools can handle them so effectively. I really appreciate your time and guidance.
However, I’m not sure if there might have been a misunderstanding on my part — perhaps I didn’t explain it clearly.
What I meant by “single-day runs” is that in the CCTM script, the START_DATE and END_DATE are still set to the same day, but I set NSTEPS to 24 hours instead of 720 (which would correspond to a full month). The idea is that the model will loop through the emission files in the specified path, with one file per day, but still as part of a single run — at least that’s what I assume (I haven’t tested it yet).
Since I’m still not very familiar with the source code, I wanted to ask: in this case, would it be functionally equivalent to combining all time steps into a single emissions file and setting NSTEPS to 720? After all, I’m not running the CCTM script multiple times — it’s still a single run.
I was talking about the CCTM itself, not the scripting; sorry if I did not make that clear.
As far as the model itself is concerned, the only issue would be with the repeated single-day runs, whether there are bugs or deficiencies in the process of writing restart data for day N and then reading it to start day N+1.
(Note that this actually is an issue with the DDM version of the model, where the sensitivity state variables are double precision whereas (iirc) the restart-file variables are single precision, so that a restart from day N to day N+1 involves a loss of precision.)
Thank you so much for sharing your valuable insights. I truly learned a lot from your perspective and greatly appreciate the time and thought you put into the discussion. I hope I’ll have the opportunity to learn from you again in the future.