[1992] | 1 | |
---|
[524] | 2 | ! $Header$ |
---|
| 3 | |
---|
[1992] | 4 | SUBROUTINE histo_o500_pctau(nbreg, pct_ocean, w, histo, histow, nhisto) |
---|
| 5 | USE dimphy |
---|
| 6 | IMPLICIT NONE |
---|
[524] | 7 | |
---|
[1992] | 8 | INTEGER :: ij, k, l, nw |
---|
| 9 | INTEGER :: nreg, nbreg |
---|
| 10 | INTEGER, PARAMETER :: kmax = 8, lmax = 8 |
---|
| 11 | INTEGER, PARAMETER :: kmaxm1 = kmax - 1, lmaxm1 = lmax - 1 |
---|
| 12 | INTEGER, PARAMETER :: iwmax = 40 |
---|
[524] | 13 | |
---|
[1992] | 14 | INTEGER, DIMENSION (klon) :: iw |
---|
| 15 | REAL, DIMENSION (klon) :: w |
---|
| 16 | REAL, PARAMETER :: wmin = -200., pas_w = 10. |
---|
| 17 | REAL, DIMENSION (kmaxm1, lmaxm1, iwmax, nbreg) :: histow, nhisto |
---|
| 18 | REAL, DIMENSION (klon, kmaxm1, lmaxm1) :: histo |
---|
[524] | 19 | |
---|
[1992] | 20 | ! LOGICAL, dimension(klon,nbreg) :: pct_ocean |
---|
| 21 | INTEGER, DIMENSION (klon, nbreg) :: pct_ocean |
---|
[524] | 22 | |
---|
[1992] | 23 | ! initialisation |
---|
| 24 | histow(:, :, :, :) = 0. |
---|
| 25 | nhisto(:, :, :, :) = 0. |
---|
| 26 | |
---|
| 27 | ! calcul de l'histogramme de chaque regime dynamique |
---|
| 28 | DO nreg = 1, nbreg |
---|
| 29 | DO ij = 1, klon |
---|
| 30 | iw(ij) = int((w(ij)-wmin)/pas_w) + 1 |
---|
| 31 | ! IF(pct_ocean(ij,nreg)) THEN |
---|
| 32 | ! IF(pct_ocean(ij,nreg).EQ.1) THEN |
---|
| 33 | IF (iw(ij)>=1 .AND. iw(ij)<=iwmax) THEN |
---|
| 34 | DO l = 1, lmaxm1 |
---|
| 35 | DO k = 1, kmaxm1 |
---|
| 36 | IF (histo(ij,k,l)>0.) THEN |
---|
| 37 | histow(k, l, iw(ij), nreg) = histow(k, l, iw(ij), nreg) + & |
---|
| 38 | histo(ij, k, l)*pct_ocean(ij, nreg) |
---|
| 39 | nhisto(k, l, iw(ij), nreg) = nhisto(k, l, iw(ij), nreg) + & |
---|
| 40 | pct_ocean(ij, nreg) |
---|
| 41 | END IF |
---|
| 42 | END DO !k |
---|
| 43 | END DO !l |
---|
| 44 | ! ELSE IF (iw(ij).LE.0.OR.iw(ij).GT.iwmax) THEN !iw |
---|
| 45 | ! PRINT*,'ij,iw=',ij,iw(ij) |
---|
| 46 | END IF !iw |
---|
| 47 | ! ENDIF !pct_ocean |
---|
| 48 | END DO !ij |
---|
| 49 | ! normalisation |
---|
| 50 | DO nw = 1, iwmax |
---|
| 51 | DO l = 1, lmaxm1 |
---|
| 52 | DO k = 1, kmaxm1 |
---|
| 53 | IF (nhisto(k,l,nw,nreg)/=0.) THEN |
---|
| 54 | histow(k, l, nw, nreg) = 100.*histow(k, l, nw, nreg)/ & |
---|
| 55 | nhisto(k, l, nw, nreg) |
---|
| 56 | ! PRINT*,'k,l,nw,nreg,histoW',k,l,nw,nreg, |
---|
| 57 | ! & histoW(k,l,nw,nreg) |
---|
| 58 | END IF |
---|
| 59 | END DO !k |
---|
| 60 | END DO !l |
---|
| 61 | END DO !nw |
---|
| 62 | END DO !nreg |
---|
| 63 | |
---|
| 64 | RETURN |
---|
| 65 | END SUBROUTINE histo_o500_pctau |
---|