Changeset 5246 for LMDZ6/trunk/libf/dyn3dmem/gr_u_scal_loc.f90
- Timestamp:
- Oct 21, 2024, 2:58:45 PM (23 hours ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3dmem/gr_u_scal_loc.f90
r5245 r5246 2 2 ! $Header$ 3 3 ! 4 5 c%W% %G%6 c=======================================================================7 c 8 cAuthor: Frederic Hourdin original: 11/11/929 c-------10 c 11 cSubject:12 c------13 c 14 cMethod:15 c--------16 c 17 cInterface:18 c----------19 c 20 cInput:21 c------22 c 23 cOutput:24 c-------25 c 26 c=======================================================================27 28 29 c-----------------------------------------------------------------------30 cDeclararations:31 c---------------4 SUBROUTINE gr_u_scal_loc(nx,x_u,x_scal) 5 !%W% %G% 6 !======================================================================= 7 ! 8 ! Author: Frederic Hourdin original: 11/11/92 9 ! ------- 10 ! 11 ! Subject: 12 ! ------ 13 ! 14 ! Method: 15 ! -------- 16 ! 17 ! Interface: 18 ! ---------- 19 ! 20 ! Input: 21 ! ------ 22 ! 23 ! Output: 24 ! ------- 25 ! 26 !======================================================================= 27 USE parallel_lmdz 28 IMPLICIT NONE 29 !----------------------------------------------------------------------- 30 ! Declararations: 31 ! --------------- 32 32 33 34 35 33 INCLUDE "dimensions.h" 34 INCLUDE "paramet.h" 35 INCLUDE "comgeom.h" 36 36 37 cArguments:38 c----------37 ! Arguments: 38 ! ---------- 39 39 40 INTEGERnx41 REALx_u(ijb_u:ije_u,nx),x_scal(ijb_u:ije_u,nx)40 INTEGER :: nx 41 REAL :: x_u(ijb_u:ije_u,nx),x_scal(ijb_u:ije_u,nx) 42 42 43 cLocal:44 c------43 ! Local: 44 ! ------ 45 45 46 INTEGERl,ij47 46 INTEGER :: l,ij 47 INTEGER :: ijb,ije 48 48 49 c-----------------------------------------------------------------------50 51 49 !----------------------------------------------------------------------- 50 ijb=ij_begin 51 ije=ij_end 52 52 53 !$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 54 55 56 x_scal(ij,l)=57 s (aireu(ij)*x_u(ij,l)+aireu(ij-1)*x_u(ij-1,l))58 s/(aireu(ij)+aireu(ij-1))59 60 53 !$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 54 DO l=1,nx 55 DO ij=ijb+1,ije 56 x_scal(ij,l)= & 57 (aireu(ij)*x_u(ij,l)+aireu(ij-1)*x_u(ij-1,l)) & 58 /(aireu(ij)+aireu(ij-1)) 59 ENDDO 60 ENDDO 61 61 !$OMP ENDDO NOWAIT 62 62 63 64 63 ijb=ij_begin 64 ije=ij_end 65 65 66 !$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 67 68 69 70 71 66 !$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 67 DO l=1,nx 68 DO ij=ijb,ije-iip1+1,iip1 69 x_scal(ij,l)=x_scal(ij+iip1-1,l) 70 ENDDO 71 ENDDO 72 72 !$OMP ENDDO NOWAIT 73 74 75 END 73 RETURN 74 75 END SUBROUTINE gr_u_scal_loc
Note: See TracChangeset
for help on using the changeset viewer.