Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
bf9d69e
IDC seems to work, RIDIC implementation started, but imcomplete
atb1995 Mar 7, 2025
abbd484
RIDC and IDC running, RIDC not getting as high convergence at IDC
atb1995 Mar 12, 2025
e5b48d0
RIDC and RIDC_Reduced working
atb1995 Mar 27, 2025
801bb06
Parallel RIDC is working :)
atb1995 Apr 2, 2025
ab56457
Parallel IO working
atb1995 Apr 4, 2025
465b792
Adding time parallel SDC
atb1995 Apr 25, 2025
cf353e7
Merge branch 'main' into IDC_and_RIDC
atb1995 Apr 25, 2025
7b6b42e
Small changes to SDC and RIDC
atb1995 May 12, 2025
e9687a7
Parallel test added
atb1995 May 13, 2025
86fb713
Tidy up of code
atb1995 May 13, 2025
b771186
Merge branch 'main' into IDC_and_RIDC
atb1995 May 13, 2025
0ea9ed4
Fixing error check
atb1995 May 13, 2025
52166b6
Fixed IO in parallel test
atb1995 May 13, 2025
a1abc48
Fix parallel test
atb1995 May 14, 2025
c2803ba
Docs fix
atb1995 May 14, 2025
eff003b
Fix test again..
atb1995 May 14, 2025
2349b1d
Updated tests
atb1995 May 14, 2025
be9a6e1
Add call to 6 processors
atb1995 May 16, 2025
0222e55
Trying longer time..
atb1995 May 16, 2025
f560055
Merge branch 'main' into IDC_and_RIDC
atb1995 Jun 19, 2025
801f783
Update using qmat
atb1995 Jul 21, 2025
90d175a
Tidy up
atb1995 Jul 21, 2025
f3c5edf
Merge branch 'main' into IDC_and_RIDC
atb1995 Jul 21, 2025
97e81c3
lint fix
atb1995 Jul 21, 2025
ebfc09f
Final update
atb1995 Jul 21, 2025
c5bb96b
small changes to test
atb1995 Jul 21, 2025
4243582
Merge branch 'main' into IDC_and_RIDC
atb1995 Jul 25, 2025
727f1b5
printing error in integration test
atb1995 Jul 30, 2025
56e7ffd
Merge branch 'IDC_and_RIDC' of https://github.com/firedrakeproject/gu…
atb1995 Jul 30, 2025
97afce6
Switch to 4 and 2, still seems to pass locally..
atb1995 Jul 31, 2025
0d9621f
make sure IO is correct for test and use base for SDC
atb1995 Jul 31, 2025
575a7e2
Make sure non Picard integral on advection term
atb1995 Jul 31, 2025
a542020
Extend timeout and alter test set up
atb1995 Aug 5, 2025
dff1198
minor change
atb1995 Aug 5, 2025
5c79509
Alter of test for only 4 processors
atb1995 Aug 5, 2025
e0d843f
Fix errors in unit test..
atb1995 Aug 5, 2025
b2cceb1
Fix to scaling of Qdelta matrices for diagonal SDC
atb1995 Aug 11, 2025
bd7fe80
Merge branch 'IDC_and_RIDC' of https://github.com/firedrakeproject/gu…
atb1995 Aug 11, 2025
f913646
Merge branch 'main' into IDC_and_RIDC
atb1995 Aug 11, 2025
5cea6d8
Updated integration test again.. hopefully will not time out
atb1995 Aug 12, 2025
4b8b5ac
Merge branch 'IDC_and_RIDC' of https://github.com/firedrakeproject/gu…
atb1995 Aug 12, 2025
e14513a
Only test 4 processors
atb1995 Aug 12, 2025
d64c838
Test alterations..
atb1995 Aug 12, 2025
1d02752
Alter to work on 2 cores so see if it works..
atb1995 Aug 12, 2025
0ca07a4
Update gusto/time_discretisation/parallel_dc.py
atb1995 Aug 21, 2025
c640e73
Merge branch 'main' into IDC_and_RIDC
atb1995 Sep 3, 2025
0deff37
Merge branch 'main' into IDC_and_RIDC
jshipton Sep 4, 2025
fc67e8f
Build in flush option
atb1995 Sep 11, 2025
6922291
Fix to split common form
atb1995 Sep 12, 2025
665bb17
Lint fix
atb1995 Sep 12, 2025
cc93be9
Correct warning through logger
atb1995 Sep 12, 2025
4df3480
Add flush frequency to testing
atb1995 Sep 15, 2025
f418824
Merge branch 'main' into IDC_and_RIDC
atb1995 Sep 15, 2025
7eeeab8
Fix to common forms
atb1995 Oct 15, 2025
907d459
merge to main
atb1995 Nov 13, 2025
630a61e
minor changes in logging and imex_rk
atb1995 Nov 14, 2025
8fdae5c
Merge branch 'IDC_and_RIDC' of https://github.com/firedrakeproject/gu…
atb1995 Nov 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions gusto/core/io.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ def pick_up_mesh(output, mesh_name, comm=COMM_WORLD):
else:
dumpdir = path.join("results", output.dirname)
chkfile = path.join(dumpdir, "chkpt.h5")
with CheckpointFile(chkfile, 'r', comm=comm) as chk:
with CheckpointFile(chkfile, 'r', comm) as chk:
mesh = chk.load_mesh(mesh_name)

