Hi,
I am a master’s student using CMAQ v5.5 with the STAGE deposition option and mercury bidirectional exchange. While tracing the STAGE mercury code, I found two places that seem to be original coding issues rather than model-tuning choices. I may be misunderstanding something, so I would be very grateful if you could help confirm whether my interpretation is correct.
The files I checked are mainly STAGE_MOD.F and HGSIM.F.
First, in STAGE_MOD.F around lines 630-633, the code computes and passes flux_hgII as:
flux_hgII = -Sum( Tile_Data%Lu_Vd( c,r,n_HgII,: ) * Tile_Data%LUFRAC( c,r,: ), mask = WATER)
Call Hg_Surf_Update ( f_stom, f_cut, f_soil, f_wat, flux_hgII,
& Heff_wat, Heff, TStep, c, r, Jdate, Jtime )
However, in HGSIM.F, the interface and subsequent use seem to indicate that flx_hgII is treated as a flux in ppm*m/s, for example around lines 294, 300, and 342:
REAL, INTENT( IN ) :: flx_stom, flx_cut, flx_grnd, flx_wat, flx_hgII ! fluxes ppm*m/s
REAL :: flux_st, flux_cut, flux_grnd, flux_wat, flux_hgII ! fluxes ppm*m/s
flux_hgII = flx_HgII / zsurf
My concern is that Tile_Data%Lu_Vd is a deposition velocity (m/s), not a flux. So here flux_hgII seems to be passed as deposition velocity only, without multiplying by the air concentration of HGIIGAS.
If my understanding is correct, I wonder whether this should instead be something like:
flux_hgII = -cgridl1(n_HGII) *
& Sum( Tile_Data%Lu_Vd( c,r,n_HgII,: ) * Tile_Data%LUFRAC( c,r,: ),
& mask = WATER )
so that the quantity passed to Hg_Surf_Update is actually a grid-cell-mean HGIIGAS flux in ppm*m/s.
Second, in HGSIM.F around lines 311, 315, and 316, I found:
REAL, PARAMETER :: satten = 7.58-1
REAL, PARAMETER :: kphot = 6.5-4
REAL, PARAMETER :: kox = 7.2-4
In Fortran, these seem to be interpreted as subtraction rather than scientific notation, i.e. 7.58-1 = 6.58, 6.5-4 = 2.5, and 7.2-4 = 3.2, rather than the likely intended values:
REAL, PARAMETER :: satten = 7.58e-1
REAL, PARAMETER :: kphot = 6.5e-4
REAL, PARAMETER :: kox = 7.2e-4
If so, this would make the Hg aqueous photoreduction/photooxidation parameters much larger than intended.
Thank you very much for your time and for maintaining CMAQ. I apologize in advance if I have misunderstood the code logic.
Best regards
STAGE_MOD.F.txt (47.2 KB)
HGSIM.F.txt (24.5 KB)