CMAQv5.4 HDDM Sensitivity Dry Deposition file issue

Hy,
I am running CMAQv5.4 with DDM. I am trying to do HDDM sensitivity analysis of ptegu emissions for 2020 emissions data. The CCTM model runs fine and it generates CCTM_ASENS, CCTM_SENDDEP, CCTM_SENWDEP files. However, when I look into TFLAG for each of these files, I see CCTM_SENDDEP file has a problem. The ASENS, SENWDEP TFLAG output seems fine to me. (please see attached TFLAG output using ncdump). However, SENDDEP file’s TFLAG is missing for most of the sensitivity parameter (ES2, 2NX, 2S2, 2NS). It wrote out every fifth sensitivity variable successfully. I am also attaching my sensitivity variables and CCTM script for your reference.

One thing to note, I am using 2019 Bi-directional ammonia Equates data for 2020 run. I used m3tshift to solve date mismatch. I tried model run using both CTM_ABFLUX on and off. It gives me same issue with sensitivity dry deposition file.

Please see the attached files and let me know how to resolve this.

Regards,
Rasel
ASENS_TFLAG.txt (743.4 KB)
SENDDEP_TFLAG.txt (412.8 KB)
run_cctm_hddm_egu.csh_sbatch.txt (41.2 KB)
sensinput.ptegu.dat.txt (2.4 KB)

2 Likes

Yes - thank you for posting this on its one page. @hogrefe.christian has relayed this issue to me and I am looking into what is happening.

Sergey

Hy,

Is there any update on the issue?

Thanks,
Rasel

Yes. The fix is going through the review process. If you would like to try it, open the file vdiffproc.F. Around line 761, make it look like this:

     DO V = 1, N_SPC_DDEP
        S = DD2DV( V )
        DO NP = 1, NPMAX
           SPCNAME = DDEP_SPC( V )( 1:12 )                    ! <- these lines have to
           SPCNAME = TRIM( SPCNAME ) //'_' // SEN_PAR( NP )   ! <- match what is in opddep.F
           DO R = 1, NROWS

Essentially, you need to move the line “SPCNAME = DDEP_SPC( V )( 1:12 )” inside the “DO NP” loop so that it resets the variable name more often.

The official fix should go out with 5.4+ whenever that get updated next.

Sergey

Hy,

I have changed the vdiffproc.F like this:

However, I am still facing same issue.

Any other suggestions?

Thanks
Rasel

Have you recompiled after removing the old object files?

First - make clean
Then - make

Sergey

It works now. Thank you.

Regards,
Rasel