MetOffice / MetOffice/lfric_core

Parallelise function space unit tests

Open
#332 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Fortran
Stars
26
Forks
73
Avg merge
1d 8h
Merged PRs (30d)
4

Description

### Are there any linked Issues or Pull Requests?

_No response_

### Brief description

Currently, function space unit tests are serial only. To fully test function spaces, their unit tests need to be run in parallel

### Further details of the issue.

The function space unit tests are already complicated as they consist of 44 parameterised tests that test different versions of the various function spaces defined within LFRic. These are all tested against canned data held in ``unit-test/support/fs_test_data_mod.F90``.

However, all these unit tests are serial, so testing what function spaces give for ``last_dof_owned``, ``last_dof_annexed``, ``last_dof_halo(n)`` and ``undf`` all return the same value. These are not very satisfactory tests.

The tests should be made to run in parallel with function spaces that describe data with proper annexed and halo dofs. Not only will this require some re-writing of the unit tests, but the data in ``unit-test/support/fs_test_data_mod.F90`` will have to be updated.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the function space unit-test suite and read unit-test/support/fs_test_data_mod.F90, which contains the canned test data. Review how the 44 parameterised tests currently exercise last_dof_owned, last_dof_annexed, last_dof_halo(n) and undf in serial. Done means the tests run in parallel with proper annexed and halo dofs and the support data validates the resulting values.

Written by the indexing model from the issue text.

Assessment

Tech stack
fortran
Domain
testing-qa
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.