Changeset 2675 in lmdz_wrf for trunk/tools/module_scientific.f90
- Timestamp:
- Jul 12, 2019, 10:31:58 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/module_scientific.f90
r2674 r2675 7923 7923 END FUNCTION vecmodule3D 7924 7924 7925 SUBROUTINE FUNCTIONmatmodule3D(d1, d2, d3, mat, matmodule)7925 SUBROUTINE matmodule3D(d1, d2, d3, mat, matmodule) 7926 7926 ! Subroutine to compute the module of a 3D matrix with 3 components 7927 7927 7928 7928 IMPLICIT NONE 7929 7929 7930 INTEGER, INTENT(in) :: d1,d2,d3 7930 7931 REAL(r_k), DIMENSION(d1,d2,d3,3), INTENT(in) :: mat 7931 7932 REAL(r_k), DIMENSION(d1,d2,d3), INTENT(out) :: matmodule … … 7933 7934 fname = 'matmodule3D' 7934 7935 7935 matmodule3D = SQRT(vec(:,:,:,1)*vec(:,:,:,1) + vec(:,:,:,2)*vec(:,:,:,2) + & 7936 vec(:,:,:,3)*vec(:,:,:,3)) 7936 matmodule = SQRT(mat(:,:,:,1)*mat(:,:,:,1) + mat(:,:,:,2)*mat(:,:,:,2) + mat(:,:,:,3)*mat(:,:,:,3)) 7937 7937 7938 7938 END SUBROUTINE matmodule3D … … 7960 7960 def = fillval64 7961 7961 7962 def(:,:,:,1) = - uagrad(:,:,:,1)*vargrad(:,:,:1) - vagrad(:,:,:,1)*vargrad(:,:,:2)7963 def(:,:,:,2) = - uagrad(:,:,:,2)*vargrad(:,:,:1) - vagrad(:,:,:,2)*vargrad(:,:,:2)7964 def(:,:,:,3) = - uagrad(:,:,:,3)*vargrad(:,:,:1) - vagrad(:,:,:,3)*vargrad(:,:,:2)7962 def(:,:,:,1) = -uagrad(:,:,:,1)*vargrad(:,:,:,1) -vagrad(:,:,:,1)*vargrad(:,:,:,2) 7963 def(:,:,:,2) = -uagrad(:,:,:,2)*vargrad(:,:,:,1) -vagrad(:,:,:,2)*vargrad(:,:,:,2) 7964 def(:,:,:,3) = -uagrad(:,:,:,3)*vargrad(:,:,:,1) -vagrad(:,:,:,3)*vargrad(:,:,:,2) 7965 7965 7966 7966 END SUBROUTINE deformation3D … … 7988 7988 tilt = fillval64 7989 7989 7990 tilt(:,:,:,1) = - uagrad(:,:,:,1)*vargrad(:,:,:3)7991 tilt(:,:,:,2) = - vagrad(:,:,:,2)*vargrad(:,:,:3)7992 tilt(:,:,:,3) = - wagrad(:,:,:,3)*vargrad(:,:,:3)7990 tilt(:,:,:,1) = -wagrad(:,:,:,1)*vargrad(:,:,:,3) 7991 tilt(:,:,:,2) = -wagrad(:,:,:,2)*vargrad(:,:,:,3) 7992 tilt(:,:,:,3) = -wagrad(:,:,:,3)*vargrad(:,:,:,3) 7993 7993 7994 7994 END SUBROUTINE tilting3D … … 8000 8000 8001 8001 INTEGER, INTENT(in) :: dx, dy, dz, dt 8002 REAL(r_k), DIMENSION(dx,dy,dz,dt), INTENT(in) :: vargrad 8002 REAL(r_k), INTENT(in) :: ddt 8003 REAL(r_k), DIMENSION(dx,dy,dz,dt), INTENT(in) :: var 8003 8004 CHARACTER(LEN=*), INTENT(in) :: dtkind 8004 8005 REAL(r_k), DIMENSION(dx,dy,dz,dt), INTENT(out) :: vardt … … 8039 8040 END IF 8040 8041 8041 END SUBROUTINE tilting3D8042 END SUBROUTINE deltat3D 8042 8043 8043 8044 END MODULE module_scientific
Note: See TracChangeset
for help on using the changeset viewer.