... to be completed ...
In this chapter a brief, simple and complete parameter set is described, which can be used to carry out a model run. The presented example is available via example file and can be used (together with the configuration file described in chapter 3.2) for the execution of a simple model run.
This run simulates a quasi-stationary, convective, atmospheric boundary layer with zero mean horizontal wind. For evaluation purposes, cross sections and horizontally averaged vertical profiles of typical boundary layer variables are output at the end of the run. The run shall be carried out in batch mode on the IBM Regatta "hanni" of the HLRN.
The parameter file necessary to carry out a run must be provided to the model as an input file under the local name PARIN and has the following contents:
&inipar nx = 39, ny = 39, nz = 40,
dx = 50.0, dy = 50.0, dz = 50.0,
dz_stretch_level = 1200.0,
fft_method = 'temperton-algorithm',
initializing_actions = 'set_constant_profiles',
ug_surface = 0.0, vg_surface = 0.0,
pt_vertical_gradient = 0.0, 1.0,
pt_vertical_gradient_level = 0.0, 800.0,
surface_heatflux = 0.1, bc_pt_b = 'neumann',/
&d3par end_time = 3600.0,
create_disturbances = .T.,
dt_disturb = 150.0, disturbance_energy_limit = 0.01,
dt_run_control = 0.0,
data_output = 'w_xy', 'w_xz', 'w_xz_av', 'pt_xy', 'pt_xz',
dt_data_output = 900.0,
dt_data_output_av = 1800.0,
averaging_interval = 900.0,
dt_averaging_input = 10.0,
section_xy = 2, 10, section_xz = 20,
data_output_2d_on_each_pe = .F.,
dt_dopr = 900.0, averaging_interval_pr = 600.0,
dt_averaging_input_pr = 10.0,
data_output_pr = '#pt', 'w”pt”', 'w*pt*', 'wpt', 'w*2', 'pt*2',
cross_profiles = ' pt ', ' w"pt" w*pt* wpt ', ' w*2 ', ' pt*2 ',
cross_xtext = 'pot. temperature in K',
'heat flux in K ms>->1',
'velocity variance in m>2s>->2',
'temperature variance in K>2',
z_max_do1d = 1500.0, /
The initialization parameters (&inipar) are located at the beginning of the file. For analysis of a convective boundary layer of approx. 1000 m thickness the horizontal size of the model domain should amount to at least 2 km x 2 km. In order to resolve the convective structures a grid spacing of dx = dy = dz = 50 m is enough, since the typical diameter of convective plumes is more than 100 m. Thereby the upper array index in the two horizontal directions needs to be nx = ny = 39. Since in each case the lower array index has the value 0, 40 grid points are used along both horizontal directions. In the vertical direction the domain must be high enough to include the entrainment processes at the top of the boundary layer as well as the propagation of gravity waves, which were stimulated by the convection. However, in the stably stratified region the grid resolution has not necessarily to be as high as within the boundary layer. This can be obtained by a vertical stretching of the grid starting from 1200 m via dz_stretch_level = 1200.0 m. This saves grid points and computing time. The upper boundary of the model is located at (see dz_stretch_factor) … m (computed by the model).
Fast Fourier transformations are calculated using the Temperton-algorithm, which -on the IBM Regatta- is faster than the default system-specific algorithm (from IBM essl library).
The initial profiles for wind and temperature can be assigned via initializing_actions = 'set_constant_profiles'. The wind speed, constant with height, amounts to ug_surface = vg_surface = 0.0 m/s. In order to allow for a fast onset of convection, a neutral stratified layer up to z = 800 m capped by an inversion with dtheta/dz = 1K/100 m is given: pt_vertical_gradient = 0.0, 1.0, pt_vertical_gradient_level = 0.0, 800.0. The surface temperature, which by default amounts to 300 K, provides the fixed point for the temperature profile (see pt_surface). Convection is driven by a given, near-surface sensible heat flux via surface_heatflux = 0.1 K m/s. A given surface sensible heta flux requires the bottom boundary condition for potential temperature to be bc_pt_b = 'neumann' . Thus all initialization parameters are determined. These can not be changed during the run (also not for restart runs).
Now the run parameters (&d3par) must be specified. To produce a quasi stationary boundary layer the simulated time should be at least one hour, i.e. end_time = 3600 s. To stimulate convection, the initially homogeneous (zero) wind field must be disturbed (create_disturbances = .T.). These perturbations should be repeated in a temporal interval of dt_disturb = 150.0 s until the energy of the perturbations exceeds the value disturbance_energy_limit = 0.01 m2/s2. After each time step run time informations (e.g. size of the timestep, maximum velocities, etc.) are to be written to the local file RUN_CONTROL (dt_run_control = 0.0 s).
Instantaneous cross section data of vertical velocity (w) and potential temperature (pt) are to be output for horizontal (xy) and vertical (xz) cross sections, and additionally, time averaged (av) vertical cross section data are to be output for the vertical velocity: data_output = 'w_xy', 'w_xz', 'w_xz_av', 'pt_xy', 'pt_xz'. Output of instantaneous (time averaged) data is done after each 900 (1800)s: dt_data_output = 900.0, dt_data_output_av = 1800.0. The averaged data are time averaged over the last 900.0 s, where the temporal interval of data entering the average is 10 s: averaging_interval = 900.0, dt_averaging_input = 10.0. Horizontal cross sections are output for vertical levels with grid index k=2 and k=10, vertical cross sections are output for index j=20: section_xy = 2, 10, section_xz = 20. For runs on more than one processor, cross section data are collected and output on PE0: data_output_2d_on_each_pe = .F..
Output of vertical profiles is to be done after each 900 s. The profiles shall be temporally averaged over the last 600 seconds, whereby the temporal interval of the profiles entering the average has to be 10 s: dt_dopr = 900.0 s, averaging_interval_pr = 600.0 s, dt_averaging_input_pr = 10.0 s. The temperature profile including the initial temperature profile (therefore '#pt'), the subgrid scale, resolved and total vertical sensible heat flux as well as the variances of the vertical velocity and the potential temperature are to be output: data_output_pr = '#pt', 'w"pt”', 'w*pt*', 'wpt', 'w*2', 'pt*2'.
If the data output format for graphic software profil is selected (see data_output_format), the temperature profile and the individual variances are to be drawn into independent coordinate systems, and in contrast to this all heat flux profiles are to be drawn into the same system: cross_profiles = 'pt', 'w"pt"w*pt*wpt', 'w*2', 'pt*2'. The legend of the x axes of these systems is set to cross_xtext= 'pot. temperature in K', 'heat flux in K ms>->1', 'velocity variance in m>2s>->2', 'temperature variance in K>2'. The profiles are to be drawn up to a height level of z_max_do1d = 1500.0 m.
Before starting the model on the parallel computer, the number of processing elements must be specified. Since relatively few grid points are used for this run, choosing of e.g. 8 PEs is sufficient. By default, a 1d domain decomposition along x is used on the IBM-Regatta, which means that a virtual processor topology (grid) of 8*1 (x*y) is used. (Note: the user may adjust this default domain decomposition with the help of the parameters npex and npey).
Provided that the parameters file described above are set within the file
~/palm/current_version/JOBS/example/INPUT/example_p3d
and that the conditions mentioned in the first sections of chapter 3.2 are met, the model run can be started with the command
mrun -d example -h ibmh -K parallel -X 8 -T 8 -t 1800 -q cdev -r “d3# xy# xz# pr#”
The output files will appear in the directories
~/palm/current_version/JOBS/example/MONITORING
~/palm/current_version/JOBS/example/OUTPUT ,
while the job protocol will
appear in
directory ~/job_queue.
Last change:
$Id: chapter_4.4.2.html 197 2008-09-16 15:29:03Z Giersch $