Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

How to output QV horizontal/vertical advective tendency?

Moqi

New member
Hi all, I have been tried to output the horizontal/vertical advective tendencies of potential temperature (theta) and water vapor (QV). However, although I succeed in outputting advective tendencies of theta but still struggle to output these terms related to QV. I found an previous thread on a similar issue: Output advection tendency of moisture variables.

Following the instructions therein and for theta, I have done the following modifications:
1) change the subroutine "advect_scalar" in "module_advect_em.F" to calculate the horizontal/vertical advective tendencies;
2) add new variables "t_tend_h" and "t_tend_v" in the subroutine "rk_tendency", which calls the subroutine "advect_scalar", in "module_em.F";
3) add new variables "grid%t_tend_h" and "grid%t_tend_v" in the subroutine "rk_tendency" that is called in "solve_em.F".
4) add new variables "t_tend_h" and "t_tend_v" in the "Registry".
This works for outputting theta advective tendencies.

For QV, I have done the following steps:
1) same as above 1);
2) add new variables "qv_tend_h" and "qv_tend_v" in the subroutine "rk_scalar_tend", which calls the subroutine "advect_scalar" and does the calculations associated with moisture variables, in "module_em.F";
3) add new variables "grid%qv_tend_h" and "grid%qv_tend_v" in the subroutine "rk_scalar_tend" that is called in "solve_em.F".
4) same as above 4)
However, it does not work. The output results are all 0.
I noticed that a tendency array t_tend(ims:ime, kms:kme, jms:jme) is passed to the subroutine "advect_scalar" when calculating
theta advective tendency in the subroutine "rk_tendency":
CALL advect_scalar ( t, t, t_tend,...)
but it is a single value advect_tend(ims,kms,jms) that is passed to the subroutine "advect_scalar" when calculating QV advective tendency in the subroutine "rk_scalar_tend":
CALL advect_scalar ( scalar(ims,kms,jms,im), scalar(ims,kms,jms,im), advect_tend(ims,kms,jms),....)
I am not sure if this is the reason that the same workflow works for theta but not for QV. Could you please give me some hints on this issue? Or is there another way to output QV advective tendencies?
Thank you!
 
Last edited:
Top