1 / 76

Dynamics and Thermodynamics Demonstration Model (DTDM)

DTDM is a 2D compressible model demonstrating gravity waves, sea-breeze circulations, and more. It's simple, free, portable, and allows script-driven input for easy use in educational settings. While not research-quality, it's perfect for illustrating atmospheric phenomena in a hands-on way. Easily runnable on Unix systems for homework assignments and labs.

ddagostino
Download Presentation

Dynamics and Thermodynamics Demonstration Model (DTDM)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dynamics and Thermodynamics Demonstration Model(DTDM) Robert Fovell University of California, Los Angeles rfovell@ucla.edu

  2. DTDM is… • A very simple, 2D compressible model • Free, portable: Fortran 77 (g77) and GrADS • Demonstrates gravity waves, sea-breeze circulations, convective rolls, KHI, etc. • Options for including heat and momentum sources, surface fluxes, cold pools, etc. • Input script driven… may not need to modify code

  3. What DTDM is not… • Not a sophisticated model • Second-order numerics, primitive physics • Crude boundary conditions • Not guaranteed bug-free • Not always physically accurate or realistic • Some parameters, processes may be exaggerated for demonstration purposes and/or computational efficiency • Not complete or research-quality

  4. DTDM features • Model prognostic variables: • Wind components: u, w, v (when Coriolis active) • Potential temperature:  • Nondimensional pressure:  • Environmental settings • Brunt-Vaisala frequency of boundary layer, free troposphere and stratosphere • Up to 3 layers for vertical shear • Latitude (for Coriolis parameter) • Numerical settings • Horizontal and vertical diffusion • Temporal diffusion • Wave speed for open lateral boundaries • Speed of sound

  5. DTDM features • Source terms • Momentum source, configurable as single or repeated, steady or oscillatory • Heat source, steady or oscillatory • Surface heat flux • Sea-breeze-specific heat source • Lower tropospheric cooling zone and/or impulsive cold block • Impulsive thermal • Creates GrADS output

  6. DTDM rationale and use • Demonstrate physical and thermodynamical phenomena with simple simulations • Stills, animations, decomposing forcing fields, etc. • Provide a hands-on package suitable for homeworks, labs • Easily runs on Unix and Unix-like systems (Linux, Mac OS X, Suns, etc.) • Next generation • Web-based? • Implement using WRF? • Namelist input

  7. DTDM home page http://www.atmos.ucla.edu/~fovell/DTDM/ or http://tinyurl.com/nhoj6 Files: DTDM_package.tar [600 KB] DTDM_examples.tar.gz [600 MB, expands to 1 GB] Extract: tar -xvf DTDM_package.tar tar -zxvf DTDM_examples.tar.gz

  8. DTDM package DTDM_package.tar • DTDM_model.f ~ program • storage.txt ~ defines arrays • Makefile • If storage.txt modifed, touch DTDM_model.f and make again • Model input scripts (input_*.txt) • GrADS plotting scripts (*.gs)

  9. storage.txt c max array dimensions parameter(nxm=503,nzm=122,ny=1) ! requires nx <= nxm, nz <= nzm nxm, nzm are max values of horizontal dimensions nx and nz

  10. Makefile # Mac OS X (PPC) with IBM xlf #FC = xlf #FCFLAGS = -O3 -C -Wl,-stack_size,10000000,-stack_addr,0xc0000000 # Linux with Intel compiler #FC = ifort #FCFLAGS = -O3 -convert big_endian # Linux with Portland Group compiler FC = pgf77 FCFLAGS = -O3 -byteswapio SOURCES=DTDM_model.f blktri.f OBJS= $(SOURCES:.f=.o) dtdm: $(OBJS) $(FC) $(FCFLAGS) -o $@ $(OBJS)

  11. How to run • Execute make (executable is dtdm) • Edit input.txt file (many examples included) • First line specifies name of GrADS output • dtdm < input.txt • Output are GrADS control (.ctl) and data (.dat) files

  12. Statospheric gravity waves produced by obstacles (convective cells)Reference: Fovell, Durran and Holton (1992, J. Atmos. Sci.)** **references to my papers illustrate my interest in these phenomena

  13. input_strfcn_isolated_nowind.txt strfcn.isolated.1200sec.nowind 1 byteswap - (1 = if byteswapping needed) 101 nx - number of horizontal grid points - max NXM in storage.txt 84 nz - number of vertical grid points - max NZM in storage.txt 1000. dx - horizontal grid spacing (m) 250. dz - vertical grid spacing (m) 1.0 dt - time step (s) 3600. timend (s) 300. plotting interval (s; min 60 s or time reported wrong by GrADS) Case name used for GrADS files limited to 76 characters, avoid underscores with GrADS

  14. input_strfcn_isolated_nowind.txt 0.01 bvpbl - PBL tropospheric BV freq (1/s) 2000. pbld - PBL depth (m) 0.01 bvtropo - free tropospheric BV freq (1/s) 12000. tropo - tropopause height (m) 0.02 bvstrat - stratospheric BV freq (1/s) 965. psurf - surface pressure (mb)

  15. input_strfcn_isolated_nowind.txt ======================================================= 1 ISTRFCN - turn momentum source on 0 s_repeat - set = 1 for repeated source; 0 for single source 40. s_ampl - amplitude of momentum source (kg/m/s/s) 6000. s_naught - height of source center (m) 10000. s_hwavel - horizontal wavelength of source (m) 18000. s_vwavel - vertical wavelength of source (m) 1200. s_period - period for the momentum source oscillation (s) ======================================================= dtdm < input_strfcn_isolated_nowind.txt

  16. Streamfunction

  17. Initial conditions Note: aspect ratio not 1:1

  18. Animation (strfcn_isolated_movie.gs) s_period = 1200 sec For this run: nx = 101, nz = 122 (model top ~ 30 km) Note: aspect ratio not 1:1

  19. Invoking GrADS • grads -l • “-l” requests landscape-oriented window • Opens a GrADS graphics window • GrADS prompt is “ga->” • ga-> open strfcn.isolated.1200sec.nowind • Tab completion works! • ga-> strfcn_isolated_movie.gs • Executes a GrADS script (gs)

  20. Varying oscillation period(strfcn_isolated.gs) Note: aspect ratio not 1:1

  21. Inside a GrADS script(strfcn_isolated.gs) 'set gxout shaded' 'set xaxis 34 64 4' 'set yaxis 10 16 2' 'set clevs -2.5 -2.0 -1.5 -1.0 -0.5 0 0.5 1.0 1.5 2.0 2.5' 'set ccols 49 47 45 43 41 0 61 62 63 65 67 69' 'd thp' 'cbarn 1.0 0 6.0' 'set gxout contour' 'set cmax 2.4' 'set cmin -2.4' 'set cint 0.4' 'd w' 'set mproj off' 'set display color white' * changes aspect ratio of plot 'set vpage 0.5 11.0 0.5 5' 'clear' 'set grads off' 'set lev 10 16' 'set lon 24 74 ' 'run rgbset.gs’ Continues…

  22. Gravity waves Period and frequency Intrinsic frequency & mean flow Tilt angle and stability N Wavelength and wavenumber

  23. Adding flow relative to momentum sourceinput_strfcn_isolated_up4.txt 0. surface wind speed (m/s) 0. vertical shear for first layer (1/s) 8000. thickness of first layer (m) 0.002 vertical shear for second layer (1/s) 2000. thickness of second layer (m) 0. vertical shear above second layer [extends to model top] Shear = 0.002 over 2000 m = ∆U = 4 m/s Shear = 0.004 yields ∆U = 8 m/s

  24. Flow relative to obstacle

  25. Flow relative to obstacle(period = 1200 sec) U = 0 U = 4 m/s U = 8 m/s Note: aspect ratio not 1:1

  26. Further exploration • Measure phase angles, compare to theory • Perhaps alter plot aspect ratio to 1:1 • Vary source frequency, amplitude, width • Vary environmental stability, wind and wind shear

  27. Obstacle-effect gravity wavesabove convective rolls Reference: Fovell (2004, Mon. Wea. Rev.)

  28. input_strfcn_rolls.txt 0. surface wind speed (m/s) 0. vertical shear for first layer (1/s) 1800. thickness of first layer (m) -0.0036 vertical shear for second layer (1/s) 2500. thickness of second layer (m) 0. vertical shear above second layer [extends to model top] Zero shear below 1.8 km -9 m/s of wind speed difference between 1.8 and 4.3 km

  29. input_strfcn_rolls.txt ======================================================================= 1 ISTRFCN - turn momentum source on 1 s_repeat - set = 1 for repeated source; 0 for single source 0.4 s_ampl - amplitude of momentum source (kg/m/s/s) 1000. s_naught - height of source center (m) 10000. s_hwavel - horizontal wavelength of source (m) 6000. s_vwavel - vertical wavelength of source (m) 0. s_period - period for the momentum source oscillation (s) ======================================================================= s_repeat= 1 for repeated source s_period=0 for steady momentum source

  30. Initial conditions

  31. Varying flow above obstacle(strfcn_rolls.gs) u = -3 m/s u = -6 m/s u = -9 m/s Note: aspect ratio not 1:1

  32. Gravity waves excited by heat sources References: Fovell (2002, QJRMS), Fovell, Mullendore and Kim (2006, Mon. Wea. Rev.) Nicholls et al. (1991, J. Atmos. Sci.) Mapes (1993, J. Atmos. Sci.)

  33. input_hsrc.txt hsrc.2mode.no.oscil 101 nx - number of horizontal grid points - max NXM in storage.txt 84 nz - number of vertical grid points - max NZM in storage.txt 1000. dx - horizontal grid spacing (m) 250. dz - vertical grid spacing (m) 2.0 dt - time step (s) 6000. timend (s) 0.00 bvpbl - PBL tropospheric BV freq (1/s) 1500. pbld - PBL depth (m) 0.01 bvtropo - free tropospheric BV freq (1/s) 12000. tropo - tropopause height (m) 0.02 bvstrat - stratospheric BV freq (1/s)

  34. input_hsrc.txt ======================================================================= 1 IHSRC - turns heat source on 0.025 h_ampl - amplitude of heat source (K/s) 3000. h_radius_x - horizontal radius of heat source (m) 3000. h_radius_z - vertical radius of heat source (m) 3000. h_center_z - height of heat source center (m) 0.000 h_freq - frequency for heat source oscillation (1/s) 2 h_modes - number of vertical modes (ndim; max 2) =======================================================================

  35. Heating profiles

  36. Results(hsrc.gs)

  37. Animations(hsrc_movie.gs)

  38. Animationh_freq = 0.005 [~ 21 min]

  39. A simple sea-breeze circulation Reference: Dailey and Fovell (1999, Mon. Wea. Rev.)

  40. Simple sea-breeze strategy • Add a surface heat flux for part of domain (“land”) • Large vertical diffusion as proxy for boundary layer mixing • One use: to investigate effect of offshore or onshore wind on lifting and propagation of sea-breeze front

  41. input_sbf_no_rolls.txt sbf.noroll.nowind 301 nx - number of horizontal grid points - max NXM in storage.txt 26 nz - number of vertical grid points - max NZM in storage.txt 1000. dx - horizontal grid spacing (m) 400. dz - vertical grid spacing (m) 1.0 dt - time step (s) 18000. timend (s) 300. plotting interval (s) 50. csnd - speed of sound (m/s) 100. cstar - lateral boundary wave speed (m/s) 1500. dkx - horizontal diffusion coefficient (m^2/s) 100. dkz - vertical diffusion coefficient (m^2/s) Coarse resolution, large diffusion

  42. input_sbf_no_rolls.txt ======================================================================= 1 ISHFLUX - turns surface heat flux on 12. tdelt - initial ground-air T difference (K) 90 icoast - gridpt location of coastline (0 for all land) 7.2e-3 cdh - effective heat flux coefficient (ndim) 0 irand - impose randomness on surface heat flux ======================================================================= Coastline 90 grid points from left side Large cdh reflects unstable conditions; No imposed random perturbations (irand=0)

  43. Cases Surface wind speed = -3, 0 and +3 m/s

  44. Mean flow effect on sea-breeze(sbf_noroll.gs) 3 m/s offshore No mean flow 3 m/s onshore Perturbation u (contoured) and w (shaded); Aspect ratio not 1:1

  45. Sea-breeze with “rolls” • irand = 1 superimposes random perturbations on surface heat flux • Encourages 2D roll-like circulations • In reality, rolls are 3D organized by along-roll shear • Two-dimensionality provides an (overpowering) organization mechanism • input_sbf_with_rolls.txt

  46. Vertical velocity(sbfhcr.gs)

  47. Added horizontal velocity set ccolor 1 set cthick 6 d up

  48. Added airflow vectors set ccolor 1 d u;w

  49. Animation(sbfhcr_movie.gs)

  50. Effect of Coriolis on the sea-breeze circulation Reference: Rotunno (1983, J. Atmos. Sci.)

More Related