Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -341,14 +341,16 @@ subroutine init_mesh( config, &
decomposition_dst, &
stencil_depths, &
generate_inner_halos(dst), &
partitioner_dst )
partitioner_dst, &
enforce_constraints = .false. )

call create_local_mesh( mesh_names(src:src), &
local_rank, total_ranks, &
decomposition_src, &
stencil_depths, &
generate_inner_halos(src), &
partitioner_src )
partitioner_src, &
enforce_constraints = .false. )

! Read in the global intergrid mesh mappings,
! then create the associated local mesh maps
Expand Down
2 changes: 1 addition & 1 deletion dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ lfric_apps:

lfric_core:
source: git@github.com:MetOffice/lfric_core.git
ref: 03753d89c30af4aba2bf9a16f42ddec05dc51ad8
ref: a963e38720b7ea0b01952176603f6f98767d6506

moci:
source: git@github.com:MetOffice/moci.git
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ subroutine build_topology(planet_radius, mesh_id )
decomposition, &
max_stencil_depth=1_i_def, &
generate_inner_halos=.true., &
enforce_constraints=.true., &
local_rank=global_mpi%get_comm_rank(), &
total_ranks=global_mpi%get_comm_size() )
allocate( local_mesh )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ module set_rho_kernel_mod
use finite_element_config_mod, only: coord_system
use idealised_config_mod, only: test
use planet_config_mod, only: scaled_radius

implicit none

private
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,22 +34,24 @@ module agnesi_orography_cartesian_mod_test
procedure :: test_agnesi_orography_cartesian
end type agnesi_orography_cartesian_test_type

character(str_def), parameter :: mesh_name = 'unit_test'
character(len=str_max_filename) :: file_prefix = "data/mesh_BiP40x40-5x5"
character(str_def), parameter :: mesh_name = 'unit_test'
character(len=str_max_filename) :: file_prefix = "data/mesh_BiP40x40-5x5"

real(r_def), parameter :: domain_bottom = 0.0_r_def
real(r_def), parameter :: domain_top = 1000.0_r_def
real(r_def), parameter :: surface_pressure = 1000.0e2_r_def
real(r_def), parameter :: domain_bottom = 0.0_r_def
real(r_def), parameter :: domain_top = 1000.0_r_def
real(r_def), parameter :: surface_pressure = 1000.0e2_r_def

integer(i_def), parameter :: nlayers = 1_i_def
integer(i_def), parameter :: element_order_h = 0_i_def
integer(i_def), parameter :: element_order_v = 0_i_def
integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def
integer(i_def), parameter :: nlayers = 1_i_def
integer(i_def), parameter :: element_order_h = 0_i_def
integer(i_def), parameter :: element_order_v = 0_i_def
integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def

logical(l_def), parameter :: generate_inner_halos = .true.
integer(i_def), parameter :: max_stencil_depth = 1_i_def
logical(l_def), parameter :: generate_inner_halos = .true.
logical(l_def), parameter :: enforce_constraints = .false.

contains

Expand Down Expand Up @@ -172,12 +174,13 @@ contains
! Assign partitioner
decomposition = custom_decomposition_type( xproc, yproc )
partitioner_ptr => partitioner_planar
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
1, &
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
max_stencil_depth, &
generate_inner_halos, &
local_rank, &
enforce_constraints, &
local_rank, &
total_ranks )
call local_mesh%initialise( global_mesh_ptr, partition )
call local_mesh%init_cell_owner()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,20 @@ module agnesi_orography_spherical_mod_test
procedure :: test_agnesi_orography_spherical
end type agnesi_orography_spherical_test_type

character(str_def), parameter :: mesh_name = 'unit_test'
character(len=str_max_filename) :: file_prefix = "data/mesh_C16"
integer(i_def), parameter :: nlayers = 1_i_def
integer(i_def), parameter :: element_order_h = 0_i_def
integer(i_def), parameter :: element_order_v = 0_i_def
integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def
logical(l_def), parameter :: generate_inner_halos = .true.
character(str_def), parameter :: mesh_name = 'unit_test'
character(len=str_max_filename) :: file_prefix = "data/mesh_C16"

integer(i_def), parameter :: nlayers = 1_i_def
integer(i_def), parameter :: element_order_h = 0_i_def
integer(i_def), parameter :: element_order_v = 0_i_def
integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def

