1 | PROGRAM couple |
---|
2 | C=====================================================================C |
---|
3 | C C |
---|
4 | C #### ## #### # #### C |
---|
5 | C # # # # # # # C |
---|
6 | C # # # # #### # #### C |
---|
7 | C # # ###### # # # C |
---|
8 | C # # # # # # # # # C |
---|
9 | C #### # # #### # #### C |
---|
10 | C C |
---|
11 | C=====================================================================C |
---|
12 | C C |
---|
13 | C Ocean Atmosphere Sea Ice Soil Simulation Software C |
---|
14 | C -- VERSION 3_prism_2-3 -- C |
---|
15 | C C |
---|
16 | C MAIN CONTRIBUTORS: S. VALCKE, A. CAUBEL, R. VOGELSANG. D. DECLAT C |
---|
17 | C C |
---|
18 | C THIS VERSION WAS DEVELOPED UNDER THE EU FP6 PRISM PROJECT C |
---|
19 | C CONTRACT NO: EVR1-CT-2001-40012-PRISM C |
---|
20 | C C |
---|
21 | C CLIMATE MODELLING AND GLOBAL CHANGE TEAM C |
---|
22 | C C.E.R.F.A.C.S C |
---|
23 | C 42, Ave. Gustave Coriolis C |
---|
24 | C 31057 TOULOUSE CEDEX C |
---|
25 | C FRANCE C |
---|
26 | C C |
---|
27 | C=====================================================================C |
---|
28 | C C |
---|
29 | C CONTACT SOPHIE VALCKE C |
---|
30 | C Email: oasishelp@cerfacs.fr Tel:(33)5.61.19.30.76 C |
---|
31 | C C |
---|
32 | C WITH QUESTIONS OR COMMENTS CONCERNING THIS SOFTWARE C |
---|
33 | C C |
---|
34 | C C |
---|
35 | C=====================================================================C |
---|
36 | C C |
---|
37 | C Reference for this software is: C |
---|
38 | C S. Valcke, A. Caubel, R. Vogelsang, D. Declat, 2004, C |
---|
39 | C OASIS3 Ocean Atmosphere Sea Ice Soil User's Guide, C |
---|
40 | C Technical Report TR/CMGC/04/68, CERFACS, Toulouse, France C |
---|
41 | C=====================================================================C |
---|
42 | C C |
---|
43 | C Copyright © 2004 Centre Europeen de Recherche et Formation C |
---|
44 | C Avancee en Calcul Scientifique (CERFACS). C |
---|
45 | C C |
---|
46 | C This software and ancillary information called OASIS3 is free C |
---|
47 | C software. CERFACS has rights to use, reproduce, and distribute C |
---|
48 | C OASIS3. The public may copy, distribute, use, prepare derivative C |
---|
49 | C works and C |
---|
50 | C publicly display OASIS3 under the terms of the Lesser GNU General C |
---|
51 | C Public License (LGPL) as published by the Free Software Foundation, C |
---|
52 | C provided that this notice and any statement of authorship are C |
---|
53 | C reproduced on all copies. If OASIS3 is modified to produce C |
---|
54 | C derivative works, such modified software should be clearly marked, C |
---|
55 | C so as not to confuse it with the OASIS3 version available C |
---|
56 | C from CERFACS. C |
---|
57 | C C |
---|
58 | C The developers of the OASIS3 software are researchers attempting to C |
---|
59 | C build a modular and user-friendly coupler accessible to the climate C |
---|
60 | C modelling community. Although we use the tool ourselves and have C |
---|
61 | C made every effort to ensure its accuracy, we can not make any C |
---|
62 | C guarantees. We provide the software to you for free. In return, you C |
---|
63 | C --the user--assume full responsibility for use of the software. The C |
---|
64 | C OASIS3 software comes without any warranties (implied or expressed) C |
---|
65 | C and is not guaranteed to work for you or on your computer. C |
---|
66 | C Specifically, C |
---|
67 | C CERFACS and the various individuals involved in development and C |
---|
68 | C maintenance of the OASIS3 software are not responsible for any C |
---|
69 | C damage C |
---|
70 | C that may result from correct or incorrect use of this software. C |
---|
71 | C C |
---|
72 | C=====================================================================C |
---|
73 | C V1.0 (2/94) IS THE ORIGINAL VERSION OF THIS SOFTWARE C |
---|
74 | C *********** C |
---|
75 | C C |
---|
76 | C The OASIS software allows coupling of General Circulation Models of C |
---|
77 | C the Atmosphere and the Ocean (AGCM and OGCM). C |
---|
78 | C C |
---|
79 | C---------------------------------------------------------------------C |
---|
80 | C V1.1 (8/94) includes the following changes: C |
---|
81 | C *********** C |
---|
82 | C C |
---|
83 | C - Bug corrected for interpolation in fscint package near poles: C |
---|
84 | C different treatment for scalar and vector. C |
---|
85 | C P. Braconnot, O. Marti, L. Terray C |
---|
86 | C C |
---|
87 | C - Extension of Z grids incorporated in fscint package. C |
---|
88 | C P. Braconnot, O. Marti, L. Terray C |
---|
89 | C C |
---|
90 | C - Bug corrected in prtfld routine in case nmode = 1,2 due to non C |
---|
91 | C initialized variables not taken care of by namelist options. C |
---|
92 | C L. Fairhead, L. Terray C |
---|
93 | C C |
---|
94 | C - Bug corrected in routines naflux, qlflux (argument list mismatch) C |
---|
95 | C L. Terray C |
---|
96 | C C |
---|
97 | C - Addition of fluxes to force a sea-ice model. C |
---|
98 | C L. Terray, G. Garric C |
---|
99 | C C |
---|
100 | C - Sea-ice extent can be prescribed from climatology or read from C |
---|
101 | C ogcm + sea-ice model. C |
---|
102 | C L. Terray C |
---|
103 | C C |
---|
104 | C - Adding of the no-interpolation case. C |
---|
105 | C L. Terray C |
---|
106 | C C |
---|
107 | C - Global flux conservation implemented. C |
---|
108 | C L. Terray C |
---|
109 | C---------------------------------------------------------------------C |
---|
110 | C V2.0 (1/96) is a major enhancement of the software. C |
---|
111 | C *********** C |
---|
112 | C C |
---|
113 | C New main features are as follows: C |
---|
114 | C C |
---|
115 | C - Distributed computing allowed (Use of CLIM library based on PVM). C |
---|
116 | C C |
---|
117 | C - Dynamic definition of coupling fields. C |
---|
118 | C C |
---|
119 | C - Choice of the time coupling strategy. C |
---|
120 | C C |
---|
121 | C - Binary format to transfer coupling fields. C |
---|
122 | C C |
---|
123 | C - Workstation version. C |
---|
124 | C C |
---|
125 | C - And much more... (See manual for details). C |
---|
126 | C C |
---|
127 | C---------------------------------------------------------------------C |
---|
128 | C V2.2 (1/98) has some new interesting features: C |
---|
129 | C C |
---|
130 | C - a new communication technique based on Sytem V shared memory C |
---|
131 | C segments developed by S.Saarinen (ECMWF) C |
---|
132 | C C |
---|
133 | C - new extrapolation method C |
---|
134 | C C |
---|
135 | C - mode "interpolator only" C |
---|
136 | C C |
---|
137 | C - possibility to have an extended header for the coupling fields C |
---|
138 | C C |
---|
139 | C - new memory allocation in fscint package (with F90 features) C |
---|
140 | C C |
---|
141 | C - atmosphere and ocean toys provided with full environment for the C |
---|
142 | C pipe and svipc techniques C |
---|
143 | C C |
---|
144 | C The code has been successfully run on various platforms: C |
---|
145 | C Crays (C90, J90, T3E), VPPs (300, 700), SGIs (Origin 200, 2000) ... C |
---|
146 | C The portability on NEC machines is currently being investigated C |
---|
147 | C C |
---|
148 | C---------------------------------------------------------------------C |
---|
149 | C V2.3 (10/99) has some new features: C |
---|
150 | C C |
---|
151 | C - a new communication technique for NEC machines which is based on C |
---|
152 | C the global memory concept C |
---|
153 | C C |
---|
154 | C - optimization of the extrapolation package C |
---|
155 | C C |
---|
156 | C - introduction of several printing levels for oasis output file C |
---|
157 | C C |
---|
158 | C - new definition of gaussian grids C |
---|
159 | C C |
---|
160 | C - new definition of grid periodicity C |
---|
161 | C C |
---|
162 | C - bugs correction: fscint, fiasco, leap years etc ... C |
---|
163 | C |
---|
164 | C---------------------------------------------------------------------C |
---|
165 | C V2.4 (05/2k) new features: C |
---|
166 | C C |
---|
167 | C - the possibility of using MPI2 as message passing library within C |
---|
168 | C the CLIM communication technique C |
---|
169 | C C |
---|
170 | C - the possibility of using the GMEM technique to couple a C |
---|
171 | C MPI parallel model C |
---|
172 | C C |
---|
173 | C---------------------------------------------------------------------C |
---|
174 | C V3 prism_1-2 (09/03) see User's Guide C |
---|
175 | C C |
---|
176 | C---------------------------------------------------------------------C |
---|
177 | C V3 prism_2-2 (06/04) see User's Guide C |
---|
178 | C C |
---|
179 | C---------------------------------------------------------------------C |
---|
180 | C V3 prism_2-3 (07/04) see User's Guide C |
---|
181 | C C |
---|
182 | C---------------------------------------------------------------------C |
---|
183 | C=====================================================================C |
---|
184 | C C |
---|
185 | C #### ## #### # #### C |
---|
186 | C # # # # # # # C |
---|
187 | C # # # # #### # #### C |
---|
188 | C # # ###### # # # C |
---|
189 | C # # # # # # # # # C |
---|
190 | C #### # # #### # #### C |
---|
191 | C C |
---|
192 | C=====================================================================C |
---|
193 | C |
---|
194 | C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
195 | C |
---|
196 | C* ---------------------------- Include files --------------------------- |
---|
197 | C |
---|
198 | USE mod_unit |
---|
199 | C |
---|
200 | C* ---------------------------- Poema verses ---------------------------- |
---|
201 | C |
---|
202 | C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
203 | C |
---|
204 | C* 1. Open main output file for OASIS coupler. |
---|
205 | C ---------------------------------------- |
---|
206 | C |
---|
207 | C* First we open output file connected to unit nulou = 6 |
---|
208 | C |
---|
209 | nulou = 6 |
---|
210 | iost = 0 |
---|
211 | OPEN (UNIT = nulou,FILE ='cplout',STATUS='UNKNOWN', |
---|
212 | $ FORM ='FORMATTED',ERR = 110,IOSTAT = iost) |
---|
213 | C |
---|
214 | C* Let 's the fun begin |
---|
215 | C |
---|
216 | WRITE (UNIT = nulou,FMT = *) ' ' |
---|
217 | WRITE (UNIT = nulou,FMT = *) |
---|
218 | $ ' ANOTHER FANTASTIC RUN OF THE SUPER ' |
---|
219 | WRITE (UNIT = nulou,FMT = *) |
---|
220 | $ ' Ocean Atmosphere Sea Ice Soil ' |
---|
221 | WRITE (UNIT = nulou,FMT = *) |
---|
222 | $ ' ----------------------------- ' |
---|
223 | WRITE (UNIT = nulou,FMT = *) |
---|
224 | $ ' A fractal, random and poetic software ' |
---|
225 | WRITE (UNIT = nulou,FMT = *) |
---|
226 | $ ' for surrealistic simulations of the ' |
---|
227 | WRITE (UNIT = nulou,FMT = *) |
---|
228 | $ ' EARTH CLIMATE ' |
---|
229 | WRITE (UNIT = nulou,FMT = *) |
---|
230 | $ ' ************* ' |
---|
231 | WRITE (UNIT = nulou,FMT = *) ' ' |
---|
232 | WRITE (UNIT = nulou,FMT = *) ' ' |
---|
233 | WRITE (UNIT = nulou,FMT = *) |
---|
234 | $ ' PROGRAM couple - Level 0' |
---|
235 | WRITE (UNIT = nulou,FMT = *) |
---|
236 | $ ' ************** *******' |
---|
237 | WRITE (UNIT = nulou,FMT = *) ' ' |
---|
238 | WRITE (UNIT = nulou,FMT = *) |
---|
239 | $ ' Open main input-output files and launch the simulation' |
---|
240 | WRITE (UNIT = nulou,FMT = *) ' ' |
---|
241 | CALL prtout |
---|
242 | $ ('Open output file cplout connected to unit',nulou,1) |
---|
243 | 110 CONTINUE |
---|
244 | IF (iost .ne. 0) THEN |
---|
245 | WRITE (UNIT = nulou,FMT = *) ' ***WARNING***' |
---|
246 | WRITE (UNIT = nulou,FMT = *) |
---|
247 | $ ' ===>>> : ERROR opening output FILE' |
---|
248 | WRITE (UNIT = nulou,FMT = *) |
---|
249 | $ ' ====== ===== ====' |
---|
250 | WRITE (UNIT = nulou,FMT = *) |
---|
251 | $ ' Logical unit ',nulou,' error number = ',iost |
---|
252 | WRITE (UNIT = nulou,FMT = *) ' ' |
---|
253 | WRITE (UNIT = nulou,FMT = *) |
---|
254 | $ ' We STOP!!! Verify the file cplout' |
---|
255 | WRITE (UNIT = nulou,FMT = *) ' ' |
---|
256 | CALL HALTE ('STOP in couple') |
---|
257 | ENDIF |
---|
258 | C |
---|
259 | C |
---|
260 | C* 2. Open main input file for OASIS coupler. |
---|
261 | C ---------------------------------------- |
---|
262 | C |
---|
263 | C* Open input file connected to unit nulin=4 |
---|
264 | C |
---|
265 | nulin = 4 |
---|
266 | iost = 0 |
---|
267 | OPEN (UNIT = nulin,FILE ='namcouple',STATUS='OLD', |
---|
268 | $ FORM ='FORMATTED',ERR = 210,IOSTAT = iost) |
---|
269 | CALL prtout |
---|
270 | $ ('Open input file namcouple connected to unit ',nulin,1) |
---|
271 | 210 CONTINUE |
---|
272 | IF (iost .ne. 0) THEN |
---|
273 | WRITE (UNIT = nulou,FMT = *) ' ***WARNING***' |
---|
274 | WRITE (UNIT = nulou,FMT = *) |
---|
275 | $ ' ===>>> : ERROR opening input FILE' |
---|
276 | WRITE (UNIT = nulou,FMT = *) |
---|
277 | $ ' ====== ===== ====' |
---|
278 | WRITE (UNIT = nulou,FMT = *) |
---|
279 | $ ' Logical unit ',nulin,' error number = ',iost |
---|
280 | WRITE (UNIT = nulou,FMT = *) ' ' |
---|
281 | WRITE (UNIT = nulou,FMT = *) |
---|
282 | $ ' We STOP!!! Verify the file namcouple' |
---|
283 | WRITE (UNIT = nulou,FMT = *) ' ' |
---|
284 | CALL HALTE ('STOP in couple') |
---|
285 | ENDIF |
---|
286 | C |
---|
287 | C |
---|
288 | C* 3. Launch the run by calling the simulation driver |
---|
289 | C ----------------------------------------------- |
---|
290 | C |
---|
291 | CALL driver |
---|
292 | C |
---|
293 | C |
---|
294 | C* 4. End of the fun |
---|
295 | C -------------- |
---|
296 | C |
---|
297 | WRITE(nulou, *) 'END of Oasis' |
---|
298 | CLOSE(nulin) |
---|
299 | CLOSE(nulou) |
---|
300 | STOP 'END OF OASIS SIMULATION' |
---|
301 | END |
---|