2
$\begingroup$

I am interested in the numerical methods used to solve climate models, such as hurricane models or general circulation models.
Now a general circulation model for something like the ocean, has phenomena occurring at different spatial scales and time scales. So a hurricane might be moving at a very fast velocity and have a numerical grid size of 1-10 kilometers. But at the same time, this hurricane model incorporate simulation data from smaller scale ocean evaporation models--which occur on perhaps a grid size of 100 meters and perhaps at a faster time scale.

So I was not sure about numerically stable ways to include the water vapor and temperature fluxes from the smaller scale model into the larger scale model?

I am sure this is done all the time, but I was trying to understand what methods were used.

Is this a case were we would use something like "Strang splitting" to resolve the different time scales? But then what about differences in spatial scales, especially if the CFL number at the lower scale affects the CFL number at the coarser scale. Perhaps these Adaptive Mesh Refinement methods would work in such cases?

I was just hoping that someone could tell me which methods are most commonly used in models like the WRF or other NCAR or such models.

$\endgroup$

1 Answer 1

1
$\begingroup$

Based upon some additional research, the approach that seems to work here involves "splitting" methods. These are derived from "Strang splitting" methods developed by Gil Strang and others. The idea is to basically identify the time-scale associated with each term in the PDE. After initializing the meshes for all levels of the problem, you start with the fastest timescale or the finest spatial scale level of the mesh. Then you run the problem at that finest time/spatial scale until it matches the time increment for the coarser mesh/time scale that is the next level up--meaning the next coarsest mesh or second fastest timescale. And then you run the timestepping at the second level. You can keep running this time-stepping with mesh aggregation until you finally solve the PDE at the coarsest level. And then you can start again.

At each level of aggregation, you might need to average or sum the flux values in the mesh that correspond to the mesh cells of the subsequent or next coarsest mesh.

But that is the idea. It is rather a brute force operation, but it works. There are a number of good resources on this topic, but I found this one to be very helpful since it has code.

https://hplgit.github.io/fdm-book/doc/pub/book/sphinx/._book018.html

I believe that this is also the method used in the NCAR WRF climate models.

If anyone would like to add detail or correct any errors I made, please comment below.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.