127 |
|
|
128 |
|
|
129 |
length_for_tile=0 |
length_for_tile=0 |
130 |
profno_div1000=max(1,int(profno(num_file)/1000)) |
profno_div1000=max(0,int(profno(num_file)/1000)) |
131 |
|
|
132 |
do kk=1,profno_div1000 |
do kk=1,profno_div1000+1 |
133 |
|
|
134 |
if (min(ProfNo(num_file), 1000*kk).GE. |
if (min(ProfNo(num_file), 1000*kk).GE. |
135 |
& 1+1000*(kk-1)) then |
& 1+1000*(kk-1)) then |
170 |
call cal_ToSeconds (tmpdiff,diffsecs,mythid) |
call cal_ToSeconds (tmpdiff,diffsecs,mythid) |
171 |
diffsecs=diffsecs+nIter0*deltaTclock |
diffsecs=diffsecs+nIter0*deltaTclock |
172 |
|
|
173 |
if (xC(sNx+1,1,bi,bj).LT.xC(sNx+1,1,bi,bj)) then |
if (xC(sNx+1,1,bi,bj).LT.xC(1,1,bi,bj)) then |
174 |
tmp_lon=2*xC(sNx,1,bi,bj)-xC(sNx-1,1,bi,bj) |
tmp_lon=xC(sNx+1,1,bi,bj)+360 |
175 |
else |
else |
176 |
tmp_lon=xC(sNx+1,1,bi,bj) |
tmp_lon=xC(sNx+1,1,bi,bj) |
177 |
endif |
endif |
178 |
if ((xC(1,1,bi,bj).LE.tmp_lon2(k)).AND. |
if ((xC(1,1,bi,bj).LE.tmp_lon2(k)).AND. |
179 |
& (tmp_lon.GT.tmp_lon2(k)).AND. |
& (tmp_lon.GT.tmp_lon2(k)).AND. |
180 |
|
& (yC(1,1,bi,bj).LE.tmp_lat2(k)).AND. |
181 |
|
& (yC(1,sNy+1,bi,bj).GT.tmp_lat2(k)) |
182 |
|
& ) then |
183 |
|
length_for_tile=length_for_tile+1 |
184 |
|
prof_time(num_file,length_for_tile)=diffsecs |
185 |
|
prof_lon(num_file,length_for_tile)=tmp_lon2(k) |
186 |
|
prof_lat(num_file,length_for_tile)=tmp_lat2(k) |
187 |
|
prof_ind_glob(num_file,length_for_tile)=k+1000*(kk-1) |
188 |
|
if (length_for_tile.GT.NOBSGLOB) then |
189 |
|
print*,"too much profiles: need to increase NOBSGLOB," |
190 |
|
print*," or split the data file (less memory cost)" |
191 |
|
stop |
192 |
|
endif |
193 |
|
elseif (xC(sNx+1,1,bi,bj).LT.xC(1,1,bi,bj)) then |
194 |
|
if ((xC(1,1,bi,bj).LE.tmp_lon2(k)+360).AND. |
195 |
|
& (tmp_lon.GT.tmp_lon2(k)+360).AND. |
196 |
& (yC(1,1,bi,bj).LE.tmp_lat2(k)).AND. |
& (yC(1,1,bi,bj).LE.tmp_lat2(k)).AND. |
197 |
& (yC(1,sNy+1,bi,bj).GT.tmp_lat2(k)) |
& (yC(1,sNy+1,bi,bj).GT.tmp_lat2(k)) |
198 |
& ) then |
& ) then |
199 |
length_for_tile=length_for_tile+1 |
length_for_tile=length_for_tile+1 |
200 |
prof_time(num_file,length_for_tile)=diffsecs |
prof_time(num_file,length_for_tile)=diffsecs |
201 |
prof_lon(num_file,length_for_tile)=tmp_lon2(k) |
prof_lon(num_file,length_for_tile)=tmp_lon2(k)+360 |
202 |
prof_lat(num_file,length_for_tile)=tmp_lat2(k) |
prof_lat(num_file,length_for_tile)=tmp_lat2(k) |
203 |
prof_ind_glob(num_file,length_for_tile)=k+1000*(kk-1) |
prof_ind_glob(num_file,length_for_tile)=k+1000*(kk-1) |
204 |
if (length_for_tile.GT.NOBSGLOB) then |
if (length_for_tile.GT.NOBSGLOB) then |
205 |
print*,"too much profiles: need to increase NOBSGLOB," |
print*,"too much profiles: need to increase NOBSGLOB," |
206 |
print*," or split the data file (less memory cost)" |
print*," or split the data file (less memory cost)" |
207 |
stop |
stop |
208 |
endif |
endif |
209 |
|
endif |
210 |
endif |
endif |
211 |
enddo |
enddo |
212 |
endif |
endif |