Changeset 5744


Ignore:
Timestamp:
Sep 7, 2008, 11:19:32 AM (14 years ago)
Author:
steve
Message:

Had a problem with datetime package in the user manual, caused an error because of conflict with language, so added package babel (found discussion via google search "undefined \ier \ordinaldatefrench")

File:
1 edited

Legend:

Unmodified
Added
Removed
  • anuga_core/documentation/user_manual/anuga_user_manual.tex

    r5730 r5744  
    3232
    3333\usepackage{graphicx}
     34\usepackage[english]{babel}
    3435\usepackage{datetime}
    3536
     
    8586
    8687
     88
    8789% This makes the contents more accessible from the front page of the HTML.
    8890\ifhtml
     
    155157\section{Audience}
    156158
    157 Readers are assumed to be familiar with the Python Programming language and 
     159Readers are assumed to be familiar with the Python Programming language and
    158160its object oriented approach.
    159 Python tutorials include 
     161Python tutorials include
    160162\url{http://docs.python.org/tut},
    161163\url{http://www.sthurlow.com/python}, and
     
    235237  ANUGA is unsuitable for modelling flows in areas larger than one UTM zone
    236238  (6 degrees wide).
    237   \item Fluid is assumed to be inviscid - i.e.\ no kinematic viscosity included. 
     239  \item Fluid is assumed to be inviscid - i.e.\ no kinematic viscosity included.
    238240  \item The finite volume is a very robust and flexible numerical technique,
    239241  but it is not the fastest method around. If the geometry is sufficiently
     
    17151717
    17161718
    1717 \begin{methoddesc}  {import_ungenerate_file}{self,ofile, tag=None, 
     1719\begin{methoddesc}  {import_ungenerate_file}{self,ofile, tag=None,
    17181720region_tag=None}
    17191721Module: \module{pmesh.mesh},  Class: \class{Mesh}
     
    22682270
    22692271Optional argument \code{default\_boundary} can be used to specify another boundary object to be used in case model time exceeds the time availabel in the file used by \code{File\_boundary}.
    2270 The \code{default\_boundary} could be a simple Dirichlet condition or 
    2271 even another \code{File\_boundary} 
    2272 typically using data pertaining to another time interval. 
     2272The \code{default\_boundary} could be a simple Dirichlet condition or
     2273even another \code{File\_boundary}
     2274typically using data pertaining to another time interval.
    22732275\end{classdesc}
    22742276
     
    22762278Module: \module{shallow\_water.shallow\_water\_domain}
    22772279
    2278 This method works in the same way as \code{File\_boundary} except that it 
    2279 allows for the value of stage to be offset by a constant specified in the 
     2280This method works in the same way as \code{File\_boundary} except that it
     2281allows for the value of stage to be offset by a constant specified in the
    22802282keyword argument \code{mean\_stage}.
    22812283
    22822284This functionality allows for models to be run for a range of tides using
    22832285the same boundary information (from .sts, .sww or .tms files). The tidal value
    2284 for each run would then be specified in the keyword argument 
    2285 \code{mean\_stage}. 
    2286 If \code{mean\_stage} = 0.0, \code{Field\_boundary} and \code{File\_boundary} 
    2287 behave identically. 
     2286for each run would then be specified in the keyword argument
     2287\code{mean\_stage}.
     2288If \code{mean\_stage} = 0.0, \code{Field\_boundary} and \code{File\_boundary}
     2289behave identically.
    22882290
    22892291
    22902292Note that if the optional argument \code{default\_boundary} is specified
    22912293it's stage value will be adjusted by \code{mean\_stage} just like the values
    2292 obtained from the file. 
     2294obtained from the file.
    22932295
    22942296See \code{File\_boundary} for further details.
     
    23422344
    23432345\anuga provides a number of predefined forcing functions to be used with simulations.
    2344 Gravity and friction are always calculated using the elevation and friction quantities, but the user may additionally add forcing terms to the list 
    2345 \code{domain.forcing\_terms} and have them affect the model. 
    2346  
     2346Gravity and friction are always calculated using the elevation and friction quantities, but the user may additionally add forcing terms to the list
     2347\code{domain.forcing\_terms} and have them affect the model.
     2348
    23472349Currently, predefined forcing terms are
    23482350
     
    23522354  This is a general class to modify any quantity according to a given rate of change.
    23532355  Other specific forcing terms are based on this class but it can be used by itself as well (e.g.\ to modify momentum).
    2354  
     2356
    23552357  The General\_forcing class takes as input:
    2356   \begin{itemize} 
     2358  \begin{itemize}
    23572359    \item \code{domain}: a reference to the domain being evolved
    23582360    \item \code{quantity\_name}: The name of the quantity that will be affected by this forcing term
    23592361    \item \code{rate}: The rate at which the quantity should change. The parameter \code{rate} can be eithe a constant or a
    2360                 function of time. Positive values indicate increases, 
     2362                function of time. Positive values indicate increases,
    23612363                negative values indicate decreases.
    23622364                The parametr \code{rate} can be \code{None} at initialisation but must be specified
     
    23692371  Moreover, if the specified polygon or circle does not lie fully within the mesh boundary an Exception will be thrown.
    23702372
    2371   \bigskip 
     2373  \bigskip
    23722374  Example:
    2373   {\scriptsize \begin{verbatim} 
     2375  {\scriptsize \begin{verbatim}
    23742376    P = [[x0, y0], [x1, y0], [x1, y1], [x0, y1]] # Square polygon
    2375  
     2377
    23762378    xmom = General_forcing(domain, 'xmomentum', polygon=P)
    23772379    ymom = General_forcing(domain, 'ymomentum', polygon=P)
     
    23792381    xmom.rate = f
    23802382    ymom.rate = g
    2381  
     2383
    23822384    domain.forcing_terms.append(xmom)
    23832385    domain.forcing_terms.append(ymom)   
    23842386  \end{verbatim}}
    23852387  Here, \code{f}, \code{g} are assumed to be defined as functions of time providing a time dependent rate of change for xmomentum and ymomentum respectively.
    2386   P is assumed to be polygon, specified as a list of points. 
    2387  
    2388 \end{funcdesc} 
     2388  P is assumed to be polygon, specified as a list of points.
     2389
     2390\end{funcdesc}
    23892391
    23902392
     
    23942396  This is a general class for inflow and abstraction of water according to a given rate of change.
    23952397  This class will always modify the \code{stage} quantity.
    2396  
     2398
    23972399  Inflow is based on the General_forcing class so the functionality is similar.
    2398  
     2400
    23992401  The Inflow class takes as input:
    2400   \begin{itemize} 
     2402  \begin{itemize}
    24012403    \item \code{domain}: a reference to the domain being evolved
    24022404    \item \code{rate}: The flow rate in $m^3/s$ at which the stage should change. The parameter \code{rate} can be eithe a constant or a
    2403                 function of time. Positive values indicate inflow, 
     2405                function of time. Positive values indicate inflow,
    24042406                negative values indicate outflow.
    24052407               
    24062408                Note: The specified flow will be divided by the area of
    24072409                the inflow region and then applied to update the
    2408                 stage quantity.     
     2410                stage quantity.
    24092411    \item \code{center, radius}: Optionally restrict forcing to a circle with given center and radius.
    24102412    \item \code{polygon}: Optionally restrict forcing to an area enclosed by given polygon.             
    24112413  \end{itemize}
    24122414
    2413   \bigskip     
     2415  \bigskip
    24142416  Example:
    2415   {\scriptsize \begin{verbatim} 
     2417  {\scriptsize \begin{verbatim}
    24162418    hydrograph = Inflow(center=(320, 300), radius=10,
    24172419                        rate=file_function('QPMF_Rot_Sub13.tms'))
     
    24202422  \end{verbatim}}
    24212423  Here, \code{'QPMF_Rot_Sub13.tms'} is assumed to be a NetCDF file in the format \code{tms} defining a timeseries for a hydrograph.
    2422 \end{funcdesc} 
     2424\end{funcdesc}
    24232425
    24242426
     
    24282430  This is a general class for implementing rainfall over the domain, possibly restricted to a given circle or polygon.
    24292431  This class will always modify the \code{stage} quantity.
    2430  
     2432
    24312433  Rainfall is based on the General_forcing class so the functionality is similar.
    2432  
     2434
    24332435  The Rainfall class takes as input:
    2434   \begin{itemize} 
     2436  \begin{itemize}
    24352437    \item \code{domain}: a reference to the domain being evolved
    2436     \item \code{rate}: Total rain rate over the specified domain. 
     2438    \item \code{rate}: Total rain rate over the specified domain.
    24372439                  Note: Raingauge Data needs to reflect the time step.
    24382440                  For example: if rain gauge is mm read every \code{dt} seconds, then the input
     
    24412443       
    24422444                  This parameter can be either a constant or a
    2443                   function of time. Positive values indicate rain being added (or be used for general infiltration), 
     2445                  function of time. Positive values indicate rain being added (or be used for general infiltration),
    24442446                  negative values indicate outflow at the specified rate (presumably this could model evaporation or abstraction).
    24452447    \item \code{center, radius}: Optionally restrict forcing to a circle with given center and radius.
    24462448    \item \code{polygon}: Optionally restrict forcing to an area enclosed by given polygon.             
    24472449  \end{itemize}
    2448  
    2449   \bigskip   
     2450
     2451  \bigskip
    24502452  Example:
    2451   {\scriptsize \begin{verbatim} 
    2452  
    2453     catchmentrainfall = Rainfall(rain=file_function('Q100_2hr_Rain.tms')) 
     2453  {\scriptsize \begin{verbatim}
     2454
     2455    catchmentrainfall = Rainfall(rain=file_function('Q100_2hr_Rain.tms'))
    24542456    domain.forcing_terms.append(catchmentrainfall)
    24552457
    24562458  \end{verbatim}}
    24572459  Here, \code{'Q100_2hr_Rain.tms'} is assumed to be a NetCDF file in the format \code{tms} defining a timeseries for the rainfall.
    2458 \end{funcdesc} 
     2460\end{funcdesc}
    24592461
    24602462
     
    24652467  This is a general class for implementing flow through a culvert.
    24662468  This class modifies the quantities \code{stage, xmomentum, ymomentum} in areas at both ends of the culvert.
    2467  
     2469
    24682470  The Culvert\_flow forcing term uses \code{Inflow} and {General\_forcing} to update the quantities. The flow drection is determined on-the-fly so
    24692471  openings are referenced simple as opening0 and opening1 with either being able to take the role as Inflow and Outflow.
    2470  
     2472
    24712473  The Culvert\_flow class takes as input:
    2472   \begin{itemize} 
     2474  \begin{itemize}
    24732475    \item \code{domain}: a reference to the domain being evolved
    24742476    \item \code{label}: Short text naming the culvert
    24752477    \item \code{description}: Text describing it
    2476     \item \code{end_point0}: Coordinates of one opening 
     2478    \item \code{end_point0}: Coordinates of one opening
    24772479    \item \code{end_point1}: Coordinates of other opening
    2478     \item \code{width}: 
     2480    \item \code{width}:
    24792481    \item \code{height}:
    24802482    \item \code{diameter}:
     
    24862488
    24872489  The user can specify different culvert routines. Hower ANUGA currently provides only one, namely the \code{boyd\_generalised\_culvert\_model} as used in the example below.
    2488      
    2489   \bigskip       
     2490
     2491  \bigskip
    24902492  Example:
    2491   {\scriptsize \begin{verbatim} 
     2493  {\scriptsize \begin{verbatim}
    24922494    from anuga.culvert_flows.culvert_class import Culvert_flow
    2493     from anuga.culvert_flows.culvert_routines import boyd_generalised_culvert_model 
     2495    from anuga.culvert_flows.culvert_routines import boyd_generalised_culvert_model
    24942496
    24952497    culvert1 = Culvert_flow(domain,
    24962498                           label='Culvert No. 1',
    2497                            description='This culvert is a test unit 1.2m Wide by 0.75m High',   
    2498                            end_point0=[9.0, 2.5], 
     2499                           description='This culvert is a test unit 1.2m Wide by 0.75m High',
     2500                           end_point0=[9.0, 2.5],
    24992501                           end_point1=[13.0, 2.5],
    25002502                           width=1.20,height=0.75,
    2501                            culvert_routine=boyd_generalised_culvert_model,       
     2503                           culvert_routine=boyd_generalised_culvert_model,
    25022504                           verbose=True)
    25032505
    25042506    culvert2 = Culvert_flow(domain,
    25052507                           label='Culvert No. 2',
    2506                            description='This culvert is a circular test with d=1.2m',   
    2507                            end_point0=[9.0, 1.5], 
     2508                           description='This culvert is a circular test with d=1.2m',
     2509                           end_point0=[9.0, 1.5],
    25082510                           end_point1=[30.0, 3.5],
    25092511                           diameter=1.20,
    25102512                           invert_level0=7,
    2511                            culvert_routine=boyd_generalised_culvert_model,       
     2513                           culvert_routine=boyd_generalised_culvert_model,
    25122514                           verbose=True)
    2513                            
     2515
    25142516    domain.forcing_terms.append(culvert1)
    25152517    domain.forcing_terms.append(culvert2)
    25162518
    2517    
     2519
    25182520  \end{verbatim}}
    2519 \end{funcdesc} 
     2521\end{funcdesc}
    25202522
    25212523
     
    26672669  \end{funcdesc}
    26682670
    2669  
     2671
    26702672
    26712673  \begin{funcdesc}{set\_values}{location='vertices', indices = None}
     
    26752677  This method works the same way as \code{set\_quantity} except that it doesn't take
    26762678  a quantity name as the first argument. The reason to use \code{set\_values} is for
    2677   example to assign values to a new quantity that has been created but which is 
     2679  example to assign values to a new quantity that has been created but which is
    26782680  not part of the domain's predefined quantities.
    26792681
    2680   The method \code{set\_values} is always called by \code{set\_quantity} 
    2681   behind the scenes. 
    2682  
     2682  The method \code{set\_values} is always called by \code{set\_quantity}
     2683  behind the scenes.
     2684
    26832685  \end{funcdesc}
    2684  
    2685  
     2686
     2687
    26862688
    26872689  \begin{funcdesc}{get\_integral}{}
     
    28312833
    28322834  Inputs:
    2833   \begin{itemize} 
     2835  \begin{itemize}
    28342836        \item filename: Name of sww file containing ANUGA model output.
    28352837        \item polyline: Representation of desired cross section - it may contain multiple
    28362838          sections allowing for complex shapes. Assume absolute UTM coordinates.
    2837   \end{itemize} 
     2839  \end{itemize}
    28382840
    28392841  Output:
     
    28412843    \item time: All stored times in sww file
    28422844    \item Q: Hydrograph of total flow across given segments for all stored times.
    2843   \end{itemize} 
    2844  
     2845  \end{itemize}
     2846
    28452847  The normal flow is computed for each triangle intersected by the polyline and
    28462848  added up.  Multiple segments at different angles are specified the normal flows
    28472849  may partially cancel each other.
    2848  
     2850
    28492851  Example to find flow through cross section:
    2850  
    2851   \begin{verbatim} 
     2852
     2853  \begin{verbatim}
    28522854  cross_section = [[x, 0], [x, width]]
    28532855  time, Q = get_flow_through_cross_section(filename,
    28542856                                           cross_section,
    28552857                                           verbose=False)
    2856   \end{verbatim} 
     2858  \end{verbatim}
    28572859
    28582860
    28592861  See doc string for general function get_maximum_inundation_data for details.
    2860  
     2862
    28612863\end{funcdesc}
    28622864
     
    31513153
    31523154  Takes data from an SWW file \code{basename_in} and converts it to DEM format (ASC or
    3153   ERS) of a desired grid size \code{cellsize} in metres. The user can select how 
    3154   many the decimal places the output data can be written to using \code{number_of_decimal_places}, 
     3155  ERS) of a desired grid size \code{cellsize} in metres. The user can select how
     3156  many the decimal places the output data can be written to using \code{number_of_decimal_places},
    31553157  with the default being 3.
    31563158  The easting and northing values are used if the user wished to determine the output
     
    31703172  \end{funcdesc}
    31713173
    3172   \begin{funcdesc}{urs2sts}{basename_in, basename_out=None, 
    3173             weights=None, verbose=False, 
    3174             origin=None,mean_stage=0.0, 
     3174  \begin{funcdesc}{urs2sts}{basename_in, basename_out=None,
     3175            weights=None, verbose=False,
     3176            origin=None,mean_stage=0.0,
    31753177            zscale=1.0, ordering_filename=None}
    31763178  Module: \module{shallow\_water.data\_manager}
     
    32413243
    32423244As demonstrated in our papers, \cite{ZR1999,nielsen2005} these
    3243 equations and their implementation in \anuga provide a reliable 
    3244 model of general flows associated with inundation such as dam breaks 
     3245equations and their implementation in \anuga provide a reliable
     3246model of general flows associated with inundation such as dam breaks
    32453247and tsunamis.
    32463248
     
    33443346observed CFL condition:
    33453347
    3346 \begin{equation} 
     3348\begin{equation}
    33473349  \Delta t = \min_{k,i=[0,1,2]}  \min \left( \frac{r_k}{v_{k,i}}, \frac{r_{n_{k,i}}}{v_{k,i}} \right )
    33483350  \label{eq:CFL condition}
    3349 \end{equation} 
    3350 where $r_k$ is the radius of the $k$'th triangle and $v_{k,i}$ is the maximal velocity across 
    3351 edge joining triangle $k$ and it's $i$'th neighbour, triangle $n_{k,i}$, as calculated by the 
    3352 numerical flux function 
    3353 using the central upwind scheme of \cite{KurNP2001}. The symbol $r_{n_{k,i}}$  denotes the radius 
    3354 of the $i$'th neighbour of triangle $k$. The radii are calculated as radii of the inscribed circles 
     3351\end{equation}
     3352where $r_k$ is the radius of the $k$'th triangle and $v_{k,i}$ is the maximal velocity across
     3353edge joining triangle $k$ and it's $i$'th neighbour, triangle $n_{k,i}$, as calculated by the
     3354numerical flux function
     3355using the central upwind scheme of \cite{KurNP2001}. The symbol $r_{n_{k,i}}$  denotes the radius
     3356of the $i$'th neighbour of triangle $k$. The radii are calculated as radii of the inscribed circles
    33553357of each triangle.
    33563358
     
    37843786  is either a constant value or a function of coordinates \code{x}
    37853787  and \code{y}, specifying the return value for a point inside \code{P}. The
    3786   optional parameter \code{default} may be used to specify a value 
     3788  optional parameter \code{default} may be used to specify a value
    37873789  (or a function)
    37883790  for a point not lying inside any of the specified polygons. When a
     
    37923794  %FIXME (Howard): CAN x, y BE VECTORS?
    37933795  The optional parameter geo\_reference refers to the status of points
    3794   that are passed into the function. Typically they will be relative to 
     3796  that are passed into the function. Typically they will be relative to
    37953797  some origin. In ANUGA, a typical call will take the form:
    37963798  {\small \begin{verbatim}
    3797      set_quantity('elevation', 
     3799     set_quantity('elevation',
    37983800                  Polygon_function([(P1, v1), (P2, v2)],
    37993801                                   default=v3,
    38003802                                   geo_reference=domain.geo_reference))
    38013803  \end{verbatim}}
    3802  
     3804
    38033805
    38043806  \end{classdesc}
     
    38803882  \begin{funcdesc}{plot\_polygons}{polygons, style, figname, verbose = False}
    38813883    Module: \code{utilities.polygon}
    3882  
     3884
    38833885    Plots each polygon contained in input polygon list, e.g.
    38843886   \code{polygons = [poly1, poly2, poly3]} where \code{poly1 = [[x11,y11],[x12,y12],[x13,y13]]}
     
    39353937first one.
    39363938
    3937 Note that the Geospatial\_data object currently reads entire datasets 
    3938 into memory i.e.\ no memomry blocking takes place. 
     3939Note that the Geospatial\_data object currently reads entire datasets
     3940into memory i.e.\ no memomry blocking takes place.
    39393941For this we refer to the set\_quantity method which will read .pts and .csv files into \anuga using memory blocking allowing large files to be used.
    39403942\end{classdesc}
     
    40204022smaller the original and the second is the remainder. The two
    40214023new object are disjoin set of each other.
    4022        
    4023 Points of the two new geospatial_data object are selected RANDOMLY. 
    4024        
     4024
     4025Points of the two new geospatial_data object are selected RANDOMLY.
     4026
    40254027Input - the (\code{factor}) which to split the object, if 0.1 then 10% of the
    40264028together object will be returned
    4027        
     4029
    40284030Output - two geospatial_data objects that are disjoint sets of the original
    40294031\end{methoddesc}
     
    40324034north_boundary=None, south_boundary=None, east_boundary=None, west_boundary=None, plot_name='all_alphas', split_factor=0.1, seed_num=None, cache=False, verbose=False}
    40334035
    4034 Removes a small random sample of points from 'data_file'. Creates 
    4035 models from resulting points in 'data_file' with different alpha values from 'alpha_list' and cross validates 
     4036Removes a small random sample of points from 'data_file'. Creates
     4037models from resulting points in 'data_file' with different alpha values from 'alpha_list' and cross validates
    40364038the predicted value to the previously removed point data. Returns the
    40374039alpha value which has the smallest covariance.
    40384040
    40394041data_file: must not contain points outside the boundaries defined
    4040 and it either a pts, txt or csv file. 
    4041    
     4042and it either a pts, txt or csv file.
     4043
    40424044alpha_list: the alpha values to test in a single list
    4043    
    4044 mesh_file: name of the created mesh file or if passed in will read it. 
     4045
     4046mesh_file: name of the created mesh file or if passed in will read it.
    40454047NOTE, if there is a mesh file mesh_resolution, north_boundary, south... etc will be ignored.
    4046    
     4048
    40474049mesh_resolution: the maximum area size for a triangle
    4048    
     4050
    40494051north_boundary... west_boundary: the value of the boundary
    4050    
     4052
    40514053plot_name: the name for the plot contain the results
    4052    
     4054
    40534055seed_num: the seed to the random number generator
    4054    
     4056
    40554057USAGE:
    4056 convariance_value, alpha = find_optimal_smoothing_parameter(data_file=fileName, 
     4058convariance_value, alpha = find_optimal_smoothing_parameter(data_file=fileName,
    40574059                                             alpha_list=[0.0001, 0.01, 1],
    40584060                                             mesh_file=None,
     
    40654067                                             seed_num=100000,
    40664068                                             verbose=False)
    4067    
    4068 OUTPUT: returns the minumum normalised covalance calculate AND the 
     4069
     4070OUTPUT: returns the minumum normalised covalance calculate AND the
    40694071alpha that created it. PLUS writes a plot of the results
    4070            
     4072
    40714073NOTE: code will not work if the data_file extent is greater than the
    40724074boundary_polygon or any of the boundaries, eg north_boundary...west_boundary
     
    42724274\section{\module{shallow\_water}}
    427342752D triangular domains for finite-volume
    4274 computations of the shallow water wave equation. 
     4276computations of the shallow water wave equation.
    42754277This module contains a specialisation of class Domain from module domain.py consisting of methods specific to the Shallow Water
    42764278Wave Equation
     
    43764378data is often sparse, or non-existent.
    43774379
    4378 Note that onshore DEMS can be much finer as the underlying datasets from which they 
    4379 are created often contain several datapoints per m$^2$. 
    4380 It may be necessary to thin out the data so that it can be imported 
    4381 without exceeding available memory. One tool available on the net is called 'decimate'. %FIXME: (Need reference?). 
     4380Note that onshore DEMS can be much finer as the underlying datasets from which they
     4381are created often contain several datapoints per m$^2$.
     4382It may be necessary to thin out the data so that it can be imported
     4383without exceeding available memory. One tool available on the net is called 'decimate'. %FIXME: (Need reference?).
    43824384
    43834385
     
    45504552\subsubsection{How do I extract elevation and other quantities from a SWW file?}
    45514553
    4552 The function \code{sww2dem} can extract any quantity, or expression using 
    4553 quantities, from a SWW file as used in 
     4554The function \code{sww2dem} can extract any quantity, or expression using
     4555quantities, from a SWW file as used in
    45544556the Cairns example described earlier. This function is used in \code{ExportResults.py}
    4555 in the Cairns demo folder where stage, absolute momentum, depth, speed and elevation 
     4557in the Cairns demo folder where stage, absolute momentum, depth, speed and elevation
    45564558can be exported from the input sww file. Note that depth, absolute momentum and speed
    45574559are expressions and stage and elevation are quantities. In addition to extracting a particular
    45584560quantity or expression, the user can define a region to extract these values by
    45594561defining the minimum and maximum of both the easting and northing coordinates. The function
    4560 also calls for a grid resolution, or cell size, to extract these values at. It is 
    4561 recommended to align this resolution with the mesh resolution in the desired region and to not 
     4562also calls for a grid resolution, or cell size, to extract these values at. It is
     4563recommended to align this resolution with the mesh resolution in the desired region and to not
    45624564generate a fine grid where the model output cannot support that resolution.
    45634565
    4564  
     4566
    45654567
    45664568\chapter{Glossary}
Note: See TracChangeset for help on using the changeset viewer.