lappen7@gmail_com
New Member
Dear Users,
I have used CAM3 for a while now and as part of my work, I added
additional heating sources to the tropics
to test the effects on things like MJO, Indian Monsoon, and El Nino.
I recently have switched to CAM4 running
fv dynamics. I have been running into problems trying to transfer my
technique that I used in CAM3 eul dynamics
to CAM4 fv dynamics.
The method I used in CAM3 is that I changed code in the routine
p_d_coupling in dp_coupling.F90. In this routine,
I added my heating terms to the temperature tendency variable, t2,
in p_d_coupling. It worked well to include the
additional heating here so that the heating would also feed back
into the dynamics.
Now, in CAM4 (using fv), I cant figure out how to do this same
procedure. In the routine p_d_coupling in CAM4
with fv dynamics, there is no tendency term, t2, to add my heating
to. In fact, the same code in CAM3 that says:
t2(lons(i),k,lats(i)) = phys_tend(lchnk)%dTdt (i,k) (CAM3 eul)
now, in CAM4 says:
ptxy (lons(i),lats(i),k) = phys_state(lchnk)%t(i,k) (CAM4 fv)
So, in CAM4 fv, it sets the temperature variable equal to the actual
temperature (phys_STATE%t). In CAM3, it sets
the temperature TENDENCY variable t2 equal to the tendency
(phys_TEND%dTdt). In CAM3, the tendency
t2 (with my added heating terms included) gets passed directly to
the dynamics. I cant seem to do that for CAM4.
So my question lies in the best way to add the heating into CAM4.
CAM4 doesnt pass the tendencies in and out
of p_d_coupling and then in and out of the dynamics routines. It
passes the variable themselves but not the tendency
of these variables. Because of this, is it better to add the heating
somewhere else or is there a way to still do it
in the routine p_d_coupling?
Finally, on a slightly related note, if you compare the calling
sequence in stepon.F90 for both eul and fv dynamics, it seems
as if the one in stepon.F90 for eul calls them in the following order:
d_p_coupling
physpkg
p_d_coupling
dynamics (in the form of subroutine dynpkg)
While in stepon.F90 for fv dynamics, it calls them in the following order:
dynamics (in the form of subroutine dyn_run)
d_p_coupling
physpkg
p_d_coupling
So, does the fv dynamics actually implement the dynamics from the
previous time step at the beginning of the next time step?
I hope you can help me figure all this out. I sure do appreciate any
insight you could send my way. Ive been messing with this for
a while now,
Thank-you,
Cara-Lyn
I have used CAM3 for a while now and as part of my work, I added
additional heating sources to the tropics
to test the effects on things like MJO, Indian Monsoon, and El Nino.
I recently have switched to CAM4 running
fv dynamics. I have been running into problems trying to transfer my
technique that I used in CAM3 eul dynamics
to CAM4 fv dynamics.
The method I used in CAM3 is that I changed code in the routine
p_d_coupling in dp_coupling.F90. In this routine,
I added my heating terms to the temperature tendency variable, t2,
in p_d_coupling. It worked well to include the
additional heating here so that the heating would also feed back
into the dynamics.
Now, in CAM4 (using fv), I cant figure out how to do this same
procedure. In the routine p_d_coupling in CAM4
with fv dynamics, there is no tendency term, t2, to add my heating
to. In fact, the same code in CAM3 that says:
t2(lons(i),k,lats(i)) = phys_tend(lchnk)%dTdt (i,k) (CAM3 eul)
now, in CAM4 says:
ptxy (lons(i),lats(i),k) = phys_state(lchnk)%t(i,k) (CAM4 fv)
So, in CAM4 fv, it sets the temperature variable equal to the actual
temperature (phys_STATE%t). In CAM3, it sets
the temperature TENDENCY variable t2 equal to the tendency
(phys_TEND%dTdt). In CAM3, the tendency
t2 (with my added heating terms included) gets passed directly to
the dynamics. I cant seem to do that for CAM4.
So my question lies in the best way to add the heating into CAM4.
CAM4 doesnt pass the tendencies in and out
of p_d_coupling and then in and out of the dynamics routines. It
passes the variable themselves but not the tendency
of these variables. Because of this, is it better to add the heating
somewhere else or is there a way to still do it
in the routine p_d_coupling?
Finally, on a slightly related note, if you compare the calling
sequence in stepon.F90 for both eul and fv dynamics, it seems
as if the one in stepon.F90 for eul calls them in the following order:
d_p_coupling
physpkg
p_d_coupling
dynamics (in the form of subroutine dynpkg)
While in stepon.F90 for fv dynamics, it calls them in the following order:
dynamics (in the form of subroutine dyn_run)
d_p_coupling
physpkg
p_d_coupling
So, does the fv dynamics actually implement the dynamics from the
previous time step at the beginning of the next time step?
I hope you can help me figure all this out. I sure do appreciate any
insight you could send my way. Ive been messing with this for
a while now,
Thank-you,
Cara-Lyn