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 |