integer(i_def), parameter :: max_stencil_depth = 1_i_def
logical(l_def), parameter :: generate_inner_halos = .true.
logical(l_def), parameter :: enforce_constraints = .false.

contains

Expand Down Expand Up @@ -177,12 +181,13 @@ contains
! Assign partitioner
decomposition = custom_decomposition_type( xproc, yproc )
partitioner_ptr => partitioner_cubedsphere_serial
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
1, &
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
max_stencil_depth, &
generate_inner_halos, &
local_rank, &
enforce_constraints, &
local_rank, &
total_ranks )
! Create local mesh
call local_mesh%initialise( global_mesh_ptr, partition )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,24 @@ module analytic_orography_field_cartesian_mod_test
procedure :: test_analytic_orography_field_cartesian
end type analytic_orography_field_cartesian_test_type

character(str_def), parameter :: mesh_name = 'unit_test'
character(len=str_max_filename) :: file_prefix = "data/mesh_BiP40x40-5x5"
real(r_def), parameter :: domain_bottom = 0.0_r_def
real(r_def), parameter :: domain_height = 10000.0_r_def
real(r_def), parameter :: surface_pressure = 1000.0e2_r_def
integer(i_def), parameter :: nlayers = 10_i_def
integer(i_def), parameter :: element_order_h = 0_i_def
integer(i_def), parameter :: element_order_v = 0_i_def
integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def
logical(l_def), parameter :: generate_inner_halos = .true.
character(str_def), parameter :: mesh_name = 'unit_test'
character(len=str_max_filename) :: file_prefix = "data/mesh_BiP40x40-5x5"

real(r_def), parameter :: domain_bottom = 0.0_r_def
real(r_def), parameter :: domain_height = 10000.0_r_def
real(r_def), parameter :: surface_pressure = 1000.0e2_r_def

integer(i_def), parameter :: nlayers = 10_i_def
integer(i_def), parameter :: element_order_h = 0_i_def
integer(i_def), parameter :: element_order_v = 0_i_def
integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def

integer(i_def), parameter :: max_stencil_depth = 1_i_def
logical(l_def), parameter :: generate_inner_halos = .true.
logical(l_def), parameter :: enforce_constraints = .false.

contains

Expand Down Expand Up @@ -196,12 +201,13 @@ contains
! Assign partitioner
decomposition = custom_decomposition_type( xproc, yproc )
partitioner_ptr => partitioner_planar
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
1, &
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
max_stencil_depth, &
generate_inner_halos, &
local_rank, &
enforce_constraints, &
local_rank, &
total_ranks )
call local_mesh%initialise( global_mesh_ptr, partition )
call local_mesh%init_cell_owner()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,22 @@ module analytic_orography_field_spherical_mod_test
procedure :: test_analytic_orography_field_spherical
end type analytic_orography_field_spherical_test_type

character(str_def), parameter :: mesh_name = 'unit_test'
character(len=str_max_filename) :: file_prefix = "data/mesh_C16"
real(r_def), parameter :: domain_height = 10000.0_r_def
integer(i_def), parameter :: nlayers = 10_i_def
integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def
character(str_def), parameter :: mesh_name = 'unit_test'
character(len=str_max_filename) :: file_prefix = "data/mesh_C16"

real(r_def), parameter :: radius = 6371229.0_r_def
real(r_def), parameter :: radius = 6371229.0_r_def
real(r_def), parameter :: domain_height = 10000.0_r_def

logical(l_def), parameter :: generate_inner_halos = .true.
integer(i_def), parameter :: nlayers = 10_i_def
integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def


integer(i_def), parameter :: max_stencil_depth = 1_i_def
logical(l_def), parameter :: generate_inner_halos = .true.
logical(l_def), parameter :: enforce_constraints = .false.

contains

Expand Down Expand Up @@ -208,12 +212,13 @@ contains
! Assign partitioner
decomposition = custom_decomposition_type( xproc, yproc )
partitioner_ptr => partitioner_cubedsphere_serial
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
1, &
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
max_stencil_depth, &
generate_inner_halos, &
local_rank, &
enforce_constraints, &
local_rank, &
total_ranks )
call local_mesh%initialise( global_mesh_ptr, partition )
call local_mesh%init_cell_owner()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,19 +36,21 @@ module dcmip200_orography_spherical_mod_test

