ROMS
Loading...
Searching...
No Matches
mod_sediment Module Reference

Functions/Subroutines

subroutine initialize_sediment
 

Variables

integer, dimension(:), allocatable idsed
 
integer, dimension(:), allocatable idmud
 
integer, dimension(:), allocatable isand
 
integer, parameter mbedp = 5
 
integer, dimension(mbedpidsbed
 
integer, parameter mbotp = 27
 
integer, dimension(mbotpidbott
 
integer, parameter ithck = 1
 
integer, parameter iaged = 2
 
integer, parameter iporo = 3
 
integer, parameter idiff = 4
 
integer, parameter ibtcr = 5
 
integer, parameter isd50 = 1
 
integer, parameter idens = 2
 
integer, parameter iwsed = 3
 
integer, parameter itauc = 4
 
integer, parameter irlen = 5
 
integer, parameter irhgt = 6
 
integer, parameter ibwav = 7
 
integer, parameter izdef = 8
 
integer, parameter izapp = 9
 
integer, parameter iznik = 10
 
integer, parameter izbio = 11
 
integer, parameter izbfm = 12
 
integer, parameter izbld = 13
 
integer, parameter izwbl = 14
 
integer, parameter iactv = 15
 
integer, parameter ishgt = 16
 
integer, parameter idefx = 17
 
integer, parameter idnet = 18
 
integer, parameter idoff = 19
 
integer, parameter idslp = 20
 
integer, parameter idtim = 21
 
integer, parameter idbmx = 22
 
integer, parameter idbmm = 23
 
integer, parameter idbzs = 24
 
integer, parameter idbzm = 25
 
integer, parameter idbzp = 26
 
integer, parameter idprp = 27
 
integer, dimension(:), allocatable idbmas
 
integer, dimension(:), allocatable idfrac
 
integer, dimension(:), allocatable idubld
 
integer, dimension(:), allocatable idvbld
 
real(r8), dimension(:), allocatable newlayer_thick
 
real(r8), dimension(:), allocatable minlayer_thick
 
real(r8), dimension(:), allocatable bedload_coeff
 
real(r8), dimension(:,:), allocatable csed
 
real(r8), dimension(:,:), allocatable erate
 
real(r8), dimension(:,:), allocatable sd50
 
real(r8), dimension(:,:), allocatable srho
 
real(r8), dimension(:,:), allocatable wsed
 
real(r8), dimension(:,:), allocatable poros
 
real(r8), dimension(:,:), allocatable tau_ce
 
real(r8), dimension(:,:), allocatable tau_cd
 
real(r8), dimension(:,:), allocatable morph_fac
 
real(r8), dimension(:), allocatable tcr_min
 
real(r8), dimension(:), allocatable tcr_max
 
real(r8), dimension(:), allocatable tcr_slp
 
real(r8), dimension(:), allocatable tcr_off
 
real(r8), dimension(:), allocatable tcr_tim
 
real(r8), dimension(:), allocatable transc
 
real(r8), dimension(:), allocatable transn
 

Function/Subroutine Documentation

◆ initialize_sediment()

subroutine mod_sediment::initialize_sediment

Definition at line 196 of file sediment_mod.h.

197!
198!=======================================================================
199! !
200! This routine sets several variables needed by the sediment model. !
201! It allocates and assigns sediment tracers indices. !
202! !
203!=======================================================================
204!
205! Local variable declarations
206!
207 integer :: i, ic
208
209 real(r8), parameter :: IniVal = 0.0_r8
210!
211!-----------------------------------------------------------------------
212! Initialize tracer identification indices.
213!-----------------------------------------------------------------------
214!
215! Allocate various nested grid depended parameters
216!
217 IF (.not.allocated(newlayer_thick)) THEN
218 allocate ( newlayer_thick(ngrids) )
219 newlayer_thick = inival
220 dmem(1)=dmem(1)+real(ngrids,r8)
221 END IF
222
223 IF (.not.allocated(minlayer_thick)) THEN
224 allocate ( minlayer_thick(ngrids) )
225 minlayer_thick = inival
226 dmem(1)=dmem(1)+real(ngrids,r8)
227 END IF
228
229 IF (.not.allocated(bedload_coeff)) THEN
230 allocate ( bedload_coeff(ngrids) )
231 bedload_coeff = inival
232 dmem(1)=dmem(1)+real(ngrids,r8)
233 END IF
234
235#if defined COHESIVE_BED || defined MIXED_BED
236 IF (.not.allocated(tcr_min)) THEN
237 allocate ( tcr_min(ngrids) )
238 tcr_min = inival
239 dmem(1)=dmem(1)+real(ngrids,r8)
240 END IF
241
242 IF (.not.allocated(tcr_max)) THEN
243 allocate ( tcr_max(ngrids) )
244 tcr_max = inival
245 dmem(1)=dmem(1)+real(ngrids,r8)
246 END IF
247
248 IF (.not.allocated(tcr_slp)) THEN
249 allocate ( tcr_slp(ngrids) )
250 tcr_slp = inival
251 dmem(1)=dmem(1)+real(ngrids,r8)
252 END IF
253
254 IF (.not.allocated(tcr_off)) THEN
255 allocate ( tcr_off(ngrids) )
256 tcr_off = inival
257 dmem(1)=dmem(1)+real(ngrids,r8)
258 END IF
259
260 IF (.not.allocated(tcr_tim)) THEN
261 allocate ( tcr_tim(ngrids) )
262 tcr_tim = inival
263 dmem(1)=dmem(1)+real(ngrids,r8)
264 END IF
265#endif
266
267#if defined MIXED_BED
268 IF (.not.allocated(transc)) THEN
269 allocate ( transc(ngrids) )
270 transc = inival
271 dmem(1)=dmem(1)+real(ngrids,r8)
272 END IF
273
274 IF (.not.allocated(transn)) THEN
275 allocate ( transn(ngrids) )
276 transn = inival
277 dmem(1)=dmem(1)+real(ngrids,r8)
278 END IF
279#endif
280!
281! Allocate sediment tracers indices vectors.
282!
283 IF (.not.allocated(idsed)) THEN
284 allocate ( idsed(max(1,nst)) )
285 dmem(1)=dmem(1)+real(max(1,nst),r8)
286 END IF
287
288 IF (.not.allocated(idmud)) THEN
289 allocate ( idmud(max(1,ncs)) )
290 dmem(1)=dmem(1)+real(max(1,ncs),r8)
291 END IF
292
293 IF (.not.allocated(isand)) THEN
294 allocate ( isand(max(1,nns)) )
295 dmem(1)=dmem(1)+real(max(1,nns),r8)
296 END IF
297
298 IF (.not.allocated(idbmas)) THEN
299 allocate ( idbmas(nst) )
300 dmem(1)=dmem(1)+real(nst,r8)
301 END IF
302
303 IF (.not.allocated(idfrac)) THEN
304 allocate ( idfrac(nst) )
305 dmem(1)=dmem(1)+real(nst,r8)
306 END IF
307
308 IF (.not.allocated(idubld)) THEN
309 allocate ( idubld(nst) )
310 dmem(1)=dmem(1)+real(nst,r8)
311 END IF
312
313 IF (.not.allocated(idvbld)) THEN
314 allocate ( idvbld(nst) )
315 dmem(1)=dmem(1)+real(nst,r8)
316 END IF
317!
318! Set cohesive and noncohesive suspended sediment tracers
319! identification indices.
320!
321 ic=nat+npt
322 DO i=1,ncs
323 ic=ic+1
324 idmud(i)=ic
325 idsed(i)=idmud(i)
326 END DO
327 DO i=1,nns
328 ic=ic+1
329 isand(i)=ic
330 idsed(ncs+i)=isand(i)
331 END DO
332!
333 RETURN

References bedload_coeff, mod_param::dmem, idbmas, idfrac, idmud, idsed, idubld, idvbld, isand, minlayer_thick, mod_param::nat, mod_param::ncs, newlayer_thick, mod_param::ngrids, mod_param::nns, mod_param::npt, mod_param::nst, tcr_max, tcr_min, tcr_off, tcr_slp, tcr_tim, transc, and transn.

Variable Documentation

◆ bedload_coeff

real(r8), dimension(:), allocatable mod_sediment::bedload_coeff

Definition at line 169 of file sediment_mod.h.

169 real(r8), allocatable :: bedload_coeff(:) ! bedload rate

Referenced by initialize_sediment(), and sed_bedload_tile().

◆ csed

real(r8), dimension(:,:), allocatable mod_sediment::csed

Definition at line 171 of file sediment_mod.h.

171 real(r8), allocatable :: Csed(:,:) ! initial concentration

Referenced by analytical_mod::ana_sediment_tile().

◆ erate

real(r8), dimension(:,:), allocatable mod_sediment::erate

Definition at line 172 of file sediment_mod.h.

172 real(r8), allocatable :: Erate(:,:) ! erosion rate

Referenced by sed_fluxes_mod::sed_fluxes_tile().

◆ iactv

integer, parameter mod_sediment::iactv = 15

Definition at line 138 of file sediment_mod.h.

138 integer, parameter :: iactv = 15 ! active layer thickness

Referenced by sed_bed_mod::sed_bed_tile(), and sed_fluxes_mod::sed_fluxes_tile().

◆ iaged

integer, parameter mod_sediment::iaged = 2

Definition at line 117 of file sediment_mod.h.

117 integer, parameter :: iaged = 2 ! layer age

Referenced by analytical_mod::ana_sediment_tile(), and sed_bed_mod::sed_bed_tile().

◆ ibtcr

integer, parameter mod_sediment::ibtcr = 5

Definition at line 121 of file sediment_mod.h.

121 integer, parameter :: ibtcr = 5 ! layer critical stress

Referenced by sed_fluxes_mod::sed_fluxes_tile().

◆ ibwav

integer, parameter mod_sediment::ibwav = 7

Definition at line 130 of file sediment_mod.h.

130 integer, parameter :: ibwav = 7 ! wave excursion amplitude

Referenced by bbl_mod::mb_bbl_tile(), bbl_mod::sg_bbl_tile(), and bbl_mod::ssw_bbl_tile().

◆ idbmas

◆ idbmm

integer, parameter mod_sediment::idbmm = 23

Definition at line 147 of file sediment_mod.h.

147 integer, parameter :: idbmm = 23 ! diffusivity db_m

Referenced by analytical_mod::ana_sediment_tile().

◆ idbmx

integer, parameter mod_sediment::idbmx = 22

Definition at line 146 of file sediment_mod.h.

146 integer, parameter :: idbmx = 22 ! diffusivity db_max

Referenced by analytical_mod::ana_sediment_tile().

◆ idbott

◆ idbzm

integer, parameter mod_sediment::idbzm = 25

Definition at line 149 of file sediment_mod.h.

149 integer, parameter :: idbzm = 25 ! diffusivity db_zm

Referenced by analytical_mod::ana_sediment_tile().

◆ idbzp

integer, parameter mod_sediment::idbzp = 26

Definition at line 150 of file sediment_mod.h.

150 integer, parameter :: idbzp = 26 ! diffusivity db_zphi

Referenced by analytical_mod::ana_sediment_tile().

◆ idbzs

integer, parameter mod_sediment::idbzs = 24

Definition at line 148 of file sediment_mod.h.

148 integer, parameter :: idbzs = 24 ! diffusivity db_zs

Referenced by analytical_mod::ana_sediment_tile().

◆ idefx

integer, parameter mod_sediment::idefx = 17

Definition at line 140 of file sediment_mod.h.

140 integer, parameter :: idefx = 17 ! erosion flux

◆ idens

integer, parameter mod_sediment::idens = 2

Definition at line 125 of file sediment_mod.h.

125 integer, parameter :: idens = 2 ! mean grain density

Referenced by analytical_mod::ana_sediment_tile(), bbl_mod::mb_bbl_tile(), sed_bedload_tile(), sed_surface_mod::sed_surface_tile(), bbl_mod::sg_bbl_tile(), and bbl_mod::ssw_bbl_tile().

◆ idfrac

◆ idiff

integer, parameter mod_sediment::idiff = 4

Definition at line 119 of file sediment_mod.h.

119 integer, parameter :: idiff = 4 ! layer bio-diffusivity

◆ idmud

integer, dimension(:), allocatable mod_sediment::idmud

Definition at line 89 of file sediment_mod.h.

89 integer, allocatable :: idmud(:) ! Cohesive sediment

Referenced by initialize_sediment().

◆ idnet

integer, parameter mod_sediment::idnet = 18

Definition at line 141 of file sediment_mod.h.

141 integer, parameter :: idnet = 18 ! erosion or deposition

◆ idoff

integer, parameter mod_sediment::idoff = 19

Definition at line 143 of file sediment_mod.h.

143 integer, parameter :: idoff = 19 ! tau critical offset

Referenced by analytical_mod::ana_sediment_tile().

◆ idprp

integer, parameter mod_sediment::idprp = 27

Definition at line 153 of file sediment_mod.h.

153 integer, parameter :: idprp = 27 ! cohesive behavior

Referenced by sed_fluxes_mod::sed_fluxes_tile().

◆ idsbed

◆ idsed

integer, dimension(:), allocatable mod_sediment::idsed

Definition at line 88 of file sediment_mod.h.

88 integer, allocatable :: idsed(:) ! Cohesive and non-cohesive

Referenced by ad_def_his_mod::ad_def_his_nf90(), ad_def_his_mod::ad_def_his_pio(), ad_rho_eos_mod::ad_rho_eos_tile(), analytical_mod::ana_sediment_tile(), analytical_mod::ana_tobc_tile(), checkvars_mod::checkvars::checkvars_nf90(), checkvars_mod::checkvars::checkvars_pio(), def_avg_mod::def_avg_nf90(), def_avg_mod::def_avg_pio(), def_dai_mod::def_dai_nf90(), def_dai_mod::def_dai_pio(), def_error_mod::def_error_nf90(), def_error_mod::def_error_pio(), def_floats_mod::def_floats_nf90(), def_floats_mod::def_floats_pio(), def_hessian_mod::def_hessian_nf90(), def_hessian_mod::def_hessian_pio(), def_his_mod::def_his_nf90(), def_his_mod::def_his_pio(), def_impulse_mod::def_impulse_nf90(), def_impulse_mod::def_impulse_pio(), def_lanczos_mod::def_lanczos_nf90(), def_lanczos_mod::def_lanczos_pio(), def_norm_mod::def_norm_nf90(), def_norm_mod::def_norm_pio(), def_quick_mod::def_quick_nf90(), def_quick_mod::def_quick_pio(), def_rst_mod::def_rst_nf90(), def_rst_mod::def_rst_pio(), def_state_mod::def_state_nf90(), def_state_mod::def_state_pio(), def_station_mod::def_station_nf90(), def_station_mod::def_station_pio(), initialize_sediment(), rho_eos_mod::rho_eos_tile(), rp_rho_eos_mod::rp_rho_eos_tile(), sed_bedload_tile(), sed_fluxes_mod::sed_fluxes_tile(), sed_settling_mod::sed_settling_tile(), tl_def_his_mod::tl_def_his_nf90(), tl_def_his_mod::tl_def_his_pio(), and tl_rho_eos_mod::tl_rho_eos_tile().

◆ idslp

integer, parameter mod_sediment::idslp = 20

Definition at line 144 of file sediment_mod.h.

144 integer, parameter :: idslp = 20 ! tau critical slope

Referenced by analytical_mod::ana_sediment_tile().

◆ idtim

integer, parameter mod_sediment::idtim = 21

Definition at line 145 of file sediment_mod.h.

145 integer, parameter :: idtim = 21 ! erodibility time scale

Referenced by analytical_mod::ana_sediment_tile().

◆ idubld

◆ idvbld

◆ iporo

integer, parameter mod_sediment::iporo = 3

Definition at line 118 of file sediment_mod.h.

118 integer, parameter :: iporo = 3 ! layer porosity

Referenced by analytical_mod::ana_sediment_tile(), sed_bed_mod::sed_bed_tile(), sed_bedload_tile(), and sed_fluxes_mod::sed_fluxes_tile().

◆ irhgt

integer, parameter mod_sediment::irhgt = 6

Definition at line 129 of file sediment_mod.h.

129 integer, parameter :: irhgt = 6 ! ripple height

Referenced by analytical_mod::ana_sediment_tile(), bbl_mod::mb_bbl_tile(), bbl_mod::sg_bbl_tile(), and bbl_mod::ssw_bbl_tile().

◆ irlen

integer, parameter mod_sediment::irlen = 5

Definition at line 128 of file sediment_mod.h.

128 integer, parameter :: irlen = 5 ! ripple length

Referenced by analytical_mod::ana_sediment_tile(), bbl_mod::mb_bbl_tile(), bbl_mod::sg_bbl_tile(), and bbl_mod::ssw_bbl_tile().

◆ isand

integer, dimension(:), allocatable mod_sediment::isand

Definition at line 90 of file sediment_mod.h.

90 integer, allocatable :: isand(:) ! Non-cohesive sediment

Referenced by initialize_sediment().

◆ isd50

integer, parameter mod_sediment::isd50 = 1

◆ ishgt

integer, parameter mod_sediment::ishgt = 16

Definition at line 139 of file sediment_mod.h.

139 integer, parameter :: ishgt = 16 ! saltation height

◆ itauc

◆ ithck

integer, parameter mod_sediment::ithck = 1

◆ iwsed

integer, parameter mod_sediment::iwsed = 3

Definition at line 126 of file sediment_mod.h.

126 integer, parameter :: iwsed = 3 ! mean settle velocity

Referenced by analytical_mod::ana_sediment_tile(), bbl_mod::mb_bbl_tile(), sed_bedload_tile(), sed_surface_mod::sed_surface_tile(), and bbl_mod::ssw_bbl_tile().

◆ izapp

integer, parameter mod_sediment::izapp = 9

Definition at line 132 of file sediment_mod.h.

132 integer, parameter :: izapp = 9 ! apparent bottom roughness

Referenced by bbl_mod::mb_bbl_tile(), bbl_mod::sg_bbl_tile(), and bbl_mod::ssw_bbl_tile().

◆ izbfm

integer, parameter mod_sediment::izbfm = 12

Definition at line 135 of file sediment_mod.h.

135 integer, parameter :: izbfm = 12 ! bed form bottom roughness

Referenced by bbl_mod::ssw_bbl_tile().

◆ izbio

integer, parameter mod_sediment::izbio = 11

Definition at line 134 of file sediment_mod.h.

134 integer, parameter :: izbio = 11 ! biological bottom roughness

Referenced by bbl_mod::ssw_bbl_tile().

◆ izbld

integer, parameter mod_sediment::izbld = 13

Definition at line 136 of file sediment_mod.h.

136 integer, parameter :: izbld = 13 ! bed load bottom roughness

Referenced by bbl_mod::ssw_bbl_tile().

◆ izdef

integer, parameter mod_sediment::izdef = 8

Definition at line 131 of file sediment_mod.h.

131 integer, parameter :: izdef = 8 ! default bottom roughness

Referenced by analytical_mod::ana_drag_tile(), analytical_mod::ana_sediment_tile(), bbl_mod::mb_bbl_tile(), bbl_mod::sg_bbl_tile(), and bbl_mod::ssw_bbl_tile().

◆ iznik

integer, parameter mod_sediment::iznik = 10

Definition at line 133 of file sediment_mod.h.

133 integer, parameter :: izNik = 10 ! Nikuradse bottom roughness

Referenced by bbl_mod::ssw_bbl_tile().

◆ izwbl

integer, parameter mod_sediment::izwbl = 14

Definition at line 137 of file sediment_mod.h.

137 integer, parameter :: izwbl = 14 ! wave bottom roughness

Referenced by bbl_mod::ssw_bbl_tile().

◆ mbedp

◆ mbotp

◆ minlayer_thick

real(r8), dimension(:), allocatable mod_sediment::minlayer_thick

Definition at line 168 of file sediment_mod.h.

168 real(r8), allocatable :: minlayer_thick(:) ! 2nd layer thickness

Referenced by initialize_sediment().

◆ morph_fac

real(r8), dimension(:,:), allocatable mod_sediment::morph_fac

Definition at line 179 of file sediment_mod.h.

179 real(r8), allocatable :: morph_fac(:,:) ! morphological factor

Referenced by sed_bed_mod::sed_bed_tile(), and sed_bedload_tile().

◆ newlayer_thick

real(r8), dimension(:), allocatable mod_sediment::newlayer_thick

Definition at line 167 of file sediment_mod.h.

167 real(r8), allocatable :: newlayer_thick(:) ! deposit thickness

Referenced by initialize_sediment(), and sed_bed_mod::sed_bed_tile().

◆ poros

real(r8), dimension(:,:), allocatable mod_sediment::poros

Definition at line 176 of file sediment_mod.h.

176 real(r8), allocatable :: poros(:,:) ! porosity

◆ sd50

◆ srho

◆ tau_cd

real(r8), dimension(:,:), allocatable mod_sediment::tau_cd

Definition at line 178 of file sediment_mod.h.

178 real(r8), allocatable :: tau_cd(:,:) ! shear for deposition

◆ tau_ce

real(r8), dimension(:,:), allocatable mod_sediment::tau_ce

Definition at line 177 of file sediment_mod.h.

177 real(r8), allocatable :: tau_ce(:,:) ! shear for erosion

Referenced by analytical_mod::ana_sediment_tile(), sed_bedload_tile(), sed_fluxes_mod::sed_fluxes_tile(), and sed_surface_mod::sed_surface_tile().

◆ tcr_max

real(r8), dimension(:), allocatable mod_sediment::tcr_max

Definition at line 183 of file sediment_mod.h.

183 real(r8), allocatable :: tcr_max(:) ! maximum shear erosion

Referenced by initialize_sediment().

◆ tcr_min

real(r8), dimension(:), allocatable mod_sediment::tcr_min

Definition at line 182 of file sediment_mod.h.

182 real(r8), allocatable :: tcr_min(:) ! minimum shear erosion

Referenced by initialize_sediment().

◆ tcr_off

real(r8), dimension(:), allocatable mod_sediment::tcr_off

Definition at line 185 of file sediment_mod.h.

185 real(r8), allocatable :: tcr_off(:) ! Tau_crit profile offset

Referenced by initialize_sediment().

◆ tcr_slp

real(r8), dimension(:), allocatable mod_sediment::tcr_slp

Definition at line 184 of file sediment_mod.h.

184 real(r8), allocatable :: tcr_slp(:) ! Tau_crit profile slope

Referenced by initialize_sediment().

◆ tcr_tim

real(r8), dimension(:), allocatable mod_sediment::tcr_tim

Definition at line 186 of file sediment_mod.h.

186 real(r8), allocatable :: tcr_tim(:) ! Tau_crit consolidation

Referenced by initialize_sediment().

◆ transc

real(r8), dimension(:), allocatable mod_sediment::transc

Definition at line 190 of file sediment_mod.h.

190 real(r8), allocatable :: transC(:) ! cohesive transition

Referenced by initialize_sediment().

◆ transn

real(r8), dimension(:), allocatable mod_sediment::transn

Definition at line 191 of file sediment_mod.h.

191 real(r8), allocatable :: transN(:) ! noncohesive transition

Referenced by initialize_sediment().

◆ wsed

real(r8), dimension(:,:), allocatable mod_sediment::wsed

Definition at line 175 of file sediment_mod.h.

175 real(r8), allocatable :: Wsed(:,:) ! settling velocity

Referenced by analytical_mod::ana_sediment_tile(), sed_bedload_tile(), sed_settling_mod::sed_settling_tile(), and sed_surface_mod::sed_surface_tile().