Skip to content

Commit 2a47c38

Browse files
authored
Merge pull request #1495 from fvitt/volc_mode5
cam6_4_156: fixes to prescribed volcanic aerosols
2 parents b35f615 + c91f2e2 commit 2a47c38

8 files changed

Lines changed: 183 additions & 30 deletions

File tree

bld/namelist_files/use_cases/1850_cam_mt.xml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515

1616
<!-- ozone data : -->
1717
<prescribed_ozone_datapath> 'atm/cam/ozone_strataero' </prescribed_ozone_datapath>
18-
<prescribed_ozone_file > 'ozone_strataero_cyclical_WACCM6_L70_CMIP6-piControl.001_y21-50avg_zm_5day_c180802.nc' </prescribed_ozone_file>
18+
<prescribed_ozone_file > 'ozone_strataero_b.e30_alpha07c_cesm.B1850C_MTt4s.ne30_t232_wgx3.251.001_1850climo_zm_5day_c251204.nc'</prescribed_ozone_file>
1919
<prescribed_ozone_name > 'O3' </prescribed_ozone_name>
2020
<prescribed_ozone_type > CYCLICAL </prescribed_ozone_type>
2121
<prescribed_ozone_cycle_yr> 1850 </prescribed_ozone_cycle_yr>
2222

2323
<!-- Prescribed stratospheric aerosols : -->
2424
<prescribed_strataero_cycle_yr> 1850 </prescribed_strataero_cycle_yr>
2525
<prescribed_strataero_datapath> 'atm/cam/ozone_strataero' </prescribed_strataero_datapath>
26-
<prescribed_strataero_file> 'ozone_strataero_cyclical_WACCM6_L70_CMIP6-piControl.001_y21-50avg_zm_5day_c180802.nc' </prescribed_strataero_file>
26+
<prescribed_strataero_file> 'ozone_strataero_b.e30_alpha07c_cesm.B1850C_MTt4s.ne30_t232_wgx3.251.001_1850climo_zm_5day_c251204.nc'</prescribed_strataero_file>
2727
<prescribed_strataero_use_chemtrop> .true. </prescribed_strataero_use_chemtrop>
2828
<prescribed_strataero_type> 'CYCLICAL' </prescribed_strataero_type>
2929

@@ -87,6 +87,17 @@
8787
'SOAE -> 5.1004D0*$INPUTDATA_ROOT/atm/cam/chem/emis/cmip7/ne30/DRES-CMIP-BB4CMIP7-2-0_smoothed_20251102/MTERP_smoothed_input4MIPs_emissions_CMIP_DRES-CMIP-BB4CMIP7-2-0_gn_175001-202112_c20251102.nc'
8888
</srf_emis_specifier>
8989

90+
<rad_climate>
91+
'A:Q:H2O', 'N:O2:O2', 'A:CO2:CO2', 'N:ozone:O3', 'A:N2O:N2O', 'A:CH4:CH4', 'N:CFC11STAR:CFC11', 'A:CFC12:CFC12',
92+
'M:mam4_mode1:$INPUTDATA_ROOT/atm/cam/physprops/mam4_mode1_rrtmg_aeronetdust_sig1.6_dgnh.48_c140304.nc',
93+
'M:mam4_mode2:$INPUTDATA_ROOT/atm/cam/physprops/mam4_mode2_rrtmg_aitkendust_c141106.nc',
94+
'M:mam4_mode3:$INPUTDATA_ROOT/atm/cam/physprops/mam4_mode3_rrtmg_aeronetdust_c141106.nc',
95+
'M:mam4_mode4:$INPUTDATA_ROOT/atm/cam/physprops/mam4_mode4_rrtmg_c130628.nc',
96+
'N:VOLC_MMR1:$INPUTDATA_ROOT/atm/cam/physprops/volc_camRRTMG_byradius_sigma1.6_mode1_c210211.nc',
97+
'N:VOLC_MMR2:$INPUTDATA_ROOT/atm/cam/physprops/volc_camRRTMG_byradius_sigma1.6_mode2_c210211.nc',
98+
'N:VOLC_MMR3:$INPUTDATA_ROOT/atm/cam/physprops/volc_camRRTMG_byradius_sigma1.2_mode3_c210211.nc',
99+
'N:VOLC_MMR5:$INPUTDATA_ROOT/atm/cam/physprops/volc_camRRTMG_byradius_sigma1.2_mode5_c260228.nc'
100+
</rad_climate>
90101

