42 |
|
|
43 |
use dimens_m, only: iim, jjm |
use dimens_m, only: iim, jjm |
44 |
use comconst, only: pi |
use comconst, only: pi |
45 |
use nrutil, only: assert |
use numer_rec, only: assert |
46 |
|
|
47 |
REAL, intent(in):: xdata(:), ydata(:) ! coordinates of input field |
REAL, intent(in):: xdata(:), ydata(:) ! coordinates of input field |
48 |
REAL, intent(in):: zdata(:, :) ! input field |
REAL, intent(in):: zdata(:, :) ! input field |
59 |
REAL, intent(out):: zpic(:, :) ! Maximum altitude |
REAL, intent(out):: zpic(:, :) ! Maximum altitude |
60 |
real, intent(out):: zval(:, :) ! Minimum altitude |
real, intent(out):: zval(:, :) ! Minimum altitude |
61 |
|
|
62 |
real, intent(out):: mask(:, :) |
real, intent(out):: mask(:, :) ! fraction of land |
63 |
|
|
64 |
! Variables local to the procedure: |
! Variables local to the procedure: |
65 |
|
|
141 |
zusn(i, jusn+2)=zusn(i+iusn/2, jusn+1) |
zusn(i, jusn+2)=zusn(i+iusn/2, jusn+1) |
142 |
zusn(i+iusn/2+iext, jusn+2)=zusn(i, jusn+1) |
zusn(i+iusn/2+iext, jusn+2)=zusn(i, jusn+1) |
143 |
ENDDO |
ENDDO |
144 |
! |
|
145 |
! COMPUTE LIMITS OF MODEL GRIDPOINT AREA |
! COMPUTE LIMITS OF MODEL GRIDPOINT AREA |
146 |
! ( REGULAR GRID) |
! ( REGULAR GRID) |
147 |
|
|
190 |
ENDDO |
ENDDO |
191 |
|
|
192 |
! SUMMATION OVER GRIDPOINT AREA |
! SUMMATION OVER GRIDPOINT AREA |
193 |
! |
|
194 |
zleny=pi/real(jusn)*rad |
zleny=pi/real(jusn)*rad |
195 |
xincr=pi/2./real(jusn) |
xincr=pi/2./real(jusn) |
196 |
DO ii = 1, iim+1 |
DO ii = 1, iim+1 |
324 |
zllmval=AMAX1(zval(ii, jj), zllmval) |
zllmval=AMAX1(zval(ii, jj), zllmval) |
325 |
ENDDO |
ENDDO |
326 |
ENDDO |
ENDDO |
327 |
print *, ' MEAN ORO:', zllmmea |
print *, 'MEAN ORO: ', zllmmea |
328 |
print *, ' ST. DEV.:', zllmstd |
print *, 'ST. DEV.: ', zllmstd |
329 |
print *, ' PENTE:', zllmsig |
print *, 'PENTE: ', zllmsig |
330 |
print *, ' ANISOTROP:', zllmgam |
print *, 'ANISOTROP: ', zllmgam |
331 |
print *, ' ANGLE:', zminthe, zllmthe |
print *, 'ANGLE: ', zminthe, zllmthe |
332 |
print *, ' pic:', zllmpic |
print *, 'pic: ', zllmpic |
333 |
print *, ' val:', zllmval |
print *, 'val: ', zllmval |
334 |
|
|
335 |
! gamma and theta a 1. and 0. at poles |
! gamma and theta a 1. and 0. at poles |
336 |
zmea(iim+1, :)=zmea(1, :) |
zmea(iim+1, :)=zmea(1, :) |
410 |
integer, PARAMETER:: ISMo=300, JSMo=200 |
integer, PARAMETER:: ISMo=300, JSMo=200 |
411 |
real XF(ISMo, JSMo) |
real XF(ISMo, JSMo) |
412 |
real WEIGHTpb(-1:1, -1:1) |
real WEIGHTpb(-1:1, -1:1) |
413 |
real sum |
real my_sum |
414 |
integer i, is, js, j |
integer i, is, js, j |
415 |
|
|
416 |
if(imar>ismo) stop 'surdimensionner ismo dans mva9 (grid_noro)' |
if(imar>ismo) stop 'surdimensionner ismo dans mva9 (grid_noro)' |
417 |
if(jmar>jsmo) stop 'surdimensionner jsmo dans mva9 (grid_noro)' |
if(jmar>jsmo) stop 'surdimensionner jsmo dans mva9 (grid_noro)' |
418 |
|
|
419 |
SUM=0. |
MY_SUM=0. |
420 |
DO IS=-1, 1 |
DO IS=-1, 1 |
421 |
DO JS=-1, 1 |
DO JS=-1, 1 |
422 |
WEIGHTpb(IS, JS)=1./FLOAT((1+IS**2)*(1+JS**2)) |
WEIGHTpb(IS, JS)=1./FLOAT((1+IS**2)*(1+JS**2)) |
423 |
SUM=SUM+WEIGHTpb(IS, JS) |
MY_SUM=MY_SUM+WEIGHTpb(IS, JS) |
424 |
ENDDO |
ENDDO |
425 |
ENDDO |
ENDDO |
426 |
|
|
427 |
DO IS=-1, 1 |
DO IS=-1, 1 |
428 |
DO JS=-1, 1 |
DO JS=-1, 1 |
429 |
WEIGHTpb(IS, JS)=WEIGHTpb(IS, JS)/SUM |
WEIGHTpb(IS, JS)=WEIGHTpb(IS, JS)/MY_SUM |
430 |
ENDDO |
ENDDO |
431 |
ENDDO |
ENDDO |
432 |
|
|