Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

updating of dynamics variables

Hi,

I am using CAM4 with fv core and running an atmosphere only case. Can you someone outline to me how the variables in the dynamics routines get updated?
So, for example, its difficult to figure out how things like the pressure gradient force, advection, and the coriolis terms are change the values of u and v
in the model. Is this done when the through the variable dyn_out that gets passed to the dp_coupling routine?

I see u and v get updated in a very logical way (in the physics routines) for things such as the deep convection/momentum transport. It is not done in the
same way in the dynamics. I have searched the forums and dont see any information about how the dynamics routines update the values of these variables.

Any light you could shed on this for me would be much appreciated,

Cara-Lyn
 

eaton

CSEG and Liaisons
The form of the primitive equations and the discretized versions
are documented in the "Description of the NCAR Community
Atmosphere Model (CAM 4.0)" which is linked from the home page.
As far as I know the only documentation of how the discretized
equations are implemented in software is the FV dycore software
itself.

The variables in dyn_out are the prognostic variables which have
been advanced a time step by the dycore. The updating of those
variables from the dycore's input (in dyn_in) is done internally
to the dycore. That code is very complex, and made more so by
the data structures that support the domain decomposition
necessary for parallel computation. The code in d_p_coupling
doesn't do any updating. It just interpolates the staggered
velocity components from the Arakawa D-grid locations used by the
dycore to the cell centers used by the physics package, and then
rearranges the columns from the dynamics to the physics data
structures.

The updating of the prognostic variables that happens in the
p_d_coupling routine is for the forcings due to the
parameterized (subgrid scale) physics only. The tendencies in
the physics data structures need to be rearranged to the dynamics
data structures. Then the forcing terms for the velocity
components are interpolated back to the D-grid staggering before
updating the velocity components that are input to the dycore.
 
Oh, I see. Thank-you. One quick follow-up to this...

The reason why I asked this is that Im trying to pull out the tendencies du/dt and dv/dt due to
the coriolis and PGF terms at certain times. Is there an easy way to extract that information from the variable dyn_out?
The actual logistics of how they get updated is less important for me. I just wanted to pull out the tendencies due to these
terms (separate or combined tendencies) so that I can look at the budgets of the u and v momentum.

Thanks again for your help,

Cara-Lyn
 

eaton

CSEG and Liaisons
The dyn_out structure only contains the prognostic variables, not
the individual terms from the primitive equations. I believe the
only way to access that kind of information will be to go into
the dycore and identify where the terms of interest are computed
so that they could be saved in variables that could later be
passed to an outfld call. I don't know the details of the
dycore, so I can only guess that this will not be easy.
 
Top