38 | | Detailed information will follow at beginning of January 2011. |
39 | | |
40 | | |
| 38 | Inflow turbulence is now defined by fluctuations around spanwise mean. |
| 39 | |
| 40 | Removed mirror boundary conditions for u and v at the bottom in case of |
| 41 | ibc_uv_b == 0. Instead, dirichlet boundary conditions (u=v=0) are set |
| 42 | in init_3d_model. (boundary_conds) |
| 43 | |
| 44 | Exchange of parameters between ocean and atmosphere via PE0 |
| 45 | Check for illegal combination of ws-scheme and [../../app/inipar/#timestep_scheme timestep_scheme]. |
| 46 | Check for [../../app/inipar/#topography topography] and ws-scheme. |
| 47 | Check for not cyclic boundary conditions in combination with ws-scheme and [../../app/inipar/#loop_optimization loop_optimization] = 'vector'. |
| 48 | Check for [../../app/inipar#call_psolver_at_all_substeps call_psolver_at_all_substeps] and [../../app/inipar#momentum_advec momentum_advec] = 'ws-scheme'. |
| 49 | Different processor/grid topology in atmosphere and ocean is now allowed! (check_parameters) |
| 50 | |
| 51 | Dynamic exchange of ghost points with nbgp_local to ensure that no useless |
| 52 | ghost points exchanged in case of multigrid. type_yz(0) and type_xz(0) used for |
| 53 | normal grid, the remaining types used for the several grid levels. |
| 54 | Exchange is done via MPI-Vectors with a dynamic value of ghost points which |
| 55 | depend on the advection scheme. Exchange of left and right PEs is 10% faster |
| 56 | with MPI-Vectors than without. (exchange_horiz, exchange_horiz_2d) |
| 57 | |
| 58 | When advection is computed with ws-scheme, turbulent fluxes are already |
| 59 | computed in the respective advection routines and buffered in arrays |
| 60 | sums_xxxx_ws_l(). This is due to a consistent treatment of statistics |
| 61 | with the numerics and to avoid unphysical kinks near the surface. Furthermore the computation of z_i is only done if the heat flux |
| 62 | exceeds a minimum value. This affects only simulations of a neutral boundary |
| 63 | layer and is due to reasons of computations in the advection scheme. |
| 64 | (flow_statistics) |
| 65 | |
| 66 | Using nbgp recycling planes for a better resolution of the turbulent flow near |
| 67 | the inflow. (inflow_turbulence) |
| 68 | |
| 69 | Definition of new array bounds nxlg, nxrg, nylg, nyng on each PE. |
| 70 | Furthermore the allocation of arrays and steering of loops is done with these |
| 71 | parameters. In case of dirichlet boundary condition at the bottom zu(0)=0.0 |
| 72 | dzu_mg has to be set explicitly for a equally spaced grid near bottom. |
| 73 | ddzu_pres added to use a equally spaced grid near bottom. (init_grid) |
| 74 | |
| 75 | Moved determination of target_id's from init_coupling. |
| 76 | Determination of parameters needed for coupling (coupling_topology, ngp_a, ngp_o) |
| 77 | with different grid/processor-topology in ocean and atmosphere |
| 78 | Adaption of ngp_xy, ngp_y to a dynamic number of ghost points. |
| 79 | The maximum_grid_level changed from 1 to 0. 0 is the normal grid, 1 to |
| 80 | maximum_grid_level the grids for multigrid, in which 0 and 1 are normal grids. |
| 81 | This distinction is due to reasons of data exchange and performance for the |
| 82 | normal grid and grids in poismg. |
| 83 | The definition of MPI-Vectors adapted to a dynamic number of ghost points. |
| 84 | New MPI-Vectors for data exchange between left and right boundaries added. |
| 85 | This is due to reasons of performance (10% faster). |
| 86 | ATTENTION: nnz_x undefined problem still has to be solved!!!!!!!! |
| 87 | TEST OUTPUT (TO BE REMOVED) logging mpi2 ierr values. (init_pegrid) |
| 88 | |
| 89 | Call ws_init to initialize arrays needed for statistical evaluation and |
| 90 | optimization when ws-scheme is used. (init_3d_model) |
| 91 | |
| 92 | Module advec_ws added. (Makefile) |
| 93 | |
| 94 | Removed u_nzb_p1_for_vfc and v_nzb_p1_for_vfc |
| 95 | For coupling with different resolution in ocean and atmosphere: |
| 96 | +nx_a, +nx_o, +ny_a, +ny_o, +ngp_a, +ngp_o, +total_2d_o, +total_2d_a, |
| 97 | +coupling_topology |
| 98 | Buffer arrays for the left sided advective fluxes added in arrays_3d. |
| 99 | +flux_s_u, +flux_s_v, +flux_s_w, +diss_s_u, +diss_s_v, +diss_s_w, |
| 100 | +flux_s_pt, +diss_s_pt, +flux_s_e, +diss_s_e, +flux_s_q, +diss_s_q, |
| 101 | +flux_s_sa, +diss_s_sa. |
| 102 | +exchange_mg added in control_parameters to steer the data exchange. |
| 103 | Parameters +nbgp, +nxlg, +nxrg, +nysg, +nyng added in indices. |
| 104 | flag array +boundary_flags added in indices to steer the degradation of order |
| 105 | of the advective fluxes when non-cyclic boundaries are used. |
| 106 | MPI-datatypes +type_y, +type_y_int and +type_yz for data_exchange added in |
| 107 | pegrid. |
| 108 | +sums_wsus_ws_l, +sums_wsvs_ws_l, +sums_us2_ws_l, +sums_vs2_ws_l, |
| 109 | +sums_ws2_ws_l, +sums_wspts_ws_l, +sums_wssas_ws_l, +sums_wsqs_ws_l |
| 110 | and +weight_substep added in statistics to steer the statistical evaluation |
| 111 | of turbulent fluxes in the advection routines. |
| 112 | LOGICALS +ws_scheme_sca and +ws_scheme_mom added to get a better performance |
| 113 | in prognostic_equations. (modules) |
| 114 | |
| 115 | New allocation of tend when ws-scheme and multigrid is used. This is due to |
| 116 | reasons of performance of the data_exchange. The same is done with p after |
| 117 | poismg is called. |
| 118 | nxl-1, nxr+1, nys-1, nyn+1 replaced by nxlg, nxrg, nysg, nyng when no |
| 119 | multigrid is used. |
| 120 | Call of SOR routine is referenced with ddzu_pres. (pres) |
| 121 | |
| 122 | Calls of the advection routines with WS5 added. |
| 123 | Calls of ws_statistics added to set the statistical arrays to zero after each |
| 124 | time step. (prognostic_equations) |
| 125 | |
| 126 | Additional case for nonequivalent processor and grid topology in ocean and |
| 127 | atmosphere added (coupling_topology = 1). |
| 128 | Added exchange of u and v from Ocean to Atmosphere. (surface_coupler) |
| 129 | |
| 130 | |
| 131 | |
| 132 | |
| 133 | }}} |
| 134 | |---------------- |
| 135 | {{{#!td style="vertical-align:top;width: 50px" |
| 136 | |
| 137 | }}} |
| 138 | {{{#!td style="vertical-align:top;width: 50px" |
| 139 | |
| 140 | }}} |
| 141 | {{{#!td style="vertical-align:top;width: 75px" |
| 142 | |
| 143 | }}} |
| 144 | {{{#!td style="vertical-align:top" |
| 145 | |
| 146 | }}} |
| 147 | {{{#!td style="vertical-align:top" |
| 148 | C |
| 149 | }}} |
| 150 | {{{#!td style="vertical-align:top" |
| 151 | Default of [../../app/inipar/#momentum_advec momentum_advec] and [../../app/inipar/#scalar_advec scalar_advec] changed to 'ws-scheme'. (modules) |
| 152 | |
| 153 | nxl-1, nxr+1, nys-1, nyn+1 replaced by nxlg, nxrg, nysg, nyng |
| 154 | (advec_particles, asselin_filter.f90, average_3d_data.f90, boundary_conds.f90, |
| 155 | calc_liquid_water_content.f90, calc_spectra, data_output_2d, data_output_3d, |
| 156 | diffusion_e.f90, diffusion_u.f90, diffusion_v.f90, diffusion_w.f90, |
| 157 | diffusivities, init_3d_model, init_rankine, init_slope, prandtl_fluxes, pres, |
| 158 | production_e, sor, subsidence, sum_up_3d_data, surface_coupler, timestep, |
| 159 | user_..., wall_fluxes) |
| 160 | |
| 161 | Calls of exchange_horiz modified. (advec_particles, data_output_2d, |
| 162 | data_output_3d, data_output_mask, diffusivities, init_3d_model, |
| 163 | init_pt_anomaly, init_rankine, poismg, sor, time_integration) |
| 164 | |
| 165 | Allocation of arrays, output of array bounds and skip values adapted to a |
| 166 | dynamic number of ghost points with nbgp. (check_open, data_output_3d, |
| 167 | global_min_max, read_3d_binary, user_read_restart_data, write_compressed) |
| 168 | |
| 169 | Changed surface boundary conditions for u and v from mirror bc to dirichelt bc, |
| 170 | therefore u(uzb,:,:) and v(nzb,:,:) is now representative for the height z0. |
| 171 | (prandtl_fluxes) |
| 172 | |
| 173 | determination of target_id's moved to init_pegrid. (init_coupling) |
| 174 | |
| 175 | Initial volume flow is now calculated by using the variable hom_sum. |
| 176 | Therefore the correction of initial volume flow for non-flat topography |
| 177 | removed (removed u_nzb_p1_for_vfc and v_nzb_p1_for_vfc) |
| 178 | Changed surface boundary conditions for u and v in case of ibc_uv_b == 0 from |
| 179 | mirror bc to dirichlet boundary conditions (u=v=0), so that k=nzb is |
| 180 | representative for the height z0. (init_3d_model) |
| 181 | }}} |
| 182 | |---------------- |
| 183 | {{{#!td style="vertical-align:top;width: 50px" |
| 184 | |
| 185 | }}} |
| 186 | {{{#!td style="vertical-align:top;width: 50px" |
| 187 | |
| 188 | }}} |
| 189 | {{{#!td style="vertical-align:top;width: 75px" |
| 190 | |
| 191 | }}} |
| 192 | {{{#!td style="vertical-align:top" |
| 193 | |
| 194 | }}} |
| 195 | {{{#!td style="vertical-align:top" |
| 196 | B |
| 197 | }}} |
| 198 | {{{#!td style="vertical-align:top" |
| 199 | Bugfix in checking for [../../app/inipar#conserve_volume_flow_mode conserve_volume_flow_mode]. (check_parameters) |
| 200 | |
| 201 | Changed length of string run_description_header. (modules) |
| 202 | |
| 203 | Bugfix: After pressure correction no volume flow correction in case of |
| 204 | non-cyclic boundary conditions (has to be done only before |
| 205 | pressure correction). (pres) |
| 206 | |
| 207 | Bug removed in declaration of ddzw(), nz replaced by nzt+1. (sor) |