@@ -108,7 +108,7 @@ PROGRAM AdapGrid
108108! Close all files
109109 CLOSE (16 )
110110
111- 9999 PRINT * , ' AdapGrid completed '
111+ PRINT * , ' AdapGrid completed '
112112
113113 END PROGRAM AdapGrid
114114! End of main program
@@ -192,7 +192,7 @@ SUBROUTINE CellSide
192192 WRITE (6 ,* ) " Start creating u boundary face II JJ=" , II, JJ
193193
194194! ! Exclude last cell, the North Polar cell.
195- DO 111 L= 1 , NC-1
195+ DO L= 1 , NC-1
196196! ! Loop over all cells.
197197! DO 111 L=1, NC
198198 i= 0
@@ -237,93 +237,91 @@ SUBROUTINE CellSide
237237 END DO
238238
239239 IF (kk+ ij .gt. 2 * ICE(4 ,L) ) WRITE (6 ,* ) " Over done i-side for cell L,ij,kk=" , L, ij, kk
240- IF (kk+ ij .ge. 2 * ICE(4 ,L) ) GOTO 111
240+ IF (kk+ ij .ge. 2 * ICE(4 ,L) ) EXIT
241241
242- IF (ij .eq. 0 ) THEN
242+ IF (ij .eq. 0 ) THEN
243243! ! Full boundary cell for west side
244- II= II+1
245- ISD(1 ,II)= ICE(1 ,L)
246- ISD(2 ,II)= ICE(2 ,L)
247- ISD(3 ,II)= ICE(4 ,L)
244+ II= II+1
245+ ISD(1 ,II)= ICE(1 ,L)
246+ ISD(2 ,II)= ICE(2 ,L)
247+ ISD(3 ,II)= ICE(4 ,L)
248248! ! New boundary cells proportional to cell x-sizes
249249! ! Updated for any 2**n sizes
250- ! ISD(5,II)=-INT( LOG(FLOAT(ISD(3,II)))/LOG(2.) + 0.01 )
251- ISD(5 ,II)=- INT ( LOG (FLOAT(ICE(3 , L)))/ LOG (2 .) + 0.01 )
252- ISD(6 ,II)= L
253- ENDIF
254- IF (kk .eq. 0 ) THEN
250+ ! ISD(5,II)=-INT( LOG(FLOAT(ISD(3,II)))/LOG(2.) + 0.01 )
251+ ISD(5 ,II)=- INT ( LOG (FLOAT(ICE(3 , L)))/ LOG (2 .) + 0.01 )
252+ ISD(6 ,II)= L
253+ ENDIF
254+ IF (kk .eq. 0 ) THEN
255255! ! Full boundary cell for east side
256- II= II+1
257- ISD(1 ,II)= LM
258- ISD(2 ,II)= ICE(2 ,L)
259- ISD(3 ,II)= ICE(4 ,L)
260- ISD(5 ,II)= L
256+ II= II+1
257+ ISD(1 ,II)= LM
258+ ISD(2 ,II)= ICE(2 ,L)
259+ ISD(3 ,II)= ICE(4 ,L)
260+ ISD(5 ,II)= L
261261! ! Updated for any 2**n sizes
262- ! ISD(6,II)=-INT( LOG(FLOAT(ISD(3,II)))/LOG(2.) + 0.01 )
263- ISD(6 ,II)=- INT ( LOG (FLOAT(ICE(3 , L)))/ LOG (2 .) + 0.01 )
264- ENDIF
262+ ! ISD(6,II)=-INT( LOG(FLOAT(ISD(3,II)))/LOG(2.) + 0.01 )
263+ ISD(6 ,II)=- INT ( LOG (FLOAT(ICE(3 , L)))/ LOG (2 .) + 0.01 )
264+ ENDIF
265265
266266! ! Half cell size west boundary faces
267- IF (ij .gt. 0 .and. ij .lt. ICE(4 ,L) ) THEN
268- IF ( i .eq. 0 ) THEN
267+ IF (ij .gt. 0 .and. ij .lt. ICE(4 ,L) ) THEN
268+ IF ( i .eq. 0 ) THEN
269269! ! lower half west cell face
270- II= II+1
271- ISD(1 ,II)= ICE(1 ,L)
272- ISD(2 ,II)= ICE(2 ,L)
273- ISD(3 ,II)= ICE(4 ,L)/ 2
270+ II= II+1
271+ ISD(1 ,II)= ICE(1 ,L)
272+ ISD(2 ,II)= ICE(2 ,L)
273+ ISD(3 ,II)= ICE(4 ,L)/ 2
274274! ! Updated for any 2**n sizes
275- ISD(5 ,II)=- INT ( LOG (FLOAT(ISD(3 ,II)))/ LOG (2 .) + 0.01 )
275+ ISD(5 ,II)=- INT ( LOG (FLOAT(ISD(3 ,II)))/ LOG (2 .) + 0.01 )
276276! ! Size 1 for cell 0, size 2 uses cell -1 and size 4 uses cell -2
277- ISD(6 ,II)= L
278- ENDIF
279- IF ( j .eq. 0 ) THEN
277+ ISD(6 ,II)= L
278+ ENDIF
279+ IF ( j .eq. 0 ) THEN
280280! ! Upper half west cell face
281- II= II+1
282- ISD(1 ,II)= ICE(1 ,L)
283- ISD(2 ,II)= ICE(2 ,L)+ ICE(4 ,L)/ 2
284- ISD(3 ,II)= ICE(4 ,L)/ 2
281+ II= II+1
282+ ISD(1 ,II)= ICE(1 ,L)
283+ ISD(2 ,II)= ICE(2 ,L)+ ICE(4 ,L)/ 2
284+ ISD(3 ,II)= ICE(4 ,L)/ 2
285285! ! Updated for any 2**n sizes
286- ISD(5 ,II)=- INT ( LOG (FLOAT(ISD(3 ,II)))/ LOG (2 .) + 0.01 )
287- ISD(6 ,II)= L
288- ENDIF
289- ENDIF
286+ ISD(5 ,II)=- INT ( LOG (FLOAT(ISD(3 ,II)))/ LOG (2 .) + 0.01 )
287+ ISD(6 ,II)= L
288+ ENDIF
289+ ENDIF
290290
291291! ! Half cell size east boundary faces
292- IF (kk .gt. 0 .and. kk .lt. ICE(4 ,L) ) THEN
293- IF ( k .eq. 0 ) THEN
292+ IF (kk .gt. 0 .and. kk .lt. ICE(4 ,L) ) THEN
293+ IF ( k .eq. 0 ) THEN
294294! ! lower half east cell face
295- II= II+1
296- ISD(1 ,II)= LM
297- ISD(2 ,II)= ICE(2 ,L)
298- ISD(3 ,II)= ICE(4 ,L)/ 2
295+ II= II+1
296+ ISD(1 ,II)= LM
297+ ISD(2 ,II)= ICE(2 ,L)
298+ ISD(3 ,II)= ICE(4 ,L)/ 2
299299! ! Size 1 for cell 0, size 2 uses cell -1 and size 4 uses cell -2
300- ISD(5 ,II)= L
300+ ISD(5 ,II)= L
301301! ! Updated for any 2**n sizes
302- ISD(6 ,II)=- INT ( LOG (FLOAT(ISD(3 ,II)))/ LOG (2 .) + 0.01 )
303- ENDIF
304- IF ( n .eq. 0 ) THEN
302+ ISD(6 ,II)=- INT ( LOG (FLOAT(ISD(3 ,II)))/ LOG (2 .) + 0.01 )
303+ ENDIF
304+ IF ( n .eq. 0 ) THEN
305305! ! Upper half west cell face
306- II= II+1
307- ISD(1 ,II)= LM
308- ISD(2 ,II)= ICE(2 ,L)+ ICE(4 ,L)/ 2
309- ISD(3 ,II)= ICE(4 ,L)/ 2
306+ II= II+1
307+ ISD(1 ,II)= LM
308+ ISD(2 ,II)= ICE(2 ,L)+ ICE(4 ,L)/ 2
309+ ISD(3 ,II)= ICE(4 ,L)/ 2
310310! ! Size 1 for cell 0, size 2 uses cell -1 and size 4 uses cell -2
311- ISD(5 ,II)= L
311+ ISD(5 ,II)= L
312312! ! Updated for any 2**n sizes
313- ISD(6 ,II)=- INT ( LOG (FLOAT(ISD(3 ,II)))/ LOG (2 .) + 0.01 )
314- ENDIF
315- ENDIF
316-
317- 111 CONTINUE
318-
313+ ISD(6 ,II)=- INT ( LOG (FLOAT(ISD(3 ,II)))/ LOG (2 .) + 0.01 )
314+ ENDIF
315+ ENDIF
316+ ENDDO
319317
320318! Set boundary v faces
321319 WRITE (6 ,* ) " Start creating v boundary face II JJ=" , II, JJ
322320
323321! ! Exclude the last polar cell
324- DO 222 L= 1 , NC-1
322+ DO L= 1 , NC-1
325323! ! Loop over all cells
326- ! DO 222 L=1, NC
324+ ! DO L=1, NC
327325 i= 0
328326 j= 0
329327 ij= 0
@@ -361,97 +359,96 @@ SUBROUTINE CellSide
361359 END DO
362360
363361 IF (nn+ ij .gt. 2 * ICE(3 ,L) ) WRITE (6 ,* ) " Over done j-side for L, ij, nn=" , L, ij, nn
364- IF (nn+ ij .ge. 2 * ICE(3 ,L) ) GOTO 222
362+ IF (nn+ ij .ge. 2 * ICE(3 ,L) ) EXIT
365363
366- IF (ij .eq. 0 ) THEN
364+ IF (ij .eq. 0 ) THEN
367365! ! Full boundary cell for south side
368- JJ= JJ+1
369- JSD(1 ,JJ)= ICE(1 ,L)
370- JSD(2 ,JJ)= ICE(2 ,L)
371- JSD(3 ,JJ)= ICE(3 ,L)
366+ JJ= JJ+1
367+ JSD(1 ,JJ)= ICE(1 ,L)
368+ JSD(2 ,JJ)= ICE(2 ,L)
369+ JSD(3 ,JJ)= ICE(3 ,L)
372370! ! New boundary cells proportional to cell sizes
373371! ! Updated for any 2**n sizes
374- JSD(5 ,JJ)=- INT ( LOG (FLOAT(ICE(3 ,L)))/ LOG (2 .) + 0.01 )
375- JSD(6 ,JJ)= L
376- JSD(8 ,JJ)= ICE(4 ,L)
372+ JSD(5 ,JJ)=- INT ( LOG (FLOAT(ICE(3 ,L)))/ LOG (2 .) + 0.01 )
373+ JSD(6 ,JJ)= L
374+ JSD(8 ,JJ)= ICE(4 ,L)
377375! ! No cells over Antarctic land so there is no S Polar cell.
378- ENDIF
379- IF (nn .eq. 0 ) THEN
376+ ENDIF
377+ IF (nn .eq. 0 ) THEN
380378! ! Full boundary cell for north side
381- JJ= JJ+1
382- JSD(1 ,JJ)= ICE(1 ,L)
383- JSD(2 ,JJ)= ICE(2 ,L)+ ICE(4 ,L)
384- JSD(3 ,JJ)= ICE(3 ,L)
385- JSD(5 ,JJ)= L
379+ JJ= JJ+1
380+ JSD(1 ,JJ)= ICE(1 ,L)
381+ JSD(2 ,JJ)= ICE(2 ,L)+ ICE(4 ,L)
382+ JSD(3 ,JJ)= ICE(3 ,L)
383+ JSD(5 ,JJ)= L
386384! ! North polar cell takes the whole last 4 rows above JSD=ICE(2,NC).
387385! ! Note ICE(2,L) represents lower-side of the cell. Polar cell is the last cell NC.
388- IF ( ICE(2 ,L)+ ICE(4 ,L) .eq. ICE(2 ,NC) ) THEN
389- JSD(6 ,JJ)= NC
390- WRITE (6 ,* ) " Set north pole v face for cell L" , L
391- ELSE
386+ IF ( ICE(2 ,L)+ ICE(4 ,L) .eq. ICE(2 ,NC) ) THEN
387+ JSD(6 ,JJ)= NC
388+ WRITE (6 ,* ) " Set north pole v face for cell L" , L
389+ ELSE
392390! ! Updated for any 2**n sizes
393391 JSD(6 ,JJ)=- INT ( LOG (FLOAT(ICE(3 ,L)))/ LOG (2 .) + 0.01 )
394- ENDIF
395- JSD(8 ,JJ)= ICE(4 ,L)
396- ENDIF
392+ ENDIF
393+ JSD(8 ,JJ)= ICE(4 ,L)
394+ ENDIF
397395
398396! ! Half cell size south boundary faces
399- IF (ij .gt. 0 .and. ij .lt. ICE(3 ,L) ) THEN
400- IF ( i .eq. 0 ) THEN
397+ IF (ij .gt. 0 .and. ij .lt. ICE(3 ,L) ) THEN
398+ IF ( i .eq. 0 ) THEN
401399! ! left half cell face
402- JJ= JJ+1
403- JSD(1 ,JJ)= ICE(1 ,L)
404- JSD(2 ,JJ)= ICE(2 ,L)
405- JSD(3 ,JJ)= ICE(3 ,L)/ 2
400+ JJ= JJ+1
401+ JSD(1 ,JJ)= ICE(1 ,L)
402+ JSD(2 ,JJ)= ICE(2 ,L)
403+ JSD(3 ,JJ)= ICE(3 ,L)/ 2
406404! ! New boundary cells proportional to cell sizes
407405! ! Updated for any 2**n sizes
408- JSD(5 ,JJ)=- INT ( LOG (FLOAT(JSD(3 ,JJ)))/ LOG (2 .) + 0.01 )
409- JSD(6 ,JJ)= L
410- JSD(8 ,JJ)= ICE(4 ,L)
411- ENDIF
412- IF ( j .eq. 0 ) THEN
406+ JSD(5 ,JJ)=- INT ( LOG (FLOAT(JSD(3 ,JJ)))/ LOG (2 .) + 0.01 )
407+ JSD(6 ,JJ)= L
408+ JSD(8 ,JJ)= ICE(4 ,L)
409+ ENDIF
410+ IF ( j .eq. 0 ) THEN
413411! ! right half cell face
414- JJ= JJ+1
415- JSD(1 ,JJ)= ICE(1 ,L)+ ICE(3 ,L)/ 2
416- JSD(2 ,JJ)= ICE(2 ,L)
417- JSD(3 ,JJ)= ICE(3 ,L)/ 2
412+ JJ= JJ+1
413+ JSD(1 ,JJ)= ICE(1 ,L)+ ICE(3 ,L)/ 2
414+ JSD(2 ,JJ)= ICE(2 ,L)
415+ JSD(3 ,JJ)= ICE(3 ,L)/ 2
418416! ! New boundary cells proportional to cell sizes
419417! ! Updated for any 2**n sizes
420- JSD(5 ,JJ)=- INT ( LOG (FLOAT(JSD(3 ,JJ)))/ LOG (2 .) + 0.01 )
421- JSD(6 ,JJ)= L
422- JSD(8 ,JJ)= ICE(4 ,L)
423- ENDIF
424- ENDIF
418+ JSD(5 ,JJ)=- INT ( LOG (FLOAT(JSD(3 ,JJ)))/ LOG (2 .) + 0.01 )
419+ JSD(6 ,JJ)= L
420+ JSD(8 ,JJ)= ICE(4 ,L)
421+ ENDIF
422+ ENDIF
425423
426424! ! Half cell size north boundary faces
427- IF (nn .gt. 0 .and. nn .lt. ICE(3 ,L) ) THEN
428- IF ( k .eq. 0 ) THEN
425+ IF (nn .gt. 0 .and. nn .lt. ICE(3 ,L) ) THEN
426+ IF ( k .eq. 0 ) THEN
429427! ! left half north cell face
430- JJ= JJ+1
431- JSD(1 ,JJ)= ICE(1 ,L)
432- JSD(2 ,JJ)= ICE(2 ,L)+ ICE(4 ,L)
433- JSD(3 ,JJ)= ICE(3 ,L)/ 2
434- JSD(5 ,JJ)= L
428+ JJ= JJ+1
429+ JSD(1 ,JJ)= ICE(1 ,L)
430+ JSD(2 ,JJ)= ICE(2 ,L)+ ICE(4 ,L)
431+ JSD(3 ,JJ)= ICE(3 ,L)/ 2
432+ JSD(5 ,JJ)= L
435433! ! New boundary cells proportional to cell sizes
436434! ! Updated for any 2**n sizes
437- JSD(6 ,JJ)=- INT ( LOG (FLOAT(JSD(3 ,JJ)))/ LOG (2 .) + 0.01 )
438- JSD(8 ,JJ)= ICE(4 ,L)
439- ENDIF
440- IF ( n .eq. 0 ) THEN
435+ JSD(6 ,JJ)=- INT ( LOG (FLOAT(JSD(3 ,JJ)))/ LOG (2 .) + 0.01 )
436+ JSD(8 ,JJ)= ICE(4 ,L)
437+ ENDIF
438+ IF ( n .eq. 0 ) THEN
441439! ! right half north cell face
442- JJ= JJ+1
443- JSD(1 ,JJ)= ICE(1 ,L)+ ICE(3 ,L)/ 2
444- JSD(2 ,JJ)= ICE(2 ,L)+ ICE(4 ,L)
445- JSD(3 ,JJ)= ICE(3 ,L)/ 2
446- JSD(5 ,JJ)= L
440+ JJ= JJ+1
441+ JSD(1 ,JJ)= ICE(1 ,L)+ ICE(3 ,L)/ 2
442+ JSD(2 ,JJ)= ICE(2 ,L)+ ICE(4 ,L)
443+ JSD(3 ,JJ)= ICE(3 ,L)/ 2
444+ JSD(5 ,JJ)= L
447445! ! New boundary cells proportional to cell sizes
448446! ! Updated for any 2**n sizes
449- JSD(6 ,JJ)=- INT ( LOG (FLOAT(JSD(3 ,JJ)))/ LOG (2 .) + 0.01 )
450- JSD(8 ,JJ)= ICE(4 ,L)
451- ENDIF
452- ENDIF
453-
454- 222 CONTINUE
447+ JSD(6 ,JJ)=- INT ( LOG (FLOAT(JSD(3 ,JJ)))/ LOG (2 .) + 0.01 )
448+ JSD(8 ,JJ)= ICE(4 ,L)
449+ ENDIF
450+ ENDIF
451+ ENDDO
455452
456453! Store top level U V side numbers in NU NV
457454 NU= II
0 commit comments