For each data column will calculate the damping term and apply this to the source term for that field.
70 type(model_state_type),
target,
intent(inout) :: current_state
74 if (current_state%halo_column .and. current_state%timestep <3)
return 76 do k=current_state%global_grid%configuration%vertical%kdmpmin,current_state%local_grid%size(z_index)
78 current_state%su%data(k, current_state%column_local_y, current_state%column_local_x)=current_state%su%data(k, &
79 current_state%column_local_y, current_state%column_local_x)-&
80 current_state%global_grid%configuration%vertical%dmpco(k)*(current_state%zu%data(k, current_state%column_local_y, &
81 current_state%column_local_x)- (current_state%global_grid%configuration%vertical%olzubar(k)-current_state%ugal))
84 current_state%sv%data(k, current_state%column_local_y, current_state%column_local_x)=current_state%sv%data(k, &
85 current_state%column_local_y, current_state%column_local_x)-&
86 current_state%global_grid%configuration%vertical%dmpco(k)*(current_state%zv%data(k, current_state%column_local_y, &
87 current_state%column_local_x)-(current_state%global_grid%configuration%vertical%olzvbar(k)-current_state%vgal))
89 if (current_state%th%active)
then 90 current_state%sth%data(k, current_state%column_local_y, current_state%column_local_x)=current_state%sth%data(k, &
91 current_state%column_local_y, current_state%column_local_x)-&
92 current_state%global_grid%configuration%vertical%dmpco(k)*(current_state%zth%data(k, current_state%column_local_y, &
93 current_state%column_local_x)-current_state%global_grid%configuration%vertical%olzthbar(k))
96 do i=1,current_state%number_q_fields
97 if (current_state%q(i)%active)
then 98 current_state%sq(i)%data(k, current_state%column_local_y, current_state%column_local_x)=current_state%sq(i)%data(k, &
99 current_state%column_local_y, current_state%column_local_x)-&
100 current_state%global_grid%configuration%vertical%dmpco(k)*&
101 (current_state%zq(i)%data(k, current_state%column_local_y, current_state%column_local_x)-&
102 current_state%global_grid%configuration%vertical%olzqbar(k,i))
107 do k=current_state%global_grid%configuration%vertical%kdmpmin,current_state%local_grid%size(z_index)-1
108 current_state%sw%data(k, current_state%column_local_y, current_state%column_local_x)=current_state%sw%data(k, &
109 current_state%column_local_y, current_state%column_local_x)-&
110 current_state%global_grid%configuration%vertical%dmpcoz(k)*&
111 current_state%zw%data(k, current_state%column_local_y, current_state%column_local_x)