Fail to generate the ASENS file in CMAQ-DDM V5.4

I am using CMAQv5.4 to run DDM for a simulation but the program fails to generate the ASENS file the log files show the program is done successfully. I am using SAPRC07 and I have only one emission species in sensinput.dat for testing. The ASENS file is created but only has 11k which must be something wrong. Other than that, the simulation seems done successfully, ACONC, CONC and SENGRID are in normal size and the variables in them are reasonable. Looking forward to help.

Best,
K

Thanks for making a new thread.

It is unusual that the program completes and creates a SENGRID files, but not the ASENS files. Does SENGRID have reasonable values?

Another thing to check would be that your GRIDDED_BEIS actually has NO species values in it. Or run a different sensitivity parameter - maybe one to total NO like this (but with proper formatting):

BIE
EMIS
SPECIES
NO

END

Sergey

Yes, I think SENGRID has reasonable values (not infinity or zero). And I had tried different options in seninput.dat, including single species (e.g., NO, SO) and all emissions. All test run come up with the same issue.

I have no idea why you are experiencing this, honestly. The last thing to check would be to see if you are removing the old output files completely and to check that you are writing into a completely clean and empty directory.

Sergey

I found this and seems it solves the problems:

Not sure if it is correct, I tried to use medium memory IOAPI and still got the same error. I tried this modification and now the ASENS file seems successfully generated (regular size).

Hi Sergey,
I have got the same error when I run the latest CMAQ 5.4-HDDM(compiled in September 2023). I have limited the output species, used large IOAPI and online MEGAN.

Here’s my sensinput.dat and the error:
sensinput.txt (424 Bytes)

>>--->> WARNING in subroutine WRITE3
 Variable O3_ENO           not in file:  A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)
 
 >>--->> WARNING in subroutine PWRGRDD on PE 000
 Could not write O3_ENO to file A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)
 
 >>--->> WARNING in subroutine WRITE3
 Variable O3_2EN           not in file:  A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)
 
 >>--->> WARNING in subroutine PWRGRDD on PE 000
 Could not write O3_2EN to file A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)
 
 >>--->> WARNING in subroutine WRITE3
 Variable O3_EVA           not in file:  A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)
 
 >>--->> WARNING in subroutine PWRGRDD on PE 000
 Could not write O3_EVA to file A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)
 
 >>--->> WARNING in subroutine WRITE3
 Variable O3_2EA           not in file:  A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)
 
 >>--->> WARNING in subroutine PWRGRDD on PE 000
 Could not write O3_2EA to file A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)
 
 >>--->> WARNING in subroutine WRITE3
 Variable O3_EVB           not in file:  A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)
 
 >>--->> WARNING in subroutine PWRGRDD on PE 000
 Could not write O3_EVB to file A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)
 
 >>--->> WARNING in subroutine WRITE3
 Variable O3_2EB           not in file:  A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)
 
 >>--->> WARNING in subroutine PWRGRDD on PE 000
 Could not write O3_2EB to file A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)
 
 >>--->> WARNING in subroutine WRITE3
 Variable O3_ENV           not in file:  A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)
 
 >>--->> WARNING in subroutine PWRGRDD on PE 000
 Could not write O3_ENV to file A_SENS_1
 M3WARN:  DTBUF 0:00:00   Sept. 20, 2021(2021263:000000)

And I tried to run CMAQ5.4 HDDM in the former version (compiled in March 2023) and output the normal ASENS file.
image

This looks like you have an previously created file that exists in your output directory and the code is trying to add to it. I would make sure that you are writing to a completely empty output directory as the first test.

Sergey

Hi Sergey,
I tried to specify a new empty output directory but still got the same error.

Please, attach the rest of the log file. Or look for text similar to:

 Could not open A_SENS_1 file for update - try to open new

 Avg Sens File Header Description:
   DDM3D Sensitivity file output
   Averaged over the synchronization time steps

What follows should be the list of variable.

Sergey

Hi, Sergey
Here is the LOG file.
CTM_LOG_000.PRD_process_2_d03_mcip5.0_megan_DDM3D_new_20210920.txt (7.8 MB)

wry2233,

Please try the 5.4+ branch code. From your log file, it is evident that you are not using the latest release.

When you go to the CMAQ github page (GitHub - USEPA/CMAQ: Code for U.S. EPA’s Community Multiscale Air Quality Model (CMAQ) which helps in conducting air quality model simulations), the default branch is called “main.” Click where it says “main” and select “5.4+” towards the bottom of the selection list. Using this code will address your issue.

