Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Isoprene reading problem for CBMZ mechanisms in WRF-Chem #2022

Open
erickfredj opened this issue Mar 17, 2024 · 1 comment
Open

Isoprene reading problem for CBMZ mechanisms in WRF-Chem #2022

erickfredj opened this issue Mar 17, 2024 · 1 comment
Assignees

Comments

@erickfredj
Copy link

HUJI-JCT WRF-Chem Group: Borys Beznoshchenko, Dr. Eran Tas, Prof. Dorita Rostkier-Edelstein, Prof. Erick Fredj.

Describe the bug
During verification of the chemical CBMZ mechanism (chem_opt=6, 7 and 8) it was revealed that the isoprene concentrations were unrealistically low (accumulated to values of up to 10-10 - 10-8 of ppb) across the whole domain and did not respond much for the change of the isoprene emissions in the wrfchemi files. More specifically, this problem was in reading the anthropogenic isoprene emissions (all CBMZ options - both KPP and non-KPP, e.g., chem_opt=6,7,8..) from wrfchemi files, as well as biogenic isoprene emissions provided with emiss_opt=4 (following the Paragraph 7a of the WRF-Chem User Guideline, page 58; “The user could add the biogenic emission to the anthropogenic-emissions data if it is desired”). While CBMZ emission option emiss_opt==4 in Registry.chem (ecbmz_mosaic) contains the emission input variable e_iso, it appeared to be missed in the CBMZ emission reading loop, located in the file chem/module_cbmz_addemiss.F, line 72 as well as in the main loop, line 97. This problem led to unrealistic representation of isoprene, which has significant implications on photochemical activity representation by the chemical mechanism. The isoprene output concentrations for a test case in Israel is shown below.

Screenshots
image
Timeseries of isoprene model output concentrations for several stations in Israel for 18-21 of August 2018 (after a spin-up time of 5 days). Before fixing the problem values of isoprene reached up to 10-10 - 10-8 of ppb.

image
Screenshot of the Original code chem/module_cbmz_addemiss.F "

According to the chem/emissions_driver.F, this situation is present for all CBMZ-related mechanism in WRF-Chem, including CBMZ-kpp, i.e: CBMZ, CBMZ_BB, CBMZ_BB_KPP, CBMZ_MOSAIC_4BIN, CBMZ_MOSAIC_8BIN, CBMZ_MOSAIC_4BIN_AQ, CBMZ_MOSAIC_8BIN_AQ, CBMZSORG, CBMZSORG_AQ, CBMZ_MOSAIC_DMS_4BIN, CBMZ_MOSAIC_DMS_8BIN, CBMZ_MOSAIC_KPP, CBMZ_MOSAIC_DMS_4BIN_AQ, CBMZ_MOSAIC_DMS_8BIN_AQ, CBMZ_CAM_MAM3_NOAQ, CBMZ_CAM_MAM3_AQ, CBMZ_CAM_MAM7_NOAQ, CBMZ_CAM_MAM7_AQ

To Reproduce
Steps to reproduce the behavior:

  1. Use compiler (ifort (IFORT) 16.0.0 20150815) or (gcc (GCC) 11.4.1 20230605 (Red Hat 11.4.1-2)) "WRF-Chem 4.2.2" and "WRF-Chem 4.5.1" respectively.
  2. Use namelist options
    &chem
    chem_opt = 6,6,
    kemit = 53,
    chemdt=0,0,
    chem_in_opt = 1,1,
    io_style_emissions = 1,
    phot_opt=1, 1,
    photdt=1, 1,
    emiss_inpt_opt = 101, 101,
    emiss_opt = 4, 4,
    gas_drydep_opt=1,
    bio_emiss_opt = 0, 0,
    seas_opt = 0,
    dust_opt = 0,
    dmsemis_opt = 0,
    biomass_burn_opt = 0, 0,
    chem_conv_tr = 0,0,
    have_bcs_chem = .true., .true.,
    /
  3. Output is described in the section describing the bug.

Expected behavior
Precise reading of isoprene emissions (E_ISO) data from wrfchemi files, and ensuring spatial consistency of isoprene concentration data with the emission (E_ISO) provided in the wrfchemi file.

Screenshots
image
August simulation, 18-21 of August 2018 (after a spin-up time of 5 days). Timeseries of isoprene model output concentrations for several stations in Israel - after fixing (red) vs before fixing (blue): values increased up to 1-3 ppb and read properly.

Attachments
If applicable, attach supporting files: namelist.input, rsl.* files, etc.
namelist.input.txt

** Proposed Fix **
We were able to fix the above problem by modifying the emission reading loop with the isoprene reading part, in the subroutine cbmz_addemiss_anthro, located in the file cbmz_addemiss_anthro.F. Please, find attached the original module_cbmz_addemiss.F (module_cbmz_addemiss.F_original) file, the same file modified by us (module_cbmz_addemiss.F_fixed) and the differences between the files (diff_isoprene_fix_cbmz_file.txt). By fixing the problem, the isoprene concentrations were read by the model successfully, and were in good correspondence with the emission files wrfchemi (see expected behavior section).

diff_isoprene_fix_cbmz_file.txt
module_cbmz_addemiss.F_fixed.txt
module_cbmz_addemiss.F_original.txt

@weiwangncar
Copy link
Collaborator

@erickfredj Thanks for this nice report. I think the next step would be making a PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants