Changeset 2670 in lmdz_wrf
- Timestamp:
- Jul 12, 2019, 6:14:01 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/module_ForDiagnosticsVars.f90
r2669 r2670 2047 2047 END SUBROUTINE var_front_R04 2048 2048 2049 SUBROUTINE var_Frontogenesis(dx, dy, dz, dt, theta, ua, va, wa, ddx, ddy, ddz, xdiab, ydiab, zdiab,\2050 xdef, ydef, zdef, xtilt, ytilt, zdiv, f)2049 SUBROUTINE var_Frontogenesis(dx, dy, dz, dt, theta, ua, va, wa, press, ddx, ddy, ddz, ddt, xdiab, \ 2050 ydiab, zdiab, xdef, ydef, zdef, xtilt, ytilt, zdiv, f) 2051 2051 ! Subroutine to compute the terms of the equation of frontogenesis 2052 2052 ! AFTER: https://en.wikipedia.org/wiki/Frontogenesis, http://glossary.ametsoc.org/wiki/Frontogenetical_function … … 2055 2055 2056 2056 INTEGER, INTENT(in) :: dx, dy, dz, dt 2057 REAL(r_k), INTENT(in) :: ddt 2057 2058 REAL(r_k), DIMENSION(dx,dy), INTENT(in) :: ddx,ddy 2058 2059 REAL(r_k), DIMENSION(dz), INTENT(in) :: ddz 2059 REAL(r_k), DIMENSION(dx,dy,dz,dt), INTENT(in) :: theta, ua, va, wa 2060 REAL(r_k), DIMENSION(dx,dy,dz,dt), INTENT(in) :: theta, ua, va, wa, press 2060 2061 REAL(r_k), DIMENSION(dx,dy,dz,dt), INTENT(out) :: xdiab, ydiab, zdiab 2061 2062 REAL(r_k), DIMENSION(dx,dy,dz,dt), INTENT(out) :: xdef, ydef, zdef … … 2065 2066 ! Local 2066 2067 INTEGER :: i,j,k,l,it 2067 REAL(r_k), DIMENSION(dx,dy,dz) :: modthetagrad 2068 REAL(r_k), DIMENSION(dx,dy,dz,3) :: thetagrad, uagrad, vagrad, wagrad,&2069 thetadef, thetatilt2068 REAL(r_k), DIMENSION(dx,dy,dz) :: modthetagrad, thetadt 2069 REAL(r_k), DIMENSION(dx,dy,dz,3) :: thetagrad, thetadtgrad, uagrad, vagrad, & 2070 wagrad, pressgrad, thetadef, thetatilt 2070 2071 2071 2072 !!!!!!! Variables … … 2073 2074 ! theta: potential temperature [K] 2074 2075 ! ua, va, wa: x/y/z wind direction [ms-1] 2076 ! press: pressure [Pa] 2077 ! ddt: temporal delta [s] 2075 2078 ! ddx, ddy, ddz: x/y/z distances among grid points [m] 2076 2079 ! xdiab, ydiab, zdiab: x/y/z diabatic term [Ks-1m-1] … … 2082 2085 fname = 'var_Frontogenesis' 2083 2086 2087 CALL deltat3D(dx, dy, dz, dt, theta, ddt, 'forward', thetadt) 2088 2084 2089 ! Computing components separately by time-step 2085 2090 DO it=1, dt 2091 CALL gradient3D_1o(dx, dy, dz, thetadt(:,:,:,it), ddx, ddy, ddz, thetadtgrad) 2086 2092 CALL gradient3D_1o(dx, dy, dz, theta(:,:,:,it), ddx, ddy, ddz, thetagrad) 2087 2093 CALL gradient3D_1o(dx, dy, dz, ua(:,:,:,it), ddx, ddy, ddz, uagrad) 2088 2094 CALL gradient3D_1o(dx, dy, dz, va(:,:,:,it), ddx, ddy, ddz, vagrad) 2089 2095 CALL gradient3D_1o(dx, dy, dz, wa(:,:,:,it), ddx, ddy, ddz, wagrad) 2096 CALL gradient3D_1o(dx, dy, dz, press(:,:,:,it), ddx, ddy, ddz, pressgrad) 2090 2097 CALL deformation3D(dx, dy, dz, thetagrad, uagrad, vagrad, thetadef) 2091 2098 CALL tilting3D(dx, dy, dz, thetagrad, wagrad, thetatilt) 2099 xdiab(:,:,:,it) = thetadtgrad(:,:,:,1) 2100 2092 2101 xdef(:,:,:,it) = thetadef(:,:,:,1) 2093 2102 ydef(:,:,:,it) = thetadef(:,:,:,2)
Note: See TracChangeset
for help on using the changeset viewer.