1 / 83

Dynamics and Thermodynamics Demonstration Model (DTDM)

Dynamics and Thermodynamics Demonstration Model (DTDM). Robert Fovell University of California, Los Angeles rfovell@ucla.edu. DTDM home page. http://www.atmos.ucla.edu/~fovell/DTDM/ or http://tinyurl.com/nhoj6 Files: DTDM_package.tar [< 1 MB]

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

  3. Unidata workshop instructions • Right-click on desktop… choose Terminal • Type cd DTDM • Type ls • See: • dtdm - the executable • input_* - input scripts that drive model • scripts/ - directory with GrADS scripts

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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 • Java or C++? • Web-based? • Implement using WRF? • Namelist input

  9. 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)

  10. 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

  11. 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=src/DTDM_model.f src/blktri.f OBJS= $(SOURCES:.f=.o) dtdm: $(OBJS) $(FC) $(FCFLAGS) -o $@ $(OBJS)

  12. 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 • Do NOT use “>” symbol by accident!

  13. 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

  14. input_strfcn_isolated_nowind.txt strfcn.isolated.1200sec.nowind 0 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

  15. input_strfcn_isolated_nowind.txt 0.002 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)

  16. 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

  17. Streamfunction 

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

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

  20. Invoking GrADS • gradsnc -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)

  21. Varying oscillation period(strfcn_isolated.gs) Only part of domain is shown Note: aspect ratio not 1:1

  22. 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…

  23. Executing this GrADS script gradsnc -l ga-> open strfcn.isolated.1200sec.nowind ga-> q file File 1 : DTDM demo simulation Descriptor: strfcn.isolated.1200sec.nowind.ctl Binary: strfcn.isolated.1200sec.nowind.dat Type = Gridded Xsize = 99 Ysize = 1 Zsize = 120 Tsize = 121 Number of Variables = 8 u 120 0 horizontal velocity up 120 0 pert horizontal velocity w 120 0 vertical velocity th 120 0 potential temperature thp 120 0 pert potential temperature pi 120 0 ndim pressure pip 120 0 pert ndim pressure str 120 0 streamfunction ga-> set t 115 ga-> strfcn_isolated

  24. Gravity waves Period and frequency Intrinsic frequency & mean flow Wavelength and wavenumber Dispersion relation

  25. Gravity waves Dispersion relation Tilt angle from vertical

  26. 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 dtdm < input_strfcn_isolated_up4.txt

  27. Flow relative to obstacle Height z Wind U

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

  29. 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

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

  31. 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

  32. 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

  33. Initial conditions dtdm < input_strfcn_rolls.txt

  34. 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

  35. 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.)

  36. 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)

  37. 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) =======================================================================

  38. Heating profiles For heat source depth H 1st mode H = 6000 m (2 x h_radius_z) 2nd mode H = 3000 m

  39. Results(hsrc.gs)

  40. Animations(hsrc_movie.gs)

  41. Phase speed…

  42. Animationh_freq = 0.005 [~ 21 min]

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

  44. 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

  45. 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; min 60 s or time reported wrong by GrADS) 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 suppresses noise and mixes surface heating vertically

  46. 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 (of 301 total) Large cdh reflects unstable conditions; No imposed random perturbations (irand=0)

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

  48. Offshore case animation(sbf_movie.gs) Colored: vertical velocity Contoured: perturbation horizontal velocity

  49. 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

More Related