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

None yet

Development

Successfully merging this pull request may close these issues.

2 participants