diff --git a/applications/io_demo/source/driver/io_demo_checkpoint_mod.f90 b/applications/io_demo/source/driver/io_demo_checkpoint_mod.f90 index 0fa29fcb9b..bc6fabcee6 100644 --- a/applications/io_demo/source/driver/io_demo_checkpoint_mod.f90 +++ b/applications/io_demo/source/driver/io_demo_checkpoint_mod.f90 @@ -25,11 +25,6 @@ module io_demo_checkpoint_mod LOG_LEVEL_DEBUG, LOG_LEVEL_ERROR use mesh_mod, only: mesh_type - use base_mesh_config_mod, only: geometry_spherical, & - geometry_planar, & - topology_fully_periodic, & - topology_non_periodic - implicit none private @@ -71,21 +66,9 @@ subroutine setup_checkpoint_io(modeldb, chi, panel_id) call log_event( 'io_demo: Setting up checkpoint I/O', LOG_LEVEL_DEBUG ) mesh => chi(1)%get_mesh() - if (mesh%is_geometry_spherical()) then - geometry = geometry_spherical - else - geometry = geometry_planar - end if - - if (mesh%is_topology_periodic()) then - topology = topology_fully_periodic - else if (mesh%is_topology_non_periodic()) then - topology = topology_non_periodic - else - call log_event( 'Unsupported mesh topology', & - log_level_error ) - end if + geometry = mesh%geometry() + topology = mesh%topology() coord_system = modeldb%config%finite_element%coord_system() scaled_radius = modeldb%config%planet%scaled_radius() diff --git a/applications/lbc_demo/source/kernel/set_lbc_int_kernel_mod.F90 b/applications/lbc_demo/source/kernel/set_lbc_int_kernel_mod.F90 index 0a7c37ca7f..4cb31acf2a 100644 --- a/applications/lbc_demo/source/kernel/set_lbc_int_kernel_mod.F90 +++ b/applications/lbc_demo/source/kernel/set_lbc_int_kernel_mod.F90 @@ -14,7 +14,7 @@ module set_lbc_int_kernel_mod use constants_mod, only: r_def, i_def, l_def, radians_to_degrees use kernel_mod, only: kernel_type - use base_mesh_config_mod, only: geometry_spherical + use mesh_mod, only: geometry_spherical implicit none diff --git a/applications/lbc_demo/source/kernel/set_lbc_real_kernel_mod.F90 b/applications/lbc_demo/source/kernel/set_lbc_real_kernel_mod.F90 index 02d8d983e5..3c0765829d 100644 --- a/applications/lbc_demo/source/kernel/set_lbc_real_kernel_mod.F90 +++ b/applications/lbc_demo/source/kernel/set_lbc_real_kernel_mod.F90 @@ -14,7 +14,7 @@ module set_lbc_real_kernel_mod use constants_mod, only: r_def, i_def, l_def, radians_to_degrees use kernel_mod, only: kernel_type - use base_mesh_config_mod, only: geometry_spherical + use mesh_mod, only: geometry_spherical implicit none diff --git a/components/driver/source/driver_coordinates_mod.F90 b/components/driver/source/driver_coordinates_mod.F90 index d5c5d98a48..b6595073bd 100644 --- a/components/driver/source/driver_coordinates_mod.F90 +++ b/components/driver/source/driver_coordinates_mod.F90 @@ -18,11 +18,12 @@ module driver_coordinates_mod schmidt_transform_xyz, & inverse_schmidt_transform_xyz + use mesh_mod, only: geometry_planar, & + geometry_spherical, & + topology_periodic, & + topology_non_periodic + ! Configuration modules - use base_mesh_config_mod, only: geometry_planar, & - geometry_spherical, & - topology_fully_periodic, & - topology_non_periodic use finite_element_config_mod, only: coord_system_xyz implicit none @@ -64,7 +65,7 @@ subroutine assign_coordinate_field(config, mesh, chi, panel_id) implicit none type(config_type), intent(in) :: config - type(mesh_type), intent(in), pointer :: mesh + type(mesh_type), intent(in) :: mesh type(field_type), intent(inout) :: chi(3) type(field_type), intent(inout) :: panel_id @@ -108,18 +109,8 @@ subroutine assign_coordinate_field(config, mesh, chi, panel_id) nullify( map, map_pid, dof_coords, reference_element ) - if (mesh%is_geometry_spherical()) then - geometry = geometry_spherical - else - geometry = geometry_planar - end if - - if (mesh%is_topology_periodic()) then - topology = topology_fully_periodic - else - topology = topology_non_periodic - end if - + geometry = mesh%geometry() + topology = mesh%topology() coord_system = config%finite_element%coord_system() scaled_radius = config%planet%scaled_radius() @@ -178,7 +169,7 @@ subroutine assign_coordinate_field(config, mesh, chi, panel_id) ! Throw an error if stretching factor is not 1 and not on cubed-sphere if ( abs(stretch_factor - 1.0_r_def) > eps .and. .not. & (geometry == geometry_spherical .and. & - topology == topology_fully_periodic) ) then + topology == topology_periodic) ) then call log_event( & 'driver_coordinates: Cannot determine coordinates if Schmidt ' // & 'stretching factor is not 1 and mesh is not cubed-sphere', & @@ -228,7 +219,7 @@ subroutine assign_coordinate_field(config, mesh, chi, panel_id) end do else if ( geometry == geometry_spherical .and. & - topology /= topology_fully_periodic ) then + topology /= topology_periodic ) then do cell = 1,chi_proxy(1)%vspace%get_ncell() @@ -263,7 +254,7 @@ subroutine assign_coordinate_field(config, mesh, chi, panel_id) end do else if ( geometry == geometry_spherical .and. & - topology == topology_fully_periodic ) then + topology == topology_periodic ) then do cell = 1,chi_proxy(1)%vspace%get_ncell() @@ -352,7 +343,7 @@ subroutine calc_panel_id( nlayers, & integer(kind=i_def) :: vert, k if ( geometry == geometry_spherical .and. & - topology == topology_fully_periodic ) then + topology == topology_periodic ) then ! The following code assumes that the mesh generator has ordered the ! global cell ids panel-by-panel. If this is ever not the case, the @@ -451,7 +442,7 @@ subroutine assign_coordinate_xyz( nlayers, & end if ! Domain does not have N-S boundaries only if topology completely periodic if ( column_coords(2,SWB,k+1) > column_coords(2,NWB,k+1) .and. & - topology == topology_fully_periodic ) then + topology == topology_periodic ) then ! On y boundary vertex_local_coords(2,SWB) = domain_y vertex_local_coords(2,SEB) = domain_y diff --git a/components/driver/source/driver_fem_mod.f90 b/components/driver/source/driver_fem_mod.f90 index 8d2bfe5e43..88f9803ea9 100644 --- a/components/driver/source/driver_fem_mod.f90 +++ b/components/driver/source/driver_fem_mod.f90 @@ -26,6 +26,10 @@ module driver_fem_mod use sci_chi_transform_mod, only: init_chi_transforms, & final_chi_transforms + use mesh_mod, only: geometry_spherical, & + geometry_planar, & + topology_non_periodic + ! Object types use config_mod, only: config_type use field_mod, only: field_type @@ -33,10 +37,6 @@ module driver_fem_mod use inventory_by_mesh_mod, only: inventory_by_mesh_type ! Configuration modules - use base_mesh_config_mod, only: geometry_spherical, & - geometry_planar, & - topology_non_periodic, & - topology_fully_periodic use finite_element_config_mod, only: coord_system_xyz, & coord_space_W0, & coord_space_Wchi, & @@ -121,17 +121,8 @@ subroutine init_fem(config, chi_inventory, panel_id_inventory) mesh => mesh_collection%get_mesh(all_mesh_names(i)) mesh_name = mesh%get_mesh_name() - if (mesh%is_geometry_spherical()) then - geometry = geometry_spherical - else - geometry = geometry_planar - end if - - if (mesh%is_topology_periodic()) then - topology = topology_fully_periodic - else - topology = topology_non_periodic - end if + geometry = mesh%geometry() + topology = mesh%topology() ! Initialise coordinate transformations call init_chi_transforms( geometry, topology, & diff --git a/components/driver/source/driver_mesh_mod.f90 b/components/driver/source/driver_mesh_mod.f90 index 40157459ae..13c0823ebf 100644 --- a/components/driver/source/driver_mesh_mod.f90 +++ b/components/driver/source/driver_mesh_mod.f90 @@ -51,11 +51,11 @@ module driver_mesh_mod use global_mesh_collection_mod, only: global_mesh_collection use local_mesh_collection_mod, only: local_mesh_collection + use mesh_mod, only: geometry_spherical, & + topology_periodic ! Configuration modules use finite_element_config_mod, only: cellshape_quadrilateral - use base_mesh_config_mod, only: geometry_spherical, & - topology_fully_periodic implicit none @@ -287,7 +287,7 @@ subroutine init_mesh( config, & generate_inner_halos = config%partitioning%generate_inner_halos() if ( geometry == geometry_spherical .and. & - topology == topology_fully_periodic ) then + topology == topology_periodic ) then mesh_selection = mesh_cubedsphere call log_event( "Setting up cubed-sphere partition mesh(es)", & log_level_debug ) diff --git a/components/driver/unit-test/assign_coordinate_xyz_mod_test.pf b/components/driver/unit-test/assign_coordinate_xyz_mod_test.pf index 37eaac9efa..4434c9128a 100644 --- a/components/driver/unit-test/assign_coordinate_xyz_mod_test.pf +++ b/components/driver/unit-test/assign_coordinate_xyz_mod_test.pf @@ -9,7 +9,7 @@ module assign_coordinate_xyz_mod_test use constants_mod, only : r_def, i_def - use base_mesh_config_mod, only: geometry_planar, topology_fully_periodic + use mesh_mod, only: geometry_planar, topology_periodic use funit implicit none @@ -33,7 +33,7 @@ contains one = 1.0_r_def integer(i_def), parameter :: geometry = geometry_planar - integer(i_def), parameter :: topology = topology_fully_periodic + integer(i_def), parameter :: topology = topology_periodic real(r_def), parameter :: scaled_radius = 1.0_r_def integer(kind=i_def) :: nlayers, ndf, nverts, i, undf, ndf_pid, undf_pid diff --git a/components/science/source/algorithm/sci_fem_constants_mod.x90 b/components/science/source/algorithm/sci_fem_constants_mod.x90 index 28c31d995e..dc8a51c511 100644 --- a/components/science/source/algorithm/sci_fem_constants_mod.x90 +++ b/components/science/source/algorithm/sci_fem_constants_mod.x90 @@ -25,7 +25,7 @@ module sci_fem_constants_mod use inventory_by_mesh_mod, only: inventory_by_mesh_type use log_mod, only: log_event, LOG_LEVEL_ERROR use mesh_collection_mod, only: mesh_collection - use mesh_mod, only: mesh_type + use mesh_mod, only: mesh_type, topology_periodic use operator_mod, only: operator_type use quadrature_xyoz_mod, only: quadrature_xyoz_type use quadrature_rule_gaussian_mod, only: quadrature_rule_gaussian_type @@ -210,7 +210,6 @@ contains only: compute_mass_matrix_kernel_w1_type use sci_edge_lump_w2_mass_matrix_kernel_mod, & only: edge_lump_w2_mass_matrix_kernel_type - use base_mesh_config_mod, only: topology, topology_fully_periodic implicit none @@ -230,6 +229,11 @@ contains integer(kind=i_def), parameter :: stencil_depth = 1_i_def integer(tik) :: id + integer(i_def) :: topology + + mesh => mesh_collection%get_mesh(mesh_id) + topology = mesh%topology() + ! If running at lowest order, use finite volume if (element_order_h == 0 .and. element_order_v == 0) then mm_op => get_mass_matrix_fv(space, mesh_id) @@ -266,7 +270,6 @@ contains call inventory%initialise(name=inventory_name) end if - mesh => mesh_collection%get_mesh(mesh_id) constant_exists = inventory%paired_object_exists(mesh_id) if (.not. constant_exists) then @@ -299,7 +302,7 @@ contains end select ! Lump W2 mass matrix along the edge of the domain to avoid boundary ! errors propagating into the domain with each iteration - if ( (space == W2 .or. space == W2h) .and. topology /= topology_fully_periodic ) then + if ( (space == W2 .or. space == W2h) .and. topology /= topology_periodic ) then call dummy_field%initialise( fs, halo_depth=2 ) call invoke( edge_lump_w2_mass_matrix_kernel_type(mm_op, & dummy_field, & @@ -328,7 +331,6 @@ contains only: compute_mass_matrix_kernel_w1_type use sci_edge_lump_w2_mass_matrix_kernel_mod, & only: edge_lump_w2_mass_matrix_kernel_type - use base_mesh_config_mod, only: topology, topology_fully_periodic implicit none @@ -348,6 +350,11 @@ contains integer(kind=i_def), parameter :: stencil_depth = 1_i_def integer(tik) :: id + integer(i_def) :: topology + + mesh => mesh_collection%get_mesh(mesh_id) + topology = mesh%topology() + ! Point to appropriate inventory for this space select case (space) case (W1) @@ -378,7 +385,6 @@ contains call inventory%initialise(name=inventory_name) end if - mesh => mesh_collection%get_mesh(mesh_id) constant_exists = inventory%paired_object_exists(mesh_id) if (.not. constant_exists) then @@ -410,7 +416,7 @@ contains end select ! Lump W2 mass matrix along the edge of the domain to avoid boundary ! errors propagating into the domain with each iteration - if ( (space == W2 .or. space == W2h) .and. topology /= topology_fully_periodic ) then + if ( (space == W2 .or. space == W2h) .and. topology /= topology_periodic ) then call dummy_field%initialise( fs, halo_depth=2 ) call invoke( edge_lump_w2_mass_matrix_kernel_type(mm_op, & dummy_field, & diff --git a/components/science/source/algorithm/sci_geometric_constants_mod.x90 b/components/science/source/algorithm/sci_geometric_constants_mod.x90 index decdc43320..9059bf3baf 100644 --- a/components/science/source/algorithm/sci_geometric_constants_mod.x90 +++ b/components/science/source/algorithm/sci_geometric_constants_mod.x90 @@ -21,6 +21,7 @@ module sci_geometric_constants_mod use function_space_collection_mod, only: function_space_collection use log_mod, only: log_event, LOG_LEVEL_ERROR use mesh_collection_mod, only: mesh_collection + use mesh_mod, only: geometry_spherical use timing_mod, only: start_timing, stop_timing, & tik, LPROF @@ -35,10 +36,6 @@ module sci_geometric_constants_mod use local_mesh_mod, only: local_mesh_type ! Configuration - use base_mesh_config_mod, only: geometry_spherical, & - geometry_planar, & - topology_fully_periodic, & - topology_non_periodic use finite_element_config_mod, only: coord_system_native implicit none @@ -190,6 +187,8 @@ contains element_order_h = config%finite_element%element_order_h() element_order_v = config%finite_element%element_order_v() + topology = mesh%topology() + f_lat = config%base_mesh%f_lat() f_lon = config%idealised%f_lon() @@ -214,14 +213,6 @@ contains chi => get_coordinates(mesh) panel_id => get_panel_id(mesh) - if (mesh%is_topology_periodic()) then - topology = topology_fully_periodic - else if (mesh%is_topology_non_periodic()) then - topology = topology_non_periodic - else - call log_event('compute_latlon: Unsupported topology selection',log_level_error) - end if - call invoke( compute_latlon_kernel_type(lat, long, chi, panel_id, & geometry_spherical, & topology, coord_system, & @@ -782,7 +773,7 @@ contains implicit none - type(config_type), intent(in) :: config + type(config_type), intent(in) :: config type(mesh_type), intent(in) :: mesh type(field_type), pointer :: dz_w3 @@ -972,8 +963,8 @@ contains implicit none - type(config_type), intent(in) :: config - type(mesh_type), intent(in), pointer :: mesh + type(config_type), intent(in) :: config + type(mesh_type), intent(in) :: mesh integer(kind=i_def) :: local_mesh_id @@ -995,11 +986,7 @@ contains call dA_msl_proj_inventory%initialise(name="dA_msl_proj") end if - if (mesh%is_geometry_spherical()) then - geometry = geometry_spherical - else - geometry = geometry_planar - end if + geometry = mesh%geometry() planet_radius = config%extrusion%planet_radius() domain_height = config%extrusion%domain_height() @@ -1340,11 +1327,7 @@ contains real(kind=r_def) :: scaled_radius - if (mesh%is_geometry_spherical()) then - geometry= geometry_spherical - else - geometry= geometry_planar - end if + geometry = mesh%geometry() element_order_h = config%finite_element%element_order_h() element_order_v = config%finite_element%element_order_v() @@ -1470,11 +1453,7 @@ contains integer(kind=i_def) :: coord_system real(kind=r_def) :: scaled_radius - if (mesh%is_geometry_spherical()) then - geometry = geometry_spherical - else - geometry = geometry_planar - end if + geometry = mesh%geometry() coord_system = config%finite_element%coord_system() scaled_radius = config%planet%scaled_radius() diff --git a/components/science/source/algorithm/sci_mapping_constants_mod.x90 b/components/science/source/algorithm/sci_mapping_constants_mod.x90 index e295d9b756..d3f3307c37 100644 --- a/components/science/source/algorithm/sci_mapping_constants_mod.x90 +++ b/components/science/source/algorithm/sci_mapping_constants_mod.x90 @@ -43,13 +43,6 @@ module sci_mapping_constants_mod ! Object types use config_mod, only: config_type - ! Configuration modules - use base_mesh_config_mod, only: geometry_spherical, & - geometry_planar, & - topology_fully_periodic, & - topology_non_periodic - - ! Other algorithms use sci_geometric_constants_mod, only: get_coordinates, & get_panel_id @@ -230,18 +223,8 @@ contains integer(kind=i_def) :: coord_system real(kind=r_def) :: scaled_radius - if (mesh%is_geometry_spherical()) then - geometry = geometry_spherical - else - geometry = geometry_planar - end if - - if (mesh%is_topology_periodic()) then - topology = topology_fully_periodic - else - topology = topology_non_periodic - end if - + geometry = mesh%geometry() + topology = mesh%topology() coord_system = config%finite_element%coord_system() scaled_radius = config%planet%scaled_radius() @@ -309,18 +292,8 @@ contains integer(kind=i_def) :: coord_system real(kind=r_def) :: scaled_radius - if (mesh%is_geometry_spherical()) then - geometry = geometry_spherical - else - geometry = geometry_planar - end if - - if (mesh%is_topology_periodic()) then - topology = topology_fully_periodic - else - topology = topology_non_periodic - end if - + geometry = mesh%geometry() + topology = mesh%topology() coord_system = config%finite_element%coord_system() scaled_radius = config%planet%scaled_radius() @@ -1109,18 +1082,8 @@ contains integer(kind=i_def), parameter :: xdirection = 1_i_def integer(tik) :: id - if (mesh%is_geometry_spherical()) then - geometry = geometry_spherical - else - geometry = geometry_planar - end if - - if (mesh%is_topology_periodic()) then - topology = topology_fully_periodic - else - topology = topology_non_periodic - end if - + geometry = mesh%geometry() + topology = mesh%topology() coord_system = config%finite_element%coord_system() scaled_radius = config%planet%scaled_radius() @@ -1191,18 +1154,8 @@ contains integer(kind=i_def), parameter :: ydirection = 2_i_def integer(tik) :: id - if (mesh%is_geometry_spherical()) then - geometry = geometry_spherical - else - geometry = geometry_planar - end if - - if (mesh%is_topology_periodic()) then - topology = topology_fully_periodic - else - topology = topology_non_periodic - end if - + geometry = mesh%geometry() + topology = mesh%topology() coord_system = config%finite_element%coord_system() scaled_radius = config%planet%scaled_radius() @@ -1274,18 +1227,8 @@ contains integer(kind=i_def), parameter :: zdirection = 3_i_def integer(tik) :: id - if (mesh%is_geometry_spherical()) then - geometry = geometry_spherical - else - geometry = geometry_planar - end if - - if (mesh%is_topology_periodic()) then - topology = topology_fully_periodic - else - topology = topology_non_periodic - end if - + geometry = mesh%geometry() + topology = mesh%topology() coord_system = config%finite_element%coord_system() scaled_radius = config%planet%scaled_radius() @@ -1358,18 +1301,8 @@ contains integer(kind=i_def) :: coord_system real(kind=r_def) :: scaled_radius - if (mesh%is_geometry_spherical()) then - geometry = geometry_spherical - else - geometry = geometry_planar - end if - - if (mesh%is_topology_periodic()) then - topology = topology_fully_periodic - else - topology = topology_non_periodic - end if - + geometry = mesh%geometry() + topology = mesh%topology() coord_system = config%finite_element%coord_system() scaled_radius = config%planet%scaled_radius() diff --git a/components/science/source/kernel/geometry/sci_chi_transform_mod.F90 b/components/science/source/kernel/geometry/sci_chi_transform_mod.F90 index 22e5bd04b6..0523f7556a 100644 --- a/components/science/source/kernel/geometry/sci_chi_transform_mod.F90 +++ b/components/science/source/kernel/geometry/sci_chi_transform_mod.F90 @@ -29,11 +29,11 @@ module sci_chi_transform_mod LOG_LEVEL_DEBUG, & LOG_LEVEL_WARNING use matrix_invert_mod, only : matrix_invert_3x3 +use mesh_mod, only : geometry_spherical, & + geometry_planar, & + topology_periodic ! Configuration modules -use base_mesh_config_mod, only: geometry_spherical, & - geometry_planar, & - topology_fully_periodic use finite_element_config_mod, only: coord_system_xyz, & coord_system_native @@ -180,7 +180,7 @@ subroutine init_chi_transforms( geometry, topology, & ) end if if ( abs(equatorial_latitude - rmdi) < EPS .or. & - geometry == geometry_planar .or. topology /= topology_fully_periodic ) then + geometry == geometry_planar .or. topology /= topology_periodic ) then equatorial_latitude = 0.0_r_def call log_event( & 'Equatorial latitude for mesh not set, so using 0.0 as default', & @@ -278,7 +278,7 @@ subroutine chi2xyz( chi_1, chi_2, chi_3, panel_id, & y = chi_2 z = chi_3 - else if (topology /= topology_fully_periodic) then + else if (topology /= topology_periodic) then ! domain is a spherical LAM, using (lon,lat,z) coordinates call llr2xyz(chi_1, chi_2, chi_3+scaled_radius, x, y, z) @@ -369,7 +369,7 @@ subroutine chir2xyz( chi_1, chi_2, chi_3, panel_id, & y = chi_2 z = chi_3 - else if (topology /= topology_fully_periodic) then + else if (topology /= topology_periodic) then ! domain is a spherical LAM, using (lon,lat,z) coordinates call llr2xyz(chi_1, chi_2, chi_3, x, y, z) @@ -457,7 +457,7 @@ subroutine chi2llr( chi_1, chi_2, chi_3, panel_id, & ! chi uses (geocentric) Cartesian coordinates call xyz2llr(chi_1, chi_2, chi_3, lon, lat, radius) - else if (topology /= topology_fully_periodic) then + else if (topology /= topology_periodic) then ! domain is a spherical LAM, already using (lon,lat,z) coordinates ! may need to rotate these to the physical (lon,lat) coordinates @@ -536,7 +536,7 @@ subroutine chi2abr( chi_1, chi_2, chi_3, panel_id, & real(kind=r_def) :: xyz(3) - if (topology /= topology_fully_periodic .or. geometry /= geometry_spherical) then + if (topology /= topology_periodic .or. geometry /= geometry_spherical) then call log_event( & 'chi2abr can only be used on cubed-sphere meshes', LOG_LEVEL_ERROR & ) diff --git a/components/science/source/kernel/geometry/sci_coordinate_jacobian_mod.F90 b/components/science/source/kernel/geometry/sci_coordinate_jacobian_mod.F90 index 852afbfa65..d1207e33ef 100644 --- a/components/science/source/kernel/geometry/sci_coordinate_jacobian_mod.F90 +++ b/components/science/source/kernel/geometry/sci_coordinate_jacobian_mod.F90 @@ -19,15 +19,14 @@ module sci_coordinate_jacobian_mod xyz2ll, & llr2xyz, & schmidt_transform_lat - + use mesh_mod, only: geometry_planar, & + topology_periodic use sci_chi_transform_mod, only: get_mesh_rotation_matrix, & get_to_stretch, & get_to_rotate, & get_stretch_factor ! Configuration modules - use base_mesh_config_mod, only: geometry_planar, & - topology_fully_periodic use finite_element_config_mod, only: coord_system_xyz, & coord_system_native @@ -209,7 +208,7 @@ subroutine coordinate_jacobian_quadrature_real32( & ! Using (X,Y,Z) coordinates or on a plane jac = jac_ref2sph - else if (topology == topology_fully_periodic) then + else if (topology == topology_periodic) then ! Native coordinates for a cubed-sphere mesh to_rotate = get_to_rotate() to_stretch = get_to_stretch() @@ -372,7 +371,7 @@ subroutine coordinate_jacobian_quadrature_real64( & ! Using (X,Y,Z) coordinates or on a plane jac = jac_ref2sph - else if (topology == topology_fully_periodic) then + else if (topology == topology_periodic) then ! Native coordinates for a cubed-sphere mesh to_rotate = get_to_rotate() to_stretch = get_to_stretch() @@ -549,7 +548,7 @@ subroutine coordinate_jacobian_evaluator_real32( & ! Using (X,Y,Z) coordinates or on a plane jac = jac_ref2sph - else if (topology == topology_fully_periodic) then + else if (topology == topology_periodic) then ! Native coordinates for a cubed-sphere mesh to_rotate = get_to_rotate() to_stretch = get_to_stretch() @@ -690,7 +689,7 @@ subroutine coordinate_jacobian_evaluator_real64( & ! Using (X,Y,Z) coordinates or on a plane jac = jac_ref2sph - else if (topology == topology_fully_periodic) then + else if (topology == topology_periodic) then ! Native coordinates for a cubed-sphere mesh to_rotate = get_to_rotate() to_stretch = get_to_stretch() @@ -981,7 +980,7 @@ subroutine pointwise_coordinate_jacobian_real32( & ! Using (X,Y,Z) coordinates or on a plane jac = jac_ref2sph - else if (topology == topology_fully_periodic) then + else if (topology == topology_periodic) then ! Native coordinates for a cubed-sphere mesh alpha = 0.0_real32 beta = 0.0_real32 @@ -1100,7 +1099,7 @@ subroutine pointwise_coordinate_jacobian_real64( & ! Using (X,Y,Z) coordinates or on a plane jac = jac_ref2sph - else if (topology == topology_fully_periodic) then + else if (topology == topology_periodic) then ! Native coordinates for a cubed-sphere mesh alpha = 0.0_real64 beta = 0.0_real64 diff --git a/components/science/source/kernel/geometry/sci_height_continuous_kernel_mod.F90 b/components/science/source/kernel/geometry/sci_height_continuous_kernel_mod.F90 index 4964cb6aa7..326cf565c1 100644 --- a/components/science/source/kernel/geometry/sci_height_continuous_kernel_mod.F90 +++ b/components/science/source/kernel/geometry/sci_height_continuous_kernel_mod.F90 @@ -15,10 +15,10 @@ module sci_height_continuous_kernel_mod GH_READ, GH_INC, & ANY_SPACE_1, ANY_SPACE_9, & CELL_COLUMN, GH_BASIS, GH_EVALUATOR - use base_mesh_config_mod, only: geometry_spherical use constants_mod, only: r_def, i_def, l_def use finite_element_config_mod, only: coord_system_xyz use kernel_mod, only: kernel_type + use mesh_mod, only: geometry_spherical implicit none private diff --git a/components/science/source/kernel/geometry/sci_height_discontinuous_kernel_mod.F90 b/components/science/source/kernel/geometry/sci_height_discontinuous_kernel_mod.F90 index 101e8aa4b4..af7f9d1b21 100644 --- a/components/science/source/kernel/geometry/sci_height_discontinuous_kernel_mod.F90 +++ b/components/science/source/kernel/geometry/sci_height_discontinuous_kernel_mod.F90 @@ -16,10 +16,10 @@ module sci_height_discontinuous_kernel_mod GH_READ, GH_WRITE, & ANY_DISCONTINUOUS_SPACE_1, ANY_SPACE_9, & CELL_COLUMN, GH_BASIS, GH_EVALUATOR - use base_mesh_config_mod, only: geometry_spherical use constants_mod, only: r_def, i_def, l_def use finite_element_config_mod, only: coord_system_xyz use kernel_mod, only: kernel_type + use mesh_mod, only: geometry_spherical implicit none private diff --git a/components/science/source/kernel/geometry/sci_native_jacobian_mod.F90 b/components/science/source/kernel/geometry/sci_native_jacobian_mod.F90 index 10116b3eec..866bea469c 100644 --- a/components/science/source/kernel/geometry/sci_native_jacobian_mod.F90 +++ b/components/science/source/kernel/geometry/sci_native_jacobian_mod.F90 @@ -26,11 +26,11 @@ module sci_native_jacobian_mod get_to_stretch, & get_to_rotate, & get_stretch_factor + use mesh_mod, only: geometry_planar, & + topology_periodic use finite_element_config_mod, only: coord_system_xyz, & coord_system_native - use base_mesh_config_mod, only: geometry_planar, & - topology_fully_periodic implicit none @@ -131,7 +131,7 @@ subroutine native_jacobian(coord_system, geometry, topology, scaled_radius, & ! Using (X,Y,Z) coordinates or on a plane jac = jac_ref2sph - else if (topology == topology_fully_periodic) then + else if (topology == topology_periodic) then radius = real(scaled_radius, kind=r_def) jac_sph2XYZ = jacobian_abr2XYZ(nlayers, chi_1_df, chi_2_df, chi_3_df+radius, panel_id) diff --git a/components/science/source/kernel/inter_function_space/sci_compute_map_u_operators_kernel_mod.F90 b/components/science/source/kernel/inter_function_space/sci_compute_map_u_operators_kernel_mod.F90 index f05d600f8f..f8c44e2031 100644 --- a/components/science/source/kernel/inter_function_space/sci_compute_map_u_operators_kernel_mod.F90 +++ b/components/science/source/kernel/inter_function_space/sci_compute_map_u_operators_kernel_mod.F90 @@ -28,8 +28,7 @@ module sci_compute_map_u_operators_kernel_mod use fs_continuity_mod, only : W2, W3, Wtheta use kernel_mod, only : kernel_type use log_mod, only : log_event, LOG_LEVEL_ERROR, LOG_LEVEL_INFO - - use base_mesh_config_mod, only: geometry_spherical, geometry_planar + use mesh_mod, only : geometry_spherical, geometry_planar implicit none diff --git a/components/science/source/kernel/inter_function_space/sci_compute_sample_u_ops_kernel_mod.F90 b/components/science/source/kernel/inter_function_space/sci_compute_sample_u_ops_kernel_mod.F90 index eb8514b3ce..30549f3379 100644 --- a/components/science/source/kernel/inter_function_space/sci_compute_sample_u_ops_kernel_mod.F90 +++ b/components/science/source/kernel/inter_function_space/sci_compute_sample_u_ops_kernel_mod.F90 @@ -33,8 +33,7 @@ module sci_compute_sample_u_ops_kernel_mod coordinate_jacobian_inverse use coord_transform_mod, only : sphere2cart_vector use reference_element_mod, only : W, S, N, E, T, B - - use base_mesh_config_mod, only: geometry_spherical, geometry_planar + use mesh_mod, only : geometry_spherical, geometry_planar implicit none diff --git a/components/science/source/kernel/inter_function_space/sci_convert_phys_to_hdiv_kernel_mod.F90 b/components/science/source/kernel/inter_function_space/sci_convert_phys_to_hdiv_kernel_mod.F90 index 2888e35773..9afedf8bc0 100644 --- a/components/science/source/kernel/inter_function_space/sci_convert_phys_to_hdiv_kernel_mod.F90 +++ b/components/science/source/kernel/inter_function_space/sci_convert_phys_to_hdiv_kernel_mod.F90 @@ -21,8 +21,7 @@ module sci_convert_phys_to_hdiv_kernel_mod use constants_mod, only : r_def, i_def use fs_continuity_mod, only : W2 use kernel_mod, only : kernel_type - - use base_mesh_config_mod, only: geometry_spherical + use mesh_mod, only : geometry_spherical implicit none diff --git a/components/science/source/kernel/inter_function_space/sci_project_ws_to_w1_operator_kernel_mod.F90 b/components/science/source/kernel/inter_function_space/sci_project_ws_to_w1_operator_kernel_mod.F90 index d00964b450..51cf41bb00 100644 --- a/components/science/source/kernel/inter_function_space/sci_project_ws_to_w1_operator_kernel_mod.F90 +++ b/components/science/source/kernel/inter_function_space/sci_project_ws_to_w1_operator_kernel_mod.F90 @@ -26,8 +26,7 @@ module sci_project_ws_to_w1_operator_kernel_mod use constants_mod, only : r_def, i_def use fs_continuity_mod, only : W1 use log_mod, only : log_event, LOG_LEVEL_ERROR - -use base_mesh_config_mod, only: geometry_spherical, geometry_planar +use mesh_mod, only : geometry_spherical, geometry_planar implicit none diff --git a/components/science/unit-test/kernel/fem/gp_vector_rhs_kernel_mod_test.pf b/components/science/unit-test/kernel/fem/gp_vector_rhs_kernel_mod_test.pf index 88cd570cb9..58d93a4efa 100644 --- a/components/science/unit-test/kernel/fem/gp_vector_rhs_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/fem/gp_vector_rhs_kernel_mod_test.pf @@ -38,8 +38,8 @@ contains !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! subroutine setUp( this ) - use base_mesh_config_mod, only : geometry_planar, & - topology_fully_periodic + use mesh_mod, only : geometry_planar, & + topology_periodic use sci_chi_transform_mod, only : init_chi_transforms use finite_element_config_mod, only : cellshape_quadrilateral, & coord_system_xyz, coord_space_wchi @@ -60,7 +60,7 @@ contains prime_mesh_name='unit_test', & geometry=geometry_planar, & prepartitioned=.false., & - topology=topology_fully_periodic, & + topology=topology_periodic, & fplane=.false., f_lat_deg=0.0_r_def ) call feign_finite_element_config( & @@ -73,7 +73,7 @@ contains element_order_v=0_i_def, & rehabilitate=.true. ) - call init_chi_transforms(geometry_planar, topology_fully_periodic) + call init_chi_transforms(geometry_planar, topology_periodic) qr = quadrature_xyoz_type(3, quadrature_rule) diff --git a/components/science/unit-test/kernel/geometry/chi_transform_mod_test.pf b/components/science/unit-test/kernel/geometry/chi_transform_mod_test.pf index 26f584216b..1bff56a9bf 100644 --- a/components/science/unit-test/kernel/geometry/chi_transform_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/chi_transform_mod_test.pf @@ -10,10 +10,9 @@ module chi_transform_mod_test use constants_mod, only : i_def, r_def, str_long, PI, rmdi - use base_mesh_config_mod, only: geometry_spherical, & - geometry_planar, & - topology_fully_periodic, & - topology_non_periodic + use mesh_mod, only: geometry_spherical, & + topology_periodic, & + topology_non_periodic use finite_element_config_mod, only: coord_system_native, & coord_system_xyz @@ -245,7 +244,7 @@ contains select case ( this%source_coord_system ) case ( XYZ ) this%src_coord_system = coord_system_xyz - this%topology = topology_fully_periodic + this%topology = topology_periodic case ( LLH, LLH_rot ) this%src_coord_system = coord_system_native @@ -253,7 +252,7 @@ contains case ( ABH, ABH_stretch_rot ) this%src_coord_system = coord_system_native - this%topology = topology_fully_periodic + this%topology = topology_periodic end select this%geometry = geometry_spherical diff --git a/components/science/unit-test/kernel/geometry/coordinate_jacobian_alphabetaz_mod_test.pf b/components/science/unit-test/kernel/geometry/coordinate_jacobian_alphabetaz_mod_test.pf index ae1aa557ae..ae63c7a4aa 100644 --- a/components/science/unit-test/kernel/geometry/coordinate_jacobian_alphabetaz_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/coordinate_jacobian_alphabetaz_mod_test.pf @@ -10,8 +10,7 @@ module coordinate_jacobian_alphabetaz_mod_test use funit use constants_mod, only: r_def, i_def - use base_mesh_config_mod, only: geometry_spherical, & - topology_fully_periodic + use mesh_mod, only: geometry_spherical, topology_periodic use finite_element_config_mod, only: coord_system_native implicit none @@ -30,7 +29,7 @@ contains implicit none - call init_chi_transforms(geometry_spherical, topology_fully_periodic) + call init_chi_transforms(geometry_spherical, topology_periodic) end subroutine set_up @@ -78,7 +77,7 @@ contains integer(i_def), parameter :: coord_system = coord_system_native integer(i_def), parameter :: geometry = geometry_spherical - integer(i_def), parameter :: topology = topology_fully_periodic + integer(i_def), parameter :: topology = topology_periodic real(r_def), parameter :: scaled_radius = 1000.0_r_def ! We choose a box centred on alpha = 0, beta = 0 diff --git a/components/science/unit-test/kernel/geometry/coordinate_jacobian_lonlatz_mod_test.pf b/components/science/unit-test/kernel/geometry/coordinate_jacobian_lonlatz_mod_test.pf index e4a2c021f7..137fec9ec8 100644 --- a/components/science/unit-test/kernel/geometry/coordinate_jacobian_lonlatz_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/coordinate_jacobian_lonlatz_mod_test.pf @@ -10,8 +10,9 @@ module coordinate_jacobian_lonlatz_mod_test use funit use constants_mod, only : r_def, i_def, PI - use base_mesh_config_mod, only: geometry_spherical, & - topology_non_periodic + use mesh_mod, only : geometry_spherical, & + topology_non_periodic + use finite_element_config_mod, only: coord_system_native implicit none diff --git a/components/science/unit-test/kernel/geometry/coordinate_jacobian_stretched_mod_test.pf b/components/science/unit-test/kernel/geometry/coordinate_jacobian_stretched_mod_test.pf index abcec08a42..bc3ff08982 100644 --- a/components/science/unit-test/kernel/geometry/coordinate_jacobian_stretched_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/coordinate_jacobian_stretched_mod_test.pf @@ -21,7 +21,7 @@ contains @before subroutine set_up() - use base_mesh_config_mod, only : geometry_spherical, & + use mesh_mod, only : geometry_spherical, & topology_non_periodic use extrusion_config_mod, only : method_uniform, & stretching_method_linear diff --git a/components/science/unit-test/kernel/geometry/coordinate_jacobian_xyz_mod_test.pf b/components/science/unit-test/kernel/geometry/coordinate_jacobian_xyz_mod_test.pf index bfc90c002c..7f9611d9ab 100644 --- a/components/science/unit-test/kernel/geometry/coordinate_jacobian_xyz_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/coordinate_jacobian_xyz_mod_test.pf @@ -64,8 +64,8 @@ contains pointwise_coordinate_jacobian_inverse use finite_element_config_mod, only: coord_system_xyz - use base_mesh_config_mod, only: geometry_planar, & - topology_non_periodic + + use mesh_mod, only: geometry_planar, topology_non_periodic implicit none diff --git a/components/science/unit-test/kernel/geometry/get_dz_w3_kernel_mod_test.pf b/components/science/unit-test/kernel/geometry/get_dz_w3_kernel_mod_test.pf index f3644f6666..b1bee51707 100644 --- a/components/science/unit-test/kernel/geometry/get_dz_w3_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/get_dz_w3_kernel_mod_test.pf @@ -35,8 +35,8 @@ contains !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! subroutine setUp( this ) - use base_mesh_config_mod, only : geometry_planar, & - topology_fully_periodic + use mesh_mod, only : geometry_planar, & + topology_periodic use finite_element_config_mod, only : cellshape_quadrilateral, & coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config, & @@ -50,7 +50,7 @@ contains prime_mesh_name='unit_test', & geometry=geometry_planar, & prepartitioned=.false., & - topology=topology_fully_periodic, & + topology=topology_periodic, & fplane=.false., f_lat_deg=45.0_r_def ) call feign_finite_element_config( & diff --git a/components/science/unit-test/kernel/geometry/height_continuous_kernel_mod_test.pf b/components/science/unit-test/kernel/geometry/height_continuous_kernel_mod_test.pf index b3e3d31e6a..9e41d3667d 100644 --- a/components/science/unit-test/kernel/geometry/height_continuous_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/height_continuous_kernel_mod_test.pf @@ -7,7 +7,7 @@ !! This test is parametrised to test both planar and spherical geometries. module height_continuous_kernel_mod_test - use base_mesh_config_mod, only : geometry_planar, & + use mesh_mod, only : geometry_planar, & geometry_spherical use constants_mod, only : i_def, r_def, str_long use funit diff --git a/components/science/unit-test/kernel/geometry/height_discontinuous_kernel_mod_test.pf b/components/science/unit-test/kernel/geometry/height_discontinuous_kernel_mod_test.pf index 400f083eb5..a037734d03 100644 --- a/components/science/unit-test/kernel/geometry/height_discontinuous_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/height_discontinuous_kernel_mod_test.pf @@ -20,32 +20,24 @@ module height_discontinuous_kernel_mod_test use get_unit_test_3x3x3_chi_mod, only : get_w0_3x3x3_field use get_unit_test_w3nodal_basis_mod, only : get_w0_w3nodal_basis use get_unit_test_wthetanodal_basis_mod, only : get_w0_wthetanodal_basis + use mesh_mod, only : geometry_planar + implicit none private public :: test_all - @TestCase - type, extends(TestCase), public :: height_discontinuous_kernel_test_type - private - contains - procedure test_all - end type height_discontinuous_kernel_test_type - contains !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @Test - subroutine test_all( this ) + subroutine test_all() - use base_mesh_config_mod, only : geometry_planar use finite_element_config_mod, only : coord_system_xyz use sci_height_discontinuous_kernel_mod, only : height_discontinuous_code implicit none - class(height_discontinuous_kernel_test_type), intent(inout) :: this - real(r_def), parameter :: dx = 4.0_r_def, & dy = 3.0_r_def, & dz = 2.0_r_def, & diff --git a/components/science/unit-test/kernel/geometry/native_jacobian_alphabetaz_mod_test.pf b/components/science/unit-test/kernel/geometry/native_jacobian_alphabetaz_mod_test.pf index 162bc16429..c1d169ea58 100644 --- a/components/science/unit-test/kernel/geometry/native_jacobian_alphabetaz_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/native_jacobian_alphabetaz_mod_test.pf @@ -9,8 +9,8 @@ module native_jacobian_alphabetaz_mod_test use funit use constants_mod, only: r_def, i_def - use base_mesh_config_mod, only: geometry_spherical, & - topology_fully_periodic + use mesh_mod, only: geometry_spherical, & + topology_periodic use finite_element_config_mod, only: coord_system_native implicit none @@ -29,7 +29,7 @@ contains implicit none - call init_chi_transforms(geometry_spherical, topology_fully_periodic) + call init_chi_transforms(geometry_spherical, topology_periodic) end subroutine set_up @@ -73,7 +73,7 @@ contains integer(i_def), parameter :: coord_system = coord_system_native integer(i_def), parameter :: geometry = geometry_spherical - integer(i_def), parameter :: topology = topology_fully_periodic + integer(i_def), parameter :: topology = topology_periodic real(r_def), parameter :: scaled_radius = 1000.0_r_def ! We choose a box centred on alpha = 0, beta = 0 diff --git a/components/science/unit-test/kernel/geometry/native_jacobian_lonlatz_mod_test.pf b/components/science/unit-test/kernel/geometry/native_jacobian_lonlatz_mod_test.pf index 53ed27607b..4953c2cb33 100644 --- a/components/science/unit-test/kernel/geometry/native_jacobian_lonlatz_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/native_jacobian_lonlatz_mod_test.pf @@ -10,7 +10,7 @@ module native_jacobian_lonlatz_mod_test use funit use constants_mod, only : r_def, i_def, PI - use base_mesh_config_mod, only: geometry_spherical, & + use mesh_mod, only: geometry_spherical, & topology_non_periodic use finite_element_config_mod, only: coord_system_native diff --git a/components/science/unit-test/kernel/geometry/native_jacobian_stretched_mod_test.pf b/components/science/unit-test/kernel/geometry/native_jacobian_stretched_mod_test.pf index f90c9b81b3..589b23af90 100644 --- a/components/science/unit-test/kernel/geometry/native_jacobian_stretched_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/native_jacobian_stretched_mod_test.pf @@ -21,7 +21,7 @@ contains @before subroutine set_up() - use base_mesh_config_mod, only : geometry_spherical, & + use mesh_mod, only : geometry_spherical, & topology_non_periodic use extrusion_config_mod, only : method_uniform, & stretching_method_linear diff --git a/components/science/unit-test/kernel/inter_function_space/compute_map_u_operators_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/compute_map_u_operators_kernel_mod_test.pf index 5686d794b2..899912fdaa 100644 --- a/components/science/unit-test/kernel/inter_function_space/compute_map_u_operators_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/compute_map_u_operators_kernel_mod_test.pf @@ -8,7 +8,7 @@ module compute_map_u_operators_kernel_mod_test use constants_mod, only : i_def, pi, r_def - use base_mesh_config_mod, only: geometry_spherical, & + use mesh_mod, only: geometry_spherical, & topology_non_periodic use finite_element_config_mod, only: coord_system_native diff --git a/components/science/unit-test/kernel/inter_function_space/compute_sample_u_ops_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/compute_sample_u_ops_kernel_mod_test.pf index 53fe6db22f..74968de4e3 100644 --- a/components/science/unit-test/kernel/inter_function_space/compute_sample_u_ops_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/compute_sample_u_ops_kernel_mod_test.pf @@ -6,13 +6,11 @@ module compute_sample_u_ops_kernel_mod_test - use base_mesh_config_mod, only : geometry_spherical, & + use mesh_mod, only : geometry_spherical, & topology_non_periodic use constants_mod, only : i_def, r_def use reference_element_mod, only : W, S, E, N, B, T - use base_mesh_config_mod, only: geometry_spherical, & - topology_non_periodic use finite_element_config_mod, only: coord_system_native use funit diff --git a/components/science/unit-test/kernel/inter_function_space/convert_phys_to_hdiv_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/convert_phys_to_hdiv_kernel_mod_test.pf index 571181d931..6516ed1b7c 100644 --- a/components/science/unit-test/kernel/inter_function_space/convert_phys_to_hdiv_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/convert_phys_to_hdiv_kernel_mod_test.pf @@ -9,8 +9,8 @@ module convert_phys_to_hdiv_kernel_mod_test use constants_mod, only: i_def, r_def, rmdi - use base_mesh_config_mod, only: geometry_planar, & - topology_fully_periodic + use mesh_mod, only: geometry_planar, & + topology_periodic use finite_element_config_mod, only: coord_system_xyz use funit @@ -30,7 +30,7 @@ contains implicit none - call init_chi_transforms(geometry_planar, topology_fully_periodic) + call init_chi_transforms(geometry_planar, topology_periodic) end subroutine set_up @@ -77,7 +77,7 @@ contains real(r_def), parameter :: u_radial = 0.4_r_def integer(i_def), parameter :: geometry = geometry_planar - integer(i_def), parameter :: topology = topology_fully_periodic + integer(i_def), parameter :: topology = topology_periodic integer(i_def), parameter :: coord_system = coord_system_xyz real(r_def), parameter :: scaled_radius = rmdi diff --git a/components/science/unit-test/kernel/inter_function_space/project_ws_to_w1_operator_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/project_ws_to_w1_operator_kernel_mod_test.pf index 5f1d0f2841..db35d7fb64 100644 --- a/components/science/unit-test/kernel/inter_function_space/project_ws_to_w1_operator_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/project_ws_to_w1_operator_kernel_mod_test.pf @@ -23,8 +23,8 @@ module project_ws_to_w1_operator_kernel_mod_test get_w3_m3x3_dofmap use get_unit_test_3x3x3_chi_mod, only : get_w0_3x3x3_field - use base_mesh_config_mod, only: geometry_planar, & - topology_fully_periodic + use mesh_mod, only: geometry_planar, & + topology_periodic use finite_element_config_mod, only: coord_system_xyz implicit none @@ -42,7 +42,7 @@ contains implicit none - call init_chi_transforms(geometry_planar,topology_fully_periodic) + call init_chi_transforms(geometry_planar, topology_periodic) end subroutine set_up @@ -69,7 +69,7 @@ contains real(kind=r_def), parameter :: tol = 1.0e-6_r_def integer(i_def), parameter :: geometry = geometry_planar - integer(i_def), parameter :: topology = topology_fully_periodic + integer(i_def), parameter :: topology = topology_periodic integer(i_def), parameter :: coord_system = coord_system_xyz real(r_def), parameter :: scaled_radius = rmdi diff --git a/components/science/unit-test/kernel/inter_function_space/sample_w3_to_wtheta_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/sample_w3_to_wtheta_kernel_mod_test.pf index 9f87b1d068..5bc63d9e32 100644 --- a/components/science/unit-test/kernel/inter_function_space/sample_w3_to_wtheta_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/sample_w3_to_wtheta_kernel_mod_test.pf @@ -34,8 +34,8 @@ contains !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! subroutine setUp( this ) - use base_mesh_config_mod, only : geometry_planar, & - topology_fully_periodic + use mesh_mod, only : geometry_planar, & + topology_periodic use feign_config_mod, only : feign_base_mesh_config implicit none @@ -46,7 +46,7 @@ contains prime_mesh_name='unit_test', & geometry=geometry_planar, & prepartitioned=.false., & - topology=topology_fully_periodic, & + topology=topology_periodic, & fplane=.false., f_lat_deg=0.0_r_def ) end subroutine setUp diff --git a/components/science/unit-test/kernel/inter_function_space/sample_wtheta_to_w3_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/sample_wtheta_to_w3_kernel_mod_test.pf index 1f473d77a9..0fe42583bd 100644 --- a/components/science/unit-test/kernel/inter_function_space/sample_wtheta_to_w3_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/sample_wtheta_to_w3_kernel_mod_test.pf @@ -32,8 +32,8 @@ contains !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! subroutine setUp( this ) - use base_mesh_config_mod, only : geometry_planar, & - topology_fully_periodic + use mesh_mod, only : geometry_planar, & + topology_periodic use feign_config_mod, only : feign_base_mesh_config implicit none @@ -44,7 +44,7 @@ contains prime_mesh_name='unit_test', & geometry=geometry_planar, & prepartitioned=.false., & - topology=topology_fully_periodic, & + topology=topology_periodic, & fplane=.false., f_lat_deg=0.0_r_def ) end subroutine setUp diff --git a/components/science/unit-test/kernel/inter_function_space/w3_to_w2_displacement_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/w3_to_w2_displacement_kernel_mod_test.pf index 6d01ea321e..813c487337 100644 --- a/components/science/unit-test/kernel/inter_function_space/w3_to_w2_displacement_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/w3_to_w2_displacement_kernel_mod_test.pf @@ -10,8 +10,8 @@ module w3_to_w2_displacement_kernel_mod_test use constants_mod, only: i_def, r_def, PI, l_def use reference_element_mod, only: S, E, N, W - use base_mesh_config_mod, only: geometry_spherical, & - topology_fully_periodic + use mesh_mod, only: geometry_spherical, & + topology_periodic use finite_element_config_mod, only: coord_system_native use funit @@ -32,7 +32,7 @@ contains implicit none - call init_chi_transforms(geometry_spherical, topology_fully_periodic) + call init_chi_transforms(geometry_spherical, topology_periodic) end subroutine set_up @@ -66,7 +66,7 @@ contains real(r_def), parameter :: dz = 2.0_r_def integer(i_def), parameter :: geometry = geometry_spherical - integer(i_def), parameter :: topology = topology_fully_periodic + integer(i_def), parameter :: topology = topology_periodic integer(i_def), parameter :: coord_system = coord_system_native real(r_def), parameter :: scaled_radius = 1900000.0_r_def diff --git a/components/science/unit-test/kernel/inter_mesh/inject_sh_w3_to_wt_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_mesh/inject_sh_w3_to_wt_kernel_mod_test.pf index 24cad03165..1b0875c443 100644 --- a/components/science/unit-test/kernel/inter_mesh/inject_sh_w3_to_wt_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_mesh/inject_sh_w3_to_wt_kernel_mod_test.pf @@ -32,8 +32,8 @@ contains !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! subroutine setUp( this ) - use base_mesh_config_mod, only : geometry_planar, & - topology_fully_periodic + use mesh_mod, only : geometry_planar, & + topology_periodic use feign_config_mod, only : feign_base_mesh_config implicit none @@ -44,7 +44,7 @@ contains prime_mesh_name='unit_test', & geometry=geometry_planar, & prepartitioned=.false., & - topology=topology_fully_periodic, & + topology=topology_periodic, & fplane=.false., f_lat_deg=0.0_r_def ) end subroutine setUp diff --git a/components/science/unit-test/kernel/inter_mesh/inject_wt_to_sh_w3_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_mesh/inject_wt_to_sh_w3_kernel_mod_test.pf index f5467afc23..434c1c325b 100644 --- a/components/science/unit-test/kernel/inter_mesh/inject_wt_to_sh_w3_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_mesh/inject_wt_to_sh_w3_kernel_mod_test.pf @@ -32,8 +32,8 @@ contains !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! subroutine setUp( this ) - use base_mesh_config_mod, only : geometry_planar, & - topology_fully_periodic + use mesh_mod, only : geometry_planar, & + topology_periodic use feign_config_mod, only : feign_base_mesh_config implicit none @@ -44,7 +44,7 @@ contains prime_mesh_name='unit_test', & geometry=geometry_planar, & prepartitioned=.false., & - topology=topology_fully_periodic, & + topology=topology_periodic, & fplane=.false., f_lat_deg=0.0_r_def ) end subroutine setUp diff --git a/infrastructure/Makefile b/infrastructure/Makefile index 34a5a9cc97..163d5b3024 100644 --- a/infrastructure/Makefile +++ b/infrastructure/Makefile @@ -92,6 +92,7 @@ document-api: api-documentation # Unit tests # unit-tests/%: export BIN_DIR ?= $(PROJECT_DIR)/test +unit-tests/%: export PRE_PROCESS_MACROS += INFRASTRUCTURE_UNIT_TEST unit-tests/%: export PRE_PROCESS_INCLUDE_DIRS = $(realpath unit-test/include) unit-tests/%: export PROGRAMS = infrastructure_unit_tests unit-tests/%: export PROJECT = infrastructure diff --git a/infrastructure/documentation/uml/mesh/local_mesh_mod.iuml b/infrastructure/documentation/uml/mesh/local_mesh_mod.iuml index d96f4c3b51..09fbca8502 100644 --- a/infrastructure/documentation/uml/mesh/local_mesh_mod.iuml +++ b/infrastructure/documentation/uml/mesh/local_mesh_mod.iuml @@ -5,9 +5,9 @@ class local_mesh_mod::local_mesh_type { -mesh_name: string - -geometry: integer - -topology: integer - -coord_sys: integer + -mesh_geometry: integer + -mesh_topology: integer + -mesh_coord_sys: integer -coord_units_xy: string[2] -north_pole: real[2] -null_island: real[2] @@ -74,6 +74,10 @@ class local_mesh_mod::local_mesh_type { +is_coord_sys_xyz(): logical +is_coord_sys_ll(): logical + +geometry(): integer + +topology(): integer + +coord_sys(): integer + +get_north_pole(): real[2] +get_null_island(): real[2] +get_equatorial_latitude(): real diff --git a/infrastructure/documentation/uml/mesh/mesh_mod.iuml b/infrastructure/documentation/uml/mesh/mesh_mod.iuml index f22601e9fb..10710f0663 100644 --- a/infrastructure/documentation/uml/mesh/mesh_mod.iuml +++ b/infrastructure/documentation/uml/mesh/mesh_mod.iuml @@ -119,6 +119,10 @@ class mesh_mod::mesh_type { +get_colours( <>ncolours: integer, <>ncells_per_colour: integer[:] <>, <>colour_map: integer[::] <> ) +get_colour_map() : integer <> +is_coloured() : logical + + +geometry(): integer + +topology(): integer + +coord_sys(): integer +is_geometry_spherical(): logical +is_geometry_planar(): logical +is_topology_non_periodic(): logical diff --git a/infrastructure/source/mesh/local_mesh_mod.f90 b/infrastructure/source/mesh/local_mesh_mod.F90 similarity index 95% rename from infrastructure/source/mesh/local_mesh_mod.f90 rename to infrastructure/source/mesh/local_mesh_mod.F90 index 481d8ef3f5..c7c121b4ee 100644 --- a/infrastructure/source/mesh/local_mesh_mod.f90 +++ b/infrastructure/source/mesh/local_mesh_mod.F90 @@ -30,19 +30,33 @@ module local_mesh_mod LOG_LEVEL_INFO, LOG_LEVEL_DEBUG use partition_mod, only: partition_type +#if !defined(INFRASTRUCTURE_UNIT_TEST) && !defined(MESH_TOOLS) + use base_mesh_config_mod, only: & + config_geometry_spherical => geometry_spherical, & + config_geometry_planar => geometry_planar, & + config_topology_periodic => topology_fully_periodic, & + config_topology_non_periodic => topology_non_periodic +#endif + implicit none private - integer(i_def), parameter :: spherical_domain = 601 - integer(i_def), parameter :: planar_domain = 602 - - integer(i_def), parameter :: non_periodic_domain = 701 - integer(i_def), parameter :: channel_domain = 702 - integer(i_def), parameter :: periodic_domain = 703 - - integer(i_def), parameter :: lon_lat_coords = 801 - integer(i_def), parameter :: xyz_coords = 802 +#if !defined(INFRASTRUCTURE_UNIT_TEST) && !defined(MESH_TOOLS) + integer(i_def), parameter, public :: geometry_spherical = config_geometry_spherical ! 101 + integer(i_def), parameter, public :: geometry_planar = config_geometry_planar ! 202 + integer(i_def), parameter, public :: topology_non_periodic = config_topology_non_periodic ! 301 + integer(i_def), parameter, public :: topology_periodic = config_topology_periodic ! 503 +#else + integer(i_def), parameter, public :: geometry_spherical = 101_i_def + integer(i_def), parameter, public :: geometry_planar = 202_i_def + integer(i_def), parameter, public :: topology_non_periodic = 301_i_def + integer(i_def), parameter, public :: topology_periodic = 503_i_def +#endif + integer(i_def), parameter, public :: topology_channel = 402_i_def + + integer(i_def), parameter, public :: coord_sys_ll = 601_i_def + integer(i_def), parameter, public :: coord_sys_xyz = 702_i_def type, extends(linked_list_data_type), public :: local_mesh_type @@ -53,11 +67,11 @@ module local_mesh_mod ! Tag name of mesh. character(str_def) :: mesh_name ! Domain surface geometry. - integer(i_def) :: geometry = emdi + integer(i_def) :: mesh_geometry = emdi ! Domain boundaries topology. - integer(i_def) :: topology = emdi + integer(i_def) :: mesh_topology = emdi ! Co-ordinate system used to specify node locations. - integer(i_def) :: coord_sys = emdi + integer(i_def) :: mesh_coord_sys = emdi ! Co-ordinate units along xy-axes. character(str_def) :: coord_units_xy(2) = cmdi ! Marker id for cells that do not exist for mesh. @@ -226,7 +240,9 @@ module local_mesh_mod procedure, public :: get_north_pole procedure, public :: get_null_island procedure, public :: get_equatorial_latitude - + procedure, public :: geometry + procedure, public :: topology + procedure, public :: coord_sys procedure, public :: get_global_domain_extents procedure, public :: is_geometry_spherical @@ -299,23 +315,23 @@ subroutine initialise_full ( self, & ! Inherit mesh properties from the parent global mesh. if (global_mesh%is_geometry_spherical()) then - self%geometry = spherical_domain + self%mesh_geometry = geometry_spherical else if (global_mesh%is_geometry_planar()) then - self%geometry = planar_domain + self%mesh_geometry = geometry_planar end if if (global_mesh%is_topology_non_periodic()) then - self%topology = non_periodic_domain + self%mesh_topology = topology_non_periodic else if (global_mesh%is_topology_channel()) then - self%topology = channel_domain + self%mesh_topology = topology_channel else if (global_mesh%is_topology_periodic()) then - self%topology = periodic_domain + self%mesh_topology = topology_periodic end if if (global_mesh%is_coord_sys_xyz()) then - self%coord_sys = xyz_coords + self%mesh_coord_sys = coord_sys_xyz else if (global_mesh%is_coord_sys_ll()) then - self%coord_sys = lon_lat_coords + self%mesh_coord_sys = coord_sys_ll end if self%domain_extents = global_mesh%get_domain_extents() @@ -705,9 +721,9 @@ subroutine initialise_lbc ( self, & self%nverts_per_cell = local_lam_mesh%get_nverts_per_cell() self%nverts_per_edge = local_lam_mesh%get_nverts_per_edge() - self%geometry = local_lam_mesh%geometry - self%coord_sys = local_lam_mesh%coord_sys - self%topology = non_periodic_domain + self%mesh_geometry = local_lam_mesh%geometry() + self%mesh_coord_sys = local_lam_mesh%mesh_coord_sys + self%mesh_topology = topology_non_periodic self%npanels = 1_i_def self%max_stencil_depth = 0_i_def @@ -1148,17 +1164,19 @@ subroutine initialise_from_ugrid_data(self, ugrid_mesh_data) integer(i_def) :: max_face_per_node ! Only needed for global meshes that ! are to be partitioned. - logical(i_def) :: periodic_xy(2) = .false. + logical(l_def) :: periodic_xy(2) - character(str_def) :: geometry_str - character(str_def) :: topology_str - character(str_def) :: coord_sys_str + character(str_def) :: geometry_str + character(str_def) :: topology_str + character(str_def) :: coord_sys_str if (.not. ugrid_mesh_data%is_local()) then call log_event( 'Insufficient data to initialise local mesh', & LOG_LEVEL_ERROR ) end if + periodic_xy(2) = .false. + local_mesh_id_counter = local_mesh_id_counter + 1 call self%set_id( local_mesh_id_counter ) @@ -1195,14 +1213,14 @@ subroutine initialise_from_ugrid_data(self, ugrid_mesh_data) select case (trim(geometry_str)) case ('spherical') - self%geometry = spherical_domain + self%mesh_geometry = geometry_spherical case ('planar') - self%geometry = planar_domain + self%mesh_geometry = geometry_planar end select select case (trim(coord_sys_str)) case ('ll') - self%coord_sys=lon_lat_coords + self%mesh_coord_sys = coord_sys_ll ! Ensure units are in radians if ( (trim(self%coord_units_xy(1)) == 'degrees_east') .and. & @@ -1219,16 +1237,16 @@ subroutine initialise_from_ugrid_data(self, ugrid_mesh_data) end if case ('xyz') - self%coord_sys = xyz_coords + self%mesh_coord_sys = coord_sys_xyz end select select case (trim(topology_str)) case ('channel') - self%topology = channel_domain + self%mesh_topology = topology_channel case ('non_periodic') - self%topology = non_periodic_domain + self%mesh_topology = topology_non_periodic case ('periodic') - self%topology = periodic_domain + self%mesh_topology = topology_periodic end select @@ -1295,9 +1313,9 @@ subroutine initialise_unit_test ( self ) self%mesh_name = 'unit_test' - self%geometry = planar_domain - self%topology = periodic_domain - self%coord_sys = xyz_coords + self%mesh_geometry = geometry_planar + self%mesh_topology = topology_periodic + self%mesh_coord_sys = coord_sys_xyz self%void_cell = -9999_i_def local_mesh_id_counter = local_mesh_id_counter + 1 @@ -1632,7 +1650,7 @@ function is_geometry_spherical( self ) result ( answer ) logical (l_def) :: answer - answer = ( self%geometry == spherical_domain ) + answer = ( self%mesh_geometry == geometry_spherical ) end function is_geometry_spherical @@ -1650,7 +1668,7 @@ function is_geometry_planar( self ) result ( answer ) logical (l_def) :: answer - answer = ( self%geometry == planar_domain ) + answer = ( self%mesh_geometry == geometry_planar ) end function is_geometry_planar @@ -1669,7 +1687,7 @@ function is_topology_non_periodic( self ) result ( answer ) logical (l_def) :: answer - answer = ( self%topology == non_periodic_domain ) + answer = ( self%mesh_topology == topology_non_periodic ) end function is_topology_non_periodic @@ -1688,7 +1706,7 @@ function is_topology_channel( self ) result ( answer ) logical (l_def) :: answer - answer = ( self%topology == channel_domain ) + answer = ( self%mesh_topology == topology_channel ) end function is_topology_channel @@ -1707,7 +1725,7 @@ function is_topology_periodic( self ) result ( answer ) logical (l_def) :: answer - answer = ( self%topology == periodic_domain ) + answer = ( self%mesh_topology == topology_periodic ) end function is_topology_periodic @@ -1726,7 +1744,7 @@ function is_coord_sys_xyz( self ) result ( answer ) logical (l_def) :: answer - answer = ( self%coord_sys == xyz_coords ) + answer = ( self%mesh_coord_sys == coord_sys_xyz ) end function is_coord_sys_xyz @@ -1745,7 +1763,7 @@ function is_coord_sys_ll( self ) result ( answer ) logical (l_def) :: answer - answer = ( self%coord_sys == lon_lat_coords ) + answer = ( self%mesh_coord_sys == coord_sys_ll ) end function is_coord_sys_ll @@ -2505,7 +2523,54 @@ function get_mesh_maps( self ) result( local_mesh_maps ) end function get_mesh_maps + !============================================================================== + !> @brief Returns mesh geometry enumeration + !> @return geometry_enumeration Integer enumeration identifying the mesh + !> surface geometry type + !> + function geometry( self ) result( geometry_enumeration ) + + implicit none + + class(local_mesh_type), intent(in) :: self + integer(i_def) :: geometry_enumeration + + geometry_enumeration = self%mesh_geometry + + end function geometry + + !============================================================================== + !> @brief Returns mesh topology enumeration + !> @return topology_enumeration Integer enumeration identifying the mesh + !> domain boundary connectivity type + !> + function topology( self ) result( topology_enumeration ) + + implicit none + + class(local_mesh_type), intent(in) :: self + integer(i_def) :: topology_enumeration + + topology_enumeration = self%mesh_topology + + end function topology + + + !============================================================================== + !> @brief Returns mesh topology enumeration + !> @return coord_sys_enumeration Integer enumeration identifying the mesh + !> coordinate system. + !> + function coord_sys( self ) result( coord_sys_enumeration ) + + implicit none + + class(local_mesh_type), intent(in) :: self + integer(i_def) :: coord_sys_enumeration + + coord_sys_enumeration = self%mesh_coord_sys + end function coord_sys !============================================================================== !> @brief Populates a object with this local mesh object's diff --git a/infrastructure/source/mesh/mesh_mod.F90 b/infrastructure/source/mesh/mesh_mod.F90 index 58aecbdf81..492a678d50 100644 --- a/infrastructure/source/mesh/mesh_mod.F90 +++ b/infrastructure/source/mesh/mesh_mod.F90 @@ -23,7 +23,14 @@ module mesh_mod linked_list_item_type use linked_list_data_mod, only : linked_list_data_type use local_mesh_map_mod, only : local_mesh_map_type - use local_mesh_mod, only : local_mesh_type + use local_mesh_mod, only : local_mesh_type, & + geometry_spherical, & + geometry_planar, & + topology_non_periodic, & + topology_channel, & + topology_periodic, & + coord_sys_ll, & + coord_sys_xyz use log_mod, only : log_event, log_scratch_space, & LOG_LEVEL_ERROR, LOG_LEVEL_TRACE, & LOG_LEVEL_INFO, LOG_LEVEL_DEBUG @@ -44,6 +51,10 @@ module mesh_mod private + public :: geometry_spherical, geometry_planar + public :: topology_non_periodic, topology_channel, topology_periodic + public :: coord_sys_ll, coord_sys_xyz + !============================================================================ ! Declare type definitions in this module !============================================================================ @@ -174,9 +185,9 @@ module mesh_mod integer(i_def), allocatable, private :: cells_in_colour(:,:) !> integer 2-d array, how many of the first so many cells belong to each colour integer(i_def), allocatable, private :: ncells_per_colour_subset(:,:) - integer(i_def),allocatable :: last_inner_cell_per_colour(:,:) - integer(i_def),allocatable :: last_halo_cell_per_colour(:,:) - integer(i_def),allocatable :: last_edge_cell_per_colour(:) + integer(i_def), allocatable :: last_inner_cell_per_colour(:,:) + integer(i_def), allocatable :: last_halo_cell_per_colour(:,:) + integer(i_def), allocatable :: last_edge_cell_per_colour(:) !========================================================================== ! Maps that this mesh connects to ! @@ -233,6 +244,9 @@ module mesh_mod procedure, public :: get_domain procedure, public :: get_domain_top procedure, public :: get_extrusion_id + procedure, public :: geometry + procedure, public :: topology + procedure, public :: coord_sys procedure, public :: get_dz procedure, public :: get_eta procedure, public :: get_vertex_cell_owner @@ -1215,6 +1229,57 @@ function get_extrusion_id(self) result (extrusion_id) end function get_extrusion_id + + !============================================================================== + !> @brief Returns mesh geometry enumeration + !> @return geometry_enumeration Integer enumeration identifying the mesh + !> surface geometry type + !> + function geometry( self ) result( geometry_enumeration ) + + implicit none + + class(mesh_type), intent(in) :: self + integer(i_def) :: geometry_enumeration + + geometry_enumeration = self%local_mesh%geometry() + + end function geometry + + + !============================================================================== + !> @brief Returns mesh topology enumeration + !> @return topology_enumeration Integer enumeration identifying the mesh + !> domain boundary connectivity type + !> + function topology( self ) result( topology_enumeration ) + + implicit none + + class(mesh_type), intent(in) :: self + integer(i_def) :: topology_enumeration + + topology_enumeration = self%local_mesh%topology() + + end function topology + + + !> @brief Returns mesh topology enumeration + !> @return coord_sys_enumeration Integer enumeration identifying the mesh + !> coordinate system. + !> + function coord_sys( self ) result( coord_sys_enumeration ) + + implicit none + + class(mesh_type), intent(in) :: self + integer(i_def) :: coord_sys_enumeration + + coord_sys_enumeration = self%local_mesh%coord_sys() + + end function coord_sys + + !> @details This functions returns an array of 3d-layer thicknesses in !> metres !> @param[out] dz Vertical thickness of layers in [m], array of diff --git a/infrastructure/source/mesh/partition_mod.F90 b/infrastructure/source/mesh/partition_mod.F90 index ba5ab1c11f..0f4a137bb0 100644 --- a/infrastructure/source/mesh/partition_mod.F90 +++ b/infrastructure/source/mesh/partition_mod.F90 @@ -25,7 +25,6 @@ module partition_mod use sort_mod, only : bubble_sort use log_mod, only : log_event, & log_scratch_space, & - LOG_LEVEL_INFO, & LOG_LEVEL_ERROR, & LOG_LEVEL_DEBUG use constants_mod, only: i_def, r_def, l_def diff --git a/mesh_tools/Makefile b/mesh_tools/Makefile index 6ed8916b40..2f520b0a57 100644 --- a/mesh_tools/Makefile +++ b/mesh_tools/Makefile @@ -50,6 +50,8 @@ export INTERNAL_DEPENDENCIES = $(CORE_ROOT_DIR)/infrastructure \ export SUITE_GROUP ?= developer export SUITE_GROUP_NAME ?= $(notdir $(realpath $(shell pwd)/$(CORE_ROOT_DIR)))-$(PROJECT_NAME)-.* +export PRE_PROCESS_MACROS := MESH_TOOLS + META_VN ?= HEAD META_FILE_DIR = $(PROJECT_DIR)/rose-meta/lfric-$(PROJECT_NAME)/$(META_VN) diff --git a/rose-stem/app/check_global_variables/file/dirtylist.txt b/rose-stem/app/check_global_variables/file/dirtylist.txt index 5ead624c1d..e18c6aef96 100644 --- a/rose-stem/app/check_global_variables/file/dirtylist.txt +++ b/rose-stem/app/check_global_variables/file/dirtylist.txt @@ -17,7 +17,7 @@ infrastructure/source/io/io_utility_mod.f90 infrastructure/source/mesh/global_mesh_collection_mod.F90 infrastructure/source/mesh/global_mesh_mod.F90 infrastructure/source/mesh/local_mesh_collection_mod.f90 -infrastructure/source/mesh/local_mesh_mod.f90 +infrastructure/source/mesh/local_mesh_mod.F90 infrastructure/source/mesh/mesh_collection_mod.F90 infrastructure/source/mesh/mesh_mod.F90 infrastructure/source/utilities/count_mod.f90