/[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.54 - (show annotations) (download)
Tue Apr 4 23:22:38 2017 UTC (7 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, HEAD
Changes since 1.53: +2 -2 lines
- add specific run-time param to select level of printed plot-field-maps,
  set by default to debugLevel.

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

  ViewVC Help
Powered by ViewVC 1.1.22