Title: Dynamics and Thermodynamics Demonstration Model DTDM
1Dynamics and Thermodynamics Demonstration
Model(DTDM)
- Robert Fovell
- University of California, Los Angeles
- rfovell_at_ucla.edu
2DTDM home page
http//www.atmos.ucla.edu/fovell/DTDM/
or http//tinyurl.com/nhoj6 Files DTDM_package.
tar lt 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(No Transcript)
4Unidata 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
5DTDM 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
6What 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
7DTDM 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
8DTDM 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
9DTDM 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
10DTDM 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)
11storage.txt
c max array dimensions parameter(nxm503,nzm
122,ny1) ! requires nx lt nxm, nz lt nzm
nxm, nzm are max values of horizontal dimensions
nx and nz
12Makefile
Mac OS X (PPC) with IBM xlf FC xlf FCFLAGS
-O3 -C -Wl,-stack_size,10000000,-stack_addr,0xc0
000000 Linux with Intel compiler FC
ifort FCFLAGS -O3 -convert big_endian Linux
with Portland Group compiler FC pgf77 FCFLAGS
-O3 -byteswapio SOURCESsrc/DTDM_model.f
src/blktri.f OBJS (SOURCES.f.o) dtdm
(OBJS) (FC) (FCFLAGS) -o _at_ (OBJS)
13How to run
- Execute make (executable is dtdm)
- Edit input.txt file (many examples included)
- First line specifies name of GrADS output
- dtdm lt input.txt
- Output are GrADS control (.ctl) and data (.dat)
files - Do NOT use gt symbol by accident!
14Statospheric 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
15input_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
16input_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)
17input_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 lt input_strfcn_isolated_nowind.txt
18Streamfunction ?
19Initial conditions
Note aspect ratio not 11
20Animation (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 11
21Invoking GrADS
- gradsnc -l
- -l requests landscape-oriented window
- Opens a GrADS graphics window
- GrADS prompt is ga-gt
- ga-gt open strfcn.isolated.1200sec.nowind
- Tab completion works!
- ga-gt strfcn_isolated_movie.gs
- Executes a GrADS script (gs)
22Varying oscillation period(strfcn_isolated.gs)
Only part of domain is shown
Note aspect ratio not 11
23Inside 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
24Executing this GrADS script
gradsnc -l ga-gt open strfcn.isolated.1200sec.nowi
nd ga-gt 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-gt set t 115 ga-gt strfcn_isolated
25Gravity waves
Period and frequency
Intrinsic frequency mean flow
Wavelength and wavenumber
Dispersion relation
26Gravity waves
Tilt angle from vertical
Dispersion relation
27Adding flow relative to momentum source
input_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 lt input_strfcn_isolated_up4.txt
28Flow relative to obstacle
Height z
Wind U
29Flow relative to obstacle(period 1200 sec)
U 0 U 4 m/s U 8 m/s
Note aspect ratio not 11
30Further exploration
- Measure phase angles, compare to theory
- Perhaps alter plot aspect ratio to 11
- Vary source frequency, amplitude, width
- Vary environmental stability, wind and wind shear
31Obstacle-effect gravity wavesabove convective
rolls
Reference Fovell (2004, Mon. Wea. Rev.)
32input_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
33input_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_period0 for
steady momentum source
34Initial conditions
dtdm lt input_strfcn_rolls.txt
35Varying flow above obstacle(strfcn_rolls.gs)
u -3 m/s u -6 m/s u -9 m/s
Note aspect ratio not 11
36Gravity 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.)
37input_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)
38input_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)
39Heating profiles
For heat source depth H
1st mode H 6000 m (2 x h_radius_z) 2nd mode H
3000 m
40Results(hsrc.gs)
41Animations(hsrc_movie.gs)
42Phase speed
43Animationh_freq 0.005 21 min
44A simple sea-breeze circulation
Reference Dailey and Fovell (1999, Mon. Wea.
Rev.)
45Simple 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
46input_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 (m2/s) 100. dkz - vertical
diffusion coefficient (m2/s)
Coarse resolution large diffusion suppresses
noise and mixes surface heating vertically
47input_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 (irand0)
48Cases
Surface wind speed -3, 0 and 3 m/s
49Offshore case animation(sbf_movie.gs)
Colored vertical velocity Contoured
perturbation horizontal velocity
50Mean 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 11
51Sea-breeze with rolls
- irand 1 superimposes random perturbations on
surface heat flux - Encourages 2D pseudo-roll circulations
- In reality, rolls are 3D organized by along-roll
shear - Two-dimensionality provides an (overpowering)
organization mechanism - input_sbf_with_rolls.txt
52Vertical velocity(sbfhcr.gs)
set t 20 sbfhcr.gs
53Added horizontal velocity
set ccolor 1 set cthick 6 d up
54Added airflow vectors
set ccolor 1 d uw
55Animation(sbfhcr_movie.gs)
56Effect of Coriolis on the sea-breeze circulation
Reference Rotunno (1983, J. Atmos. Sci.)
57Long-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
58input_seabreeze.txt
1 ISEABREEZE -
turns Rotunno seabreeze heat source on 0.000175
sb_ampl - amplitude of seabreeze heat source
(K/s) 1000. sb_x0 - controls heat source
shape at coastline (m) 1000. sb_z0 - controls
heat source shape at coastline (m) 1.0
sb_period - period of heating, in days 30.
sb_latitude - latitude for experiment
(degrees) 1 sb_linear - 1linearize
model
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)
59Cross-shore near-surface wind at coastline
(linear model)
60Time series using GrADS
gt open seabreeze.rotunno.00deg gt set t 1 289 gt
set z 1 gt set x 100 gt set vrange -25 25 gt set
xaxis 0 24 3 gt d u gt open seabreeze.rotunno.60deg
gt d u.2 gt open seabreeze.rotunno.30deg gt d u.3
61Cross-shore flow and vertical motion at noon
Shaded vertical velocity contoured cross-shore
velocity
(seabreeze.gs)
62Cross-shore flow and vertical motion at sunset
63Cross-shore flow and vertical motion at midnight
64Hovmoller diagrams (seabreeze_hov.gs)
Note lack of propagation?
65Further exploration
- Make model nonlinear
- Add mean flow and wind shear
- Explain latitudinal dependence
- Compare to actual data
66Fun with cold pools
Reference Fovell and Tan (2000,
QJRMS) Droegemeier and Wilhelmson (1987, J.
Atmos. Sci.)
67Cold 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
68Kelvin-Helmholtz Instability (KHI)
- input_coldpool_hires.txt
- nx501, nz101, dxdz50 m, dt0.125 sec,
plotting interval 20 sec - GrADS ctl file will misreport plot interval as 1
min - ICOOLZONE2, cz_width4000 m, cz_depth2000 m
- coldpool.hires.ctl, coldpool.hires.dat
- Simulation takes a very long time
69Animation(khi_movie.gs)
70Perturbation potential temperature(khi.gs)
71Vertical velocity
72Horizontal velocity
73Airflow vectors
74Perturbation pressure (p)
75Perturbation buoyancy pressure (pbyc)
1 ipressure - output pressure decompositions (1
yes) Enables calculation of buoyancy and
dynamic pressure components of perturbation
pressure
76Perturbation dynamic pressure (pdyn)
77Pressure decomposition
equations
operation
78Pressure decomposition
yields (if density constant)
where
and because pressure perturbation is separable
Solve for buoyancy and dynamic pressure
perturbations dimensionalize to millibars
79Comparing ppmb and ptot
ptot pbycpdyn ppmb
80ICOOLZONE 2(input_coolzone.txt
coolzone_movie.gs)
81Contact infohelp, bug reports, suggestions
Robert Fovell Atmospheric and Oceanic
Sciences University of California, Los
Angeles 405 Hilgard Ave Los Angeles, CA
90095-1565 rfovell_at_ucla.edu (310) 206-9956
82A few thank yous
- Bob Wilhelmson and Kelvin Droegemeier helped
teach me the joy of modeling - Jim Holton taught me the importance of toy
models and gravity waves - Wen-wen Tung introduced me to GrADS
- Leigh Orf and Unidata for the invitation
- Brian Kelly for the computing support
- All the students who have taken my courses
and many others
83(No Transcript)