/[MITgcm]/MITgcm/model/src/ini_curvilinear_grid.F
ViewVC logotype

Contents of /MITgcm/model/src/ini_curvilinear_grid.F

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


Revision 1.48 - (show annotations) (download)
Tue Mar 16 00:08:27 2010 UTC (14 years, 2 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l
Changes since 1.47: +2 -2 lines
avoid unbalanced quote (single or double) in commented line

1 C $Header: /u/gcmpack/MITgcm/model/src/ini_curvilinear_grid.F,v 1.47 2009/06/28 01:03:24 jmc Exp $
2 C $Name: $
3
4 #include "PACKAGES_CONFIG.h"
5 #include "CPP_OPTIONS.h"
6
7 CBOP
8 C !ROUTINE: INI_CURVILINEAR_GRID
9 C !INTERFACE:
10 SUBROUTINE INI_CURVILINEAR_GRID( myThid )
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | SUBROUTINE INI_CURVILINEAR_GRID
14 C | o Initialise curvilinear coordinate system
15 C *==========================================================*
16 C | Curvilinear grid settings are read from a file rather
17 C | than coded in-line as for cartesian and spherical polar.
18 C | This is more general but you have to create the grid
19 C | yourself.
20 C *==========================================================*
21 C \ev
22
23 C !USES:
24 IMPLICIT NONE
25 C === Global variables ===
26 #include "SIZE.h"
27 #include "EEPARAMS.h"
28 #include "PARAMS.h"
29 #include "GRID.h"
30 #ifdef ALLOW_EXCH2
31 #include "W2_EXCH2_SIZE.h"
32 #include "W2_EXCH2_TOPOLOGY.h"
33 #endif
34 #ifdef ALLOW_MNC
35 #include "MNC_PARAMS.h"
36 #endif
37
38 C !INPUT/OUTPUT PARAMETERS:
39 C == Routine arguments ==
40 C myThid - Number of this instance of INI_CURVILINEAR_GRID
41 INTEGER myThid
42
43 C !LOCAL VARIABLES:
44 C == Shared Local variables ==
45 LOGICAL anglesAreSet
46 COMMON /LOCAL_INI_CURVILINEAR_GRID/ anglesAreSet
47 C == Local variables ==
48 INTEGER bi,bj
49 INTEGER i,j
50 CHARACTER*(MAX_LEN_MBUF) msgBuf
51 INTEGER fp
52 #ifdef ALLOW_MNC
53 CHARACTER*(80) mncFn
54 #endif
55 #ifndef OLD_GRID_IO
56 INTEGER iG, jG, iL, iLen
57 CHARACTER*(MAX_LEN_FNAM) fName
58 CHARACTER*(MAX_LEN_MBUF) tmpBuf
59 INTEGER ILNBLNK
60 EXTERNAL ILNBLNK
61 #endif
62 CEOP
63
64 C-- Set everything to zero everywhere
65 DO bj = myByLo(myThid), myByHi(myThid)
66 DO bi = myBxLo(myThid), myBxHi(myThid)
67
68 DO j=1-Oly,sNy+Oly
69 DO i=1-Olx,sNx+Olx
70 xC(i,j,bi,bj)=0.
71 yC(i,j,bi,bj)=0.
72 xG(i,j,bi,bj)=0.
73 yG(i,j,bi,bj)=0.
74 dxC(i,j,bi,bj)=0.
75 dyC(i,j,bi,bj)=0.
76 dxG(i,j,bi,bj)=0.
77 dyG(i,j,bi,bj)=0.
78 dxF(i,j,bi,bj)=0.
79 dyF(i,j,bi,bj)=0.
80 dxV(i,j,bi,bj)=0.
81 dyU(i,j,bi,bj)=0.
82 rA(i,j,bi,bj)=0.
83 rAz(i,j,bi,bj)=0.
84 rAw(i,j,bi,bj)=0.
85 rAs(i,j,bi,bj)=0.
86 tanPhiAtU(i,j,bi,bj)=0.
87 tanPhiAtV(i,j,bi,bj)=0.
88 angleCosC(i,j,bi,bj)=1.
89 angleSinC(i,j,bi,bj)=0.
90 cosFacU(j,bi,bj)=1.
91 cosFacV(j,bi,bj)=1.
92 sqCosFacU(j,bi,bj)=1.
93 sqCosFacV(j,bi,bj)=1.
94 ENDDO
95 ENDDO
96
97 ENDDO
98 ENDDO
99
100 C Here we make no assumptions about grid symmetry and simply
101 C read the raw grid data from files
102
103 #ifdef OLD_GRID_IO
104 C-- File Precision is different from "new grid IO" (always 64-bits precision)
105 C which should probably be changed to the standard file-prec (= readBinaryPrec)
106 fp = readBinaryPrec
107
108 C- Cell centered quantities
109 CALL READ_REC_3D_RS( 'LONC.bin', fp, 1, xC, 1, 0, myThid )
110 CALL READ_REC_3D_RS( 'LATC.bin', fp, 1, yC, 1, 0, myThid )
111 _EXCH_XY_RS(xC,myThid)
112 _EXCH_XY_RS(yC,myThid)
113
114 CALL READ_REC_3D_RS( 'DXF.bin', fp, 1, dxF, 1, 0, myThid )
115 CALL READ_REC_3D_RS( 'DYF.bin', fp, 1, dyF, 1, 0, myThid )
116 CALL EXCH_UV_AGRID_3D_RS( dxF, dyF, .FALSE., 1, myThid )
117
118 CALL READ_REC_3D_RS( 'RA.bin' , fp, 1, rA, 1, 0, myThid )
119 _EXCH_XY_RS(rA,myThid )
120
121 _BEGIN_MASTER(myThid)
122 anglesAreSet = .FALSE.
123 _END_MASTER(myThid)
124
125 C- Corner quantities
126 CALL READ_REC_3D_RS( 'LONG.bin', fp, 1, xG, 1, 0, myThid )
127 CALL READ_REC_3D_RS( 'LATG.bin', fp, 1, yG, 1, 0, myThid )
128 IF (useCubedSphereExchange) THEN
129 cs- this block needed by cubed sphere until we write more useful I/O routines
130 IF ( nPx*nPy*nSy.EQ.1 .AND. nSx.EQ.6 ) THEN
131 _BARRIER
132 _BEGIN_MASTER(myThid)
133 bi=3
134 bj=1
135 yG(1,sNy+1,bj,1)=yG(1,1,bi,1)
136 bj=bj+2
137 yG(1,sNy+1,bj,1)=yG(1,1,bi,1)
138 bj=bj+2
139 yG(1,sNy+1,bj,1)=yG(1,1,bi,1)
140 bi=6
141 bj=2
142 yG(sNx+1,1,bj,1)=yG(1,1,bi,1)
143 bj=bj+2
144 yG(sNx+1,1,bj,1)=yG(1,1,bi,1)
145 bj=bj+2
146 yG(sNx+1,1,bj,1)=yG(1,1,bi,1)
147 _END_MASTER(myThid)
148 _BARRIER
149 ELSE
150 WRITE(msgBuf,'(2A)') 'INI_CURVILINEAR_GRID:',
151 & ' OLD_GRID_IO only works for 6 tiles on 1 proc'
152 CALL PRINT_ERROR( msgBuf, myThid )
153 STOP 'ABNORMAL END: S/R INI_CURVILINEAR_GRID'
154 ENDIF
155 cs- end block
156 ENDIF
157 CALL EXCH_Z_3D_RS( xG, 1, myThid )
158 CALL EXCH_Z_3D_RS( yG, 1, myThid )
159
160 CALL READ_REC_3D_RS( 'DXV.bin', fp, 1, dxV, 1, 0, myThid )
161 CALL READ_REC_3D_RS( 'DYU.bin', fp, 1, dyU, 1, 0, myThid )
162 cs- this block needed by cubed sphere until we write more useful I/O routines
163 IF ( useCubedSphereExchange ) THEN
164 IF ( nPx*nPy*nSx*nSy.EQ.6 .AND. sNx.EQ.sNy ) THEN
165 DO bj = myByLo(myThid), myByHi(myThid)
166 DO bi = myBxLo(myThid), myBxHi(myThid)
167 dxV(sNx+1,1,bi,bj)=dxV(1,1,bi,bj)
168 dxV(1,sNy+1,bi,bj)=dxV(1,1,bi,bj)
169 dyU(sNx+1,1,bi,bj)=dyU(1,1,bi,bj)
170 dyU(1,sNy+1,bi,bj)=dyU(1,1,bi,bj)
171 ENDDO
172 ENDDO
173 ELSE
174 WRITE(msgBuf,'(2A)') 'INI_CURVILINEAR_GRID:',
175 & ' OLD_GRID_IO only works with 1 tile per face'
176 CALL PRINT_ERROR( msgBuf, myThid )
177 STOP 'ABNORMAL END: S/R INI_CURVILINEAR_GRID'
178 ENDIF
179 cs- end block
180 ENDIF
181 CALL EXCH_UV_BGRID_3D_RS( dxV, dyU, .FALSE., 1, myThid )
182
183 CALL READ_REC_3D_RS( 'RAZ.bin', fp, 1, rAz, 1, 0, myThid )
184 IF (useCubedSphereExchange) THEN
185 cs- this block needed by cubed sphere until we write more useful I/O routines
186 DO bj = myByLo(myThid), myByHi(myThid)
187 DO bi = myBxLo(myThid), myBxHi(myThid)
188 rAz(sNx+1,1,bi,bj)=rAz(1,1,bi,bj)
189 rAz(1,sNy+1,bi,bj)=rAz(1,1,bi,bj)
190 ENDDO
191 ENDDO
192 cs- end block
193 ENDIF
194 CALL EXCH_Z_3D_RS( rAz, 1, myThid )
195
196 C- Staggered (u,v pairs) quantities
197 CALL READ_REC_3D_RS( 'DXC.bin', fp, 1, dxC, 1, 0, myThid )
198 CALL READ_REC_3D_RS( 'DYC.bin', fp, 1, dyC, 1, 0, myThid )
199 CALL EXCH_UV_XY_RS(dxC,dyC,.FALSE.,myThid)
200
201 CALL READ_REC_3D_RS( 'RAW.bin', fp, 1, rAw, 1, 0, myThid )
202 CALL READ_REC_3D_RS( 'RAS.bin', fp, 1, rAs, 1, 0, myThid )
203 CALL EXCH_UV_XY_RS(rAw,rAs,.FALSE.,myThid)
204
205 CALL READ_REC_3D_RS( 'DXG.bin', fp, 1, dxG, 1, 0, myThid )
206 CALL READ_REC_3D_RS( 'DYG.bin', fp, 1, dyG, 1, 0, myThid )
207 CALL EXCH_UV_XY_RS(dyG,dxG,.FALSE.,myThid)
208
209 c write(10) xC
210 c write(10) yC
211 c write(10) dxF
212 c write(10) dyF
213 c write(10) rA
214 c write(10) xG
215 c write(10) yG
216 c write(10) dxV
217 c write(10) dyU
218 c write(10) rAz
219 c write(10) dxC
220 c write(10) dyC
221 c write(10) rAw
222 c write(10) rAs
223 c write(10) dxG
224 c write(10) dyG
225
226 #else /* ifndef OLD_GRID_IO */
227
228 #ifdef ALLOW_MNC
229 IF (useMNC .AND. readgrid_mnc) THEN
230 C-- read NetCDF files:
231
232 DO i = 1,80
233 mncFn(i:i) = ' '
234 ENDDO
235 write(mncFn,'(a)') 'mitgrid'
236 DO i = 1,MAX_LEN_MBUF
237 msgBuf(i:i) = ' '
238 ENDDO
239 WRITE(msgBuf,'(2A)') msgBuf,' ; Reading grid info using MNC'
240 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
241 & SQUEEZE_RIGHT , myThid)
242 CALL MNC_FILE_CLOSE_ALL_MATCHING(mncFn, myThid)
243 CALL MNC_CW_SET_UDIM(mncFn, 1, myThid)
244 CALL MNC_CW_SET_CITER(mncFn, 2, -1, -1, -1, myThid)
245 CALL MNC_CW_SET_UDIM(mncFn, 1, myThid)
246 CALL MNC_CW_RS_R('D',mncFn,0,0,'XC', xC, myThid)
247 CALL MNC_CW_RS_R('D',mncFn,0,0,'XG', xG, myThid)
248 CALL MNC_CW_RS_R('D',mncFn,0,0,'YC', yC, myThid)
249 CALL MNC_CW_RS_R('D',mncFn,0,0,'YG', yG, myThid)
250 CALL MNC_CW_RS_R('D',mncFn,0,0,'dxC',dxC, myThid)
251 CALL MNC_CW_RS_R('D',mncFn,0,0,'dyC',dyC, myThid)
252 CALL MNC_CW_RS_R('D',mncFn,0,0,'dxF',dxF, myThid)
253 CALL MNC_CW_RS_R('D',mncFn,0,0,'dyF',dyF, myThid)
254 CALL MNC_CW_RS_R('D',mncFn,0,0,'dxG',dxG, myThid)
255 CALL MNC_CW_RS_R('D',mncFn,0,0,'dyG',dyG, myThid)
256 CALL MNC_CW_RS_R('D',mncFn,0,0,'dxV',dxV, myThid)
257 CALL MNC_CW_RS_R('D',mncFn,0,0,'dyU',dyU, myThid)
258 CALL MNC_CW_RS_R('D',mncFn,0,0,'rA', rA, myThid)
259 CALL MNC_CW_RS_R('D',mncFn,0,0,'rAz',rAz, myThid)
260 CALL MNC_CW_RS_R('D',mncFn,0,0,'rAw',rAw, myThid)
261 CALL MNC_CW_RS_R('D',mncFn,0,0,'rAs',rAs, myThid)
262 CALL MNC_CW_RS_R('D',mncFn,0,0,'AngleCS',angleCosC,myThid)
263 CALL MNC_CW_RS_R('D',mncFn,0,0,'AngleSN',angleSinC,myThid)
264 anglesAreSet = .TRUE.
265
266 ELSE
267 C-- read Binary files:
268 #endif /* ALLOW_MNC */
269
270 C-- File Precision: keep 64-bits precision (as it used to be)
271 C but should probably change it to the standard file-prec (= readBinaryPrec)
272 fp = precFloat64
273 c fp = readBinaryPrec
274
275 C-- Everyone must wait for the initialisation to be done
276 _BARRIER
277
278 C-- Only do I/O if I am the master thread
279 _BEGIN_MASTER(myThid)
280
281 DO bj = 1,nSy
282 DO bi = 1,nSx
283 #ifdef ALLOW_EXCH2
284 C- Use face number:
285 jG = W2_myTileList(bi,bj)
286 iG = exch2_myface(jG)
287 WRITE(tmpBuf,'(A,I4)') 'tile:',jG
288 #else
289 C- Tile Id number = Bi + (Bj-1)*(nSx*nPx) with tile global-indices Bi,Bj
290 iG = bi+(myXGlobalLo-1)/sNx
291 jG = bj+(myYGlobalLo-1)/sNy
292 WRITE(tmpBuf,'(2(A,I3))') 'tile:',iG,' ,',jG
293 iG = iG + (jG-1)*(nSx*nPx)
294 #endif
295
296 iLen = ILNBLNK(horizGridFile)
297 IF ( iLen .EQ. 0 ) THEN
298 WRITE(fName,'("tile",I3.3,".mitgrid")') iG
299 ELSE
300 WRITE(fName,'(2A,I3.3,A)') horizGridFile(1:iLen),
301 & '.face',iG,'.bin'
302 ENDIF
303 iLen = ILNBLNK(fName)
304 iL = ILNBLNK(tmpBuf)
305 WRITE(msgBuf,'(3A)') tmpBuf(1:iL),
306 & ' ; Read from file ',fName(1:iLen)
307 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
308 & SQUEEZE_RIGHT , myThid)
309 WRITE(msgBuf,'(A)') ' =>'
310
311 #ifdef ALLOW_MDSIO
312 CALL MDS_FACEF_READ_RS( fName, fp, 1, xC, bi, bj, myThid )
313 iL = ILNBLNK(msgBuf)
314 WRITE(tmpBuf,'(A,1X,A)') msgBuf(1:iL),'xC'
315 CALL MDS_FACEF_READ_RS( fName, fp, 2, yC, bi, bj, myThid )
316 iL = ILNBLNK(tmpBuf)
317 WRITE(msgBuf,'(A,1X,A)') tmpBuf(1:iL),'yC'
318 CALL MDS_FACEF_READ_RS( fName, fp, 3, dxF, bi, bj, myThid )
319 iL = ILNBLNK(msgBuf)
320 WRITE(tmpBuf,'(A,1X,A)') msgBuf(1:iL),'dxF'
321 CALL MDS_FACEF_READ_RS( fName, fp, 4, dyF, bi, bj, myThid )
322 iL = ILNBLNK(tmpBuf)
323 WRITE(msgBuf,'(A,1X,A)') tmpBuf(1:iL),'dyF'
324 CALL MDS_FACEF_READ_RS( fName, fp, 5, rA, bi, bj, myThid )
325 iL = ILNBLNK(msgBuf)
326 WRITE(tmpBuf,'(A,1X,A)') msgBuf(1:iL),'rA'
327 CALL MDS_FACEF_READ_RS( fName, fp, 6, xG, bi, bj, myThid )
328 iL = ILNBLNK(tmpBuf)
329 WRITE(msgBuf,'(A,1X,A)') tmpBuf(1:iL),'xG'
330 CALL MDS_FACEF_READ_RS( fName, fp, 7, yG, bi, bj, myThid )
331 iL = ILNBLNK(msgBuf)
332 WRITE(tmpBuf,'(A,1X,A)') msgBuf(1:iL),'yG'
333 CALL MDS_FACEF_READ_RS( fName, fp, 8, dxV, bi, bj, myThid )
334 iL = ILNBLNK(tmpBuf)
335 WRITE(msgBuf,'(A,1X,A)') tmpBuf(1:iL),'dxV'
336 CALL MDS_FACEF_READ_RS( fName, fp, 9, dyU, bi, bj, myThid )
337 iL = ILNBLNK(msgBuf)
338 WRITE(tmpBuf,'(A,1X,A)') msgBuf(1:iL),'dyU'
339 CALL MDS_FACEF_READ_RS( fName, fp,10, rAz, bi, bj, myThid )
340 iL = ILNBLNK(tmpBuf)
341 WRITE(msgBuf,'(A,1X,A)') tmpBuf(1:iL),'rAz'
342 CALL MDS_FACEF_READ_RS( fName, fp,11, dxC, bi, bj, myThid )
343 iL = ILNBLNK(msgBuf)
344 WRITE(tmpBuf,'(A,1X,A)') msgBuf(1:iL),'dxC'
345 CALL MDS_FACEF_READ_RS( fName, fp,12, dyC, bi, bj, myThid )
346 iL = ILNBLNK(tmpBuf)
347 WRITE(msgBuf,'(A,1X,A)') tmpBuf(1:iL),'dyC'
348 CALL MDS_FACEF_READ_RS( fName, fp,13, rAw, bi, bj, myThid )
349 iL = ILNBLNK(msgBuf)
350 WRITE(tmpBuf,'(A,1X,A)') msgBuf(1:iL),'rAw'
351 CALL MDS_FACEF_READ_RS( fName, fp,14, rAs, bi, bj, myThid )
352 iL = ILNBLNK(tmpBuf)
353 WRITE(msgBuf,'(A,1X,A)') tmpBuf(1:iL),'rAs'
354 CALL MDS_FACEF_READ_RS( fName, fp,15, dxG, bi, bj, myThid )
355 iL = ILNBLNK(msgBuf)
356 WRITE(tmpBuf,'(A,1X,A)') msgBuf(1:iL),'dxG'
357 CALL MDS_FACEF_READ_RS( fName, fp,16, dyG, bi, bj, myThid )
358 iL = ILNBLNK(tmpBuf)
359 WRITE(msgBuf,'(A,1X,A)') tmpBuf(1:iL),'dyG'
360
361 iLen = ILNBLNK(horizGridFile)
362 IF ( iLen.GT.0 ) THEN
363 CALL MDS_FACEF_READ_RS(fName,fp,17,angleCosC,bi,bj,myThid)
364 iL = ILNBLNK(msgBuf)
365 WRITE(tmpBuf,'(A,1X,A)') msgBuf(1:iL),'AngleCS'
366 CALL MDS_FACEF_READ_RS(fName,fp,18,angleSinC,bi,bj,myThid)
367 iL = ILNBLNK(tmpBuf)
368 WRITE(msgBuf,'(A,1X,A)') tmpBuf(1:iL),'AngleSN'
369 anglesAreSet = .TRUE.
370 ELSE
371 anglesAreSet = .FALSE.
372 ENDIF
373 #else /* ALLOW_MDSIO */
374 WRITE(msgBuf,'(2A)')
375 & 'INI_CURVILINEAR_GRID: Needs to compile MDSIO pkg'
376 CALL PRINT_ERROR( msgBuf, myThid )
377 STOP 'ABNORMAL END: S/R INI_CURVILINEAR_GRID'
378 #endif /* ALLOW_MDSIO */
379
380 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
381 & SQUEEZE_RIGHT , myThid)
382
383 ENDDO
384 ENDDO
385
386 _END_MASTER(myThid)
387
388 #ifdef ALLOW_MNC
389 ENDIF
390 #endif /* ALLOW_MNC */
391
392 CALL EXCH_XY_RS(xC,myThid)
393 CALL EXCH_XY_RS(yC,myThid)
394 CALL EXCH_UV_AGRID_3D_RS( dxF, dyF, .FALSE., 1, myThid )
395 CALL EXCH_XY_RS(rA,myThid )
396 CALL EXCH_Z_3D_RS( xG, 1, myThid )
397 CALL EXCH_Z_3D_RS( yG, 1, myThid )
398 CALL EXCH_UV_BGRID_3D_RS( dxV, dyU, .FALSE., 1, myThid)
399 CALL EXCH_Z_3D_RS( rAz, 1, myThid )
400 CALL EXCH_UV_XY_RS(dxC,dyC,.FALSE.,myThid)
401 CALL EXCH_UV_XY_RS(rAw,rAs,.FALSE.,myThid)
402 CALL EXCH_UV_XY_RS(dyG,dxG,.FALSE.,myThid)
403
404 #endif /* OLD_GRID_IO */
405
406 C-- Calculate (sines and cosines of) angles of grid north with
407 C-- geographical north when they have not been read from a file
408 IF ( .NOT.anglesAreSet ) THEN
409 CALL CALC_ANGLES( myThid )
410 _BARRIER
411 _BEGIN_MASTER(myThid)
412 anglesAreSet = .TRUE.
413 _END_MASTER(myThid)
414 ENDIF
415 C-- Exchange Angle (either loaded from file or computed)
416 CALL EXCH_UV_AGRID_3D_RS(angleSinC,angleCosC,.TRUE., 1, myThid)
417
418 C-- Stop if Angle have not been loaded but are needed :
419 _BEGIN_MASTER(myThid)
420 IF ( .NOT.anglesAreSet .AND. use3dCoriolis ) THEN
421 WRITE(msgBuf,'(2A)')
422 & 'INI_CURVILINEAR_GRID: Angle of CurvilinearGrid not set',
423 & ' but needed for 3-D Coriolis'
424 CALL PRINT_ERROR( msgBuf, myThid )
425 STOP 'ABNORMAL END: S/R INI_CURVILINEAR_GRID'
426 ENDIF
427 _END_MASTER(myThid)
428
429 c CALL WRITE_FULLARRAY_RL('dxV',dxV,1,0,0,1,0,myThid)
430 c CALL WRITE_FULLARRAY_RL('dyU',dyU,1,0,0,1,0,myThid)
431 c CALL WRITE_FULLARRAY_RL('rAz',rAz,1,0,0,1,0,myThid)
432 c CALL WRITE_FULLARRAY_RL('xG' ,xG ,1,0,0,1,0,myThid)
433 c CALL WRITE_FULLARRAY_RL('yG' ,yG ,1,0,0,1,0,myThid)
434
435 C-- Now let us look at all these beasts
436 IF ( debugLevel .GE. debLevB ) THEN
437 CALL PLOT_FIELD_XYRS( xC , 'Current xC ', 0, myThid )
438 CALL PLOT_FIELD_XYRS( yC , 'Current yC ', 0, myThid )
439 CALL PLOT_FIELD_XYRS( dxF , 'Current dxF ', 0, myThid )
440 CALL PLOT_FIELD_XYRS( dyF , 'Current dyF ', 0, myThid )
441 CALL PLOT_FIELD_XYRS( rA , 'Current rA ', 0, myThid )
442 CALL PLOT_FIELD_XYRS( xG , 'Current xG ', 0, myThid )
443 CALL PLOT_FIELD_XYRS( yG , 'Current yG ', 0, myThid )
444 CALL PLOT_FIELD_XYRS( dxV , 'Current dxV ', 0, myThid )
445 CALL PLOT_FIELD_XYRS( dyU , 'Current dyU ', 0, myThid )
446 CALL PLOT_FIELD_XYRS( rAz , 'Current rAz ', 0, myThid )
447 CALL PLOT_FIELD_XYRS( dxC , 'Current dxC ', 0, myThid )
448 CALL PLOT_FIELD_XYRS( dyC , 'Current dyC ', 0, myThid )
449 CALL PLOT_FIELD_XYRS( rAw , 'Current rAw ', 0, myThid )
450 CALL PLOT_FIELD_XYRS( rAs , 'Current rAs ', 0, myThid )
451 CALL PLOT_FIELD_XYRS( dxG , 'Current dxG ', 0, myThid )
452 CALL PLOT_FIELD_XYRS( dyG , 'Current dyG ', 0, myThid )
453 CALL PLOT_FIELD_XYRS(angleCosC, 'Current AngleCS ', 0, myThid )
454 CALL PLOT_FIELD_XYRS(angleSinC, 'Current AngleSN ', 0, myThid )
455 ENDIF
456
457 RETURN
458 END

  ViewVC Help
Powered by ViewVC 1.1.22