source: trunk/DOC/documentation/vt-tools.tex @ 1243

Last change on this file since 1243 was 816, checked in by slebonnois, 12 years ago

SL: tools for postprocessing (Veznus and Titan); see DOC/documentation/vt-tools.pdf

File size: 15.5 KB
Line 
1\documentclass[a4paper,10pt]{article}
2%\usepackage{graphicx}
3\usepackage{natbib}  % si appel à bibtex
4%\usepackage[francais]{babel}
5%\usepackage[latin1]{inputenc}  % accents directs (é...), avec babel
6%\usepackage{rotating}
7
8\setlength{\hoffset}{-1.in}
9\setlength{\oddsidemargin}{3.cm}
10\setlength{\textwidth}{15.cm}
11\setlength{\marginparsep}{0.mm}
12\setlength{\marginparwidth}{0.mm}
13
14\setlength{\voffset}{-1.in}
15\setlength{\topmargin}{0.mm}
16\setlength{\headheight}{0.mm}
17\setlength{\headsep}{30.mm}
18\setlength{\textheight}{24.cm}
19\setlength{\footskip}{1.cm}
20
21\setlength{\parindent}{0.mm}
22\setlength{\parskip}{0 ex}
23\newcommand{\ten}[1]{$\times 10^{#1}$~} 
24\renewcommand{\baselinestretch}{1.}
25
26\begin{document}
27\pagestyle{plain}
28
29\begin{center}
30{\bf \LARGE 
31Documentation for LMDZ, Planets version
32
33\vspace{1cm}
34\Large
35Venus and Titan post-processing tools
36}
37
38\vspace{1cm}
39S\'ebastien Lebonnois
40
41\vspace{1cm}
42Latest version: \today
43\end{center}
44
45%=========================
46\section{Context}
47%=========================
48
49\subsection{Why these tools ?}
50
51Once you run the Venus or Titan LMDZ GCM, you'll get some variables in the output files that you may want to transform. These tools are meant to do some of this post-processing, to get angular momentum budget, meridional stream function, or to make an FFT analysis of $U$, $V$ or $T$, for example.
52
53Here, we present these tools and how to compile and use them.
54
55The computation of the mass in each cell is part of these tools. In the case of Titan, $g$ is considered as constant with altitude. When this changes in the GCM, we will need to adapt the tools.
56
57\subsection{Compiling}
58
59The script you can use is \textsf{compile\_pgf}. You need to adapt it so that it will find the \textsf{netcdf} libraries. It uses pgf95, but you can adapt it by changing the compiler.
60The first argument is the tool you want to compile, the second argument is the planet you're working on:
61
62\textsf{compile\_pgf} $<$\textsf{tool}$>$ $<$\textsf{planet}$>$
63
64where $<$\textsf{tool}$>$ may be \textsf{angmom}, \textsf{psi}, etc, and $<$\textsf{planet}$>$ may be \textsf{venus} or \textsf{titan}.
65
66For the FFT decomposition, you need the \textsf{fftw3} library.
67I leave it to you to find it ({em http://www.fftw.org/}; some linux packages can also be found on the web) and install it if you don't have it already.
68The script to use is then \textsf{compilefft\_pgf} and you need to adapt it so that it finds the \textsf{fftw3} library.
69
70The executable is named $<$\textsf{tool}$>$\textsf{-}$<$\textsf{planet}$>$\textsf{.e}.
71
72%=========================
73\section{Tools}
74%=========================
75
76When zonal averages are done, it is better to regrid the GCM outputs on a fixed pressure grid with \textsf{zrecast.F90}, so that averages are really done on pressure levels. The altitude above the aeroid $z_a$ is computed by \textsf{zrecast.F90} and may be used for Titan to get $g(r)$. For the moment, this is commented in all tools, so that $z_a$ is not in the required input files.
77
78%--------------------------------
79\subsection{\textsf{zrecast.F90}}
80%--------------------------------
81
82This tool was adapted from a version initially developed for the Martian GCM.
83It now takes as input the Venus and Titan LMDZ GCM output files.
84
85This program reads 4D (lon-lat-alt-time) fields from GCM output files (e.g. \textsf{histmth.nc} time series) and, by integrating the hydrostatic equation, recasts data along the vertical direction.
86
87The vertical coordinate can be either "pressure", "above areoid altitudes" or "above surface altitudes". Some interpolation along the vertical direction is also done, following instructions given by user.
88
89The dataset must include the following data:
90\begin{itemize}
91\item surface pressure
92\item atmospheric temperature
93\item hybrid coordinates \textsf{aps()} and \textsf{bps()}, or \textsf{sigma} levels
94\item ground geopotential
95\item When integration the hydrostatic equation, we assume that $R$, the molecular Gas Constant, may not be constant, so it is computed as $R=P/(\rho\times T)$ ($P$=Pressure, $\rho$=density, $T$=temperature).
96If $\rho$ is not available, then we use a constant $R$.
97\end{itemize}
98
99The output file is labeled with \textsf{\_P} (just before \textsf{.nc}) when recast on fixed pressure levels, \textsf{\_A} when recast on fixed "above areoid" altitudes, or \textsf{\_S} when recast on fixed "above surface" altitudes. In \textsf{\_P} files, you'll find the variable \textsf{zareoid} while in \textsf{\_A} and \textsf{\_S} files, you'll find the variable \textsf{pressure}.
100
101In the Titan file, the solar longitude (\textsf{Ls}) is also present in the output file, as a 1D (time only) variable.
102
103You may find here some examples of \textsf{zrecast.input} that can be used (after changing the file name in the first line !) as direct input for \textsf{zrecast.e}:
104
105\textsf{zrecast.e} $<$ \textsf{zrecast.input} 
106
107%--------------------------------
108\subsection{\textsf{angmom.F90}}
109%--------------------------------
110
111This program reads 4D (lon-lat-alt-time) fields directly from LMD outputs
112\textsf{histmth.nc} (and \textsf{dynzon.nc} if this file is present), but also from files recast in $\log P$ coordinates (\textsf{histmth\_P.nc}).
113
114It computes:
115\begin{itemize}
116\item \textsf{dmass} -- 4D -- mass of each cell (kg)
117\item \textsf{osam}  -- 4D -- specific angular momentum (omega term)
118\item \textsf{rsam}  -- 4D -- specific angular momentum (zonal wind term)
119\item \textsf{oaam}  -- 1D -- integrated angular momentum (omega term)
120\item \textsf{raam}  -- 1D -- integrated angular momentum (zonal wind term)
121\item \textsf{tmou}  -- 1D -- Mountain torque
122\item \textsf{tbls}  -- 1D -- Surface friction torque if \textsf{duvdf} is present
123\item \textsf{tdyn}  -- 1D -- Dynamics torque if \textsf{dudyn} is present
124\item \textsf{tgwo}  -- 1D -- Orographic GW torque if \textsf{dugwo} is present
125\item \textsf{tgwno} -- 1D -- Non-Orographic GW torque if \textsf{dugwno} is present
126\end{itemize}
127
128Specific angular momentum is in 10$^{25}$ m$^2$s$^{-1}$, integrated angular momentum is in 10$^{25}$ kg m$^2$s$^{-1}$, torques are in 10$^{18}$ kg m$^2$s$^{-2}$.
129
130If \textsf{dynzon.nc} is present, it also computes
131\begin{itemize}
132\item \textsf{tdyndz} -- 1D -- Dynamics torque
133\item \textsf{tdisdz} -- 1D -- Horizontal dissipation torque
134\item \textsf{tspgdz} -- 1D -- Sponge layer torque
135\item \textsf{tphydz} -- 1D -- Total physics torque
136\end{itemize}
137
138The dataset must include the following data:
139\begin{itemize}
140\item surface pressure and surface geopotential
141\item zonal wind
142\item Optional: \textsf{dudyn, duvdf, dugwo, dugwno} (acceleration terms from dycore and physiq parametrisations)
143\item Optional, in \textsf{dynzon.nc}: \textsf{dmcdyn, dmcdis, dmcspg, dmcphy} (angular momentum tendency terms from dycore, horizontal dissipation, sponge layer and physiq parametrisations)
144\end{itemize}
145
146The output file is labeled with \textsf{\_GAM} (just before \textsf{.nc}).
147
148The details about how these variables are computed can be found in \cite{lebonnois10,lebonnois13a}.
149
150%--------------------------------
151\subsection{\textsf{psi.F90}}
152%--------------------------------
153
154This program reads 4D (lon-lat-alt-time) fields directly from LMD outputs
155\textsf{histmth.nc}, but also from files recast in $\log P$ coordinates (\textsf{histmth\_P.nc}).
156
157It computes:
158\begin{itemize}
159\item \textsf{dmass} -- 4D -- mass of each cell (kg)
160\item \textsf{psi}   -- 3D -- Stream function   (kg/s)
161\end{itemize}
162
163The dataset must include the following data:
164\begin{itemize}
165\item surface pressure
166\item meridional wind
167\end{itemize}
168
169The output file is labeled with \textsf{\_PSI} (just before \textsf{.nc}).
170
171\paragraph{Computation of $\psi$} 
172The meridional mass flux is computed in each cell
173\[
174v_m = v \times \Delta m / (r \Delta lat)
175\] 
176then integrated over longitude, then downwards to compute $\psi$.
177Given the longitudinal integration, it should be better to use the recast \textsf{\_P} files.
178
179%--------------------------------
180\subsection{\textsf{energy.F90}}
181%--------------------------------
182
183This program reads 4D (lon-lat-alt-time) fields directly from LMD outputs
184\textsf{histmth.nc}, but also from files recast in $\log P$ coordinates (\textsf{histmth\_P.nc}).
185
186It computes:
187\begin{itemize}
188\item \textsf{dmass} -- 4D -- mass of each cell (kg)
189\item \textsf{sek}   -- 4D -- Specific kinetic energy (note that vertical component of wind is neglected)
190\item \textsf{sep}   -- 4D -- Specific potential energy
191\item \textsf{ek}    -- 1D -- Integrated kinetic energy (note that vertical component of wind is neglected)
192\item \textsf{ep}    -- 1D -- Integrated potential energy
193\end{itemize}
194
195Specific energies are in J/kg, integrated energies are in J.
196 
197The dataset must include the following data:
198\begin{itemize}
199\item surface pressure
200\item atmospheric temperature
201\item zonal and meridional winds
202\end{itemize}
203
204The output file is labeled with \textsf{\_NRG} (just before \textsf{.nc}).
205
206%--------------------------------
207\subsection{\textsf{stability.F90}}
208%--------------------------------
209
210This program reads 4D (lon-lat-alt-time) fields from LMD files recast in $\log P$ coordinates (\textsf{histmth\_P.nc}).
211
212It computes:
213\begin{itemize}
214\item \textsf{stab} -- 4D -- stability (K/km)
215\item \textsf{Ri}   -- 4D -- Richardson number
216\item \textsf{deqc} -- 3D -- distance to cyclostrophic equilibrium (\%)
217\end{itemize}
218
219The dataset must include the following data:
220\begin{itemize}
221\item surface pressure
222\item meridional wind
223\end{itemize}
224
225The output file is labeled with \textsf{\_STA} (just before \textsf{.nc}).
226
227%--------------------------------
228\subsection{\textsf{tem.F90}}
229%--------------------------------
230
231This program reads 4D (lon-lat-alt-time) fields from LMD files recast in $\log P$ coordinates (\textsf{histmth\_P.nc}).
232
233Developed from the tool built by Audrey Crespin during her PhD.
234
235It computes TransEulerianMean variables:
236\begin{itemize}
237\item \textsf{vtem}    -- 3D -- Residual meridional speed (m s$^{-1}$)
238\item \textsf{wtem}    -- 3D -- Residual   vertical speed (Pa s$^{-1}$)
239\item \textsf{psitem}  -- 3D -- Residual stream function (kg s$^{-1}$)
240\item \textsf{epfy}    -- 3D -- meridional component of Eliassen-Palm flux
241\item \textsf{epfz}    -- 3D -- vertical component of Eliassen-Palm flux
242\item \textsf{divepf}  -- 3D -- Divergence of Eliassen-Palm flux
243\item \textsf{ammctem} -- 3D -- Acc due to residual MMC
244\end{itemize}
245
246The dataset must include the following data:
247\begin{itemize}
248\item surface pressure
249\item atmospheric temperature
250\item zonal, meridional and vertical (Pa/s) winds
251\end{itemize}
252
253The computation is mostly done in the \textsf{epflux.F90} routine (I need to put additional details here... TBD...).
254
255The output file is labeled with \textsf{\_TEM} (just before \textsf{.nc}).
256
257%--------------------------------
258\subsection{\textsf{tmc.F90}}
259%--------------------------------
260
261This program reads 4D (lon-lat-alt-time) fields from LMD files recast in $\log P$ coordinates (\textsf{histmth\_P.nc}).
262
263It computes angular momentum transport from high-frequency outputs:
264\begin{itemize}
265\item \textsf{totvang} -- 2D -- Meridional transport of angular momentum, total (m$^3$ s$^{-2}$)
266\item \textsf{totwang} -- 2D --   Vertical transport of angular momentum, total (m$^3$ s$^{-2}$)
267\item \textsf{mmcvang} -- 2D -- Meridional transport of angular momentum, by MMC (m$^3$ s$^{-2}$)
268\item \textsf{mmcwang} -- 2D --   Vertical transport of angular momentum, by MMC (m$^3$ s$^{-2}$)
269\item \textsf{trsvang} -- 2D -- Meridional transport of angular momentum, transients (m$^3$ s$^{-2}$)
270\item \textsf{trswang} -- 2D --   Vertical transport of angular momentum, transients (m$^3$ s$^{-2}$)
271\item \textsf{stnvang} -- 2D -- Meridional transport of angular momentum, stationaries (m$^3$ s$^{-2}$)
272\item \textsf{stnwang} -- 2D --   Vertical transport of angular momentum, stationaries (m$^3$ s$^{-2}$)
273\item \textsf{dmass}   -- 2D -- Averaged mass in each cell
274\end{itemize}
275These variables in the meridional plane (latitude-pressure).
276
277The dataset must include the following data:
278\begin{itemize}
279\item surface pressure
280\item zonal, meridional and vertical (Pa/s) winds
281\end{itemize}
282
283Notations:
284\begin{itemize}
285\item $\overline{u}$: zonal average of $u$
286\item $u^*$ = $u-\overline{u}$
287\item $<u>$: time average of $u$
288\item $u'$ = $u-<u>$
289\item $m$: specific angular momentum
290\end{itemize}
291
292Computations (here with meridional wind $v$, same with vertical wind $w$):
293\begin{itemize}
294\item Total angular momentum transport: $\overline{<m v>}$
295\item MMC angular momentum transport: $\overline{<m>}$ $\overline{<v>}$
296\item Transients angular momentum transport: $<m' v'>$
297\item Stationaries angular momentum transport: $<m^*> <v^*>$
298\end{itemize}
299
300The output file is labeled with \textsf{\_TMC} (just before \textsf{.nc}).
301
302%--------------------------------
303\subsection{\textsf{fft.F90}}
304%--------------------------------
305
306This program reads 4D (lon-lat-alt-time) fields from LMD files recast in $\log P$ coordinates (\textsf{histmth\_P.nc}).
307
308It computes the FFT (on the time axis) of temperature, zonal and merid winds from high-frequency outputs, and it separates the variable in three different bands. You choose the frequencies for the filters and their bandwidth in the file \textsf{filter.h} before compiling. You can also choose what variables you want to analyse by tuning the {\em ok\_out} parameter.
309
310Choosing {\em ok\_out(1)=.true.}, you'll get in \textsf{\_UFFT} (see below) :
311\begin{itemize}
312\item \textsf{fftau} -- 4D -- FFT in amplitude of zonal wind (m s$^{-1}$)
313\item \textsf{ulf}   -- 4D -- low  freq part of zonal wind perturbation uprim (m s$^{-1}$)
314\item \textsf{ubf}   -- 4D -- band freq part of zonal wind perturbation uprim (m s$^{-1}$)
315\item \textsf{uhf}   -- 4D -- high freq part of zonal wind perturbation uprim (m s$^{-1}$)
316\end{itemize}
317
318Same for the other elements of {\em ok\_out}, for the meridional wind $v$ (m s$^{-1}$), the vertical wind $w$ (Pa s$^{-1}$), and the temperature $T$ (K).
319
320The dataset must include the following data:
321\begin{itemize}
322\item atmospheric temperature
323\item zonal, meridional and vertical (Pa/s) winds
324\end{itemize}
325
326We use a triangle window to improve spectral analysis.
327Once the FFT is done, we filter to get three different regions of the spectrum, then we use the reverse FFT to get the filtered variables (e.g. for $u$: $ulf$ for the frequencies below {\em fcoup1}, $uhf$ for the frequencies above {\em fcoup2} and  $ubf$ for the frequencies in between).
328
329The output files are labeled with \textsf{\_[U,V,W,F]FFT} (just before \textsf{.nc}). You get one file for each variable that you chose to analyse in filter.h (U,V,W and/or T).
330
331
332%--------------------------------
333% \subsection{\textsf{.F90}}
334%--------------------------------
335
336
337\begin{thebibliography}{2}
338\providecommand{\natexlab}[1]{#1}
339\expandafter\ifx\csname urlstyle\endcsname\relax
340  \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else
341  \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup
342  \urlstyle{rm}\Url}\fi
343
344\bibitem[{\textit{Lebonnois et~al.}(2010)\textit{Lebonnois, Hourdin, Eymet,
345  Crespin, Fournier, and Forget}}]{lebonnois10}
346Lebonnois, S., F.~Hourdin, V.~Eymet, A.~Crespin, R.~Fournier, and F.~Forget
347  (2010), {Superrotation of Venus' atmosphere analysed with a full General
348  Circulation Model}, \textit{J. Geophys. Res.}, \textit{115}, E06006,
349  \doi{10.1029/2009JE003458}.
350
351\bibitem[{\textit{Lebonnois et~al.}(2013)\textit{Lebonnois, Covey, Grossman,
352  Parish, Schubert, Walterscheid, Lauritzen, and Jablonowski}}]{lebonnois13a}
353Lebonnois, S., C.~Covey, A.~Grossman, H.~Parish, G.~Schubert, R.~Walterscheid, P.~Lauritzen, and C.~Jablonowski
354  (2013), {Angular Momentum Budget in General Circulation Models of Superrotating Atmospheres: A Critical Diagnostic}, \textit{J. Geophys. Res.}, {Submitted}.
355
356\end{thebibliography}
357
358
359\end{document}
Note: See TracBrowser for help on using the repository browser.