Changeset 2667 in lmdz_wrf
- Timestamp:
- Jul 12, 2019, 5:40:33 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/module_scientific.f90
r2664 r2667 106 106 ! curl2D_1o: Subroutine to compute the first order curl of a 2D vectorial field 107 107 ! curl2D_c1o: Subroutine to compute the first order centered curl of a 2D vectorial field 108 ! deformation3D _1o: Subroutine to compute the first orderdeformation of a 3D field108 ! deformation3D: Subroutine to compute the deformation of a 3D field 109 109 ! divergence2D_1o: Subroutine to compute the first order divergence of a 2D vectorial field 110 110 ! divergence2D_c1o: Subroutine to compute the first order centered divergence of a 2D vectorial field … … 115 115 ! lap2D_c1o: Subroutine to compute the first order centered laplacian of a 2D vectorial field 116 116 ! matmodule3D: Subroutine to compute the module of a 3D matrix with 3 components 117 ! tilting3D _1o: Subroutine to compute the first ordertilting of a 3D field117 ! tilting3D: Subroutine to compute the tilting of a 3D field 118 118 ! vecmodule3D: Function to compute the module of a 3D vector 119 119 … … 7655 7655 7656 7656 INTEGER, INTENT(in) :: dx, dy, dz 7657 REAL(r_k), DIMENSION(dx,dy,dz), INTENT(in) :: var , dsz7657 REAL(r_k), DIMENSION(dx,dy,dz), INTENT(in) :: var 7658 7658 REAL(r_k), DIMENSION(dx,dy), INTENT(in) :: dsx, dsy 7659 REAL(r_k), DIMENSION(dz), INTENT(in) :: dsz 7659 7660 REAL(r_k), DIMENSION(dx,dy,dz,3), INTENT(out) :: grad 7660 7661 … … 7676 7677 DO k=1, dz-1 7677 7678 grad(i,j,k,:) = (/ (var(i+1,j,k)-var(i,j,k))/dsx(i,j), (var(i,j+1,k)-var(i,j,k))/dsy(i,j), & 7678 (var(i,j,k+1)-var(i,j,k))/dsz( i,j,k) /)7679 (var(i,j,k+1)-var(i,j,k))/dsz(k) /) 7679 7680 END DO 7680 7681 END DO … … 7936 7937 END SUBROUTINE matmodule3D 7937 7938 7938 SUBROUTINE deformation3D_1o(dx, dy, dz, vargrad, uagrad, vagrad, def) 7939 ! Subroutine to compute the first order deformation of a 3D field 7940 ! FROM: From: https://en.wikipedia.org/wiki/Finite_difference_coefficient 7939 SUBROUTINE deformation3D(dx, dy, dz, vargrad, uagrad, vagrad, def) 7940 ! Subroutine to compute the deformation of a 3D field 7941 7941 7942 7942 IMPLICIT NONE … … 7955 7955 ! def: deformation 7956 7956 7957 fname = 'deformation3D _1o'7957 fname = 'deformation3D' 7958 7958 7959 7959 def = fillval64 … … 7963 7963 def(:,:,:,3) = - uagrad(:,:,:,3)*vargrad(:,:,:1) - vagrad(:,:,:,3)*vargrad(:,:,:2) 7964 7964 7965 END SUBROUTINE deformation3D _1o7966 7967 SUBROUTINE tilting3D _1o(dx, dy, dz, vargrad, wagrad, tilt)7968 ! Subroutine to compute the first ordertilting of a 3D field7965 END SUBROUTINE deformation3D 7966 7967 SUBROUTINE tilting3D(dx, dy, dz, vargrad, wagrad, tilt) 7968 ! Subroutine to compute the tilting of a 3D field 7969 7969 ! FROM: From: https://en.wikipedia.org/wiki/Finite_difference_coefficient 7970 7970 … … 7984 7984 ! tilt: tilting 7985 7985 7986 fname = 'tilting3D _1o'7986 fname = 'tilting3D' 7987 7987 7988 7988 tilt = fillval64 … … 7992 7992 tilt(:,:,:,3) = - wagrad(:,:,:,3)*vargrad(:,:,:3) 7993 7993 7994 END SUBROUTINE tilting3D _1o7994 END SUBROUTINE tilting3D 7995 7995 7996 7996 END MODULE module_scientific
Note: See TracChangeset
for help on using the changeset viewer.