@@ -3534,7 +3534,10 @@ end subroutine optical_prep_mam
3534
3534
! MOZAIC grids.
3535
3535
! 10/24/18 - A. Ukhov, bug fix: mass redistribution between GOCART dust/sea salt and
3536
3536
! MOZAIC bins should be computed using interpolation over the logarithmic axis.
3537
-
3537
+ ! 09/17/24 - A. Ukhov, bug fix: mass redistribution between GOCART dust/sea salt and
3538
+ ! MOZAIC bins now accounts for 5th dust and 4th sea salt bins. Number of MOZAIC bins was
3539
+ ! changed from 8 to 9 and MOZAIC max size range was increased from 10 to 20 um.
3540
+ !
3538
3541
! This subroutine computes volume-averaged refractive index and wet radius needed
3539
3542
! by the mie calculations. Aerosol number is also passed into the mie calculations
3540
3543
! in terms of other units.
@@ -3642,9 +3645,9 @@ subroutine optical_prep_gocart(nbin_o, chem, alt,relhum, &
3642
3645
! 7/21/09 SAM variables needed to convert GOCART sectional dust and seasalt to MOZAIC sections
3643
3646
real dgnum, dhi, dlo, xlo, xhi, dxbin, relh_frc
3644
3647
real dlo_sectm(nbin_o), dhi_sectm(nbin_o)
3645
- integer, parameter :: nbin_omoz=8
3646
- real, save :: seasfrc_goc8bin (4,nbin_omoz) ! GOCART seasalt size distibution - mass fracs in MOSAIC 8 -bins
3647
- real, save :: dustfrc_goc8bin (ndust,nbin_omoz) ! GOCART dust size distibution - mass fracs in MOSAIC 8 -bins
3648
+ integer, parameter :: nbin_omoz=9 ! A. Ukhov 09/17/24
3649
+ real, save :: seasfrc_goc9bin (4,nbin_omoz) ! GOCART seasalt size distibution - mass fracs in MOSAIC 9 -bins
3650
+ real, save :: dustfrc_goc9bin (ndust,nbin_omoz) ! GOCART dust size distibution - mass fracs in MOSAIC 9 -bins
3648
3651
real mass_bc1 , mass_bc2 , vol_bc2 , mass_bc1j , mass_bc2j, &
3649
3652
mass_bc1i , mass_bc2i , vol_soil
3650
3653
real*8 dlogoc, dhigoc
@@ -3671,7 +3674,7 @@ subroutine optical_prep_gocart(nbin_o, chem, alt,relhum, &
3671
3674
!
3672
3675
sixpi=6.0/3.14159265359
3673
3676
dlo_um=0.0390625
3674
- dhi_um=10.0
3677
+ dhi_um=20.0 !A. Ukhov 09/17/24
3675
3678
drydens=1.8
3676
3679
iflag=2
3677
3680
duma=1.0
@@ -3692,47 +3695,51 @@ subroutine optical_prep_gocart(nbin_o, chem, alt,relhum, &
3692
3695
dlo_sectm(n) = exp( xlo + dxbin*(n-1) )
3693
3696
dhi_sectm(n) = exp( xlo + dxbin*n )
3694
3697
end do
3695
- ! real, save :: seasfrc_goc8bin(4,nbin_o) ! GOCART seasalt size distibution - mass fracs in MOSAIC 8-bins
3696
- ! real, save :: dustfrc_goc8bin(ndust,nbin_o) ! GOCART dust size distibution - mass fracs in MOSAIC 8-bins
3697
- ! USE module_data_gocart_seas
3698
- ! real*8, DIMENSION (4), PARAMETER :: ra(4)=(/1.d-1,5.d-1,1.5d0,5.0d0/)
3699
- ! real*8, DIMENSION (4), PARAMETER :: rb(4)=(/5.d-1,1.5d0,5.d0,1.d1/)
3700
- ! real*8, DIMENSION (4), PARAMETER :: den_seas(4)=(/2.2d3,2.2d3,2.2d3,2.2d3/)
3701
- ! real*8, DIMENSION (4), PARAMETER :: reff_seas(4)=(/0.30D-6,1.00D-6,3.25D-6,7.50D-6/)
3702
- ! USE module_data_gocart_dust, only: ndust, reff_dust, den_dust
3703
- ! real*8, DIMENSION (5), PARAMETER :: den_dust(5)=(/2500.,2650.,2650.,2650.,2650./)
3704
- ! real*8, DIMENSION (5), PARAMETER :: reff_dust(5)=(/0.73D-6,1.4D-6,2.4D-6,4.5D-6,8.0D-6/)
3705
3698
! Seasalt bin mass fractions
3706
- seasfrc_goc8bin =0.
3699
+ seasfrc_goc9bin =0.
3707
3700
! WRITE(*,*)' Seasalt mass fractions'
3708
3701
! WRITE(*,*)' ' ,' ' ,(dlo_sectm(n),n=1,nbin_o)
3709
3702
! WRITE(*,*)' ' ,' ' ,(dhi_sectm(n),n=1,nbin_o)
3710
3703
do m =1, 4 ! loop over seasalt size bins
3711
3704
dlogoc = ra(m)*2.E-6 ! low diameter limit (m)
3712
3705
dhigoc = rb(m)*2.E-6 ! hi diameter limit (m)
3713
3706
do n = 1, nbin_o
3714
- seasfrc_goc8bin (m,n)=max(DBLE(0.),min(DBLE(log(dhi_sectm(n))),log(dhigoc))- &
3707
+ seasfrc_goc9bin (m,n)=max(DBLE(0.),min(DBLE(log(dhi_sectm(n))),log(dhigoc))- &
3715
3708
max(log(dlogoc),DBLE(log(dlo_sectm(n)))) )/(log(dhigoc)-log(dlogoc))
3716
3709
3717
3710
end do
3718
- ! WRITE(*,*)m,dlogoc,dhigoc,(seasfrc_goc8bin (m,n),n=1,nbin_o)
3711
+ ! WRITE(*,*)m,dlogoc,dhigoc,(seasfrc_goc9bin (m,n),n=1,nbin_o)
3719
3712
end do
3720
3713
! Dust bin mass fractions
3721
3714
! WRITE(*,*)' Dust mass fractions'
3722
3715
! WRITE(*,*)' ' ,' ' ,(dlo_sectm(n),n=1,nbin_o)
3723
3716
! WRITE(*,*)' ' ,' ' ,(dhi_sectm(n),n=1,nbin_o)
3724
- dustfrc_goc8bin =0.
3717
+ dustfrc_goc9bin =0.
3725
3718
do m =1, ndust ! loop over dust size bins
3726
3719
dlogoc = ra_dust(m)*2.E-6 ! low diameter limit (m)
3727
3720
dhigoc = rb_dust(m)*2.E-6 ! hi diameter limit (m)
3728
3721
do n = 1, nbin_o
3729
- dustfrc_goc8bin (m,n)=max(DBLE(0.),min(DBLE(log(dhi_sectm(n))),log(dhigoc))- &
3722
+ dustfrc_goc9bin (m,n)=max(DBLE(0.),min(DBLE(log(dhi_sectm(n))),log(dhigoc))- &
3730
3723
max(log(dlogoc),DBLE(log(dlo_sectm(n)))) )/(log(dhigoc)-log(dlogoc))
3731
3724
3732
3725
end do
3733
- ! WRITE(*,*)m,dlogoc,dhigoc,(dustfrc_goc8bin (m,n),n=1,nbin_o)
3726
+ ! WRITE(*,*)m,dlogoc,dhigoc,(dustfrc_goc9bin (m,n),n=1,nbin_o)
3734
3727
end do
3735
3728
kcall=kcall+1
3729
+
3730
+ !Diagnostic. A. Ukhov 09/17/24
3731
+ !-----
3732
+ ! WRITE(*,*)nbin_o
3733
+ ! WRITE(*,*)' Dust redistribution:'
3734
+ ! do m =1, ndust
3735
+ ! WRITE(*,*)m,dustfrc_goc9bin(m,:)
3736
+ ! end do
3737
+
3738
+ ! WRITE(*,*)' Sea salt redistribution:'
3739
+ ! do m =1, 4
3740
+ ! WRITE(*,*)m,seasfrc_goc9bin(m,:)
3741
+ ! end do
3742
+ !-----
3736
3743
! ISTOP=1
3737
3744
! IF(ISTOP.EQ.1)THEN
3738
3745
! STOP
@@ -3991,15 +3998,15 @@ subroutine optical_prep_gocart(nbin_o, chem, alt,relhum, &
3991
3998
! Add in seasalt and dust from GOCART sectional distributions
3992
3999
n = 0
3993
4000
mass_seas = 0.0
3994
- do m =p_seas_1, p_seas_3 ! loop over seasalt size bins less than 10 um diam
4001
+ do m =p_seas_1, p_seas_4 ! loop over seasalt size bins less than 20 um. A. Ukhov 09/17/24
3995
4002
n = n+1
3996
- mass_seas=mass_seas+seasfrc_goc8bin (n,isize)*chem(i,k,j,m)
4003
+ mass_seas=mass_seas+seasfrc_goc9bin (n,isize)*chem(i,k,j,m)
3997
4004
end do
3998
4005
n = 0
3999
4006
mass_soil = 0.0
4000
- do m =p_dust_1, p_dust_1+ndust-2 ! loop over dust size bins less than 10 um diam
4007
+ do m =p_dust_1, p_dust_5 ! loop over dust size bins less than 20 um. A. Ukhov 09/17/24
4001
4008
n = n+1
4002
- mass_soil=mass_soil+dustfrc_goc8bin (n,isize)*chem(i,k,j,m)
4009
+ mass_soil=mass_soil+dustfrc_goc9bin (n,isize)*chem(i,k,j,m)
4003
4010
end do
4004
4011
mass_cl=mass_seas*conv1a*35.4530/58.4428
4005
4012
mass_na=mass_seas*conv1a*22.9898/58.4428
0 commit comments