91102
<csw_time_type>CYCLICAL</csw_time_type>
92103
<csw_cycle_yr>1850 </csw_cycle_yr>

bld/namelist_files/use_cases/1850_trop_strat_t4s_cam7.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<namelist_defaults>
44

55
<!-- Initial conditions -->
6-
<ncdata hgrid="ne30np4" nlev="93">atm/cam/inic/se/1850C_T4S_ne30pg3_spinup01.cam.i.0002-01-01_c241114.nc</ncdata>
6+
<ncdata hgrid="ne30np4" nlev="93">atm/cam/inic/se/b.e30_alpha07c_cesm.B1850C_MTt4s.ne30_t232_wgx3.251.001.cam.i.0032-01-01_c260304.nc</ncdata>
77

88
<!-- Solar data -->
99
<solar_irrad_data_file>atm/cam/solar/SolarForcingCMIP7-4.6_18491230-20240101_sumEPP_c20250630.nc</solar_irrad_data_file>

cime_config/testdefs/testmods_dirs/cam/outfrq9s_cam7_presc_volc/user_nl_cam

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ rad_climate =
1818
'N:VOLC_MMR1:$DIN_LOC_ROOT/atm/cam/physprops/volc_camRRTMG_byradius_sigma1.6_mode1_c210211.nc',
1919
'N:VOLC_MMR2:$DIN_LOC_ROOT/atm/cam/physprops/volc_camRRTMG_byradius_sigma1.6_mode2_c210211.nc',
2020
'N:VOLC_MMR3:$DIN_LOC_ROOT/atm/cam/physprops/volc_camRRTMG_byradius_sigma1.2_mode3_c210211.nc',
21-
'N:VOLC_MMR5:$DIN_LOC_ROOT/atm/cam/physprops/volc_camRRTMG_byradius_sigma1.2_mode3_c210211.nc'
21+
'N:VOLC_MMR5:$DIN_LOC_ROOT/atm/cam/physprops/volc_camRRTMG_byradius_sigma1.2_mode5_c260228.nc'
2222

2323
fincl2 = 'VOLC_MMR1','VOLC_MMR2','VOLC_MMR3','VOLC_MMR5','VOLC_RAD_GEOM1','VOLC_RAD_GEOM2','VOLC_RAD_GEOM3','VOLC_RAD_GEOM5',
24-
'VOLC_SAD'
24+
'VOLC_SAD'

doc/ChangeLog

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,124 @@
11
===============================================================
22

