New: --- The plant canopy model has been extended to the prognostic equation for the potential temperature and the prognostic equation for the concentration of a passive scalar, as proposed by Watanabe (2004) and Shaw and Schumann (1992). (prognostic_equations, plant_canopy_model) Within a job chain, the number of processors or the virtual processor grid is now allowed to be changed. This modifies the domain decomposition and requires that the PEs within a restart job have to know from which file(s) they have to read their restart data (up to now there is a one to one relation between the restart files and the PEs, i.e. processor 4 only reads data from file "_0004"). Informations about the subdomain index limits of all restart files are now written by PE0 (to file "_0000"). Also, all variables containing global values which do not depend on the subdomain are written to file "_0000" only. In a restart run, this file is opened by all PEs to read these global values and the informations about the subdomain index limits. Depending on these index limit information it is decided which restart file(s) has/have to be opened in order to read the complete data necessary for the current subdomain. The turbulence recycling method of Kataoka and Mizuno (2002) has been implemented. A pre-run with smaller model domain can be used to initialize the real run, in order to spare the CPU time needed to get the turbulence into a quasi-stationary state (see initializing_actions = 'read_data_for_recycling'). Particle advection adjusted for ocean runs. Multigrid levels are limited by subdomains if mg_switch_to_pe0_level = -1. User-defined spectra. Output of q*2 profile added. Argument -c introduced to most of the subjob calls, which allows the user to choose his own job catalog by setting job_catalog in the configuration file (default is ~/job_queue). Workaround for mpixec with -env option. Adjustments for lcxt4 (Bergen Center for Computational Science) (mrun, subjob) advec_particles, calc_spectra, check_open, check_parameters, data_output_spectra, header, init_particles, init_pegrid, init_3d_model, modules, netcdf, parin, particle_boundary_conds, plant_canopy_model, prognostic_equations, read_var_list, read_3d_binary, time_integration, user_interface, write_var_list, write_3d_binary New: inflow_turbulence Changed: ------- Allow 100 spectra levels instead of 10 for consistency with define_netcdf_header (calc_spectra, data_output_spectra, header, modules, netcdf) Modification of the integrated version of the profile function for momentum for unstable stratification; more consistent flux definitions. (wall_fluxes, production_e) Strict grid matching along z is not needed for mg-solver. (check_parameters) Sharp lateral edges of the plant canopy introduced. Before smaller values of the leaf area density than those applied in the prognostic equation for the vertical velocity were used in the prognostic equations for u and v at the boundaries of the plant_canopy. (init_3d_model) -cross_ts_* (read_var_list, write_var_list) -dopr_time_count, old profil parameters (cross_..., dopr_crossindex, profile_***) removed (read_3d_binary, write_3d_binary) hom_sum moved, volume_flow_area, volume_flow_initial moved from ..._3d_binary to ..._var_list, hom_sum is now allocated in parin instead of init_3d_model npex, npey moved from inipar- to d3par-namelist (parin) myid_char14 removed. This was used since on IBM machines the process rank may be changed when the final communicator is defined, in order to save the preliminary processor-id for opening the binary output file for restarts (unit 14), because otherwise a mismatch occured when reading this file in a restart job. This mechanism is not needed any more since the subdomain informations are now contained in file _0000. (parin, check_open) Transpositions for the 2D domain decomposition have been optimized by using f_inv as an automatic array instead of providing the memory by a dummy argument. This spares one copy loop per transposition. Order of indices in the 3D loops in some of the transpose routines have been rearranged for better cache utilization. Both have been suggested by Roland Richter (SGI) as part of the HLRN-II benchmark process. (transpose) Workaround for getting information about the coupling mode. (palm) Format adjustments in order to allow CPU# > 999. (cpu_statistics) Provisional solution for run_control_1d output: add 'CALL check_open( 15 )' (init_1d_model) Subdomain data are read into temporary arrays pf_tmp/pf3d_tmp in order to avoid INTEL compiler warnings about (automatic) creation of temporary arrays (combine_plot_fields) Time coordinate t=0 stored on netcdf-file only if an output is required for this time for at least one of the profiles Spline timeseries splptx etc. removed, timeseries w'u', w'v', w'q' (k=0) added (flow_statistics) advec_s_ups, advec_u_ups, advec_v_ups, advec_w_ups, calc_spectra, check_open, check_parameters, cpu_statistics, data_output_profiles, data_output_spectra, flow_statistics, header, init_1d_model, init_3d_model, modules, netcdf, palm, parin, poisfft, production_e, read_var_list, read_3d_binary, transpose, wall_fluxes, write_var_list, write_3d_binary Errors: ------ Bugfix: exponent = 1.0 / ( ny + 1.0 ) in calc_spectra_x (calc_spectra) Bugfix: change definition of us_wall from 1D to 2D. Tests showed that this decreases u* by some 10% and increases TKE and momentum fluxes by some 10% because friction was underestimated and momentum fluxes were wrongly calculated due to the bug. (prandtl_fluxes, wall_fluxes) Bugfix: calculation of horizontal fluxes at vertical walls (diffusion_s) Bugfix: zero assignments to tendency arrays in case of restarts (init_3d_model) Bugfix: wrong grid level used in multigrid solver, routine restrict (poismg) Bugfix: Construction of vertical profiles when 10 gradients have been specified in the parameter list (ug, vg, pt, q, sa, lad). (check_parameters) Bugfix: Determination of the number of vertical levels for which spectra shall be output - 100 replaced by 10. (netcdf) Bugfix: Lengths of those characters that are needed for the output of the characteristic levels of potential temperature, the geostrophic wind, scalar concentration, humidity and leaf area density to the header file has been increased. (header) Bugfix: add ')' in user_read_restart_data. The leaf area density is explicitly set to its surface value at k=0. (check_parameters) Introduce prefix_chr to ensure unique dvrp_file path. small bugfixes for user_interface sample code (comments): - initialize ustvst with 0.0 as it is now computed only until nxr and nyn - two ALLOCATE statements moved from user_read_restart_data back to user_init - remove 'READ (13) u2_av' statement in user_read_restart_data Bugfix: remove IF statement in plant_canopy_model_ij (plant_canopy_model) Bugfix: divide sums(k,8) (e) and sums(k,34) (e*) by ngp_2dh_s_inner(k,sr) (like other scalars) (flow_statistics) Bugfix: dopr_time_count was written on the binary file, which caused that NetCDF files newly created by restart files (no append of existing files!) contained uneccessary time levels. (read_3d_binary, write_3d_binary) Bugfix: extra '*' removed in user_statistics sample code (user_interface) Bugfix: a stop command was missing in some cases of the parallel branch (local_stop) Bugfix in volume flow control for non-cyclic boundary conditions (pres) Bugfix: misplaced #endif directives (combine_plot_fields) data are collected from PE0 in an ordered sequence which seems to avoid hanging of processes on SGI-ICE (cpu_statistics) calc_spectra, check_parameters, cpu_statistics, diffusion_s, flow_statistics, init_dvrp, init_3d_model, local_stop, plant_canopy_model, poismg, prandtl_fluxes, pres, read_3d_binary, user_interface, wall_fluxes, write_3d_binary