/[MITgcm]/MITgcm_contrib/llc_hires/llc_4320/code-async/asyncio_driver_config.F
ViewVC logotype

Contents of /MITgcm_contrib/llc_hires/llc_4320/code-async/asyncio_driver_config.F

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


Revision 1.1 - (show annotations) (download)
Fri Sep 20 12:38:03 2013 UTC (11 years, 10 months ago) by dimitri
Branch: MAIN
CVS Tags: HEAD
adding llc_2160 and llc_4320 coonfiguration files

1 C $Header: /CVS/people/chenze/ECCO/code-async/asyncio_driver_config.F,v 1.1.1.1 2013/07/22 19:33:46 chenze Exp $
2
3 #include "PACKAGES_CONFIG.h"
4
5
6 #include "CPP_EEOPTIONS.h"
7 #include "W2_OPTIONS.h"
8
9 SUBROUTINE ASYNCIO_DRIVER_CONFIG( myThid )
10
11 IMPLICIT NONE
12 #include "SIZE.h"
13 #include "EEPARAMS.h"
14 #include "EESUPPORT.h"
15 #include "W2_EXCH2_SIZE.h"
16 #include "W2_EXCH2_PARAMS.h"
17 #include "W2_EXCH2_TOPOLOGY.h"
18 INTEGER myThid
19
20 INTEGER bi, bj
21
22 INTEGER ASYNCIO_NXG, ASYNCIO_NYG
23 INTEGER ASYNCIO_TXGLO, ASYNCIO_TYGLO
24 INTEGER tN, IEND, tF, i
25
26 C Call ASYNCIO setup
27 ASYNCIO_NXG = NX
28 ASYNCIO_NYG = NY
29 #ifdef ALLOW_EXCH2
30 ASYNCIO_NXG = exch2_global_Nx
31 ASYNCIO_NYG = exch2_global_Ny
32 #endif /* ALLOW_EXCH2 */
33
34 chenze assuming exch2
35
36 c CALL MYASYNCIO_SET_GLOBAL_SIZES( ASYNCIO_NXG, ASYNCIO_NYG, NR )
37
38 chenze have all compute ranks call & sort out bcast in recvTask
39
40 CALL MYASYNCIO_SET_GLOBAL_SIZES( exch2_global_Nx, exch2_global_Ny,
41 $ Nr, exch2_nTiles, nPx, sNx, sNy, OLx, OLy )
42
43
44 CALL ASYNCIO_TILE_ARRAYS(exch2_txGlobalo, exch2_tyGlobalo,
45 $ exch2_mydNx)
46
47
48 c write(*,*) 'BRON ',exch2_nTiles
49 c do i=1,exch2_nTiles
50 c write(*,*) 'BRON ',exch2_myFace(i),exch2_mydNx(i),
51 c $ exch2_mydNy(i),exch2_tNx(i),exch2_tNy(i)
52 c enddo
53
54 DO bj=myByLo(myThid),myByHi(myThid)
55 DO bi=myBxLo(myThid),myBxHi(myThid)
56 ASYNCIO_TXGLO = myXGlobalLo - 1 + (bi-1)*sNx
57 ASYNCIO_TYGLO = myYGlobalLo - 1 + (bj-1)*sNy
58 tN = tileNo(bi,bj) ! which one of these do we want to use?
59 tF = W2_myTileList(bi,bj) ! no requirement of ordinality anymore
60 ! needs to agree with # used in f3()
61
62 c do iend=1,351
63 c write(*,*) 'HENZE ',iend,exch2_myFace(iend),
64 c $ exch2_tBasex(iend),exch2_tBasey(iend),
65 c $ exch2_txGlobalo(iend),exch2_tyGlobalo(iend)
66 c enddo
67
68
69 #ifdef ALLOW_EXCH2
70 tN = W2_myTileList(bi,bj)
71 ASYNCIO_TXGLO = exch2_txGlobalo( tN )
72 ASYNCIO_TYGLO = exch2_tyGlobalo( tN )
73
74 c write(*,*) 'rank ',mpimyid,' sending tile ',tN
75 c
76 c if (mpimyid.eq.0) then
77 c write(*,*) exch2_global_Nx,exch2_global_Ny, Nr
78 c write(*,*) exch2_nTiles, nPx, sNx, sNy
79 c do i=1,exch2_nTiles
80 c write(*,*) i,exch2_txGlobalo(i),exch2_tyGlobalo(i),
81 c $ exch2_mydNx(i),
82 c $ exch2_global_Nx*(exch2_tyGlobalo(i)-1)+exch2_txGlobalo(i) - 1
83 c enddo
84 c endif
85
86
87
88 #endif /* ALLOW_EXCH2 */
89
90
91 CALL ASYNCIO_REGISTER_TILE( ASYNCIO_TXGLO, ASYNCIO_TYGLO, TN ) ! evidently a no-op now
92 ch PRINT *, ' REGISTERING TILE ', TF
93 CALL ASYNCIO_BRON_F_F2(TF)
94 ENDDO
95 ENDDO
96 IEND=-1
97 CALL ASYNCIO_BRON_F_F2(IEND)
98
99 CALL ASYNCIO_REGISTER_FIELD_CODE( 'U' ) ! no-op now
100 CALL ASYNCIO_REGISTER_FIELD_CODE( 'V' ) ! ...
101 CALL ASYNCIO_REGISTER_FIELD_CODE( 'W' )
102 CALL ASYNCIO_REGISTER_FIELD_CODE( 'T' )
103 CALL ASYNCIO_REGISTER_FIELD_CODE( 'S' )
104 CALL ASYNCIO_REGISTER_FIELD_CODE( 'ETA' )
105
106 RETURN
107 END
108

  ViewVC Help
Powered by ViewVC 1.1.22