ROMS
Loading...
Searching...
No Matches
tl_post_initial.F
Go to the documentation of this file.
1
#include "cppdefs.h"
2
MODULE
tl_post_initial_mod
3
#ifdef TANGENT
4
!
5
!git $Id$
6
!svn $Id$
7
!================================================== Hernan G. Arango ===
8
! Copyright (c) 2002-2025 The ROMS Group !
9
! Licensed under a MIT/X style license !
10
! See License_ROMS.md !
11
!=======================================================================
12
! !
13
! On the first timestep, it computes the initial depths and level !
14
! thicknesses from the initial free-surface field. Additionally, it !
15
! initializes the tangent linear state variables for all time levels !
16
! and applies lateral boundary conditions. !
17
! !
18
!=======================================================================
19
!
20
USE
mod_param
21
USE
mod_parallel
22
# ifdef NESTING
23
USE
mod_scalars
24
# endif
25
!
26
USE
ini_fields_mod
,
ONLY
:
set_zeta_timeavg
27
# ifdef SOLVE3D
28
USE
set_depth_mod
,
ONLY
:
set_depth
29
# endif
30
USE
tl_ini_fields_mod
,
ONLY
:
tl_ini_fields
,
tl_ini_zeta
31
# ifdef SOLVE3D
32
USE
tl_set_depth_mod
,
ONLY
:
tl_set_depth
33
# endif
34
!
35
implicit none
36
!
37
PUBLIC
::
tl_post_initial
38
PRIVATE
39
!
40
CONTAINS
41
!
42
!***********************************************************************
43
SUBROUTINE
tl_post_initial
(ng, model)
44
!***********************************************************************
45
!
46
! Imported variable declarations.
47
!
48
integer
,
intent(in)
:: ng, model
49
!
50
! Local variable declarations.
51
!
52
integer
:: tile
53
!
54
!-----------------------------------------------------------------------
55
! Initialize free-surface and compute initial level thicknesses and
56
! depths. Here we need nonlinear 'Zt_avg1' and 'Hz' to compute initial
57
! 'tl_ubar' and 'tl_vbar'.
58
!-----------------------------------------------------------------------
59
!
60
DO
tile=
first_tile
(ng),
last_tile
(ng),+1
61
CALL
set_zeta_timeavg
(ng, tile,
inlm
)
62
CALL
set_depth
(ng, tile,
inlm
)
63
CALL
tl_ini_zeta
(ng, tile, model)
64
CALL
tl_set_depth
(ng, tile, model)
65
END DO
66
!$OMP BARRIER
67
!
68
!-----------------------------------------------------------------------
69
! Initialize other state variables.
70
!-----------------------------------------------------------------------
71
!
72
DO
tile=
last_tile
(ng),
first_tile
(ng),-1
73
CALL
tl_ini_fields
(ng, tile, model)
74
END DO
75
!$OMP BARRIER
76
77
# ifdef NESTING
78
!
79
!-----------------------------------------------------------------------
80
! Extract donor grid initial data at contact points and store it in
81
! REFINED structure so it can be used for the space-time interpolation.
82
!-----------------------------------------------------------------------
83
!
84
IF
(
refinedgrid
(ng))
THEN
85
CALL
tl_nesting (ng, model, ngetd)
86
END IF
87
# endif
88
!
89
RETURN
90
END SUBROUTINE
tl_post_initial
91
#endif
92
END MODULE
tl_post_initial_mod
ini_fields_mod
Definition
ini_fields.F:2
ini_fields_mod::set_zeta_timeavg
subroutine, public set_zeta_timeavg(ng, tile, model)
Definition
ini_fields.F:986
mod_parallel
Definition
mod_parallel.F:2
mod_parallel::first_tile
integer, dimension(:), allocatable first_tile
Definition
mod_parallel.F:62
mod_parallel::last_tile
integer, dimension(:), allocatable last_tile
Definition
mod_parallel.F:63
mod_param
Definition
mod_param.F:2
mod_param::inlm
integer, parameter inlm
Definition
mod_param.F:662
mod_scalars
Definition
mod_scalars.F:2
mod_scalars::refinedgrid
logical, dimension(:), allocatable refinedgrid
Definition
mod_scalars.F:494
set_depth_mod
Definition
set_depth.F:2
set_depth_mod::set_depth
subroutine, public set_depth(ng, tile, model)
Definition
set_depth.F:34
tl_ini_fields_mod
Definition
tl_ini_fields.F:2
tl_ini_fields_mod::tl_ini_fields
subroutine, public tl_ini_fields(ng, tile, model)
Definition
tl_ini_fields.F:65
tl_ini_fields_mod::tl_ini_zeta
subroutine, public tl_ini_zeta(ng, tile, model)
Definition
tl_ini_fields.F:644
tl_post_initial_mod
Definition
tl_post_initial.F:2
tl_post_initial_mod::tl_post_initial
subroutine, public tl_post_initial(ng, model)
Definition
tl_post_initial.F:44
tl_set_depth_mod
Definition
tl_set_depth.F:2
tl_set_depth_mod::tl_set_depth
subroutine, public tl_set_depth(ng, tile, model)
Definition
tl_set_depth.F:41
ROMS
Tangent
tl_post_initial.F
Generated by
1.12.0