diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml
index 6179cfa4eb..a9c59c576b 100644
--- a/bld/namelist_files/namelist_defaults_cam.xml
+++ b/bld/namelist_files/namelist_defaults_cam.xml
@@ -3413,232 +3413,191 @@
atm/cam/chem/carma/data/GFEDv3_OC_2010.nc
- 'MXAER01:=', 'N:NBMXAER01:N:CLDNBMXAER01:num:+',
- 'A:MXAER01:N:CLDMXAER01:mmr:+',
- 'N:MXSULF01:N:CLDMXSULF01:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'MXAER01:=', 'N:NBMXAER01:N:CLDNBMXAER01:num:+',
+ 'A:MXSULF01:N:CLDMXSULF01:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC01:N:CLDMXOC01:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA01:N:CLDMXSOA01:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC01:N:CLDMXBC01:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST01:N:CLDMXDUST01:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT01:N:CLDMXSALT01:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER02:=', 'N:NBMXAER02:N:CLDNBMXAER02:num:+',
- 'A:MXAER02:N:CLDMXAER02:mmr:+',
- 'N:MXSULF02:N:CLDMXSULF02:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF02:N:CLDMXSULF02:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC02:N:CLDMXOC02:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA02:N:CLDMXSOA02:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC02:N:CLDMXBC02:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST02:N:CLDMXDUST02:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT02:N:CLDMXSALT02:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER03:=', 'N:NBMXAER03:N:CLDNBMXAER03:num:+',
- 'A:MXAER03:N:CLDMXAER03:mmr:+',
- 'N:MXSULF03:N:CLDMXSULF03:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF03:N:CLDMXSULF03:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC03:N:CLDMXOC03:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA03:N:CLDMXSOA03:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC03:N:CLDMXBC03:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST03:N:CLDMXDUST03:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT03:N:CLDMXSALT03:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER04:=', 'N:NBMXAER04:N:CLDNBMXAER04:num:+',
- 'A:MXAER04:N:CLDMXAER04:mmr:+',
- 'N:MXSULF04:N:CLDMXSULF04:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF04:N:CLDMXSULF04:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC04:N:CLDMXOC04:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA04:N:CLDMXSOA04:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC04:N:CLDMXBC04:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST04:N:CLDMXDUST04:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT04:N:CLDMXSALT04:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER05:=', 'N:NBMXAER05:N:CLDNBMXAER05:num:+',
- 'A:MXAER05:N:CLDMXAER05:mmr:+',
- 'N:MXSULF05:N:CLDMXSULF05:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF05:N:CLDMXSULF05:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC05:N:CLDMXOC05:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA05:N:CLDMXSOA05:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC05:N:CLDMXBC05:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST05:N:CLDMXDUST05:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT05:N:CLDMXSALT05:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER06:=', 'N:NBMXAER06:N:CLDNBMXAER06:num:+',
- 'A:MXAER06:N:CLDMXAER06:mmr:+',
- 'N:MXSULF06:N:CLDMXSULF06:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF06:N:CLDMXSULF06:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC06:N:CLDMXOC06:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA06:N:CLDMXSOA06:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC06:N:CLDMXBC06:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST06:N:CLDMXDUST06:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT06:N:CLDMXSALT06:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER07:=', 'N:NBMXAER07:N:CLDNBMXAER07:num:+',
- 'A:MXAER07:N:CLDMXAER07:mmr:+',
- 'N:MXSULF07:N:CLDMXSULF07:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF07:N:CLDMXSULF07:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC07:N:CLDMXOC07:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA07:N:CLDMXSOA07:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC07:N:CLDMXBC07:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST07:N:CLDMXDUST07:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT07:N:CLDMXSALT07:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER08:=', 'N:NBMXAER08:N:CLDNBMXAER08:num:+',
- 'A:MXAER08:N:CLDMXAER08:mmr:+',
- 'N:MXSULF08:N:CLDMXSULF08:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF08:N:CLDMXSULF08:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC08:N:CLDMXOC08:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA08:N:CLDMXSOA08:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC08:N:CLDMXBC08:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST08:N:CLDMXDUST08:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT08:N:CLDMXSALT08:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER09:=', 'N:NBMXAER09:N:CLDNBMXAER09:num:+',
- 'A:MXAER09:N:CLDMXAER09:mmr:+',
- 'N:MXSULF09:N:CLDMXSULF09:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF09:N:CLDMXSULF09:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC09:N:CLDMXOC09:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA09:N:CLDMXSOA09:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC09:N:CLDMXBC09:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST09:N:CLDMXDUST09:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT09:N:CLDMXSALT09:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER10:=', 'N:NBMXAER10:N:CLDNBMXAER10:num:+',
- 'A:MXAER10:N:CLDMXAER10:mmr:+',
- 'N:MXSULF10:N:CLDMXSULF10:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF10:N:CLDMXSULF10:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC10:N:CLDMXOC10:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA10:N:CLDMXSOA10:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC10:N:CLDMXBC10:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST10:N:CLDMXDUST10:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT10:N:CLDMXSALT10:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER11:=', 'N:NBMXAER11:N:CLDNBMXAER11:num:+',
- 'A:MXAER11:N:CLDMXAER11:mmr:+',
- 'N:MXSULF11:N:CLDMXSULF11:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF11:N:CLDMXSULF11:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC11:N:CLDMXOC11:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA11:N:CLDMXSOA11:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC11:N:CLDMXBC11:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST11:N:CLDMXDUST11:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT11:N:CLDMXSALT11:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER12:=', 'N:NBMXAER12:N:CLDNBMXAER12:num:+',
- 'A:MXAER12:N:CLDMXAER12:mmr:+',
- 'N:MXSULF12:N:CLDMXSULF12:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF12:N:CLDMXSULF12:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC12:N:CLDMXOC12:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA12:N:CLDMXSOA12:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC12:N:CLDMXBC12:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST12:N:CLDMXDUST12:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT12:N:CLDMXSALT12:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER13:=', 'N:NBMXAER13:N:CLDNBMXAER13:num:+',
- 'A:MXAER13:N:CLDMXAER13:mmr:+',
- 'N:MXSULF13:N:CLDMXSULF13:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF13:N:CLDMXSULF13:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC13:N:CLDMXOC13:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA13:N:CLDMXSOA13:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC13:N:CLDMXBC13:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST13:N:CLDMXDUST13:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT13:N:CLDMXSALT13:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER14:=', 'N:NBMXAER14:N:CLDNBMXAER14:num:+',
- 'A:MXAER14:N:CLDMXAER14:mmr:+',
- 'N:MXSULF14:N:CLDMXSULF14:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF14:N:CLDMXSULF14:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC14:N:CLDMXOC14:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA14:N:CLDMXSOA14:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC14:N:CLDMXBC14:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST14:N:CLDMXDUST14:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT14:N:CLDMXSALT14:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER15:=', 'N:NBMXAER15:N:CLDNBMXAER15:num:+',
- 'A:MXAER15:N:CLDMXAER15:mmr:+',
- 'N:MXSULF15:N:CLDMXSULF15:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF15:N:CLDMXSULF15:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC15:N:CLDMXOC15:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA15:N:CLDMXSOA15:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC15:N:CLDMXBC15:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST15:N:CLDMXDUST15:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT15:N:CLDMXSALT15:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER16:=', 'N:NBMXAER16:N:CLDNBMXAER16:num:+',
- 'A:MXAER16:N:CLDMXAER16:mmr:+',
- 'N:MXSULF16:N:CLDMXSULF16:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF16:N:CLDMXSULF16:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC16:N:CLDMXOC16:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA16:N:CLDMXSOA16:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC16:N:CLDMXBC16:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST16:N:CLDMXDUST16:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT16:N:CLDMXSALT16:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER17:=', 'N:NBMXAER17:N:CLDNBMXAER17:num:+',
- 'A:MXAER17:N:CLDMXAER17:mmr:+',
- 'N:MXSULF17:N:CLDMXSULF17:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF17:N:CLDMXSULF17:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC17:N:CLDMXOC17:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA17:N:CLDMXSOA17:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC17:N:CLDMXBC17:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST17:N:CLDMXDUST17:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT17:N:CLDMXSALT17:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER18:=', 'N:NBMXAER18:N:CLDNBMXAER18:num:+',
- 'A:MXAER18:N:CLDMXAER18:mmr:+',
- 'N:MXSULF18:N:CLDMXSULF18:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF18:N:CLDMXSULF18:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC18:N:CLDMXOC18:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA18:N:CLDMXSOA18:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC18:N:CLDMXBC18:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST18:N:CLDMXDUST18:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT18:N:CLDMXSALT18:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER19:=', 'N:NBMXAER19:N:CLDNBMXAER19:num:+',
- 'A:MXAER19:N:CLDMXAER19:mmr:+',
- 'N:MXSULF19:N:CLDMXSULF19:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF19:N:CLDMXSULF19:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC19:N:CLDMXOC19:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA19:N:CLDMXSOA19:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC19:N:CLDMXBC19:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST19:N:CLDMXDUST19:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT19:N:CLDMXSALT19:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER20:=', 'N:NBMXAER20:N:CLDNBMXAER20:num:+',
- 'A:MXAER20:N:CLDMXAER20:mmr:+',
- 'N:MXSULF20:N:CLDMXSULF20:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF20:N:CLDMXSULF20:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC20:N:CLDMXOC20:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA20:N:CLDMXSOA20:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXBC20:N:CLDMXBC20:black-c:core:$INPUTDATA_ROOT/atm/cam/physprops/bcpho_rrtmg_carma_c100508.nc:+',
'A:MXDUST20:N:CLDMXDUST20:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT20:N:CLDMXSALT20:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'PRSUL01:=', 'N:NBPRSUL01:N:CLDNBPRSUL01:num:+',
- 'A:PRSUL01:N:CLDPRSUL01:mmr:+',
- 'N:PRSULF01:N:CLDPRSULF01:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF01:N:CLDPRSULF01:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL02:=', 'N:NBPRSUL02:N:CLDNBPRSUL02:num:+',
- 'A:PRSUL02:N:CLDPRSUL02:mmr:+',
- 'N:PRSULF02:N:CLDPRSULF02:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF02:N:CLDPRSULF02:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL03:=', 'N:NBPRSUL03:N:CLDNBPRSUL03:num:+',
- 'A:PRSUL03:N:CLDPRSUL03:mmr:+',
- 'N:PRSULF03:N:CLDPRSULF03:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF03:N:CLDPRSULF03:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL04:=', 'N:NBPRSUL04:N:CLDNBPRSUL04:num:+',
- 'A:PRSUL04:N:CLDPRSUL04:mmr:+',
- 'N:PRSULF04:N:CLDPRSULF04:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF04:N:CLDPRSULF04:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL05:=', 'N:NBPRSUL05:N:CLDNBPRSUL05:num:+',
- 'A:PRSUL05:N:CLDPRSUL05:mmr:+',
- 'N:PRSULF05:N:CLDPRSULF05:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF05:N:CLDPRSULF05:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL06:=', 'N:NBPRSUL06:N:CLDNBPRSUL06:num:+',
- 'A:PRSUL06:N:CLDPRSUL06:mmr:+',
- 'N:PRSULF06:N:CLDPRSULF06:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF06:N:CLDPRSULF06:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL07:=', 'N:NBPRSUL07:N:CLDNBPRSUL07:num:+',
- 'A:PRSUL07:N:CLDPRSUL07:mmr:+',
- 'N:PRSULF07:N:CLDPRSULF07:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF07:N:CLDPRSULF07:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL08:=', 'N:NBPRSUL08:N:CLDNBPRSUL08:num:+',
- 'A:PRSUL08:N:CLDPRSUL08:mmr:+',
- 'N:PRSULF08:N:CLDPRSULF08:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF08:N:CLDPRSULF08:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL09:=', 'N:NBPRSUL09:N:CLDNBPRSUL09:num:+',
- 'A:PRSUL09:N:CLDPRSUL09:mmr:+',
- 'N:PRSULF09:N:CLDPRSULF09:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF09:N:CLDPRSULF09:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL10:=', 'N:NBPRSUL10:N:CLDNBPRSUL10:num:+',
- 'A:PRSUL10:N:CLDPRSUL10:mmr:+',
- 'N:PRSULF10:N:CLDPRSULF10:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF10:N:CLDPRSULF10:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL11:=', 'N:NBPRSUL11:N:CLDNBPRSUL11:num:+',
- 'A:PRSUL11:N:CLDPRSUL11:mmr:+',
- 'N:PRSULF11:N:CLDPRSULF11:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF11:N:CLDPRSULF11:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL12:=', 'N:NBPRSUL12:N:CLDNBPRSUL12:num:+',
- 'A:PRSUL12:N:CLDPRSUL12:mmr:+',
- 'N:PRSULF12:N:CLDPRSULF12:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF12:N:CLDPRSULF12:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL13:=', 'N:NBPRSUL13:N:CLDNBPRSUL13:num:+',
- 'A:PRSUL13:N:CLDPRSUL13:mmr:+',
- 'N:PRSULF13:N:CLDPRSULF13:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF13:N:CLDPRSULF13:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL14:=', 'N:NBPRSUL14:N:CLDNBPRSUL14:num:+',
- 'A:PRSUL14:N:CLDPRSUL14:mmr:+',
- 'N:PRSULF14:N:CLDPRSULF14:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF14:N:CLDPRSULF14:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL15:=', 'N:NBPRSUL15:N:CLDNBPRSUL15:num:+',
- 'A:PRSUL15:N:CLDPRSUL15:mmr:+',
- 'N:PRSULF15:N:CLDPRSULF15:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF15:N:CLDPRSULF15:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL16:=', 'N:NBPRSUL16:N:CLDNBPRSUL16:num:+',
- 'A:PRSUL16:N:CLDPRSUL16:mmr:+',
- 'N:PRSULF16:N:CLDPRSULF16:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF16:N:CLDPRSULF16:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL17:=', 'N:NBPRSUL17:N:CLDNBPRSUL17:num:+',
- 'A:PRSUL17:N:CLDPRSUL17:mmr:+',
- 'N:PRSULF17:N:CLDPRSULF17:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF17:N:CLDPRSULF17:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL18:=', 'N:NBPRSUL18:N:CLDNBPRSUL18:num:+',
- 'A:PRSUL18:N:CLDPRSUL18:mmr:+',
- 'N:PRSULF18:N:CLDPRSULF18:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF18:N:CLDPRSULF18:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL19:=', 'N:NBPRSUL19:N:CLDNBPRSUL19:num:+',
- 'A:PRSUL19:N:CLDPRSUL19:mmr:+',
- 'N:PRSULF19:N:CLDPRSULF19:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF19:N:CLDPRSULF19:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL20:=', 'N:NBPRSUL20:N:CLDNBPRSUL20:num:+',
- 'A:PRSUL20:N:CLDPRSUL20:mmr:+',
- 'N:PRSULF20:N:CLDPRSULF20:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc'
+ 'A:PRSULF20:N:CLDPRSULF20:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc'
'MXAER01:=', 'N:NBMXAER01:N:CLDNBMXAER01:num:+',
- 'A:MXAER01:N:CLDMXAER01:mmr:+',
- 'N:MXSULF01:N:CLDMXSULF01:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF01:N:CLDMXSULF01:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC01:N:CLDMXOC01:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA101:N:CLDMXSOA101:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA201:N:CLDMXSOA201:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3649,8 +3608,7 @@
'A:MXDUST01:N:CLDMXDUST01:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT01:N:CLDMXSALT01:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER02:=', 'N:NBMXAER02:N:CLDNBMXAER02:num:+',
- 'A:MXAER02:N:CLDMXAER02:mmr:+',
- 'N:MXSULF02:N:CLDMXSULF02:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF02:N:CLDMXSULF02:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC02:N:CLDMXOC02:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA102:N:CLDMXSOA102:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA202:N:CLDMXSOA202:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3661,8 +3619,7 @@
'A:MXDUST02:N:CLDMXDUST02:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT02:N:CLDMXSALT02:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER03:=', 'N:NBMXAER03:N:CLDNBMXAER03:num:+',
- 'A:MXAER03:N:CLDMXAER03:mmr:+',
- 'N:MXSULF03:N:CLDMXSULF03:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF03:N:CLDMXSULF03:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC03:N:CLDMXOC03:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA103:N:CLDMXSOA103:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA203:N:CLDMXSOA203:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3673,8 +3630,7 @@
'A:MXDUST03:N:CLDMXDUST03:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT03:N:CLDMXSALT03:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER04:=', 'N:NBMXAER04:N:CLDNBMXAER04:num:+',
- 'A:MXAER04:N:CLDMXAER04:mmr:+',
- 'N:MXSULF04:N:CLDMXSULF04:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF04:N:CLDMXSULF04:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC04:N:CLDMXOC04:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA104:N:CLDMXSOA104:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA204:N:CLDMXSOA204:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3685,8 +3641,7 @@
'A:MXDUST04:N:CLDMXDUST04:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT04:N:CLDMXSALT04:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER05:=', 'N:NBMXAER05:N:CLDNBMXAER05:num:+',
- 'A:MXAER05:N:CLDMXAER05:mmr:+',
- 'N:MXSULF05:N:CLDMXSULF05:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF05:N:CLDMXSULF05:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC05:N:CLDMXOC05:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA105:N:CLDMXSOA105:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA205:N:CLDMXSOA205:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3697,8 +3652,7 @@
'A:MXDUST05:N:CLDMXDUST05:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT05:N:CLDMXSALT05:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER06:=', 'N:NBMXAER06:N:CLDNBMXAER06:num:+',
- 'A:MXAER06:N:CLDMXAER06:mmr:+',
- 'N:MXSULF06:N:CLDMXSULF06:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF06:N:CLDMXSULF06:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC06:N:CLDMXOC06:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA106:N:CLDMXSOA106:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA206:N:CLDMXSOA206:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3709,8 +3663,7 @@
'A:MXDUST06:N:CLDMXDUST06:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT06:N:CLDMXSALT06:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER07:=', 'N:NBMXAER07:N:CLDNBMXAER07:num:+',
- 'A:MXAER07:N:CLDMXAER07:mmr:+',
- 'N:MXSULF07:N:CLDMXSULF07:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF07:N:CLDMXSULF07:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC07:N:CLDMXOC07:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA107:N:CLDMXSOA107:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA207:N:CLDMXSOA207:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3721,8 +3674,7 @@
'A:MXDUST07:N:CLDMXDUST07:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT07:N:CLDMXSALT07:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER08:=', 'N:NBMXAER08:N:CLDNBMXAER08:num:+',
- 'A:MXAER08:N:CLDMXAER08:mmr:+',
- 'N:MXSULF08:N:CLDMXSULF08:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF08:N:CLDMXSULF08:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC08:N:CLDMXOC08:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA108:N:CLDMXSOA108:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA208:N:CLDMXSOA208:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3733,8 +3685,7 @@
'A:MXDUST08:N:CLDMXDUST08:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT08:N:CLDMXSALT08:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER09:=', 'N:NBMXAER09:N:CLDNBMXAER09:num:+',
- 'A:MXAER09:N:CLDMXAER09:mmr:+',
- 'N:MXSULF09:N:CLDMXSULF09:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF09:N:CLDMXSULF09:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC09:N:CLDMXOC09:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA109:N:CLDMXSOA109:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA209:N:CLDMXSOA209:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3745,8 +3696,7 @@
'A:MXDUST09:N:CLDMXDUST09:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT09:N:CLDMXSALT09:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER10:=', 'N:NBMXAER10:N:CLDNBMXAER10:num:+',
- 'A:MXAER10:N:CLDMXAER10:mmr:+',
- 'N:MXSULF10:N:CLDMXSULF10:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF10:N:CLDMXSULF10:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC10:N:CLDMXOC10:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA110:N:CLDMXSOA110:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA210:N:CLDMXSOA210:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3757,8 +3707,7 @@
'A:MXDUST10:N:CLDMXDUST10:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT10:N:CLDMXSALT10:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER11:=', 'N:NBMXAER11:N:CLDNBMXAER11:num:+',
- 'A:MXAER11:N:CLDMXAER11:mmr:+',
- 'N:MXSULF11:N:CLDMXSULF11:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF11:N:CLDMXSULF11:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC11:N:CLDMXOC11:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA111:N:CLDMXSOA111:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA211:N:CLDMXSOA211:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3769,8 +3718,7 @@
'A:MXDUST11:N:CLDMXDUST11:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT11:N:CLDMXSALT11:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER12:=', 'N:NBMXAER12:N:CLDNBMXAER12:num:+',
- 'A:MXAER12:N:CLDMXAER12:mmr:+',
- 'N:MXSULF12:N:CLDMXSULF12:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF12:N:CLDMXSULF12:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC12:N:CLDMXOC12:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA112:N:CLDMXSOA112:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA212:N:CLDMXSOA212:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3781,8 +3729,7 @@
'A:MXDUST12:N:CLDMXDUST12:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT12:N:CLDMXSALT12:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER13:=', 'N:NBMXAER13:N:CLDNBMXAER13:num:+',
- 'A:MXAER13:N:CLDMXAER13:mmr:+',
- 'N:MXSULF13:N:CLDMXSULF13:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF13:N:CLDMXSULF13:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC13:N:CLDMXOC13:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA113:N:CLDMXSOA113:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA213:N:CLDMXSOA213:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3793,8 +3740,7 @@
'A:MXDUST13:N:CLDMXDUST13:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT13:N:CLDMXSALT13:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER14:=', 'N:NBMXAER14:N:CLDNBMXAER14:num:+',
- 'A:MXAER14:N:CLDMXAER14:mmr:+',
- 'N:MXSULF14:N:CLDMXSULF14:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF14:N:CLDMXSULF14:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC14:N:CLDMXOC14:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA114:N:CLDMXSOA114:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA214:N:CLDMXSOA214:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3805,8 +3751,7 @@
'A:MXDUST14:N:CLDMXDUST14:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT14:N:CLDMXSALT14:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER15:=', 'N:NBMXAER15:N:CLDNBMXAER15:num:+',
- 'A:MXAER15:N:CLDMXAER15:mmr:+',
- 'N:MXSULF15:N:CLDMXSULF15:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF15:N:CLDMXSULF15:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC15:N:CLDMXOC15:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA115:N:CLDMXSOA115:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA215:N:CLDMXSOA215:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3817,8 +3762,7 @@
'A:MXDUST15:N:CLDMXDUST15:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT15:N:CLDMXSALT15:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER16:=', 'N:NBMXAER16:N:CLDNBMXAER16:num:+',
- 'A:MXAER16:N:CLDMXAER16:mmr:+',
- 'N:MXSULF16:N:CLDMXSULF16:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF16:N:CLDMXSULF16:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC16:N:CLDMXOC16:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA116:N:CLDMXSOA116:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA216:N:CLDMXSOA216:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3829,8 +3773,7 @@
'A:MXDUST16:N:CLDMXDUST16:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT16:N:CLDMXSALT16:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER17:=', 'N:NBMXAER17:N:CLDNBMXAER17:num:+',
- 'A:MXAER17:N:CLDMXAER17:mmr:+',
- 'N:MXSULF17:N:CLDMXSULF17:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF17:N:CLDMXSULF17:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC17:N:CLDMXOC17:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA117:N:CLDMXSOA117:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA217:N:CLDMXSOA217:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3841,8 +3784,7 @@
'A:MXDUST17:N:CLDMXDUST17:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT17:N:CLDMXSALT17:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER18:=', 'N:NBMXAER18:N:CLDNBMXAER18:num:+',
- 'A:MXAER18:N:CLDMXAER18:mmr:+',
- 'N:MXSULF18:N:CLDMXSULF18:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF18:N:CLDMXSULF18:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC18:N:CLDMXOC18:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA118:N:CLDMXSOA118:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA218:N:CLDMXSOA218:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3853,8 +3795,7 @@
'A:MXDUST18:N:CLDMXDUST18:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT18:N:CLDMXSALT18:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER19:=', 'N:NBMXAER19:N:CLDNBMXAER19:num:+',
- 'A:MXAER19:N:CLDMXAER19:mmr:+',
- 'N:MXSULF19:N:CLDMXSULF19:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF19:N:CLDMXSULF19:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC19:N:CLDMXOC19:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA119:N:CLDMXSOA119:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA219:N:CLDMXSOA219:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3865,8 +3806,7 @@
'A:MXDUST19:N:CLDMXDUST19:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT19:N:CLDMXSALT19:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'MXAER20:=', 'N:NBMXAER20:N:CLDNBMXAER20:num:+',
- 'A:MXAER20:N:CLDMXAER20:mmr:+',
- 'N:MXSULF20:N:CLDMXSULF20:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
+ 'A:MXSULF20:N:CLDMXSULF20:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc:+',
'A:MXOC20:N:CLDMXOC20:p-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/ocphi_rrtmg_carma_c100508.nc:+',
'A:MXSOA120:N:CLDMXSOA120:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
'A:MXSOA220:N:CLDMXSOA220:s-organic:shell:$INPUTDATA_ROOT/atm/cam/physprops/soa_rrtmg_carma_c100508.nc:+',
@@ -3877,65 +3817,45 @@
'A:MXDUST20:N:CLDMXDUST20:dust:core:$INPUTDATA_ROOT/atm/cam/physprops/dust_aeronet_rrtmg_carma_c141106.nc:+',
'A:MXSALT20:N:CLDMXSALT20:seasalt:shell:$INPUTDATA_ROOT/atm/cam/physprops/ssam_rrtmg_carma_c100508.nc',
'PRSUL01:=', 'N:NBPRSUL01:N:CLDNBPRSUL01:num:+',
- 'A:PRSUL01:N:CLDPRSUL01:mmr:+',
- 'N:PRSULF01:N:CLDPRSULF01:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF01:N:CLDPRSULF01:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL02:=', 'N:NBPRSUL02:N:CLDNBPRSUL02:num:+',
- 'A:PRSUL02:N:CLDPRSUL02:mmr:+',
- 'N:PRSULF02:N:CLDPRSULF02:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF02:N:CLDPRSULF02:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL03:=', 'N:NBPRSUL03:N:CLDNBPRSUL03:num:+',
- 'A:PRSUL03:N:CLDPRSUL03:mmr:+',
- 'N:PRSULF03:N:CLDPRSULF03:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF03:N:CLDPRSULF03:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL04:=', 'N:NBPRSUL04:N:CLDNBPRSUL04:num:+',
- 'A:PRSUL04:N:CLDPRSUL04:mmr:+',
- 'N:PRSULF04:N:CLDPRSULF04:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF04:N:CLDPRSULF04:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL05:=', 'N:NBPRSUL05:N:CLDNBPRSUL05:num:+',
- 'A:PRSUL05:N:CLDPRSUL05:mmr:+',
- 'N:PRSULF05:N:CLDPRSULF05:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF05:N:CLDPRSULF05:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL06:=', 'N:NBPRSUL06:N:CLDNBPRSUL06:num:+',
- 'A:PRSUL06:N:CLDPRSUL06:mmr:+',
- 'N:PRSULF06:N:CLDPRSULF06:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF06:N:CLDPRSULF06:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL07:=', 'N:NBPRSUL07:N:CLDNBPRSUL07:num:+',
- 'A:PRSUL07:N:CLDPRSUL07:mmr:+',
- 'N:PRSULF07:N:CLDPRSULF07:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF07:N:CLDPRSULF07:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL08:=', 'N:NBPRSUL08:N:CLDNBPRSUL08:num:+',
- 'A:PRSUL08:N:CLDPRSUL08:mmr:+',
- 'N:PRSULF08:N:CLDPRSULF08:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF08:N:CLDPRSULF08:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL09:=', 'N:NBPRSUL09:N:CLDNBPRSUL09:num:+',
- 'A:PRSUL09:N:CLDPRSUL09:mmr:+',
- 'N:PRSULF09:N:CLDPRSULF09:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF09:N:CLDPRSULF09:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL10:=', 'N:NBPRSUL10:N:CLDNBPRSUL10:num:+',
- 'A:PRSUL10:N:CLDPRSUL10:mmr:+',
- 'N:PRSULF10:N:CLDPRSULF10:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF10:N:CLDPRSULF10:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL11:=', 'N:NBPRSUL11:N:CLDNBPRSUL11:num:+',
- 'A:PRSUL11:N:CLDPRSUL11:mmr:+',
- 'N:PRSULF11:N:CLDPRSULF11:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF11:N:CLDPRSULF11:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL12:=', 'N:NBPRSUL12:N:CLDNBPRSUL12:num:+',
- 'A:PRSUL12:N:CLDPRSUL12:mmr:+',
- 'N:PRSULF12:N:CLDPRSULF12:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF12:N:CLDPRSULF12:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL13:=', 'N:NBPRSUL13:N:CLDNBPRSUL13:num:+',
- 'A:PRSUL13:N:CLDPRSUL13:mmr:+',
- 'N:PRSULF13:N:CLDPRSULF13:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF13:N:CLDPRSULF13:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL14:=', 'N:NBPRSUL14:N:CLDNBPRSUL14:num:+',
- 'A:PRSUL14:N:CLDPRSUL14:mmr:+',
- 'N:PRSULF14:N:CLDPRSULF14:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF14:N:CLDPRSULF14:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL15:=', 'N:NBPRSUL15:N:CLDNBPRSUL15:num:+',
- 'A:PRSUL15:N:CLDPRSUL15:mmr:+',
- 'N:PRSULF15:N:CLDPRSULF15:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF15:N:CLDPRSULF15:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL16:=', 'N:NBPRSUL16:N:CLDNBPRSUL16:num:+',
- 'A:PRSUL16:N:CLDPRSUL16:mmr:+',
- 'N:PRSULF16:N:CLDPRSULF16:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF16:N:CLDPRSULF16:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL17:=', 'N:NBPRSUL17:N:CLDNBPRSUL17:num:+',
- 'A:PRSUL17:N:CLDPRSUL17:mmr:+',
- 'N:PRSULF17:N:CLDPRSULF17:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF17:N:CLDPRSULF17:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL18:=', 'N:NBPRSUL18:N:CLDNBPRSUL18:num:+',
- 'A:PRSUL18:N:CLDPRSUL18:mmr:+',
- 'N:PRSULF18:N:CLDPRSULF18:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF18:N:CLDPRSULF18:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL19:=', 'N:NBPRSUL19:N:CLDNBPRSUL19:num:+',
- 'A:PRSUL19:N:CLDPRSUL19:mmr:+',
- 'N:PRSULF19:N:CLDPRSULF19:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
+ 'A:PRSULF19:N:CLDPRSULF19:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc',
'PRSUL20:=', 'N:NBPRSUL20:N:CLDNBPRSUL20:num:+',
- 'A:PRSUL20:N:CLDPRSUL20:mmr:+',
- 'N:PRSULF20:N:CLDPRSULF20:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc'
+ 'A:PRSULF20:N:CLDPRSULF20:sulfate:shell:$INPUTDATA_ROOT/atm/cam/physprops/sulfate_rrtmg_carma_c080918.nc'
diff --git a/bld/namelist_files/use_cases/carma_trop_strat_cam6.xml b/bld/namelist_files/use_cases/carma_trop_strat_cam6.xml
index 0382fd27da..18179806ea 100644
--- a/bld/namelist_files/use_cases/carma_trop_strat_cam6.xml
+++ b/bld/namelist_files/use_cases/carma_trop_strat_cam6.xml
@@ -36,10 +36,6 @@
'EXTINCT', 'EXTINCTUV', 'EXTINCTNIR','ABSORB', 'AODVIS', 'AODABS','SAD_STRAT','SAD_SULFC','SAD_LNAT','SAD_ICE',
'O3','CO','OH','NO2','SSAVIS','AODNIR','AODVISst','AODNIRst','AODUVst',,'TMSO2','TMH2SO4','TMOCS',
- 'TMMXAER01','TMMXAER02','TMMXAER03','TMMXAER04','TMMXAER05','TMMXAER06','TMMXAER07','TMMXAER08','TMMXAER09','TMMXAER10',
- 'TMMXAER11','TMMXAER12','TMMXAER13','TMMXAER14','TMMXAER15','TMMXAER16','TMMXAER17','TMMXAER18','TMMXAER19','TMMXAER20',
- 'TMPRSUL01','TMPRSUL02','TMPRSUL03','TMPRSUL04','TMPRSUL05','TMPRSUL06','TMPRSUL07','TMPRSUL08','TMPRSUL09','TMPRSUL10',
- 'TMPRSUL11','TMPRSUL12','TMPRSUL13','TMPRSUL14','TMPRSUL15','TMPRSUL16','TMPRSUL17','TMPRSUL18','TMPRSUL19','TMPRSUL20',
'TMMXOC01','TMMXOC02','TMMXOC03','TMMXOC04','TMMXOC05','TMMXOC06','TMMXOC07','TMMXOC08','TMMXOC09','TMMXOC10',
'TMMXOC11','TMMXOC12','TMMXOC13','TMMXOC14','TMMXOC15','TMMXOC16','TMMXOC17','TMMXOC18','TMMXOC19','TMMXOC20',
'TMMXBC01','TMMXBC02','TMMXBC03','TMMXBC04','TMMXBC05','TMMXBC06','TMMXBC07','TMMXBC08','TMMXBC09','TMMXBC10',
diff --git a/src/chemistry/aerosol/aerosol_properties_mod.F90 b/src/chemistry/aerosol/aerosol_properties_mod.F90
index aadd56f87d..d66a1a93ef 100644
--- a/src/chemistry/aerosol/aerosol_properties_mod.F90
+++ b/src/chemistry/aerosol/aerosol_properties_mod.F90
@@ -70,6 +70,7 @@ module aerosol_properties_mod
procedure(aero_min_mass_mean_rad), deferred :: min_mass_mean_rad
procedure(aero_optics_params), deferred :: optics_params
procedure(aero_bin_name), deferred :: bin_name
+ procedure(aero_scav_radius), deferred :: scav_radius
procedure :: final=>aero_props_final
end type aerosol_properties
@@ -378,6 +379,18 @@ function aero_bin_name(self, list_ndx, bin_ndx) result(name)
end function aero_bin_name
+ !------------------------------------------------------------------------------
+ ! returns scavenging radius for a given aerosol bin number
+ !------------------------------------------------------------------------------
+ function aero_scav_radius(self, bin_ndx) result(radius)
+ import :: aerosol_properties, r8
+ class(aerosol_properties), intent(in) :: self
+ integer, intent(in) :: bin_ndx ! bin number
+
+ real(r8) :: radius
+
+ end function aero_scav_radius
+
end interface
contains
diff --git a/src/chemistry/aerosol/aerosol_state_mod.F90 b/src/chemistry/aerosol/aerosol_state_mod.F90
index 29318677d7..322af7f7e0 100644
--- a/src/chemistry/aerosol/aerosol_state_mod.F90
+++ b/src/chemistry/aerosol/aerosol_state_mod.F90
@@ -220,15 +220,15 @@ end function aero_hetfrz_size_wght
! returns hygroscopicity for a given radiation diagnostic list number and
! bin number
!------------------------------------------------------------------------------
- function aero_hygroscopicity(self, list_ndx, bin_ndx) result(kappa)
+ subroutine aero_hygroscopicity(self, list_ndx, bin_ndx, kappa)
import :: aerosol_state, r8
class(aerosol_state), intent(in) :: self
integer, intent(in) :: list_ndx ! rad climate/diagnostic list index
integer, intent(in) :: bin_ndx ! bin number
- real(r8), pointer :: kappa(:,:) ! hygroscopicity (ncol,nlev)
+ real(r8), intent(out) :: kappa(:,:) ! hygroscopicity (ncol,nlev)
- end function aero_hygroscopicity
+ end subroutine aero_hygroscopicity
!------------------------------------------------------------------------------
! returns aerosol wet diameter and aerosol water concentration for a given
diff --git a/src/chemistry/aerosol/carma_aerosol_properties_mod.F90 b/src/chemistry/aerosol/carma_aerosol_properties_mod.F90
index 13b47f55ad..4a0f45e9c8 100644
--- a/src/chemistry/aerosol/carma_aerosol_properties_mod.F90
+++ b/src/chemistry/aerosol/carma_aerosol_properties_mod.F90
@@ -34,6 +34,7 @@ module carma_aerosol_properties_mod
procedure :: soluble
procedure :: min_mass_mean_rad
procedure :: bin_name
+ procedure :: scav_radius
final :: destructor
end type carma_aerosol_properties
@@ -96,8 +97,8 @@ function constructor() result(newobj)
do m = 1, nbins
call rad_cnst_get_info_by_bin(0, m, nspec=nspecies(m))
- ncnst_tot = ncnst_tot + nspecies(m) + 2
- nmasses(m) = nspecies(m) + 1
+ ncnst_tot = ncnst_tot + nspecies(m) + 1
+ nmasses(m) = nspecies(m)
end do
alogsig(:) = log(2._r8) !!!! ???? IS THIS RIGHT ???? !!!
@@ -352,11 +353,7 @@ subroutine mmr_names(self, bin_ndx, species_ndx, name_a, name_c)
character(len=*), intent(out) :: name_a ! constituent name of ambient aerosol MMR
character(len=*), intent(out) :: name_c ! constituent name of cloud-borne aerosol MMR
- if (species_ndx>1) then
- call rad_cnst_get_info_by_bin_spec(0, bin_ndx, species_ndx-1, spec_name=name_a, spec_name_cw=name_c)
- else
- call rad_cnst_get_info_by_bin(0, bin_ndx, mmr_name=name_a, mmr_name_cw=name_c)
- end if
+ call rad_cnst_get_info_by_bin_spec(0, bin_ndx, species_ndx, spec_name=name_a, spec_name_cw=name_c)
end subroutine mmr_names
@@ -381,11 +378,7 @@ subroutine amb_mmr_name(self, bin_ndx, species_ndx, name)
integer, intent(in) :: species_ndx ! species number
character(len=*), intent(out) :: name ! constituent name of ambient aerosol MMR
- if (species_ndx>0) then
- call rad_cnst_get_info_by_bin_spec(0, bin_ndx, species_ndx, spec_name=name)
- else
- call rad_cnst_get_info_by_bin(0, bin_ndx, mmr_name=name)
- end if
+ call rad_cnst_get_info_by_bin_spec(0, bin_ndx, species_ndx, spec_name=name)
end subroutine amb_mmr_name
@@ -438,9 +431,7 @@ function icenuc_updates_mmr(self, bin_ndx, species_ndx) result(res)
res = .false.
- if (species_ndx==0) then
- res = self%icenuc_updates_num(bin_ndx)
- else
+ if (species_ndx>0) then
call self%species_type( bin_ndx, species_ndx, spectype)
if (trim(spectype)=='dust') res = .true.
if (trim(spectype)=='sulfate') res = .true.
@@ -564,4 +555,42 @@ function bin_name(self, list_ndx, bin_ndx) result(name)
end function bin_name
+ !------------------------------------------------------------------------------
+ ! returns scavenging radius (cm) for a given aerosol bin number
+ !------------------------------------------------------------------------------
+ function scav_radius(self, bin_ndx) result(radius)
+
+ use carma_model_mod, only: NBIN
+ use carma_intr, only :carma_get_bin_rmass
+
+ class(carma_aerosol_properties), intent(in) :: self
+ integer, intent(in) :: bin_ndx ! bin number
+
+ real(r8) :: radius ! cm
+
+ real(r8) :: mass ! the bin mass (g)
+ real(r8) :: rho ! density (kg/m3)
+ integer :: igroup, ibin, rc, ispec
+ character(len=32) :: spectype
+
+ ibin = bin_ndx
+ igroup = 1
+ if (bin_ndx>NBIN) then
+ igroup = 2
+ ibin = ibin-NBIN
+ end if
+
+ call carma_get_bin_rmass(igroup, ibin, mass, rc)
+
+ do ispec = 1, self%nspecies(bin_ndx)
+ call self%species_type(bin_ndx,ispec, spectype)
+ if (trim(spectype) == 'sulfate') then
+ call self%get(bin_ndx,ispec,density=rho)
+ end if
+ end do
+
+ radius = (0.75*mass / pi / (1.0e-3_r8*rho)) **(0.33_r8) ! specdens kg/m3 to g/cm3, convert from radiust to diameter
+
+ end function scav_radius
+
end module carma_aerosol_properties_mod
diff --git a/src/chemistry/aerosol/carma_aerosol_state_mod.F90 b/src/chemistry/aerosol/carma_aerosol_state_mod.F90
index 0c3533a064..3458bd60ff 100644
--- a/src/chemistry/aerosol/carma_aerosol_state_mod.F90
+++ b/src/chemistry/aerosol/carma_aerosol_state_mod.F90
@@ -2,13 +2,16 @@ module carma_aerosol_state_mod
use shr_kind_mod, only: r8 => shr_kind_r8
use aerosol_state_mod, only: aerosol_state, ptr2d_t
- use rad_constituents, only: rad_cnst_get_bin_mmr_by_idx, rad_cnst_get_bin_num, rad_cnst_get_bin_mmr
+ use rad_constituents, only: rad_cnst_get_bin_mmr_by_idx, rad_cnst_get_bin_num !, rad_cnst_get_bin_mmr
use rad_constituents, only: rad_cnst_get_info_by_bin
use physics_buffer, only: physics_buffer_desc, pbuf_get_field, pbuf_get_index
use physics_types, only: physics_state
use aerosol_properties_mod, only: aerosol_properties, aero_name_len
use physconst, only: pi
+ use carma_intr, only: carma_get_total_mmr, carma_get_dry_radius, carma_get_number, carma_get_number_cld
+ use carma_intr, only: carma_get_group_by_name, carma_get_kappa, carma_get_dry_radius, carma_get_wet_radius
+ use ppgrid, only: begchunk, endchunk, pcols, pver
implicit none
@@ -119,11 +122,22 @@ function ambient_total_bin_mmr(self, aero_props, bin_ndx, col_ndx, lyr_ndx) resu
real(r8) :: mmr_tot ! mass mixing ratios totaled for all species
- real(r8),pointer :: mmrptr(:,:)
+ real(r8) :: totmmr(pcols,pver)
+ character(len=aero_name_len) :: bin_name, shortname
+ integer :: igroup, ibin, rc, nchr
- call rad_cnst_get_bin_mmr(0, bin_ndx, 'a', self%state, self%pbuf, mmrptr)
+ call rad_cnst_get_info_by_bin(0, bin_ndx, bin_name=bin_name)
+
+ nchr = len_trim(bin_name)-2
+ shortname = bin_name(:nchr)
+
+ call carma_get_group_by_name(shortname, igroup, rc)
+
+ read(bin_name(nchr+1:),*) ibin
+
+ call carma_get_total_mmr(self%state, igroup, ibin, totmmr, rc)
- mmr_tot = mmrptr(col_ndx,lyr_ndx)
+ mmr_tot = totmmr(col_ndx,lyr_ndx)
end function ambient_total_bin_mmr
@@ -176,7 +190,27 @@ subroutine get_ambient_num(self, bin_ndx, num)
integer, intent(in) :: bin_ndx ! bin index
real(r8), pointer :: num(:,:) ! number mixing ratios
+ character(len=aero_name_len) :: bin_name, shortname
+ integer :: igroup, ibin, rc, nchr, ncol
+ real(r8) :: nmr(pcols,pver)
+
+ ncol = self%state%ncol
+
+ call rad_cnst_get_info_by_bin(0, bin_ndx, bin_name=bin_name)
+
+ nchr = len_trim(bin_name)-2
+ shortname = bin_name(:nchr)
+
+ call carma_get_group_by_name(shortname, igroup, rc)
+
+ read(bin_name(nchr+1:),*) ibin
+
call rad_cnst_get_bin_num(0, bin_ndx, 'a', self%state, self%pbuf, num)
+
+ call carma_get_number(self%state, igroup, ibin, nmr, rc)
+
+ num(:ncol,:) = nmr(:ncol,:)
+
end subroutine get_ambient_num
!------------------------------------------------------------------------------
@@ -187,7 +221,27 @@ subroutine get_cldbrne_num(self, bin_ndx, num)
integer, intent(in) :: bin_ndx ! bin index
real(r8), pointer :: num(:,:) ! number mixing ratios
+ character(len=aero_name_len) :: bin_name, shortname
+ integer :: igroup, ibin, rc, nchr, ncol
+ real(r8) :: nmr(pcols,pver)
+
+ ncol = self%state%ncol
+
+ call rad_cnst_get_info_by_bin(0, bin_ndx, bin_name=bin_name)
+
+ nchr = len_trim(bin_name)-2
+ shortname = bin_name(:nchr)
+
+ call carma_get_group_by_name(shortname, igroup, rc)
+
+ read(bin_name(nchr+1:),*) ibin
+
call rad_cnst_get_bin_num(0, bin_ndx, 'c', self%state, self%pbuf, num)
+
+ call carma_get_number_cld(self%pbuf, igroup, ibin, ncol, pver, nmr, rc)
+
+ num(:ncol,:) = nmr(:ncol,:)
+
end subroutine get_cldbrne_num
!------------------------------------------------------------------------------
@@ -205,11 +259,8 @@ subroutine get_states( self, aero_props, raer, qqcw )
indx = aero_props%indexer(ibin, 0)
call self%get_ambient_num(ibin, raer(indx)%fld)
call self%get_cldbrne_num(ibin, qqcw(indx)%fld)
- indx = aero_props%indexer(ibin, 1)
- call rad_cnst_get_bin_mmr(0, ibin, 'a', self%state, self%pbuf, raer(indx)%fld)
- call rad_cnst_get_bin_mmr(0, ibin, 'c', self%state, self%pbuf, qqcw(indx)%fld)
do ispc = 1, aero_props%nspecies(ibin)
- indx = aero_props%indexer(ibin, ispc+1)
+ indx = aero_props%indexer(ibin, ispc)
call self%get_ambient_mmr(ispc,ibin, raer(indx)%fld)
call self%get_cldbrne_mmr(ispc,ibin, qqcw(indx)%fld)
end do
@@ -229,19 +280,27 @@ subroutine icenuc_size_wght_arr(self, bin_ndx, ncol, nlev, species_type, use_pre
logical, intent(in) :: use_preexisting_ice ! pre-existing ice flag
real(r8), intent(out) :: wght(:,:)
- character(len=aero_name_len) :: bin_name
- real(r8), pointer :: dryr(:,:)
+ character(len=aero_name_len) :: bin_name, shortname
+ real(r8) :: rdry(ncol,nlev), rhopdry(ncol,nlev)
integer :: i,k
real(r8) :: diamdry
+ integer :: igroup, ibin, rc, nchr
wght = 0._r8
call rad_cnst_get_info_by_bin(0, bin_ndx, bin_name=bin_name)
- call pbuf_get_field(self%pbuf, pbuf_get_index(trim(bin_name)//"_dryr"),dryr)
+
+ nchr = len_trim(bin_name)-2
+ shortname = bin_name(:nchr)
+ call carma_get_group_by_name(shortname, igroup, rc)
+
+ read(bin_name(nchr+1:),*) ibin
+
+ call carma_get_dry_radius(self%state, igroup, ibin, rdry, rhopdry, rc) ! m, kg/m3
do k = 1,nlev
do i = 1,ncol
- diamdry = dryr(i,k) * 2.e4_r8 ! diameter in microns (from radius in cm)
+ diamdry = rdry(i,k) * 2.e4_r8 * 1.e6_r8 ! diameter in microns (from radius in m)
if (diamdry >= 0.1_r8) then ! size threashold
wght(i,k) = 1._r8
end if
@@ -262,19 +321,11 @@ subroutine icenuc_size_wght_val(self, bin_ndx, col_ndx, lyr_ndx, species_type, u
logical, intent(in) :: use_preexisting_ice ! pre-existing ice flag
real(r8), intent(out) :: wght
- character(len=aero_name_len) :: bin_name
- real(r8), pointer :: dryr(:,:)
- real(r8) :: diamdry
-
- wght = 0._r8
+ real(r8) :: wght_arr(pcols,pver)
- call rad_cnst_get_info_by_bin(0, bin_ndx, bin_name=bin_name)
- call pbuf_get_field(self%pbuf, pbuf_get_index(trim(bin_name)//"_dryr"),dryr)
+ call self%icenuc_size_wght(bin_ndx, self%state%ncol, pver, species_type, use_preexisting_ice, wght_arr)
- diamdry = dryr(col_ndx,lyr_ndx) * 2.e4_r8 ! diameter in microns (from radius in cm)
- if (diamdry >= 0.1_r8) then ! size threashold
- wght = 1._r8
- end if
+ wght = wght_arr(col_ndx,lyr_ndx)
end subroutine icenuc_size_wght_val
@@ -291,24 +342,12 @@ subroutine update_bin( self, bin_ndx, col_ndx, lyr_ndx, delmmr_sum, delnum_sum,
real(r8),intent(in) :: dtime ! time step size (sec)
real(r8),intent(inout) :: tend(:,:,:) ! tendency
- real(r8), pointer :: amb_mmr(:,:)
- real(r8), pointer :: cld_mmr(:,:)
real(r8), pointer :: amb_num(:,:)
real(r8), pointer :: cld_num(:,:)
- call rad_cnst_get_bin_mmr(0, bin_ndx, 'a', self%state, self%pbuf, amb_mmr)
- call rad_cnst_get_bin_mmr(0, bin_ndx, 'c', self%state, self%pbuf, cld_mmr)
-
call self%get_ambient_num(bin_ndx, amb_num)
call self%get_cldbrne_num(bin_ndx, cld_num)
- if (tnd_ndx>0) then
- tend(col_ndx,lyr_ndx,tnd_ndx) = -delmmr_sum/dtime
- else
- amb_mmr(col_ndx,lyr_ndx) = amb_mmr(col_ndx,lyr_ndx) - delmmr_sum
- end if
- cld_mmr(col_ndx,lyr_ndx) = cld_mmr(col_ndx,lyr_ndx) + delmmr_sum
-
! apply the total number change to bin number
amb_num(col_ndx,lyr_ndx) = amb_num(col_ndx,lyr_ndx) - delnum_sum
@@ -329,20 +368,32 @@ function hetfrz_size_wght(self, bin_ndx, ncol, nlev) result(wght)
real(r8) :: wght(ncol,nlev)
- character(len=aero_name_len) :: bin_name
- real(r8), pointer :: dryr(:,:)
- real(r8) :: diamdry(ncol,nlev)
+ character(len=aero_name_len) :: bin_name, shortname
+ real(r8) :: rdry(ncol,nlev), rhopdry(ncol,nlev)
+ integer :: i,k
+ real(r8) :: diamdry
+ integer :: igroup, ibin, rc, nchr
- wght(:,:) = 0._r8
+ wght = 0._r8
call rad_cnst_get_info_by_bin(0, bin_ndx, bin_name=bin_name)
- call pbuf_get_field(self%pbuf, pbuf_get_index(trim(bin_name)//"_dryr"),dryr)
- diamdry(:ncol,:) = dryr(:ncol,:) * 2.e4_r8 ! diameter in microns (from radius in cm)
+ nchr = len_trim(bin_name)-2
+ shortname = bin_name(:nchr)
+ call carma_get_group_by_name(shortname, igroup, rc)
- where (diamdry >= 0.5_r8)
- wght = 1._r8
- end where
+ read(bin_name(nchr+1:),*) ibin
+
+ call carma_get_dry_radius(self%state, igroup, ibin, rdry, rhopdry, rc) ! m, kg/m3
+
+ do k = 1,nlev
+ do i = 1,ncol
+ diamdry = rdry(i,k) * 2.e4_r8 * 1.e6_r8 ! diameter in microns (from radius in m)
+ if (diamdry >= 0.1_r8) then ! size threashold
+ wght(i,k) = 1._r8
+ end if
+ end do
+ end do
end function hetfrz_size_wght
@@ -350,21 +401,27 @@ end function hetfrz_size_wght
! returns hygroscopicity for a given radiation diagnostic list number and
! bin number
!------------------------------------------------------------------------------
- function hygroscopicity(self, list_ndx, bin_ndx) result(kappa)
+ subroutine hygroscopicity(self, list_ndx, bin_ndx, kappa)
class(carma_aerosol_state), intent(in) :: self
integer, intent(in) :: list_ndx ! rad climate list number
integer, intent(in) :: bin_ndx ! bin number
+ real(r8), intent(out) :: kappa(:,:) ! hygroscopicity (ncol,nlev)
- real(r8), pointer :: kappa(:,:) ! hygroscopicity (ncol,nlev)
+ character(len=aero_name_len) :: bin_name, shortname
+ integer :: igroup, ibin, rc, nchr, ncol
- character(len=aero_name_len) :: bin_name
+ call rad_cnst_get_info_by_bin(0, bin_ndx, bin_name=bin_name)
+
+ nchr = len_trim(bin_name)-2
+ shortname = bin_name(:nchr)
- nullify(kappa)
+ call carma_get_group_by_name(shortname, igroup, rc)
- call rad_cnst_get_info_by_bin(list_ndx, bin_ndx, bin_name=bin_name)
- call pbuf_get_field(self%pbuf, pbuf_get_index(trim(bin_name)//"_kappa"),kappa)
+ read(bin_name(nchr+1:),*) ibin
- end function hygroscopicity
+ call carma_get_kappa(self%state, igroup, ibin, kappa, rc)
+
+ end subroutine hygroscopicity
!------------------------------------------------------------------------------
! returns aerosol wet diameter and aerosol water concentration for a given
@@ -392,9 +449,9 @@ end subroutine water_uptake
function wgtpct(self) result(wtp)
class(carma_aerosol_state), intent(in) :: self
real(r8), pointer :: wtp(:,:) ! weight precent of H2SO4/H2O solution
-
- call pbuf_get_field(self%pbuf, pbuf_get_index('WTP'), wtp)
-
+! ****** NEED TO IMPLEMENT ******
+!!$ call pbuf_get_field(self%pbuf, pbuf_get_index('WTP'), wtp)
+ nullify(wtp)
end function wgtpct
!------------------------------------------------------------------------------
@@ -412,17 +469,26 @@ function dry_volume(self, aero_props, list_idx, bin_idx, ncol, nlev) result(vol)
real(r8) :: vol(ncol,nlev) ! m3/kg
+ real(r8) :: raddry(pcols,pver) !! dry radius (m)
+ real(r8) :: rhodry(pcols,pver) !! dry density (kg/m3)
- real(r8), pointer :: dryr(:,:)
- character(len=32) :: bin_name
+ character(len=aero_name_len) :: bin_name, shortname
+ integer :: igroup, ibin, rc, nchr
- vol = 0._r8
+ call rad_cnst_get_info_by_bin(0, bin_idx, bin_name=bin_name)
+
+ nchr = len_trim(bin_name)-2
+ shortname = bin_name(:nchr)
+
+ call carma_get_group_by_name(shortname, igroup, rc)
- call rad_cnst_get_info_by_bin(list_idx, bin_idx, bin_name=bin_name)
+ read(bin_name(nchr+1:),*) ibin
- call pbuf_get_field(self%pbuf, pbuf_get_index(trim(bin_name)//"_dryr"),dryr)
+ vol = 0._r8
+
+ call carma_get_dry_radius(self%state, igroup, ibin, raddry, rhodry, rc)
- vol(:ncol,:) = four_thirds_pi * (dryr(:ncol,:)**3)
+ vol(:ncol,:) = four_thirds_pi * (raddry(:ncol,:)**3) ! ???? units = m3/kg ????
end function dry_volume
@@ -441,16 +507,26 @@ function wet_volume(self, aero_props, list_idx, bin_idx, ncol, nlev) result(vol)
real(r8) :: vol(ncol,nlev) ! m3/kg
- real(r8), pointer :: wetr(:,:)
- character(len=32) :: bin_name
+ real(r8) :: radwet(pcols,pver) !! wet radius (m)
+ real(r8) :: rhowet(pcols,pver) !! wet density (kg/m3)
- vol = 0._r8
+ character(len=aero_name_len) :: bin_name, shortname
+ integer :: igroup, ibin, rc, nchr
+
+ call rad_cnst_get_info_by_bin(0, bin_idx, bin_name=bin_name)
- call rad_cnst_get_info_by_bin(list_idx, bin_idx, bin_name=bin_name)
+ nchr = len_trim(bin_name)-2
+ shortname = bin_name(:nchr)
+
+ call carma_get_group_by_name(shortname, igroup, rc)
+
+ read(bin_name(nchr+1:),*) ibin
+
+ vol = 0._r8
- call pbuf_get_field(self%pbuf, pbuf_get_index(trim(bin_name)//"_wetr"),wetr)
+ call carma_get_wet_radius(self%state, igroup, ibin, radwet, rhowet, rc)
- vol(:ncol,:) = four_thirds_pi * (wetr(:ncol,:)**3)
+ vol(:ncol,:) = four_thirds_pi * (radwet(:ncol,:)**3) ! ???? units = m3/kg ????
end function wet_volume
diff --git a/src/chemistry/aerosol/hygrocoreshell_aerosol_optics_mod.F90 b/src/chemistry/aerosol/hygrocoreshell_aerosol_optics_mod.F90
index 53bcbc8be2..8871312117 100644
--- a/src/chemistry/aerosol/hygrocoreshell_aerosol_optics_mod.F90
+++ b/src/chemistry/aerosol/hygrocoreshell_aerosol_optics_mod.F90
@@ -69,7 +69,6 @@ function constructor(aero_props, aero_state, ilist, ibin, ncol, nlev, relhum) re
integer :: ierr, nspec
integer :: ilev, ispec, icol
- real(r8), pointer :: kappa_ptr(:,:) ! hygroscopicity
real(r8), pointer :: specmmr(:,:) ! species mass mixing ratio
real(r8) :: coremmr(ncol,nlev)
@@ -172,8 +171,7 @@ function constructor(aero_props, aero_state, ilist, ibin, ncol, nlev, relhum) re
end do
end do
- kappa_ptr => aero_state%hygroscopicity(ilist, ibin)
- newobj%kappa(:ncol,:) = kappa_ptr(:ncol,:)
+ call aero_state%hygroscopicity(ilist, ibin, newobj%kappa)
call aero_props%optics_params(ilist, ibin, &
corefrac=newobj%tbl_corefrac, kap=newobj%tbl_kap, &
diff --git a/src/chemistry/aerosol/hygrowghtpct_aerosol_optics_mod.F90 b/src/chemistry/aerosol/hygrowghtpct_aerosol_optics_mod.F90
index b8b0300903..71686f1ce5 100644
--- a/src/chemistry/aerosol/hygrowghtpct_aerosol_optics_mod.F90
+++ b/src/chemistry/aerosol/hygrowghtpct_aerosol_optics_mod.F90
@@ -80,11 +80,12 @@ function constructor(aero_props, aero_state, ilist, ibin, ncol, nlev) result(new
return
end if
- wgtpct_in => aero_state%wgtpct()
-
+!!$ wgtpct_in => aero_state%wgtpct()
+!! *** NEED TO FIX ***
call aero_props%optics_params(ilist, ibin, wgtpct=newobj%tbl_wgtpct, nwtp=newobj%nwtp)
- newobj%wgtpct(:ncol,:) = wgtpct_in(:ncol,:)
+!!$ newobj%wgtpct(:ncol,:) = wgtpct_in(:ncol,:)
+ newobj%wgtpct(:ncol,:) = 0._r8
nspec = aero_props%nspecies(ilist, ibin)
diff --git a/src/chemistry/aerosol/modal_aerosol_properties_mod.F90 b/src/chemistry/aerosol/modal_aerosol_properties_mod.F90
index 66cee40480..17d50f06fe 100644
--- a/src/chemistry/aerosol/modal_aerosol_properties_mod.F90
+++ b/src/chemistry/aerosol/modal_aerosol_properties_mod.F90
@@ -36,6 +36,7 @@ module modal_aerosol_properties_mod
procedure :: soluble
procedure :: min_mass_mean_rad
procedure :: bin_name
+ procedure :: scav_radius
final :: destructor
end type modal_aerosol_properties
@@ -665,4 +666,15 @@ function bin_name(self, list_ndx, bin_ndx) result(name)
end function bin_name
+ !------------------------------------------------------------------------------
+ ! returns scavenging radius (cm) for a given aerosol bin number
+ !------------------------------------------------------------------------------
+ function scav_radius(self, bin_ndx) result(radius)
+ class(modal_aerosol_properties), intent(in) :: self
+ integer, intent(in) :: bin_ndx ! bin number
+
+ real(r8) :: radius
+
+ end function scav_radius
+
end module modal_aerosol_properties_mod
diff --git a/src/chemistry/aerosol/modal_aerosol_state_mod.F90 b/src/chemistry/aerosol/modal_aerosol_state_mod.F90
index 905e59da66..3210d4bfa1 100644
--- a/src/chemistry/aerosol/modal_aerosol_state_mod.F90
+++ b/src/chemistry/aerosol/modal_aerosol_state_mod.F90
@@ -427,16 +427,15 @@ end function hetfrz_size_wght
! returns hygroscopicity for a given radiation diagnostic list number and
! bin number
!------------------------------------------------------------------------------
- function hygroscopicity(self, list_ndx, bin_ndx) result(kappa)
+ subroutine hygroscopicity(self, list_ndx, bin_ndx, kappa)
class(modal_aerosol_state), intent(in) :: self
integer, intent(in) :: list_ndx ! rad climate list number
integer, intent(in) :: bin_ndx ! bin number
+ real(r8), intent(out) :: kappa(:,:) ! hygroscopicity (ncol,nlev)
- real(r8), pointer :: kappa(:,:) ! hygroscopicity (ncol,nlev)
+ kappa = -huge(1._r8)
- nullify(kappa)
-
- end function hygroscopicity
+ end subroutine hygroscopicity
!------------------------------------------------------------------------------
! returns aerosol wet diameter and aerosol water concentration for a given
diff --git a/src/chemistry/carma_aero/aero_model.F90 b/src/chemistry/carma_aero/aero_model.F90
index a9b3cc1507..5a252b29db 100644
--- a/src/chemistry/carma_aero/aero_model.F90
+++ b/src/chemistry/carma_aero/aero_model.F90
@@ -21,9 +21,9 @@ module aero_model
use infnan, only: nan, assignment(=)
use rad_constituents, only: rad_cnst_get_info, rad_cnst_get_info_by_bin, &
rad_cnst_get_info_by_bin_spec, rad_cnst_get_bin_props_by_idx, &
- rad_cnst_get_bin_mmr_by_idx, rad_cnst_get_bin_mmr, &
- rad_cnst_get_bin_num
+ rad_cnst_get_bin_mmr_by_idx
use mo_setsox, only: setsox, has_sox
+ use carma_aerosol_properties_mod, only: carma_aerosol_properties
implicit none
private
@@ -87,17 +87,17 @@ module aero_model
end type ptr2d_t
logical :: lq(pcnst) = .false. ! set flags true for constituents with non-zero tendencies
- ! in the ptend object
+ ! in the ptend object
- ! Namelist variables
+ ! Namelist variables
real(r8) :: sol_facti_cloud_borne = 1._r8
real(r8) :: sol_factb_interstitial = 0.1_r8
real(r8) :: sol_factic_interstitial = 0.4_r8
real(r8) :: seasalt_emis_scale
- logical :: convproc_do_aer
-
+ logical :: convproc_do_aer
+ type(carma_aerosol_properties), pointer :: aero_props =>null()
contains
@@ -171,8 +171,9 @@ subroutine aero_model_register()
integer :: m, l, i
integer :: nsoa_vbs
character(len=32) :: spectype
- character(len=32) :: spec_name
- character(len=32) :: mmr_name
+ character(len=32) :: num_name
+ character(len=32) :: num_name_cw
+ character(len=32) :: spec_name_cw
character(len=32) :: soag_name
character(len=32) :: soa_name
@@ -183,12 +184,12 @@ subroutine aero_model_register()
! add pbuf fields for interstitial (cloud borne) aerosols in CARMA
do m = 1, nbins
- call rad_cnst_get_info_by_bin(0, m, nspec=nspec(m), mmr_name=mmr_name)
- call pbuf_add_field('CLD'//trim(mmr_name),'global',dtype_r8,(/pcols,pver/), idx)
- call pbuf_add_field('CLDNB'//trim(mmr_name),'global',dtype_r8,(/pcols,pver/), idx)
+ call rad_cnst_get_info_by_bin(0, m, num_name=num_name, num_name_cw=num_name_cw, nspec=nspec(m))
+ call pbuf_add_field(num_name,'global',dtype_r8,(/pcols,pver/), idx)
+ call pbuf_add_field(num_name_cw,'global',dtype_r8,(/pcols,pver/), idx)
do l = 1, nspec(m)
- call rad_cnst_get_info_by_bin_spec(0, m, l, spec_name=spec_name)
- call pbuf_add_field('CLD'//trim(spec_name),'global',dtype_r8,(/pcols,pver/),idx)
+ call rad_cnst_get_info_by_bin_spec(0, m, l, spec_name_cw=spec_name_cw)
+ call pbuf_add_field(spec_name_cw,'global',dtype_r8,(/pcols,pver/),idx)
enddo
enddo
@@ -258,23 +259,25 @@ subroutine aero_model_init( pbuf2d )
!st character(len=fieldname_len) :: field_name
character(len=32) :: spectype
- character(len=32) :: spec_name
- character(len=32) :: mmr_name
- character(len=32) :: bin_name
+ character(len=32) :: num_name
+ character(len=32) :: num_name_cw
+ character(len=32) :: spec_name_cw
integer :: idx
real(r8) :: nanval
+ aero_props => carma_aerosol_properties()
+
if (is_first_step()) then
do m = 1, nbins
- call rad_cnst_get_info_by_bin(0, m, mmr_name=mmr_name)
- idx = pbuf_get_index('CLD'//trim(mmr_name))
+ call rad_cnst_get_info_by_bin(0, m, num_name=num_name, num_name_cw=num_name_cw)
+ idx = pbuf_get_index(num_name)
call pbuf_set_field(pbuf2d, idx, 0.0_r8)
- idx = pbuf_get_index('CLDNB'//trim(mmr_name))
+ idx = pbuf_get_index(num_name_cw)
call pbuf_set_field(pbuf2d, idx, 0.0_r8)
do l = 1, nspec(m)
- call rad_cnst_get_info_by_bin_spec(0, m, l, spec_name=spec_name)
- idx = pbuf_get_index('CLD'//trim(spec_name))
+ call rad_cnst_get_info_by_bin_spec(0, m, l, spec_name_cw=spec_name_cw)
+ idx = pbuf_get_index(spec_name_cw)
call pbuf_set_field(pbuf2d, idx, 0.0_r8)
enddo
enddo
@@ -365,15 +368,13 @@ subroutine aero_model_init( pbuf2d )
ii = 0
do m = 1, nbins
- do l = 1, nspec(m) + 2 ! do through nspec plus mmr and number
+ do l = 1, nspec(m) + 1 ! loop through nspec plus number
ii = ii + 1
bin_idx(m,l) = ii
if (l <= nspec(m) ) then ! species
call rad_cnst_get_info_by_bin_spec(0, m, l, spec_name=fieldname(ii), spec_name_cw=fieldname_cw(ii))
- else if (l == nspec(m) + 1) then ! mmr
- call rad_cnst_get_info_by_bin(0, m, mmr_name=fieldname(ii), mmr_name_cw=fieldname_cw(ii))
- else if (l == nspec(m) + 2) then !number
+ else !number
call rad_cnst_get_info_by_bin(0, m, num_name=fieldname(ii), num_name_cw=fieldname_cw(ii))
end if
@@ -694,7 +695,7 @@ subroutine aero_model_wetdep( state, dt, dlf, cam_out, ptend, pbuf)
dcondt_resusp3d(:,:,:) = 0._r8
call physics_ptend_init(ptend, state%psetcols, 'aero_model_wetdep', lq=lq)
-
+return
!st CARMA is doing water uptake (in the CARMA code), we leave this out here
! Do calculations of mode radius and water uptake if:
! 1) modal aerosols are affecting the climate, or
@@ -866,8 +867,6 @@ subroutine aero_model_wetdep( state, dt, dlf, cam_out, ptend, pbuf)
! get total mass (per bin)
l = nspec(m) + 1
mm = bin_idx(m, l)
- call rad_cnst_get_bin_mmr(0, m, 'a', state, pbuf, raer(mm)%fld)
- totalmmr = raer(mm)%fld
do l = 1, nspec(m)
mm = bin_idx(m, l)
call rad_cnst_get_bin_mmr_by_idx(0, m, l, 'a', state, pbuf, raer(mm)%fld)
@@ -930,15 +929,6 @@ subroutine aero_model_wetdep( state, dt, dlf, cam_out, ptend, pbuf)
call rad_cnst_get_bin_mmr_by_idx(0, m, l, 'a', state, pbuf, raer(mm)%fld)
call rad_cnst_get_bin_mmr_by_idx(0, m, l, 'c', state, pbuf, qqcw(mm)%fld) ! cloud-borne aerosol
end if
- if (l == nspec(m)+1) then
- call rad_cnst_get_bin_mmr(0, m, 'a', state, pbuf, raer(mm)%fld)
- call rad_cnst_get_bin_mmr(0, m, 'c', state, pbuf, qqcw(mm)%fld) ! cloud-borne aerosol
- end if
- if (l == nspec(m)+2) then
- call rad_cnst_get_bin_num(0, m, 'a', state, pbuf, raer(mm)%fld)
- call rad_cnst_get_bin_num(0, m, 'c', state, pbuf, qqcw(mm)%fld) ! cloud-borne aerosol
- end if
-
if (lphase == 1) then
!ptend%lq(lpr) = .TRUE.
@@ -1518,6 +1508,7 @@ subroutine aero_model_gasaerexch( state, loffset, ncol, lchnk, troplev, delt, re
character(len=32) :: bin_name
character(len=32) :: spectype
logical :: is_spcam_m2005
+return
!
! ... initialize nh3
!
@@ -1597,14 +1588,6 @@ subroutine aero_model_gasaerexch( state, loffset, ncol, lchnk, troplev, delt, re
mw_carma(mm) = 57._r8
end if
end if
- if (l == nspec(m)+1) then
- call rad_cnst_get_bin_mmr(0, m, 'a', state, pbuf, raer(mm)%fld)
- call rad_cnst_get_bin_mmr(0, m, 'c', state, pbuf, qqcw(mm)%fld) ! cloud-borne aerosol
- end if
- if (l == nspec(m)+2) then
- call rad_cnst_get_bin_num(0, m, 'a', state, pbuf, raer(mm)%fld)
- call rad_cnst_get_bin_num(0, m, 'c', state, pbuf, qqcw(mm)%fld) ! cloud-borne aerosol
- end if
mmrcw(:ncol,:,mm) = qqcw(mm)%fld(:ncol,:)
vmrcw(:ncol,:,mm) = qqcw(mm)%fld(:ncol,:)
raervmr(:ncol,:,mm) = raer(mm)%fld(:ncol,:)
@@ -1833,7 +1816,9 @@ subroutine surf_area_dens( state, pbuf, ncol, mmr, beglev, endlev, sad, reff, sf
real(r8), pointer :: wetr(:,:) ! CARMA bin wet radius in cm
real(r8), pointer :: sad_carma(:,:) ! CARMA bin wet surface area density in cm2/cm3
real(r8), pointer :: aer_bin_mmr(:,:)
-
+ sad = 0._r8
+ reff = 0._r8
+return
!
! Compute surface aero for each bin.
! Total over all bins as the surface area for chemical reactions.
@@ -1932,9 +1917,6 @@ subroutine carma_aero_bcscavcoef_init ( pbuf2d )
character(len=32) :: bin_name
character(len=32) :: spectype
- real(r8), pointer :: rmass_ptr(:) ! CARMA rmass fixed per bin
- real(r8), allocatable :: rmass(:) ! CARMA rmass
-
real(r8) dg0, dg0_cgs, press, dg0_base, &
rhodryaero, rhowetaero, rhowetaero_cgs, rmserr, &
scavratenum, scavratevol, sigmag, &
@@ -1950,7 +1932,6 @@ subroutine carma_aero_bcscavcoef_init ( pbuf2d )
lunerr = iulog
dlndg_nimptblgrow = log( 1.25_r8 )
- allocate ( rmass(nbins) )
! bin model: main loop over aerosol bins
modeloop: do m = 1, nbins
@@ -1960,24 +1941,16 @@ subroutine carma_aero_bcscavcoef_init ( pbuf2d )
! get bin info
call rad_cnst_get_info_by_bin(0, m, bin_name=bin_name)
- call pbuf_get_field(pbuf2d, begchunk, pbuf_get_index(trim(bin_name)//"_rmass"),rmass_ptr)
- rmass(m) = rmass_ptr(1)
-
! for setting up the lookup table, use the dry density of the first
- ! get specdens from sulfate (check)
+ ! get specdens from sulfate (check)
do l = 1, nspec(m)
-
- call rad_cnst_get_bin_props_by_idx(0, m, l,spectype=spectype, density_aer=specdens)
-
- ! chemical component of the aerosol type (which currently will be so4)
- ! For CARMA, rmass per bin stays the same, while dry radius varies when the particle density varies
- ! rmass = 4/3 * Pi * density * dry radius
- ! We assume a fixed specie density
- if (trim(spectype) == 'sulfate') then
- rhodryaero = specdens
- end if
+ call aero_props%species_type(m,l, spectype)
+ if (trim(spectype) == 'sulfate') then
+ call aero_props%get(m,l,density=rhodryaero)
+ end if
end do
- dg0_base = 2._r8 * (0.75_r8*rmass(m) / pi / (1.0e-3_r8*rhodryaero)) **(0.33_r8) ! specdens kg/m3 to g/cm3, convert from radiust to diameter
+
+ dg0_base = 2._r8 * aero_props%scav_radius(m)
!sigmag = sigmag_amode(mode)
!dg0_base = dcen_sect(m,n)*exp( -1.5*((log(sigmag))**2) )
@@ -2111,7 +2084,7 @@ subroutine carma_aero_bcscavcoef_get( m, ncol, isprx, wetr, dryr, scavcoefnum, s
end if
end do
dg0_base = 2._r8 * (0.75_r8*rmass(m) / pi / (1.0e-3_r8*rhodryaero)) **(0.33_r8) ! specdens kg/m3 to g/cm3, convert from radiust to diameter
- !rg0_base = (0.75*rmass(m) / pi / (1.0e-3_r8*specdens)) **(0.33_r8) ! specdens kg/m3 to g/cm3
+ !rg0_base = (0.75_r8*rmass(m) / pi / (1.0e-3_r8*specdens)) **(0.33_r8) ! specdens kg/m3 to g/cm3
do k = 1, pver
do i = 1, ncol
diff --git a/src/chemistry/carma_aero/carma_aero_convproc.F90 b/src/chemistry/carma_aero/carma_aero_convproc.F90
index 65cca26998..7b9275c911 100644
--- a/src/chemistry/carma_aero/carma_aero_convproc.F90
+++ b/src/chemistry/carma_aero/carma_aero_convproc.F90
@@ -30,8 +30,7 @@ module carma_aero_convproc
use cam_logfile, only: iulog
use cam_abortutils, only: endrun
use rad_constituents,only: rad_cnst_get_info, rad_cnst_get_info_by_bin, rad_cnst_get_info_by_bin_spec, &
- rad_cnst_get_bin_props_by_idx, rad_cnst_get_bin_mmr_by_idx, rad_cnst_get_bin_mmr, &
- rad_cnst_get_bin_num
+ rad_cnst_get_bin_props_by_idx, rad_cnst_get_bin_mmr_by_idx
use carma_aerosol_properties_mod, only: carma_aerosol_properties
use carma_aerosol_state_mod, only: carma_aerosol_state
@@ -273,17 +272,11 @@ subroutine ma_convproc_init
ii = 0
do m = 1, nbins
- do l = 1, nspec(m) + 2 ! do through nspec plus mmr and number
+ do l = 1, nspec(m)
ii = ii + 1
bin_idx(m,l) = ii
- if (l <= nspec(m) ) then ! species
- call rad_cnst_get_info_by_bin_spec(0, m, l, spec_name=fieldname(ii), spec_name_cw=fieldname_cw(ii))
- else if (l == nspec(m) + 1) then ! bin mmr
- call rad_cnst_get_info_by_bin(0, m, mmr_name=fieldname(ii), mmr_name_cw=fieldname_cw(ii))
- else if (l == nspec(m) + 2) then ! bin num dens
- call rad_cnst_get_info_by_bin(0, m, num_name=fieldname(ii), num_name_cw=fieldname_cw(ii))
- end if
+ call rad_cnst_get_info_by_bin_spec(0, m, l, spec_name=fieldname(ii), spec_name_cw=fieldname_cw(ii))
call addfld (trim(fieldname(ii))//'SFSEC', &
horiz_only, 'A','kg/m2/s','Wet deposition flux (precip evap, convective) at surface')
@@ -324,7 +317,7 @@ subroutine ma_convproc_init
if (m.lt.nbins) then
call rad_cnst_get_info_by_bin(0, m+1, bin_name=bin_name_l)
end if
- do l = 1, nspec(m) + 2 ! do through nspec plus mmr and number
+ do l = 1, nspec(m)
ii = bin_idx(m,l)
ibl(ii) = ii
@@ -532,13 +525,8 @@ subroutine ma_convproc_intr( state, ptend, pbuf, ztodt, &
if (ll <= nspec(n)) then
call rad_cnst_get_bin_mmr_by_idx(0, n, ll, 'a', state, pbuf, raer(l)%fld)
end if
- if (ll == nspec(n)+1) then ! mmr
- call rad_cnst_get_bin_mmr(0, n, 'a', state, pbuf, raer(l)%fld)
- end if
- if (ll == nspec(n)+2) then ! number
- call rad_cnst_get_bin_num(0, n, 'a', state, pbuf, raer(l)%fld)
- end if
- ! calc new raer(l) if from state, add ptend
+
+ ! calc new raer(l) if from state, add ptend
if (bin_cnst_lq(n,ll)) then ! advected species, non advective species have been updated
qa(:ncol,:,l) = raer(l)%fld(1:ncol,:) + dt*ptend%q(1:ncol,:,lpr)
qb(:ncol,:,l) = max( 0.0_r8, qa(1:ncol,:,l) )
diff --git a/src/physics/cam/carma_fixer_mod.F90 b/src/physics/cam/carma_fixer_mod.F90
index 5efb602da8..628c6a05f8 100644
--- a/src/physics/cam/carma_fixer_mod.F90
+++ b/src/physics/cam/carma_fixer_mod.F90
@@ -10,9 +10,9 @@ module carma_fixer_mod
subroutine carma_fix_pbuf( state, pbuf )
use carma_flags_mod, only: carma_model
- use rad_constituents, only: rad_cnst_get_info, rad_cnst_get_info_by_bin
- use rad_constituents, only: rad_cnst_get_bin_num, rad_cnst_get_info_by_bin_spec
- use rad_constituents, only: rad_cnst_get_bin_mmr, rad_cnst_get_bin_mmr_by_idx
+!!$ use rad_constituents, only: rad_cnst_get_info, rad_cnst_get_info_by_bin
+!!$ use rad_constituents, only: rad_cnst_get_bin_num, rad_cnst_get_info_by_bin_spec
+!!$ use rad_constituents, only: rad_cnst_get_bin_mmr, rad_cnst_get_bin_mmr_by_idx
use ppgrid, only: pcols, pver
use constituents, only: pcnst, cnst_name, cnst_get_ind
use physics_buffer, only: physics_buffer_desc, pbuf_get_index, pbuf_get_field
@@ -31,45 +31,45 @@ subroutine carma_fix_pbuf( state, pbuf )
logical, parameter :: debug=.false.
character(len=*), parameter :: prefix = 'carma_fix_pbuf: '
-
- if (carma_model(:10) /= 'trop_strat') return
-
- ncol = state%ncol
-
- call rad_cnst_get_info(0, nbins=nbins)
-
- do m = 1, nbins
- call rad_cnst_get_bin_mmr(0, m, 'a', state, pbuf, bin_mmr)
- call rad_cnst_get_bin_num(0, m, 'a', state, pbuf, bin_num)
- call rad_cnst_get_info_by_bin(0, m, nspec=nspec, bin_name=name)
- call pbuf_get_field(pbuf, pbuf_get_index(trim(name)//"_rmass"),rmass)
- bin_num(:ncol,:) = bin_mmr(:ncol,:)/rmass(1)
-
- if (debug.and.masterproc) write(iulog,*) prefix//'bin mmr name = '//trim(name)
- lbuf = -1
- total_mmr(:,:) = 0._r8
-
- do l = 1, nspec
- call rad_cnst_get_info_by_bin_spec(0, m, l, spec_name=name)
- if (debug.and.masterproc) write(iulog,*) prefix//' species mmr name = '//trim(name)
- call cnst_get_ind(name, idxtmp, abort=.false.)
- if ( idxtmp>0 ) then
- call rad_cnst_get_bin_mmr_by_idx(0, m, l, 'a', state, pbuf, spec_mmr)
- total_mmr(:ncol,:) = total_mmr(:ncol,:) + spec_mmr(:ncol,:)
- elseif (lbuf<1) then
- if (debug.and.masterproc) write(iulog,*) prefix//' species '//trim(name)//' is in pbuf'
- lbuf = l
- else
- call endrun(prefix//' multiple bin species in pbuf')
- endif
- enddo
- if (lbuf>0) then
- call rad_cnst_get_info_by_bin_spec(0, m, lbuf, spec_name=name)
- if (debug.and.masterproc) write(iulog,*) prefix//'force '//trim(name)//' mmr = bin - total'
- call rad_cnst_get_bin_mmr_by_idx(0, m, lbuf, 'a', state, pbuf, spec_mmr)
- spec_mmr(:ncol,:) = max( bin_mmr(:ncol,:)-total_mmr(:ncol,:), 0._r8 )
- endif
- enddo
+!!$
+!!$ if (carma_model(:10) /= 'trop_strat') return
+!!$
+!!$ ncol = state%ncol
+!!$
+!!$ call rad_cnst_get_info(0, nbins=nbins)
+!!$
+!!$ do m = 1, nbins
+!!$ call rad_cnst_get_bin_mmr(0, m, 'a', state, pbuf, bin_mmr)
+!!$ call rad_cnst_get_bin_num(0, m, 'a', state, pbuf, bin_num)
+!!$ call rad_cnst_get_info_by_bin(0, m, nspec=nspec, bin_name=name)
+!!$ call pbuf_get_field(pbuf, pbuf_get_index(trim(name)//"_rmass"),rmass)
+!!$ bin_num(:ncol,:) = bin_mmr(:ncol,:)/rmass(1)
+!!$
+!!$ if (debug.and.masterproc) write(iulog,*) prefix//'bin mmr name = '//trim(name)
+!!$ lbuf = -1
+!!$ total_mmr(:,:) = 0._r8
+!!$
+!!$ do l = 1, nspec
+!!$ call rad_cnst_get_info_by_bin_spec(0, m, l, spec_name=name)
+!!$ if (debug.and.masterproc) write(iulog,*) prefix//' species mmr name = '//trim(name)
+!!$ call cnst_get_ind(name, idxtmp, abort=.false.)
+!!$ if ( idxtmp>0 ) then
+!!$ call rad_cnst_get_bin_mmr_by_idx(0, m, l, 'a', state, pbuf, spec_mmr)
+!!$ total_mmr(:ncol,:) = total_mmr(:ncol,:) + spec_mmr(:ncol,:)
+!!$ elseif (lbuf<1) then
+!!$ if (debug.and.masterproc) write(iulog,*) prefix//' species '//trim(name)//' is in pbuf'
+!!$ lbuf = l
+!!$ else
+!!$ call endrun(prefix//' multiple bin species in pbuf')
+!!$ endif
+!!$ enddo
+!!$ if (lbuf>0) then
+!!$ call rad_cnst_get_info_by_bin_spec(0, m, lbuf, spec_name=name)
+!!$ if (debug.and.masterproc) write(iulog,*) prefix//'force '//trim(name)//' mmr = bin - total'
+!!$ call rad_cnst_get_bin_mmr_by_idx(0, m, lbuf, 'a', state, pbuf, spec_mmr)
+!!$ spec_mmr(:ncol,:) = max( bin_mmr(:ncol,:)-total_mmr(:ncol,:), 0._r8 )
+!!$ endif
+!!$ enddo
end subroutine carma_fix_pbuf
diff --git a/src/physics/cam/rad_constituents.F90 b/src/physics/cam/rad_constituents.F90
index d2cf715ce6..c71b7f1a43 100644
--- a/src/physics/cam/rad_constituents.F90
+++ b/src/physics/cam/rad_constituents.F90
@@ -54,9 +54,7 @@ module rad_constituents
rad_cnst_get_info_by_bin_spec, &
rad_cnst_get_bin_props, &
rad_cnst_get_bin_num, &
- rad_cnst_get_bin_num_idx, &
- rad_cnst_get_carma_mmr_idx, &
- rad_cnst_get_bin_mmr
+ rad_cnst_get_carma_mmr_idx
public :: rad_cnst_num_name
@@ -136,11 +134,6 @@ module rad_constituents
character(len= 1) :: source_num_c ! source of cloud borne number conc field
character(len= 32) :: camname_num_c ! name registered in pbuf or constituents for number mixing ratio of cloud borne species
- character(len= 1) :: source_mass_a ! source of interstitial number conc field
- character(len= 32) :: camname_mass_a ! name registered in pbuf or constituents for number mixing ratio of interstitial species
- character(len= 1) :: source_mass_c ! source of cloud borne number conc field
- character(len= 32) :: camname_mass_c ! name registered in pbuf or constituents for number mixing ratio of cloud borne species
-
character(len= 1), pointer :: source_mmr_a(:) ! source of interstitial mmr field
character(len= 32), pointer :: camname_mmr_a(:) ! name registered in pbuf or constituents for mmr species
character(len= 1), pointer :: source_mmr_c(:) ! source of cloud borne specie mmr fields
@@ -151,8 +144,6 @@ module rad_constituents
integer :: idx_num_a ! index in pbuf or constituents for number mixing ratio of interstitial species
integer :: idx_num_c ! index in pbuf for number mixing ratio of cloud-borne species
- integer :: idx_mass_a ! index in pbuf or constituents for mass mixing ratio of interstitial species
- integer :: idx_mass_c ! index in pbuf for mass mixing ratio of cloud-borne species
integer, pointer :: idx_mmr_a(:) ! index in pbuf or constituents for mmr of interstitial species
integer, pointer :: idx_mmr_c(:) ! index in pbuf or constituents for mmr of cloud-borne species
@@ -796,8 +787,7 @@ end subroutine rad_cnst_get_info_by_mode
!================================================================================================
-subroutine rad_cnst_get_info_by_bin(list_idx, m_idx, &
- bin_name, num_name, num_name_cw, mmr_name, mmr_name_cw, nspec)
+subroutine rad_cnst_get_info_by_bin(list_idx, m_idx, bin_name, num_name, num_name_cw, nspec)
! Return info about CARMA aerosol lists
@@ -807,8 +797,6 @@ subroutine rad_cnst_get_info_by_bin(list_idx, m_idx, &
character(len=*), optional, intent(out) :: bin_name
character(len=32), optional, intent(out) :: num_name ! name of interstitial number mixing ratio
character(len=32), optional, intent(out) :: num_name_cw ! name of cloud borne number mixing ratio
- character(len=32), optional, intent(out) :: mmr_name ! name of interstitial mass mixing ratio
- character(len=32), optional, intent(out) :: mmr_name_cw ! name of cloud borne mass mixing ratio
integer, optional, intent(out) :: nspec ! number of species in the mode
! Local variables
@@ -852,16 +840,6 @@ subroutine rad_cnst_get_info_by_bin(list_idx, m_idx, &
num_name_cw = bins%comps(mm)%camname_num_c
endif
- ! name of interstitial mass mixing ratio
- if (present(mmr_name)) then
- mmr_name = bins%comps(mm)%camname_mass_a
- endif
-
- ! name of cloud borne mass mixing ratio
- if (present(mmr_name_cw)) then
- mmr_name_cw = bins%comps(mm)%camname_mass_c
- endif
-
end subroutine rad_cnst_get_info_by_bin
!================================================================================================
@@ -1309,12 +1287,6 @@ subroutine init_bin_comps(bins)
! indices for number mixing ratio components
bins%comps(m)%idx_num_a = get_cam_idx(bins%comps(m)%source_num_a, bins%comps(m)%camname_num_a, routine)
bins%comps(m)%idx_num_c = get_cam_idx(bins%comps(m)%source_num_c, bins%comps(m)%camname_num_c, routine)
- if ( bins%comps(m)%source_mass_a /= 'NOTSET' .and. bins%comps(m)%camname_mass_a /= 'NOTSET' ) then
- bins%comps(m)%idx_mass_a = get_cam_idx(bins%comps(m)%source_mass_a, bins%comps(m)%camname_mass_a, routine)
- endif
- if ( bins%comps(m)%source_mass_c /= 'NOTSET' .and. bins%comps(m)%camname_mass_c /= 'NOTSET' ) then
- bins%comps(m)%idx_mass_c = get_cam_idx(bins%comps(m)%source_mass_c, bins%comps(m)%camname_mass_c, routine)
- endif
! allocate memory for species
nspec = bins%comps(m)%nspec
@@ -2162,7 +2134,7 @@ subroutine parse_bin_defs(nl_in, bins)
do
iend = len_trim(nl_in(mcur))
if (nl_in(mcur)(iend-1:iend) /= ':+') exit
- if (nl_in(mcur)(iend-4:iend) /= 'mmr:+') nspec = nspec + 1
+ nspec = nspec + 1
mcur = mcur + 1
end do
@@ -2191,10 +2163,6 @@ subroutine parse_bin_defs(nl_in, bins)
bins%comps(m)%camname_num_a = ' '
bins%comps(m)%source_num_c = ' '
bins%comps(m)%camname_num_c = ' '
- bins%comps(m)%source_mass_a = 'NOTSET'
- bins%comps(m)%camname_mass_a = 'NOTSET'
- bins%comps(m)%source_mass_c = 'NOTSET'
- bins%comps(m)%camname_mass_c = 'NOTSET'
do ispec = 1, nspec
bins%comps(m)%source_mmr_a(ispec) = ' '
bins%comps(m)%camname_mmr_a(ispec) = ' '
@@ -2274,18 +2242,6 @@ subroutine parse_bin_defs(nl_in, bins)
bins%comps(m)%camname_num_c = tmp_name_c
tmpstr = tmpstr(ipos+1:)
- else if (tmpstr(:ipos-1) == 'mmr') then
-
- ! there can only be one number mixing ratio component
- if (mass_mr_found) call parse_error('more than 1 mass mixing ratio component', nl_in(mcur))
-
- mass_mr_found = .true.
- bins%comps(m)%source_mass_a = tmp_src_a
- bins%comps(m)%camname_mass_a = tmp_name_a
- bins%comps(m)%source_mass_c = tmp_src_c
- bins%comps(m)%camname_mass_c = tmp_name_c
- tmpstr = tmpstr(ipos+1:)
-
else
! check for valid species type
@@ -2338,7 +2294,6 @@ subroutine parse_bin_defs(nl_in, bins)
tmpstr = nl_in(mcur)
end do comps_loop
-
! check that a number component was found
if (.not. num_mr_found) call parse_error('number component not found', nl_in(mbeg))
@@ -2793,71 +2748,6 @@ end subroutine rad_cnst_get_carma_mmr_idx
!================================================================================================
-subroutine rad_cnst_get_bin_mmr(list_idx, bin_idx, phase, state, pbuf, mmr)
-
- ! Return pointer to mass mixing ratio for the aerosol bin from the specified
- ! climate or diagnostic list.
-
- ! Arguments
- integer, intent(in) :: list_idx ! index of the climate or a diagnostic list
- integer, intent(in) :: bin_idx ! bin index
- character(len=1), intent(in) :: phase ! 'a' for interstitial, 'c' for cloud borne
- type(physics_state), target, intent(in) :: state
- type(physics_buffer_desc), pointer :: pbuf(:)
- real(r8), pointer :: mmr(:,:)
-
- ! Local variables
- integer :: m_idx
- integer :: idx
- integer :: lchnk
- character(len=1) :: source
- type(binlist_t), pointer :: slist
- character(len=*), parameter :: subname = 'rad_cnst_get_bin_mmr'
- !-----------------------------------------------------------------------------
-
- if (list_idx >= 0 .and. list_idx <= N_DIAG) then
- slist => sa_list(list_idx)
- else
- write(iulog,*) subname//': list_idx =', list_idx
- call endrun(subname//': list_idx out of bounds')
- endif
-
- ! Check for valid bin index
- if (bin_idx < 1 .or. bin_idx > slist%nbins) then
- write(iulog,*) subname//': bin_idx= ', bin_idx, ' nbins= ', slist%nbins
- call endrun(subname//': bin list index out of range')
- end if
-
- ! Get the index for the corresponding bin in the bin definition object
- m_idx = slist%idx(bin_idx)
-
- ! Get data source
- if (phase == 'a') then
- source = bins%comps(m_idx)%source_mass_a
- idx = bins%comps(m_idx)%idx_mass_a
- else if (phase == 'c') then
- source = bins%comps(m_idx)%source_mass_c
- idx = bins%comps(m_idx)%idx_mass_c
- else
- write(iulog,*) subname//': phase= ', phase
- call endrun(subname//': unrecognized phase; must be "a" or "c"')
- end if
-
- lchnk = state%lchnk
-
- select case( source )
- case ('A')
- mmr => state%q(:,:,idx)
- case ('N')
- call pbuf_get_field(pbuf, idx, mmr)
- case ('Z')
- mmr => zero_cols
- end select
-
-end subroutine rad_cnst_get_bin_mmr
-
-!================================================================================================
-
subroutine rad_cnst_get_mode_num(list_idx, mode_idx, phase, state, pbuf, num)
! Return pointer to number mixing ratio for the aerosol mode from the specified
@@ -3035,53 +2925,6 @@ end subroutine rad_cnst_get_mode_num_idx
!================================================================================================
-subroutine rad_cnst_get_bin_num_idx(bin_idx, cnst_idx)
-
- ! Return constituent index of bin number mixing ratio for the aerosol bin in
- ! the climate list.
-
- ! This is a special routine to allow direct access to information in the
- ! constituent array inside physics parameterizations that have been passed,
- ! and are operating over the entire constituent array. The interstitial phase
- ! is assumed since that's what is contained in the constituent array.
-
- ! Arguments
- integer, intent(in) :: bin_idx ! bin index
- integer, intent(out) :: cnst_idx ! constituent index
-
- ! Local variables
- integer :: b_idx
- character(len=1) :: source
- type(binlist_t), pointer :: slist
- character(len=*), parameter :: subname = 'rad_cnst_get_bin_num_idx'
- !-----------------------------------------------------------------------------
-
- ! assume climate list
- slist => sa_list(0)
-
- ! Check for valid bin index
- if (bin_idx < 1 .or. bin_idx > slist%nbins) then
- write(iulog,*) subname//': bin_idx= ', bin_idx, ' nbins= ', slist%nbins
- call endrun(subname//': bin list index out of range')
- end if
-
- ! Get the index for the corresponding bin in the bin definition object
- b_idx = slist%idx(bin_idx)
-
- ! Check that source is 'A' which means the index is for the constituent array
- source = bins%comps(b_idx)%source_num_a
- if (source /= 'A') then
- write(iulog,*) subname//': source= ', source
- call endrun(subname//': requested bin number index not in constituent array')
- end if
-
- ! Return index in constituent array
- cnst_idx = bins%comps(b_idx)%idx_num_a
-
-end subroutine rad_cnst_get_bin_num_idx
-
-!================================================================================================
-
integer function rad_cnst_get_aer_idx(list_idx, aer_name)
! Return the index of aerosol aer_name in the list specified by list_idx.
diff --git a/src/physics/carma/cam/carma_intr.F90 b/src/physics/carma/cam/carma_intr.F90
index 9461c57322..a2d4c7d650 100644
--- a/src/physics/carma/cam/carma_intr.F90
+++ b/src/physics/carma/cam/carma_intr.F90
@@ -146,7 +146,7 @@ module carma_intr
! Defaults not in the namelist
character(len=10), parameter :: carma_mixtype = 'wet' ! mixing ratio type for CARMA constituents
- integer :: LUNOPRT = -1 ! lun for output
+ integer :: LUNOPRT = 6 ! lun for output
! Constituent Mappings
integer :: icnst4elem(NELEM, NBIN) ! constituent index for a carma element
@@ -296,7 +296,6 @@ subroutine carma_register
! Create the CARMA object that will contain all the information about the
! how CARMA is configured.
-
call CARMA_Create(carma, NBIN, NELEM, NGROUP, NSOLUTE, NGAS, NWAVE, rc, &
LUNOPRT=LUNOPRT, wave=wave, dwave=dwave, do_wave_emit=do_wave_emit, NREFIDX=NREFIDX)
if (rc < 0) call endrun('carma_register::CARMA_Create failed.')
@@ -3728,7 +3727,7 @@ subroutine carma_get_bin(state, ielem, ibin, mmr, rc)
ncol = state%ncol
! Check the group and bin ranges
- if ((ielem < 1) .or. (ielem .gt. NGROUP)) then
+ if ((ielem < 1) .or. (ielem .gt. NELEM)) then
write(LUNOPRT, *) 'carma_get_bin:: ERROR - Invalid element id, ', ielem
rc = RC_ERROR
return
@@ -3977,7 +3976,7 @@ subroutine carma_get_kappa(state, igroup, ibin, kappa, rc)
type(physics_state), intent(in) :: state !! physics state variables
integer, intent(in) :: igroup !! group index
integer, intent(in) :: ibin !! bin index
- real(r8), intent(out) :: kappa(pcols,pver) !! kappa value for the entire particle
+ real(r8), intent(out) :: kappa(:,:) !! kappa value for the entire particle
integer, intent(out) :: rc !! return code
real(r8) :: totmmr(pcols,pver) ! total mmr (kg/kg)
@@ -4027,8 +4026,8 @@ subroutine carma_get_kappa(state, igroup, ibin, kappa, rc)
end do
! Figure out the average kappa.q
- where (totmmr .gt. 0._r8)
- kappa = kappa / totmmr
+ where (totmmr(:ncol,:) .gt. 0._r8)
+ kappa(:ncol,:) = kappa(:ncol,:) / totmmr(:ncol,:)
end where
return
@@ -4424,4 +4423,15 @@ subroutine carma_get_bin_rmass(igroup, ibin, mass, rc)
end subroutine carma_get_bin_rmass
+!!$ subroutine carma_get_wtpct
+!!$
+!!$ real(r8) :: mmr_gas(pver) !! gas mass mixing ratio (kg/kg)
+!!$
+!!$ do igas = 1,NGAS
+!!$ if(igas .eq. I_GAS_H2SO4)then ! only output the sulfate weight percent
+!!$ call CARMASTATE_GetGas(cstate, igas, mmr_gas(:), rc, wtpct=wtpct)
+!!$ end if
+!!$ end do
+!!$
+!!$ end subroutine carma_get_wtpct
end module carma_intr
diff --git a/src/physics/carma/models/trop_strat_soa1/carma_model_mod.F90 b/src/physics/carma/models/trop_strat_soa1/carma_model_mod.F90
index 4d69d1279f..ad8967f688 100644
--- a/src/physics/carma/models/trop_strat_soa1/carma_model_mod.F90
+++ b/src/physics/carma/models/trop_strat_soa1/carma_model_mod.F90
@@ -391,6 +391,7 @@ subroutine CARMAMODEL_DefineModel(carma, rc)
! sulfate mass and number density for each bin
! e.g. CRSULF01 first element mass mixing ratio; NBMXAER01 #/kg
do ibin=1,NBIN
+ write (outputbin, "(I2.2)") ibin
if (igroup==I_GRP_MXAER) then
call pbuf_add_field("DQDT_MXSOA"//outputbin,'global',dtype_r8,(/pcols,pver/), ipbuf4soa(ibin))
call pbuf_add_field("MXSOA"//outputbin//"CM",'physpkg',dtype_r8,(/pcols,pver/), ipbuf4soacm(ibin))
diff --git a/src/physics/carma/models/trop_strat_soa5/carma_model_mod.F90 b/src/physics/carma/models/trop_strat_soa5/carma_model_mod.F90
index 4b74d7f2c5..101b696087 100644
--- a/src/physics/carma/models/trop_strat_soa5/carma_model_mod.F90
+++ b/src/physics/carma/models/trop_strat_soa5/carma_model_mod.F90
@@ -427,6 +427,7 @@ subroutine CARMAMODEL_DefineModel(carma, rc)
! sulfate mass and number density for each bin
! e.g. CRSULF01 first element mass mixing ratio; NBMXAER01 #/kg
do ibin=1,NBIN
+ write (outputbin, "(I2.2)") ibin
if (igroup==I_GRP_MXAER) then
call pbuf_add_field("DQDT_MXSOA1"//outputbin,'global',dtype_r8,(/pcols,pver/), ipbuf4soa1(ibin))
call pbuf_add_field("DQDT_MXSOA2"//outputbin,'global',dtype_r8,(/pcols,pver/), ipbuf4soa2(ibin))