Skip to content

UCIchem_Linozv3+SOA Clean PR (using NGD_v3atm branch as the base) - #18

Open
quaz115 wants to merge 34 commits into
NGD_v3atmfrom
SOA_chemUCI_09292022
Open

UCIchem_Linozv3+SOA Clean PR (using NGD_v3atm branch as the base)#18
quaz115 wants to merge 34 commits into
NGD_v3atmfrom
SOA_chemUCI_09292022

Conversation

@quaz115

@quaz115 quaz115 commented Oct 7, 2022

Copy link
Copy Markdown

Minimal test BFB PASSED:

/compyfs/quaz115/e3sm_scratch/tst.withCleanPRFinal_NGDv3atmplusExplicitSOA_restartBFB.amip.chemUCI_Linozv3_2000rstinit/tests

ls

atm_custom-10_1x10_ndays.txt atm_custom-30_1x10_ndays.txt atm_custom-30_2x5_ndays.txt custom-10_1x10_ndays custom-30_1x10_ndays custom-30_2x5_ndays

[quaz115@compy01 tests]$ md5sum atm_*_ndays.txt
64f837a3d931a607696aba1e13d34aa8 atm_custom-10_1x10_ndays.txt
64f837a3d931a607696aba1e13d34aa8 atm_custom-30_1x10_ndays.txt
64f837a3d931a607696aba1e13d34aa8 atm_custom-30_2x5_ndays.txt

The 3 minimal test runs have identical md5sum, and PASS the BFB test.

We get reasonable SOA budget & lifetime for 2014 ANN period: 1.99 Tg & ~ 4 days for UCIchemLinozv3+SOA

Fnu Quazi Ziaur Rasool added 30 commits September 29, 2022 12:49
…micphys in components/eam/src/chemistry/modal_aero/seasalt_model.F90
…with SOAG vbs species in components/eam/src/chemistry/mozart/mo_gas_phase_chemdr.F90
… 2nd mode (7 changed to 10 in modal_aero_data.F90 as well) in components/eam/src/chemistry/modal_aero/modal_aero_initialize_data.F90
…eam/src/physics/cam/hetfrz_classnuc_cam.F90
…ERO_4MODE_SOA_MOM in components/eam/src/physics/cam/modal_aer_opt.F90
…it to 50 for chempkg name in components/eam/src/physics/cam/phys_control.F90
…of MOSAIC_SPECIES with nh4, no3 weighing added in components/eam/src/physics/cam/nucleate_ice_cam.F90
…r time dtsubstep, for the mam vbs soa mechanism in components/eam/src/chemistry/modal_aero/mam_soaexch_vbs.F90
…ponents/eam/src/chemistry/modal_aero/modal_aero_data_amicphys.F90
…s in components/eam/src/chemistry/modal_aero/module_mosaic_astem.F90
… components/eam/src/chemistry/modal_aero/module_mosaic_box_aerchem.F90
…e in components/eam/src/chemistry/modal_aero/modal_aero_data_amicphys.F90
Fnu Quazi Ziaur Rasool added 4 commits October 4, 2022 13:42
…istry/modal_aero/modal_aero_data_amicphys.F90
…n components/eam/src/chemistry/modal_aero/modal_aero_data.F90
…ea from call mam_soaexch_vbs.F90 (and other SOA relevant chnages like adding defined MODAL_AERO_4MODE_SOA_MOM) in components/eam/src/chemistry/modal_aero/modal_aero_amicphys.F90
…n gas-->aer condensation and resulting aging (separate do loops for gas and aer not needed) IN components/eam/src/chemistry/modal_aero/modal_aero_amicphys.F90
@keziming

keziming commented Oct 7, 2022

Copy link
Copy Markdown

@quaz115 Do you have a 25-yr AMIP simulation? It is a lot changes and we have to check not only SOA but also other perspectives in the model.

@quaz115

quaz115 commented Oct 7, 2022