3+
Tag name: cam6_4_156
4+
Originator(s): fvitt, tilmes
5+
Date: 6 Mar 2026
6+
One-line Summary: Fix issue with prescribed volcanic aerosols
7+
Github PR URL: https://github.com/ESCOMP/CAM/pull/1495
8+
9+
Purpose of changes (include the issue number and title text for each relevant GitHub issue):
10+
11+
Fix issue with 5th mode of the prescribed volcanic sulfate.
12+
Issue #1494
13+
14+
Update IC file for B1850C_MTt4s compset.
15+
Issue #1493
16+
17+
Describe any changes made to build system: N/A
18+
19+
Describe any changes made to the namelist: N/A
20+
21+
List any changes to the defaults for the boundary datasets: N/A
22+
23+
Describe any substantial timing or memory changes: N/A
24+
25+
Code reviewed by: cacraigucar
26+
27+
List all files eliminated: N/A
28+
29+
List all files added and what they do: N/A
30+
31+
List all existing files that have been modified, and describe the changes:
32+
33+
M bld/namelist_files/use_cases/1850_cam_mt.xml
34+
- update prescribed ozone and strataero inputs
35+
- set rad_climate to include VOLC_MMR5 (prescrided 5th mode of volcanic sulfate)
36+
and use corrected physprop file for VOLC_MMR5
37+
38+
M bld/namelist_files/use_cases/1850_trop_strat_t4s_cam7.xml
39+
- update IC file (to include O2)
40+
41+
M cime_config/testdefs/testmods_dirs/cam/outfrq9s_cam7_presc_volc/user_nl_cam
42+
- set rad_climate to include VOLC_MMR5 (prescrided 5th mode of volcanic sulfate)
43+
- use corrected physprop file for VOLC_MMR5
44+
45+
M src/chemistry/modal_aero/aero_model.F90
46+
- output diameters of all 5 modes when history_cesm_forcing is TRUE
47+
48+
M src/chemistry/mozart/mo_chm_diags.F90
49+
- output so4 of the 5th mode when history_cesm_forcing is TRUE
50+
51+
M src/physics/cam/aerosol_optics_cam.F90
52+
- use correct radius (5th mode) for VOLC_MMR5
53+
- call output_bin_diags for BAM aerosols (more diagnistcis)
54+
55+
M src/physics/cam/phys_prop.F90
56+
- add volcanic_radius5 to the list of valid optics methods
57+
58+
If there were any failures reported from running test_driver.sh on any test
59+
platform, and checkin with these failures has been OK'd by the gatekeeper,
60+
then copy the lines from the td.*.status files for the failed tests to the
61+
appropriate machine below. All failed tests must be justified.
62+
63+
derecho/intel/aux_cam:
64+
FAIL ERI_D_Ln18.ne16pg3_ne16pg3_mt232.FHIST_C4.derecho_intel.cam-outfrq3s_eri
65+
- pre-existing failure
66+
ERI bug in CICE -- See: https://github.com/ESCOMP/CESM_CICE/issues/34
67+
68+
DIFF ERP_D_Ln9.ne30pg3_ne30pg3_mt232.F1850C_MTso.derecho_intel.cam-outfrq9s
69+
- expected difference due to corrections to prescribed volcanic aerosols
70+
71+
DIFF ERP_Ln9.f19_f19_mg17.FWsc1850.derecho_intel.cam-outfrq9s
72+
- difference only in AODVISstdn (now includes prescribed volcanic sulfate)
73+
otherwise bit-for-bit unchanged
74+
75+
DIFF ERP_Ln9.ne30pg3_ne30pg3_mg17.FHISTC_WAma.derecho_intel.cam-outfrq9s
76+
DIFF ERP_Ld3.ne16pg3_ne16pg3_mg17.FHISTC_WAt1ma.derecho_intel.cam-reduced_hist1d
77+
DIFF ERS_Ln9.ne30pg3_ne30pg3_mg17.FHISTC_WXma.derecho_intel.cam-outfrq9s_ctem
78+
DIFF SMS_D_Ln9.f19_f19_mg17.FWma2000climo.derecho_intel.cam-outfrq9s
79+
DIFF SMS_D_Ln9.f19_f19_mg17.FWma2000climo.derecho_intel.cam-outfrq9s_waccm_ma_mam4
80+
DIFF SMS_Ld1.f09_f09_mg17.FW2000climo.derecho_intel.cam-outfrq1d
81+
DIFF SMS_Ln9.f09_f09_mg17.FW1850.derecho_intel.cam-reduced_hist3s
82+
DIFF SMS_C2_D_Ln9.ne16pg3_ne16pg3_mg17.FHISTC_WXma.derecho_intel.cam-outfrq9s
83+
DIFF ERS_Ln9.f19_f19_mg17.FXSD.derecho_intel.cam-outfrq9s
84+
- default output now includes diameters all 5 modes (for history_cesm_forcing=.true.)
85+
otherwise bit-for-bit unchanged
86+
87+
DIFF ERC_D_Ln9.f19_f19_mg17.QPMOZ.derecho_intel.cam-outfrq3s
88+
DIFF ERP_Lh12.f19_f19_mg17.FW4madSD.derecho_intel.cam-outfrq3h
89+
- differences in fill patterns of AOD diags, otherwise bit-for-bit unchanged
90+
91+
derecho/nvhpc/aux_cam: All PASS
92+
93+
izumi/nag/aux_cam:
94+
DIFF ERC_D_Ln9.ne3pg3_ne3pg3_mt232.FHISTC_LTso.izumi_nag.cam-outfrq9s_nochem
95+
DIFF SMS_D_Ln6.ne5_ne5_mg37.QPWmaC4.izumi_nag.cam-outfrq3s_physgrid_tem
96+
- differences in fill patterns of AOD diags, otherwise bit-for-bit unchanged
97+
98+
izumi/gnu/aux_cam:
99+
DIFF ERC_D_Ln9.f10_f10_mg37.QPC4.izumi_gnu.cam-outfrq3s_diags
100+
- differences in fill patterns of AOD diags and other aerosol optics now includes
101+
BAM aerosols, otherwise bit-for-bit unchanged
102+
103+
DIFF ERC_D_Ln9.f10_f10_mt232.FHIST_C5.izumi_gnu.cam-rad_diag
104+
DIFF ERC_D_Ln9.ne3pg3_ne3pg3_mt232.F1850_C4.izumi_gnu.cam-co2rmp
105+
DIFF ERC_D_Ln9.ne3pg3_ne3pg3_mt232.FHIST.izumi_gnu.cam-nochem_clubbmf
106+
DIFF SMS_D_Ln3.f10_f10_mg37.QPMOZ.izumi_gnu.cam-outfrq3s_chemproc
107+
- differences in fill patterns of AOD diags, otherwise bit-for-bit unchanged
108+
109+
DIFF SMS_D_Ln9.f10_f10_mg37.FWmaHIST.izumi_gnu.cam-outfrq9s_mee_fluxes
110+
DIFF SMS_D_Ln9.f10_f10_mg37.QPWmaC4.izumi_gnu.cam-outfrq9s_apmee
111+
DIFF SMS_D_Ln9.f19_f19_mt232.FW4madSD.izumi_gnu.cam-outfrq9s
112+
- default output now includes diameters all 5 modes (for history_cesm_forcing=.true.)
113+
otherwise bit-for-bit unchanged
114+
115+
Summarize any changes to answers:
116+
117+
larger than roundoff for F1850C_MTso compset, otherwise bit-for-bit unchanged
118+
119+
===============================================================
120+
===============================================================
121+
3122
Tag name: cam6_4_155
4123
Originator(s): cacraig, jimmielin
5124
Date: Feb 24, 2026

