edoddridge / aronnax

An idealised isopycnal model that can be run either with n+1/2 layers, or with n layers and variable bathymetry.
http://aronnax.readthedocs.io/en/latest/
MIT License
24 stars 6 forks source link

Include additional timestepping algorithms #183

Open edoddridge opened 6 years ago

edoddridge commented 6 years ago

As hinted by #182 I want to implement a number of additional timestepping algorithms.

Using different timestepping algorithms requires some deeper code changes, since different algorithms require different inputs. For example, the order of a multistep method determines how many tendency arrays must be stored and used for each timestep.

Implementing higher order multistep methods will require storing more arrays. This could be simplified by making dhdt a four-dimensional array in which one of the dimensions is the order of the algorithm. This means the number of arguments can remain constant as the timestepping algorithm varies.

In addition to the current scheme (AB3), I'd like to implement the following timestepping algorithms:

wydh commented 6 years ago

Hi,

I tried pytest at the base directory, only 2 passed, 15 failed. The failings seem due to adams_bashforth. Also, error happens when I run python run_examples.py in the example directory.

Is the adams_bashforth not good for use right now or am I making something wrong?

example.stdout.txt pytest.stdout.txt

edoddridge commented 6 years ago

Hi @wydh,

Sorry you're having difficulties. Thanks for posting the logs. Looks to me like you're using the Intel compilers - I've not been testing against them because I don't have access to them on my local machine or a licence code to make them work on Travis-CI. All the code in master compiles and runs successfully using the GNU compilers on every platform I've been able to test. I suspect you won't have any issues if you switch compilers.

wydh commented 6 years ago

I moved to gfortran. it seems the problems persist. I am run it on NCAR Cheyenne machine. Does the mpi should be based on gfortran?

Another question is if the model has the ability to handle the outcropping and grounding issue?

Thank you.

On Thu, Mar 29, 2018 at 8:30 AM, Ed Doddridge notifications@github.com wrote:

Hi @wydh https://github.com/wydh,

Sorry you're having difficulties. Thanks for posting the logs. Looks to me like you're using the Intel compilers - I've not been testing against them because I don't have access to them on my local machine or a licence code to make them work on Travis-CI. All the code in master compiles and runs successfully using the GNU compilers on every platform I've been able to test. I suspect you won't have any issues if you switch compilers.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/edoddridge/aronnax/issues/183#issuecomment-377220055, or mute the thread https://github.com/notifications/unsubscribe-auth/AJvTPTSSxxecU7oiKo3F1OdpfXVirhUbks5tjNPwgaJpZM4SnQ_4 .

edoddridge commented 6 years ago

I just had a look at the Cheyenne website, and it seems as though mpif90 always calls Intel compilers. I think you'll need to modify the makefile and replace mpif90 with mpfort, at least until #185 is sorted out. After changing to mpfort it should compile using GNU compilers.

Unfortunately, the model does not yet support outcropping or grounding of isopycnals, see #26. It's on the todo list.