Copy link
Copy Markdown
Author

@quaz115 Do you have a 25-yr AMIP simulation? It is a lot changes and we have to check not only SOA but also other perspectives in the model.

@keziming Yes, on it , will update as soon as it finishes, hopefully should be done over this weekend or early next week

@wlin7

wlin7 commented Oct 7, 2022

Copy link
Copy Markdown
Collaborator

@quaz115 , is it correct the feature implemented in this PR will be active and there is no switch to turn it off? Please label it accordingly and add it to the description.

@quaz115

quaz115 commented Oct 7, 2022

Copy link
Copy Markdown
Author

@quaz115 , is it correct the feature implemented in this PR will be active and there is no switch to turn it off? Please label it accordingly and add it to the description.

@wlin7 Yes, currently feature implemented in this PR for SOA is active. That's why i made descriptive individual commits for each file to keep the track of changes & documentation/Comments with !QZR ++ or -- wherever SOA-relevant changes are done. Hope those are serving the purpose which you raised.
PS: Turning off this feature is possible but will need changes to the chemistry input file for SOA, MW of SOA in modal_aero_data.F90 and build-namelist so that it selects default DMODAL_AERO_4MODE_MOM for that package

@mingxuanwupnnl

mingxuanwupnnl commented Oct 8, 2022

Copy link
Copy Markdown
Contributor

@quaz115 for this PR, we don't need to couple MOSAIC and SOA VBS treatment. We can do it later in a separate PR, so that code changes are made step by step in an organized way. After the VBS SOA PR is merged, we need to issue another PR to link MOSAIC, MAM5, SOA VBS together. In this way, it saves effort to just put this feature in NGD_v3atm.

  1. In general, if the previous changes are like
    #if (defined MODAL_AERO_4MODE_MOM || defined MODAL_AERO_4MODE_SOA_MOM
    then we just don't change this part and keep it the same as NGD_v3atm in most cases (if SOA_MOM does not change the what the default 4MODE_MOM does in the section).

if there is only MODAL_AERO_4MODE_SOA_MOM flag, replace it with VBS_SOA
#if (defined MODAL_AERO_4MODE_SOA_MOM)
...
#endif
to
#if (defined VBS_SOA)
...
\endif

  1. Don't change any code related to MOSAIC for now. We'll make another PR for the linkage.

for what I proposed,

bld/build-namelist
keep the chang as it is for now. Have not seen changes for chemUCI surfac emissions.

config_files/definition.xml
keep the change as it is, and add a few lines for vbs option
<entry id="vbs" valid_values="0,1" value="0">
Option to turn on vbs processes in the modal aerosol model: 0 => no, 1 => yes
</entry>

bld/configure
discard your previous changes, make a flag "-vbs"

~lines 146
-mosaic Activate mosaic processes in the modal aerosol model.
-vbs Activate vbs soa treatment in the modal aerosol model.
-microphys Specify the microphysics option [mg1 | mg1.5 | mg2 | rk].

~lines 383
"mosaic" => $opts{'mosaic'},
"vbs" => $opts{'vbs'},
"microphys=s" => $opts{'microphys'},

~lines 842-849
# mosaic option in mam
if (defined $opts{'mosaic'}) {
$cfg_ref->set('mosaic', $opts{'mosaic'});
}
my $mosaic = $cfg_ref->get('mosaic');

# vbs option in mam
if (defined $opts{'vbs'}) {
$cfg_ref->set('vbs', $opts{'vbs'});
}
my $vbs = $cfg_ref->get('vbs');

# waccm physics
if (defined $opts{'waccm_phys'}) {
$cfg_ref->set('waccm_phys', $opts{'waccm_phys'});
}
my $waccm_phys = $cfg_ref->get('waccm_phys');

~lines 1853-1865
# mosaic option in mam
if ($mosaic) { $cfg_cppdefs .= ' -DMOSAIC_SPECIES'; }

