source: LMDZ.3.3/tags/IPSL-CM4_CMIP/libf/phylmd/histo_o500_pctau.F @ 575

Last change on this file since 575 was 575, checked in by (none), 19 years ago

This commit was manufactured by cvs2svn to create tag
'IPSL-CM4_CMIP'.

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