Sergey

Hi, sergey,I installed CMAQ5.4 and opened DDM in the CCTM module. Strangely, no DDM-related files were generated, only a part of files were generated. What is the matter with this situation


As shown in the comments of the screenshot you posted (“#Additionally requires for CCTM to be compiled for DDM-3D simulations”), DDM-3D needs to be enabled when you compile CCTM, it is not sufficient to only enable CTM_DDM3D in the run script.

Step 7 of the DDM tutorial shows which line in the bldit_cctm.csh script needs to be uncommented to compile CCTM with DDM-3D enabled.

Hello, there is another question I would like to consult. Currently, the error is >>-- >> WARNING in subroutine OPEN3
File not available.

*** ERROR ABORT in subroutine SubhFile_Cell on PE 019
Could not open CMAQ_MASKS
PM3EXIT: date&time specified as 0
Date&time specified as 0

Should the CMAQ_MASKS file be used to mark source emission areas, and what software should be used to create it

If you do not define any region-specific sensitivity parameters in your sensinput.dat control file, you will not need to define a CMAQ_MASKS file in your CCTM run script and you then also should not uncomment any lines referring to CMAQ_MASKS in the &Desid_RegionDef section of CMAQ_Control_DESID.nml

If you do want to specify sensitivity parameters for specific regions, you will need to set these variables and point them to a corresponding file defining these regions. Region files used in DESID emissions scaling as well as DDM-3D and ISAM are described in Appendix B.

You can also search this forum for previous threads discussing approaches to create such files by using a search term of “mask” or “region”, e.g. here or here

First of all, thank you very much for your professional reply. Now I use the DDM module of CMAQ to invert gridded emissions, and finally I want to obtain the sensitivity analysis of grid to grid. In this case, is it necessary to turn on this setting? Now I have turned off this setting, but the operation still reports errors: The ERROR is *** ERROR ABORT in subroutine DESID_INIT_REGIO on PE 029
User specified DDM3D region - PA - not found in available emissions regions. Check sensinput.dat file
PM3EXIT: DTBUF 0:00:01 Jan. 1, -000
Date and time 0:00:01 Jan. 1, -000 ( 1:000001)
(END)
This error is not reported without DDM. This error is reported with DDM module

If you do not want any region-specific sensitivity parameters, you should not have any “REGION” entry in the sensinput.dat file specified in your run script. The structure of sensinput.dat is described here as well as the bottom of the example sensinput.dat file distributed with the code and notes under item 6 that the REGION section is optional.

I am guessing you are working off of the example sensinput.dat file distributed with the CMAQ benchmark case. That example does define two-region specific parameters, one for region “PA” (the state of Pennsylvania) and one for region “NJ” (the state of New Jersey).

To adapt this example to your case, you will have to remove the lines

REGION
PA
REGION
NJ

If you do want to define regions, you’ll have to refer to them by the region label names defined in CMAQ_Control_DESID.nml, mapped from the variable names in your MASK file.

Thank you again for your professional answer. At present, delete it or report an ERROR: *** ERROR ABORT in subroutine DESID_INIT_REGIO on PE 031
User specified DDM3D region - PA - not found in available emissions regions. Check sensinput.dat file
PM3EXIT: DTBUF 0:00:01 Jan. 1, -000
Date and time 0:00:01 Jan. 1, -000 ( 1:000001)
(END)
Thank you again for your professional answer. At present, delete it or report an ERROR: *** ERROR ABORT in subroutine DESID_INIT_REGIO on PE 031
User specified DDM3D region - PA - not found in available emissions regions. Check sensinput.dat file
PM3EXIT: DTBUF 0:00:01 Jan. 1, -000
Date and time 0:00:01 Jan. 1, -000 ( 1:000001)
(END), I want to identify the concentration of HCHO (formaldehyde) column by VOC emission and NO2 concentration by NOX emission.The current sensinput.2018_12NE3.dat was modified by me as follows:


Could you please post your actual sensinput file and your log file with the error message(s) as attachments? Including the error messages in the text of your post and looking at multiple screenshots without being certain of their order makes it harder to debug the problem.

Thank you very much for your suggestion. Here is my file.
CTM_LOG_031.v54_intel_d01_20170129.txt (11.1 KB)
sensinput.2018_12NE3.txt (2.4 KB)