character(str_def), parameter :: mesh_name = 'unit_test'
character(len=str_max_filename) :: file_prefix = "data/mesh_C16"
integer(i_def), parameter :: nlayers = 1_i_def
integer(i_def), parameter :: element_order_h = 0_i_def
integer(i_def), parameter :: element_order_v = 0_i_def
integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def

real(r_def), parameter :: radius = 6371229.0_r_def
integer(i_def), parameter :: nlayers = 1_i_def
integer(i_def), parameter :: element_order_h = 0_i_def
integer(i_def), parameter :: element_order_v = 0_i_def
integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def

real(r_def), parameter :: radius = 6371229.0_r_def
real(r_def), parameter :: surface_pressure = 1000.0e2_r_def

logical(l_def), parameter :: generate_inner_halos = .true.
integer(i_def), parameter :: max_stencil_depth = 1_i_def
logical(l_def), parameter :: generate_inner_halos = .true.
logical(l_def), parameter :: enforce_constraints = .false.

contains

Expand Down Expand Up @@ -178,12 +180,13 @@ contains
! Assign partitioner
decomposition = custom_decomposition_type( xproc, yproc )
partitioner_ptr => partitioner_cubedsphere_serial
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
1, &
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
max_stencil_depth, &
generate_inner_halos, &
local_rank, &
enforce_constraints, &
local_rank, &
total_ranks )
! Create local mesh
call local_mesh%initialise( global_mesh_ptr, partition )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,17 @@ module schar_orography_cartesian_mod_test
real(r_def), parameter :: domain_top = 1000.0_r_def
real(r_def), parameter :: surface_pressure = 1000.0e2_r_def

integer(i_def), parameter :: nlayers = 1_i_def
integer(i_def), parameter :: element_order_h = 0_i_def
integer(i_def), parameter :: element_order_v = 0_i_def
integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def

logical(l_def), parameter :: generate_inner_halos = .true.
integer(i_def), parameter :: nlayers = 1_i_def
integer(i_def), parameter :: element_order_h = 0_i_def
integer(i_def), parameter :: element_order_v = 0_i_def
integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def

integer(i_def), parameter :: max_stencil_depth = 1_i_def
logical(l_def), parameter :: generate_inner_halos = .true.
logical(l_def), parameter :: enforce_constraints = .false.

contains

Expand Down Expand Up @@ -172,12 +174,13 @@ contains
! Assign partitioner
decomposition = custom_decomposition_type( xproc, yproc )
partitioner_ptr => partitioner_planar
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
1, &
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
max_stencil_depth, &
generate_inner_halos, &
local_rank, &
enforce_constraints, &
local_rank, &
total_ranks )
call local_mesh%initialise( global_mesh_ptr, partition )
call local_mesh%init_cell_owner()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,15 @@ module schar_orography_spherical_mod_test
! Mesh and element order parameters
character(str_def), parameter :: mesh_name = 'unit_test'
character(len=str_max_filename) :: file_prefix = "data/mesh_C16"
integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def
logical(l_def), parameter :: generate_inner_halos = .true.

integer(i_def), parameter :: total_ranks = 1_i_def
integer(i_def), parameter :: local_rank = 0_i_def
integer(i_def), parameter :: xproc = 1_i_def
integer(i_def), parameter :: yproc = 1_i_def

integer(i_def), parameter :: max_stencil_depth = 1_i_def
logical(l_def), parameter :: generate_inner_halos = .true.
logical(l_def), parameter :: enforce_constraints = .false.

contains

Expand Down Expand Up @@ -167,12 +171,13 @@ contains
! Assign partitioner
decomposition = custom_decomposition_type( xproc, yproc )
partitioner_ptr => partitioner_cubedsphere_serial
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
1, &
partition = partition_type( global_mesh_ptr, &
partitioner_ptr, &
decomposition, &
max_stencil_depth, &
generate_inner_halos, &
local_rank, &
enforce_constraints, &
local_rank, &
total_ranks )
! Create local mesh
call local_mesh%initialise( global_mesh_ptr, partition )
Expand Down
Loading