dustemission_mod Module

*************


*************


*************


*************


*************


*************


*************


*************



Used by

  • module~~dustemission_mod~~UsedByGraph module~dustemission_mod dustemission_mod module~phys_output_write_spl_mod phys_output_write_spl_mod module~phys_output_write_spl_mod->module~dustemission_mod proc~coarsemission~2 coarsemission proc~coarsemission~2->module~dustemission_mod proc~phytracr_spl_out_init~2 phytracr_spl_out_init proc~phytracr_spl_out_init~2->module~dustemission_mod proc~phytracr_spl_out_init phytracr_spl_out_init proc~phytracr_spl_out_init->module~dustemission_mod module~phys_output_write_spl_mod~2 phys_output_write_spl_mod module~phys_output_write_spl_mod~2->module~dustemission_mod proc~coarsemission coarsemission proc~coarsemission->module~dustemission_mod proc~physiq physiq proc~physiq->module~phys_output_write_spl_mod proc~physiq~2 physiq proc~physiq~2->module~phys_output_write_spl_mod

Contents


Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: flag_feff = 1
integer, public, parameter :: nbins = 800
integer, public, parameter :: nmode = 3
integer, public, parameter :: ntyp = 5
real, public, parameter :: z10m = 1000.
real, public, parameter :: kref = 3.
integer, public, parameter :: nats = 14
integer, public, parameter :: nclass = 200000
real, public, parameter :: dmin = 0.0001
real, public, parameter :: dmax = 0.2
integer, public, parameter :: nspe = nmode*3+1
real, public, parameter :: vkarm = 0.41
integer, public, parameter :: div1 = 6.
integer, public, parameter :: div2 = 6.
integer, public, parameter :: div3 = 6.
real, public, parameter :: e1 = 3.61/div1
real, public, parameter :: e2 = 3.52/div2
real, public, parameter :: e3 = 3.46/div3
real, public, parameter :: rop = 2.65
real, public, parameter :: roa = 0.001227
real, public, parameter :: pi = 3.14159
real, public, parameter :: gravity = 981.

cm!!

real, public, parameter :: cd = 2.61*roa/gravity
real, public, parameter :: beta = 16300.
real, public, parameter, dimension(3) :: diam = (/1.5, 6.7, 14.2/)
integer, public, parameter :: ndistb = 3
real, public, parameter, dimension(3) :: sig = (/1.7, 1.6, 1.5/)
integer, public, parameter :: nbinsHR = 30000
real, public, parameter :: sizedustmin = 0.0599
real, public, parameter :: sizedustmax = 63.
real, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: massfrac
real, public, DIMENSION(:), ALLOCATABLE, SAVE :: binsHR
real, public, DIMENSION(:), ALLOCATABLE, SAVE :: binsHRcm
real, public, DIMENSION(:), ALLOCATABLE, SAVE :: itv
real, public, DIMENSION(:), ALLOCATABLE, SAVE :: sizedust
real, public, DIMENSION(:), ALLOCATABLE, SAVE :: szdcm
real, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: sol
real, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: P
real, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: zos
real, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: z01
real, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: z02
real, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: D
real, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: A
real, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: solspe
integer, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: masklisa

! INTEGER,DIMENSION(:),ALLOCATABLE,SAVE :: maskdust

real, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: feff
real, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: feffdbg
real, public, DIMENSION(:), ALLOCATABLE, SAVE :: sizeclass
real, public, DIMENSION(:), ALLOCATABLE, SAVE :: sizeclass2
real, public, DIMENSION(:), ALLOCATABLE, SAVE :: uth
real, public, DIMENSION(:), ALLOCATABLE, SAVE :: uth2
real, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: srel
real, public, DIMENSION(:,:), ALLOCATABLE, SAVE :: srel2
integer, public :: nat
real, public :: ustarsalt
real, public :: var3a
real, public :: var3b
integer, public :: ns
integer, public :: nd
integer, public :: nsi
integer, public :: npi
integer, public :: ni
integer, public :: ncl
real, public, DIMENSION(:), ALLOCATABLE, SAVE :: m1dflux
real, public, DIMENSION(:), ALLOCATABLE, SAVE :: m2dflux
real, public, DIMENSION(:), ALLOCATABLE, SAVE :: m3dflux

!!$OMP THREADPRIVATE(maskdust)


Subroutines

