GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: phylmd/histo_o500_pctau.F90 Lines: 0 19 0.0 %
Date: 2023-06-30 12:51:15 Branches: 0 36 0.0 %

Line Branch Exec Source
1
2
! $Header$
3
4
SUBROUTINE histo_o500_pctau(nbreg, pct_ocean, w, histo, histow, nhisto)
5
  USE dimphy
6
  IMPLICIT NONE
7
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
13
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
19
20
  ! LOGICAL, dimension(klon,nbreg) :: pct_ocean
21
  INTEGER, DIMENSION (klon, nbreg) :: pct_ocean
22
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