Hi Joy!
Sorry for the slow reply today - I'm at the PDEs on the Sphere conference this week...
For moist physics I mean the second of the options you describe - advecting mixing ratios and calculating forcing terms for the potential temperature along the lines of Bryan and Frisch 2002. The reason I thought this might be relevant for you is because the forcing from the "physics" is solved in a different part of the time loop from the basic dynamical forcing from the dry equations.
We haven't run many of the 3D DCMIP tests yet. Colin was looking at the gravity wave test but I'm not sure how far he got and he is away this week.
To answer your questions...
1) To see how forcing is implemented you can look at gusto/forcing.py where we have classes that set up the forcing solvers. I am currently working on a way of allowing users to add in forcing terms a bit more easily but I haven't finished this yet.
2) The time stepper loops over the time steps - you can see it in gusto/timestepping.py. It uses a splitting scheme where the forcing is applied for half a timestep, the advection for a whole timestep and then an implicit half-timestep of forcing, all wrapped up in a quasi-Newton iterative loop. "physics" forcing is applied outside of this loop (see gusto/physics.py for an example of this - we only have a Condensation class so far). So you would write your forcing/physics class and it would be applied as part of the time loop.
You access fields through state, e.g. velocity is state.fields('u'). Our prognostic variables are velocity, density ('rho') and potential temperature ('theta').
I hope that helps!
Jemma
|
stepper = Timestepper(state, advection_dict, linear_solver, forcing)
############################## # Run! ############################## stepper.run(t=0, tmax=tmax) and the forcing seems to be a class of some sort:
forcing
= CompressibleForcing(state)
for example. Now, I have a couple of questions: 1) what is involved in implementing a Forcing? 2) Suppose I want to implement a GCM with a nominal time step
model_time_step = t
stepper.run(t=T, tmax=T+model_time_step)
Then, I would like to access U,V,T (required for H-S forcing), create a forcing for the next t seconds, and excecute stepper again. Will I be able to do something like this? Pardon me if these issues seem self-evident, but I have no experience working with finite-element frameworks! Thanks, Joy |
OK David, thanks - I was just trying not to clutter the list.
So Joy, what kind of problems would you like to run with Gusto?
Jemma
From: firedrake-bounces@imperial.ac.uk <firedrake-bounces@imperial.ac.uk > on behalf of David Ham <David.Ham@imperial.ac.uk>
Sent: 02 April 2017 16:18:08
To: firedrake; joy.merwin@gmail.com
Subject: Re: [firedrake] Interacting with GustoHi all,
please keep discussions on list to spread the support load and ensure everyone has the chance to learn from the answers.
Regards,
David
On Sun, 2 Apr 2017 at 15:58, Shipton, Jemma <j.shipton@imperial.ac.uk> wrote:
Hi Joy,
Yes, sorry, I'm afraid that there isn't much documentation on Gusto at the moment - I hope to write some soon.
We don't have a straightforward way to interact with "physics" just yet, although we are working on implementing moist physics.
I'll email you off-list to chat more about what you need...
Thanks!
Jemma
From: firedrake-bounces@imperial.ac.uk <firedrake-bounces@imperial.ac.uk > on behalf of Joy merwin monteiro <joy.merwin@gmail.com>
Sent: 02 April 2017 15:44:21
To: firedrake
Subject: [firedrake] Interacting with GustoHello,
I have recently heard about Firedrake and Gusto, and am lookingforward to using it!
I am working on a project named climt (http://climt.readthedocs.io/en/latest/readme.html ),and I was wondering whether I could get Gusto/Firedrake to work with thecomponents already available there.
my question was what interface does Gusto provide for interaction with
"physics", like say, a radiative transfer code?
In other words, is there a straightforward way to access model arrays,calculate physics tendencies, and provide them back to the dynamicalcore?
I tried to look for more documentation about Gusto, but could not find any.I would be grateful if you could point me in the right direction.
TIA,Joy--
The best ruler, when he finishes his
tasks and completes his affairs,
the people say
“It all happened naturally”
- Te Tao Ch'ing--
Dr David HamDepartment of MathematicsImperial College London