-
Notifications
You must be signed in to change notification settings - Fork 33
Description
Companion CAM-SIMA issue for abstract interface: ESCOMP/CAM-SIMA#464
Below is NOT a ordered task list, time estimates need to be developed
Target date is FY26Q3
BAM modules (src/chemistry/aerosol/bulk_aero)
aero_model.F90main driver --- ...
aero_model_gasaerexchgas-aerosol exchange - ...
aero_model_drydepsee aerosol_depvel.F90dry deposition, driveraerosol_depvel_compute- ...
aero_model_wetdepwet deposition see wetdep::wetdepa_v1... need to port aerosol wet deposition code (CAM4 version)
Per-species models
dust_modelDST01/02/03/04 -- emisdust_emis; drydepdust_depvelseasalt_modelSSLT01/02/03/04 -- emisseasalt_emis; dry depseasalt_depvel- ... emissions used in
aero_model_emissions mo_aerosols- thermodynamic equilibrium; formation -- seemo_aerosols::aerosols_formationmo_setsoa(setsoa_equil&setsoa_old... reqhas_soa_equilbased on species availability of a given list, seemo_setsoa 371~392)
Aqueous chemistry interfaces
To wait for ACOM to restructure
sox_cldaero_mod.F90-- passes cloud aerosol conc obj in_create_obj:cldaero_conc_t- SADs --
aero_model_surfarea(trop; strat is a stub) mo_setsoxtbd --setsoxis used
In FHIST_C4 it appears that has_sox is false and has_aerosols is false --
sox_inti: has_sox = F
-----------------------------------------
mo_setsox will not do sox aerosols
-----------------------------------------
-----------------------------------------
mozart will NOT do nh4no3
following species are missing
1
2
3
4
5
-----------------------------------------
so we can just do purely prescribed and wire up ESCOMP/CAM-SIMA#464
The switch to turn on online aerosols is convoluted and depends on whether if ( ($chem ne 'none') or ( $prog_species ) ){ and the wet deposition list is available:
if (length($aer_wetdep_list)>2){
# determine if prescribed aerosols are not needed ...
if ($aer_wetdep_list =~ /so4/i &&
$aer_wetdep_list =~ /dst/i &&
($aer_wetdep_list =~ /bc/i || $aer_wetdep_list =~ /cb/i) &&
($aer_wetdep_list =~ /ncl/i || $aer_wetdep_list =~ /sslt/i)) {
$prescribe_aerosols = $FALSE;
}if $prescribed_aerosols === FALSE then prognostic aerosols are on and $prescribed_aero_model = 'none'; which leads to the loading of the prescribed aerosol models.
There might not be a ghg_bam so we need to put together something based on ghg_mam4 as a reference implementation for BAM in CAM-SIMA. TBD