ROMS
Loading...
Searching...
No Matches
ana_ssh.h
Go to the documentation of this file.
1!!
2 SUBROUTINE ana_ssh (ng, tile, model)
3!
4!! git $Id$
5!!======================================================================
6!! Copyright (c) 2002-2025 The ROMS Group !
7!! Licensed under a MIT/X style license !
8!! See License_ROMS.md !
9!=======================================================================
10! !
11! This routine sets analytical sea surface height climatology. !
12! !
13!=======================================================================
14!
15 USE mod_param
16 USE mod_ncparam
17!
18! Imported variable declarations.
19!
20 integer, intent(in) :: ng, tile, model
21!
22! Local variable declarations.
23!
24 character (len=*), parameter :: MyFile = &
25 & __FILE__
26!
27#include "tile.h"
28!
29 CALL ana_ssh_tile (ng, tile, model, &
30 & lbi, ubi, lbj, ubj, &
31 & imins, imaxs, jmins, jmaxs)
32!
33! Set analytical header file name used.
34!
35#ifdef DISTRIBUTE
36 IF (lanafile) THEN
37#else
38 IF (lanafile.and.(tile.eq.0)) THEN
39#endif
40 ananame(28)=myfile
41 END IF
42!
43 RETURN
44 END SUBROUTINE ana_ssh
45!
46!***********************************************************************
47 SUBROUTINE ana_ssh_tile (ng, tile, model, &
48 & LBi, UBi, LBj, UBj, &
49 & IminS, ImaxS, JminS, JmaxS)
50!***********************************************************************
51!
52 USE mod_param
53 USE mod_clima
54 USE mod_scalars
55!
57#ifdef DISTRIBUTE
59#endif
60!
61! Imported variable declarations.
62!
63 integer, intent(in) :: ng, tile, model
64 integer, intent(in) :: LBi, UBi, LBj, UBj
65 integer, intent(in) :: IminS, ImaxS, JminS, JmaxS
66!
67! Local variable declarations.
68!
69 integer :: i, j
70
71#include "set_bounds.h"
72!
73!-----------------------------------------------------------------------
74! Set sea surface height (meters).
75!-----------------------------------------------------------------------
76!
77 IF (lsshclm(ng)) THEN
78 DO j=jstrt,jendt
79 DO i=istrt,iendt
80 clima(ng)%ssh(i,j)=???
81 END DO
82 END DO
83!
84! Exchange boundary data.
85!
86 IF (ewperiodic(ng).or.nsperiodic(ng)) THEN
87 CALL exchange_r2d_tile (ng, tile, &
88 & lbi, ubi, lbj, ubj, &
89 & clima(ng) % ssh)
90 END IF
91
92#ifdef DISTRIBUTE
93 CALL mp_exchange2d (ng, tile, model, 1, &
94 & lbi, ubi, lbj, ubj, &
95 & nghostpoints, &
96 & ewperiodic(ng), nsperiodic(ng), &
97 & clima(ng) % ssh)
98#endif
99 END IF
100!
101 RETURN
102 END SUBROUTINE ana_ssh_tile
subroutine ana_ssh_tile(ng, tile, model, lbi, ubi, lbj, ubj, imins, imaxs, jmins, jmaxs)
Definition ana_ssh.h:50
subroutine ana_ssh(ng, tile, model)
Definition ana_ssh.h:3
subroutine exchange_r2d_tile(ng, tile, lbi, ubi, lbj, ubj, a)
type(t_clima), dimension(:), allocatable clima
Definition mod_clima.F:153
logical lanafile
character(len=256), dimension(39) ananame
integer nghostpoints
Definition mod_param.F:710
logical, dimension(:), allocatable ewperiodic
logical, dimension(:), allocatable nsperiodic
logical, dimension(:), allocatable lsshclm
subroutine mp_exchange2d(ng, tile, model, nvar, lbi, ubi, lbj, ubj, nghost, ew_periodic, ns_periodic, a, b, c, d)