src/chemistry/modal_aero/aero_model.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ subroutine aero_model_init( pbuf2d )
444444
call add_default( dgnum_name(n), 1, ' ' )
445445
call add_default( dgnumwet_name(n), 1, ' ' )
446446
endif
447-
if ( history_cesm_forcing .and. n<4 ) then
447+
if ( history_cesm_forcing ) then
448448
call add_default( dgnumwet_name(n), 8, ' ' )
449449
endif
450450

src/chemistry/mozart/mo_chm_diags.F90

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ module mo_chm_diags
2828
integer :: id_hf,id_f,id_cof2,id_cofcl,id_ch3br
2929
integer :: id_br,id_bro,id_hbr,id_hobr,id_ch4,id_h2o,id_h2
3030
integer :: id_o,id_o2,id_h, id_h2o2, id_n2o
31-
integer :: id_co2,id_o3,id_oh,id_ho2,id_so4_a1,id_so4_a2,id_so4_a3
31+
integer :: id_co2,id_o3,id_oh,id_ho2,id_so4_a1,id_so4_a2,id_so4_a3,id_so4_a5
3232
integer :: id_num_a2,id_num_a3,id_dst_a3,id_ncl_a3
3333
integer :: id_ndep,id_nhdep
3434
integer :: id_clno2,id_brno2,id_br2
@@ -160,6 +160,7 @@ subroutine chm_diags_inti
160160
id_so4_a1 = get_spc_ndx( 'so4_a1' )
161161
id_so4_a2 = get_spc_ndx( 'so4_a2' )
162162
id_so4_a3 = get_spc_ndx( 'so4_a3' )
163+
id_so4_a5 = get_spc_ndx( 'so4_a5' )
163164
id_num_a2 = get_spc_ndx( 'num_a2' )
164165
id_num_a3 = get_spc_ndx( 'num_a3' )
165166
id_dst_a3 = get_spc_ndx( 'dst_a3' )
@@ -568,6 +569,7 @@ subroutine chm_diags_inti
568569
if (m==id_so4_a1) call add_default( spc_name, 8, ' ')
569570
if (m==id_so4_a2) call add_default( spc_name, 8, ' ')
570571
if (m==id_so4_a3) call add_default( spc_name, 8, ' ')
572+
if (m==id_so4_a5) call add_default( spc_name, 8, ' ')
571573

572574
if (m==id_num_a2) call add_default( spc_name, 8, ' ')
573575
if (m==id_num_a3) call add_default( spc_name, 8, ' ')

src/physics/cam/aerosol_optics_cam.F90

Lines changed: 43 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,9 @@ subroutine aerosol_optics_cam_init
178178
modal_active = nmodes>0
179179
carma_active = nbins>0
180180
bulk_active = nbulk_aerosols>0
181+
if (masterproc) then
182+
write(iulog,*) prefix,'nmodes,nbins,nbulk_aerosols: ',nmodes,nbins,nbulk_aerosols
183+
end if
181184

