/[lmdze]/trunk/dyn3d/Dissipation/nxgraro2.f
ViewVC logotype

Diff of /trunk/dyn3d/Dissipation/nxgraro2.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 265 by guez, Tue Mar 20 09:35:59 2018 UTC revision 266 by guez, Thu Apr 19 17:54:55 2018 UTC
# Line 6  contains Line 6  contains
6    
7    SUBROUTINE nxgraro2(xcov, ycov, lr, grx, gry, crot)    SUBROUTINE nxgraro2(xcov, ycov, lr, grx, gry, crot)
8    
9      ! From LMDZ4/libf/dyn3d/nxgraro2.F, version 1.1.1.1 2004/05/19 12:53:06      ! From LMDZ4/libf/dyn3d/nxgraro2.F, version 1.1.1.1, 2004/05/19 12:53:06
10    
11      ! P. Le Van      ! P. Le Van
12      ! Calcul de nxgrad(rot) du vecteur v      ! Calcul de nxgrad(rot) du vecteur (xcov, ycov).
13    
     USE dimensions, ONLY: iim, jjm  
14      USE filtreg_v_m, ONLY: filtreg_v      USE filtreg_v_m, ONLY: filtreg_v
15      use nr_util, only: assert, assert_eq      use nr_util, only: assert, assert_eq
16        use nxgrad_m, only: nxgrad
17      use rotatf_m, only: rotatf      use rotatf_m, only: rotatf
18    
19      ! Composantes covariantes de v :      ! Composantes covariantes :
20      REAL, intent(in):: xcov(:, :, :) ! (iim + 1, jjm + 1, :)      REAL, intent(in):: xcov(:, :, :) ! (iim + 1, jjm + 1, klevel)
21      REAL, intent(in):: ycov(:, :, :) ! (iim + 1, jjm, :)      REAL, intent(in):: ycov(:, :, :) ! (iim + 1, jjm, klevel)
22    
23      integer, intent(in):: lr      integer, intent(in):: lr
24      REAL, intent(out):: grx(:, :, :) ! (iim + 1, jjm + 1, :)      REAL, intent(out):: grx(:, :, :) ! (iim + 1, jjm + 1, klevel)
25      REAL, intent(out):: gry(:, :, :) ! (iim + 1, jjm, :)      REAL, intent(out):: gry(:, :, :) ! (iim + 1, jjm, klevel)
26      real, intent(in):: crot      real, intent(in):: crot
27    
28      ! Variables locales      ! Local:
   
29      INTEGER klevel, iter      INTEGER klevel, iter
30      REAL rot(iim + 1, jjm, size(xcov, 3)) , nugradrs      REAL rot(size(ycov, 1), size(ycov, 2), size(ycov, 3)) , nugradrs
31    
32      !----------------------------------------------------------      !----------------------------------------------------------
33    
34      call assert((/size(xcov, 1), size(ycov, 1), size(grx, 1), size(gry, 1)/) &      call assert(size(xcov, 1) == [size(ycov, 1), size(grx, 1), size(gry, 1)], &
35           == iim + 1, "nxgraro2 iim")           "nxgraro2 iim")
36      call assert((/size(xcov, 2) - 1, size(ycov, 2), size(grx, 2) - 1, &      call assert(size(xcov, 2) - 1 == [size(ycov, 2), size(grx, 2) - 1, &
37           size(gry, 2)/) == jjm, "nxgraro2 jjm")           size(gry, 2)], "nxgraro2 jjm")
38      klevel = assert_eq(size(xcov, 3), size(ycov, 3), size(grx, 3), &      klevel = assert_eq(size(xcov, 3), size(ycov, 3), size(grx, 3), &
39           size(gry, 3), "nxgraro2 klevel")           size(gry, 3), "nxgraro2 klevel")
40    

Legend:
Removed from v.265  
changed lines
  Added in v.266

  ViewVC Help
Powered by ViewVC 1.1.21