source: LMDZ4/trunk/libf/phylmd/histo_o500_pctau.F @ 648

Last change on this file since 648 was 524, checked in by lmdzadmin, 21 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.9 KB
Line 
1!
2! $Header$
3!
4      SUBROUTINE histo_o500_pctau(nbreg,pct_ocean,w,histo,histoW,nhisto)
5      IMPLICIT none
6
7      INTEGER :: ij, k, l, nw
8      INTEGER :: nreg, nbreg
9#include "dimensions.h"
10#include "dimphy.h"
11      INTEGER, PARAMETER :: kmax=8, lmax=8
12      INTEGER, PARAMETER :: kmaxm1=kmax-1, lmaxm1=lmax-1
13      INTEGER, PARAMETER :: iwmax=40
14
15      INTEGER, dimension(klon) :: iw
16      REAL, dimension(klon) :: w
17      REAL, PARAMETER :: wmin=-200., pas_w=10.
18      REAL, dimension(kmaxm1,lmaxm1,iwmax,nbreg) :: histoW, nhisto
19      REAL, dimension(klon,kmaxm1,lmaxm1) :: histo
20
21!     LOGICAL, dimension(klon,nbreg) :: pct_ocean
22      INTEGER, dimension(klon,nbreg) :: pct_ocean
23
24! initialisation
25      histoW(:,:,:,:)=0.     
26      nhisto(:,:,:,:)=0.   
27!   
28!calcul de l'histogramme de chaque regime dynamique
29      DO nreg=1, nbreg
30       DO ij=1, klon
31        iw(ij) = int((w(ij)-wmin)/pas_w) +1
32c       IF(pct_ocean(ij,nreg)) THEN
33c       IF(pct_ocean(ij,nreg).EQ.1) THEN
34         IF(iw(ij).GE.1.AND.iw(ij).LE.iwmax) THEN
35          DO l=1, lmaxm1
36           DO k=1, kmaxm1
37            IF(histo(ij,k,l).GT.0.) THEN
38             histoW(k,l,iw(ij),nreg) = histoW(k,l,iw(ij),nreg)
39     &       + histo(ij,k,l)*pct_ocean(ij,nreg)
40             nhisto(k,l,iw(ij),nreg)= nhisto(k,l,iw(ij),nreg) +
41     &       pct_ocean(ij,nreg)
42            ENDIF
43           ENDDO !k
44          ENDDO !l
45c        ELSE IF (iw(ij).LE.0.OR.iw(ij).GT.iwmax) THEN !iw
46c         PRINT*,'ij,iw=',ij,iw(ij)
47         ENDIF !iw
48c       ENDIF !pct_ocean
49       ENDDO !ij
50!normalisation
51       DO nw=1, iwmax
52        DO l=1, lmaxm1
53         DO k=1, kmaxm1
54          IF(nhisto(k,l,nw,nreg).NE.0.) THEN
55           histoW(k,l,nw,nreg) = 100.*histoW(k,l,nw,nreg)
56     &     /nhisto(k,l,nw,nreg)
57c          PRINT*,'k,l,nw,nreg,histoW',k,l,nw,nreg,
58c    &     histoW(k,l,nw,nreg)
59          ENDIF
60         ENDDO !k
61        ENDDO !l
62       ENDDO !nw
63      ENDDO !nreg
64
65      RETURN
66      END
Note: See TracBrowser for help on using the repository browser.