source: CPL/oasis3-mct_5.0/lib/psmile/src/mod_oasis_parameters.F90 @ 6328

Last change on this file since 6328 was 6328, checked in by aclsce, 17 months ago

First import of oasis3-mct_5.0 (from oasis git server, branch OASIS3-MCT_5.0)

File size: 9.7 KB
Line 
1
2!> Defines parameters for OASIS
3
4MODULE mod_oasis_parameters
5!
6! -- clim.h   18-08-95   Version 2.0   Author: Laurent Terray
7!    ******
8!             26-10-99   Version 2.4   Jean Latour (F.S.E.) MPI-2 support
9!@
10! -- mod_clim_proto.f90  12-06-02  Version 3.0   A. Caubel
11! --                     20-05-03  added PRISM_Recvd/Sent   S.Legutke
12
13!    ******************
14!
15!@  Contents : variables related to the CLIM library
16!@  --------
17!@
18!
19  USE mod_oasis_kinds
20  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_Ok       = 0
21  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Ok       = PRISM_Ok
22
23!-----Ports status
24
25  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_NotDef      = -2
26  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_NotDef      = PRISM_NotDef
27  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Var_Uncpl   = -1
28  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_Out         = 20
29  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Out         = PRISM_Out
30  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_In          = 21
31  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_In          = PRISM_In
32  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_InOut       = 2
33  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_InOut       = PRISM_InOut
34  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_Recvd       = 3
35  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Recvd       = PRISM_Recvd
36  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_Sent        = 4
37  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Sent        = PRISM_Sent
38  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_LocTrans    = 5
39  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_LocTrans    = PRISM_LocTrans
40  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_ToRest      = 6
41  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_ToRest      = PRISM_ToRest
42  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_Output      = 7
43  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Output      = PRISM_Output
44  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_SentOut     = 8
45  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_SentOut     = PRISM_SentOut
46  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_ToRestOut   = 9
47  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_ToRestOut   = PRISM_ToRestOut
48  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_FromRest    = 10
49  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_FromRest    = PRISM_FromRest
50  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_Input       = 11
51  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Input       = PRISM_Input
52  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_RecvOut     = 12
53  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_RecvOut     = PRISM_RecvOut
54  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_FromRestOut = 13
55  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_FromRestOut = PRISM_FromRestOut
56  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_Waitgroup   = 14
57  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Waitgroup   = PRISM_Waitgroup
58
59!-----Coupler Comm Status
60
61  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_NONE        = 100
62  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_NONE        = PRISM_NONE
63  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_COMM_READY  = 101
64  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_COMM_READY  = PRISM_COMM_READY
65  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_COMM_WAIT   = 102
66  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_COMM_WAIT   = PRISM_COMM_WAIT
67  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_PUT         = 103
68  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS3_PUT         = PRISM_PUT
69  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_GET         = 104
70  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS3_GET         = PRISM_GET
71
72!-----Field status
73
74  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_exported  = 1
75  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_ignored   = 2
76  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_input     = 3
77  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_output    = 4
78  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_expout    = 5
79  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_ignout    = 6
80  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_auxilary  = 7
81
82!----Field local transformation
83
84  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_instant = 1
85  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_average = 2
86  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_accumul = 3
87  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_min     = 4
88  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_max     = 5
89
90!----Field conserv option
91
92  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_cnone   = 0
93  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_cglobal = 1
94  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_cglbpos = 2
95  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_cgsspos = 6
96  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_cbasbal = 4
97  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_cbaspos = 5
98  INTEGER (kind=ip_intwp_p), PARAMETER :: ip_cbsspos = 7
99
100!-----Parallel distribution
101
102  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Strategy = 1
103  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Segments = 2
104  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Npoints  = 2
105
106  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Serial   = 0
107  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Apple    = 1
108  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Box      = 2
109  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Orange   = 3
110  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Points   = 4
111
112  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Offset   = 2
113  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Length   = 3
114  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_SizeX    = 3
115  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_SizeY    = 4
116  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_LdX      = 5
117
118  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Serial_Params = 3
119  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Apple_Params  = 3
120  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Box_Params    = 5
121
122  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Strategy = CLIM_Strategy
123  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Segments = CLIM_Segments
124  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Npoints  = CLIM_Npoints
125
126  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Serial   = CLIM_Serial
127  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Apple    = CLIM_Apple
128  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Box      = CLIM_Box
129  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Orange   = CLIM_Orange
130  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Points   = CLIM_Points
131
132  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Offset   = CLIM_Offset
133  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Length   = CLIM_Length
134  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_SizeX    = CLIM_SizeX
135  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_SizeY    = CLIM_SizeY
136  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_LdX      = CLIM_LdX
137
138  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Serial_Params = CLIM_Serial_Params
139  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Apple_Params  = CLIM_Apple_Params
140  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Box_Params    = CLIM_Box_Params
141
142!-----Datatypes
143
144  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_Real   = 4
145  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Real   = PRISM_Real
146  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_Double = 8
147  INTEGER (kind=ip_intwp_p), PARAMETER :: OASIS_Double = PRISM_Double
148
149!-----Quit parameters
150!
151!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_ContPvm = 0
152!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_StopPvm = 1
153!
154!-----Error Codes
155!
156!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_MaxCodes  = -22
157!
158!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Ok       = 0
159!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_FastExit  = -1
160!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_BadName   = -2
161!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_BadPort   = -3
162!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_BadType   = -4
163!  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_DoubleDef= -5
164!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_NotStep   = -6
165!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_IncStep   = -7
166!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_IncSize   = -8
167!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_NotClim   = -9
168!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_TimeOut   = -10
169!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Pvm       = -11
170!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_FirstCall = -12
171!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_PbRoute   = -13
172!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Group     = -14
173!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_BadTaskId = -15
174!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_NoTask    = -16
175!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_InitBuff  = -17
176!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Pack      = -18
177!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Unpack    = -19
178!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Down      = -20
179!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_PvmExit   = -21
180!  INTEGER (kind=ip_intwp_p), PARAMETER :: CLIM_Mpi       = -22
181!  INTEGER (kind=ip_intwp_p), PARAMETER :: PRISM_NotFreq  = -23
182!
183
184CONTAINS
185
186   INTEGER (kind=ip_intwp_p) FUNCTION CLIM_Orange_Params(n_segments)
187      INTEGER (kind=ip_intwp_p), INTENT(IN) :: n_segments
188      CLIM_Orange_Params = 2 + 2*n_segments
189   END FUNCTION CLIM_Orange_Params
190
191   INTEGER (kind=ip_intwp_p) FUNCTION CLIM_Points_Params(n_points)
192      INTEGER (kind=ip_intwp_p), INTENT(IN) :: n_points
193      CLIM_Points_Params = 2 + n_points
194   END FUNCTION CLIM_Points_Params
195
196   INTEGER (kind=ip_intwp_p) FUNCTION OASIS_Orange_Params(n_segments)
197      INTEGER (kind=ip_intwp_p), INTENT(IN) :: n_segments
198      OASIS_Orange_Params = 2 + 2*n_segments
199   END FUNCTION OASIS_Orange_Params
200
201   INTEGER (kind=ip_intwp_p) FUNCTION OASIS_Points_Params(n_points)
202      INTEGER (kind=ip_intwp_p), INTENT(IN) :: n_points
203      OASIS_Points_Params = 2 + n_points
204   END FUNCTION OASIS_Points_Params
205
206END MODULE mod_oasis_parameters
Note: See TracBrowser for help on using the repository browser.