/[MITgcm]/MITgcm/pkg/exch2/w2_set_single_facet.F
ViewVC logotype

Contents of /MITgcm/pkg/exch2/w2_set_single_facet.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Mon Jun 29 03:14:27 2009 UTC (14 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62e, checkpoint62d, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61s, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.1: +44 -6 lines
simple topology with default single-facet dims = Nx,Ny

1 C $Header: /u/gcmpack/MITgcm/pkg/exch2/w2_set_single_facet.F,v 1.1 2009/05/12 19:40:33 jmc Exp $
2 C $Name: $
3
4 #include "CPP_EEOPTIONS.h"
5 #include "W2_OPTIONS.h"
6
7 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
8 CBOP 0
9 C !ROUTINE: W2_SET_SINGLE_FACET
10
11 C !INTERFACE:
12 SUBROUTINE W2_SET_SINGLE_FACET( myThid )
13
14 C !DESCRIPTION:
15 C Set-up simple single facet (domain in 1 piece) topology
16
17 C !USES:
18 IMPLICIT NONE
19
20 C Tile topology settings data structures
21 #include "SIZE.h"
22 #include "EEPARAMS.h"
23 #include "W2_EXCH2_SIZE.h"
24 #include "W2_EXCH2_PARAMS.h"
25 #include "W2_EXCH2_TOPOLOGY.h"
26
27 C !INPUT PARAMETERS:
28 C myThid :: my Thread Id number
29 C (Note: not relevant since threading has not yet started)
30 INTEGER myThid
31
32 C !LOCAL VARIABLES:
33 C === Local variables ===
34 C msgBuf :: Informational/error meesage buffer
35 CHARACTER*(MAX_LEN_MBUF) msgBuf
36 INTEGER j
37 CEOP
38
39 WRITE(msgBuf,'(2A,I3,A)') 'W2_SET_SINGLE_FACET:',
40 & ' preDefTopol=', preDefTopol, ' selected'
41 CALL PRINT_MESSAGE( msgBuf, W2_oUnit,SQUEEZE_RIGHT,myThid )
42
43 C-- Number of facets:
44 nFacets = 1
45
46 C-- Set Facet Edge connections (topology graph) ignoring any previous
47 C setting from data.exch2 (Edges order: N,S,E,W <==> 1,2,3,4 )
48 C face 1 N(=1) edge connects to face 1 S(=2) edge:
49 facet_link(1,1) = 1.2
50 C face 1 S(=2) edge connects to face 1 N(=1) edge:
51 facet_link(2,1) = 1.1
52 C face 1 E(=3) edge connects to face 1 W(=4) edge:
53 facet_link(3,1) = 1.4
54 C face 1 W(=4) edge connects to face 1 E(=3) edge:
55 facet_link(4,1) = 1.3
56
57 C-- Facet dimension: take the 1rst 2 numbers from facet_dims (if correct)
58 IF ( facet_dims(1).EQ.0 .AND. facet_dims(2).EQ.0 ) THEN
59 C- Default: take global dimension from SIZE.h (will fail with blank tiles)
60 facet_dims(1) = Nx
61 facet_dims(2) = Ny
62 ENDIF
63 IF ( facet_dims(1).LE.0 .OR. facet_dims(2).LE.0 ) THEN
64 WRITE(msgBuf,'(2A,2I5)') 'W2_SET_SINGLE_FACET:',
65 & ' unvalid 1rst 2 dimensions:', facet_dims(1), facet_dims(2)
66 CALL PRINT_MESSAGE( msgBuf, W2_oUnit,SQUEEZE_RIGHT,myThid )
67 CALL PRINT_ERROR( msgBuf, myThid )
68 CALL ALL_PROC_DIE( myThid )
69 STOP 'ABNORMAL END: S/R W2_SET_SINGLE_FACET: unvalid dims'
70 ENDIF
71 DO j=3,W2_maxNbFacets*2
72 IF ( facet_dims(j).NE.0 ) THEN
73 WRITE(msgBuf,'(2A,I5)') 'W2_SET_SINGLE_FACET:',
74 & ' no more than 2 dims (X,Y) expected for single facet'
75 CALL PRINT_MESSAGE( msgBuf, W2_oUnit,SQUEEZE_RIGHT,myThid )
76 CALL PRINT_ERROR( msgBuf, myThid )
77 CALL ALL_PROC_DIE( myThid )
78 STOP 'ABNORMAL END: S/R W2_SET_SINGLE_FACET: unexpected dims'
79 ENDIF
80 ENDDO
81
82 RETURN
83 END

  ViewVC Help
Powered by ViewVC 1.1.22