# vbs option in mam
if ($vbs) { $cfg_cppdefs .= ' -DVBS_SOA'; }

#WACCM-X extended thermosphere/ionosphere model
if ($waccmx) { $cfg_cppdefs .= ' -DWACCMX'; }

master_gas_drydep_list.xml
keep the change as it is

master_gas_wetdep_list.xml
keep the change as it is

aero_model.F90
don't change, stay the same as in NGD_v3atm

dust_model.F90
don't change, stay the same as in NGD_v3atm

mam_soaexch_vbs.F90
keep the change as it is.
If we make another module for vbs soa gas-aerosol exchange subroutine (mam_soaexch_vbs_1subarea), I would suggest also moving the default subroutine (mam_soaexch_1subarea) here if we still want to keep it.

modal_aero_coag.F90
don't change, stay the same as in NGD_v3atm

modal_aero_data.F90
discard most of the changes, only keep two below with some modifications:

~lines 42-46
#if ( defined VBS_SOA )
integer, parameter :: nsoag = 7 ! number of differently tagged secondary-organic gas species
#else
integer, parameter :: nsoag = 1 ! number of differently tagged secondary-organic gas species
#endif

~lines 99
#elif ( ( defined MODAL_AERO_4MODE_MOM || defined MODAL_AERO_5MODE ) && ( defined MOSAIC_SPECIES ) )
real(r8), parameter :: specmw_amode(ntot_aspectype) = (/ 96.0_r8, 18.0_r8, 62.0_r8, &
12.0_r8, 12.0_r8, 12.0_r8, 23.0_r8, 135.0_r8, &
250092.0_r8, 40.0_r8, 60.0_r8, 35.5_r8 /)
#elif (( defined MODAL_AERO_4MODE_MOM || defined MODAL_AERO_5MODE ) && ( defined VBS_SOA ))
real(r8), parameter :: specmw_amode(ntot_aspectype) = (/ 115.0_r8, 115.0_r8, 62.0_r8, &
12.0_r8, 250.0_r8, 12.0_r8, 58.5_r8, 135.0_r8, &
250092.0_r8 /)

#elif ( defined MODAL_AERO_4MODE_MOM || defined MODAL_AERO_5MODE)
real(r8), parameter :: specmw_amode(ntot_aspectype) = (/ 115.0_r8, 115.0_r8, 62.0_r8, &
12.0_r8, 12.0_r8, 12.0_r8, 58.5_r8, 135.0_r8, &
250092.0_r8 /)

modal_aero_data_amicphys.F90
discard this file, seems to be a temporary. Saw the changes made here also in modal_aero_amicphys.F90

modal_aero_initialize_data.F90
don't change, stay the same as in NGD_v3atm

module_data_mosaic_aero.F90
don't change, stay the same as in NGD_v3atm, will make another PR for linking MOSAIC and VBS SOA

module_mosaic_astem.F90
don't change, stay the same as in NGD_v3atm, will make another PR for linking MOSAIC and VBS SOA

module_mosaic_box_aerchem.F90
don't change, stay the same as in NGD_v3atm, will make another PR for linking MOSAIC and VBS SOA

module_mosaic_cam_init.F90
don't change, stay the same as in NGD_v3atm, will make another PR for linking MOSAIC and VBS SOA

seasalt_model.F90
don't change, stay the same as in NGD_v3atm

chemistry.F90
don't change, stay the same as in NGD_v3atm

mo_gas_phase_chemdr.F90

mo_neu_wetdep.F90

mo_sethet.F90

modal_aero_deposition.F90
don't change, stay the same as in NGD_v3atm

hetfrz_classnuc_cam.F90

modal_aer_opt.F90

nucleate_ice.F90
keep the change as it is

nucleate_ice_cam.F90
don't change, stay the same as in NGD_v3atm

phys_control.F90
keep the change as it is

rad_constituents.F90
don't change, stay the same as in NGD_v3atm

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.

4 participants