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

Fix Aerosol BC Processing for non-CMAQ Inputs #211

Open
bnmurphy opened this issue Feb 8, 2024 · 0 comments
Open

Fix Aerosol BC Processing for non-CMAQ Inputs #211

bnmurphy opened this issue Feb 8, 2024 · 0 comments
Labels

Comments

@bnmurphy
Copy link
Contributor

bnmurphy commented Feb 8, 2024

Description
When boundary conditions are provided from a source that omits particle number concentration, the current model will detect the default concentrations (1.0E-30) as acceptable. This creates physically unrealistic size distributions at the boundaries, which lead to negative aerosol concentrations when operated on by processes like aerosol sedimentation. Collaborators and users have reported FLOOR files indicating these problems when using boundary conditions from sources like GEOSChem.

With this update, the lower bound is raised to 1.1E-30 which should be able to detect missing boundary concentration data in most cases. The aerosol mode variables (Number and Second Moment) are reset to values that are consistent with realistic size distributions, negative concentrations are resolved, and FLOOR files are no longer generated.

Thank you to colleagues at the California Air Resources Board for identifying and characterizing this problem.

Scope and Impact
The update is needed urgently for any runs performed with GEOSChem boundary conditions, especially if particle predictions are an output of interest. There should be minimal impact on ozone concentrations.

There is no impact on simulations run with Hemispheric CMAQ boundary conditions, which include particle number and surface are variables on the boundary condition input files.

Solution
A permanent solution will be proposed via Pull Request to this repository. Temporarily, you may resolve this problem by doing the following: in AERO_DATA.F, change the following lines:

IF ( M3DRY .LT. 1.0e-30 .OR. M3WET .LT. 1.0e-30 ) THEN
...
ELSE IF ( NUM .LT. 1.0e-30 ) THEN
...
ELSE IF ( M2 .LT. 1.0e-30 .OR. .NOT. USE_M2 ) THEN

to

IF ( M3DRY .LT. 1.1e-30 .OR. M3WET .LT. 1.1e-30 ) THEN
...
ELSE IF ( NUM .LT. 1.1e-30 ) THEN
...
ELSE IF ( M2 .LT. 1.1e-30 .OR. .NOT. USE_M2 ) THEN
@bnmurphy bnmurphy added the bug label Feb 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant