# Changeset 411

Ignore:
Timestamp:
Dec 11, 2009 2:15:58 PM (12 years ago)
Message:

Large scale vertical motion (subsidence/ascent) can be applied to the prognostic equation for the potential temperature

Location:
palm/trunk
Files:
12 edited

Unmodified
Removed
• ## palm/trunk/DOC/app/appendix_a.html

 r376
PA0324
Applying large scale vertical motion is not allowed for ocean runs
• ## palm/trunk/DOC/app/chapter_4.1.html

 r407

R (10) 10 * 0.0

Gradient(s) of the profile for the large scale subsidence/ascent velocity (in (m/s) / 100 m).

This gradient holds starting from the height  level defined by ws_vertical_gradient_level (precisely: for all uv levels k where zu(k) > ws_vertical_gradient_level, w_subs(k) is set: w_subs(k) = w_subs(k-1) + dzu(k) * ws_vertical_gradient) up to the top boundary or up to the next height level defined by ws_vertical_gradient_level. A total of 10 different gradients for 11 height intervals (10 intervals if ws_vertical_gradient_level(1) = 0.0) can be assigned.

Example:

That defines the subsidence/ascent profile to be linear up to z = 1000.0 m with a surface value of 0 m/s. For z > 1000.0 m up to the top boundary the gradient is 0.0 (m/s) / 100 m (it is assumed that the assigned height levels correspond with uv levels).

With an appropriate construction of w_subs the height of the boundary layer z_i can be kept approximately constant.

Attention:
The large scale vertical motion is only applied to the prognostic equation for the potential temperature because it cannot be applied to the momentum equations due to incompressibility. Thus, the model is not mass consistent.

_level

R (10)

10 *  0.0

Height level from which on the gradient for the subsidence/ascent velocity  defined by ws_vertical_gradient is effective (in m).

The height levels have to be assigned in ascending order. The default values result in a profile which is zero everywhere regardless of the values of ws_vertical_gradient. For the piecewise construction of temperature profiles see ws_vertical_gradient.

• ## palm/trunk/DOC/app/chapter_4.6.html

 r407
ws_vertical_gradient I R(10) 10 * 0.0 Gradient(s) of the profile for the large scale subsidence/ascent velocity in ((m/s) / 100 m)
ws_vertical_gradient_level I R(10) 10 * 0.0 Height level from which on the gradient for the subsidence/ascent velocity defined by ws_vertical_gradient is effective (in m).
• ## palm/trunk/SOURCE/CURRENT_MODIFICATIONS

 r407 (check_parameters, init_3d_model, parin) check parameters, init_3d_model, parin Large scale vertical motion (subsidence/ascent) can be applied to the prognostic equation for the potential temperature. (check_parameters, header, Makefile, modules, parin, prognostic_equations, read_var_list, subsidence, write_var_list) check parameters, header, init_3d_model, Makefile, modules, parin prognostic equations, read_var_list, subsidence, write_var_list Changed:
• ## palm/trunk/SOURCE/Makefile

 r410 # ----------------- # +set_particle_attributes, set_slicer_attributes_dvrp # +subsidence # # Branch revisions: set_particle_attributes.f90 set_slicer_attributes_dvrp.f90 \ singleton.f90 sor.f90 spline_x.f90 \ spline_y.f90 spline_z.f90 sum_up_3d_data.f90 surface_coupler.f90 \ spline_y.f90 spline_z.f90 subsidence.f90 \ sum_up_3d_data.f90 surface_coupler.f90 \ swap_timelevel.f90 temperton_fft.f90 time_integration.f90 \ time_to_string.f90 timestep.f90 timestep_scheme_steering.f90 \ set_particle_attributes.o set_slicer_attributes_dvrp.o \ singleton.o sor.o spline_x.o spline_y.o \ spline_z.o sum_up_3d_data.o surface_coupler.o swap_timelevel.o \ spline_z.o subsidence.o sum_up_3d_data.o surface_coupler.o \ swap_timelevel.o \ temperton_fft.o time_integration.o time_to_string.o \ timestep.o timestep_scheme_steering.o transpose.o \ check_for_restart.o: modules.o check_open.o: modules.o check_parameters.o: modules.o check_parameters.o: modules.o subsidence.o close_file.o: modules.o compute_vpt.o: modules.o eqn_state_seawater.o impact_of_latent_heat.o \ plant_canopy_model.o production_e.o \ user_actions.o subsidence.o user_actions.o random_gauss.o: random_function.o read_3d_binary.o: modules.o random_function.o spline_y.o: modules.o spline_z.o: modules.o subsidence.o: modules.o sum_up_3d_data.o: modules.o surface_coupler.o: modules.o
• ## palm/trunk/SOURCE/check_parameters.f90

 r410 ! ----------------- ! Enabled passive scalar/humidity wall fluxes for non-flat topography ! Initialization of large scale vertical motion (subsidence/ascent) ! ! Branch revisions: USE pegrid USE profil_parameter USE subsidence_mod USE statistics USE transpose_indices ENDIF ! !-- Initialize large scale subsidence if required IF ( ws_vertical_gradient_level(1) /= -9999999.9 )  THEN large_scale_subsidence = .TRUE. CALL init_w_subsidence END IF !

• ## palm/trunk/SOURCE/modules.f90

 r410 ! initial data assignments to some dvrp arrays changed due to error messages ! from gfortran compiler ! +large_scale_subsidence, ws_vertical_gradient, ws_vertical_gradient_level, ! ws_vertical_gradient_level_ind, w_subs ! ! Branch revisions: ddzu, dd2zu, dzu, ddzw, dzw, hyp, inflow_damping_factor, km_damp_x,  & km_damp_y, lad, l_grid, pt_init, q_init, rdf, sa_init, ug, u_init,   & u_nzb_p1_for_vfc, vg, v_init, v_nzb_p1_for_vfc, zu, zw u_nzb_p1_for_vfc, vg, v_init, v_nzb_p1_for_vfc, w_subs, zu, zw REAL, DIMENSION(:,:), ALLOCATABLE ::                                       & section_xz(100) = -9999, section_yz(100) = -9999, & ug_vertical_gradient_level_ind(10) = -9999, & vg_vertical_gradient_level_ind(10) = -9999 vg_vertical_gradient_level_ind(10) = -9999, & ws_vertical_gradient_level_ind(10) = -9999 INTEGER, DIMENSION(:), ALLOCATABLE ::  grid_level_count humidity = .FALSE., humidity_remote = .FALSE., & inflow_l = .FALSE., inflow_n = .FALSE., & inflow_r = .FALSE., inflow_s = .FALSE., iso2d_output = .FALSE.,& inflow_r = .FALSE., inflow_s = .FALSE., & iso2d_output = .FALSE., large_scale_subsidence = .FALSE., & mg_switch_to_pe0 = .FALSE., & netcdf_output = .FALSE., netcdf_64bit = .FALSE., & volume_flow_initial(1:2) = 0.0, wall_heatflux(0:4) = 0.0, & wall_humidityflux(0:4) = 0.0, wall_qflux(0:4) = 0.0, & wall_salinityflux(0:4) = 0.0, wall_scalarflux(0:4) = 0.0 wall_salinityflux(0:4) = 0.0, wall_scalarflux(0:4) = 0.0, & ws_vertical_gradient(10) = 0.0, & ws_vertical_gradient_level(10) = -9999999.9 REAL, DIMENSION(:), ALLOCATABLE ::  dp_smooth_factor