GCC Code Coverage Report


Directory: ./
File: phys/albsno.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 15 17 88.2%
Branches: 15 18 83.3%

Line Branch Exec Source
1 !
2 ! $Header$
3 !
4 1440 SUBROUTINE albsno(klon, knon, dtime, agesno, alb_neig_grid, precip_snow)
5
6 IMPLICIT NONE
7
8 INCLUDE "clesphys.h"
9
10 ! Input arguments
11 !****************************************************************************************
12 INTEGER, INTENT(IN) :: klon, knon
13 REAL, INTENT(IN) :: dtime
14 REAL, DIMENSION(klon), INTENT(IN) :: precip_snow
15
16 ! In/Output arguments
17 !****************************************************************************************
18 REAL, DIMENSION(klon), INTENT(INOUT) :: agesno
19
20 ! Output arguments
21 !****************************************************************************************
22 REAL, DIMENSION(klon), INTENT(OUT) :: alb_neig_grid
23
24 ! Local variables
25 !****************************************************************************************
26 INTEGER :: i, nv
27 INTEGER, PARAMETER :: nvm = 8
28 REAL :: as
29 2880 REAL, DIMENSION(klon,nvm) :: veget
30 REAL, DIMENSION(nvm),SAVE :: init, decay
31 !$OMP THREADPRIVATE(init, decay)
32
33 DATA init /0.55, 0.14, 0.18, 0.29, 0.15, 0.15, 0.14, 0./
34 DATA decay/0.30, 0.67, 0.63, 0.45, 0.40, 0.14, 0.06, 1./
35 !****************************************************************************************
36
37
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1440 times.
1440 if (albsno0>=0.) then
38 init(:)=albsno0
39 decay(:)=0.
40 endif
41
42
4/4
✓ Branch 0 taken 11520 times.
✓ Branch 1 taken 1440 times.
✓ Branch 2 taken 11450880 times.
✓ Branch 3 taken 11520 times.
11463840 veget = 0.
43
2/2
✓ Branch 0 taken 1431360 times.
✓ Branch 1 taken 1440 times.
1432800 veget(:,1) = 1. ! desert partout
44
2/2
✓ Branch 0 taken 425475 times.
✓ Branch 1 taken 1440 times.
426915 DO i = 1, knon
45 426915 alb_neig_grid(i) = 0.0
46 ENDDO
47
2/2
✓ Branch 0 taken 11520 times.
✓ Branch 1 taken 1440 times.
12960 DO nv = 1, nvm
48
2/2
✓ Branch 0 taken 3403800 times.
✓ Branch 1 taken 11520 times.
3416760 DO i = 1, knon
49 3403800 as = init(nv)+decay(nv)*EXP(-agesno(i)/5.)
50 3415320 alb_neig_grid(i) = alb_neig_grid(i) + veget(i,nv)*as
51 ENDDO
52 ENDDO
53
54
55 ! modilation en fonction de l'age de la neige
56
2/2
✓ Branch 0 taken 425475 times.
✓ Branch 1 taken 1440 times.
426915 DO i = 1, knon
57 agesno(i) = (agesno(i) + (1.-agesno(i)/50.)*dtime/86400.)&
58 425475 & * EXP(-1.*MAX(0.0,precip_snow(i))*dtime/0.3)
59 426915 agesno(i) = MAX(agesno(i),0.0)
60 ENDDO
61
62 1440 END SUBROUTINE albsno
63