/[lmdze]/trunk/dyn3d/principal_cshift.f
ViewVC logotype

Annotation of /trunk/dyn3d/principal_cshift.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 265 - (hide annotations)
Tue Mar 20 09:35:59 2018 UTC (6 years, 2 months ago) by guez
File size: 1115 byte(s)
Rename module dimens_m to dimensions.
1 guez 124 module principal_cshift_m
2    
3     implicit none
4    
5     contains
6    
7     subroutine principal_cshift(is2, xlon, xprimm)
8    
9 guez 125 ! 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 guez 265 USE dimensions, ONLY: iim
14 guez 139 use dynetat0_m, only: clon
15 guez 124 use nr_util, only: twopi
16    
17     integer, intent(in):: is2
18     real, intent(inout):: xlon(:), xprimm(:) ! (iim + 1)
19    
20     !-----------------------------------------------------
21    
22     if (is2 /= 0) then
23     IF (clon <= 0.) THEN
24     IF (is2 /= 1) THEN
25     xlon(:is2 - 1) = xlon(:is2 - 1) + twopi
26     xlon(:iim) = cshift(xlon(:iim), shift = is2 - 1)
27     xprimm(:iim) = cshift(xprimm(:iim), shift = is2 - 1)
28     END IF
29     else
30     xlon(is2 + 1:iim) = xlon(is2 + 1:iim) - twopi
31     xlon(:iim) = cshift(xlon(:iim), shift = is2)
32     xprimm(:iim) = cshift(xprimm(:iim), shift = is2)
33     end IF
34     end if
35    
36     xlon(iim + 1) = xlon(1) + twopi
37     xprimm(iim + 1) = xprimm(1)
38    
39     end subroutine principal_cshift
40    
41     end module principal_cshift_m

  ViewVC Help
Powered by ViewVC 1.1.21