/[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.43 - (show annotations) (download)
Tue May 12 19:54:28 2009 UTC (15 years, 1 month ago) by jmc
Branch: MAIN
Changes since 1.42: +2 -2 lines
new header files "W2_EXCH2_SIZE.h" with new W2-Exch2 topology code

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

  ViewVC Help
Powered by ViewVC 1.1.22