public subroutine dustemis_out_init()

Arguments

None

public subroutine dustemission(debutphy, xlat, xlon, nsurfwind, pctsrf, zu10m, zv10m, wstar, ale_bl, ale_wake, param_wstarBL, param_wstarWAKE, wind10ms, probu, emdustacc, emdustcoa, emdustsco, maskdust)

!$OMP THREADPRIVATE(emisbinloc) !!!!$OMP THREADPRIVATE(maskdust)

Arguments

Type IntentOptional Attributes Name
logical :: debutphy
real, intent(in), DIMENSION(klon) :: xlat
real, intent(in), DIMENSION(klon) :: xlon
integer, intent(in) :: nsurfwind
real, intent(in), DIMENSION(klon,nbsrf) :: pctsrf
real, intent(in), DIMENSION(klon) :: zu10m
real, intent(in), DIMENSION(klon) :: zv10m
real, intent(in), DIMENSION(klon) :: wstar
real, intent(in), DIMENSION(klon) :: ale_bl
real, intent(in), DIMENSION(klon) :: ale_wake
real, intent(in), DIMENSION(klon) :: param_wstarBL
real, intent(in), DIMENSION(klon) :: param_wstarWAKE
real, intent(in), DIMENSION(klon,nsurfwind) :: wind10ms
real, intent(in), DIMENSION(klon,nsurfwind) :: probu
real, DIMENSION(klon) :: emdustacc
real, DIMENSION(klon) :: emdustcoa
real, DIMENSION(klon) :: emdustsco
integer, DIMENSION(klon) :: maskdust

public subroutine makemask(maskdustloc)

Arguments

Type IntentOptional Attributes Name
integer, DIMENSION(klon) :: maskdustloc

public subroutine adaptdustemission(debutphy, emisbinlocal, emdustacc, emdustcoa, emdustsco, maskdust, pctsrf)

$OMP MASTER

Read more…

Arguments

Type IntentOptional Attributes Name
logical :: debutphy
real, DIMENSION(klon,nbins) :: emisbinlocal
real, DIMENSION(klon) :: emdustacc
real, DIMENSION(klon) :: emdustcoa
real, DIMENSION(klon) :: emdustsco
integer, DIMENSION(klon) :: maskdust
real, intent(in), DIMENSION(klon,nbsrf) :: pctsrf

public subroutine initdust(xlat, xlon, pctsrf)

**L718

Read more…

Arguments

Type IntentOptional Attributes Name
real, intent(in), DIMENSION(klon) :: xlat
real, intent(in), DIMENSION(klon) :: xlon
real, intent(in), DIMENSION(klon,nbsrf) :: pctsrf

public subroutine calcdustemission(debutphy, nsurfwind, zu10m, zv10m, wstar, ale_bl, ale_wake, param_wstarBL, param_wstarWAKE, wind10ms, probu, emisbin)

,'zwstar=sqrt(2.(',flag_wstarBL,'ale_bl+0.01(',flag_wstar,'-100)*ale_wake))'

Read more…

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: debutphy
integer, intent(in) :: nsurfwind
real, intent(in), DIMENSION(klon) :: zu10m
real, intent(in), DIMENSION(klon) :: zv10m
real, intent(in), DIMENSION(klon) :: wstar
real, intent(in), DIMENSION(klon) :: ale_bl
real, intent(in), DIMENSION(klon) :: ale_wake
real, intent(in), DIMENSION(klon) :: param_wstarBL
real, intent(in), DIMENSION(klon) :: param_wstarWAKE
real, intent(in), DIMENSION(klon,nsurfwind) :: wind10ms
real, intent(in), DIMENSION(klon,nsurfwind) :: probu
real, DIMENSION(klon,nbins) :: emisbin

!$OMP THREADPRIVATE(wind10ms) !$OMP THREADPRIVATE(wind10cm)

public subroutine def_copyncl(kfin)

Arguments

Type IntentOptional Attributes Name
integer :: kfin

public subroutine def_dichotomy(siz, nclass, i1, i2, ds, iout)

Arguments

Type IntentOptional Attributes Name
real :: siz(nclass)
integer :: nclass
integer :: i1
integer :: i2
real :: ds
integer :: iout

public subroutine calcvd(vdout)

Arguments

Type IntentOptional Attributes Name
real, intent(out), DIMENSION(nbinsHR) :: vdout