/[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.52 - (show annotations) (download)
Sun Feb 17 02:28:07 2013 UTC (11 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint65, checkpoint66a, checkpoint65o, checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f
Changes since 1.51: +5 -54 lines
- always call S/R CALC_GRID_ANGLES to set new new projection array for
  model C-grid velocity;
- remove initialisation of all horizontal grid arrays (done in INI_GRID)

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

  ViewVC Help
Powered by ViewVC 1.1.22