@@ -105,6 +105,48 @@ function compute_sea_salt!(out, state, cache, time)
105
105
end
106
106
end
107
107
108
+ function compute_sea_salt_column! (out, state, cache, time)
109
+ :prescribed_aerosols_field in propertynames (cache. tracers) ||
110
+ error (" Aerosols do not exist in the model" )
111
+ any (
112
+ x -> x in propertynames (cache. tracers. prescribed_aerosols_field),
113
+ [:SSLT01 , :SSLT02 , :SSLT03 , :SSLT04 , :SSLT05 ],
114
+ ) || error (" Sea salt does not exist in the model" )
115
+ if isnothing (out)
116
+ out = zeros (axes (Fields. level (state. f, half)))
117
+ aero_conc = cache. scratch. ᶜtemp_scalar
118
+ @. aero_conc = 0
119
+ for prescribed_aerosol_name in
120
+ [:SSLT01 , :SSLT02 , :SSLT03 , :SSLT04 , :SSLT05 ]
121
+ if prescribed_aerosol_name in
122
+ propertynames (cache. tracers. prescribed_aerosols_field)
123
+ aerosol_field = getproperty (
124
+ cache. tracers. prescribed_aerosols_field,
125
+ prescribed_aerosol_name,
126
+ )
127
+ @. aero_conc += aerosol_field
128
+ end
129
+ end
130
+ Operators. column_integral_definite! (out, aero_conc)
131
+ return out
132
+ else
133
+ aero_conc = cache. scratch. ᶜtemp_scalar
134
+ @. aero_conc = 0
135
+ for prescribed_aerosol_name in
136
+ [:SSLT01 , :SSLT02 , :SSLT03 , :SSLT04 , :SSLT05 ]
137
+ if prescribed_aerosol_name in
138
+ propertynames (cache. tracers. prescribed_aerosols_field)
139
+ aerosol_field = getproperty (
140
+ cache. tracers. prescribed_aerosols_field,
141
+ prescribed_aerosol_name,
142
+ )
143
+ @. aero_conc += aerosol_field
144
+ end
145
+ end
146
+ Operators. column_integral_definite! (out, aero_conc)
147
+ end
148
+ end
149
+
108
150
# ##
109
151
# Ozone concentration (3d)
110
152
# ##
@@ -195,3 +237,15 @@ add_diagnostic_variable!(
195
237
comments = " Prescribed dry mass fraction of hydrophilic organic carbon aerosol particles in air." ,
196
238
compute! = (out, u, p, t) -> compute_aerosol! (out, u, p, t, :OC2 ),
197
239
)
240
+
241
+ # ##
242
+ # Sea salt column mass (2d)
243
+ # ##
244
+ add_diagnostic_variable! (
245
+ short_name = " loadss" ,
246
+ long_name = " Load of Sea-Salt Aerosol" ,
247
+ standard_name = " atmosphere_mass_content_of_sea_salt_dry_aerosol _particles" ,
248
+ units = " kg m^-2" ,
249
+ comments = " The total dry mass of sea salt aerosol particles per unit area." ,
250
+ compute! = (out, u, p, t) -> compute_sea_salt_column! (out, u, p, t),
251
+ )
0 commit comments