Changeset 5119 for LMDZ6/branches/Amaury_dev/libf/dyn3d_common/nxgrarot.f90
- Timestamp:
- Jul 24, 2024, 6:46:45 PM (2 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/nxgrarot.f90
r5106 r5119 1 2 1 ! $Header$ 3 2 4 SUBROUTINE nxgrarot(klevel, xcov, ycov, lr, grx, gry)3 SUBROUTINE nxgrarot(klevel, xcov, ycov, lr, grx, gry) 5 4 ! *********************************************************** 6 5 ! … … 17 16 ! 18 17 USE lmdz_filtreg, ONLY: filtreg 18 USE lmdz_ssum_scopy, ONLY: scopy 19 19 20 IMPLICIT NONE 20 21 ! … … 25 26 ! 26 27 INTEGER :: klevel 27 REAL :: xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel)28 REAL :: grx( ip1jmp1,klevel ), gry( ip1jm,klevel)28 REAL :: xcov(ip1jmp1, klevel), ycov(ip1jm, klevel) 29 REAL :: grx(ip1jmp1, klevel), gry(ip1jm, klevel) 29 30 ! 30 REAL :: rot(ip1jm, llm)31 REAL :: rot(ip1jm, llm) 31 32 32 INTEGER :: l, ij,iter,lr33 INTEGER :: l, ij, iter, lr 33 34 ! 34 35 ! 35 36 ! 36 CALL SCOPY ( ip1jmp1*klevel, xcov, 1, grx, 1)37 CALL SCOPY ( ip1jm*klevel, ycov, 1, gry, 1)37 CALL SCOPY (ip1jmp1 * klevel, xcov, 1, grx, 1) 38 CALL SCOPY (ip1jm * klevel, ycov, 1, gry, 1) 38 39 ! 39 DO iter = 1, lr40 CALL rotat (klevel,grx, gry, rot)41 CALL filtreg( rot, jjm, klevel, 2,1, .FALSE.,2)42 CALL nxgrad (klevel,rot, grx, gry)43 !44 DO l = 1, klevel45 DO ij = 1, ip1jm46 gry( ij,l ) = - gry( ij,l) * crot47 END DO48 DO ij = 1, ip1jmp149 grx( ij,l ) = - grx( ij,l) * crot50 END DO51 END DO52 !40 DO iter = 1, lr 41 CALL rotat (klevel, grx, gry, rot) 42 CALL filtreg(rot, jjm, klevel, 2, 1, .FALSE., 2) 43 CALL nxgrad (klevel, rot, grx, gry) 44 ! 45 DO l = 1, klevel 46 DO ij = 1, ip1jm 47 gry(ij, l) = - gry(ij, l) * crot 48 END DO 49 DO ij = 1, ip1jmp1 50 grx(ij, l) = - grx(ij, l) * crot 51 END DO 52 END DO 53 ! 53 54 END DO 54 55 RETURN
Note: See TracChangeset
for help on using the changeset viewer.