GCC Code Coverage Report


Directory: ./
File: dyn3d_common/principal_cshift_m.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 5 13 38.5%
Branches: 3 22 13.6%

Line Branch Exec Source
1 module principal_cshift_m
2
3 implicit none
4
5 contains
6
7
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4 times.
4 subroutine principal_cshift(is2, xlon, xprimm)
8
9 ! Add or subtract 2 pi so that xlon is near [-pi, pi], then cshift
10 ! so that xlon is in ascending order. Make the same cshift on
11 ! xprimm.
12
13 use nrtype, only: twopi
14 use serre_mod, only: clon
15
16 include "dimensions.h"
17 ! for iim
18
19 integer, intent(in):: is2
20 real, intent(inout):: xlon(:), xprimm(:) ! (iim + 1)
21
22 !-----------------------------------------------------
23
24
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
4 if (is2 /= 0) then
25 IF (clon <= 0.) THEN
26 IF (is2 /= 1) THEN
27 xlon(:is2 - 1) = xlon(:is2 - 1) + twopi
28 xlon(:iim) = cshift(xlon(:iim), shift = is2 - 1)
29 xprimm(:iim) = cshift(xprimm(:iim), shift = is2 - 1)
30 END IF
31 else
32 xlon(is2 + 1:iim) = xlon(is2 + 1:iim) - twopi
33 xlon(:iim) = cshift(xlon(:iim), shift = is2)
34 xprimm(:iim) = cshift(xprimm(:iim), shift = is2)
35 end IF
36 end if
37
38 4 xlon(iim + 1) = xlon(1) + twopi
39 4 xprimm(iim + 1) = xprimm(1)
40
41 4 end subroutine principal_cshift
42
43 end module principal_cshift_m
44