Skip to content

Generalize cloud chemistry#1559

Open
fvitt wants to merge 15 commits into
ESCOMP:cam_developmentfrom
fvitt:cloud_chem
Open

Generalize cloud chemistry#1559
fvitt wants to merge 15 commits into
ESCOMP:cam_developmentfrom
fvitt:cloud_chem

Conversation

@fvitt
Copy link
Copy Markdown
Collaborator

@fvitt fvitt commented May 15, 2026

This replaces aerosol model specific sox_cldaero_mod modules for aqueous cloud chemistry with a generic aerosol model independent module. This expands on and makes use of the aerosol abstract interfaces.

Closes #1428

fvitt added 10 commits May 5, 2026 13:36
	modified:   src/chemistry/modal_aero/aero_model.F90
	modified:   src/chemistry/modal_aero/modal_aero_gasaerexch.F90
	modified:   src/chemistry/aerosol/aerosol_properties_mod.F90
	modified:   src/chemistry/aerosol/bulk_aerosol_properties_mod.F90
	modified:   src/chemistry/aerosol/carma_aerosol_properties_mod.F90
	modified:   src/chemistry/aerosol/modal_aerosol_properties_mod.F90
… mam7

	modified:   src/chemistry/aerosol/mo_setsox.F90
	modified:   src/chemistry/bulk_aero/aero_model.F90
	modified:   src/chemistry/bulk_aero/sox_cldaero_mod.F90
	modified:   src/chemistry/carma_aero/aero_model.F90
	modified:   src/chemistry/carma_aero/sox_cldaero_mod.F90
	modified:   src/chemistry/modal_aero/aero_model.F90
	modified:   src/chemistry/modal_aero/sox_cldaero_mod.F90
	renamed:    src/chemistry/modal_aero/sox_cldaero_mod.F90 -> src/chemistry/aerosol/sox_cldaero_mod.F90
	deleted:    src/chemistry/bulk_aero/sox_cldaero_mod.F90
	deleted:    src/chemistry/carma_aero/sox_cldaero_mod.F90
	modified:   src/chemistry/aerosol/mo_setsox.F90
	modified:   src/chemistry/aerosol/sox_cldaero_mod.F90
	modified:   src/chemistry/aerosol/mo_setsox.F90
	modified:   src/chemistry/aerosol/sox_cldaero_mod.F90
	modified:   src/chemistry/bulk_aero/aero_model.F90
	modified:   src/chemistry/carma_aero/aero_model.F90
	modified:   src/chemistry/modal_aero/aero_model.F90
	modified:   src/chemistry/aerosol/mo_setsox.F90
	modified:   src/chemistry/aerosol/aerosol_state_mod.F90
	modified:   src/chemistry/aerosol/carma_aerosol_state_mod.F90
	modified:   src/chemistry/aerosol/modal_aerosol_state_mod.F90
	modified:   src/chemistry/aerosol/sox_cldaero_mod.F90
	modified:   src/chemistry/geoschem/chemistry.F90
@fvitt fvitt self-assigned this May 15, 2026
@fvitt fvitt requested a review from jimmielin May 15, 2026 16:29

! Initialize aqueous chem
CALL SOx_inti()
CALL SOx_inti(aero_props)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jimmielin will check whether this call is needed if GEOS-Chem doesn't call setsox

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like this is needed to keep gas-surface exchange happy but the stub here is fine. I might add a suggested change in the full review to actually get the real MAM properties object here instead of the stub, in case GEOS-Chem needs it in the future.

@jimmielin jimmielin self-requested a review May 19, 2026 15:37
Copy link
Copy Markdown
Member

@jimmielin jimmielin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @fvitt! I had a few minor comments and one set of change requests I made a PR (fvitt#9) to use aero_state and aero_props from the instances module instead of constructing in the individual aero_model.

Comment thread src/chemistry/aerosol/sox_cldaero_mod.F90 Outdated
Comment on lines +128 to +134
! *** NOTE ***
! should refactor this bit after merging to later cam tag -- where aero_props%model_is is avail
if (ntot_amode>0) then
if (.not.mode7) then
conc_obj%so4_fact = 1._r8
end if
end if
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this need to be refactored now that model_is is available and this has been merged up?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reworked the logic here

Comment thread src/chemistry/bulk_aero/aero_model.F90 Outdated
jimmielin and others added 3 commits May 19, 2026 14:23
Fix dealloc in aero_model: use aerosol_instances_mod copy
	modified:   src/chemistry/aerosol/sox_cldaero_mod.F90
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants