New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
obcdom.F90 in trunk/NEMO/OPA_SRC/OBC – NEMO

source: trunk/NEMO/OPA_SRC/OBC/obcdom.F90 @ 3

Last change on this file since 3 was 3, checked in by opalod, 20 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 22.0 KB
Line 
1MODULE obcdom
2   !!=================================================================================
3   !!                       ***  MODULE  obcdom  ***
4   !! Space domain  :  get all the isolated coastline points needed to resolve the
5   !!                  barotropic streamfunction elliptic equation associated with
6   !!                  the open boundaries.
7   !!=================================================================================
8#if defined key_obc && ! defined key_dynspg_fsc
9   !!---------------------------------------------------------------------------------
10   !! * Modules used
11   USE oce             ! ocean dynamics and tracers   
12   USE dom_oce         ! ocean space and time domain
13   USE phycst          ! physical constants
14   USE obc_oce         ! ocean open boundary conditions
15
16   IMPLICIT NONE
17   PRIVATE
18
19   !! * Accessibility
20   PUBLIC obc_dom        ! routine called by iniobc.F90
21   !!---------------------------------------------------------------------------------
22
23CONTAINS
24
25   SUBROUTINE obc_dom
26      !!------------------------------------------------------------------------------
27      !!                       SUBROUTINE obc_dom
28      !!                      ********************
29      !! ** Purpose :   Initialize the array used for the computation of the part of
30      !!        the right hand side of the barotropic streamfunction elliptic equation
31      !!        associated with the open boundaries
32      !!
33      !! **  Method :
34      !!      + The (i,j) indices of ocean grid-points round isolated coastlines
35      !!        are found (isolated coastlines = coast lines separated by an
36      !!        open boundary) from icoast array read in coastlines file.
37      !!
38      !!      + read 'coastline' file  initialize icoast()
39      !!        modify icoast() depending on the number of open boundaries
40      !!        specified through key_obc
41      !!
42      !!      + compute zwb, an ocean/land mask defined as follows:
43      !!             zwb(i,j)  =  0. over the one isolated coastline
44      !!                       = -1, -2, -3 over the orthers
45      !!      + for example, when 4 open boundaries are specified:
46      !!
47      !!                       //|           |//
48      !!        North          //|   North   |// -1 -1   North
49      !!         West     0  0 //| - - - - - |// -1 -1    East
50      !!                       //| open bnd  |//
51      !!              ///////////|           |/////////
52      !!              ------------            ----------
53      !!                                               
54      !!             west   |                  |    east
55      !!           open bnd                       open bnd   
56      !!                    |                  |         
57      !!              ___________             _________
58      !!              ///////////|           |/////////
59      !!                       //|   south   |//
60      !!        South    -3 -3 //| - - - - - |// -2 -2   South
61      !!         West    -3 -3 //| open bnd  |// -2 -2    East
62      !!                       //|           |//
63      !!
64      !!        With the proper boundary conditions (defined by nperio)
65      !!
66      !!        C a u t i o n :  no check, the user must enter a well defined
67      !!        coastline file. Further more, he must verify that isolated
68      !!        coastlines have been well located dans that the right potential
69      !!        is affected to the right coastline in obc.F
70      !!
71      !! History :
72      !!        !  07-97  (G. Madec)  Original code
73      !!        !  09-97  (J.M. Molines) for debuging
74      !!        !  06-99  (J.M. Molines) suppress zwb(,) for ATL6 (memory saving)
75      !!        !  02-02 (A.M. Treguier) icoast in 2 dimension
76      !!   8.5  !  02-08  (G. Madec)  F90 : free form
77      !!----------------------------------------------------------------------
78      !! * Local declarations
79      INTEGER ::   ji, jj, jn, jnic, jnp, jii    ! dummy loop indices
80      INTEGER ::   inum = 11         ! temporary logical unit
81      INTEGER ::   ifreq, il1, il2, ii, ij, icheck
82      INTEGER ::   ip, ipn, ips, ipe, ipw
83      INTEGER ::   iim, ijm, iii, ijj
84      INTEGER, DIMENSION(jpidta,jpjdta) ::   icoast
85      CHARACTER (len=15) ::   clexp
86      REAL(wp) ::   zzic, zland
87      REAL(wp) ::   zwb, zwbn, zwbs, zwbe, zwbw
88      REAL(wp) ::   zglo(jpiglo,jpjglo)
89      !!---------------------------------------------------------------------
90      !!  OPA 8.5, LODYC-IPSL (2002)
91      !!---------------------------------------------------------------------
92     
93      ! 0. initialization of gcfobc to zero
94      ! -----------------------------------
95     
96      DO jn = 1, 3
97         gcfobc(:,:,jn) = 0.e0
98      END DO
99     
100      ! 1. Only 1 open boundary : gcfobc is zero, return
101      ! ------------------------------------------------
102     
103      IF( nbobc == 1 .OR. nbic == 0 ) THEN
104         IF(lwp) WRITE(numout,*)
105         IF(lwp) WRITE(numout,*) ' obc_dom: No isolated coastlines gcfobc is set to zero'
106         IF(lwp) WRITE(numout,*) ' ~~~~~~~'
107         nstop = nstop + 1
108      END IF
109
110      ! 2. Lecture of 'coastlines' file
111      ! -------------------------------
112     
113      IF(lwp) WRITE(numout,*)
114      IF(lwp) WRITE(numout,*) 'obc_dom: define isolated coastlines from "coastlines" file'
115      IF(lwp) WRITE(numout,*) '~~~~~~~'
116      IF(lwp) WRITE(numout,*)
117
118      ! open coastlines file'
119      CALL ctlopn( inum, 'coastlines', 'OLD', 'FORMATTED', 'SEQUENTIAL',   &
120                   1 , numout, lwp, 1 )
121
122      ! lecture of coastlines, set icoast array
123      ! Note that this is coded for jpjdta > 1000
124      REWIND(inum)
125      READ(inum,9101) clexp, iim, ijm
126      READ(inum,'(/)')
127      ifreq = 40
128      il1 = 1
129      IF( jpjglo < 1000 ) THEN
130         DO jn = 1, jpidta/ifreq+1
131            READ(inum,'(/)')
132            il2 = min0( jpidta, il1+ifreq-1 )
133            READ(inum,9201) ( ii, ji = il1, il2, 5 )
134            READ(inum,'(/)')
135            DO jj = jpjdta, 1, -1
136               READ(inum,9202) ij, ( icoast(ji,jj), ji = il1, il2 )
137            END DO
138            il1 = il1 + ifreq
139         END DO
140      ELSE
141         DO jn = 1, jpidta/ifreq+1
142            READ(inum,'(/)')
143            il2 = min0( jpidta, il1+ifreq-1 )
144            READ(inum,9221) ( ii, ji = il1, il2, 5 )
145            READ(inum,'(/)')
146            DO jj = jpjdta, 1, -1
147               READ(inum,9222) ij, ( icoast(ji,jj), ji = il1, il2 )
148            END DO
149            il1 = il1 + ifreq
150         END DO
151      END IF
152      CLOSE(inum)
153
154   ! in case of zoom, icoast must be set to 0 on the domain border
155   ! it must be the same for the bathymetry
156   IF (lzoom-w) icoast(jpiglo            ,:) = 0 
157   IF (lzoom-e) icoast(jpiglo +jpizoom -1,:) = 0 
158   IF (lzoom-s) icoast(:,jpjzoom           ) = 0 
159   IF (lzoom-n) icoast(:,jpjglo+jpjzoom -1 ) = 0 
160
161      DO jj = 1, jpjglo
162         DO ji = 1, jpiglo
163            zglo(ji,jj) = icoast( ji+jpizoom-1, jj+jpjzoom-1)
164         END DO
165      END DO
166
167 9101 FORMAT(1x,a15,2i8)
168 9201 FORMAT(3x,13(i3,12x))
169 9202 FORMAT(i3,41i3)
170 9221 FORMAT(4x,13(i3,12x))
171 9222 FORMAT(i4,41i3)
172
173      ! check consistency between tmask and icoast
174     
175      icheck = 0
176      DO jj = 1, jpjm1
177         DO ji = 1, jpim1
178            icheck = icheck +  INT( tmask(ji,jj,1) ) - MAX(  0, icoast( mig(ji), mjg(jj) )  )
179         END DO
180      END DO
181# if defined key_mpp 
182      CALL mpp_sum(icheck) 
183# endif
184      IF( icheck /= 0 ) THEN
185         IF(lwp) WRITE(numout,cform_err)
186         IF(lwp) WRITE(numout,*) 'obc_dom : tmask and isolated coastlines mask are not equal', icheck
187         IF(lwp) WRITE(numout,*) '~~~~~~~'
188         nstop = nstop + 1
189      END IF
190
191      ! 3. transfer the coastline information from T- to f-points
192      !    (i.e. from icoast to zwb with  zwb=0 over the continent
193      !     and ocean, =-n over the nth isolated coastline)
194      ! -----------------------------------------------------------
195     
196      ! east open boundary
197      IF( lpeastobc .AND. ( jpieob /= 0 ) ) THEN
198         IF(lwp) WRITE(numout,*) '         East open boundary: from coastline S.E : ', &
199                                 INT(zglo(jpieob,jpjed)),' to N.E : ',               &
200                                 INT(zglo(jpieob,jpjef))
201      END IF
202      ! west open boundary
203      IF( lpwestobc .AND. ( jpiwob /= 0 ) ) THEN
204         IF(lwp) WRITE(numout,*) '         West open boundary: from coastline S.W : ', &
205                                 INT(zglo(jpiwob,jpjwd)),' to N.W : ',               &
206                                 INT(zglo(jpiwob,jpjwf))
207      END IF
208      ! north open boundary
209      IF( lpnorthobc .AND. ( jpjnob /= 0 ) ) THEN
210         IF(lwp) WRITE(numout,*) '         North open boundary: from coastline N.W : ', &
211                                 INT(zglo(jpind,jpjnob)),' to N.E : ',                &
212                                 INT(zglo(jpinf,jpjnob))
213      END IF
214      ! south open boundary
215      IF( lpsouthobc .AND. ( jpjsob /= 0 ) ) THEN
216         IF(lwp) WRITE(numout,*) '         South open boundary: from coastline S.W : ', &
217                                 INT(zglo(jpisd,jpjsob)),' to S.E : ',                &
218                                 INT(zglo(jpisf,jpjsob))
219      END IF
220
221      ! 4. Identify the isolated coastline grid point position
222      ! ------------------------------------------------------
223
224      ! Loop over isolated coastlines
225
226      DO jnic = 1, nbobc-1
227         ! set to zero of miic, mjic of the jnic isolated coastline
228         DO jn = 0, 4
229            DO ji = 1, jpnic
230               miic(ji,jn,jnic) = 0
231               mjic(ji,jn,jnic) = 0
232            END DO
233         END DO
234         
235         ! Coastal isolated coastline grid-points (miic,mjic)
236         ip  = 0
237         ipn = 0
238         ips = 0
239         ipe = 0
240         ipw = 0
241         
242         ! Middle lines (1=<jj=<jpjm1)
243
244         !       jj+1  --zwb--v--ZWB--v--zwb--
245         !                |       |       |
246         !          jj+1  u   T   u   T   u
247         !                |       |       |
248         !       jj    --ZWB--v--ZWB--v--ZWB--
249         !                |       |       |
250         !              jj    u   T   u   T   u
251         !                |       |       |
252         !       jj-1  --zwb--v--ZWB--v--zwb--
253         !                |       |       |
254         !                |   ii  | ii+1  |
255         !                |       |       |
256         !               ii-1    ii      ii+1
257         
258         DO jj = 1, jpjglo-1
259            DO ji = 1, jpiglo-1
260               ii = ji
261               zwb = MIN( 0., zglo(ji,jj), zglo(ji+1,jj), zglo(ji,jj+1), zglo(ji+1,jj+1) )
262               IF( jj == jpjglo -1 ) THEN
263                  zwbn = zwb
264               ELSE
265                  zwbn= MIN( 0., zglo(ji,jj+1), zglo(ji+1,jj+1), zglo(ji,jj+2), zglo(ji+1,jj+2) )
266               END IF
267               IF( jj == 1 ) THEN
268                  zwbs = zwb
269               ELSE
270                  zwbs= MIN( 0., zglo(ji,jj-1), zglo(ji+1,jj-1), zglo(ji,jj), zglo(ji+1,jj) )
271               END IF
272               IF( ji == jpiglo -1 ) THEN
273                  zwbe = zwb
274               ELSE
275                  zwbe= MIN( 0., zglo(ji+1,jj), zglo(ji+2,jj), zglo(ji+1,jj+1), zglo(ji+2,jj+1) )
276               END IF
277               IF( ji == 1 ) THEN
278                  zwbw = zwb
279               ELSE
280                  zwbw= MIN( 0., zglo(ji-1,jj), zglo(ji,jj), zglo(ji-1,jj+1), zglo(ji,jj+1) )
281               END IF
282               
283               ! inside coastlines indicator
284               zzic  =                zwbn                 &
285                     * zwbw                       * zwbe   &
286                                    * zwbs
287               ! inside land indicator
288               zland = MAX( 0., zglo(ji,jj+1) ) + MAX( 0., zglo(ji+1,jj+1) )   &
289                     + MAX( 0., zglo(ji,jj  ) ) + MAX( 0., zglo(ji+1,jj  ) )
290               ! if isolated coastline grid-point
291               IF( zwb == float( -jnic ) .AND.   &
292                  ! not inside the isolated coastline
293                             zzic == 0.  .AND.   &
294                  ! not inside the land
295                             zland >= 2.         ) THEN
296                  ! coastal point of the isolated coastline jnic
297                  ip = ip + 1
298                  miic(ip,0,jnic) = ii
299                  mjic(ip,0,jnic) = jj
300                  ! which has a west ocean grid point
301                  IF( zwbw == 0. ) THEN
302                     ipw = ipw + 1
303                     miic(ipw,4,jnic) = ii
304                     mjic(ipw,4,jnic) = jj
305                  END IF
306                  ! which has a east ocean grid point
307                  IF( zwbe == 0. ) THEN
308                     ipe = ipe + 1
309                     IF( nperio == 1 .AND. ii == jpiglo-1 ) THEN
310                        miic(ipe,3,jnic) = 2
311                     ELSE
312                        miic(ipe,3,jnic) = ii + 1
313                     END IF
314                     mjic(ipe,3,jnic) = jj
315                  END IF
316                  ! which has a south ocean grid point
317                  IF( zwbs == 0. ) THEN
318                     ips = ips + 1
319                     miic(ips,2,jnic) = ii
320                     mjic(ips,2,jnic) = jj
321                  END IF
322                  ! which has a north ocean grid point not out of north open b.
323                  IF( zwbn == 0. ) THEN
324                     ipn = ipn + 1
325                     miic(ipn,1,jnic) = ii
326                     mjic(ipn,1,jnic) = jj + 1
327                  END IF
328               END IF
329            END DO
330         END DO
331         
332         mnic(0,jnic) = ip
333         mnic(1,jnic) = ipn
334         mnic(2,jnic) = ips
335         mnic(3,jnic) = ipe
336         mnic(4,jnic) = ipw
337         
338      END DO
339
340      ! 5. Check the number of isolated coastline
341      ! -----------------------------------------
342
343      DO jnic = 1, nbobc-1
344         IF( mnic(0,jnic) > jpnic ) THEN
345            IF(lwp) WRITE(numout,cform_err)
346            IF(lwp) WRITE(numout,*) 'obc_dom: isolated coastline ',jnic,   &
347               ' has ',ip,' grid-points > ',jpnic 
348            IF(lwp) WRITE(numout,*) '~~~~~~~'
349            IF(lwp) WRITE(numout,*) ' modify this dimension in obc_dom'
350            nstop = nstop + 1
351         END IF
352         IF( mnic(0,jnic) == 0 ) THEN
353            IF(lwp) WRITE(numout,cform_err)
354            IF(lwp) WRITE(numout,*) 'obc_dom: isolated coastline ',jnic,   &
355               ' has 0  grid-points verify coastlines file'
356            IF(lwp) WRITE(numout,*) '~~~~~~~'
357            nstop = nstop + 1
358         END IF
359      END DO
360
361      ! 6. Print of isolated coastline parametres and arrays
362      ! -----------------------------------------------------
363
364      IF(lwp) WRITE(numout,*) '           '
365      IF(lwp) WRITE(numout,*) '         isolated coastlines found:', nbobc - 1
366
367      DO jnic = 1, nbobc-1
368         ip  = mnic(0,jnic)
369         ipn = mnic(1,jnic)
370         ips = mnic(2,jnic)
371         ipe = mnic(3,jnic)
372         ipw = mnic(4,jnic)
373         IF(lwp) THEN
374            WRITE(numout,9000) jnic
375            WRITE(numout,9010) ip, ipn, ips, ipe, ipw
376            WRITE(numout,9020)
377            DO jnp = 1, mnic(0,jnic)
378               WRITE(numout,9030) jnp,( miic(jnp,ji,jnic)+nimpp-1, mjic(jnp,ji,jnic)+njmpp-1, ji=0,4 )
379            END DO
380         END IF
381         
382         ! format
383
384 9000 FORMAT(/,'          isolated coastline number= ',i2)
385 9010 FORMAT(/,'          npic=',i4,' npn=',i4,' nps=',i4,' npe=',i4,' npw=',i4)
386 9020 FORMAT(/,'              * ic  point *  point n  *  point s  *  point e ','*  point w  *')
387 9030 FORMAT('         ',i4,' * (',i4,',',i4,') * (',i4,',',i4,') * (',i4,',',i4,') * (',i4,',',i4,') * (',i4,',',i4,') *')
388
389      END DO
390
391      ! 7. Construct the gcfobc array associated with each isolated coastline
392      ! ----------------------------------------------------------------------
393
394      DO jnic = 1, nbobc-1
395
396         ! north and south grid-points
397         DO jii = 1, 2
398            DO jnp = 1, mnic(jii,jnic)
399               ii = miic(jnp,jii,jnic)
400               ij = mjic(jnp,jii,jnic)
401               ! take only into account gridpoint of the model domain
402               IF( ii >= nldi+nimpp-1 .AND. ii <= nlci+nimpp-1 .AND.   &
403                   ij >= nldj+njmpp-1 .AND. ij <= nlcj+njmpp-1       ) THEN
404                  iii=ii-nimpp+1
405                  ijj=ij-njmpp+1
406                  gcfobc(iii,ijj-jii+1,jnic) = gcfobc(iii,ijj-jii+1,jnic)   &
407                                             - hur(iii,ijj) * e1u(iii,ijj) / e2u(iii,ijj)
408
409               END IF
410            END DO
411         END DO
412
413         ! east and west grid-points
414         DO jii = 3, 4
415            DO jnp = 1, mnic(jii,jnic)
416               ii = miic(jnp,jii,jnic)
417               ij = mjic(jnp,jii,jnic)
418               ! take only into account gridpoint of the model domain
419               IF( ii >= nldi+nimpp-1 .AND. ii <= nlci+nimpp-1 .AND.    &
420                   ij >= nldj+njmpp-1 .AND. ij <= nlcj+njmpp-1 ) THEN
421                  iii=ii-nimpp+1
422                  ijj=ij-njmpp+1
423                  IF( iii-jii+3 == 1 ) THEN
424                     ! cyclic east-west boundary
425                     gcfobc(jpim1    ,ijj,jnic) = gcfobc(jpim1    ,ijj,jnic)   &
426                                                - hvr(iii,ijj) * e2v(iii,ijj) / e1v(iii,ijj)
427                  ELSE
428                     ! interior points
429                     gcfobc(iii-jii+3,ijj,jnic) = gcfobc(iii-jii+3,ijj,jnic)   &
430                                                - hvr(iii,ijj) * e2v(iii,ijj) / e1v(iii,ijj)
431                  END IF
432               END IF
433            END DO
434         END DO
435
436         ! applied bmask to suppress coastal open boundary influence
437         DO jj = 1, jpj
438            DO ji = 1, jpi
439               gcfobc(ji,jj,jnic) = gcfobc(ji,jj,jnic) * bmask(ji,jj)
440            END DO
441         END DO
442         
443      END DO
444
445
446      ! 8. check the grid point which value controls the isolated coastline potential
447      !    Note: in order to activate those tests you need to make zwb a global array,
448      !    which is not done usually to spare memory.
449      !    n.b. here at least 2 open boundaries
450      ! ------------------------------------------------------------------------------
451!
452! east open boundary:
453!     IF( nieob /= 0 ) THEN
454!   east open & south open  :                              Ed === Sf
455!         IF( njsob /= 0 ) THEN
456!             IF( zwb(nieob,jped) /= zwb(jpsf,njsob) ) THEN
457!                 IF(lwp)WRITE(numout,*) ' E R R O R : east d # south f'
458!             END IF
459!   east open, south closed & west open :                  Ed === Wd
460!           ELSEIF( niwob /= 0 ) THEN
461!             IF( zwb(nieob,jped) /= zwb(niwob,jpwd) ) THEN
462!                 IF(lwp)WRITE(numout,*) ' E R R O R : east d # west d'
463!             END IF
464!   east open, south closed, west closed & north open :    Ed === Nd
465!           ELSEIF( njnob /= 0 ) THEN
466!             IF( zwb(nieob,jped) /= zwb(jpnd,njnob) ) THEN
467!                 IF(lwp)WRITE(numout,*) ' E R R O R : east d # north d'
468!             END IF
469!         END IF
470!   east open & north open :                               Ef === Nf
471!         IF( njnob /= 0 ) THEN
472!             IF( zwb(nieob,jpef) /= zwb(jpnf,njnob) ) THEN
473!                 IF(lwp)WRITE(numout,*) ' E R R O R : east f # north f'
474!             END IF
475!   east open, north closed & west open :                  Ef === Wf
476!           ELSEIF( niwob /= 0 ) THEN
477!             IF( zwb(nieob,jpef) /= zwb(niwob,jpwf) ) THEN
478!                 IF(lwp)WRITE(numout,*) ' E R R O R : east f # west f'
479!             END IF
480!   east open, north closed, west closed & south open :    Ef === Sd
481!           ELSEIF( njsob /= 0 ) THEN
482!             IF( zwb(nieob,jpef) /= zwb(jpsd,njnob) ) THEN
483!                 IF(lwp)WRITE(numout,*) ' E R R O R : east f # south d'
484!             END IF
485!         END IF
486!
487! east closed
488!       ELSE
489! east closed, south open
490!         IF( njsob /= 0 ) THEN
491!   east closed, south open & west open :                  Sd === Wd
492!             IF( niwob /= 0 ) THEN
493!                 IF( zwb(jpsd,njsob) /= zwb(niwob,jpwd) ) THEN
494!                     IF(lwp)WRITE(numout,*) ' E R R O R :',
495!    $                                       ' south d # west d'
496!                 END IF
497!   east closed, south open, west closed & north open :    Sd === Nd
498!               ELSEIF( njnob /= 0 ) THEN
499!                 IF( zwb(jpsd,njsob) /= zwb(jpnd,njnob) ) THEN
500!                     IF(lwp)WRITE(numout,*) ' E R R O R : ',
501!    $                                       ' south d # north d'
502!                 END IF
503!             END IF
504!   south open, east closed & north open :                 Sf === Nf
505!             IF( njnob /= 0 ) THEN
506!                 IF( zwb(jpsf,njsob) /= zwb(jpnf,njnob) ) THEN
507!                     IF(lwp)WRITE(numout,*) ' E R R O R : ',
508!    $                                       ' south f # north f'
509!                 END IF
510!   south open, east closed, north closed & west open :    Sf === Wf
511!               ELSEIF( niwob /= 0 ) THEN
512!                 IF( zwb(jpsf,njsob) /= zwb(niwob,jpwf) ) THEN
513!                     IF(lwp)WRITE(numout,*) ' E R R O R : ',
514!    $                                       ' south f # west f'
515!                 END IF
516!             END IF
517!
518! east & south closed ==> north & west open :              Nd === Wf
519!                                                              Nf === Wd
520!           ELSE
521!             IF( zwb(jpnd,njnob) /= zwb(niwob,jpwf) ) THEN
522!                 IF(lwp)WRITE(numout,*) ' E R R O R : north d # west f'
523!             END IF
524!             IF( zwb(jpnf,njnob) /= zwb(niwob,jpwd) ) THEN
525!                 IF(lwp)WRITE(numout,*) ' E R R O R : north f # west d'
526!             END IF
527!         END IF
528!
529!     END IF
530!
531!
532
533   END SUBROUTINE obc_dom
534#else
535   !!=================================================================================
536   !!                       ***  MODULE  obcdom  ***
537   !! Space domain :  get all the isolated coastline points needed to resolve the
538   !!                 barotropic streamfunction elliptic equation associated with
539   !!                 the open boundaries.
540   !!=================================================================================
541CONTAINS
542
543   SUBROUTINE obc_dom                 
544
545      ! No isolated coastline OR No Open Boundaries ==> empty routine
546
547   END SUBROUTINE obc_dom
548#endif
549
550END MODULE obcdom
Note: See TracBrowser for help on using the repository browser.