Changeset 258 for trunk/MESOSCALE_DEV/MANUAL
- Timestamp:
- Aug 4, 2011, 3:59:44 AM (13 years ago)
- Location:
- trunk/MESOSCALE_DEV/MANUAL/SRC
- Files:
-
- 7 added
- 2 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MESOSCALE_DEV/MANUAL/SRC/advance.tex
r257 r258 7 7 \section{Running nested simulations}\label{nests} 8 8 9 \paragraph{P arameter files} In case you run simulations with \ttt{max\_dom} nested domains, you have to set \ttt{max\_dom} parameters wherever there is a ``," in the \ttt{namelist.input} template in chapter~\ref{zeparam}. Below we reproduce an example of the resulting syntax of the \ttt{\&time\_control}, \ttt{\&domains} and \ttt{\&bdy\_control} categories in \ttt{namelist.input}. We recommend running hydrostatic nested simulations\footnote{Non-hydrostatic nested simulations are sometimes unstable at boundaries; this should be fixed in future versions of the model.} by setting \ttt{non\_hydrostatic = F} in \ttt{\&dynamics} in \ttt{namelist.input}. If you run a simulation with, say, $3$ domains, please ensure that you defined three files \ttt{callphys.def}, \ttt{callphys\_d2.def} and \ttt{callphys\_d3.def} (one per nest). Usually all settings in these files are similar except \ttt{iradia}.9 \paragraph{Preparing namelist.input} For simulations with \ttt{max\_dom} nested domains, \ttt{max\_dom} parameters must be set wherever there is a ``," in the \ttt{namelist.input\_full} template in chapter~\ref{zeparam}. Specific parameters for nested simulations are labelled with \ttt{(n)} in this \ttt{namelist.input} template (see e.g. categories \ttt{\&time\_control}, \ttt{\&domains} and \ttt{\&bdy\_control}). To help you with filling the \ttt{namelist.input} file for a nested simulation, a commented example is given below 10 10 11 11 \scriptsize 12 \codesource{ OMG_namelist.input}12 \codesource{namelist.input_nests} 13 13 \normalsize 14 14 15 \paragraph{Prep rocessing steps} The additional settings for nests in \ttt{namelist.input} must correspond to the ones in the \ttt{namelist.wps} file which define the domain settings for \ttt{geogrid.exe}. A typical \ttt{namelist.wps} file for nested simulations is given below. An automated generation of \ttt{namelist.wps} from \ttt{namelist.input} is provided in the \ttt{runmeso} script as for single-domain simulations. Defining several domains yield one output per domain: e.g. for three domains \ttt{geogrid.exe} yields \ttt{geo\_em.d01.nc}, \ttt{geo\_em.d02.nc}, \ttt{geo\_em.d03.nc}\ldots, \ttt{real.exe} yields \ttt{wrfinput\_d02}, \ttt{wrfinput\_d03}, \ldots15 \paragraph{Preparing namelist.wps} As is the case for single-domain simulations, the common parameters in the two files \ttt{naemlist.input} and~\ttt{namelist.wps} must be exactly similar. Similarly to single-domain simulations, an automated generation of \ttt{namelist.wps} from \ttt{namelist.input} is provided in the \ttt{runmeso} script. If you do not use \ttt{runmeso} to generate the \ttt{namelist.wps} file, please bear in mind that in this file, dates are different for the parent domain and the child domains, since boundary conditions are needed only for the parent domain while initial conditions are needed for all domains. The \ttt{namelist.wps} file associated to the previously described \ttt{namelist.input} file is given below and corresponds to a nested simulation in the Hellas Planitia region (Figure~\ref{nesteddomains}). Note that map projection must be similar in all nests. 16 16 17 \vskip -0.2cm 17 18 \scriptsize 18 \codesource{namelist.wps_ NEST}19 \codesource{namelist.wps_nests} 19 20 \normalsize 21 22 \begin{center} 23 \begin{figure}[h!] 24 \includegraphics[width=0.33\textwidth]{LMD_MMM_d1_63km_domain_100.png} 25 \includegraphics[width=0.33\textwidth]{LMD_MMM_d2_21km_domain_100.png} 26 \includegraphics[width=0.33\textwidth]{LMD_MMM_d3_7km_domain_100.png} 27 \caption{\label{nesteddomains} Domains for a nested mesoscale simulations in Hella Planitia defined by \ttt{namelist.wps\_nests}. From left to right, ``parent" domain i.e. nest number~$1$ (horizontal resolution $63$~km), ``child" domain i.e. nest number~$2$ (horizontal resolution $21$~km), ``grandchild" domain i.e. nest number~$3$ (horizontal resolution $7$~km).} 28 \end{figure} 29 \end{center} 30 31 \paragraph{Preparing callphys.def} If you run a simulation with, say, $3$ domains, please ensure that you defined three files \ttt{callphys.def}, \ttt{callphys\_d2.def} and \ttt{callphys\_d3.def} (one per nest). If needed, different settings for physical parameterizations can be made in each nest; usually all settings in these files are similar, except \ttt{iradia} (so that differences in dynamical timesteps between nests can be potentially impacted to \ttt{callphys*.def} in order to synchronize radiative transfer call). 32 33 \paragraph{Compiling} Use the command \ttt{makemeso} and specify the number of domains and dimensions set in \ttt{namelist.input}. This is done automatically of course if you use \ttt{runmeso} which reads the information in \ttt{namelist.input}. 34 35 \paragraph{Running} If grid nesting and parallel computing are used, no more than~$4$ processors can be used. If the nested simulation is unstable, try a single-domain simulation with the parent domain and choose best parameters for stability (e.g., \ttt{time\_step}), then add a first nested domain, and start again stability investigations, etc. 36 37 \paragraph{Inputs/outputs} Defining several domains yield one output per domain: e.g. for three domains \ttt{geogrid.exe} yields \ttt{geo\_em.d01.nc}, \ttt{geo\_em.d02.nc}, \ttt{geo\_em.d03.nc}\ldots; \ttt{real.exe} yields \ttt{wrfinput\_d01}, \ttt{wrfinput\_d02}, \ttt{wrfinput\_d03}, \ldots; \ttt{wrf.exe} yields \ttt{wrfout\_d01*}, \ttt{wrfout\_d02*}, \ttt{wrfout\_d03*}, \ldots 20 38 21 39 \paragraph{Useful remarks} The model presently supports 3 nests, but more nests can be included by adaptating \ttt{runmeso} and the following files: … … 28 46 \end{verbatim} 29 47 30 grid points - 1 est divisé par nproc et ratio dx31 exemple: 4 domaines et ratio 3 : il faut multiple de 12 (+1)32 33 attention seulement 4 processeurs34 35 nests >> commencer par faire un test nest par nest en en rajoutant un n-1 à chaque succès au niveau n36 -- une instabilité dans le nest 2 peut provenir du nest 1. stabiliser le nest 1 tout d'abord.37 38 resolution à virgule au moins précis à deux chiffres entre WPS et WRF39 40 48 \mk 41 49 \section{Running simulations with tracers} 42 50 43 mars: number of corresponding tracers 51 \paragraph{Preparing namelist.input} The default behavior of the model is to include no tracer transported by the dynamics and influenced by physical parameterization. This corresponds to \ttt{mars=0} in \ttt{namelist.input} (or the absence of parameter \ttt{mars} from the user's namelist). To compute the water cycle in the LMD Martian Mesoscale Model, simply set \ttt{mars=1} in \ttt{namelist.input} (category \ttt{\&physics}). This will add one tracer for water vapor and one tracer for water ice in the model's computations and outputs. To compute a mesoscale simulation with one simple transported dust bin (with typical characteristics), set \ttt{mars=2} in \ttt{namelist.input}. 44 52 53 \paragraph{GCM inputs} For water cycle simulations (\ttt{mars=1}), the GCM runs used to build initial and boundary conditions for the mesoscale model must also include water tracers. This is done by default in parameter files in \ttt{\$MESO/LMDZ.MARS/myGCM}, compiler wrapper \ttt{\$MESO/LMDZ.MARS/compile} and the database of start files \ttt{STARTBASE\_64\_48\_32\_t2}. 45 54 55 \paragraph{Preparing callphys.def} It is important to set \ttt{callphys.def} in accordance with the option chosen for the keyword \ttt{mars} in \ttt{namelist.input}. For instance, for water cycle simulations (\ttt{mars=1}), the following settings must be changed in \ttt{callphys.def}: \ttt{tracer}, \ttt{sedimentation}, \ttt{iceparty}, \ttt{water} shall be \ttt{T}. 46 56 47 \mk 48 \section{Running simulations with the new physics} 49 different callphys.def 50 the step datafile.h is not needed anymore ! use callphys.def. 51 traceur.def 52 run.def 53 different callphys.def 54 makemeso -p 57 \paragraph{Compiling} It is key to recompile the LMD Martian Mesoscale Model with \ttt{makemeso} each time the number of transported tracers has changed, which would most often be the case if you modify \ttt{mars} in \ttt{namelist.input}. The right number of tracers corresponding to the \ttt{mars} case you are setting must be specify when answering questions to the \ttt{makemeso} script. This is done automatically of course if you use \ttt{runmeso} which reads the information in \ttt{namelist.input}. 58 59 \paragraph{Inputs/outputs} Additional fields corresponding to tracer mixing ratios (e.g. \ttt{QH2O} for water vapor) are automatically output in \ttt{wrfout*} files if a different option than~\ttt{0} is used for the \ttt{mars} keyword. Note that when a large number of tracers is set, output files might grow very large quickly after the mesoscale simulation was launched. 60 61 \paragraph{Test case} A good test case consists in coming back to the Arsia simulation described in~\ref{sc:arsia} and activate the water cycle. Add \ttt{mars=1} to \ttt{namelist.input}, change \ttt{callphys.def} as described previously. Launch \ttt{runmeso} and choose \ttt{3} (i.e. recompile the model, run \ttt{real.exe} so that initial and boundary conditions for water are included, eventually run \ttt{wrf.exe}). Check for tracer fields in output files \ttt{wrfout*}. 55 62 56 63 \mk 57 64 \section{Running Large-Eddy Simulations} 58 65 59 \mk 60 \section{Controlling which fields to output} 61 %\section{geogrid.tbl} 66 \paragraph{Prerequisites} Large-Eddy Simulations are very specific applications of the LMD Martian Meso\-scale Model which allow the user to simulate boundary layer turbulent convection in idealized conditions. We recommend to read section 3.4 of \textit{Spiga and Forget} [2009] and the first three sections of \textit{Spiga et al.} [2010]. 67 68 \paragraph{Preparing namelist.input} A typical parameter file \ttt{namelist.input\_les} is given in what follows (and could be found in \ttt{\$MMM/SIMU}). Settings specific to Large-Eddy Simulations are referred to as \ttt{LES}. The main differences with regular mesoscale simulations are the following: 69 \begin{citemize} 70 \item the duration of simulation is specified in seconds, 71 \item model top is specified as altitude above surface, 72 \item the dynamical timestep and the spatial resolutions are much smaller, 73 \item an additional \ttt{isfflx} keyword defines surface forcings (\ttt{1} is recommended), 74 \item albedo and thermal inertia have to be set with uniform user-defined values, 75 \item idealized wind profile is often assumed, 76 \item \ttt{\&dynamics} keywords are adapted to small-scale diffusion, 77 \item periodic boundary conditions are set on the horizontal grid. 78 \end{citemize} 62 79 63 80 \scriptsize 64 \codesource{ Registry.EM.extract}81 \codesource{namelist.input_les} 65 82 \normalsize 66 83 67 ne pas déclarer un 2D en 3D et cioce versa 68 FAIRE registry.bash UNEFOISFINI 84 \vskip 0.4cm 69 85 70 \mk 71 \section{Interpolating outputs on altitude and pressure levels}\label{postproc} 72 \ttt{api} 86 \paragraph{Preparing callphys.def} It is essential that \ttt{calldifv} is set to \ttt{T} and \ttt{calladj} is set to \ttt{F}. Generally \ttt{iaervar} is set to \ttt{1} so that the (uniform) opacity in the domain can be set by creating a text file named \ttt{dustopacity.def} with the chosen value for opacity in it. 73 87 74 \mk 75 \section{Generating maps for winds and meteorological fields}\label{plots} 88 \paragraph{Compiling} The dynamical core used for Martian Large-Eddy Simulations is different than usual mesoscale simulations; it is based on WRF v3 instead of WRF v2. The first time the model is compiled, the user has to install it by typing the following commands: 89 \begin{verbatim} 90 cd $MMM/SRC/LES 91 ./LMD_LES_MARS_install 92 cd $MMM 93 \end{verbatim} 94 The compilation of the Large-Eddy Simulations model is carried out through the command: 95 \begin{verbatim} 96 makemeso -c les 97 \end{verbatim} 98 This creates a new compilation folder with prefix \ttt{les} in which to find the executables once the model is compiled. Answers to \ttt{makemeso} must be compliant with settings in \ttt{namelist.input}. 76 99 77 \ttt{python} 78 \ttt{idl} ? 100 \paragraph{Inputs/outputs} Large-Eddy Simulations need four input files \ttt{input\_coord}, \ttt{input\_sounding}, \ttt{input\_more}, \ttt{input\_therm} which define initial pressure, temperature, density, winds profiles at the location/season for which simulations are run, along with information about this location/season. Typical files are available upon request, or you might simply build your own profiles using the Mars Climate Database (see the sample \ttt{scilab} script \ttt{wrf\_sounding.sci} in \ttt{\$MMM/SIMU/RUN}). Examples for \ttt{input\_*} files are provided in \ttt{\$MMM/SIMU/DEF/LMD\_LES\_MARS\_def} and correspond to the cases run in the study by \textit{Spiga et al.} [2010]. 79 101 102 \begin{citemize} 103 \item \ttt{input\_coord} contains longitude, latitude, $L_s$ and local time; 104 \item \ttt{input\_sounding} contains (first line) near-surface pressure (mbar), potential temperature, a dummy value; and (subsequent lines) altitudes above MOLA zero datum, potential temperatures, dummy value, zonal wind component, meridional wind component; 105 \item \ttt{input\_more} contains on the same line altimetry and surface temperature; 106 \item \ttt{input\_therm} contains lines corresponding values for (from left column to right column)~$R$, $c_p$, pressure, density, temperature. 107 \end{citemize} 108 109 \paragraph{Running} Large-Eddy Simulations are not supported by \ttt{runmeso}. After compiling the model with the command \ttt{makemeso -c les}, please copy the executables \ttt{ideal.exe} and \ttt{wrf.exe} from the compilation directory \ttt{\$MMM/les*} towards your simulation directory where the \ttt{input\_*} files are located. Running \ttt{ideal.exe} would generate the initial state from the profiles provided in the \ttt{input\_*} files, then running \ttt{wrf.exe} would launch the model's integrations. 110 111 112 %ze_hill ??? 113 114 115 %\mk 116 %\section{Running simulations with the new physics} 117 %different callphys.def 118 %the step datafile.h is not needed anymore ! use callphys.def. 119 %traceur.def 120 %run.def 121 %different callphys.def 122 %makemeso -p 123 %% mars = 3 ---> cycle poussieres : dustq + dustn [NOUVELLE PHYS seulement] 124 %% mars = 11 ---> cycle de l'eau + poussieres [1+3] [NOUVELLE PHYS seulement] 125 %% LES LES -
trunk/MESOSCALE_DEV/MANUAL/SRC/compile_exec.tex
r230 r258 57 57 Contents of~\ttt{LMD\_MM\_MARS/SIMU} subdirectory: 58 58 \begin{citemize} 59 \item \ttt{dustopacity.def}, \ttt{namelist.input\_full}, \ttt{namelist.input\_minim}, \ttt{ run.def}, \ttt{namelist.wps}: these are usefulfiles to guide you through setting up your own parameters for the LMD Martian Mesoscale Model simulations.59 \item \ttt{dustopacity.def}, \ttt{namelist.input\_full}, \ttt{namelist.input\_minim}, \ttt{namelist.input\_nests}, \ttt{namelist.input\_les}, \ttt{run.def}, \ttt{namelist.wps}, \ttt{namelist.wps\_les}: these are useful template files to guide you through setting up your own parameters for the LMD Martian Mesoscale Model simulations. 60 60 \item \ttt{calendar}: this is a text file containing time management information in the model. 61 61 \item \ttt{runmeso}: this is a \ttt{bash} script that can be used once the model and preprocessing systems are installed; it prepares and runs a mesoscale simulation by going from step~1 to~4. … … 124 124 \begin{asparaenum}[1.]%[\itshape Q1\upshape)] 125 125 \item \textbf{choice of compiler}\footnote{We advise you to compile the model on the same kind of system (computer + operating system + librairies) as the one you plan to use to run the model.} 126 \item[1.bis] (mpi-based compilation) number of processors to be used \footnote{If you use grid nesting, note that no more than $4$ processors can be used.}126 \item[1.bis] (mpi-based compilation) number of processors to be used 127 127 \item \textbf{number of grid points in longitude}\footnote{When you use parallel computations, please bear in mind that with $2$ (respectively $4$, $6$, $8$, $12$, $16$, $20$, $24$, $32$, $64$, $128$) processors the whole domain would be separated into $1$ (resp. $2$, $2$, $2$, $3$, $4$, $4$, $4$, $4$, $8$, $8$) tile over the longitude direction and $2$ (resp. $2$, $3$, $4$, $4$, $4$, $5$, $6$, $8$, $8$, $16$) tiles over the latitude direction. Thus make sure that the number of grid points minus $1$ in each direction could be divided by the aforementioned number of tiles over the considered direction. For instance a~$82 \times 109$ horizontal grid is compliant with the use of~$12$ processors.} [61] 128 128 \item \textbf{number of grid points in latitude} [61] -
trunk/MESOSCALE_DEV/MANUAL/SRC/parameters.tex
r257 r258 1 \chapter{Setting thesimulation parameters}\label{zeparam}1 \chapter{Setting simulation parameters}\label{zeparam} 2 2 3 3 \vk … … 73 73 \mk 74 74 \begin{finger} 75 \item In the given example convective adjustment , gravity wave parameterization and NLTE schemesare turned off, as is usually the case in typical Martian tropospheric mesoscale simulations (see chapter~\ref{whatis}).75 \item In the given example convective adjustment \ttt{calladj}, gravity wave parameterization \ttt{calllott} and NLTE schemes \ttt{callnlte} are turned off, as is usually the case in typical Martian tropospheric mesoscale simulations (see chapter~\ref{whatis}). 76 76 \item \ttt{iradia} sets the frequency (in dynamical timesteps) at which the radiative computations are performed. To obtain the interval in seconds at which radiative computations are performed, one simply has to multiply \ttt{iradia} to the value of \ttt{time\_step} in \ttt{namelist.input}. 77 77 \end{finger} -
trunk/MESOSCALE_DEV/MANUAL/SRC/these_spiga.sty
r209 r258 51 51 %\usepackage[pdftex]{graphicx} 52 52 53 54 \def\thechapter {\ Roman{chapter}}53 %\Roman 54 \def\thechapter {\arabic{chapter}} 55 55 \def\thesection {\thechapter.\arabic{section}} 56 56 \def\thesubsection {\thesection.\arabic{subsection}} -
trunk/MESOSCALE_DEV/MANUAL/SRC/user_manual.tex
r257 r258 94 94 \include{guide} 95 95 \include{advance} 96 %\include{postproc} 96 97 \include{faq} 97 98
Note: See TracChangeset
for help on using the changeset viewer.