32 PUSTAR, &!I [m/s] Wind friction speed
33 PRHOA, &!I [kg/m3] air density at 2m height
34 PWG, &!I [m3/m3] volumetric water content
35 PZ0, &!I [m] roughness length of surface
36 PWSAT, &!I [m3 m-3] saturation liquid water content
37 PCLAY, &!I [frc] mass fraction clay
38 PSAND, &!I [frc] mass fraction sand
39 PWIND10M, &!I [m/s] wind at 10m altitude
40 PSFSLT, &!O [kg/m2/sec] Vertical salt flux
41 KSIZE &!I [nbr] number of points for calculation
48 integer,
intent(in) :: KSIZE
49 real,
intent(in),
dimension(KSIZE) :: PUSTAR
50 real,
intent(in),
dimension(KSIZE) :: PRHOA
51 real,
intent(in),
dimension(KSIZE) :: PCLAY
52 real,
intent(in),
dimension(KSIZE) :: PSAND
53 real,
intent(in),
dimension(KSIZE) :: PWG
54 real,
intent(in),
dimension(KSIZE) :: PWSAT
55 real,
intent(in),
dimension(KSIZE) :: PZ0
56 real,
intent(in),
dimension(KSIZE) :: PWIND10M
59 real,
intent(out),
dimension(KSIZE) :: PSFSLT
68 real,
parameter::flx_mss_fdg_fct=18.0e-4
70 real,
parameter::hgt_rfr=10.0
71 real,
parameter::hgt_zpd_mbl=0.0
72 real,
parameter::rgh_mmn_mbl=100.0e-6
74 real,
parameter::rgh_mmn_smt=33.3e-6
75 real,
parameter::wnd_min_mbl=1.0
76 real,
parameter::wnd_frc_rsl=0.95d0
79 logical,
allocatable :: flg_mbl(:)
80 real,
allocatable :: frc_thr_ncr_drg(:)
81 real,
allocatable :: frc_thr_ncr_wtr(:)
82 real,
allocatable :: gwc_sfc(:)
83 real,
allocatable :: wnd_frc_thr_slt(:)
84 real,
allocatable :: wnd_frc_slt(:)
85 real,
allocatable :: flx_mss_hrz_slt_ttl_wbn(:)
86 real,
allocatable :: flx_mss_vrt_dst_ttl_wbn(:)
87 real,
allocatable :: wnd_rfr_thr_slt(:)
88 real,
allocatable :: mbl_bsn_fct(:)
89 real,
allocatable :: dst_slt_flx_rat_ttl(:)
90 real,
allocatable :: ZCLAY(:)
93 REAL(KIND=JPRB) :: ZHOOK_HANDLE
96 IF (
lhook)
CALL dr_hook(
'MODE_SLTMBL:SALTFLUX_GET',0,zhook_handle)
97 allocate (flg_mbl(ksize))
98 allocate (frc_thr_ncr_drg(ksize))
99 allocate (frc_thr_ncr_wtr(ksize))
100 allocate (gwc_sfc(ksize))
101 allocate (wnd_frc_thr_slt(ksize))
102 allocate (wnd_frc_slt(ksize))
103 allocate (flx_mss_hrz_slt_ttl_wbn(ksize))
104 allocate (flx_mss_vrt_dst_ttl_wbn(ksize))
105 allocate (wnd_rfr_thr_slt(ksize))
106 allocate (mbl_bsn_fct(ksize))
107 allocate (dst_slt_flx_rat_ttl(ksize))
108 allocate (zclay(ksize))
114 flx_mss_vrt_dst_ttl_wbn(:)=0.d0
118 mbl_bsn_fct(:)=psand(:)
126 deallocate (frc_thr_ncr_drg)
127 deallocate (frc_thr_ncr_wtr)
129 deallocate (wnd_frc_thr_slt)
130 deallocate (wnd_frc_slt)
131 deallocate (flx_mss_hrz_slt_ttl_wbn)
132 deallocate (flx_mss_vrt_dst_ttl_wbn)
133 deallocate (wnd_rfr_thr_slt)
134 deallocate (mbl_bsn_fct)
135 deallocate (dst_slt_flx_rat_ttl)
137 IF (
lhook)
CALL dr_hook(
'MODE_SLTMBL:SALTFLUX_GET',1,zhook_handle)
subroutine saltflux_get(PUSTAR, PRHOA, PWG, PZ0, PWSAT, PCLAY, PSAND, PWIND10M, PSFSLT, KSIZE)