Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dynamics and Thermodynamics Demonstration Model (DTDM)

Similar presentations


Presentation on theme: "Dynamics and Thermodynamics Demonstration Model (DTDM)"— Presentation transcript:

1 Dynamics and Thermodynamics Demonstration Model (DTDM)
Robert Fovell University of California, Los Angeles

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 Not guaranteed bug-free
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: Environmental settings
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
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 nxm, nzm are max values of horizontal dimensions nx and nz
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, ,-stack_addr,0xc # 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 byteswap - (1 = if byteswapping needed) nx - number of horizontal grid points - max NXM in storage.txt nz - number of vertical grid points - max NZM in storage.txt dx - horizontal grid spacing (m) dz - vertical grid spacing (m) dt - time step (s) timend (s) 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 bvpbl - PBL tropospheric BV freq (1/s) pbld - PBL depth (m) bvtropo - free tropospheric BV freq (1/s) tropo - tropopause height (m) bvstrat - stratospheric BV freq (1/s) psurf - surface pressure (mb)

15 dtdm < input_strfcn_isolated_nowind.txt
======================================================= ISTRFCN - turn momentum source on s_repeat - set = 1 for repeated source; 0 for single source s_ampl - amplitude of momentum source (kg/m/s/s) s_naught - height of source center (m) s_hwavel - horizontal wavelength of source (m) s_vwavel - vertical wavelength of source (m) 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 “-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 mproj off' 'set display color white' * changes aspect ratio of plot 'set vpage ' 'clear' 'set grads off' 'set lev 10 16' 'set lon ' 'run rgbset.gs’ Continues… 'set gxout shaded' 'set xaxis ' 'set yaxis ' 'set clevs ' 'set ccols ' 'd thp' 'cbarn ' 'set gxout contour' 'set cmax 2.4' 'set cmin -2.4' 'set cint 0.4' 'd w'

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

23 Adding flow relative to momentum source input_strfcn_isolated_up4.txt
surface wind speed (m/s) vertical shear for first layer (1/s) thickness of first layer (m) vertical shear for second layer (1/s) thickness of second layer (m) vertical shear above second layer [extends to model top] Shear = over 2000 m = ∆U = 4 m/s Shear = 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 Width shouldn’t matter… angle is omega/N

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

28 -9 m/s of wind speed difference between
input_strfcn_rolls.txt surface wind speed (m/s) vertical shear for first layer (1/s) thickness of first layer (m) vertical shear for second layer (1/s) thickness of second layer (m) 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 s_repeat= 1 for repeated source
======================================================================= ISTRFCN - turn momentum source on s_repeat - set = 1 for repeated source; 0 for single source s_ampl - amplitude of momentum source (kg/m/s/s) s_naught - height of source center (m) s_hwavel - horizontal wavelength of source (m) s_vwavel - vertical wavelength of source (m) 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
nx - number of horizontal grid points - max NXM in storage.txt nz - number of vertical grid points - max NZM in storage.txt dx - horizontal grid spacing (m) dz - vertical grid spacing (m) dt - time step (s) timend (s) bvpbl - PBL tropospheric BV freq (1/s) pbld - PBL depth (m) bvtropo - free tropospheric BV freq (1/s) tropo - tropopause height (m) bvstrat - stratospheric BV freq (1/s)

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

35 Heating profiles

36 Results (hsrc.gs)

37 Animations (hsrc_movie.gs)

38 Animation h_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 Coarse resolution, large diffusion
input_sbf_no_rolls.txt sbf.noroll.nowind nx - number of horizontal grid points - max NXM in storage.txt nz - number of vertical grid points - max NZM in storage.txt dx - horizontal grid spacing (m) dz - vertical grid spacing (m) dt - time step (s) timend (s) plotting interval (s) csnd - speed of sound (m/s) cstar - lateral boundary wave speed (m/s) dkx - horizontal diffusion coefficient (m^2/s) dkz - vertical diffusion coefficient (m^2/s) Coarse resolution, large diffusion

