Skip to content

Commit 74018ee

Browse files
authored
Merge pull request ESCOMP#484 from CESM-GC/CESM-GC_rebased_on_cam6_0_034
cam6_3_147: GEOS-Chem chemistry and four new compsets that use it
2 parents 11900b3 + 86720cc commit 74018ee

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+10078
-79
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ src/physics/carma/base
99
src/physics/clubb
1010
src/physics/cosp2/src
1111
src/physics/silhs
12+
src/chemistry/geoschem/geoschem_src
1213
src/physics/pumas
1314
src/physics/pumas-frozen
1415
src/dynamics/fv3/atmos_cubed_sphere

Externals_CAM.cfg

+7
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,13 @@ sparse = ../.mpas_sparse_checkout
7171
hash = b8c33daa
7272
required = True
7373

74+
[geoschem]
75+
local_path = src/chemistry/geoschem/geoschem_src
76+
protocol = git
77+
repo_url = https://github.com/geoschem/geos-chem.git
78+
tag = 14.1.2
79+
required = True
80+
7481
[hemco]
7582
local_path = src/hemco
7683
tag = hemco-cesm1_2_1_hemco3_6_3_cesm

bld/build-namelist

+95-13
Original file line numberDiff line numberDiff line change
@@ -540,7 +540,7 @@ my $rad_prog_bcarb = (($prog_species =~ "BC" or $aero_chem) and !($chem_rad_pa
540540
my $rad_prog_sulf = (($prog_species =~ "SO4" or $aero_chem) and !($chem_rad_passive));
541541
my $rad_prog_dust = (($prog_species =~ "DST" or $aero_chem) and !($chem_rad_passive));
542542
my $rad_prog_sslt = (($prog_species =~ "SSLT" or $aero_chem) and !($chem_rad_passive));
543-
my $rad_prog_ozone = (($chem =~ "mozart" or $chem =~ "waccm_ma" or $chem =~ "tsmlt" or $chem =~ "trop_strat") and !($chem_rad_passive));
543+
my $rad_prog_ozone = (($chem =~ "mozart" or $chem =~ "waccm_ma" or $chem =~ "tsmlt" or $chem =~ "trop_strat" or $chem =~ /geoschem/) and !($chem_rad_passive));
544544

545545
# Check for eruptive volcano emissions. These will be radiatively active by default, but
546546
# only if using BAM and the camrt radiation package
@@ -576,12 +576,13 @@ if ( ($chem ne 'none') or ( $prog_species ) ){
576576

577577
my ( $gas_wetdep_list, $aer_wetdep_list, $aer_sol_facti, $aer_sol_factb, $aer_scav_coef,
578578
$aer_drydep_list, $gas_drydep_list ) =
579-
set_dep_lists( $cfgdir, $chem_proc_src, $chem_src_dir, $nl, $print );
579+
set_dep_lists( $chem, $cfgdir, $chem_proc_src, $chem_src_dir, $nl, $print );
580580

581581
if (length($gas_wetdep_list)>2){
582582
add_default($nl, 'gas_wetdep_method' );
583583
add_default($nl, 'gas_wetdep_list', 'val'=>$gas_wetdep_list );
584584
}
585+
585586
if (length($aer_wetdep_list)>2){
586587
# determine if prescribed aerosols are not needed ...
587588
if ($aer_wetdep_list =~ /so4/i &&
@@ -862,7 +863,7 @@ my $radval = "'A:Q:H2O'";
862863
if (($chem =~ /waccm_ma/ or $chem =~ /waccm_tsmlt/) and !$chem_rad_passive) {
863864
$radval .= ",'A:O2:O2','A:CO2:CO2'";
864865
}
865-
elsif ($chem =~ /trop_strat/ and !$chem_rad_passive) {
866+
elsif (($chem =~ /trop_strat/ or $chem =~ /geoschem/) and !$chem_rad_passive) {
866867
$radval .= ",'N:O2:O2','A:CO2:CO2'";
867868
}
868869
elsif (($co2_cycle and !$co2_cycle_rad_passive) or ($chem =~ /ghg_mam4/)) {
@@ -897,6 +898,8 @@ if ((($chem =~ /ghg_mam4/) or ($chem =~ /waccm_ma/) or ($chem =~ /waccm_sc_mam/)
897898
$radval .= ",'A:N2O:N2O','A:CH4:CH4','A:CFC11:CFC11','A:CFC12:CFC12'";
898899
} elsif ($prog_ghg1 and !$prog_ghg2 and !$chem_rad_passive ) {
899900
$radval .= ",'A:N2O:N2O','A:CH4:CH4','N:CFC11:CFC11','N:CFC12:CFC12'";
901+
} elsif ($chem =~ /geoschem/) {
902+
$radval .= ",'A:N2O:N2O','A:CH4:CH4','A:CFC11:CFC11','A:CFC12:CFC12'";
900903
} else {
901904
$radval .= ",'N:N2O:N2O','N:CH4:CH4','N:CFC11:CFC11','N:CFC12:CFC12'";
902905
}
@@ -2018,6 +2021,34 @@ if (($chem =~ /trop_mozart/ or $chem =~ /trop_strat/ or $chem =~ /waccm_tsmlt/)
20182021
}
20192022
}
20202023

2024+
if ($chem =~ /geoschem/) {
2025+
2026+
my $val;
2027+
2028+
# Species with fixed lower boundary
2029+
$val = "'CCL4','CH4','N2O','CO2','CFC11','CFC12','CH3BR','CH3CCL3','CH3CL'"
2030+
.",'HCFC22','CFC114','CFC115','HCFC141B','HCFC142B','CH2BR2','CHBR3','H2402'";
2031+
2032+
if ($chem_has_ocs) {
2033+
$val .= ",'OCS'";
2034+
}
2035+
if (chem_has_species($cfg, 'SF6')) {
2036+
$val .= ",'SF6'";
2037+
}
2038+
add_default($nl, 'flbc_list', 'val'=>$val);
2039+
unless (defined $nl->get_value('flbc_type')) {
2040+
add_default($nl, 'flbc_type', 'val'=>'CYCLICAL');
2041+
add_default($nl, 'flbc_cycle_yr', 'val'=>'2000');
2042+
}
2043+
2044+
my @files;
2045+
# Datasets
2046+
@files = ( 'soil_erod_file', 'flbc_file' );
2047+
foreach my $file (@files) {
2048+
add_default($nl, $file);
2049+
}
2050+
}
2051+
20212052
if ($chem =~ /trop_mozart/ or $chem =~ /trop_strat/ or $chem =~ /waccm_tsmlt/) {
20222053

20232054
my $val;
@@ -2364,10 +2395,12 @@ if (($chem =~ /_mam4/ or $chem =~ /_mam5/) and ($phys =~ /cam6/ or $phys =~ /cam
23642395
}
23652396
}
23662397
}
2367-
add_default($nl, 'srf_emis_specifier', 'val'=>$val);
2368-
unless (defined $nl->get_value('srf_emis_type')) {
2369-
add_default($nl, 'srf_emis_type', 'val'=>'CYCLICAL');
2370-
add_default($nl, 'srf_emis_cycle_yr', 'val'=>2000);
2398+
if ($chem !~ /geoschem/) {
2399+
add_default($nl, 'srf_emis_specifier', 'val'=>$val);
2400+
unless (defined $nl->get_value('srf_emis_type')) {
2401+
add_default($nl, 'srf_emis_type', 'val'=>'CYCLICAL');
2402+
add_default($nl, 'srf_emis_cycle_yr', 'val'=>2000);
2403+
}
23712404
}
23722405

23732406
# Vertical emission datasets:
@@ -2433,10 +2466,12 @@ if (($chem =~ /_mam4/ or $chem =~ /_mam5/) and ($phys =~ /cam6/ or $phys =~ /cam
24332466
$first = 0;
24342467
}
24352468
}
2436-
add_default($nl, 'ext_frc_specifier', 'val'=>$val);
2437-
unless (defined $nl->get_value('ext_frc_type')) {
2438-
add_default($nl, 'ext_frc_type', 'val'=>"'CYCLICAL'");
2439-
add_default($nl, 'ext_frc_cycle_yr', 'val'=>2000);
2469+
if ($chem !~ /geoschem/) {
2470+
add_default($nl, 'ext_frc_specifier', 'val'=>$val);
2471+
unless (defined $nl->get_value('ext_frc_type')) {
2472+
add_default($nl, 'ext_frc_type', 'val'=>"'CYCLICAL'");
2473+
add_default($nl, 'ext_frc_cycle_yr', 'val'=>2000);
2474+
}
24402475
}
24412476

24422477
# MEGAN emissions
@@ -2482,6 +2517,30 @@ if (($chem =~ /_mam4/ or $chem =~ /_mam5/) and ($phys =~ /cam6/ or $phys =~ /cam
24822517
add_default($nl, 'megan_factors_file');
24832518
add_default($nl, 'megan_mapped_emisfctrs', 'val'=>'.false.');
24842519
}
2520+
if ($chem =~ /geoschem/) {
2521+
my $val = "'ISOP = isoprene',"
2522+
. "'MOH = methanol',"
2523+
. "'EOH = ethanol',"
2524+
. "'CH2O = formaldehyde',"
2525+
. "'ALD2 = acetaldehyde',"
2526+
. "'ACTA = acetic_acid',"
2527+
. "'ACET = acetone',"
2528+
. "'HCOOH = formic_acid',"
2529+
. "'HCN = hydrogen_cyanide',"
2530+
. "'CO = carbon_monoxide',"
2531+
. "'C2H6 = ethane',"
2532+
. "'C2H4 = ethene',"
2533+
. "'C3H8 = propane',"
2534+
. "'ALK4 = pentane + hexane + heptane + tricyclene',"
2535+
. "'PRPE = propene + butene',"
2536+
. "'TOLU = toluene',"
2537+
. "'LIMO = limonene',"
2538+
. "'MTPA = pinene_a + pinene_b + sabinene + carene_3',"
2539+
. "'MTPO = terpinene_g + terpinene_a + terpinolene + myrcene + ocimene_al + ocimene_t_b + ocimene_c_b + thujene_a + 2met_styrene + cymene_p + cymene_o + bornene + fenchene_a + camphene + phellandrene_a + phellandrene_b'";
2540+
add_default($nl, 'megan_specifier', 'val'=>$val);
2541+
add_default($nl, 'megan_factors_file');
2542+
add_default($nl, 'megan_mapped_emisfctrs', 'val'=>'.false.');
2543+
}
24852544
if ($chem =~ /trop_strat_mam4_vbs/ or $chem =~ /trop_strat_mam5_vbs/) {
24862545
my $val = "'ISOP = isoprene',"
24872546
. "'MTERP = carene_3 + pinene_a + thujene_a + bornene + terpineol_4 + terpineol_a + terpinyl_ACT_a "
@@ -2897,6 +2956,29 @@ if ($nl->get_value('use_hemco') =~ m/$TRUE/io) {
28972956
# ignored at runtime when HEMCO is used.
28982957
$nl->delete_variable('chem_inparm', 'ext_frc_specifier');
28992958
$nl->delete_variable('chem_inparm', 'srf_emis_specifier');
2959+
2960+
if ($chem =~ /geoschem/) {
2961+
2962+
# For now, HEMCO config and diagnostic configuration files are always used from
2963+
# the case directory. Exit if user has specified other paths in the user namelist
2964+
# because it will not work.
2965+
if ($nl->get_value('hemco_config_file') ne "'" . $inputdata_rootdir . "/HEMCO_Config.rc'") {
2966+
die "CAM Namelist ERROR: When running with GEOS-Chem chemistry, hemco_config_file\n".
2967+
"must not be manually set in the namelist. Instead, modify (or symlink from) the HEMCO_Config.rc\n".
2968+
"in the case directory, which will be copied to the run directory when submitting.\n".
2969+
"Then remove the hemco_config_file option from the user namelist.\n";
2970+
}
2971+
2972+
if ($nl->get_value('hemco_diagn_file') ne "'" . $inputdata_rootdir . "/HEMCO_Diagn.rc'") {
2973+
die "CAM Namelist ERROR: When running with GEOS-Chem chemistry, hemco_diagn_file\n".
2974+
"must not be manually set in the namelist. Instead, modify (or symlink from) the HEMCO_Diagn.rc\n".
2975+
"in the case directory, which will be copied to the run directory when submitting.\n".
2976+
"Then remove the hemco_diagn_file option from the user namelist.\n";
2977+
}
2978+
2979+
$nl->set_variable_value('hemco_nl', 'hemco_config_file', "'HEMCO_Config.rc'");
2980+
$nl->set_variable_value('hemco_nl', 'hemco_diagn_file', "'HEMCO_Diagn.rc'");
2981+
}
29002982
}
29012983

29022984
# Physics options
@@ -3025,7 +3107,7 @@ if (!$simple_phys) {
30253107
}
30263108

30273109
# tropopause level used in gas-phase / aerosol processes
3028-
if (($chem ne 'none') and ($chem ne 'terminator')) {
3110+
if (($chem ne 'none') and ($chem ne 'terminator') and !($chem =~ /geoschem/)) {
30293111
add_default($nl, 'chem_use_chemtrop');
30303112
}
30313113

@@ -3562,7 +3644,7 @@ if ( length($nl->get_value('soil_erod_file'))>0 ) {
35623644
add_default($nl, 'dust_emis_fact', 'tms'=>'1');
35633645
}
35643646
else {
3565-
if ($chem =~ /trop_strat/ or $chem =~ /waccm_ma/ or $chem =~ /waccm_tsmlt/ or $chem =~ /trop_mozart/) {
3647+
if ($chem =~ /trop_strat/ or $chem =~ /geoschem/ or $chem =~ /waccm_ma/ or $chem =~ /waccm_tsmlt/ or $chem =~ /trop_mozart/) {
35663648
add_default($nl, 'dust_emis_fact', 'ver'=>'chem');
35673649
}
35683650
else {

bld/config_files/definition.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ meteor_smoke (Meteor Smoke), mixed_sulfate (Meteor Smoke and Sulfate), pmc (Pola
103103
sulfate (Sulfate Aerosols), tholin (early earth haze), test_detrain (Detrainment), test_growth (Particle Growth), test_passive (Passive Dust),
104104
test_radiative (Radiatively Active Dust), test_swelling (Sea Salt), test_tracers (Asian Monsoon), test_tracers2 (Guam).
105105
</entry>
106-
<entry id="chem" valid_values="none,ghg_mam4,terminator,trop_mam3,trop_mam4,trop_mam7,trop_mozart,trop_strat_mam4_ts2,trop_strat_mam4_vbs,trop_strat_mam4_vbsext,trop_strat_mam5_ts2,trop_strat_mam5_vbs,trop_strat_mam5_vbsext,waccm_ma,waccm_mad,waccm_ma_sulfur,waccm_sc,waccm_sc_mam4,waccm_mad_mam4,waccm_ma_mam4,waccm_tsmlt_mam4,waccm_tsmlt_mam4_vbsext,waccm_mad_mam5,waccm_ma_mam5,waccm_tsmlt_mam5,waccm_tsmlt_mam5_vbsext" value="">
107-
Chemistry package: none,ghg_mam4,terminator,trop_mam3,trop_mam4,trop_mam7,trop_mozart,trop_strat_mam4_ts2,trop_strat_mam4_vbs,trop_strat_mam4_vbsext,trop_strat_mam5_ts2,trop_strat_mam5_vbs,trop_strat_mam5_vbsext,waccm_ma,waccm_mad,waccm_ma_sulfur,waccm_sc,waccm_sc_mam4,waccm_mad_mam4,waccm_ma_mam4,waccm_tsmlt_mam4,waccm_tsmlt_mam4_vbsext,waccm_mad_mam5,waccm_ma_mam5,waccm_tsmlt_mam5,waccm_tsmlt_mam5_vbsext
106+
<entry id="chem" valid_values="none,ghg_mam4,terminator,trop_mam3,trop_mam4,trop_mam7,trop_mozart,trop_strat_mam4_ts2,trop_strat_mam4_vbs,trop_strat_mam4_vbsext,trop_strat_mam5_ts2,trop_strat_mam5_vbs,trop_strat_mam5_vbsext,waccm_ma,waccm_mad,waccm_ma_sulfur,waccm_sc,waccm_sc_mam4,waccm_mad_mam4,waccm_ma_mam4,waccm_tsmlt_mam4,waccm_tsmlt_mam4_vbsext,waccm_mad_mam5,waccm_ma_mam5,waccm_tsmlt_mam5,waccm_tsmlt_mam5_vbsext,geoschem_mam4" value="">
107+
Chemistry package: none,ghg_mam4,terminator,trop_mam3,trop_mam4,trop_mam7,trop_mozart,trop_strat_mam4_ts2,trop_strat_mam4_vbs,trop_strat_mam4_vbsext,trop_strat_mam5_ts2,trop_strat_mam5_vbs,trop_strat_mam5_vbsext,waccm_ma,waccm_mad,waccm_ma_sulfur,waccm_sc,waccm_sc_mam4,waccm_mad_mam4,waccm_ma_mam4,waccm_tsmlt_mam4,waccm_tsmlt_mam4_vbsext,waccm_mad_mam5,waccm_ma_mam5,waccm_tsmlt_mam5,waccm_tsmlt_mam5_vbsext,geoschem_mam4
108108
</entry>
109109
<entry id="prog_species" valid_values="DST,SSLT,SO4,GHG,OC,BC,CARBON16" value="" list="1">
110110
Prognostic mozart species packages: list of any subset of the following: DST,SSLT,SO4,GHG,OC,BC,CARBON16

bld/configure

+36-11
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ OPTIONS
6767
trop_strat_mam4_vbs | trop_strat_mam4_vbsext | trop_strat_mam5_ts2 | trop_strat_mam5_vbs |
6868
trop_strat_mam5_vbsext | waccm_ma | waccm_mad | waccm_ma_sulfur | waccm_sc | waccm_sc_mam4 |
6969
waccm_mad_mam4 | waccm_ma_mam4 | waccm_tsmlt_mam4 | waccm_tsmlt_mam4_vbsext | waccm_mad_mam5 |
70-
waccm_ma_mam5 | waccm_tsmlt_mam5 | waccm_tsmlt_mam5_vbsext ].
70+
waccm_ma_mam5 | waccm_tsmlt_mam5 | waccm_tsmlt_mam5_vbsext | geoschem_mam4 ].
7171
Default: trop_mam4 for cam6 and trop_mam3 for cam5.
7272
-[no]clubb_sgs Switch on [off] CLUBB_SGS. Default: on for cam6, otherwise off.
7373
-clubb_opts <list> Comma separated list of CLUBB options to turn on/off. By default they are all off.
@@ -592,7 +592,6 @@ if (defined $opts{'chem'}) {
592592

593593
# If the user has specified a simple physics package...
594594
if ($simple_phys) {
595-
# the only valid chemistry options are 'none' and 'terminator'
596595
if (($chem_pkg ne 'none') and ($chem_pkg ne 'terminator')) {
597596
die "configure ERROR: -phys=$phys_pkg -chem=$chem_pkg\n".
598597
" -chem can only be set to 'none' or 'terminator'.\n";
@@ -1360,7 +1359,11 @@ my $chem_cppdefs = '';
13601359
my $chem_src_dir = '';
13611360

13621361
if (!$prog_species) {
1363-
$chem_src_dir = "$cam_dir/src/chemistry/pp_$chem_pkg";
1362+
if ($chem_pkg =~ 'geoschem') {
1363+
$chem_src_dir = "$cam_dir/src/chemistry/geoschem";
1364+
} else {
1365+
$chem_src_dir = "$cam_dir/src/chemistry/pp_$chem_pkg";
1366+
}
13641367
$cfg_ref->set('chem_src_dir', $chem_src_dir);
13651368
}
13661369

@@ -1387,10 +1390,10 @@ if ($customize) {
13871390
}
13881391
if ($print>=2) { print "Chem preprocessor compiler: $chemproc_fc $eol"; }
13891392
($chem_nadv) = chem_preprocess($cfg_ref,$print,$chemproc_fc);
1390-
} elsif ($chem_pkg ne 'none') {
1393+
} elsif ($chem_pkg ne 'none' and $chem_pkg !~ 'geoschem') {
13911394
# copy over chem docs
1392-
copy("$chem_src_dir/chem_mech.doc",$cam_bld) or die "copy failed $! \n";
1393-
copy("$chem_src_dir/chem_mech.in" ,$cam_bld) or die "copy failed $! \n";
1395+
copy("$chem_src_dir/chem_mech.doc",$cam_bld) or die "copy of chem_mec.doc failed $! \n";
1396+
copy("$chem_src_dir/chem_mech.in" ,$cam_bld) or die "copy of chem_mech.in failed $! \n";
13941397
($chem_nadv) = chem_number_adv($chem_src_dir);
13951398
}
13961399

@@ -1404,6 +1407,13 @@ if ($chem_pkg =~ '_mam3') {
14041407
$chem_cppdefs = ' -DMODAL_AERO -DMODAL_AERO_7MODE ';
14051408
}
14061409

1410+
# Customize GEOS-Chem advected species and chemistry CPP definitions
1411+
if ($chem_pkg =~ 'geoschem') {
1412+
$chem_cppdefs .= ' -DEXTERNAL_GRID -DEXTERNAL_FORCING ';
1413+
if ($chem_pkg =~ '_mam4') {
1414+
$chem_nadv = 267; # includes GC advected species (233), CO2 (1), and MAM aerosols (33)
1415+
}
1416+
}
14071417
# CARMA sectional microphysics
14081418
#
14091419
# New CARMA models need to define the number of advected constituents.
@@ -1565,8 +1575,6 @@ else {
15651575
$nadv = $cfg_ref->get('nadv');
15661576
if ($print>=2) { print "Total advected constituents: $nadv$eol"; }
15671577

1568-
#-----------------------------------------------------------------------------------------------
1569-
15701578
#-----------------------------------------------------------------------------------------------
15711579
# Makefile configuration #######################################################################
15721580
#-----------------------------------------------------------------------------------------------
@@ -1675,7 +1683,7 @@ elsif ($fc =~ /nvfor/) { $fc_type = 'nvhpc'; }
16751683

16761684
# User override for Fortran compiler type
16771685
if (defined $opts{'fc_type'}) { $fc_type = $opts{'fc_type'}; }
1678-
if ($fc_type == "oneapi") {$fc_type = 'intel'; }
1686+
if ($fc_type eq "oneapi") {$fc_type = 'intel'; }
16791687
if ($fc_type) {
16801688
$cfg_ref->set('fc_type', $fc_type);
16811689
if ($print>=2) { print "Fortran compiler type: $fc_type$eol"; }
@@ -1941,6 +1949,12 @@ if ($unicon) { $cfg_cppdefs .= ' -DUSE_UNICON'; }
19411949
# HEMCO_CESM - indicates CESM model environment. Deprecated, will be removed soon.
19421950
$cfg_cppdefs .= ' -DMODEL_ -DMODEL_CESM -DHEMCO_CESM -DUSE_REAL8 ';
19431951

1952+
# Compiler CPP definitions for GEOS-Chem
1953+
if ($chem_pkg =~ 'geoschem') {
1954+
if ($fc_type eq 'intel') { $cfg_cppdefs .= ' -DLINUX_IFORT'; }
1955+
elsif ($fc_type eq 'gnu') { $cfg_cppdefs .= ' -DLINUX_GFORTRAN'; }
1956+
}
1957+
19441958
#-----------------------------------------------------------------------------------------------
19451959
# CPP defines to put on Makefile
19461960

@@ -2161,10 +2175,21 @@ sub write_filepath
21612175
if ($chem_src_dir) {
21622176
print $fh "$chem_src_dir\n";
21632177
}
2178+
2179+
# GEOS-Chem must be prior to Mozart
2180+
if ($chem_pkg =~ 'geoschem') {
2181+
print $fh "$chem_src_dir/geoschem_src/GeosCore\n";
2182+
print $fh "$chem_src_dir/geoschem_src/GeosUtil\n";
2183+
print $fh "$chem_src_dir/geoschem_src/Headers\n";
2184+
print $fh "$chem_src_dir/geoschem_src/ISORROPIA\n";
2185+
print $fh "$chem_src_dir/geoschem_src/KPP/fullchem\n";
2186+
print $fh "$camsrcdir/src/chemistry/pp_none\n";
2187+
}
2188+
21642189
if ($chem =~ /_mam/) {
2165-
print $fh "$camsrcdir/src/chemistry/modal_aero\n";
2190+
print $fh "$camsrcdir/src/chemistry/modal_aero\n";
21662191
} else {
2167-
print $fh "$camsrcdir/src/chemistry/bulk_aero\n";
2192+
print $fh "$camsrcdir/src/chemistry/bulk_aero\n";
21682193
}
21692194
print $fh "$camsrcdir/src/chemistry/aerosol\n";
21702195

0 commit comments

Comments
 (0)