42 integer,
intent(in) :: ng, tile, linp
46 character (len=*),
parameter :: myfile = &
55 & lbi, ubi, lbj, ubj, lbij, ubij, &
56 & imins, imaxs, jmins, jmaxs, &
67 & LBi, UBi, LBj, UBj, LBij, UBij, &
68 & IminS, ImaxS, JminS, JmaxS, &
79 integer,
intent(in) :: ng, tile
80 integer,
intent(in) :: LBi, UBi, LBj, UBj, LBij, UBij
81 integer,
intent(in) :: IminS, ImaxS, JminS, JmaxS
82 integer,
intent(in) :: Linp
86 integer :: i, it1, it2, j
90 real(r8) :: fac, fac1, fac2
92# include "set_bounds.h"
103 IF (
nbrec(ng).eq.1)
THEN
109# ifdef GENERIC_DSTART
112 it1=max(0,(
iic(ng)-1)/
nobc(ng))+1
114 it2=min(it1+1,
nbrec(ng))
117 fac=1.0_r8/(fac1+fac2)
126 &
domain(ng)%Western_Edge(tile))
THEN
140 &
domain(ng)%Eastern_Edge(tile))
THEN
154 &
domain(ng)%Southern_Edge(tile))
THEN
168 &
domain(ng)%Northern_Edge(tile))
THEN
184 &
domain(ng)%Western_Edge(tile))
THEN
198 &
domain(ng)%Eastern_Edge(tile))
THEN
212 &
domain(ng)%Southern_Edge(tile))
THEN
226 &
domain(ng)%Northern_Edge(tile))
THEN
242 &
domain(ng)%Western_Edge(tile))
THEN
256 &
domain(ng)%Eastern_Edge(tile))
THEN
270 &
domain(ng)%Southern_Edge(tile))
THEN
284 &
domain(ng)%Northern_Edge(tile))
THEN
302 &
domain(ng)%Western_Edge(tile))
THEN
318 &
domain(ng)%Eastern_Edge(tile))
THEN
334 &
domain(ng)%Southern_Edge(tile))
THEN
350 &
domain(ng)%Northern_Edge(tile))
THEN
368 &
domain(ng)%Western_Edge(tile))
THEN
384 &
domain(ng)%Eastern_Edge(tile))
THEN
400 &
domain(ng)%Southern_Edge(tile))
THEN
416 &
domain(ng)%Northern_Edge(tile))
THEN
435 &
domain(ng)%Western_Edge(tile))
THEN
441 &
iwest,it1,linp,it)+ &
451 &
domain(ng)%Eastern_Edge(tile))
THEN
457 &
ieast,it1,linp,it)+ &
467 &
domain(ng)%Southern_Edge(tile))
THEN
483 &
domain(ng)%Northern_Edge(tile))
THEN
523 integer,
intent(in) :: ng, tile, lout
527 character (len=*),
parameter :: myfile = &
528 & __FILE__//
", load_obc"
536 & lbi, ubi, lbj, ubj, lbij, ubij, &
537 & imins, imaxs, jmins, jmaxs, &
548 & LBi, UBi, LBj, UBj, LBij, UBij, &
549 & IminS, ImaxS, JminS, JmaxS, &
560 integer,
intent(in) :: ng, tile
561 integer,
intent(in) :: LBi, UBi, LBj, UBj, LBij, UBij
562 integer,
intent(in) :: IminS, ImaxS, JminS, JmaxS
563 integer,
intent(in) :: Lout
572# include "set_bounds.h"
586 &
domain(ng)%Western_Edge(tile))
THEN
595 &
domain(ng)%Eastern_Edge(tile))
THEN
604 &
domain(ng)%Southern_Edge(tile))
THEN
613 &
domain(ng)%Northern_Edge(tile))
THEN
624 &
domain(ng)%Western_Edge(tile))
THEN
633 &
domain(ng)%Eastern_Edge(tile))
THEN
642 &
domain(ng)%Southern_Edge(tile))
THEN
651 &
domain(ng)%Northern_Edge(tile))
THEN
662 &
domain(ng)%Western_Edge(tile))
THEN
671 &
domain(ng)%Eastern_Edge(tile))
THEN
680 &
domain(ng)%Southern_Edge(tile))
THEN
689 &
domain(ng)%Northern_Edge(tile))
THEN
702 &
domain(ng)%Western_Edge(tile))
THEN
713 &
domain(ng)%Eastern_Edge(tile))
THEN
724 &
domain(ng)%Southern_Edge(tile))
THEN
735 &
domain(ng)%Northern_Edge(tile))
THEN
748 &
domain(ng)%Western_Edge(tile))
THEN
759 &
domain(ng)%Eastern_Edge(tile))
THEN
770 &
domain(ng)%Southern_Edge(tile))
THEN
781 &
domain(ng)%Northern_Edge(tile))
THEN
795 &
domain(ng)%Western_Edge(tile))
THEN
806 &
domain(ng)%Eastern_Edge(tile))
THEN
817 &
domain(ng)%Southern_Edge(tile))
THEN
828 &
domain(ng)%Northern_Edge(tile))
THEN
type(t_boundary), dimension(:), allocatable boundary
integer, dimension(:), allocatable istvar
integer, dimension(:), allocatable n
type(t_lbc), dimension(:,:,:), allocatable lbc
type(t_domain), dimension(:), allocatable domain
integer, dimension(:), allocatable nt
integer, dimension(:), allocatable obccount
integer, dimension(:), allocatable iic
real(dp), dimension(:), allocatable dt
integer, dimension(:), allocatable nobc
logical, dimension(:,:,:), allocatable lobc
real(dp), dimension(:,:), allocatable obc_time
integer, parameter isouth
real(dp), dimension(:), allocatable time
integer, dimension(:), allocatable ntstart
integer, parameter inorth
integer, dimension(:), allocatable nbrec
subroutine, public obc_adjust(ng, tile, linp)
subroutine, public load_obc(ng, tile, lout)
subroutine load_obc_tile(ng, tile, lbi, ubi, lbj, ubj, lbij, ubij, imins, imaxs, jmins, jmaxs, lout)
subroutine obc_adjust_tile(ng, tile, lbi, ubi, lbj, ubj, lbij, ubij, imins, imaxs, jmins, jmaxs, linp)
recursive subroutine wclock_off(ng, model, region, line, routine)
recursive subroutine wclock_on(ng, model, region, line, routine)