42 input_sbf_no_rolls.txt Coastline 90 grid points from left side
======================================================================= ISHFLUX - turns surface heat flux on tdelt - initial ground-air T difference (K) icoast - gridpt location of coastline (0 for all land) 7.2e-3 cdh - effective heat flux coefficient (ndim) 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 Surface wind speed = -3, 0 and +3 m/s
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 * Integration can be lengthy

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

51 Long-term sea-breeze strategy
Add a lower tropospheric heat source (Rotunno 1983), mimicking effect of surface heating + vertical mixing Reduce vertical diffusion Simulations start at sunrise One use: to investigate effect of latitude and/or linearity on onshore flow, timing and circulation strength

52 input_seabreeze.txt sb_latitude ≠ 0 activates Coriolis
======================================================================= ISEABREEZE - turns Rotunno seabreeze heat source on sb_ampl - amplitude of seabreeze heat source (K/s) sb_x0 - controls heat source shape at coastline (m) sb_z0 - controls heat source shape at coastline (m) sb_period - period of heating, in days sb_latitude - latitude for experiment (degrees) sb_linear - 1=linearize model * Integration can be lengthy sb_latitude ≠ 0 activates Coriolis sb_linear = 1 linearizes the model Other settings include: dx = 2000 m, dz = 250 m, dt = 1 sec dkx = dkz = 5 m2/s (since linear)

53 Cross-shore near-surface wind at coastline (linear model)
Equator - no offshore flow 30N strongest offshore flow

54 Time series using GrADS
> open seabreeze.rotunno.00deg > set t 1 289 > set z 1 > set x 100 > set vrange > set xaxis > d u > open seabreeze.rotunno.60deg > d u.2

55 Cross-shore flow and vertical motion at noon
Shaded: vertical velocity; contoured: cross-shore velocity

56 Cross-shore flow and vertical motion at sunset

57 Cross-shore flow and vertical motion at midnight

58 Hovmoller diagrams (seabreeze_hov.gs)

59 Further exploration Make model nonlinear Add mean flow and wind shear
Explain latitudinal dependence Compare to actual data

60 Fun with cold pools Reference: Fovell and Tan (2000, QJRMS)
Droegemeier and Wilhelmson (1987, J. Atmos. Sci.)

61 Cold pool options ICOOLZONE has two options
ICOOLZONE = 1 for “storm-adaptive” cold pool… maintained and stays aligned with gust front ICOOLZONE = 2 gives model impulsive block of cold air Lower resolution - look at lifting Higher resolution - Kelvin-Helmholtz instability Either - compare buoyancy and dynamic components of pressure field

62 Kelvin-Helmholtz Instability (KHI)
input_coldpool_hires.txt nx=501, nz=101, dx=dz=50 m, dt=0.125 sec, plotting interval 20 sec GrADS ctl file will misreport plot interval as 1 min ICOOLZONE=2, cz_width=4000 m, cz_depth=2000 m coldpool.hires.ctl, coldpool.hires.dat Simulation takes a fairly long time

63 Animation (khi_movie.gs)

64 Perturbation potential temperature (khi.gs)

65 Vertical velocity

66 Horizontal velocity

67 Airflow vectors

68 Perturbation pressure (p’)

69 Perturbation buoyancy pressure (p’byc)
1 ipressure - output pressure decompositions (1 = yes) Enables calculation of buoyancy and dynamic pressure components of perturbation pressure

70 Perturbation dynamic pressure (p’dyn)

71 Pressure decomposition
equations operation

72 Pressure decomposition
yields (if density constant) where and because pressure perturbation is separable Solve for buoyancy and dynamic pressure perturbations; dimensionalize to millibars

73 Comparing ppmb and ptot
pbyc+pdyn ppmb Small differences owing to anelastic, missing diffusion, etc.

74 ICOOLZONE = 2 (input_coolzone.txt & coolzone_movie.gs)

75 Contact info: help, bug reports, suggestions Robert Fovell Atmospheric and Oceanic Sciences University of California, Los Angeles 405 Hilgard Ave Los Angeles, CA (310)

76


Download ppt "Dynamics and Thermodynamics Demonstration Model (DTDM)"

Similar presentations


Ads by Google