Does the actual stepping of the pressure field.
54 type(model_state_type),
target,
intent(inout) :: current_state
56 integer :: k, x_index, y_index
57 real(kind=DEFAULT_PRECISION) :: dtmtmp
59 x_index=current_state%column_local_x
60 y_index=current_state%column_local_y
62 dtmtmp=merge(current_state%dtm, 0.5_default_precision*current_state%dtm, current_state%field_stepping == centred_stepping)
63 do k=2,current_state%local_grid%size(z_index)
66 current_state%zu%data(k, y_index, x_index)= current_state%zu%data(k, y_index, x_index)+ 2.0_default_precision*&
67 current_state%global_grid%configuration%horizontal%cx*dtmtmp*(current_state%p%data(k, y_index, x_index)-&
68 current_state%p%data(k, y_index, x_index+1))
71 current_state%zv%data(k, y_index, x_index)=&
72 current_state%zv%data(k, y_index, x_index)+2.0_default_precision*&
73 current_state%global_grid%configuration%horizontal%cy*dtmtmp*&
74 (current_state%p%data(k, y_index, x_index) - current_state%p%data(k, y_index+1, x_index))
77 if (k .lt. current_state%local_grid%size(z_index))
then 78 current_state%zw%data(k, y_index, x_index)=current_state%zw%data(k, y_index, x_index)+2.0_default_precision*&
79 current_state%global_grid%configuration%vertical%rdzn(k+1)*dtmtmp*(current_state%p%data(k, y_index, x_index)-&
80 current_state%p%data(k+1, y_index, x_index))
84 if (current_state%use_viscosity_and_diffusion .and. current_state%use_surface_boundary_conditions)
then 86 current_state%zu%data(1, y_index, x_index)=-current_state%zu%data(2, y_index, x_index)-&
87 2.0_default_precision*current_state%ugal
90 current_state%zv%data(1, y_index, x_index)=-current_state%zv%data(2, y_index, x_index)-&
91 2.0_default_precision*current_state%vgal
95 current_state%zu%data(1, y_index, x_index)=current_state%zu%data(2, y_index, x_index)
98 current_state%zv%data(1, y_index, x_index)=current_state%zv%data(2, y_index, x_index)