76 |
C read the raw grid data from files |
C read the raw grid data from files |
77 |
|
|
78 |
C- Cell centered quantities |
C- Cell centered quantities |
79 |
CALL MDSREADFIELD('LONC.bin',readBinaryPrec,'RL',1,XC, 1,myThid) |
CALL MDSREADFIELD('LONC.bin',readBinaryPrec,'RS',1,XC, 1,myThid) |
80 |
CALL MDSREADFIELD('LATC.bin',readBinaryPrec,'RL',1,YC, 1,myThid) |
CALL MDSREADFIELD('LATC.bin',readBinaryPrec,'RS',1,YC, 1,myThid) |
81 |
_EXCH_XY_R4(XC,myThid) |
_EXCH_XY_R4(XC,myThid) |
82 |
_EXCH_XY_R4(YC,myThid) |
_EXCH_XY_R4(YC,myThid) |
83 |
|
|
84 |
CALL MDSREADFIELD('DXF.bin',readBinaryPrec,'RL',1,DXF, 1,myThid) |
CALL MDSREADFIELD('DXF.bin',readBinaryPrec,'RS',1,DXF, 1,myThid) |
85 |
CALL MDSREADFIELD('DYF.bin',readBinaryPrec,'RL',1,DYF, 1,myThid) |
CALL MDSREADFIELD('DYF.bin',readBinaryPrec,'RS',1,DYF, 1,myThid) |
86 |
C !!! _EXCH_OUV_XY_R4(DXF, DYF, unSigned, myThid ) |
C !!! _EXCH_OUV_XY_R4(DXF, DYF, unSigned, myThid ) |
87 |
cs! this is not correct! <= need paired exchange for DXF,DYF |
cs! this is not correct! <= need paired exchange for DXF,DYF |
88 |
_EXCH_XY_R4(DXF,myThid) |
_EXCH_XY_R4(DXF,myThid) |
89 |
_EXCH_XY_R4(DYF,myThid) |
_EXCH_XY_R4(DYF,myThid) |
90 |
|
cs! fix overlaps: |
91 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
92 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
93 |
|
DO j=1,sNy |
94 |
|
DO i=1,Olx |
95 |
|
DXF(1-i,j,bi,bj)=DXF(i,j,bi,bj) |
96 |
|
DXF(sNx+i,j,bi,bj)=DXF(sNx+1-i,j,bi,bj) |
97 |
|
DYF(1-i,j,bi,bj)=DYF(i,j,bi,bj) |
98 |
|
DYF(sNx+i,j,bi,bj)=DYF(sNx+1-i,j,bi,bj) |
99 |
|
ENDDO |
100 |
|
ENDDO |
101 |
|
DO j=1,Oly |
102 |
|
DO i=1,sNx |
103 |
|
DXF(i,1-j,bi,bj)=DXF(i,j,bi,bj) |
104 |
|
DXF(i,sNy+j,bi,bj)=DXF(i,sNy+1-j,bi,bj) |
105 |
|
DYF(i,1-j,bi,bj)=DYF(i,j,bi,bj) |
106 |
|
DYF(i,sNy+j,bi,bj)=DYF(i,sNy+1-j,bi,bj) |
107 |
|
ENDDO |
108 |
|
ENDDO |
109 |
|
ENDDO |
110 |
|
ENDDO |
111 |
|
cs |
112 |
|
|
113 |
CALL MDSREADFIELD('RA.bin',readBinaryPrec,'RL',1,RA, 1,myThid) |
CALL MDSREADFIELD('RA.bin',readBinaryPrec,'RS',1,RA, 1,myThid) |
114 |
_EXCH_XY_R4(RA,myThid ) |
_EXCH_XY_R4(RA,myThid ) |
115 |
|
|
116 |
C- Corner quantities |
C- Corner quantities |
117 |
C *********** this are not degbugged ************ |
C *********** this are not degbugged ************ |
118 |
CALL MDSREADFIELD('LONG.bin',readBinaryPrec,'RL',1,XG, 1,myThid) |
CALL MDSREADFIELD('LONG.bin',readBinaryPrec,'RS',1,XG, 1,myThid) |
119 |
CALL MDSREADFIELD('LATG.bin',readBinaryPrec,'RL',1,YG, 1,myThid) |
CALL MDSREADFIELD('LATG.bin',readBinaryPrec,'RS',1,YG, 1,myThid) |
120 |
cs- this block needed by cubed sphere until we write more useful I/O routines |
cs- this block needed by cubed sphere until we write more useful I/O routines |
121 |
bi=3 |
bi=3 |
122 |
bj=1 |
bj=1 |
136 |
CALL EXCH_Z_XY_RS(XG,myThid) |
CALL EXCH_Z_XY_RS(XG,myThid) |
137 |
CALL EXCH_Z_XY_RS(YG,myThid) |
CALL EXCH_Z_XY_RS(YG,myThid) |
138 |
|
|
139 |
CALL MDSREADFIELD('DXV.bin',readBinaryPrec,'RL',1,DXV, 1,myThid) |
CALL MDSREADFIELD('DXV.bin',readBinaryPrec,'RS',1,DXV, 1,myThid) |
140 |
CALL MDSREADFIELD('DYU.bin',readBinaryPrec,'RL',1,DYU, 1,myThid) |
CALL MDSREADFIELD('DYU.bin',readBinaryPrec,'RS',1,DYU, 1,myThid) |
141 |
cs- this block needed by cubed sphere until we write more useful I/O routines |
cs- this block needed by cubed sphere until we write more useful I/O routines |
142 |
C !!! _EXCH_ZUV_XY_R4(DXV, DYU, unSigned, myThid) |
C !!! _EXCH_ZUV_XY_R4(DXV, DYU, unSigned, myThid) |
143 |
cs! this is not correct <= need paired exchange for dxv,dyu |
cs! this is not correct <= need paired exchange for dxv,dyu |
149 |
DXV(1,sNy+1,bi,bj)=DXV(1,1,bi,bj) |
DXV(1,sNy+1,bi,bj)=DXV(1,1,bi,bj) |
150 |
DYU(sNx+1,1,bi,bj)=DYU(1,1,bi,bj) |
DYU(sNx+1,1,bi,bj)=DYU(1,1,bi,bj) |
151 |
DYU(1,sNy+1,bi,bj)=DYU(1,1,bi,bj) |
DYU(1,sNy+1,bi,bj)=DYU(1,1,bi,bj) |
152 |
|
cs! fix overlaps: |
153 |
|
DO j=1,sNy |
154 |
|
DO i=1,Olx |
155 |
|
DXV(1-i,j,bi,bj)=DXV(1+i,j,bi,bj) |
156 |
|
DXV(sNx+i,j,bi,bj)=DXV(sNx-i,j,bi,bj) |
157 |
|
DYU(1-i,j,bi,bj)=DYU(1+i,j,bi,bj) |
158 |
|
DYU(sNx+i,j,bi,bj)=DYU(sNx-i,j,bi,bj) |
159 |
|
ENDDO |
160 |
|
ENDDO |
161 |
|
DO j=1,Oly |
162 |
|
DO i=1,sNx |
163 |
|
DXV(i,1-j,bi,bj)=DXV(i,1+j,bi,bj) |
164 |
|
DXV(i,sNy+j,bi,bj)=DXV(i,sNy-j,bi,bj) |
165 |
|
DYU(i,1-j,bi,bj)=DYU(i,1+j,bi,bj) |
166 |
|
DYU(i,sNy+j,bi,bj)=DYU(i,sNy-j,bi,bj) |
167 |
|
ENDDO |
168 |
|
ENDDO |
169 |
ENDDO |
ENDDO |
170 |
ENDDO |
ENDDO |
171 |
cs- end block |
cs- end block |
172 |
C !!! _EXCH_ZUV_XY_R4(DXV, DYU, unSigned, myThid) |
C !!! _EXCH_ZUV_XY_R4(DXV, DYU, unSigned, myThid) |
173 |
cs! this is not correct <= need paired exchange for dxv,dyu |
cs! this is not correct <= need paired exchange for dxv,dyu |
174 |
CALL EXCH_Z_XY_RS(DXV,myThid) |
cs CALL EXCH_Z_XY_RS(DXV,myThid) |
175 |
CALL EXCH_Z_XY_RS(DYU,myThid) |
cs CALL EXCH_Z_XY_RS(DYU,myThid) |
176 |
|
|
177 |
CALL MDSREADFIELD('RAZ.bin',readBinaryPrec,'RL',1,RAZ, 1,myThid) |
CALL MDSREADFIELD('RAZ.bin',readBinaryPrec,'RS',1,RAZ, 1,myThid) |
178 |
cs- this block needed by cubed sphere until we write more useful I/O routines |
cs- this block needed by cubed sphere until we write more useful I/O routines |
179 |
CALL EXCH_Z_XY_RS(RAZ , myThid ) |
CALL EXCH_Z_XY_RS(RAZ , myThid ) |
180 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
187 |
CALL EXCH_Z_XY_RS(RAZ,myThid) |
CALL EXCH_Z_XY_RS(RAZ,myThid) |
188 |
|
|
189 |
C- Staggered (u,v pairs) quantities |
C- Staggered (u,v pairs) quantities |
190 |
CALL MDSREADFIELD('DXC.bin',readBinaryPrec,'RL',1,DXC, 1,myThid) |
CALL MDSREADFIELD('DXC.bin',readBinaryPrec,'RS',1,DXC, 1,myThid) |
191 |
CALL MDSREADFIELD('DYC.bin',readBinaryPrec,'RL',1,DYC, 1,myThid) |
CALL MDSREADFIELD('DYC.bin',readBinaryPrec,'RS',1,DYC, 1,myThid) |
192 |
CALL EXCH_UV_XY_RS(DXC,DYC,.FALSE.,myThid) |
CALL EXCH_UV_XY_RS(DXC,DYC,.FALSE.,myThid) |
193 |
|
|
194 |
CALL MDSREADFIELD('RAW.bin',readBinaryPrec,'RL',1,RAW, 1,myThid) |
CALL MDSREADFIELD('RAW.bin',readBinaryPrec,'RS',1,RAW, 1,myThid) |
195 |
CALL MDSREADFIELD('RAS.bin',readBinaryPrec,'RL',1,RAS, 1,myThid) |
CALL MDSREADFIELD('RAS.bin',readBinaryPrec,'RS',1,RAS, 1,myThid) |
196 |
cs- this block needed by cubed sphere until we write more useful I/O routines |
cs- this block needed by cubed sphere until we write more useful I/O routines |
197 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
198 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
205 |
cs- end block |
cs- end block |
206 |
CALL EXCH_UV_XY_RS(RAW,RAS,.FALSE.,myThid) |
CALL EXCH_UV_XY_RS(RAW,RAS,.FALSE.,myThid) |
207 |
|
|
208 |
CALL MDSREADFIELD('DXG.bin',readBinaryPrec,'RL',1,DXG, 1,myThid) |
CALL MDSREADFIELD('DXG.bin',readBinaryPrec,'RS',1,DXG, 1,myThid) |
209 |
CALL MDSREADFIELD('DYG.bin',readBinaryPrec,'RL',1,DYG, 1,myThid) |
CALL MDSREADFIELD('DYG.bin',readBinaryPrec,'RS',1,DYG, 1,myThid) |
210 |
cs- this block needed by cubed sphere until we write more useful I/O routines |
cs- this block needed by cubed sphere until we write more useful I/O routines |
211 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
212 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |