diff --git a/applications/coupled/example/configuration_glo.nml b/applications/coupled/example/configuration_glo.nml index e212a5e2a..a838184c6 100644 --- a/applications/coupled/example/configuration_glo.nml +++ b/applications/coupled/example/configuration_glo.nml @@ -21,6 +21,8 @@ element_order_h=0, element_order_v=0, rehabilitate=.true., coord_order=1 +coord_order_multigrid=1 +coord_space='Wchi' coord_system='native' / diff --git a/applications/coupled/example/configuration_lam.nml b/applications/coupled/example/configuration_lam.nml index 5e92d9fe9..92fdb3a65 100644 --- a/applications/coupled/example/configuration_lam.nml +++ b/applications/coupled/example/configuration_lam.nml @@ -20,6 +20,8 @@ element_order_h=0, element_order_v=0, rehabilitate=.true., coord_order=1 +coord_order_multigrid=1 +coord_space='Wchi' coord_system='native' / diff --git a/applications/io_demo/example/configuration.nml b/applications/io_demo/example/configuration.nml index db34d0e36..8bc5ff794 100644 --- a/applications/io_demo/example/configuration.nml +++ b/applications/io_demo/example/configuration.nml @@ -21,6 +21,8 @@ element_order_h=0, element_order_v=0, rehabilitate=.true., coord_order=1 +coord_order_multigrid=1 +coord_space='Wchi' coord_system='native' / diff --git a/applications/lbc_demo/example/configuration.nml b/applications/lbc_demo/example/configuration.nml index 469f85736..b5bfd60d7 100644 --- a/applications/lbc_demo/example/configuration.nml +++ b/applications/lbc_demo/example/configuration.nml @@ -21,6 +21,8 @@ coord_order=1, coord_system='native', element_order_h=0, element_order_v=0, +coord_order_multigrid=1 +coord_space='Wchi' rehabilitate=.true., / diff --git a/applications/simple_diffusion/example/configuration.nml b/applications/simple_diffusion/example/configuration.nml index 4694f1750..963784242 100644 --- a/applications/simple_diffusion/example/configuration.nml +++ b/applications/simple_diffusion/example/configuration.nml @@ -21,6 +21,8 @@ element_order_h=0, element_order_v=0, rehabilitate=.true., coord_order=1 +coord_order_multigrid=1 +coord_space='Wtheta' coord_system='native' / diff --git a/applications/skeleton/example/configuration.nml b/applications/skeleton/example/configuration.nml index 1f1175e64..02eeb8094 100644 --- a/applications/skeleton/example/configuration.nml +++ b/applications/skeleton/example/configuration.nml @@ -21,6 +21,8 @@ element_order_h=0, element_order_v=0, rehabilitate=.true., coord_order=1 +coord_order_multigrid=1 +coord_space='Wchi' coord_system='native' / diff --git a/components/driver/rose-meta/lfric-driver/HEAD/rose-meta.conf b/components/driver/rose-meta/lfric-driver/HEAD/rose-meta.conf index 980ecd18b..7230f33c7 100644 --- a/components/driver/rose-meta/lfric-driver/HEAD/rose-meta.conf +++ b/components/driver/rose-meta/lfric-driver/HEAD/rose-meta.conf @@ -326,17 +326,48 @@ values='triangle', 'quadrilateral' [namelist:finite_element=coord_order] compulsory=true -description=Order of the coordinate space. -fail-if=this < 0 ; -help=Order of the coordinate space. If 0 is chosen, this will be the continuous - =W0 space, with the order set by the element order. This option is only - =possible for certain geometries and topologies. Otherwise, this will be - =a discontinuous space. +description=Horizontal polynomial order of the coordinate space. +fail-if=this < 1 ; +help=Horizontal order of the polynomials used to describe the coordinate space. + =The vertical order is determined by the coordinate system. If a native + =coordinates system is chosen, the vertical coordinates are linear. + =If Cartesian coordinates are chosen, the vertical coordinates have the same + =order as the horizontal. !kind=default -range=0: +range=1: +sort-key=Panel-A03 +type=integer + +[namelist:finite_element=coord_order_multigrid] +compulsory=true +description=Horizontal polynomial order of coordinates for multigrid meshes. +fail-if=this < 1 ; +help=The order of the coordinate spaces can be set separately for the prime + =mesh and the others in a multigrid chain. For instance it may not be + =necessary to use higher order coordinates on coarser meshes. + =The vertical order is set as for the coord_order option. +!kind=default +range=1: sort-key=Panel-A03 type=integer +[namelist:finite_element=coord_space] +compulsory=true +description=The finite element space to use to hold the coordinate fields. +!enumeration=true +fail-if= +help=Different spaces have different continuity properties: + =Wchi: fully discontinuous. + =Wtheta: discontinuous in the horizontal, but continuous in the vertical. + = This is only appropriate for native coordinate systems, which + = separate the horizontal and vertical coordinates. + =W0: fully continuous. This is only appropriate for non-periodic planar + = domains, or when using the 'xyz' coordinate system on spherical + = domains. +sort-key=Panel-A04 +value-titles='Wchi', 'Wtheta', 'W0' +values='Wchi', 'Wtheta', 'W0' + [namelist:finite_element=coord_system] compulsory=true description=The coordinate system that will be stored in the chi coordinate diff --git a/components/driver/rose-meta/lfric-driver/versions.py b/components/driver/rose-meta/lfric-driver/versions.py index 152c043d0..c342142c5 100644 --- a/components/driver/rose-meta/lfric-driver/versions.py +++ b/components/driver/rose-meta/lfric-driver/versions.py @@ -31,3 +31,23 @@ def upgrade(self, config, meta_config=None): # Add settings return config, self.reports """ + +class vn30_t238(MacroUpgrade): + """Upgrade macro for PR #238 by Thomas Bendall.""" + + BEFORE_TAG = "vn3.0" + AFTER_TAG = "vn3.0_t238" + + def upgrade(self, config, meta_config=None): + # Commands From: rose-meta/lfric-driver + self.add_setting( + config, ["namelist:finite_element", "coord_space"], "'Wchi'" + ) + coord_order = self.get_setting_value( + config, ["namelist:finite_element", "coord_order"] + ) + self.add_setting( + config, ["namelist:finite_element", "coord_order_multigrid"], + coord_order + ) + return config, self.reports diff --git a/components/driver/source/driver_fem_mod.f90 b/components/driver/source/driver_fem_mod.f90 index 715786011..126bb0c79 100644 --- a/components/driver/source/driver_fem_mod.f90 +++ b/components/driver/source/driver_fem_mod.f90 @@ -12,11 +12,24 @@ !> * Initialises function space chains for use by the model. module driver_fem_mod + use base_mesh_config_mod, only: prime_mesh_name, & + geometry, & + geometry_spherical, & + geometry_planar, & + topology, & + topology_non_periodic use sci_chi_transform_mod, only: init_chi_transforms, & final_chi_transforms use constants_mod, only: i_def, l_def, str_def use extrusion_mod, only: TWOD, PRIME_EXTRUSION - use finite_element_config_mod, only: coord_order + use finite_element_config_mod, only: coord_order, & + coord_order_multigrid, & + coord_system, & + coord_system_xyz, & + coord_space, & + coord_space_W0, & + coord_space_Wchi, & + coord_space_Wtheta use field_mod, only: field_type use fs_continuity_mod, only: W0, W2, W3, Wtheta, Wchi, W2v, W2h use function_space_mod, only: function_space_type @@ -68,6 +81,10 @@ subroutine init_fem( mesh_collection, chi_inventory, panel_id_inventory ) type(field_type) :: panel_id type(function_space_type), pointer :: fs => null() integer(kind=i_def) :: chi_space, coord, i + integer(kind=i_def) :: coord_order_h, coord_order_v + integer(kind=i_def) :: this_coord_order + integer(kind=i_def) :: halo_depth + logical(kind=l_def) :: is_valid character(str_def) :: mesh_name @@ -98,27 +115,78 @@ subroutine init_fem( mesh_collection, chi_inventory, panel_id_inventory ) ! Only create coordinates for 3D meshes if (mesh%get_extrusion_id() /= TWOD) then - ! Initialise panel ID field object --------------------------------------- + ! Initialise panel ID field object ------------------------------------- twod_mesh => mesh_collection%get_mesh(mesh, TWOD) fs => function_space_collection%get_fs(twod_mesh, 0, 0, W3) - call panel_id%initialise( vector_space = fs, halo_depth = twod_mesh%get_halo_depth() ) + halo_depth = twod_mesh%get_halo_depth() + call panel_id%initialise(fs, halo_depth=halo_depth) - ! Initialise chi field object -------------------------------------------- - if ( coord_order == 0 ) then - chi_space = W0 - write(log_scratch_space,'(A)') & - 'Computing W0 coordinate fields for ' // trim(mesh_name) // 'mesh' - call log_event( log_scratch_space, log_level_info ) + ! Initialise chi field object ------------------------------------------ + ! Set coordinate order for this mesh + if (all_mesh_names(i) == prime_mesh_name) then + this_coord_order = coord_order else + this_coord_order = coord_order_multigrid + end if + + ! Determine coordinate space + select case (coord_space) + case (coord_space_W0) + ! Check domain/topology is valid + is_valid = ( & + geometry == geometry_spherical & + .and. coord_system == coord_system_xyz & + ) .or. ( & + geometry == geometry_planar & + .and. topology == topology_non_periodic & + ) + if (.not. is_valid) then + call log_event( & + 'Coordinate space W0 is only valid for non-periodic ' // & + 'planar domains or when using the xyz coordinate system.', & + LOG_LEVEL_ERROR & + ) + end if + + ! Correct the coord_order for W0 polynomials being 1 order above W3 + this_coord_order = this_coord_order - 1 + chi_space = W0 + + case (coord_space_Wchi) chi_space = Wchi - write(log_scratch_space,'(A)') & - 'Computing Wchi coordinate fields for ' // trim(mesh_name) // 'mesh' - call log_event( log_scratch_space, log_level_info ) + + case (coord_space_Wtheta) + chi_space = Wtheta + + case default + call log_event('Invalid value for coord_space', LOG_LEVEL_ERROR) + end select + + ! Set horizontal and vertical coordinate orders separately + if (coord_system == coord_system_xyz) then + ! Geocentric Cartesian coordinates - same order in all directions + coord_order_h = this_coord_order + coord_order_v = this_coord_order + + else + ! For native coordinates, we separate horizontal and vertical coords + ! and can still accurately represent space with linear vertical coords + coord_order_h = this_coord_order + + if (coord_space == coord_space_Wchi) then + coord_order_v = 1 ! Linear vertical coords for Wchi + else + coord_order_v = 0 ! Linear vertical coords for Wtheta + end if end if - fs => function_space_collection%get_fs(mesh, coord_order, coord_order, chi_space) + + ! Create coordinate space + fs => function_space_collection%get_fs( & + mesh, coord_order_h, coord_order_v, chi_space & + ) do coord = 1, size(chi) - call chi(coord)%initialise(vector_space = fs, halo_depth = twod_mesh%get_halo_depth() ) + call chi(coord)%initialise(fs, halo_depth=halo_depth) end do ! Set coordinate fields -------------------------------------------------- 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 8cf102568..0e49af743 100644 --- a/components/driver/unit-test/assign_coordinate_xyz_mod_test.pf +++ b/components/driver/unit-test/assign_coordinate_xyz_mod_test.pf @@ -34,7 +34,7 @@ contains use feign_config_mod, only : feign_base_mesh_config, & feign_finite_element_config use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi implicit none @@ -49,6 +49,8 @@ contains call feign_finite_element_config( cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/lfric-xios/integration-test/configs/context.nml b/components/lfric-xios/integration-test/configs/context.nml index f07068c66..9bd07c149 100644 --- a/components/lfric-xios/integration-test/configs/context.nml +++ b/components/lfric-xios/integration-test/configs/context.nml @@ -21,6 +21,8 @@ element_order_v = 0 rehabilitate =.true. coord_order = 1 + coord_order_multigrid = 1 + coord_space = 'Wchi' coord_system ='native' / diff --git a/components/lfric-xios/integration-test/configs/non_cyclic_base.nml b/components/lfric-xios/integration-test/configs/non_cyclic_base.nml index 073eaddf5..e06f4874f 100644 --- a/components/lfric-xios/integration-test/configs/non_cyclic_base.nml +++ b/components/lfric-xios/integration-test/configs/non_cyclic_base.nml @@ -21,6 +21,8 @@ element_order_v = 0 rehabilitate =.true. coord_order = 1 + coord_order_multigrid = 1 + coord_space = 'Wchi' coord_system ='native' / diff --git a/components/lfric-xios/integration-test/resources/configs/context.nml b/components/lfric-xios/integration-test/resources/configs/context.nml index f07068c66..9bd07c149 100644 --- a/components/lfric-xios/integration-test/resources/configs/context.nml +++ b/components/lfric-xios/integration-test/resources/configs/context.nml @@ -21,6 +21,8 @@ element_order_v = 0 rehabilitate =.true. coord_order = 1 + coord_order_multigrid = 1 + coord_space = 'Wchi' coord_system ='native' / diff --git a/components/lfric-xios/integration-test/resources/configs/non_cyclic_base.nml b/components/lfric-xios/integration-test/resources/configs/non_cyclic_base.nml index 073eaddf5..e06f4874f 100644 --- a/components/lfric-xios/integration-test/resources/configs/non_cyclic_base.nml +++ b/components/lfric-xios/integration-test/resources/configs/non_cyclic_base.nml @@ -21,6 +21,8 @@ element_order_v = 0 rehabilitate =.true. coord_order = 1 + coord_order_multigrid = 1 + coord_space = 'Wchi' coord_system ='native' / diff --git a/components/lfric-xios/source/lfric_xios_setup_mod.x90 b/components/lfric-xios/source/lfric_xios_setup_mod.x90 index 9c762d7bb..67fa6e638 100644 --- a/components/lfric-xios/source/lfric_xios_setup_mod.x90 +++ b/components/lfric-xios/source/lfric_xios_setup_mod.x90 @@ -310,8 +310,9 @@ contains coord_dim_owned = proxy_coord_output(1)%vspace%get_last_dof_owned() / nfull_levels ! Obtain sample_chi, which will be used for setting up XIOS coordinates - if ( mesh%is_geometry_spherical() ) then + if ( mesh%is_geometry_spherical() .or. chi(1)%which_function_space() == Wtheta ) then ! Sample chi on W0 function space to prevent "unzipping" of cubed-sphere mesh + ! This also avoids issues when Wtheta is used as the coordinate space do i = 1,3 call sample_chi(i)%initialise( vector_space = output_field_fs ) end do @@ -322,7 +323,10 @@ contains do i = 1,3 call chi(i)%copy_field_serial(sample_chi(i)) end do - ! Tell downstream output processing that the mesh is planar + end if + + ! Tell downstream output processing that the mesh is planar + if ( .not. mesh%is_geometry_spherical() ) then call set_xios_geometry_planar() end if diff --git a/components/science/source/kernel/fem/sci_compute_mass_matrix_kernel_w2_mod.F90 b/components/science/source/kernel/fem/sci_compute_mass_matrix_kernel_w2_mod.F90 index 351086a38..668abfd17 100644 --- a/components/science/source/kernel/fem/sci_compute_mass_matrix_kernel_w2_mod.F90 +++ b/components/science/source/kernel/fem/sci_compute_mass_matrix_kernel_w2_mod.F90 @@ -15,11 +15,11 @@ module sci_compute_mass_matrix_kernel_w2_mod GH_READ, GH_WRITE, & GH_REAL, ANY_W2, & ANY_DISCONTINUOUS_SPACE_3, & + ANY_SPACE_9, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, GH_QUADRATURE_XYoZ use constants_mod, only: i_def, r_def use sci_coordinate_jacobian_mod, only: coordinate_jacobian - use fs_continuity_mod, only: Wchi use kernel_mod, only: kernel_type implicit none @@ -34,12 +34,12 @@ module sci_compute_mass_matrix_kernel_w2_mod private type(arg_type) :: meta_args(3) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, ANY_W2, ANY_W2), & - arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), & + arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), & arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3) & /) type(func_type) :: meta_funcs(2) = (/ & - func_type(ANY_W2, GH_BASIS), & - func_type(Wchi, GH_BASIS, GH_DIFF_BASIS) & + func_type(ANY_W2, GH_BASIS), & + func_type(ANY_SPACE_9, GH_BASIS, GH_DIFF_BASIS) & /) integer :: operates_on = CELL_COLUMN integer :: gh_shape = GH_QUADRATURE_XYoZ diff --git a/components/science/source/kernel/fem/sci_compute_mass_matrix_kernel_w_scalar_mod.F90 b/components/science/source/kernel/fem/sci_compute_mass_matrix_kernel_w_scalar_mod.F90 index f63540f33..e1bc09d43 100644 --- a/components/science/source/kernel/fem/sci_compute_mass_matrix_kernel_w_scalar_mod.F90 +++ b/components/science/source/kernel/fem/sci_compute_mass_matrix_kernel_w_scalar_mod.F90 @@ -16,12 +16,13 @@ module sci_compute_mass_matrix_kernel_w_scalar_mod GH_LOGICAL, GH_SCALAR, & GH_READ, GH_WRITE, & GH_REAL, ANY_SPACE_2, & + ANY_SPACE_9, & ANY_DISCONTINUOUS_SPACE_3, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, GH_QUADRATURE_XYoZ use constants_mod, only: i_def, r_single, r_double, l_def use sci_coordinate_jacobian_mod, only: coordinate_jacobian - use fs_continuity_mod, only: W0, Wtheta, Wchi + use fs_continuity_mod, only: W0, Wtheta use kernel_mod, only: kernel_type implicit none @@ -35,13 +36,13 @@ module sci_compute_mass_matrix_kernel_w_scalar_mod private type(arg_type) :: meta_args(4) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, ANY_SPACE_2, ANY_SPACE_2), & - arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), & + arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), & arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3), & arg_type(GH_SCALAR, GH_LOGICAL, GH_READ) & /) type(func_type) :: meta_funcs(2) = (/ & func_type(ANY_SPACE_2, GH_BASIS), & - func_type(Wchi, GH_BASIS, GH_DIFF_BASIS) & + func_type(ANY_SPACE_9, GH_BASIS, GH_DIFF_BASIS) & /) integer :: operates_on = CELL_COLUMN integer :: gh_shape = GH_QUADRATURE_XYoZ 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 c6426b267..9bc5c7d26 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 @@ -19,12 +19,13 @@ module sci_compute_sample_u_ops_kernel_mod GH_OPERATOR, & GH_INC, GH_READ, GH_WRITE, & ANY_DISCONTINUOUS_SPACE_3, & + ANY_SPACE_9, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, GH_EVALUATOR, & reference_element_data_type, & normals_to_faces use constants_mod, only : r_def, i_def - use fs_continuity_mod, only : W2broken, W3, Wtheta, Wchi + use fs_continuity_mod, only : W2broken, W3, Wtheta use kernel_mod, only : kernel_type use base_mesh_config_mod, only : geometry, geometry_spherical, & geometry_planar @@ -50,11 +51,11 @@ module sci_compute_sample_u_ops_kernel_mod arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, W2broken, W3), & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, W2broken, W3), & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, W2broken, WTHETA), & - arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), & + arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), & arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3) & /) type(func_type) :: meta_funcs(1) = (/ & - func_type(Wchi, GH_BASIS, GH_DIFF_BASIS) & + func_type(ANY_SPACE_9, GH_BASIS, GH_DIFF_BASIS) & /) type(reference_element_data_type), dimension(1) :: & meta_reference_element = & diff --git a/components/science/source/kernel/inter_function_space/sci_project_w3_to_w2b_operator_kernel_mod.F90 b/components/science/source/kernel/inter_function_space/sci_project_w3_to_w2b_operator_kernel_mod.F90 index 426037eff..d19c970ad 100644 --- a/components/science/source/kernel/inter_function_space/sci_project_w3_to_w2b_operator_kernel_mod.F90 +++ b/components/science/source/kernel/inter_function_space/sci_project_w3_to_w2b_operator_kernel_mod.F90 @@ -16,11 +16,12 @@ module sci_project_w3_to_w2b_operator_kernel_mod GH_FIELD, GH_SCALAR, & GH_REAL, GH_INTEGER, & GH_READ, GH_WRITE, & + ANY_SPACE_9, & ANY_DISCONTINUOUS_SPACE_3, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, GH_QUADRATURE_XYoZ use constants_mod, only : r_def, i_def -use fs_continuity_mod, only : W2broken, W3, Wchi +use fs_continuity_mod, only : W2broken, W3 implicit none @@ -33,14 +34,14 @@ module sci_project_w3_to_w2b_operator_kernel_mod private type(arg_type) :: meta_args(4) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, W2broken, W3), & - arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), & + arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), & arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3), & arg_type(GH_SCALAR, GH_INTEGER, GH_READ) & /) type(func_type) :: meta_funcs(3) = (/ & - func_type(W2broken, GH_BASIS), & - func_type(W3, GH_BASIS), & - func_type(Wchi, GH_BASIS, GH_DIFF_BASIS) & + func_type(W2broken, GH_BASIS), & + func_type(W3, GH_BASIS), & + func_type(ANY_SPACE_9, GH_BASIS, GH_DIFF_BASIS) & /) integer :: operates_on = CELL_COLUMN integer :: gh_shape = GH_QUADRATURE_XYoZ 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 c8d849f7e..c2cc69c94 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 @@ -20,10 +20,11 @@ module sci_project_ws_to_w1_operator_kernel_mod GH_READ, GH_WRITE, & ANY_DISCONTINUOUS_SPACE_1, & ANY_DISCONTINUOUS_SPACE_3, & + ANY_SPACE_9, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, GH_QUADRATURE_XYoZ use constants_mod, only : r_def, i_def -use fs_continuity_mod, only : W1, Wchi +use fs_continuity_mod, only : W1 use log_mod, only : log_event, LOG_LEVEL_ERROR implicit none @@ -37,14 +38,14 @@ module sci_project_ws_to_w1_operator_kernel_mod private type(arg_type) :: meta_args(4) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, W1, ANY_DISCONTINUOUS_SPACE_1), & - arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), & + arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), & arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3), & arg_type(GH_SCALAR, GH_INTEGER, GH_READ) & /) type(func_type) :: meta_funcs(3) = (/ & func_type(W1, GH_BASIS), & func_type(ANY_DISCONTINUOUS_SPACE_1, GH_BASIS), & - func_type(Wchi, GH_BASIS, GH_DIFF_BASIS) & + func_type(ANY_SPACE_9, GH_BASIS, GH_DIFF_BASIS) & /) integer :: operates_on = CELL_COLUMN integer :: gh_shape = GH_QUADRATURE_XYoZ diff --git a/components/science/source/kernel/inter_function_space/sci_project_ws_to_w2_operator_kernel_mod.F90 b/components/science/source/kernel/inter_function_space/sci_project_ws_to_w2_operator_kernel_mod.F90 index 0d1f4ff08..3956b94e6 100644 --- a/components/science/source/kernel/inter_function_space/sci_project_ws_to_w2_operator_kernel_mod.F90 +++ b/components/science/source/kernel/inter_function_space/sci_project_ws_to_w2_operator_kernel_mod.F90 @@ -16,12 +16,13 @@ module sci_project_ws_to_w2_operator_kernel_mod GH_FIELD, GH_SCALAR, & GH_REAL, GH_INTEGER, & GH_READ, GH_WRITE, & + ANY_SPACE_9, & ANY_DISCONTINUOUS_SPACE_1, & ANY_DISCONTINUOUS_SPACE_3, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, GH_QUADRATURE_XYoZ use constants_mod, only : r_def, i_def -use fs_continuity_mod, only : W2, Wchi +use fs_continuity_mod, only : W2 implicit none @@ -34,14 +35,14 @@ module sci_project_ws_to_w2_operator_kernel_mod private type(arg_type) :: meta_args(4) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, W2, ANY_DISCONTINUOUS_SPACE_1), & - arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), & + arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), & arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3), & arg_type(GH_SCALAR, GH_INTEGER, GH_READ) & /) type(func_type) :: meta_funcs(3) = (/ & func_type(W2, GH_BASIS), & func_type(ANY_DISCONTINUOUS_SPACE_1, GH_BASIS), & - func_type(Wchi, GH_BASIS, GH_DIFF_BASIS) & + func_type(ANY_SPACE_9, GH_BASIS, GH_DIFF_BASIS) & /) integer :: operates_on = CELL_COLUMN integer :: gh_shape = GH_QUADRATURE_XYoZ diff --git a/components/science/source/kernel/inter_function_space/sci_w3_to_w2_displacement_kernel_mod.F90 b/components/science/source/kernel/inter_function_space/sci_w3_to_w2_displacement_kernel_mod.F90 index 64cc4ad24..2dd83cf43 100644 --- a/components/science/source/kernel/inter_function_space/sci_w3_to_w2_displacement_kernel_mod.F90 +++ b/components/science/source/kernel/inter_function_space/sci_w3_to_w2_displacement_kernel_mod.F90 @@ -14,11 +14,12 @@ module sci_w3_to_w2_displacement_kernel_mod use argument_mod, only : arg_type, func_type, & GH_FIELD, GH_REAL, & GH_READ, GH_INC, & + ANY_SPACE_9, & ANY_DISCONTINUOUS_SPACE_3, & GH_BASIS, GH_EVALUATOR, & CELL_COLUMN, GH_SCALAR, & GH_LOGICAL - use fs_continuity_mod, only : W3, W2H, Wchi + use fs_continuity_mod, only : W3, W2H use constants_mod, only : r_def, i_def use kernel_mod, only : kernel_type use reference_element_mod, only : E, W, N, S @@ -35,12 +36,12 @@ module sci_w3_to_w2_displacement_kernel_mod private type(arg_type) :: meta_args(4) = (/ & arg_type(GH_FIELD, GH_REAL, GH_INC, W2H), & - arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), & + arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), & arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3), & arg_type(GH_FIELD, GH_REAL, GH_READ, W3) & /) type(func_type) :: meta_funcs(1) = (/ & - func_type(Wchi, GH_BASIS) & + func_type(ANY_SPACE_9, GH_BASIS) & /) integer :: operates_on = CELL_COLUMN integer :: gh_shape = GH_EVALUATOR diff --git a/components/science/unit-test/kernel/fem/compute_broken_div_operator_kernel_mod_test.pf b/components/science/unit-test/kernel/fem/compute_broken_div_operator_kernel_mod_test.pf index 65f37e6fc..68e580c56 100644 --- a/components/science/unit-test/kernel/fem/compute_broken_div_operator_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/fem/compute_broken_div_operator_kernel_mod_test.pf @@ -47,7 +47,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -58,6 +58,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=1_i_def, & element_order_v=1_i_def, & diff --git a/components/science/unit-test/kernel/fem/compute_curl_operator_kernel_mod_test.pf b/components/science/unit-test/kernel/fem/compute_curl_operator_kernel_mod_test.pf index 50888b180..3842ce3af 100644 --- a/components/science/unit-test/kernel/fem/compute_curl_operator_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/fem/compute_curl_operator_kernel_mod_test.pf @@ -45,7 +45,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -61,6 +61,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/fem/compute_derham_matrices_kernel_mod_test.pf b/components/science/unit-test/kernel/fem/compute_derham_matrices_kernel_mod_test.pf index 50dd756d5..d036b9c26 100644 --- a/components/science/unit-test/kernel/fem/compute_derham_matrices_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/fem/compute_derham_matrices_kernel_mod_test.pf @@ -31,7 +31,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -42,6 +42,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/fem/compute_div_operator_kernel_mod_test.pf b/components/science/unit-test/kernel/fem/compute_div_operator_kernel_mod_test.pf index 53474e517..8e11000ae 100644 --- a/components/science/unit-test/kernel/fem/compute_div_operator_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/fem/compute_div_operator_kernel_mod_test.pf @@ -48,7 +48,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -59,6 +59,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=1_i_def, & element_order_v=1_i_def, & diff --git a/components/science/unit-test/kernel/fem/compute_grad_operator_kernel_mod_test.pf b/components/science/unit-test/kernel/fem/compute_grad_operator_kernel_mod_test.pf index da1dd8b61..ff34a19cc 100644 --- a/components/science/unit-test/kernel/fem/compute_grad_operator_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/fem/compute_grad_operator_kernel_mod_test.pf @@ -42,7 +42,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -53,6 +53,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w0_mod_test.pf b/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w0_mod_test.pf index f4f2296a8..f4d516ef9 100644 --- a/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w0_mod_test.pf +++ b/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w0_mod_test.pf @@ -44,7 +44,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config implicit none @@ -54,6 +54,8 @@ contains call feign_finite_element_config( & cellshape = cellshape_quadrilateral, & coord_order = 0_i_def, & + coord_order_multigrid = 1_i_def, & + coord_space = coord_space_wchi, & coord_system = coord_system_xyz, & element_order_h =0_i_def, & element_order_v =0_i_def, & diff --git a/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w1_mod_test.pf b/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w1_mod_test.pf index 1d85c8213..8b12cb4de 100644 --- a/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w1_mod_test.pf +++ b/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w1_mod_test.pf @@ -44,7 +44,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -55,6 +55,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w2_mod_test.pf b/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w2_mod_test.pf index 3e499f697..96fcd3e99 100644 --- a/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w2_mod_test.pf +++ b/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w2_mod_test.pf @@ -44,7 +44,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -55,6 +55,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w2b_mod_test.pf b/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w2b_mod_test.pf index de1500edb..e637e107d 100644 --- a/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w2b_mod_test.pf +++ b/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w2b_mod_test.pf @@ -41,7 +41,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config implicit none @@ -51,6 +51,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w3_mod_test.pf b/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w3_mod_test.pf index 550e039c9..c771932e7 100644 --- a/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w3_mod_test.pf +++ b/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_w3_mod_test.pf @@ -44,7 +44,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -55,6 +55,8 @@ contains call feign_finite_element_config( & cellshape = cellshape_quadrilateral, & coord_order = 0_i_def, & + coord_order_multigrid = 1_i_def, & + coord_space = coord_space_wchi, & coord_system = coord_system_xyz, & element_order_h = 0_i_def, & element_order_v = 0_i_def, & diff --git a/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_wtheta_mod_test.pf b/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_wtheta_mod_test.pf index e214ebfb4..05e9164a4 100644 --- a/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_wtheta_mod_test.pf +++ b/components/science/unit-test/kernel/fem/compute_mass_matrix_kernel_wtheta_mod_test.pf @@ -50,7 +50,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -61,6 +61,8 @@ contains call feign_finite_element_config( & cellshape = cellshape_quadrilateral, & coord_order = 0_i_def, & + coord_order_multigrid = 1_i_def, & + coord_space = coord_space_wchi, & coord_system = coord_system_xyz, & element_order_h = 0_i_def, & element_order_v = 0_i_def, & diff --git a/components/science/unit-test/kernel/fem/gp_rhs_kernel_mod_test.pf b/components/science/unit-test/kernel/fem/gp_rhs_kernel_mod_test.pf index eee93bfa4..81a8019c6 100644 --- a/components/science/unit-test/kernel/fem/gp_rhs_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/fem/gp_rhs_kernel_mod_test.pf @@ -43,7 +43,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -60,6 +60,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & 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 20f623a67..8d62ab49c 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 @@ -42,7 +42,7 @@ contains topology_fully_periodic use sci_chi_transform_mod, only : init_chi_transforms use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config, & feign_base_mesh_config @@ -66,6 +66,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/fem/mg_derham_mat_kernel_mod_test.pf b/components/science/unit-test/kernel/fem/mg_derham_mat_kernel_mod_test.pf index 11bc64083..e903f77d7 100644 --- a/components/science/unit-test/kernel/fem/mg_derham_mat_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/fem/mg_derham_mat_kernel_mod_test.pf @@ -31,7 +31,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -42,6 +42,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/geometry/calc_da_at_w2_kernel_mod_test.pf b/components/science/unit-test/kernel/geometry/calc_da_at_w2_kernel_mod_test.pf index fee5e8bbb..2a2221874 100644 --- a/components/science/unit-test/kernel/geometry/calc_da_at_w2_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/calc_da_at_w2_kernel_mod_test.pf @@ -43,7 +43,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -54,6 +54,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/geometry/calc_detj_at_w2_kernel_mod_test.pf b/components/science/unit-test/kernel/geometry/calc_detj_at_w2_kernel_mod_test.pf index 75650dd78..8d9d79197 100644 --- a/components/science/unit-test/kernel/geometry/calc_detj_at_w2_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/calc_detj_at_w2_kernel_mod_test.pf @@ -44,7 +44,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -55,6 +55,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/geometry/calc_detj_at_w3_kernel_mod_test.pf b/components/science/unit-test/kernel/geometry/calc_detj_at_w3_kernel_mod_test.pf index 4d69854d1..246d2f934 100644 --- a/components/science/unit-test/kernel/geometry/calc_detj_at_w3_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/calc_detj_at_w3_kernel_mod_test.pf @@ -43,7 +43,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -54,6 +54,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/geometry/calc_directional_detj_at_w2_kernel_mod_test.pf b/components/science/unit-test/kernel/geometry/calc_directional_detj_at_w2_kernel_mod_test.pf index 963c6ecff..f57dfbaeb 100644 --- a/components/science/unit-test/kernel/geometry/calc_directional_detj_at_w2_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/calc_directional_detj_at_w2_kernel_mod_test.pf @@ -42,7 +42,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -53,6 +53,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & 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 a72fce3f5..26bd3a92d 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 @@ -229,7 +229,8 @@ contains stretching_method_linear use finite_element_config_mod, only : cellshape_quadrilateral, & coord_system_native, & - coord_system_xyz + coord_system_xyz, & + coord_space_wchi use feign_config_mod, only : feign_base_mesh_config, & feign_extrusion_config, & feign_finite_element_config, & @@ -276,6 +277,8 @@ contains element_order_v=0_i_def, & rehabilitate=.true., & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system ) call feign_planet_config( scaling_factor=scaling ) diff --git a/components/science/unit-test/kernel/geometry/compute_latlon_kernel_mod_test.pf b/components/science/unit-test/kernel/geometry/compute_latlon_kernel_mod_test.pf index 4b686f674..a66c2d810 100644 --- a/components/science/unit-test/kernel/geometry/compute_latlon_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/compute_latlon_kernel_mod_test.pf @@ -38,7 +38,7 @@ contains use sci_chi_transform_mod, only : init_chi_transforms use feign_config_mod, only : feign_finite_element_config use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use extrusion_config_mod, only: method_uniform @@ -52,6 +52,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & 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 083909300..52c188977 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 @@ -27,7 +27,8 @@ contains use extrusion_config_mod, only : method_uniform, & stretching_method_linear use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_native + coord_system_native, & + coord_space_wchi use feign_config_mod, only : feign_base_mesh_config, & feign_extrusion_config, & feign_finite_element_config, & @@ -54,6 +55,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_native, & element_order_h=0_i_def, & element_order_v=0_i_def, & 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 f4f5fd353..aeaf92183 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 @@ -27,7 +27,8 @@ contains use extrusion_config_mod, only : method_uniform, & stretching_method_linear use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_native + coord_system_native, & + coord_space_wchi use feign_config_mod, only : feign_base_mesh_config, & feign_extrusion_config, & feign_finite_element_config, & @@ -54,6 +55,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_native, & element_order_h=0_i_def, & element_order_v=0_i_def, & 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 a560eaaff..b4f9b3a04 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 @@ -26,7 +26,8 @@ contains use extrusion_config_mod, only : method_uniform, & stretching_method_linear use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_native + coord_system_native, & + coord_space_wchi use feign_config_mod, only : feign_base_mesh_config, & feign_extrusion_config, & feign_finite_element_config, & @@ -52,6 +53,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_native, & element_order_h=0_i_def, & element_order_v=0_i_def, & 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 3f3379bbe..2fc997e9a 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 @@ -29,7 +29,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -40,6 +40,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & 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 b633343d3..7777b52de 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 @@ -38,7 +38,7 @@ contains use base_mesh_config_mod, only : geometry_planar, & topology_fully_periodic use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config, & feign_base_mesh_config @@ -56,6 +56,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/geometry/get_height_kernel_mod_test.pf b/components/science/unit-test/kernel/geometry/get_height_kernel_mod_test.pf index 066d58f8d..268f74323 100644 --- a/components/science/unit-test/kernel/geometry/get_height_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/get_height_kernel_mod_test.pf @@ -42,7 +42,7 @@ contains use base_mesh_config_mod, only : geometry_planar, & topology_fully_periodic use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config, & feign_base_mesh_config @@ -60,6 +60,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_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 74df5e0fe..242cdcf8e 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 @@ -27,7 +27,8 @@ contains use extrusion_config_mod, only : method_uniform, & stretching_method_linear use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_native + coord_system_native, & + coord_space_wchi use feign_config_mod, only : feign_base_mesh_config, & feign_extrusion_config, & feign_finite_element_config, & @@ -54,6 +55,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_native, & element_order_h=0_i_def, & element_order_v=0_i_def, & 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 7497009b6..7d26f0ccc 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 @@ -27,7 +27,7 @@ contains use extrusion_config_mod, only : method_uniform, & stretching_method_linear use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_native + coord_system_native, coord_space_wchi use feign_config_mod, only : feign_base_mesh_config, & feign_extrusion_config, & feign_finite_element_config, & @@ -54,6 +54,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_native, & element_order_h=0_i_def, & element_order_v=0_i_def, & 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 ae02ad272..20027da38 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 @@ -26,7 +26,7 @@ contains use extrusion_config_mod, only : method_uniform, & stretching_method_linear use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_native + coord_system_native, coord_space_wchi use feign_config_mod, only : feign_base_mesh_config, & feign_extrusion_config, & feign_finite_element_config, & @@ -52,6 +52,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_native, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/geometry/native_jacobian_xyz_mod_test.pf b/components/science/unit-test/kernel/geometry/native_jacobian_xyz_mod_test.pf index 4ccd5b67a..5ec29230e 100644 --- a/components/science/unit-test/kernel/geometry/native_jacobian_xyz_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/native_jacobian_xyz_mod_test.pf @@ -29,7 +29,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -40,6 +40,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/geometry/nodal_xyz_coordinates_kernel_mod_test.pf b/components/science/unit-test/kernel/geometry/nodal_xyz_coordinates_kernel_mod_test.pf index abebdd0af..066285ea7 100644 --- a/components/science/unit-test/kernel/geometry/nodal_xyz_coordinates_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/nodal_xyz_coordinates_kernel_mod_test.pf @@ -47,7 +47,7 @@ contains use sci_chi_transform_mod, only : init_chi_transforms use feign_config_mod, only : feign_finite_element_config use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi implicit none @@ -56,6 +56,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/geometry/scale_by_detj_kernel_mod_test.pf b/components/science/unit-test/kernel/geometry/scale_by_detj_kernel_mod_test.pf index d65dd97f0..399796b45 100644 --- a/components/science/unit-test/kernel/geometry/scale_by_detj_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/geometry/scale_by_detj_kernel_mod_test.pf @@ -33,7 +33,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -44,6 +44,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & 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 1d218ac27..f95fcccc3 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 @@ -28,7 +28,7 @@ contains stretching_method_linear use sci_chi_transform_mod, only : init_chi_transforms use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_native + coord_system_native, coord_space_wchi use feign_config_mod, only : feign_extrusion_config, & feign_finite_element_config, & feign_base_mesh_config, & @@ -57,6 +57,8 @@ contains element_order_v=0_i_def, & rehabilitate=.true., & coord_order = 0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_native ) call feign_planet_config( scaling_factor=1.0_r_def ) 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 20d9ce641..a8d9632c4 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 @@ -29,7 +29,7 @@ contains use extrusion_config_mod, only : method_uniform, & stretching_method_linear use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_native + coord_system_native, coord_space_wchi use feign_config_mod, only : feign_base_mesh_config, & feign_extrusion_config, & feign_finite_element_config, & @@ -59,6 +59,8 @@ contains element_order_v=0_i_def, & rehabilitate=.true., & coord_order = 0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_native ) call feign_planet_config( scaling_factor=scaling ) diff --git a/components/science/unit-test/kernel/inter_function_space/convert_hcurl_field_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/convert_hcurl_field_kernel_mod_test.pf index 563bcdab7..84abdbce1 100644 --- a/components/science/unit-test/kernel/inter_function_space/convert_hcurl_field_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/convert_hcurl_field_kernel_mod_test.pf @@ -39,7 +39,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -50,6 +50,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/inter_function_space/convert_hdiv_field_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/convert_hdiv_field_kernel_mod_test.pf index 28e712d54..45e730210 100644 --- a/components/science/unit-test/kernel/inter_function_space/convert_hdiv_field_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/convert_hdiv_field_kernel_mod_test.pf @@ -39,7 +39,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -50,6 +50,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/inter_function_space/convert_hdiv_native_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/convert_hdiv_native_kernel_mod_test.pf index 60ce7e2f2..7c4706d53 100644 --- a/components/science/unit-test/kernel/inter_function_space/convert_hdiv_native_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/convert_hdiv_native_kernel_mod_test.pf @@ -39,7 +39,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -50,6 +50,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & 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 61802bbd0..f99967f7b 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 @@ -33,7 +33,7 @@ contains topology_fully_periodic use sci_chi_transform_mod, only : init_chi_transforms use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config, & feign_base_mesh_config @@ -51,6 +51,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/inter_function_space/dg_convert_hdiv_field_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/dg_convert_hdiv_field_kernel_mod_test.pf index 27cf34cda..838d70e85 100644 --- a/components/science/unit-test/kernel/inter_function_space/dg_convert_hdiv_field_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/dg_convert_hdiv_field_kernel_mod_test.pf @@ -42,7 +42,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -53,6 +53,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/inter_function_space/dg_convert_hdiv_native_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/dg_convert_hdiv_native_kernel_mod_test.pf index 7c263835e..8d112c93a 100644 --- a/components/science/unit-test/kernel/inter_function_space/dg_convert_hdiv_native_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/dg_convert_hdiv_native_kernel_mod_test.pf @@ -40,7 +40,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -51,6 +51,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/inter_function_space/project_w3_to_w2b_operator_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/project_w3_to_w2b_operator_kernel_mod_test.pf index 0f2f906e9..b1f80f786 100644 --- a/components/science/unit-test/kernel/inter_function_space/project_w3_to_w2b_operator_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/project_w3_to_w2b_operator_kernel_mod_test.pf @@ -30,7 +30,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -41,6 +41,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & element_order_h=0_i_def, & element_order_v=0_i_def, & rehabilitate=.true., & 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 1e15845ee..8060685c8 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 @@ -43,7 +43,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use base_mesh_config_mod, only : geometry_planar, & topology_fully_periodic @@ -63,6 +63,8 @@ contains call feign_finite_element_config( cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & element_order_h=0_i_def, & element_order_v=0_i_def, & rehabilitate=.true., & diff --git a/components/science/unit-test/kernel/inter_function_space/project_ws_to_w2_operator_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_function_space/project_ws_to_w2_operator_kernel_mod_test.pf index bd5b4ae33..3cd94867f 100644 --- a/components/science/unit-test/kernel/inter_function_space/project_ws_to_w2_operator_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_function_space/project_ws_to_w2_operator_kernel_mod_test.pf @@ -30,7 +30,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -41,6 +41,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & element_order_h=0_i_def, & element_order_v=0_i_def, & rehabilitate=.true., & 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 79a9b86c9..aa12e8446 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 @@ -27,7 +27,8 @@ contains use extrusion_config_mod, only : method_uniform, & stretching_method_linear use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_native + coord_system_native, & + coord_space_wchi use feign_config_mod, only : feign_base_mesh_config, & feign_extrusion_config, & feign_finite_element_config, & @@ -57,6 +58,8 @@ contains element_order_v=0_i_def, & rehabilitate=.true., & coord_order = 0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_native ) call feign_planet_config( scaling_factor=1.0_r_def ) diff --git a/components/science/unit-test/kernel/inter_mesh/consist_w3_to_sh_w3_op_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_mesh/consist_w3_to_sh_w3_op_kernel_mod_test.pf index 67dbf5a5e..67fe988f6 100644 --- a/components/science/unit-test/kernel/inter_mesh/consist_w3_to_sh_w3_op_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_mesh/consist_w3_to_sh_w3_op_kernel_mod_test.pf @@ -31,7 +31,7 @@ contains subroutine setUp( this ) use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config use sci_chi_transform_mod, only : init_chi_transforms @@ -43,6 +43,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/components/science/unit-test/kernel/inter_mesh/proj_mr_to_sh_rho_rhs_op_kernel_mod_test.pf b/components/science/unit-test/kernel/inter_mesh/proj_mr_to_sh_rho_rhs_op_kernel_mod_test.pf index 82aeebcc4..cbdfd7242 100644 --- a/components/science/unit-test/kernel/inter_mesh/proj_mr_to_sh_rho_rhs_op_kernel_mod_test.pf +++ b/components/science/unit-test/kernel/inter_mesh/proj_mr_to_sh_rho_rhs_op_kernel_mod_test.pf @@ -44,7 +44,7 @@ contains use sci_chi_transform_mod, only : init_chi_transforms use finite_element_config_mod, only : cellshape_quadrilateral, & - coord_system_xyz + coord_system_xyz, coord_space_wchi use feign_config_mod, only : feign_finite_element_config implicit none @@ -54,6 +54,8 @@ contains call feign_finite_element_config( & cellshape=cellshape_quadrilateral, & coord_order=0_i_def, & + coord_order_multigrid=1_i_def, & + coord_space=coord_space_wchi, & coord_system=coord_system_xyz, & element_order_h=0_i_def, & element_order_v=0_i_def, & diff --git a/infrastructure/source/function_space/function_space_constructor_helper_functions_mod.F90 b/infrastructure/source/function_space/function_space_constructor_helper_functions_mod.F90 index 792fb2ebf..2f6442a1d 100644 --- a/infrastructure/source/function_space/function_space_constructor_helper_functions_mod.F90 +++ b/infrastructure/source/function_space/function_space_constructor_helper_functions_mod.F90 @@ -581,9 +581,11 @@ subroutine basis_setup( element_order_h, element_order_v, gungho_fs, & if (k_h == 0) then x2h(1) = 0.5_r_def else - if (gungho_fs == W3 .or. gungho_fs == Wtheta) then + if (gungho_fs == W3) then ! Evenly space the points away from the element edges for high order ! spaces - this helps with visualising the output + ! TODO: this used to be the case for Wtheta until it was also used for + ! storing coordinate fields. Issue #250 records this. do i = 1, k_h + 1 x2h(i) = real(i, r_def) / real(k_h + 2, r_def) end do @@ -602,7 +604,7 @@ subroutine basis_setup( element_order_h, element_order_v, gungho_fs, & if (k_v == 0) then x2v(1) = 0.5_r_def else - if (gungho_fs == W3 .or. gungho_fs == Wtheta) then + if (gungho_fs == W3) then ! Evenly space the points away from the element edges for high order ! spaces - this helps with visualising the output do i = 1, k_v + 1 diff --git a/rose-stem/app/lbc_demo/rose-app.conf b/rose-stem/app/lbc_demo/rose-app.conf index d979a47c6..567d1b2d9 100644 --- a/rose-stem/app/lbc_demo/rose-app.conf +++ b/rose-stem/app/lbc_demo/rose-app.conf @@ -44,6 +44,8 @@ planet_radius=6371229.0 [namelist:finite_element] cellshape='quadrilateral' coord_order=1 +coord_order_multigrid=1 +coord_space='Wchi' coord_system='native' element_order_h=0 element_order_v=0