182185
! count aerosol models
183186
if (modal_active) then
@@ -863,15 +866,19 @@ subroutine aerosol_optics_cam_sw(list_idx, state, pbuf, nnite, idxnite, tauxar,
863866
case('nonhygro', 'insoluble')
864867
aero_optics=>insoluble_aerosol_optics(aeroprops, aerostate, list_idx, ibin)
865868

866-
case('volcanic_radius','volcanic_radius1','volcanic_radius2','volcanic_radius3')
869+
case('volcanic_radius','volcanic_radius1','volcanic_radius2','volcanic_radius3','volcanic_radius5')
870+
871+
! construct name of radius physics buffer field
867872
pbuf_fld = 'VOLC_RAD_GEOM '
868873
if (len_trim(opticstype)>15) then
869874
pbuf_fld = trim(pbuf_fld)//opticstype(16:16)
870875
endif
876+
871877
! get microphysical properties for volcanic aerosols
872878
idx = pbuf_get_index(pbuf_fld)
873-
call pbuf_get_field(pbuf, idx, geometric_radius )
879+
call pbuf_get_field(pbuf, idx, geometric_radius)
874880

881+
! construct aerosol optics object
875882
aero_optics=>volcrad_aerosol_optics(aeroprops, aerostate, list_idx, &
876883
ibin, ncol, pver, geometric_radius(:ncol,:))
877884

@@ -904,9 +911,7 @@ subroutine aerosol_optics_cam_sw(list_idx, state, pbuf, nnite, idxnite, tauxar,
904911
! ref: Fig. 1d of Jasper F. Kok et al. (2017),
905912
! Smaller desert dust cooling effect estimated from analysis of dust size and abundance
906913

907-
if (.not.aeroprops%model_is('BAM')) then
908-
call update_diags( is_coarse_dust=coarse_dust_mode ) ! dopaer is updated in update_diags.
909-
end if
914+
call update_diags( is_coarse_dust=coarse_dust_mode ) ! dopaer is updated in update_diags.
910915

911916
! dmleung: update_diags updated dopaer(icol) as a diagnostic.
912917
! Aerosol optical and radiative properties are subsequently modified given dopaer update in update_diags.
@@ -941,9 +946,9 @@ subroutine aerosol_optics_cam_sw(list_idx, state, pbuf, nnite, idxnite, tauxar,
941946
bam_cnt = bam_cnt+1
942947
call aer_vis_diag_out(lchnk, ncol, nnite, idxnite, bam_cnt, taubam, &
943948
list_idx, troplev)
944-
else
945-
call output_bin_diags()
946-
end if
949+
endif
950+
951+
call output_bin_diags()
947952

948953
end do binloop
949954
end do aeromodel
@@ -1018,33 +1023,45 @@ subroutine update_diags( is_coarse_dust )
10181023
case('dust')
10191024
dustvol(icol) = vol(icol)
10201025
burdendust(icol) = burdendust(icol) + specmmr(icol,ilev)*mass(icol,ilev)
1021-
scatdust(icol) = vol(icol) * specrefindex(iwav)%re
1022-
absdust(icol) =-vol(icol) * specrefindex(iwav)%im
1026+
if (associated(specrefindex)) then
1027+
scatdust(icol) = vol(icol) * specrefindex(iwav)%re
1028+
absdust(icol) =-vol(icol) * specrefindex(iwav)%im
1029+
end if
10231030
hygrodust(icol)= vol(icol)*hygro_aer
10241031
case('black-c')
10251032
burdenbc(icol) = burdenbc(icol) + specmmr(icol,ilev)*mass(icol,ilev)
1026-
scatbc(icol) = vol(icol) * specrefindex(iwav)%re
1027-
absbc(icol) =-vol(icol) * specrefindex(iwav)%im
1033+
if (associated(specrefindex)) then
1034+
scatbc(icol) = vol(icol) * specrefindex(iwav)%re
1035+
absbc(icol) =-vol(icol) * specrefindex(iwav)%im
1036+
end if
10281037
hygrobc(icol)= vol(icol)*hygro_aer
10291038
case('sulfate')
10301039
burdenso4(icol) = burdenso4(icol) + specmmr(icol,ilev)*mass(icol,ilev)
1031-
scatsulf(icol) = vol(icol) * specrefindex(iwav)%re
1032-
abssulf(icol) =-vol(icol) * specrefindex(iwav)%im
1040+
if (associated(specrefindex)) then
1041+
scatsulf(icol) = vol(icol) * specrefindex(iwav)%re
1042+
abssulf(icol) =-vol(icol) * specrefindex(iwav)%im
1043+
end if
10331044
hygrosulf(icol)= vol(icol)*hygro_aer
10341045
case('p-organic')
10351046
burdenpom(icol) = burdenpom(icol) + specmmr(icol,ilev)*mass(icol,ilev)
1036-
scatpom(icol) = vol(icol) * specrefindex(iwav)%re
1037-
abspom(icol) =-vol(icol) * specrefindex(iwav)%im
1047+
if (associated(specrefindex)) then
1048+
scatpom(icol) = vol(icol) * specrefindex(iwav)%re
1049+
abspom(icol) =-vol(icol) * specrefindex(iwav)%im
1050+
end if
10381051
hygropom(icol)= vol(icol)*hygro_aer
10391052
case('s-organic')
10401053
burdensoa(icol) = burdensoa(icol) + specmmr(icol,ilev)*mass(icol,ilev)
1041-
scatsoa(icol) = vol(icol) * specrefindex(iwav)%re
1042-
abssoa(icol) = -vol(icol) * specrefindex(iwav)%im
1054+
if (associated(specrefindex)) then
1055+
scatsoa(icol) = vol(icol) * specrefindex(iwav)%re
1056+
abssoa(icol) = -vol(icol) * specrefindex(iwav)%im
1057+
end if
10431058
hygrosoa(icol)= vol(icol)*hygro_aer
10441059
case('seasalt')
10451060
burdenseasalt(icol) = burdenseasalt(icol) + specmmr(icol,ilev)*mass(icol,ilev)
1046-
scatsslt(icol) = vol(icol) * specrefindex(iwav)%re
1047-
abssslt(icol) = -vol(icol) * specrefindex(iwav)%im
1061+
if (associated(specrefindex)) then
1062+
scatsslt(icol) = vol(icol) * specrefindex(iwav)%re
1063+
abssslt(icol) = -vol(icol) * specrefindex(iwav)%im
1064+
end if
10481065
hygrosslt(icol)= vol(icol)*hygro_aer
10491066
end select
10501067
end do
@@ -1432,15 +1449,19 @@ subroutine aerosol_optics_cam_lw(list_idx, state, pbuf, tauxar)
14321449
case('nonhygro', 'insoluble')
14331450
aero_optics=>insoluble_aerosol_optics(aeroprops, aerostate, list_idx, ibin)
14341451

1435-
case('volcanic_radius','volcanic_radius1','volcanic_radius2','volcanic_radius3')
1452+
case('volcanic_radius','volcanic_radius1','volcanic_radius2','volcanic_radius3','volcanic_radius5')
1453+
1454+
! construct name of radius physics buffer field
14361455
pbuf_fld = 'VOLC_RAD_GEOM '
14371456
if (len_trim(opticstype)>15) then
14381457
pbuf_fld = trim(pbuf_fld)//opticstype(16:16)
14391458
endif
1459+
14401460
! get microphysical properties for volcanic aerosols
14411461
idx = pbuf_get_index(pbuf_fld)
1442-
call pbuf_get_field(pbuf, idx, geometric_radius )
1462+
call pbuf_get_field(pbuf, idx, geometric_radius)
14431463

1464+
! construct aerosol optics object
14441465
aero_optics=>volcrad_aerosol_optics(aeroprops, aerostate, list_idx, &
14451466
ibin, ncol, pver, geometric_radius(:ncol,:))
14461467

src/physics/cam/phys_prop.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,7 @@ subroutine aerosol_optics_init(phys_prop, nc_id)
537537
case ('insoluble')
538538
call insoluble_optics_init(phys_prop, nc_id)
539539

540-
case ('volcanic_radius','volcanic_radius1','volcanic_radius2','volcanic_radius3')
540+
case ('volcanic_radius','volcanic_radius1','volcanic_radius2','volcanic_radius3','volcanic_radius5')
541541
call volcanic_radius_optics_init(phys_prop, nc_id)
542542

543543
case ('volcanic')

0 commit comments

Comments
 (0)