if dumpdir:
Expand Down Expand Up @@ -665,7 +665,7 @@ def pick_up_from_checkpoint(self, state_fields, comm=COMM_WORLD):
step = chk.read_attribute("/", "step")

else:
with CheckpointFile(chkfile, 'r', comm) as chk:
with CheckpointFile(chkfile, 'r', self.domain.mesh.comm) as chk:
mesh = self.domain.mesh
# Recover compulsory fields from the checkpoint
for field_name in self.to_pick_up:
Expand Down Expand Up @@ -773,7 +773,7 @@ def dump(self, state_fields, time_data):
chkpt_mode = 'a'
else:
chkpt_mode = 'w'
with CheckpointFile(self.chkpt_path, chkpt_mode) as chk:
with CheckpointFile(self.chkpt_path, chkpt_mode, self.mesh.comm) as chk:
chk.save_mesh(self.domain.mesh)
for field_name in self.to_pick_up:
if output.multichkpt:
Expand Down Expand Up @@ -981,7 +981,7 @@ def make_nc_dataset(filename, access, comm):

"""
try:
nc_field_file = Dataset(filename, access, parallel=True)
nc_field_file = Dataset(filename, access, parallel=True, comm=comm)
nc_supports_parallel = True
except ValueError:
# parallel netCDF not available, use the serial version instead
Expand Down
4 changes: 2 additions & 2 deletions gusto/equations/common_forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ def split_continuity_form(equation):
u_trial = TrialFunctions(W)[u_idx]
qbar = split(equation.X_ref)[idx]
# Add linearisation to adv_term
linear_adv_term = linear_advection_form(test, qbar, u_trial)
linear_adv_term = linear_advection_form(test, qbar, u_trial, qbar, uadv)
adv_term = linearisation(adv_term, linear_adv_term)
# Add linearisation to div_term
linear_div_term = transporting_velocity(qbar*test*div(u_trial)*dx, u_trial)
Expand Down Expand Up @@ -446,7 +446,7 @@ def split_linear_advection_form(test, qbar, ubar, ubar_full):
:class:`LabelledForm`: a labelled transport form.
"""

L = test*dot(ubar, grad(qbar))*dx
L = inner(test, dot(ubar, grad(qbar)))*dx
form = transporting_velocity(L, ubar_full)

return transport(form, TransportEquationType.advective)
Expand Down
3 changes: 2 additions & 1 deletion gusto/time_discretisation/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
from gusto.time_discretisation.imex_runge_kutta import * # noqa
from gusto.time_discretisation.multi_level_schemes import * # noqa
from gusto.time_discretisation.wrappers import * # noqa
from gusto.time_discretisation.sdc import * # noqa
from gusto.time_discretisation.deferred_correction import * # noqa
from gusto.time_discretisation.parallel_dc import * # noqa
Loading
Loading