@@ -927,7 +927,7 @@ function sol_factb_interstitial(self, bin_ndx, ncol, nlev, aero_props) result(so
927927 real (r8 ) :: totmmr(ncol,nlev)
928928 real (r8 ) :: solmmr(ncol,nlev)
929929 integer :: ispc
930- character (len = aero_name_len ) :: spectype
930+ real ( r8 ) :: spechygro
931931
932932 sol_factb(:,:) = 0.0_r8
933933
@@ -936,40 +936,18 @@ function sol_factb_interstitial(self, bin_ndx, ncol, nlev, aero_props) result(so
936936
937937 do ispc = 1 , aero_props% nspecies(bin_ndx)
938938
939- call aero_props% species_type (bin_ndx, ispc, spectype )
939+ call aero_props% get (bin_ndx, ispc, hygro = spechygro )
940940 call self% get_ambient_mmr(ispc, bin_ndx, aer_mmr)
941941
942942 totmmr(:ncol,:) = totmmr(:ncol,:) + aer_mmr(:ncol,:)
943-
944- if (trim (spectype) == ' sulfate' ) then
945- solmmr(:ncol,:) = solmmr(:ncol,:) + aer_mmr(:ncol,:)* 0.5_r8
946- end if
947- if (trim (spectype) == ' p-organic' ) then
948- solmmr(:ncol,:) = solmmr(:ncol,:) + aer_mmr(:ncol,:)* 0.2_r8
949- end if
950- if (trim (spectype) == ' s-organic' ) then
951- solmmr(:ncol,:) = solmmr(:ncol,:) + aer_mmr(:ncol,:)* 0.2_r8
952- end if
953- if (trim (spectype) == ' dust' ) then
954- solmmr(:ncol,:) = solmmr(:ncol,:) + aer_mmr(:ncol,:)* 0.1_r8
955- end if
956- if (trim (spectype) == ' seasalt' ) then
957- solmmr(:ncol,:) = solmmr(:ncol,:) + aer_mmr(:ncol,:)* 0.8_r8
958- end if
943+ solmmr(:ncol,:) = solmmr(:ncol,:) + aer_mmr(:ncol,:)* spechygro
959944
960945 end do ! nspec
961946
962947 where ( totmmr > 0._r8 )
963948 sol_factb = solmmr/ totmmr
964949 end where
965950
966- where ( sol_factb > 0.8_r8 )
967- sol_factb = 0.8_r8
968- end where
969- where ( sol_factb < 0.1_r8 )
970- sol_factb = 0.1_r8
971- end where
972-
973951 end function sol_factb_interstitial
974952
975953
0 commit comments