From 364168fe534d51d39857e82ce598c71c8bd3a142 Mon Sep 17 00:00:00 2001 From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com> Date: Thu, 23 Jul 2026 15:47:49 +0100 Subject: [PATCH 1/8] first pass at factoring constants out of SI operators --- .../adjt_scaled_matrix_vector_alg_mod.x90 | 11 +- dependencies.yaml | 4 +- .../solver/adj_mixed_operator_alg_mod.x90 | 11 +- ...adj_mixed_schur_preconditioner_alg_mod.x90 | 24 ++- .../adj_semi_implicit_solver_alg_mod.x90 | 14 +- .../solver/mixed_operator_alg_mod.x90 | 57 ++++-- .../mixed_schur_preconditioner_alg_mod.x90 | 48 ++++- .../solver/pressure_operator_alg_mod.x90 | 16 +- .../solver/semi_implicit_solver_alg_mod.x90 | 30 ++- .../algorithm/solver/si_operators_alg_mod.x90 | 183 +++++++++++++----- ...pply_elim_mixed_lp_operator_kernel_mod.F90 | 26 ++- .../apply_mixed_lu_operator_kernel_mod.F90 | 17 +- .../apply_mixed_u_operator_kernel_mod.F90 | 14 +- .../apply_mixed_wp_operator_kernel_mod.F90 | 38 +++- .../solver/apply_variable_hx_kernel_mod.F90 | 27 ++- .../elim_helmholtz_operator_kernel_mod.F90 | 55 ++++-- .../eliminated_theta_q22_kernel_mod.F90 | 14 +- .../eliminated_theta_q2t_kernel_mod.F90 | 14 +- .../solver/helmholtz_operator_kernel_mod.F90 | 27 ++- .../opt_apply_variable_hx_kernel_mod.F90 | 33 ++-- ...roject_eliminated_theta_q32_kernel_mod.F90 | 22 +-- ...sample_eliminated_theta_q32_kernel_mod.F90 | 22 +-- .../solver/weighted_div_bd_kernel_mod.F90 | 15 +- .../kernel/solver/weighted_div_kernel_mod.F90 | 14 +- .../weighted_proj_2theta_bd_kernel_mod.F90 | 14 +- .../weighted_proj_2theta_kernel_mod.F90 | 14 +- .../weighted_proj_2thetav_kernel_mod.F90 | 14 +- .../weighted_proj_theta2_bd_kernel_mod.F90 | 15 +- .../weighted_proj_theta2_kernel_mod.F90 | 14 +- .../weighted_proj_theta2_vert_kernel_mod.F90 | 12 +- .../weighted_proj_theta2v_kernel_mod.F90 | 14 +- science/gungho/source/psy/psykal_lite_mod.F90 | 27 ++- ..._elim_mixed_lp_operator_kernel_mod_test.pf | 10 +- ...apply_mixed_lu_operator_kernel_mod_test.pf | 11 +- .../apply_mixed_u_operator_kernel_mod_test.pf | 14 +- ...apply_mixed_wp_operator_kernel_mod_test.pf | 68 ++++--- ...elim_helmholtz_operator_kernel_mod_test.pf | 11 ++ .../eliminated_theta_q22_kernel_mod_test.pf | 10 +- .../eliminated_theta_q2t_kernel_mod_test.pf | 10 +- .../helmholtz_operator_kernel_mod_test.pf | 14 ++ ...ct_eliminated_theta_q32_kernel_mod_test.pf | 12 +- ...le_eliminated_theta_q32_kernel_mod_test.pf | 10 +- .../solver/weighted_div_kernel_mod_test.pf | 3 +- .../weighted_proj_2theta_kernel_mod_test.pf | 3 +- .../weighted_proj_2thetav_kernel_mod_test.pf | 3 +- .../weighted_proj_theta2_kernel_mod_test.pf | 3 +- .../weighted_proj_theta2v_kernel_mod_test.pf | 3 +- 47 files changed, 708 insertions(+), 337 deletions(-) diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 index d90f8db2e6..372c92dc39 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 @@ -2,6 +2,9 @@ ! (C) Crown copyright 2025 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- ! @todo Causes failure of later test (mixed_schur_preconditioner); not calling until resolved (#616). @@ -23,7 +26,8 @@ module adjt_scaled_matrix_vector_alg_mod use operator_mod, only: r_solver_operator_type use r_solver_field_mod, only: r_solver_field_type use sci_r_solver_field_vector_mod, only: r_solver_field_vector_type - use si_operators_alg_mod, only: compute_si_operators, get_div_star, get_Hb_lumped_inv + use si_operators_alg_mod, only: compute_si_operators, get_div_star, get_Hb_lumped_inv, & + get_tau_u_dt_cp use solver_constants_mod, only: get_normalisation_r_solver ! Object types @@ -83,6 +87,7 @@ module adjt_scaled_matrix_vector_alg_mod real(kind=r_def) :: machine_tolerance real(kind=r_def) :: relative_diff real(kind=r_def), parameter :: overall_tolerance = 1500.0_r_def + real(kind=r_solver) :: const_u ! Setup @@ -117,6 +122,8 @@ module adjt_scaled_matrix_vector_alg_mod div_star => get_div_star() Hb_lumped_inv => get_Hb_lumped_inv() + const_u = get_tau_u_dt_cp() + call invoke( setval_random(vector_x), & setval_c( vector_mx, 0.0_r_solver ), & setval_c( vector_amx, 0.0_r_solver ), & @@ -124,6 +131,7 @@ module adjt_scaled_matrix_vector_alg_mod ! Tangent linear (Mx) scaled_matrix_vector_kernel_type( vector_mx, vector_x, div_star, u_normalisation, Hb_lumped_inv ), & + inc_a_times_X( const_u, vector_mx ), & ! @@ -144,6 +152,7 @@ module adjt_scaled_matrix_vector_alg_mod ! Adjoint (AMx) adj_scaled_matrix_vector_kernel_type( vector_mx, vector_amx, div_star, u_normalisation, Hb_lumped_inv ), & + inc_a_times_X( const_u, vector_amx ), & ! diff --git a/dependencies.yaml b/dependencies.yaml index c1313e4d75..72afce24e7 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -30,8 +30,8 @@ lfric_apps: ref: lfric_core: - source: git@github.com:MetOffice/lfric_core.git - ref: 2026.07.1 + source: git@github.com:tommbendall/lfric_core.git + ref: a401de1a9db2b02cf3ecb0861b65dd5229bc90c0 moci: source: git@github.com:MetOffice/moci.git diff --git a/science/adjoint/source/algorithm/solver/adj_mixed_operator_alg_mod.x90 b/science/adjoint/source/algorithm/solver/adj_mixed_operator_alg_mod.x90 index 00e3e3e692..5700db3dfb 100644 --- a/science/adjoint/source/algorithm/solver/adj_mixed_operator_alg_mod.x90 +++ b/science/adjoint/source/algorithm/solver/adj_mixed_operator_alg_mod.x90 @@ -50,7 +50,7 @@ module adj_mixed_operator_alg_mod get_ptheta2, & get_m3_exner_star, & get_p3theta, & - get_eliminated_q32 + get_eliminated_q32_rho use solver_constants_mod, only: get_w2_mass_matrix_r_solver, & get_normalisation_r_solver use timing_mod, only: start_timing, & @@ -91,7 +91,7 @@ contains type(r_solver_field_type), pointer :: w2_mask, w3_mask type(r_solver_field_type) :: x_t real(kind=r_solver), parameter :: minus_one = -1.0_r_solver - type(r_solver_operator_type), pointer :: q32_op + type(r_solver_operator_type), pointer :: q32_rho_op type(r_solver_field_type), pointer :: xvec_uv, xvec_p, xvec_w type(r_solver_field_type), pointer :: yvec_uv, yvec_p, yvec_w @@ -202,13 +202,14 @@ contains select case (eliminate_variables) case (eliminate_variables_discrete) - q32_op => get_eliminated_q32() + q32_rho_op => get_eliminated_q32_rho() if (optimised_operator) then call invoke( adj_apply_mixed_operator_kernel_type( yvec_uv, yvec_w, yvec_p, & xvec_uv, xvec_w, xvec_p, & ptheta2, mt_lumped_inv, & mm_vel, p2theta, div_star, m2_diag, & - m3_exner_star, q32_op, p3theta ), & + m3_exner_star, q32_rho_op, & + p3theta ), & setval_c( yvec_uv, 0.0_r_solver ) ) else t_fs => function_space_collection%get_fs( mesh, p_h, p_v, Wtheta ) @@ -217,7 +218,7 @@ contains enforce_bc_kernel_type(y_uvw), & adj_apply_elim_mixed_lp_operator_kernel_type( yvec_p, x_t, x_uvw, & xvec_p, m3_exner_star, & - q32_op, p3theta ), & + q32_rho_op, p3theta ), & adj_apply_mixed_lu_operator_kernel_type( y_uvw, x_uvw, x_t, xvec_p, & mm_vel, p2theta, div_star, m2_diag ), & setval_c( y_uvw, 0.0_r_solver ), & diff --git a/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 b/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 index ca9d372251..87c34984da 100644 --- a/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 +++ b/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 @@ -2,6 +2,9 @@ ! (C) Crown copyright 2025 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> @brief Adjoint of mixed_schur_preconditioner_alg_mod @@ -33,7 +36,10 @@ module adj_mixed_schur_preconditioner_alg_mod get_ptheta2v, & get_p3theta, & get_helm_diag, & - get_Hb_lumped_inv + get_Hb_lumped_inv, & + get_tau_u_dt_cp, & + get_tau_t_dt, & + get_tau_r_dt use solver_constants_mod, only: get_normalisation_r_solver use fs_continuity_mod, only: W2, W3, Wtheta use boundaries_config_mod, only: limited_area @@ -212,7 +218,8 @@ contains type(r_solver_operator_type), pointer :: m3_rho_star, ptheta2, p3theta, compound_div type(r_solver_field_type), pointer :: mt_lumped_inv, h_diag, Hb_lumped_inv type(r_solver_field_type) :: rhs_d - real(kind=r_solver), parameter :: minus_one = -1.0_r_solver + real(kind=r_solver) :: const_r, const_t + real(kind=r_solver) :: minus_const_r, minus_const_t type(r_solver_field_type) :: rhs_uvw integer(kind=i_def) :: mesh_id type(r_solver_field_type), pointer :: rhs_uv, rhs_p, rhs_w, rhs @@ -251,6 +258,11 @@ contains compound_div => get_compound_div() Hb_lumped_inv => get_Hb_lumped_inv() + const_r = get_tau_r_dt() + const_t = get_tau_t_dt() + minus_const_r = -const_r + minus_const_t = -const_t + if (normalise) then h_diag => get_helm_diag() call invoke( name="adj_msp1", & @@ -274,7 +286,8 @@ contains mt_lumped_inv, rhs_d, & compound_div, p3theta, & ptheta2, m3_rho_star, & - minus_one, rhs_p ) ) + minus_const_r, & + minus_const_t, rhs_p ) ) else call log_event( "adj_build_pressure_rhs: element_orders /= 0 not coded", LOG_LEVEL_ERROR ) end if @@ -321,6 +334,7 @@ contains type(r_solver_operator_type), pointer :: div_star type(r_solver_field_type) :: u_inc integer(kind=i_def) :: mesh_id + real(kind=r_solver) :: const_u type(r_solver_field_type), pointer :: state_uv, state_p, state_w, exner_inc @@ -341,6 +355,9 @@ contains u_normalisation => get_normalisation_r_solver( W2, mesh_id ) div_star => get_div_star() Hb_lumped_inv => get_Hb_lumped_inv() + ! div_star is assembled unscaled; the D*p' reconstruction carries tau_u*dt*cp + ! in the forward model, so its adjoint carries the same constant. + const_u = get_tau_u_dt_cp() ! u' = ru + BC[HB * unorm * D * p'] if (split_w) then @@ -370,6 +387,7 @@ contains call invoke( name = "compute_increments", & enforce_bc_kernel_type(u_inc), & inc_X_plus_Y( self%rhs_u, u_inc ), & + inc_a_times_X( const_u, u_inc ), & adj_scaled_matrix_vector_kernel_type( u_inc, exner_inc, & div_star, u_normalisation, & Hb_lumped_inv ), & diff --git a/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 b/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 index fb92980dd6..98bd1135dd 100644 --- a/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 +++ b/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 @@ -2,6 +2,9 @@ ! (C) Crown copyright 2025 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> @brief Adjoint of semi_implicit_solver_alg_mod @@ -312,7 +315,8 @@ contains use solver_constants_mod, only: get_normalisation_r_solver, get_im3_div_r_solver, get_normalisation use mr_indices_mod, only: nummr use si_operators_alg_mod, only: get_m3_rho_star, get_rho_at_u, & - get_p2theta, get_p3theta, get_ptheta2 + get_p2theta, get_p3theta, get_ptheta2, & + get_tau_u_dt_cp, get_tau_t_dt use matrix_vector_kernel_mod, only: matrix_vector_kernel_type use adj_matrix_vector_kernel_mod, only: adj_matrix_vector_kernel_type use dg_matrix_vector_kernel_mod, only: dg_matrix_vector_kernel_type @@ -347,6 +351,7 @@ contains p3theta, p2theta, ptheta2 type(field_type) :: f_star_rdef real(kind=r_solver) :: tau_r_dt + real(kind=r_solver) :: const_u, const_t real(kind=r_def) :: tau_r_dt_rdef integer(kind=i_def) :: mesh_id type(integer_field_type), pointer :: face_selector_ew, face_selector_ns @@ -360,6 +365,9 @@ contains mesh_id = state(igh_p)%get_mesh_id() + const_u = get_tau_u_dt_cp() + const_t = get_tau_t_dt() + ! Normalise theta & u residual t_normalisation => get_normalisation( Wtheta, mesh_id ) u_normalisation => get_normalisation( W2, mesh_id ) @@ -405,7 +413,8 @@ contains if (eliminate_variables == eliminate_variables_analytic) then call log_event( "adj_semi_implicit_solver_type%step: eliminate_variables_analytic not coded", LOG_LEVEL_ERROR ) else - call invoke( inc_X_times_Y(rhs_tmp, mt_lumped_inv) ) + call invoke( inc_X_times_Y(rhs_tmp, mt_lumped_inv), & + inc_a_times_X(const_t, rhs_tmp) ) end if ! Compute theta increment since solver does not provide one @@ -495,6 +504,7 @@ contains setval_c( rhs_tmp, 0.0_r_solver ), & enforce_bc_kernel_type(rhs_rsol(igh_u)), & inc_X_plus_Y( rhs_tmp, rhs_rsol(igh_u) ), & + inc_a_times_X( const_u, rhs_tmp ), & inc_X_times_Y( rhs_tmp, m2_diag ), & adj_matrix_vector_kernel_type( rhs_tmp, rhs_rsol(igh_t), p2theta ), & setval_c( rhs_tmp, 0.0_r_solver ), & diff --git a/science/gungho/source/algorithm/solver/mixed_operator_alg_mod.x90 b/science/gungho/source/algorithm/solver/mixed_operator_alg_mod.x90 index c559e1317a..2e466006be 100644 --- a/science/gungho/source/algorithm/solver/mixed_operator_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/mixed_operator_alg_mod.x90 @@ -109,7 +109,12 @@ contains get_m3_exner_star, & get_p3theta, & get_eliminated_q22, & - get_eliminated_q32 + get_eliminated_q32_rho, & + get_eliminated_q32_theta, & + get_tau_u_dt_cp, & + get_tau_t_dt, & + get_tau_r_dt, & + get_tau_tu_dt2_cp use dycore_constants_mod, only: w2_si_matrix use solver_constants_mod, only: get_w2_mass_matrix_r_solver, & get_normalisation_r_solver @@ -151,9 +156,13 @@ contains w3_mask type(r_solver_field_type) :: x_t real(kind=r_solver), parameter :: minus_one = -1.0_r_solver + real(kind=r_solver) :: const_u, const_t, const_r, const_tu + real(kind=r_solver) :: minus_const_t type(r_solver_field_type) :: q22u + type(r_solver_field_type) :: q32t_p type(r_solver_operator_type), pointer :: q22_op, & - q32_op + q32_rho_op, & + q32_theta_op type(r_solver_field_type), pointer :: xvec_uv, & xvec_p, & xvec_w @@ -209,6 +218,13 @@ contains m3_exner_star => get_m3_exner_star() p3theta => get_p3theta() + ! Obtain the tau*dt scaling constants used to assemble the SI operators. + const_u = get_tau_u_dt_cp() ! tau_u*dt*cp + const_t = get_tau_t_dt() ! tau_t*dt + const_r = get_tau_r_dt() ! tau_r*dt + const_tu = get_tau_tu_dt2_cp() ! tau_t*tau_u*dt^2*cp + minus_const_t = -const_t + select type (x) type is (r_solver_field_vector_type) select type (y) @@ -254,7 +270,7 @@ contains select case ( eliminate_variables ) case ( eliminate_variables_discrete ) - q32_op => get_eliminated_q32() + q32_rho_op => get_eliminated_q32_rho() if ( optimised_operator ) then ! Compute the lhs of mixed operator in two steps: ! 1) Compute the horizontal wind lhs (yvec_uv), this is done in the broken W2 @@ -270,14 +286,16 @@ contains call invoke( name="apply_split_mixed_operator", & apply_mixed_u_operator_kernel_type( y_uv_broken, & xvec_uv, xvec_w, xvec_p, & - mm_vel, div_star, m2_diag ), & + mm_vel, div_star, m2_diag, & + const_u ), & setval_c( yvec_uv, 0.0_r_solver ), & assemble_w2h_from_w2hb_kernel_type(yvec_uv, y_uv_broken), & apply_mixed_wp_operator_kernel_type( yvec_w, yvec_p, & xvec_uv, xvec_w, xvec_p, & ptheta2, mt_lumped_inv, & mm_vel, p2theta, div_star, m2_diag, & - m3_exner_star, q32_op, p3theta ) ) + m3_exner_star, q32_rho_op, p3theta, & + const_u, const_t, const_r ) ) else ! Create theta' field t_fs => function_space_collection%get_fs( mesh, p_h, p_v, Wtheta ) @@ -288,19 +306,22 @@ contains ! but we do not assemble the full Q22 & Q32 matrices as these can ! not be represented by local matrix operators ! Q32 = tau*dt*M3^rho * D * rho^ref - ! and x_t = -mt_lumped_inv*Ptheta2*u', so P3theta*x_t gives the - ! contribution to the equation of state from eliminating the - ! potential temperature + ! and x_t = -tau_t*dt*mt_lumped_inv*Ptheta2*u', so P3theta*x_t gives + ! the (already tau_t*dt scaled) contribution to the equation of state + ! from eliminating the potential temperature. Baking tau_t*dt into + ! x_t also means that the momentum-row P2theta*x_t term, once scaled + ! by const_u below, correctly carries tau_u*tau_t*dt^2*cp (i.e. Q22). call invoke( name="apply_discretely_eliminated_mixed_lhs", & setval_c( x_t, 0.0_r_solver ), & dg_inc_matrix_vector_kernel_type( x_t, x_uvw, Ptheta2 ), & - inc_aX_times_Y( minus_one, x_t, mt_lumped_inv ), & + inc_aX_times_Y( minus_const_t, x_t, mt_lumped_inv ), & setval_c( y_uvw, 0.0_r_solver ), & apply_mixed_lu_operator_kernel_type( y_uvw, x_uvw, x_t, xvec_p, & - mm_vel, p2theta, div_star, m2_diag ), & + mm_vel, p2theta, div_star, m2_diag, & + const_u ), & apply_elim_mixed_lp_operator_kernel_type( yvec_p, x_t, x_uvw, & xvec_p, m3_exner_star, & - q32_op, p3theta), & + q32_rho_op, p3theta, const_r ), & enforce_bc_kernel_type( y_uvw ) ) end if @@ -311,19 +332,27 @@ contains ! For analytic elimination: ! Q32 = tau*dt*M3^rho * D * rho^ref + ! and x_t = 0 - q32_op => get_eliminated_q32() + q32_rho_op => get_eliminated_q32_rho() q22_op => get_eliminated_q22() + q32_theta_op => get_eliminated_q32_theta() call q22u%initialise( vector_space = u_fs ) + call q32t_p%initialise( yvec_p%get_function_space() ) call invoke( name="analytic_elim_mixed_lhs", & setval_c( x_t, 0.0_r_solver ), & setval_c( y_uvw, 0.0_r_solver ), & apply_mixed_lu_operator_kernel_type( y_uvw, x_uvw, x_t, xvec_p, & - mm_vel, p2theta, div_star, m2_diag ), & + mm_vel, p2theta, div_star, m2_diag, & + const_u ), & apply_elim_mixed_lp_operator_kernel_type( yvec_p, x_t, x_uvw, & xvec_p, m3_exner_star, & - q32_op, p3theta), & + q32_rho_op, p3theta, const_r ), & + setval_c( q32t_p, 0.0_r_solver ), & + matrix_vector_kernel_type( q32t_p, x_uvw, q32_theta_op ), & + inc_a_times_X( const_t, q32t_p ), & + inc_X_plus_Y( yvec_p, q32t_p ), & setval_c( q22u, 0.0_r_solver ), & matrix_vector_kernel_type( q22u, x_uvw, q22_op ), & + inc_a_times_X( const_tu, q22u ), & inc_X_minus_Y( y_uvw, q22u ), & enforce_bc_kernel_type( y_uvw ) ) diff --git a/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 b/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 index 2454132228..eb830ce17d 100644 --- a/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 @@ -2,6 +2,9 @@ ! (C) Crown copyright 2018 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> @brief Preconditioner for the Euler equations system. @@ -115,7 +118,11 @@ module mixed_schur_preconditioner_alg_mod get_p3theta, & get_helm_diag, & get_Hb_lumped_inv, & - get_eliminated_q32 + get_eliminated_q32_rho, & + get_eliminated_q32_theta, & + get_tau_u_dt_cp, & + get_tau_t_dt, & + get_tau_r_dt use solver_constants_mod, only: get_normalisation_r_solver use limited_area_constants_mod, only: get_mask_r_solver use fs_continuity_mod, only: W2, W3, Wtheta @@ -319,12 +326,14 @@ contains ptheta2, & p3theta, & compound_div, & - q32_op + q32_rho_op, & + q32_theta_op type( r_solver_field_type ), pointer :: mt_lumped_inv, & h_diag, & Hb_lumped_inv - type( r_solver_field_type ) :: r_p, rhs_d - real( kind=r_solver ), parameter :: minus_one = -1.0_r_solver + type( r_solver_field_type ) :: r_p, rhs_d, r_p_theta + real( kind=r_solver ) :: const_r, const_t + real( kind=r_solver ) :: minus_const_r, minus_const_t type( r_solver_field_type ) :: rhs_uvw type( r_solver_field_type ), pointer :: w2_mask, & w3_mask @@ -371,6 +380,14 @@ contains compound_div => get_compound_div() Hb_lumped_inv => get_Hb_lumped_inv() + ! The SI operators are now assembled unscaled; re-apply the tau*dt scalings + ! here. The divergence term uses tau_r*dt and the potential temperature term + ! uses tau_t*dt. + const_r = get_tau_r_dt() + const_t = get_tau_t_dt() + minus_const_r = -const_r + minus_const_t = -const_t + ! Compute rhs_u terms call invoke( name = "compute_elim_helmholtz_ru", & X_times_Y( self%rhs_u, rhs_uvw, Hb_lumped_inv ) ) @@ -382,9 +399,17 @@ contains ! Compute H(rhs_u) if ( eliminate_variables == eliminate_variables_analytic ) then ! r_pi = rhs_pi - Q32*rhs_u - q32_op => get_eliminated_q32() + ! with the analytic Q32 = tau_r*dt*eliminated_q32_rho + ! + tau_t*dt*eliminated_q32_theta + q32_rho_op => get_eliminated_q32_rho() + q32_theta_op => get_eliminated_q32_theta() call r_p%initialise( rhs%get_function_space() ) - call invoke( dg_matrix_vector_kernel_type(r_p, self%rhs_u, q32_op), & + call r_p_theta%initialise( rhs%get_function_space() ) + call invoke( dg_matrix_vector_kernel_type(r_p, self%rhs_u, q32_rho_op), & + inc_a_times_X(const_r, r_p), & + dg_matrix_vector_kernel_type(r_p_theta, self%rhs_u, q32_theta_op), & + inc_a_times_X(const_t, r_p_theta), & + inc_X_plus_Y(r_p, r_p_theta), & X_minus_Y(rhs, rhs_p, r_p ) ) else ! r_pi = rhs_pi + P03*M0^-1*rhs_t + M3rho*M3^-1*rhs_r @@ -397,12 +422,12 @@ contains opt_apply_variable_hx_kernel_type( & rhs, self%rhs_u, mt_lumped_inv, rhs_d, & compound_div, p3theta, ptheta2, m3_rho_star, & - minus_one, rhs_p) ) + minus_const_r, minus_const_t, rhs_p) ) else call invoke( apply_variable_hx_kernel_type( & rhs, self%rhs_u, mt_lumped_inv, rhs_d, & compound_div, p3theta, ptheta2, m3_rho_star, & - minus_one), & + minus_const_r, minus_const_t), & inc_X_plus_Y(rhs, rhs_p) ) end if end if @@ -448,6 +473,7 @@ contains type( r_solver_field_type ) :: u_inc type(r_solver_field_type), pointer :: w2_mask integer( kind=i_def ) :: mesh_id + real( kind=r_solver ) :: const_u type(r_solver_field_type), pointer :: state_uv, & state_p, & @@ -470,6 +496,8 @@ contains u_normalisation => get_normalisation_r_solver(W2, mesh_id) div_star => get_div_star() Hb_lumped_inv => get_Hb_lumped_inv() + + const_u = get_tau_u_dt_cp() ! u' = ru + BC[HB * unorm * D * p'] if ( split_w ) then state_uv => state%get_field_from_position( isol_uv ) @@ -483,6 +511,7 @@ contains call uvw_norm%initialise( vector_space = self%rhs_u%get_function_space() ) call invoke( name = "compute_split_increments", & X_times_Y(uvw_norm, u_normalisation, Hb_lumped_inv), & + inc_a_times_X(const_u, uvw_norm), & setval_c(state_uv, 0.0_r_solver), & schur_backsub_kernel_type( state_uv, state_w, self%rhs_u, & exner_inc, div_star, & @@ -492,10 +521,11 @@ contains call u_inc%initialise( vector_space = self%rhs_u%get_function_space() ) call invoke( name = "compute_increments", & setval_c(u_inc, 0.0_r_solver), & - setval_X(u_inc, self%rhs_u), & scaled_matrix_vector_kernel_type(u_inc, exner_inc, & div_star, u_normalisation, & Hb_lumped_inv), & + inc_a_times_X(const_u, u_inc), & + inc_X_plus_Y(u_inc, self%rhs_u), & enforce_bc_kernel_type(u_inc) ) if ( limited_area ) then w2_mask => get_mask_r_solver(W2, mesh_id, prime_mesh_name) diff --git a/science/gungho/source/algorithm/solver/pressure_operator_alg_mod.x90 b/science/gungho/source/algorithm/solver/pressure_operator_alg_mod.x90 index a93ce877f3..b2522150bc 100644 --- a/science/gungho/source/algorithm/solver/pressure_operator_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/pressure_operator_alg_mod.x90 @@ -43,7 +43,10 @@ module pressure_operator_alg_mod get_ptheta2v, & get_p3theta, & get_helm_diag, & - get_hb_lumped_inv + get_hb_lumped_inv, & + get_tau_u_dt_cp, & + get_tau_t_dt, & + get_tau_r_dt use boundaries_config_mod, only: limited_area use base_mesh_config_mod, only: topology, topology_non_periodic use function_space_mod, only: function_space_type @@ -161,7 +164,7 @@ contains type(r_solver_field_type), pointer :: x_vec => null(), & y_vec => null() - real(kind=r_solver), parameter :: one = 1.0_r_solver + real(kind=r_solver) :: const_u, const_t, const_r integer(kind=i_def), parameter :: one_int = 1_i_def integer(kind=i_def) :: mesh_id logical(kind=l_def) :: lam_mesh @@ -201,6 +204,9 @@ contains p3theta => get_p3theta(self%level) u_normalisation => get_normalisation_r_solver(W2, mesh_id) hb_lumped_inv => get_hb_lumped_inv(self%level) + const_u = get_tau_u_dt_cp() ! tau_u*dt*cp: scales grad_p (from div_star) + const_t = get_tau_t_dt() ! tau_t*dt: scales the potential temp term + const_r = get_tau_r_dt() ! tau_r*dt: scales the divergence term call grad_p%initialise( hb_lumped_inv%get_function_space() ) if ( limited_area ) then w2_mask => get_mask_r_solver(W2, mesh_id, prime_mesh_name) @@ -209,23 +215,25 @@ contains scaled_matrix_vector_kernel_type(grad_p, x_vec, & div_star, hb_lumped_inv, & u_normalisation), & + inc_a_times_X( const_u, grad_p ), & enforce_bc_kernel_type( grad_p ), & inc_X_times_Y( grad_p, w2_mask ), & apply_variable_hx_kernel_type(y_vec, grad_p, & mt_lumped_inv, x_vec, & compound_div, p3theta, ptheta2, & - m3_exner_star, one) ) + m3_exner_star, const_r, const_t) ) else call invoke( setval_c( grad_p, 0.0_r_solver ), & setval_c( y_vec, 0.0_r_solver ), & scaled_matrix_vector_kernel_type(grad_p, x_vec, & div_star, hb_lumped_inv, & u_normalisation), & + inc_a_times_X( const_u, grad_p ), & enforce_bc_kernel_type( grad_p ), & apply_variable_hx_kernel_type(y_vec, grad_p, & mt_lumped_inv, x_vec, & compound_div, p3theta, ptheta2, & - m3_exner_star, one) ) + m3_exner_star, const_r, const_t) ) end if if ( normalise ) then h_diag => get_helm_diag(self%level) diff --git a/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 b/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 index bb50664c54..dc9e825388 100644 --- a/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 @@ -2,6 +2,9 @@ ! (C) Crown copyright 2018 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> @brief Semi-Implicit solver for the gungho dynamical core. @@ -508,7 +511,9 @@ contains get_p3theta, & get_ptheta2, & get_eliminated_q2t, & - get_eliminated_q3t + get_eliminated_q3t, & + get_tau_u_dt_cp, & + get_tau_t_dt use matrix_vector_kernel_mod, only: matrix_vector_kernel_type use dg_matrix_vector_kernel_mod, only: dg_matrix_vector_kernel_type use dg_inc_matrix_vector_kernel_mod, & @@ -571,6 +576,7 @@ contains inc_theta_rdef, & inc_rho_rdef real( kind=r_solver ) :: tau_r_dt + real( kind=r_solver ) :: const_u, const_t integer( kind=i_def ) :: mesh_id type(mesh_type), pointer :: mesh @@ -585,6 +591,13 @@ contains mesh_id = state(igh_p)%get_mesh_id() mesh => state(igh_p)%get_mesh() + ! The SI operators are assembled unscaled; the tau*dt scalings are applied + ! at the point of use. The momentum-row projection operators (p2theta, q2t) + ! carry tau_u*dt*cp and the potential-temperature projection (ptheta2) + ! carries tau_t*dt. + const_u = get_tau_u_dt_cp() + const_t = get_tau_t_dt() + ! Normalise theta & u residual ! @TODO #416: can these be at r_solver precision? t_normalisation => get_normalisation(Wtheta, mesh_id) @@ -646,8 +659,15 @@ contains if ( eliminate_variables == eliminate_variables_analytic ) then q2t_op => get_eliminated_q2t() q3t_op => get_eliminated_q3t() + ! q2t is assembled unscaled, so re-apply the scaling tau_u*dt*cp + ! to its contribution to rhs_u. (q3t is the EOS operator p3theta + ! and is applied unscaled.) + call rhs_tmp%initialise( vector_space = rhs_rsol(igh_u)%get_function_space() ) call invoke( dg_inc_matrix_vector_kernel_type( rhs_rsol(igh_p), rhs_rsol(igh_t), q3t_op ), & - matrix_vector_kernel_type( rhs_rsol(igh_u), rhs_rsol(igh_t), q2t_op ), & + setval_c(rhs_tmp, 0.0_r_solver), & + matrix_vector_kernel_type( rhs_tmp, rhs_rsol(igh_t), q2t_op ), & + inc_a_times_X( const_u, rhs_tmp ), & + inc_X_plus_Y( rhs_rsol(igh_u), rhs_tmp ), & enforce_bc_kernel_type( rhs_rsol(igh_u) ) ) else p3theta => get_p3theta() @@ -657,9 +677,11 @@ contains ! Set rhs_u = rhs_u + M_2^{diag} * P_{2,theta} * rhs_theta call rhs_tmp%initialise( vector_space = rhs_rsol(igh_u)%get_function_space() ) p2theta => get_p2theta() + ! p2theta is assembled unscaled, so apply the scaling tau_u*dt*cp call invoke( setval_c(rhs_tmp, 0.0_r_solver), & matrix_vector_kernel_type( rhs_tmp, rhs_rsol(igh_t), p2theta ), & inc_X_times_Y(rhs_tmp, m2_diag), & + inc_a_times_X(const_u, rhs_tmp), & inc_X_plus_Y(rhs_rsol(igh_u), rhs_tmp), & enforce_bc_kernel_type( rhs_rsol(igh_u) ) ) end if @@ -724,8 +746,10 @@ contains ptheta2 => get_ptheta2() mt_lumped_inv => get_normalisation_r_solver(Wtheta, mesh_id) call rhs_tmp%initialise( vector_space = rhs_rsol(igh_t)%get_function_space() ) + ! ptheta2 is assembled unscaled, so apply the scaling tau_t*dt call invoke( setval_c(rhs_tmp, 0.0_r_solver), & - dg_inc_matrix_vector_kernel_type(rhs_tmp, inc_uvw_rsol, ptheta2)) + dg_inc_matrix_vector_kernel_type(rhs_tmp, inc_uvw_rsol, ptheta2), & + inc_a_times_X(const_t, rhs_tmp)) if ( eliminate_variables == eliminate_variables_analytic ) then call invoke( real_to_real_x(rhs_rdef, rhs_tmp) ) diff --git a/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 b/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 index 031008b871..c0aa295990 100644 --- a/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 @@ -2,6 +2,8 @@ ! Copyright (c) 2017, Met Office, on behalf of HMSO and Queen's Printer ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Compute the locally assembled SI operators. @@ -65,7 +67,8 @@ module si_operators_alg_mod type(r_solver_operator_type), allocatable, dimension(:), target :: p3theta type(r_solver_operator_type), allocatable, dimension(:), target :: compound_div type(r_solver_operator_type), allocatable, dimension(:), target :: eliminated_q22 - type(r_solver_operator_type), allocatable, dimension(:), target :: eliminated_q32 + type(r_solver_operator_type), allocatable, dimension(:), target :: eliminated_q32_rho + type(r_solver_operator_type), allocatable, dimension(:), target :: eliminated_q32_theta type(r_solver_operator_type), target :: eliminated_q2t type(r_solver_field_type), allocatable, dimension(:), target :: rho_at_u @@ -75,6 +78,16 @@ module si_operators_alg_mod type(r_solver_field_type), allocatable, dimension(:), target :: Hb_lumped_inv integer(kind=i_def) :: multigrid_levels + ! Scaling constants (tau*dt factors) that are applied at the point of use of + ! the SI operators. The operators themselves are assembled unscaled, so any + ! algorithm that applies them must multiply in the appropriate constant. These + ! are stored here (set in compute_si_operators) and exposed through the + ! get_tau_* accessors so that all consumers use identical values. + real(kind=r_solver) :: tau_u_dt_cp = 0.0_r_solver + real(kind=r_solver) :: tau_t_dt = 0.0_r_solver + real(kind=r_solver) :: tau_r_dt = 0.0_r_solver + real(kind=r_solver) :: tau_tu_dt2_cp = 0.0_r_solver + ! Size of the Helmholtz stencil: 1 Central cell, 4 horizontal neighbours, 2 ! cells above (k+1,k+2) and 2 cells below (k-1,k-2) integer(kind=i_def), parameter :: helmholtz_stencil_size = 9 @@ -110,9 +123,14 @@ module si_operators_alg_mod public :: get_Hb_lumped_inv public :: get_Helmholtz_operator public :: get_eliminated_q22 - public :: get_eliminated_q32 + public :: get_eliminated_q32_rho + public :: get_eliminated_q32_theta public :: get_eliminated_q2t public :: get_eliminated_q3t + public :: get_tau_u_dt_cp + public :: get_tau_t_dt + public :: get_tau_r_dt + public :: get_tau_tu_dt2_cp !F90 function overloading interface get_m3_rho_star @@ -171,9 +189,13 @@ module si_operators_alg_mod module procedure get_eliminated_q22_fine, get_eliminated_q22_mg end interface get_eliminated_q22 - interface get_eliminated_q32 - module procedure get_eliminated_q32_fine, get_eliminated_q32_mg - end interface get_eliminated_q32 + interface get_eliminated_q32_rho + module procedure get_eliminated_q32_rho_fine, get_eliminated_q32_rho_mg + end interface get_eliminated_q32_rho + + interface get_eliminated_q32_theta + module procedure get_eliminated_q32_theta_fine, get_eliminated_q32_theta_mg + end interface get_eliminated_q32_theta contains @@ -216,7 +238,8 @@ contains allocate(p3theta(multigrid_levels)) allocate(compound_div(multigrid_levels)) allocate(eliminated_q22(multigrid_levels)) - allocate(eliminated_q32(multigrid_levels)) + allocate(eliminated_q32_rho(multigrid_levels)) + allocate(eliminated_q32_theta(multigrid_levels)) !fields allocate(rho_at_u(multigrid_levels)) @@ -256,7 +279,8 @@ contains call p3theta(i)%initialise( w3_fs, wt_fs ) call compound_div(i)%initialise( w3_fs, w2_fs ) call eliminated_q22(i)%initialise( w2_fs, w2_fs ) - call eliminated_q32(i)%initialise( w3_fs, w2_fs ) + call eliminated_q32_rho(i)%initialise( w3_fs, w2_fs ) + call eliminated_q32_theta(i)%initialise( w3_fs, w2_fs ) call rho_at_u(i)%initialise(vector_space = w2_fs) if ( preconditioner == preconditioner_tridiagonal .or. & @@ -344,8 +368,12 @@ contains deallocate(eliminated_q22) end if - if(allocated(eliminated_q32)) then - deallocate(eliminated_q32) + if(allocated(eliminated_q32_rho)) then + deallocate(eliminated_q32_rho) + end if + + if(allocated(eliminated_q32_theta)) then + deallocate(eliminated_q32_theta) end if end subroutine final_si_operators @@ -440,7 +468,6 @@ contains type(function_space_type), pointer :: w3_fs => null() type(function_space_type), pointer :: w2_fs => null() type(function_space_type), pointer :: wt_fs => null() - real(kind=r_solver) :: const1, const2, const3 integer(kind=i_def), parameter :: imone = -1_i_def class(reference_element_type), pointer :: reference_element =>null() type(mesh_type), pointer :: mesh => null() @@ -448,6 +475,7 @@ contains type(r_solver_field_type), pointer :: u_normalisation => null(), & t_normalisation => null() type(r_solver_field_type) :: m2_u, theta_adv_term + type(r_solver_field_type) :: scaled_ones integer(kind=i_def) :: level, i type(r_solver_field_type) :: rsol_w2_mask type(field_type), pointer :: w2_mask => null() @@ -478,6 +506,11 @@ contains dt = real(model_clock%get_seconds_per_step(), r_def) + tau_u_dt_cp = real(tau_u*dt*cp, r_solver) + tau_t_dt = real(tau_t*dt, r_solver) + tau_r_dt = real(tau_r*dt, r_solver) + tau_tu_dt2_cp = real(tau_t*tau_u*dt**2*cp, r_solver) + mesh => exner_ref%get_mesh() w3_fs => exner_ref%get_function_space() @@ -555,7 +588,6 @@ contains end if m3_inv => get_inverse_mass_matrix_r_solver( W3, mesh%get_id() ) - const1 = real(tau_t*tau_u*dt**2*cp, r_solver) select case(eos_method) case(eos_method_sampled) call invoke( sample_eos_operators_kernel_type(m3_exner_star(level), m3_rho_star(level), & @@ -571,7 +603,7 @@ contains if ( eliminate_variables == eliminate_variables_analytic ) then call invoke( eliminated_theta_q22_kernel_type(eliminated_q22(level), theta, & exner_in_wth, u_normalisation, & - chi, panel_id, const1, qr) ) + chi, panel_id, qr) ) end if ! Compute rho^ref at u nodal points @@ -599,61 +631,55 @@ contains element_order_v+2, quadrature_rule) ! Cell kernels - const1 = real(tau_u*dt*cp, r_solver) - const2 = real(tau_t*dt, r_solver) - const3 = real(tau_r*dt, r_solver) div => get_im3_div_r_solver(mesh%get_id()) if ( p2theta_vert ) then ! The projection operators are restricted to use the vertical only call invoke( weighted_proj_2thetav_kernel_type(p2theta(level), exner, & moist_dyn_factor, & - const1, & element_order_h, & element_order_v, qr), & weighted_proj_theta2v_kernel_type(ptheta2(level), theta, & - const2, & element_order_h, & element_order_v, qr) ) else ! The projection operators use horizonal and vertical call invoke( weighted_proj_2theta_kernel_type(p2theta(level), exner, & - moist_dyn_factor, const1, qr), & - weighted_proj_theta2_kernel_type(ptheta2(level), theta, const2, qr), & + moist_dyn_factor, qr), & + weighted_proj_theta2_kernel_type(ptheta2(level), theta, qr), & weighted_proj_theta2_bd_kernel_type(ptheta2(level), theta, & - req_stencil_depth, const2, qrf), & + req_stencil_depth, qrf), & weighted_proj_2theta_bd_kernel_type(p2theta(level), exner, & req_stencil_depth, & - moist_dyn_factor, const1, qrf) ) + moist_dyn_factor, qrf) ) end if call invoke( name = "cell_and_boundary_kernels_vert", & - weighted_div_kernel_type(div_star(level), theta_v, const1, qr), & + weighted_div_kernel_type(div_star(level), theta_v, qr), & weighted_proj_theta2_vert_kernel_type(ptheta2v(level), theta, & - const2, element_order_h, & + element_order_h, & element_order_v, qr), & ! Boundary kernels weighted_div_bd_kernel_type(div_star(level), theta_v, req_stencil_depth, & - const1, qrf), & + qrf), & ! Compound operators compound_operator_kernel_type( compound_div(level), m3_rho_star(level), & - div, rho_at_u(level), const3), & - operator_setval_x_kernel_type( eliminated_q32(level), compound_div(level) ) ) + div, rho_at_u(level), 1.0_r_solver), & + operator_setval_x_kernel_type( eliminated_q32_rho(level), compound_div(level) ) ) if ( level == 1 .and. eliminate_variables == eliminate_variables_analytic ) then call invoke( eliminated_theta_q2t_kernel_type(eliminated_q2t, u_normalisation, & - exner_in_wth, const1, qr) ) + exner_in_wth, qr) ) end if if ( eliminate_variables == eliminate_variables_analytic ) then - ! Add on contribution to q32 from eliminating theta + ! Add the contribution to q32 from eliminating theta into seperate operator select case(eos_method) case(eos_method_sampled) detj_at_w3 => get_detj_at_w3_r_solver( mesh%get_id() ) - call invoke( sample_eliminated_theta_q32_kernel_type(eliminated_q32(level), theta, detj_at_w3 , & - const2) ) + call invoke( sample_eliminated_theta_q32_kernel_type(eliminated_q32_theta(level), theta, detj_at_w3 ) ) case(eos_method_projected) - call invoke( project_eliminated_theta_q32_kernel_type(eliminated_q32(level), theta, & - m3_inv, const2, qr ) ) + call invoke( project_eliminated_theta_q32_kernel_type(eliminated_q32_theta(level), theta, & + m3_inv, qr ) ) case default call log_event( "Gungho: Unrecognised method used for equation of state", LOG_LEVEL_ERROR ) end select @@ -673,28 +699,32 @@ contains call m2_u%initialise( vector_space = w2_fs ) call ones%initialise( vector_space = w2_fs ) + call scaled_ones%initialise( vector_space = w2_fs ) if ( eliminate_variables == eliminate_variables_analytic ) then - ! H_B = (Nu * Mu - Q22) * ones + ! H_B = (Nu * Mu - tau_tu_dt2_cp * Q22) * ones call invoke( name = "compute_analytic_lumped_inverse_h_b_operator", & setval_c(ones, 1.0_r_solver), & + setval_c(scaled_ones, tau_tu_dt2_cp), & setval_c(Hb_lumped_inv(level), 0.0_r_solver), & setval_c(m2_u, 0.0_r_solver), & matrix_vector_kernel_type(Hb_lumped_inv(level), ones, m2_r_solver), & inc_X_times_Y(Hb_lumped_inv(level), u_normalisation), & - matrix_vector_kernel_type(m2_u, ones, eliminated_q22(level)), & + matrix_vector_kernel_type(m2_u, scaled_ones, eliminated_q22(level)), & inc_X_minus_Y(Hb_lumped_inv(level), m2_u), & inc_X_powint_n(Hb_lumped_inv(level), imone) ) else - ! H_B = Nu * ( Mu + P2t * Mt^-1 * Pt2v ) * ones + ! H_B = Nu * ( Mu + tau_u_dt_cp * P2t * Mt^-1 * (tau_t_dt * Pt2v) ) * ones call theta_adv_term%initialise( vector_space = wt_fs ) call invoke( name = "compute_lumped_inverse_h_b_operator", & setval_c(ones, 1.0_r_solver), & + setval_c(scaled_ones, tau_t_dt), & setval_c(Hb_lumped_inv(level), 0.0_r_solver), & setval_c(theta_adv_term, 0.0_r_solver), & dg_inc_matrix_vector_kernel_type( & - theta_adv_term, ones, ptheta2v(level)), & + theta_adv_term, scaled_ones, ptheta2v(level)), & inc_X_times_Y(theta_adv_term, t_normalisation), & + inc_a_times_X(tau_u_dt_cp, theta_adv_term), & matrix_vector_kernel_type( & Hb_lumped_inv(level), theta_adv_term, & p2theta(level) ), & @@ -722,8 +752,10 @@ contains u_normalisation, & div_star(level), & m3_exner_star(level), & - eliminated_q32(level), & - rsol_w2_mask) + eliminated_q32_rho(level), & + eliminated_q32_theta(level), & + rsol_w2_mask, & + tau_u_dt_cp, tau_r_dt, tau_t_dt) else call invoke_helmholtz_operator_kernel_type( Helmholtz_operator(:,level), & @@ -736,7 +768,8 @@ contains compound_div(level), & m3_exner_star(level), & p3theta(level), & - rsol_w2_mask) + rsol_w2_mask, & + tau_u_dt_cp, tau_t_dt, tau_r_dt) end if end if @@ -1108,25 +1141,45 @@ contains op => eliminated_q22(level) end function get_eliminated_q22_mg - !> @brief Function to return a pointer to the q32 operator + !> @brief Function to return a pointer to the q32 (density part) operator !! on the finest multigrid level. !> @return The operator - function get_eliminated_q32_fine() result(op) + function get_eliminated_q32_rho_fine() result(op) implicit none type(r_solver_operator_type), pointer :: op - op => eliminated_q32(1) - end function get_eliminated_q32_fine + op => eliminated_q32_rho(1) + end function get_eliminated_q32_rho_fine - !> @brief Function to return a pointer to the q32 operator + !> @brief Function to return a pointer to the q32 (density part) operator !! on the specified multigrid level. !> @param[in] level The multigrid level !> @return The operator - function get_eliminated_q32_mg(level) result(op) + function get_eliminated_q32_rho_mg(level) result(op) + implicit none + integer(kind=i_def), intent(in) :: level + type(r_solver_operator_type), pointer :: op + op => eliminated_q32_rho(level) + end function get_eliminated_q32_rho_mg + + !> @brief Function to return a pointer to the theta-elimination + !! contribution to q32 on the finest multigrid level. + !> @return The operator + function get_eliminated_q32_theta_fine() result(op) + implicit none + type(r_solver_operator_type), pointer :: op + op => eliminated_q32_theta(1) + end function get_eliminated_q32_theta_fine + + !> @brief Function to return a pointer to the theta-elimination + !! contribution to q32 on the specified multigrid level. + !> @param[in] level The multigrid level + !> @return The operator + function get_eliminated_q32_theta_mg(level) result(op) implicit none integer(kind=i_def), intent(in) :: level type(r_solver_operator_type), pointer :: op - op => eliminated_q32(level) - end function get_eliminated_q32_mg + op => eliminated_q32_theta(level) + end function get_eliminated_q32_theta_mg !> @brief Function to return a pointer to the q2t operator. !> @return The operator @@ -1144,4 +1197,40 @@ contains op => p3theta(1) end function get_eliminated_q3t + !> @brief Return the tau_u*dt*cp scaling constant applied to the div_star, + !! p2theta and q2t operators at their point of use. + !> @return The scaling constant + function get_tau_u_dt_cp() result(val) + implicit none + real(kind=r_solver) :: val + val = tau_u_dt_cp + end function get_tau_u_dt_cp + + !> @brief Return the tau_t*dt scaling constant applied to the ptheta2, + !! ptheta2v and q32_theta operators at their point of use. + !> @return The scaling constant + function get_tau_t_dt() result(val) + implicit none + real(kind=r_solver) :: val + val = tau_t_dt + end function get_tau_t_dt + + !> @brief Return the tau_r*dt scaling constant applied to the compound_div + !! and q32 operators at their point of use. + !> @return The scaling constant + function get_tau_r_dt() result(val) + implicit none + real(kind=r_solver) :: val + val = tau_r_dt + end function get_tau_r_dt + + !> @brief Return the tau_t*tau_u*dt**2*cp scaling constant applied to the + !! analytic q22 operator at its point of use. + !> @return The scaling constant + function get_tau_tu_dt2_cp() result(val) + implicit none + real(kind=r_solver) :: val + val = tau_tu_dt2_cp + end function get_tau_tu_dt2_cp + end module si_operators_alg_mod diff --git a/science/gungho/source/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod.F90 b/science/gungho/source/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod.F90 index da306d4598..ee184047b5 100644 --- a/science/gungho/source/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (C) Crown copyright 2021 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> @brief Apply the semi-implicit mixed operator to the equation of state. @@ -19,6 +21,7 @@ module apply_elim_mixed_lp_operator_kernel_mod use argument_mod, only : arg_type, & GH_FIELD, GH_OPERATOR, & GH_READ, GH_WRITE, & + GH_SCALAR, & GH_REAL, CELL_COLUMN use constants_mod, only : r_solver, i_def use kernel_mod, only : kernel_type @@ -34,14 +37,15 @@ module apply_elim_mixed_lp_operator_kernel_mod type, public, extends(kernel_type) :: apply_elim_mixed_lp_operator_kernel_type private - type(arg_type) :: meta_args(7) = (/ & + type(arg_type) :: meta_args(8) = (/ & arg_type(GH_FIELD, GH_REAL, GH_WRITE, W3), & ! lhs_exner arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & ! theta' arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & ! u' arg_type(GH_FIELD, GH_REAL, GH_READ, W3), & ! exner' arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W3), & ! M3^exner - arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W2), & ! Q32 - arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, Wtheta) & ! P3theta + arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W2), & ! Q32_rho + arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, Wtheta),& ! P3theta + arg_type(GH_SCALAR, GH_REAL, GH_READ) & ! const_r /) integer :: operates_on = CELL_COLUMN contains @@ -66,10 +70,16 @@ module apply_elim_mixed_lp_operator_kernel_mod !> @param[in] ncell1 Total number of cells for the m3exner operator !> @param[in] m3exner W3 mass matrix weighted by the reference Exner pressure !> @param[in] ncell2 Total number of cells for the m3rho operator -!> @param[in] q32 Projection matrix from W2 to W3 +!> @param[in] q32_rho Projection matrix from W2 to W3 (density +!! contribution to Q32; the theta contribution is +!! carried instead through the p3theta*theta' term, +!! since theta' already carries the tau_t*dt scaling +!! when discretely eliminated -- see call sites) !> @param[in] ncell3 Total number of cells for the p3theta operator !> @param[in] p3theta Projection from Wtheta to W3 weighted by the reference !! potential temperature +!> @param[in] const_r tau_r*dt scaling constant applied to the Q32 +!! (density) contribution to the equation of state !> @param[in] ndf_w3 Number of degrees of freedom per cell for the density space !> @param[in] undf_w3 Unique number of degrees of freedom for the density space !> @param[in] map_w3 Dofmap for the cell at the base of the column for the @@ -86,8 +96,9 @@ subroutine apply_elim_mixed_lp_operator_code(cell, & lhs_exner, & theta, u, exner, & ncell1, m3exner, & - ncell2, q32, & + ncell2, q32_rho, & ncell3, p3theta, & + const_r, & ndf_w3, undf_w3, map_w3, & ndf_wt, undf_wt, map_wt, & ndf_w2, undf_w2, map_w2) @@ -109,10 +120,11 @@ subroutine apply_elim_mixed_lp_operator_code(cell, & real(kind=r_solver), dimension(undf_wt), intent(in) :: theta real(kind=r_solver), dimension(undf_w3), intent(in) :: exner real(kind=r_solver), dimension(undf_w2), intent(in) :: u + real(kind=r_solver), intent(in) :: const_r ! Operators real(kind=r_solver), dimension(ncell1, ndf_w3, ndf_w3), intent(in) :: m3exner - real(kind=r_solver), dimension(ncell2, ndf_w3, ndf_w2), intent(in) :: q32 + real(kind=r_solver), dimension(ncell2, ndf_w3, ndf_w2), intent(in) :: q32_rho real(kind=r_solver), dimension(ncell3, ndf_w3, ndf_wt), intent(in) :: p3theta ! Internal variables @@ -137,7 +149,7 @@ subroutine apply_elim_mixed_lp_operator_code(cell, & ! LHS for this element lhs_e = matmul(m3exner(ik,:,:), p_e) & - matmul(p3theta(ik,:,:), t_e) & - + matmul(q32(ik,:,:), u_e) + + const_r*matmul(q32_rho(ik,:,:), u_e) do df = 1, ndf_w3 lhs_exner(map_w3(df)+k) = lhs_e(df) end do diff --git a/science/gungho/source/kernel/solver/apply_mixed_lu_operator_kernel_mod.F90 b/science/gungho/source/kernel/solver/apply_mixed_lu_operator_kernel_mod.F90 index 326e395505..e775ea193c 100644 --- a/science/gungho/source/kernel/solver/apply_mixed_lu_operator_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/apply_mixed_lu_operator_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (C) Crown copyright 2021 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> @brief Apply the semi-implicit mixed operator to the momentum equation. @@ -10,6 +12,7 @@ module apply_mixed_lu_operator_kernel_mod use argument_mod, only : arg_type, & GH_FIELD, GH_OPERATOR, & GH_READ, GH_INC, & + GH_SCALAR, & GH_REAL, CELL_COLUMN use constants_mod, only : r_solver, i_def use kernel_mod, only : kernel_type @@ -24,7 +27,7 @@ module apply_mixed_lu_operator_kernel_mod type, public, extends(kernel_type) :: apply_mixed_lu_operator_kernel_type private - type(arg_type) :: meta_args(8) = (/ & + type(arg_type) :: meta_args(9) = (/ & arg_type(GH_FIELD, GH_REAL, GH_INC, W2), & ! lhs_u arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & ! u' arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & ! theta' @@ -32,7 +35,8 @@ module apply_mixed_lu_operator_kernel_mod arg_type(GH_OPERATOR, GH_REAL, GH_READ, W2, W2), & ! Mu^{c,d} arg_type(GH_OPERATOR, GH_REAL, GH_READ, W2, Wtheta), & ! P2theta arg_type(GH_OPERATOR, GH_REAL, GH_READ, W2, W3), & ! grad - arg_type(GH_FIELD, GH_REAL, GH_READ, W2) & ! norm_u + arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & ! norm_u + arg_type(GH_SCALAR, GH_REAL, GH_READ) & ! const_u /) integer :: operates_on = CELL_COLUMN contains @@ -60,6 +64,9 @@ module apply_mixed_lu_operator_kernel_mod !! @param[in] ncell3 Total number of cells for the grad operator !! @param[in] grad Generalised gradient operator for the momentum equation !! @param[in] norm_u Normalisation field for the momentum equation +!! @param[in] const_u tau_u*dt*cp scaling constant applied to the pressure +!! gradient (grad) and potential temperature projection +!! (P2theta) contributions to the momentum equation !! @param[in] ndf_w2 number of degrees of freedom per cell for the wind space !! @param[in] undf_w2 Unique number of degrees of freedom for the wind space !! @param[in] map_w2 Dofmap for the cell at the base of the column for the wind space @@ -81,6 +88,7 @@ subroutine apply_mixed_lu_operator_code(cell, & ncell2, P2theta, & ncell3, grad, & norm_u, & + const_u, & ndf_w2, undf_w2, map_w2, & ndf_wt, undf_wt, map_wt, & ndf_w3, undf_w3, map_w3) @@ -102,6 +110,7 @@ subroutine apply_mixed_lu_operator_code(cell, & real(kind=r_solver), dimension(undf_w2), intent(in) :: wind, norm_u real(kind=r_solver), dimension(undf_wt), intent(in) :: theta real(kind=r_solver), dimension(undf_w3), intent(in) :: exner + real(kind=r_solver), intent(in) :: const_u ! Operators real(kind=r_solver), dimension(ncell1, ndf_w2, ndf_w2), intent(in) :: mu_cd @@ -125,14 +134,14 @@ subroutine apply_mixed_lu_operator_code(cell, & do df2 = 1, ndf_wt do k = 0, nlayers-1 ik = (cell-1)*nlayers + k + 1 - lhs_t(k) = lhs_t(k) - p2theta(ik,df1,df2) * theta(map_wt(df2)+k) + lhs_t(k) = lhs_t(k) - const_u * p2theta(ik,df1,df2) * theta(map_wt(df2)+k) end do end do do df2 = 1, ndf_w3 do k = 0, nlayers-1 ik = (cell-1)*nlayers + k + 1 - lhs_t(k) = lhs_t(k) - grad(ik,df1,df2) * exner(map_w3(df2)+k) + lhs_t(k) = lhs_t(k) - const_u * grad(ik,df1,df2) * exner(map_w3(df2)+k) end do end do diff --git a/science/gungho/source/kernel/solver/apply_mixed_u_operator_kernel_mod.F90 b/science/gungho/source/kernel/solver/apply_mixed_u_operator_kernel_mod.F90 index fb51ad1199..2b5c1d1fa8 100644 --- a/science/gungho/source/kernel/solver/apply_mixed_u_operator_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/apply_mixed_u_operator_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (C) Crown copyright Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> @brief Compute the LHS of the semi-implicit system for the horizontal velocity: @@ -13,6 +15,7 @@ module apply_mixed_u_operator_kernel_mod GH_FIELD, GH_OPERATOR, & GH_READ, & GH_WRITE, & + GH_SCALAR, & GH_REAL, CELL_COLUMN use constants_mod, only : r_solver, i_def use kernel_mod, only : kernel_type @@ -27,14 +30,15 @@ module apply_mixed_u_operator_kernel_mod type, public, extends(kernel_type) :: apply_mixed_u_operator_kernel_type private - type(arg_type) :: meta_args(7) = (/ & + type(arg_type) :: meta_args(8) = (/ & arg_type(GH_FIELD, GH_REAL, GH_WRITE, W2broken), & ! lhs_uv arg_type(GH_FIELD, GH_REAL, GH_READ, W2h), & ! uv' arg_type(GH_FIELD, GH_REAL, GH_READ, W2v), & ! w' arg_type(GH_FIELD, GH_REAL, GH_READ, W3), & ! exner' arg_type(GH_OPERATOR, GH_REAL, GH_READ, W2, W2), & ! Mu^{c,d} arg_type(GH_OPERATOR, GH_REAL, GH_READ, W2, W3), & ! grad - arg_type(GH_FIELD, GH_REAL, GH_READ, W2) & ! norm_u + arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & ! norm_u + arg_type(GH_SCALAR, GH_REAL, GH_READ) & ! const_u /) integer :: operates_on = CELL_COLUMN contains @@ -60,6 +64,8 @@ module apply_mixed_u_operator_kernel_mod !> @param[in] ncell2 Total number of cells for the grad operator !> @param[in] grad Generalised gradient operator for the momentum equation !> @param[in] norm_u Normalisation field for the momentum equation +!> @param[in] const_u tau_u*dt*cp scaling constant applied to the pressure +!! gradient (grad) contribution to the momentum equation !> @param[in] ndf_w2hb number of degrees of freedom per cell for the broken horizontal wind space !> @param[in] undf_w2hb unique number of degrees of freedom for the broken horizontal wind space !> @param[in] map_w2hb dofmap for the cell at the base of the column for the broken horizontal wind space @@ -83,6 +89,7 @@ subroutine apply_mixed_u_operator_code(cell, & ncell1, mu_cd, & ncell2, grad, & norm_u, & + const_u, & ndf_w2hb, undf_w2hb, map_w2hb, & ndf_w2h, undf_w2h, map_w2h, & ndf_w2v, undf_w2v, map_w2v, & @@ -111,6 +118,7 @@ subroutine apply_mixed_u_operator_code(cell, & real(kind=r_solver), dimension(undf_w2v), intent(in) :: wind_w real(kind=r_solver), dimension(undf_w2), intent(in) :: norm_u real(kind=r_solver), dimension(undf_w3), intent(in) :: exner + real(kind=r_solver), intent(in) :: const_u ! Operators real(kind=r_solver), dimension(ncell1, ndf_w2, ndf_w2), intent(in) :: mu_cd @@ -130,7 +138,7 @@ subroutine apply_mixed_u_operator_code(cell, & do df = 1, ndf_w2h iw2h = map_w2hb(df) iw2 = map_w2(df) - lhs_uv(iw2h:iw2h+nm1) = - norm_u(iw2:iw2+nm1) & + lhs_uv(iw2h:iw2h+nm1) = - const_u*norm_u(iw2:iw2+nm1) & *grad(ij:ij+nm1, df, 1)*exner(iw3:iw3+nm1) end do do df2 = 1, ndf_w2h diff --git a/science/gungho/source/kernel/solver/apply_mixed_wp_operator_kernel_mod.F90 b/science/gungho/source/kernel/solver/apply_mixed_wp_operator_kernel_mod.F90 index afa1f1f7df..db805a058f 100644 --- a/science/gungho/source/kernel/solver/apply_mixed_wp_operator_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/apply_mixed_wp_operator_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (C) Crown copyright Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> @brief Compute the LHS of the semi-implicit system for the @@ -15,6 +17,7 @@ module apply_mixed_wp_operator_kernel_mod GH_FIELD, GH_OPERATOR, & GH_READ, & GH_WRITE, & + GH_SCALAR, & GH_REAL, CELL_COLUMN use constants_mod, only : r_solver, i_def use kernel_mod, only : kernel_type @@ -28,7 +31,7 @@ module apply_mixed_wp_operator_kernel_mod !------------------------------------------------------------------------------- type, public, extends(kernel_type) :: apply_mixed_wp_operator_kernel_type private - type(arg_type) :: meta_args(14) = (/ & + type(arg_type) :: meta_args(17) = (/ & arg_type(GH_FIELD, GH_REAL, GH_WRITE, W2v), & ! lhs_w arg_type(GH_FIELD, GH_REAL, GH_WRITE, W3), & ! lhs_p arg_type(GH_FIELD, GH_REAL, GH_READ, W2h), & ! uv' @@ -41,8 +44,11 @@ module apply_mixed_wp_operator_kernel_mod arg_type(GH_OPERATOR, GH_REAL, GH_READ, W2, W3), & ! grad arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & ! norm_u arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W3), & ! m3p - arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W2), & ! q32 - arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, Wtheta) & ! p3t + arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W2), & ! q32_rho + arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, Wtheta), & ! p3t + arg_type(GH_SCALAR, GH_REAL, GH_READ), & ! const_u + arg_type(GH_SCALAR, GH_REAL, GH_READ), & ! const_t + arg_type(GH_SCALAR, GH_REAL, GH_READ) & ! const_r /) integer :: operates_on = CELL_COLUMN contains @@ -76,10 +82,20 @@ module apply_mixed_wp_operator_kernel_mod !> @param[in] norm_u Normalisation field for the momentum equation !> @param[in] ncell4 Total number of cells for the m3p operator !> @param[in] m3p Weighted mass matrix for the W3 space -!> @param[in] ncell5 Total number of cells for the q32 operator -!> @param[in] q32 Projection operator from W2 to W3 +!> @param[in] ncell5 Total number of cells for the q32_rho operator +!> @param[in] q32_rho Projection operator from W2 to W3 (density +!! contribution to Q32; the theta contribution +!! arrives via p3t*t_col, since t_col already +!! carries the tau_t*dt scaling) !> @param[in] ncell6 Total number of cells for the p3t operator !> @param[in] p3t Projection operator from W2 to Wtheta +!> @param[in] const_u tau_u*dt*cp scaling constant applied to the pressure +!! gradient (grad) and potential temperature projection +!! (P2theta) contributions to the vertical momentum equation +!> @param[in] const_t tau_t*dt scaling constant applied to the eliminated +!! potential temperature increment t = -Mt^-1*Pt2*u +!> @param[in] const_r tau_r*dt scaling constant applied to the Q32 +!! (density) contribution to the equation of state !> @param[in] ndf_w2v Number of degrees of freedom per cell for the vertical wind space !> @param[in] undf_w2v Unique number of degrees of freedom for the vertical wind space !> @param[in] map_w2v Dofmap for the cell at the base of the column for the vertical wind space @@ -110,8 +126,9 @@ subroutine apply_mixed_wp_operator_code(cell, & ncell3, grad, & norm_u, & ncell4, m3p, & - ncell5, q32, & + ncell5, q32_rho, & ncell6, p3t, & + const_u, const_t, const_r, & ndf_w2v, undf_w2v, map_w2v, & ndf_w3, undf_w3, map_w3, & ndf_w2h, undf_w2h, map_w2h, & @@ -143,6 +160,7 @@ subroutine apply_mixed_wp_operator_code(cell, & real(kind=r_solver), dimension(undf_w2), intent(in) :: norm_u real(kind=r_solver), dimension(undf_wt), intent(in) :: mt_lumped_inv real(kind=r_solver), dimension(undf_w3), intent(in) :: exner + real(kind=r_solver), intent(in) :: const_u, const_t, const_r ! Operators real(kind=r_solver), dimension(ncell0, ndf_wt, ndf_w2), intent(in) :: pt2 @@ -150,7 +168,7 @@ subroutine apply_mixed_wp_operator_code(cell, & real(kind=r_solver), dimension(ncell2, ndf_w2, ndf_wt), intent(in) :: p2t real(kind=r_solver), dimension(ncell3, ndf_w2, ndf_w3), intent(in) :: grad real(kind=r_solver), dimension(ncell4, ndf_w3, ndf_w3), intent(in) :: m3p - real(kind=r_solver), dimension(ncell5, ndf_w3, ndf_w2), intent(in) :: q32 + real(kind=r_solver), dimension(ncell5, ndf_w3, ndf_w2), intent(in) :: q32_rho real(kind=r_solver), dimension(ncell6, ndf_w3, ndf_wt), intent(in) :: p3t ! Internal variables @@ -182,7 +200,7 @@ subroutine apply_mixed_wp_operator_code(cell, & t_col(0:nm1) = t_col(0:nm1) - pt2(ij:ij+nm1, 1, df)*u_e(:,df) t_col(1:nm1+1) = t_col(1:nm1+1) - pt2(ij:ij+nm1, 2, df)*u_e(:,df) end do - t_col(:) = t_col(:) * mt_lumped_inv(iwt:iwt+1+nm1) + t_col(:) = t_col(:) * mt_lumped_inv(iwt:iwt+1+nm1) * const_t ! LHS W iw2v = map_w2v(1) @@ -192,7 +210,7 @@ subroutine apply_mixed_wp_operator_code(cell, & iw2v = map_w2v(df) iw2 = map_w2(ndf_w2h+df) lhs_w(iw2v:iw2v+nm1) = lhs_w(iw2v:iw2v+nm1) & - + norm_u(iw2:iw2+nm1)*( & + + const_u*norm_u(iw2:iw2+nm1)*( & - p2t(ij:ij+nm1, ndf_w2h+df, 1)*t_col(0:nm1) & - p2t(ij:ij+nm1, ndf_w2h+df, 2)*t_col(1:nm1+1) & - grad(ij:ij+nm1, ndf_w2h+df, 1)*exner(iw3:iw3+nm1)) @@ -217,7 +235,7 @@ subroutine apply_mixed_wp_operator_code(cell, & - p3t(ij:ij+nm1, 1, 1)*t_col(0:nm1) & - p3t(ij:ij+nm1, 1, 2)*t_col(1:nm1+1) do df = 1, ndf_w2 - lhs_p(iw3:iw3+nm1) = lhs_p(iw3:iw3+nm1) + q32(ij:ij+nm1, 1, df)*u_e(:,df) + lhs_p(iw3:iw3+nm1) = lhs_p(iw3:iw3+nm1) + const_r*q32_rho(ij:ij+nm1, 1, df)*u_e(:,df) end do end subroutine apply_mixed_wp_operator_code diff --git a/science/gungho/source/kernel/solver/apply_variable_hx_kernel_mod.F90 b/science/gungho/source/kernel/solver/apply_variable_hx_kernel_mod.F90 index 7ae7346f25..937173a539 100644 --- a/science/gungho/source/kernel/solver/apply_variable_hx_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/apply_variable_hx_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (C) Crown copyright 2017 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> @todO Create unit test for this kernel, see #2935 @@ -26,7 +28,7 @@ module apply_variable_hx_kernel_mod type, public, extends(kernel_type) :: apply_variable_hx_kernel_type private - type(arg_type) :: meta_args(9) = (/ & + type(arg_type) :: meta_args(10) = (/ & arg_type(GH_FIELD, GH_REAL, GH_WRITE, W3), & arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & @@ -35,6 +37,7 @@ module apply_variable_hx_kernel_mod arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, Wtheta), & arg_type(GH_OPERATOR, GH_REAL, GH_READ, Wtheta, W2), & arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W3), & + arg_type(GH_SCALAR, GH_REAL, GH_READ), & arg_type(GH_SCALAR, GH_REAL, GH_READ) & /) integer :: operates_on = CELL_COLUMN @@ -76,7 +79,9 @@ module apply_variable_hx_kernel_mod !> @param[in] pt2 Mapping from velocity space to temperature space !> @param[in] ncell_3d_4 Total number of cells for m3 matrix !> @param[in] m3 Mass matrix for the pressure space -!> @param[in] sgn +/- 1 Weight +!> @param[in] const_div Scaling constant (tau_r*dt) applied to the divergence term +!> @param[in] const_theta Scaling constant (tau_t*dt) applied to the potential +!! temperature term !> @param[in] ndf_w3 Number of degrees of freedom per cell for the pressure space !> @param[in] undf_w3 Unique number of degrees of freedom for the pressure space !> @param[in] map_w3 Dofmap for the cell at the base of the column for the pressure space @@ -102,7 +107,8 @@ subroutine apply_variable_hx_code_r_double(cell, & pt2, & ncell_3d_4, & m3, & - sgn, & + const_div, & + const_theta, & ndf_w3, undf_w3, map_w3, & ndf_w2, undf_w2, map_w2, & ndf_wt, undf_wt, map_wt) @@ -124,7 +130,8 @@ subroutine apply_variable_hx_code_r_double(cell, & real(kind=r_double), dimension(undf_wt), intent(in) :: mt_inv real(kind=r_double), dimension(undf_w3), intent(inout) :: lhs real(kind=r_double), dimension(undf_w3), intent(in) :: pressure - real(kind=r_double), intent(in) :: sgn + real(kind=r_double), intent(in) :: const_div + real(kind=r_double), intent(in) :: const_theta real(kind=r_double), dimension(ncell_3d_1,ndf_w3,ndf_w2), intent(in) :: div real(kind=r_double), dimension(ncell_3d_2,ndf_wt,ndf_w2), intent(in) :: pt2 @@ -173,7 +180,8 @@ subroutine apply_variable_hx_code_r_double(cell, & ik = (cell-1)*nlayers + k + 1 - lhs_e = matmul(m3(ik,:,:),p_e) + sgn*(matmul(div(ik,:,:),x_e) + matmul(p3t(ik,:,:),t_e)) + lhs_e = matmul(m3(ik,:,:),p_e) + const_div*matmul(div(ik,:,:),x_e) & + + const_theta*matmul(p3t(ik,:,:),t_e) do df = 1,ndf_w3 lhs(map_w3(df)+k) = lhs_e(df) end do @@ -197,7 +205,8 @@ subroutine apply_variable_hx_code_r_single(cell, & pt2, & ncell_3d_4, & m3, & - sgn, & + const_div, & + const_theta, & ndf_w3, undf_w3, map_w3, & ndf_w2, undf_w2, map_w2, & ndf_wt, undf_wt, map_wt) @@ -219,7 +228,8 @@ subroutine apply_variable_hx_code_r_single(cell, & real(kind=r_single), dimension(undf_wt), intent(in) :: mt_inv real(kind=r_single), dimension(undf_w3), intent(inout) :: lhs real(kind=r_single), dimension(undf_w3), intent(in) :: pressure - real(kind=r_single), intent(in) :: sgn + real(kind=r_single), intent(in) :: const_div + real(kind=r_single), intent(in) :: const_theta real(kind=r_single), dimension(ncell_3d_1,ndf_w3,ndf_w2), intent(in) :: div real(kind=r_single), dimension(ncell_3d_2,ndf_wt,ndf_w2), intent(in) :: pt2 @@ -268,7 +278,8 @@ subroutine apply_variable_hx_code_r_single(cell, & ik = (cell-1)*nlayers + k + 1 - lhs_e = matmul(m3(ik,:,:),p_e) + sgn*(matmul(div(ik,:,:),x_e) + matmul(p3t(ik,:,:),t_e)) + lhs_e = matmul(m3(ik,:,:),p_e) + const_div*matmul(div(ik,:,:),x_e) & + + const_theta*matmul(p3t(ik,:,:),t_e) do df = 1,ndf_w3 lhs(map_w3(df)+k) = lhs_e(df) end do diff --git a/science/gungho/source/kernel/solver/elim_helmholtz_operator_kernel_mod.F90 b/science/gungho/source/kernel/solver/elim_helmholtz_operator_kernel_mod.F90 index 3714e8bf07..8ac19c3dca 100644 --- a/science/gungho/source/kernel/solver/elim_helmholtz_operator_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/elim_helmholtz_operator_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (c) Crown copyright 2021 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Compute the coefficients of the Helmholz operator for lowest-order @@ -22,6 +24,7 @@ module elim_helmholtz_operator_kernel_mod use argument_mod, only : arg_type, & GH_FIELD, GH_OPERATOR, & + GH_SCALAR, & GH_REAL, GH_READ, GH_WRITE, & STENCIL, CROSS, CELL_COLUMN use constants_mod, only : i_def, r_solver @@ -38,15 +41,18 @@ module elim_helmholtz_operator_kernel_mod type, public, extends(kernel_type) :: elim_helmholtz_operator_kernel_type private - type(arg_type) :: meta_args(8) = (/ & + type(arg_type) :: meta_args(11) = (/ & arg_type(GH_FIELD*9, GH_REAL, GH_WRITE, W3), & ! Helmholtz operator arg_type(GH_FIELD, GH_REAL, GH_READ, W2, STENCIL(CROSS)), & ! hb_lumped_inv arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & ! u_normalisation arg_type(GH_OPERATOR, GH_REAL, GH_READ, W2, W3), & ! div_star arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W3), & ! M3_exner - arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W2), & ! Q32 - arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W3), & ! M3^-1 - arg_type(GH_FIELD, GH_REAL, GH_READ, W2) & ! W2 mask + arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W2), & ! Q32_rho + arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W2), & ! Q32_theta + arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & ! W2 mask + arg_type(GH_SCALAR, GH_REAL, GH_READ), & ! tau_u*dt*cp + arg_type(GH_SCALAR, GH_REAL, GH_READ), & ! tau_r*dt + arg_type(GH_SCALAR, GH_REAL, GH_READ) & ! tau_t*dt /) integer :: operates_on = CELL_COLUMN contains @@ -84,9 +90,19 @@ module elim_helmholtz_operator_kernel_mod !> @param[in] div_star Weighted transpose of the divergence operator !> @param[in] ncell_3d_2 Total number of cells for m3_exner_star matrix !> @param[in] m3_exner_star Weighted W3 mass matrix -!> @param[in] ncell_3d_3 Total number of cells for q32 matrix -!> @param[in] q32 Weighted projection operator from W2 to W3 +!> @param[in] ncell_3d_3 Total number of cells for q32_rho matrix +!> @param[in] q32_rho Weighted projection operator from W2 to W3 +!! (compound_div contribution) +!> @param[in] ncell_3d_4 Total number of cells for q32_theta matrix +!> @param[in] q32_theta Projection operator from W2 to W3 from +!! eliminating theta !> @param[in] w2_mask LAM mask for W2 space +!> @param[in] tau_u_dt_cp Off-centring weight tau_u multiplied by the +!! timestep and cp, applied to div_star +!> @param[in] tau_r_dt Off-centring weight tau_r multiplied by the +!! timestep, applied to q32_rho +!> @param[in] tau_t_dt Off-centring weight tau_t multiplied by the +!! timestep, applied to q32_theta !> @param[in] ndf_w3 Number of degrees of freedom per cell for the pressure space !> @param[in] undf_w3 Unique number of degrees of freedom for the pressure space !> @param[in] map_w3 Dofmap for the cell at the base of the column for the pressure space @@ -107,8 +123,11 @@ subroutine elim_helmholtz_operator_code(stencil_size, & ncell_3d_2, & m3_exner_star, & ncell_3d_3, & - q32, & + q32_rho, & + ncell_3d_4, & + q32_theta, & w2_mask, & + tau_u_dt_cp, tau_r_dt, tau_t_dt, & ndf_w3, undf_w3, map_w3, & ndf_w2, undf_w2, map_w2) @@ -119,7 +138,7 @@ subroutine elim_helmholtz_operator_code(stencil_size, & integer(kind=i_def), intent(in) :: stencil_size integer(kind=i_def), dimension(stencil_size), intent(in) :: cell_stencil integer(kind=i_def), intent(in) :: ncell_3d_1, ncell_3d_2, & - ncell_3d_3 + ncell_3d_3, ncell_3d_4 integer(kind=i_def), intent(in) :: undf_w2, ndf_w2 integer(kind=i_def), intent(in) :: undf_w3, ndf_w3 integer(kind=i_def), intent(in) :: smap_size_w2 @@ -138,7 +157,11 @@ subroutine elim_helmholtz_operator_code(stencil_size, & ! Operators real(kind=r_solver), dimension(ncell_3d_1, ndf_w2, ndf_w3), intent(in) :: div_star real(kind=r_solver), dimension(ncell_3d_2, ndf_w3, ndf_w3), intent(in) :: m3_exner_star - real(kind=r_solver), dimension(ncell_3d_3, ndf_w3, ndf_w2), intent(in) :: q32 + real(kind=r_solver), dimension(ncell_3d_3, ndf_w3, ndf_w2), intent(in) :: q32_rho + real(kind=r_solver), dimension(ncell_3d_4, ndf_w3, ndf_w2), intent(in) :: q32_theta + + ! Scalars + real(kind=r_solver), intent(in) :: tau_u_dt_cp, tau_r_dt, tau_t_dt ! Internal variables integer(kind=i_def) :: k, ik, kk, df, e, stencil_ik @@ -282,7 +305,8 @@ subroutine elim_helmholtz_operator_code(stencil_size, & a_op(df,:,e-1) = -u_normalisation(smap_w2(df,e)+k) & *w2_mask(smap_w2(df,e)+k) & *hb_lumped_inv(smap_w2(df,e)+k) & - *div_star(stencil_ik,df,:) + *div_star(stencil_ik,df,:) & + *tau_u_dt_cp end do ! Vertical stencil: @@ -303,14 +327,16 @@ subroutine elim_helmholtz_operator_code(stencil_size, & kk = -1 if ( k > 0 ) then a_op(df,:,down) = -u_normalisation(map_w2(df)+k+kk)*w2_mask(map_w2(df)+k+kk) & - *hb_lumped_inv(map_w2(df)+k+kk)*div_star(ik+kk,df,:) + *hb_lumped_inv(map_w2(df)+k+kk)*div_star(ik+kk,df,:) & + *tau_u_dt_cp else a_op(df,:,down) = 0.0_r_solver end if kk = 1 if ( k < nlayers-1 ) then a_op(df,:,up) = -u_normalisation(map_w2(df)+k+kk)*w2_mask(map_w2(df)+k+kk) & - *hb_lumped_inv(map_w2(df)+k+kk)*div_star(ik+kk,df,:) + *hb_lumped_inv(map_w2(df)+k+kk)*div_star(ik+kk,df,:) & + *tau_u_dt_cp else a_op(df,:,up) = 0.0_r_solver end if @@ -324,8 +350,9 @@ subroutine elim_helmholtz_operator_code(stencil_size, & ! Compute B for all cells in the stencil, ! B maps from W2 points to W3 points and we only need it for the central - ! cell. - b_op = q32(ik,:,:) + ! cell. Q32 comprises a compound_div contribution (weighted by tau_r*dt) + ! and a theta-elimination contribution (weighted by tau_t*dt). + b_op = tau_r_dt*q32_rho(ik,:,:) + tau_t_dt*q32_theta(ik,:,:) ! Compute C for all cells in the stencil, ! C maps from W3 points to W3 points and we only need it for the central diff --git a/science/gungho/source/kernel/solver/eliminated_theta_q22_kernel_mod.F90 b/science/gungho/source/kernel/solver/eliminated_theta_q22_kernel_mod.F90 index a477811062..25438d9f10 100644 --- a/science/gungho/source/kernel/solver/eliminated_theta_q22_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/eliminated_theta_q22_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (c) Crown copyright 2021 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Compute the q22 matrix for analytic elimination of theta. The family @@ -18,7 +20,7 @@ module eliminated_theta_q22_kernel_mod use argument_mod, only: arg_type, func_type, & GH_OPERATOR, GH_FIELD, & - GH_REAL, GH_SCALAR, & + GH_REAL, & GH_READ, GH_WRITE, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, & @@ -45,14 +47,13 @@ module eliminated_theta_q22_kernel_mod type, public, extends(kernel_type) :: eliminated_theta_q22_kernel_type private - type(arg_type) :: meta_args(7) = (/ & + type(arg_type) :: meta_args(6) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, W2, W2), & arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & 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_REAL, GH_READ) & + arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3) & /) type(func_type) :: meta_funcs(3) = (/ & func_type(W2, GH_BASIS), & @@ -86,7 +87,6 @@ module eliminated_theta_q22_kernel_mod !> @param[in] chi2 Second component of the coordinate array !> @param[in] chi3 Third component of the coordinate array !> @param[in] panel_id Field containing the panel ID indicator -!> @param[in] const Scalar constant to multiply operator by !> @param[in] ndf_w2 Number of degrees of freedom per cell for the velocity space !> @param[in] undf_w2 Total number of degrees of freedom for the velocity space !> @param[in] map_w2 Dofmap for the bottom layer in the velocity space @@ -112,7 +112,6 @@ subroutine eliminated_theta_q22_code(cell, nlayers, ncell_3d, & theta, exner, norm_u, & chi1, chi2, chi3, & panel_id, & - const, & ndf_w2, undf_w2, map_w2, & basis_w2, & ndf_wt, undf_wt, map_wt, & @@ -148,7 +147,6 @@ subroutine eliminated_theta_q22_code(cell, nlayers, ncell_3d, & real(kind=r_solver), dimension(undf_wt), intent(in) :: theta, exner real(kind=r_solver), dimension(undf_w2), intent(in) :: norm_u real(kind=r_def), dimension(undf_pid), intent(in) :: panel_id - real(kind=r_solver), intent(in) :: const real(kind=r_def), dimension(nqp_h), intent(in) :: wqp_h real(kind=r_def), dimension(nqp_v), intent(in) :: wqp_v @@ -201,7 +199,7 @@ subroutine eliminated_theta_q22_code(cell, nlayers, ncell_3d, & wt_dj = real(wqp_h(qp1)*wqp_v(qp2)/dj(qp1,qp2), r_solver) do df2 = 1, ndf_w2 - grad_term = wt_dj * const & + grad_term = wt_dj & *dot_product(grad_theta(:), rsol_basis_w2(:,df2,qp1,qp2)) & *grad_exner do df = 1, ndf_w2 diff --git a/science/gungho/source/kernel/solver/eliminated_theta_q2t_kernel_mod.F90 b/science/gungho/source/kernel/solver/eliminated_theta_q2t_kernel_mod.F90 index efb513abb6..96ba6890ca 100644 --- a/science/gungho/source/kernel/solver/eliminated_theta_q2t_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/eliminated_theta_q2t_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (c) Crown copyright 2021 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Compute the q2t matrix for analytic elimination of theta by Galerkin Projection. @@ -17,7 +19,7 @@ module eliminated_theta_q2t_kernel_mod use argument_mod, only: arg_type, func_type, & GH_OPERATOR, GH_FIELD, & - GH_REAL, GH_SCALAR, & + GH_REAL, & GH_READ, GH_WRITE, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, GH_QUADRATURE_XYoZ @@ -35,11 +37,10 @@ module eliminated_theta_q2t_kernel_mod type, public, extends(kernel_type) :: eliminated_theta_q2t_kernel_type private - type(arg_type) :: meta_args(4) = (/ & + type(arg_type) :: meta_args(3) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, W2, Wtheta), & arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & - arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & - arg_type(GH_SCALAR, GH_REAL, GH_READ) & + arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta) & /) type(func_type) :: meta_funcs(2) = (/ & func_type(W2, GH_BASIS), & @@ -66,7 +67,6 @@ module eliminated_theta_q2t_kernel_mod !> @param[in,out] q2t_op Projection matrix !> @param[in] norm_u Normalisation for the momentum equation !> @param[in] exner Exner pressure in Wtheta space -!> @param[in] const Constant scalar to multiply operator by !> @param[in] ndf_w2 Degrees of freedom per cell for the velocity space !> @param[in] undf_w2 Total degrees of freedom for the velocity space !> @param[in] map_w2 Cell dofmap for the velocity space @@ -86,7 +86,6 @@ module eliminated_theta_q2t_kernel_mod subroutine eliminated_theta_q2t_code(cell, nlayers, ncell_3d, & q2t_op, & norm_u, exner, & - const, & ndf_w2, undf_w2, map_w2, & basis_w2, & ndf_wt, undf_wt, map_wt, & @@ -112,7 +111,6 @@ subroutine eliminated_theta_q2t_code(cell, nlayers, ncell_3d, & real(kind=r_solver), dimension(undf_wt), intent(in) :: exner real(kind=r_solver), dimension(undf_w2), intent(in) :: norm_u - real(kind=r_solver), intent(in) :: const real(kind=r_def), dimension(nqp_h), intent(in) :: wqp_h real(kind=r_def), dimension(nqp_v), intent(in) :: wqp_v @@ -145,7 +143,7 @@ subroutine eliminated_theta_q2t_code(cell, nlayers, ncell_3d, & wt = real(wqp_h(qp1) * wqp_v(qp2), r_solver) do dft = 1, ndf_wt - integrand = wt * const & + integrand = wt & * dexnerdz_q * rsol_basis_wt(1,dft,qp1,qp2) do df2 = 1, ndf_w2 q2t_op(ik,df2,dft) = q2t_op(ik,df2,dft) & diff --git a/science/gungho/source/kernel/solver/helmholtz_operator_kernel_mod.F90 b/science/gungho/source/kernel/solver/helmholtz_operator_kernel_mod.F90 index a2807f0103..a536bbc64f 100644 --- a/science/gungho/source/kernel/solver/helmholtz_operator_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/helmholtz_operator_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (c) Crown copyright 2021 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Compute the coefficients of the Helmholtz operator for lowest-order @@ -20,6 +22,7 @@ module helmholtz_operator_kernel_mod use argument_mod, only : arg_type, & GH_FIELD, GH_OPERATOR, & + GH_SCALAR, & GH_REAL, GH_READ, GH_WRITE, & STENCIL, CROSS2D, CELL_COLUMN use constants_mod, only : i_def, r_solver @@ -36,7 +39,7 @@ module helmholtz_operator_kernel_mod type, public, extends(kernel_type) :: helmholtz_operator_kernel_type private - type(arg_type) :: meta_args(10) = (/ & + type(arg_type) :: meta_args(13) = (/ & arg_type(GH_FIELD*9, GH_REAL, GH_WRITE, W3), & ! Helmholtz operator arg_type(GH_FIELD, GH_REAL, GH_READ, W2, STENCIL(CROSS2D)), & ! hb_lumped_inv arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & ! u_normalisation @@ -46,7 +49,10 @@ module helmholtz_operator_kernel_mod arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W2), & ! compound_div arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W3), & ! M3_exner arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, Wtheta), & ! p3theta - arg_type(GH_FIELD, GH_REAL, GH_READ, W2) & ! W2 mask + arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & ! W2 mask + arg_type(GH_SCALAR, GH_REAL, GH_READ), & ! tau_u*dt*cp + arg_type(GH_SCALAR, GH_REAL, GH_READ), & ! tau_t*dt + arg_type(GH_SCALAR, GH_REAL, GH_READ) & ! tau_r*dt /) integer :: operates_on = CELL_COLUMN contains @@ -96,6 +102,12 @@ module helmholtz_operator_kernel_mod !> @param[in] ncell_3d_5 Total number of cells for p3theta matrix !> @param[in] p3theta Weighted projection operator from Wtheta to W3 !> @param[in] w2_mask LAM mask for W2 space +!> @param[in] tau_u_dt_cp Off-centring weight tau_u multiplied by the +!! timestep and cp, applied to div_star +!> @param[in] tau_t_dt Off-centring weight tau_t multiplied by the +!! timestep, applied to ptheta2v +!> @param[in] tau_r_dt Off-centring weight tau_r multiplied by the +!! timestep, applied to compound_div !> @param[in] ndf_w3 Number of degrees of freedom per cell for the pressure space !> @param[in] undf_w3 Unique number of degrees of freedom for the pressure space !> @param[in] map_w3 Dofmap for the cell at the base of the column for the pressure space @@ -126,6 +138,7 @@ subroutine helmholtz_operator_code(stencil_size, & ncell_3d_5, & p3theta, & w2_mask, & + tau_u_dt_cp, tau_t_dt, tau_r_dt, & ndf_w3, undf_w3, map_w3, & ndf_w2, undf_w2, map_w2, & ndf_wt, undf_wt, map_wt) @@ -158,6 +171,9 @@ subroutine helmholtz_operator_code(stencil_size, & w2_mask real(kind=r_solver), dimension(undf_wt), intent(in) :: mt_lumped_inv + ! Scalars + real(kind=r_solver), intent(in) :: tau_u_dt_cp, tau_t_dt, tau_r_dt + ! Operators real(kind=r_solver), dimension(ncell_3d_1, ndf_w2, ndf_w3), intent(in) :: div_star real(kind=r_solver), dimension(ncell_3d_2, ndf_w3, ndf_w2), intent(in) :: compound_div @@ -446,6 +462,9 @@ subroutine helmholtz_operator_code(stencil_size, & if ( k == nlayers - 2 ) a_op(up,:,up) = 0.0_r_solver if ( k == nlayers - 1 ) a_op(up,:,centre:north) = 0.0_r_solver + ! Apply the tau_u*dt*cp weighting associated with div_star + a_op(:,:,:) = tau_u_dt_cp*a_op(:,:,:) + ! Compute B for all cells in the stencil ! B maps from W2v -> Wtheta points ! and we need it for the k-1,k,k+1 cells @@ -478,10 +497,12 @@ subroutine helmholtz_operator_code(stencil_size, & b_op(df,:, 1) = 0.0_r_solver end if end do + ! Apply the tau_t*dt weighting associated with ptheta2v + b_op(:,:,:) = tau_t_dt*b_op(:,:,:) ! Compute E*C for all cells in the stencil, ! EC maps from W2 points to W3 points and we only need it for the central ! cell. - ec_op = - compound_div(ik,:,:) + ec_op = - tau_r_dt*compound_div(ik,:,:) ! Compute D for all cells in the stencil, ! D maps from Wtheta points to W3 points and we only need it for the diff --git a/science/gungho/source/kernel/solver/opt_apply_variable_hx_kernel_mod.F90 b/science/gungho/source/kernel/solver/opt_apply_variable_hx_kernel_mod.F90 index 1b525436b2..4cb0ed6f4f 100644 --- a/science/gungho/source/kernel/solver/opt_apply_variable_hx_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/opt_apply_variable_hx_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (C) Crown copyright 2017 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> @todO Create unit test for this kernel, see #2935 @@ -26,7 +28,7 @@ module opt_apply_variable_hx_kernel_mod type, public, extends(kernel_type) :: opt_apply_variable_hx_kernel_type private - type(arg_type) :: meta_args(10) = (/ & + type(arg_type) :: meta_args(11) = (/ & arg_type(GH_FIELD, GH_REAL, GH_WRITE, W3), & arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & @@ -36,6 +38,7 @@ module opt_apply_variable_hx_kernel_mod arg_type(GH_OPERATOR, GH_REAL, GH_READ, Wtheta, W2), & arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W3), & arg_type(GH_SCALAR, GH_REAL, GH_READ), & + arg_type(GH_SCALAR, GH_REAL, GH_READ), & arg_type(GH_FIELD, GH_REAL, GH_READ, W3) & /) integer :: operates_on = CELL_COLUMN @@ -79,7 +82,9 @@ module opt_apply_variable_hx_kernel_mod !> @param[in] pt2 Mapping from velocity space to temperature space !> @param[in] ncell_3d_4 Total number of cells for m3 matrix !> @param[in] m3 Mass matrix for the pressure space -!> @param[in] sgn +/- 1 Weight +!> @param[in] const_div Scaling constant (sgn*tau_r*dt) applied to the divergence term +!> @param[in] const_theta Scaling constant (sgn*tau_t*dt) applied to the potential +!! temperature term !> @param[in] rhs_p Pressure field in w3 !> @param[in] ndf_w3 Number of degrees of freedom per cell for the pressure space !> @param[in] undf_w3 Unique number of degrees of freedom for the pressure space @@ -106,7 +111,8 @@ subroutine opt_apply_variable_hx_code_r_double(cell, & pt2, & ncell_3d_4, & m3, & - sgn, & + const_div, & + const_theta, & rhs_p, & ndf_w3, undf_w3, map_w3, & ndf_w2, undf_w2, map_w2, & @@ -129,7 +135,8 @@ subroutine opt_apply_variable_hx_code_r_double(cell, & real(kind=r_double), dimension(undf_wt), intent(in) :: mt_inv real(kind=r_double), dimension(undf_w3), intent(inout) :: lhs real(kind=r_double), dimension(undf_w3), intent(in) :: pressure - real(kind=r_double), intent(in) :: sgn + real(kind=r_double), intent(in) :: const_div + real(kind=r_double), intent(in) :: const_theta real(kind=r_double), dimension(undf_w3), intent(in) :: rhs_p real(kind=r_double), dimension(ncell_3d_1,1,6), intent(in) :: div @@ -179,7 +186,7 @@ subroutine opt_apply_variable_hx_code_r_double(cell, & + div(ik,1,3)*x(map_w23+k) + div(ik,1,4)*x(map_w24+k) & + div(ik,1,5)*x(map_w25+k) + div(ik,1,6)*x(map_w26+k) lhs(map_w31+k) = m3(ik,1,1)*pressure(map_w31+k) & - + sgn*(div_u + (t_e(1) + t_e(2))) + rhs_p(map_w3(1)+k) + + const_div*div_u + const_theta*(t_e(1) + t_e(2)) + rhs_p(map_w3(1)+k) do k = 1,nlayers-2 ik = (cell-1)*nlayers + k + 1 @@ -199,7 +206,7 @@ subroutine opt_apply_variable_hx_code_r_double(cell, & + div(ik,1,3)*x(map_w23+k) + div(ik,1,4)*x(map_w24+k) & + div(ik,1,5)*x(map_w25+k) + div(ik,1,6)*x(map_w26+k) lhs(map_w31+k) = m3(ik,1,1)*pressure(map_w31+k) & - + sgn*(div_u + t_e1_vec(k) + t_e2_vec(k)) + rhs_p(map_w3(1)+k) + + const_div*div_u + const_theta*(t_e1_vec(k) + t_e2_vec(k)) + rhs_p(map_w3(1)+k) end do k = nlayers-1 @@ -215,7 +222,7 @@ subroutine opt_apply_variable_hx_code_r_double(cell, & + div(ik,1,3)*x(map_w23+k) + div(ik,1,4)*x(map_w24+k) & + div(ik,1,5)*x(map_w25+k) + div(ik,1,6)*x(map_w26+k) lhs(map_w31+k) = m3(ik,1,1)*pressure(map_w31+k) & - + sgn*(div_u + (t_e(1) + t_e(2))) + rhs_p(map_w3(1)+k) + + const_div*div_u + const_theta*(t_e(1) + t_e(2)) + rhs_p(map_w3(1)+k) end subroutine opt_apply_variable_hx_code_r_double @@ -234,7 +241,8 @@ subroutine opt_apply_variable_hx_code_r_single(cell, & pt2, & ncell_3d_4, & m3, & - sgn, & + const_div, & + const_theta, & rhs_p, & ndf_w3, undf_w3, map_w3, & ndf_w2, undf_w2, map_w2, & @@ -257,7 +265,8 @@ subroutine opt_apply_variable_hx_code_r_single(cell, & real(kind=r_single), dimension(undf_wt), intent(in) :: mt_inv real(kind=r_single), dimension(undf_w3), intent(inout) :: lhs real(kind=r_single), dimension(undf_w3), intent(in) :: pressure - real(kind=r_single), intent(in) :: sgn + real(kind=r_single), intent(in) :: const_div + real(kind=r_single), intent(in) :: const_theta real(kind=r_single), dimension(undf_w3), intent(in) :: rhs_p real(kind=r_single), dimension(ncell_3d_1,1,6), intent(in) :: div @@ -307,7 +316,7 @@ subroutine opt_apply_variable_hx_code_r_single(cell, & + div(ik,1,3)*x(map_w23+k) + div(ik,1,4)*x(map_w24+k) & + div(ik,1,5)*x(map_w25+k) + div(ik,1,6)*x(map_w26+k) lhs(map_w31+k) = m3(ik,1,1)*pressure(map_w31+k) & - + sgn*(div_u + (t_e(1) + t_e(2))) + rhs_p(map_w3(1)+k) + + const_div*div_u + const_theta*(t_e(1) + t_e(2)) + rhs_p(map_w3(1)+k) do k = 1,nlayers-2 ik = (cell-1)*nlayers + k + 1 @@ -327,7 +336,7 @@ subroutine opt_apply_variable_hx_code_r_single(cell, & + div(ik,1,3)*x(map_w23+k) + div(ik,1,4)*x(map_w24+k) & + div(ik,1,5)*x(map_w25+k) + div(ik,1,6)*x(map_w26+k) lhs(map_w31+k) = m3(ik,1,1)*pressure(map_w31+k) & - + sgn*(div_u + t_e1_vec(k) + t_e2_vec(k)) + rhs_p(map_w3(1)+k) + + const_div*div_u + const_theta*(t_e1_vec(k) + t_e2_vec(k)) + rhs_p(map_w3(1)+k) end do k = nlayers-1 @@ -343,7 +352,7 @@ subroutine opt_apply_variable_hx_code_r_single(cell, & + div(ik,1,3)*x(map_w23+k) + div(ik,1,4)*x(map_w24+k) & + div(ik,1,5)*x(map_w25+k) + div(ik,1,6)*x(map_w26+k) lhs(map_w31+k) = m3(ik,1,1)*pressure(map_w31+k) & - + sgn*(div_u + (t_e(1) + t_e(2))) + rhs_p(map_w3(1)+k) + + const_div*div_u + const_theta*(t_e(1) + t_e(2)) + rhs_p(map_w3(1)+k) end subroutine opt_apply_variable_hx_code_r_single diff --git a/science/gungho/source/kernel/solver/project_eliminated_theta_q32_kernel_mod.F90 b/science/gungho/source/kernel/solver/project_eliminated_theta_q32_kernel_mod.F90 index 0c99d11ae1..492e4c148c 100644 --- a/science/gungho/source/kernel/solver/project_eliminated_theta_q32_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/project_eliminated_theta_q32_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (c) Crown copyright 2021 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Compute the q32 matrix for analytic elimination of theta. The family @@ -17,7 +19,7 @@ module project_eliminated_theta_q32_kernel_mod use argument_mod, only: arg_type, func_type, & GH_OPERATOR, GH_FIELD, & - GH_REAL, GH_SCALAR, & + GH_REAL, & GH_READ, GH_WRITE, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, GH_QUADRATURE_XYoZ @@ -34,11 +36,10 @@ module project_eliminated_theta_q32_kernel_mod !--------------------------------------------------------------------------- type, public, extends(kernel_type) :: project_eliminated_theta_q32_kernel_type private - type(arg_type) :: meta_args(4) = (/ & + type(arg_type) :: meta_args(3) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, W3, W2), & arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & - arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W3), & - arg_type(GH_SCALAR, GH_REAL, GH_READ) & + arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W3) & /) type(func_type) :: meta_funcs(3) = (/ & func_type(W3, GH_BASIS), & @@ -64,11 +65,10 @@ module project_eliminated_theta_q32_kernel_mod !> @param[in] cell Horizontal cell index. !> @param[in] nlayers Number of layers !> @param[in] ncell_3d Number of cells in the 3D mesh -!> @param[in,out] q32_op Projection matrix +!> @param[in,out] q32_theta_op Contribution to q32 from eliminating theta !> @param[in] theta Potential temperature field !> @param[in] ncell_3d1 Number of cells in the 3D mesh !> @param[in] inv_m3 Inverse mass matrix for the W3 space -!> @param[in] const Constant scalar to multiply operator by !> @param[in] ndf_w3 Degrees of freedom per cell for the pressure space !> @param[in] basis_w3 Basis function for the pressure space !! evaluated on quadrature points @@ -87,10 +87,9 @@ module project_eliminated_theta_q32_kernel_mod !> @param[in] wqp_h Horizontal quadrature weights !> @param[in] wqp_v Vertical quadrature weights subroutine project_eliminated_theta_q32_code(cell, nlayers, ncell_3d, & - q32_op, & + q32_theta_op, & theta, & ncell_3d1, inv_m3, & - const, & ndf_w3, basis_w3, & ndf_w2, basis_w2, & ndf_wt, undf_wt, map_wt, & @@ -112,11 +111,10 @@ subroutine project_eliminated_theta_q32_code(cell, nlayers, ncell_3d, & real(kind=r_def), dimension(1, ndf_wt, nqp_h, nqp_v), intent(in) :: basis_wt real(kind=r_def), dimension(3, ndf_wt, nqp_h, nqp_v), intent(in) :: diff_basis_wt - real(kind=r_solver), dimension(ncell_3d, ndf_w3, ndf_w2), intent(inout) :: q32_op + real(kind=r_solver), dimension(ncell_3d, ndf_w3, ndf_w2), intent(inout) :: q32_theta_op real(kind=r_solver), dimension(ncell_3d1, ndf_w3, ndf_w3), intent(in) :: inv_m3 real(kind=r_solver), dimension(undf_wt), intent(in) :: theta - real(kind=r_solver), intent(in) :: const real(kind=r_def), dimension(nqp_h), intent(in) :: wqp_h real(kind=r_def), dimension(nqp_v), intent(in) :: wqp_v @@ -154,7 +152,7 @@ subroutine project_eliminated_theta_q32_code(cell, nlayers, ncell_3d, & dthetadz_q = max(1.0_r_solver, dthetadz_q) wt = real( wqp_h(qp1) * wqp_v(qp2), r_solver) do df2 = 1, ndf_w2 - integrand = wt * const & + integrand = wt & * dthetadz_q/theta_q * rsol_basis_w2(3,df2,qp1,qp2) do df = 1, ndf_w3 proj(df,df2) = proj(df,df2) + rsol_basis_w3(1,df,qp1,qp2)*integrand @@ -162,7 +160,7 @@ subroutine project_eliminated_theta_q32_code(cell, nlayers, ncell_3d, & end do end do end do - q32_op(ik,:,:) = q32_op(ik,:,:) + matmul(inv_m3(ik,:,:), proj(:,:)) + q32_theta_op(ik,:,:) = q32_theta_op(ik,:,:) + matmul(inv_m3(ik,:,:), proj(:,:)) end do end subroutine project_eliminated_theta_q32_code diff --git a/science/gungho/source/kernel/solver/sample_eliminated_theta_q32_kernel_mod.F90 b/science/gungho/source/kernel/solver/sample_eliminated_theta_q32_kernel_mod.F90 index 6058ab1219..5a1f5c8cb3 100644 --- a/science/gungho/source/kernel/solver/sample_eliminated_theta_q32_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/sample_eliminated_theta_q32_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (c) Crown copyright 2021 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Compute the q32 matrix for analytic elimination of theta. The family @@ -17,7 +19,7 @@ module sample_eliminated_theta_q32_kernel_mod use argument_mod, only: arg_type, func_type, & GH_OPERATOR, GH_FIELD, & - GH_REAL, GH_SCALAR, & + GH_REAL, & GH_READ, GH_WRITE, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, GH_EVALUATOR @@ -34,11 +36,10 @@ module sample_eliminated_theta_q32_kernel_mod !--------------------------------------------------------------------------- type, public, extends(kernel_type) :: sample_eliminated_theta_q32_kernel_type private - type(arg_type) :: meta_args(4) = (/ & + type(arg_type) :: meta_args(3) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, W3, W2), & arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & - arg_type(GH_FIELD, GH_REAL, GH_READ, W3), & - arg_type(GH_SCALAR, GH_REAL, GH_READ) & + arg_type(GH_FIELD, GH_REAL, GH_READ, W3) & /) type(func_type) :: meta_funcs(3) = (/ & func_type(W3, GH_BASIS), & @@ -64,10 +65,9 @@ module sample_eliminated_theta_q32_kernel_mod !> @param[in] cell Horizontal cell index. !> @param[in] nlayers Number of layers !> @param[in] ncell_3d Number of cells in the 3D mesh -!> @param[in,out] q32_op sampection matrix +!> @param[in,out] q32_theta_op Contribution to q32 from eliminating theta !> @param[in] theta Potential temperature field !> @param[in] detj_at_w3 Det J evaluated at W3 DoFs -!> @param[in] const Constant scalar to multiply operator by !> @param[in] ndf_w3 Degrees of freedom per cell for the pressure space !> @param[in] undf_w3 Total degrees of freedom for the pressure space !> @param[in] map_w3 Cell dofmap for the pressure space @@ -84,10 +84,9 @@ module sample_eliminated_theta_q32_kernel_mod !> @param[in] diff_basis_wt Differential basis function for the theta space !! evaluated at W3 DoFs subroutine sample_eliminated_theta_q32_code(cell, nlayers, ncell_3d, & - q32_op, & + q32_theta_op, & theta, & detj_at_w3, & - const, & ndf_w3, undf_w3, & map_w3, basis_w3, & ndf_w2, basis_w2, & @@ -109,10 +108,9 @@ subroutine sample_eliminated_theta_q32_code(cell, nlayers, ncell_3d, & real(kind=r_def), dimension(1, ndf_wt, ndf_w3), intent(in) :: basis_wt real(kind=r_def), dimension(3, ndf_wt, ndf_w3), intent(in) :: diff_basis_wt - real(kind=r_solver), dimension(ncell_3d, ndf_w3, ndf_w2), intent(inout) :: q32_op + real(kind=r_solver), dimension(ncell_3d, ndf_w3, ndf_w2), intent(inout) :: q32_theta_op real(kind=r_solver), dimension(undf_wt), intent(in) :: theta real(kind=r_solver), dimension(undf_w3), intent(in) :: detj_at_w3 - real(kind=r_solver), intent(in) :: const ! Internal variables integer(kind=i_def) :: df, df3, df2, dft, k, ik @@ -151,14 +149,14 @@ subroutine sample_eliminated_theta_q32_code(cell, nlayers, ncell_3d, & ! g/theta*dtheta/dz) is positive dthetadz_q = max(1.0_r_solver, dthetadz_q) do df2 = 1, ndf_w2 - prod = const* dthetadz_q/theta_q * rsol_basis_w2(3,df2,df) + prod = dthetadz_q/theta_q * rsol_basis_w2(3,df2,df) do df3 = 1, ndf_w3 samp(df3,df2) = samp(df3,df2) + rsol_basis_w3(1,df3,df)* prod/detj_e end do end do end do ! Incrementally add sampled operator - q32_op(ik,:,:) = q32_op(ik,:,:) + samp(:,:) + q32_theta_op(ik,:,:) = q32_theta_op(ik,:,:) + samp(:,:) end do end subroutine sample_eliminated_theta_q32_code diff --git a/science/gungho/source/kernel/solver/weighted_div_bd_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_div_bd_kernel_mod.F90 index ea7b1162cd..c9318433ff 100644 --- a/science/gungho/source/kernel/solver/weighted_div_bd_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_div_bd_kernel_mod.F90 @@ -2,6 +2,8 @@ ! Copyright (c) 2017, Met Office, on behalf of HMSO and Queen's Printer ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Computes boundary part of the weighted divergence operator. !> @@ -23,7 +25,7 @@ module weighted_div_bd_kernel_mod mesh_data_type, & reference_element_data_type, & GH_OPERATOR, GH_FIELD, & - GH_SCALAR, GH_REAL, & + GH_REAL, & GH_READ, GH_READWRITE, & STENCIL, CROSS, GH_BASIS, & GH_QUADRATURE_face, & @@ -44,10 +46,9 @@ module weighted_div_bd_kernel_mod !> PSy layer. type, public, extends(kernel_type) :: weighted_div_bd_kernel_type private - type(arg_type) :: meta_args(3) = (/ & + type(arg_type) :: meta_args(2) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_READWRITE, W2, W3), & - arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta, STENCIL(CROSS)), & - arg_type(GH_SCALAR, GH_REAL, GH_READ) & + arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta, STENCIL(CROSS)) & /) type(func_type) :: meta_funcs(3) = (/ & func_type(W2, GH_BASIS), & @@ -84,7 +85,6 @@ module weighted_div_bd_kernel_mod !> @param[in] theta Potential temperature !> @param[in] stencil_wtheta_size Size of the Wtheta stencil (number of cells) !> @param[in] stencil_wtheta_map Wtheta dofmaps for the stencil - !> @param[in] scalar Real to scale matrix by !> @param[in] ndf_w2 Number of degrees of freedom per cell for W2 !> @param[in] w2_basis_face W2 basis functions evaluated at Gaussian !! quadrature points on horizontal faces @@ -112,7 +112,7 @@ subroutine weighted_div_bd_code( cell, nlayers, ncell_3d, & div, theta, & stencil_wtheta_size, & stencil_wtheta_map, & - scalar, & + ndf_w2, w2_basis_face, & ndf_w3, w3_basis_face, & ndf_wtheta, undf_wtheta, map_wtheta, & @@ -144,7 +144,6 @@ subroutine weighted_div_bd_code( cell, nlayers, ncell_3d, & real(kind=r_solver), dimension(ncell_3d,ndf_w2,ndf_w3), intent(inout) :: div real(kind=r_solver), dimension(undf_wtheta), intent(in) :: theta - real(kind=r_solver), intent(in) :: scalar integer(kind=i_def), intent(in) :: adjacent_face(nfaces_re_h) @@ -214,7 +213,7 @@ subroutine weighted_div_bd_code( cell, nlayers, ncell_3d, & next_bd_term = -v_dot_n(df2,qp,face)*theta_next_at_fquad integrand = rsol_wqp_f(qp,face)*rsol_w3_basis_face(1,df3,qp,face) & * 0.5_r_solver*(this_bd_term + next_bd_term) - div(ik,df2,df3) = div(ik,df2,df3) - scalar*integrand + div(ik,df2,df3) = div(ik,df2,df3) - integrand end do ! df2 end do ! df3 diff --git a/science/gungho/source/kernel/solver/weighted_div_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_div_kernel_mod.F90 index 251c15e0cb..d9ee89e736 100644 --- a/science/gungho/source/kernel/solver/weighted_div_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_div_kernel_mod.F90 @@ -2,6 +2,8 @@ ! Copyright (c) 2017, Met Office, on behalf of HMSO and Queen's Printer ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Compute the divergence operatore weigthed by the potential !> temperature. @@ -15,7 +17,7 @@ module weighted_div_kernel_mod use argument_mod, only: arg_type, func_type, & GH_OPERATOR, GH_FIELD, & - GH_SCALAR, GH_REAL, & + GH_REAL, & GH_READ, GH_WRITE, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, GH_QUADRATURE_XYoZ @@ -33,10 +35,9 @@ module weighted_div_kernel_mod type, public, extends(kernel_type) :: weighted_div_kernel_type private - type(arg_type) :: meta_args(3) = (/ & + type(arg_type) :: meta_args(2) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, W2, W3), & - arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & - arg_type(GH_SCALAR, GH_REAL, GH_READ) & + arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta) & /) type(func_type) :: meta_funcs(3) = (/ & func_type(W2, GH_BASIS, GH_DIFF_BASIS), & @@ -62,7 +63,6 @@ module weighted_div_kernel_mod !! @param[in] ncell_3d ncell*ndf !! @param[in,out] div Local stencil of the div operator !! @param[in] theta Potential temperature -!! @param[in] scalar Real to scale operator by !! @param[in] ndf_w2 Number of degrees of freedom per cell !! @param[in] basis_w2 Scalar basis functions evaluated at quadrature points !! @param[in] diff_basis_w2 Differential vector basis functions evaluated @@ -82,7 +82,6 @@ module weighted_div_kernel_mod subroutine weighted_div_code(cell, nlayers, ncell_3d, & div, & theta, & - scalar, & ndf_w2, basis_w2, diff_basis_w2, & ndf_w3, basis_w3, & ndf_wtheta, undf_wtheta, map_wtheta, & @@ -107,7 +106,6 @@ subroutine weighted_div_code(cell, nlayers, ncell_3d, & real(kind=r_solver), dimension(ncell_3d,ndf_w2,ndf_w3), intent(inout) :: div real(kind=r_solver), dimension(undf_wtheta), intent(in) :: theta - real(kind=r_solver), intent(in) :: scalar real(kind=r_def), dimension(nqp_h), intent(in) :: wqp_h real(kind=r_def), dimension(nqp_v), intent(in) :: wqp_v @@ -150,7 +148,7 @@ subroutine weighted_div_code(cell, nlayers, ncell_3d, & end do wt = real(wqp_h(qp1)*wqp_v(qp2), r_solver) do df3 = 1, ndf_w3 - integrand = scalar*wt*rsol_basis_w3(1,df3,qp1,qp2) + integrand = wt*rsol_basis_w3(1,df3,qp1,qp2) do df2 = 1, ndf_w2 div_theta_v = rsol_diff_basis_w2(1,df2,qp1,qp2)*theta_quad & + dot_product(rsol_basis_w2(:,df2,qp1,qp2),grad_theta_quad) diff --git a/science/gungho/source/kernel/solver/weighted_proj_2theta_bd_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_2theta_bd_kernel_mod.F90 index 3c368235c1..f8ccb0c9f9 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_2theta_bd_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_2theta_bd_kernel_mod.F90 @@ -2,6 +2,8 @@ ! Copyright (c) 2017, Met Office, on behalf of HMSO and Queen's Printer ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Computes the boundary part of the projection operator from the !> potential temperature space to the velocity space weighted by the @@ -19,7 +21,7 @@ module weighted_proj_2theta_bd_kernel_mod mesh_data_type, & reference_element_data_type, & GH_OPERATOR, GH_FIELD, & - GH_SCALAR, GH_REAL, & + GH_REAL, & GH_READ, GH_READWRITE, & STENCIL, CROSS, GH_BASIS, & GH_QUADRATURE_face, & @@ -40,11 +42,10 @@ module weighted_proj_2theta_bd_kernel_mod !> PSy layer. type, public, extends(kernel_type) :: weighted_proj_2theta_bd_kernel_type private - type(arg_type) :: meta_args(4) = (/ & + type(arg_type) :: meta_args(3) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_READWRITE, W2, Wtheta), & arg_type(GH_FIELD, GH_REAL, GH_READ, W3, STENCIL(CROSS)), & - arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & - arg_type(GH_SCALAR, GH_REAL, GH_READ) & + arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta) & /) type(func_type) :: meta_funcs(3) = (/ & func_type(W2, GH_BASIS), & @@ -81,7 +82,6 @@ module weighted_proj_2theta_bd_kernel_mod !> @param[in] stencil_w3_size Size of the W3 stencil (number of cells) !> @param[in] stencil_w3_map W3 dofmaps for the stencil !> @param[in] moist_dyn_factor The moist dynamics factor for theta - !> @param[in] scalar Real to scale matrix by !> @param[in] ndf_w2 Number of degrees of freedom per cell for W2 !> @param[in] w2_basis_face W2 basis functions evaluated at Gaussian !! quadrature points on horizontal faces @@ -110,7 +110,6 @@ subroutine weighted_proj_2theta_bd_code( cell, nlayers, ncell_3d, & projection, exner, & stencil_w3_size, stencil_w3_map, & moist_dyn_factor, & - scalar, & ndf_w2, w2_basis_face, & ndf_wtheta, undf_wtheta, & map_wtheta, wtheta_basis_face, & @@ -148,7 +147,6 @@ subroutine weighted_proj_2theta_bd_code( cell, nlayers, ncell_3d, & real(kind=r_solver), dimension(ncell_3d,ndf_w2,ndf_wtheta), intent(inout) :: projection real(kind=r_solver), dimension(undf_w3), intent(in) :: exner real(kind=r_solver), dimension(undf_wtheta), intent(in) :: moist_dyn_factor - real(kind=r_solver), intent(in) :: scalar integer(kind=i_def), intent(in) :: adjacent_face(:) @@ -209,7 +207,7 @@ subroutine weighted_proj_2theta_bd_code( cell, nlayers, ncell_3d, & v = rsol_w2_basis_face(:,df2,qp,face) integrand = rsol_wqp_f(qp,face)*exner_av*dot_product(v, normal) - projection(ik,df2,df0) = projection(ik,df2,df0) - scalar*integrand + projection(ik,df2,df0) = projection(ik,df2,df0) - integrand end do ! df2 end do ! df0 diff --git a/science/gungho/source/kernel/solver/weighted_proj_2theta_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_2theta_kernel_mod.F90 index d3656be547..c8b6691fdd 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_2theta_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_2theta_kernel_mod.F90 @@ -2,6 +2,8 @@ ! Copyright (c) 2017, Met Office, on behalf of HMSO and Queen's Printer ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Compute the projection operator from the potential temperature space !! to the velocity space weighted by the pressure gradient. @@ -18,7 +20,7 @@ module weighted_proj_2theta_kernel_mod use argument_mod, only: arg_type, func_type, & GH_OPERATOR, GH_FIELD, & - GH_SCALAR, GH_REAL, & + GH_REAL, & GH_READ, GH_WRITE, & ANY_SPACE_9, & GH_BASIS, GH_DIFF_BASIS, & @@ -37,11 +39,10 @@ module weighted_proj_2theta_kernel_mod type, public, extends(kernel_type) :: weighted_proj_2theta_kernel_type private - type(arg_type) :: meta_args(4) = (/ & + type(arg_type) :: meta_args(3) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, W2, ANY_SPACE_9), & arg_type(GH_FIELD, GH_REAL, GH_READ, W3), & - arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_SPACE_9), & - arg_type(GH_SCALAR, GH_REAL, GH_READ) & + arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_SPACE_9) & /) type(func_type) :: meta_funcs(3) = (/ & func_type(W2, GH_BASIS, GH_DIFF_BASIS), & @@ -68,7 +69,6 @@ module weighted_proj_2theta_kernel_mod !! @param[in,out] projection Projection operator to compute !! @param[in] exner Exner pressure !! @param[in] moist_dyn_factor The moist dynamics factor for theta -!! @param[in] scalar Real to scale matrix by !! @param[in] ndf_w2 Number of degrees of freedom per cell !! @param[in] basis_w2 Basis functions evaluated at quadrature points !! @param[in] diff_basis_w2 Differential vector basis functions evaluated @@ -91,7 +91,6 @@ subroutine weighted_proj_2theta_code(cell, nlayers, ncell_3d, & projection, & exner, & moist_dyn_factor, & - scalar, & ndf_w2, basis_w2, diff_basis_w2, & ndf_wtheta, undf_wtheta, map_wtheta, & basis_wtheta, diff_basis_wtheta, & @@ -118,7 +117,6 @@ subroutine weighted_proj_2theta_code(cell, nlayers, ncell_3d, & real(kind=r_solver), dimension(ncell_3d,ndf_w2,ndf_wtheta), intent(inout) :: projection real(kind=r_solver), dimension(undf_w3), intent(in) :: exner real(kind=r_solver), dimension(undf_wtheta), intent(in) :: moist_dyn_factor - real(kind=r_solver), intent(in) :: scalar real(kind=r_def), dimension(nqp_h), intent(in) :: wqp_h real(kind=r_def), dimension(nqp_v), intent(in) :: wqp_v @@ -158,7 +156,7 @@ subroutine weighted_proj_2theta_code(cell, nlayers, ncell_3d, & + exner_e(df)*rsol_basis_w3(1,df,qp1,qp2) end do wt = real(wqp_h(qp1)*wqp_v(qp2), r_solver) - integrand = scalar*exner_quad*wt + integrand = exner_quad*wt do df0 = 1, ndf_wtheta do df2 = 1, ndf_w2 div_gamma_v = rsol_diff_basis_w2(1,df2,qp1,qp2)*rsol_basis_wtheta(1,df0,qp1,qp2) & diff --git a/science/gungho/source/kernel/solver/weighted_proj_2thetav_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_2thetav_kernel_mod.F90 index 177f9c15ce..2f9634f983 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_2thetav_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_2thetav_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (c) Crown copyright 2023 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Compute the projection operator from the potential temperature space !! to the velocity space weighted by the pressure gradient. @@ -18,8 +20,8 @@ module weighted_proj_2thetav_kernel_mod use argument_mod, only: arg_type, func_type, & GH_OPERATOR, GH_FIELD, & - GH_SCALAR, GH_REAL, & - GH_INTEGER, & + GH_REAL, & + GH_INTEGER, GH_SCALAR, & GH_READ, GH_WRITE, & ANY_SPACE_9, & GH_BASIS, GH_DIFF_BASIS, & @@ -38,11 +40,10 @@ module weighted_proj_2thetav_kernel_mod type, public, extends(kernel_type) :: weighted_proj_2thetav_kernel_type private - type(arg_type) :: meta_args(6) = (/ & + type(arg_type) :: meta_args(5) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, W2, ANY_SPACE_9), & arg_type(GH_FIELD, GH_REAL, GH_READ, W3), & arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_SPACE_9), & - arg_type(GH_SCALAR, GH_REAL, GH_READ), & arg_type(GH_SCALAR, GH_INTEGER, GH_READ), & arg_type(GH_SCALAR, GH_INTEGER, GH_READ) & /) @@ -71,7 +72,6 @@ module weighted_proj_2thetav_kernel_mod !! @param[in,out] projection Projection operator to compute !! @param[in] exner Exner pressure !! @param[in] moist_dyn_factor The moist dynamics factor for theta -!! @param[in] scalar Real to scale matrix by !! @param[in] element_order_h Horizontal element order of the function space !! @param[in] element_order_v Vertical element order of the function space !! @param[in] ndf_w2 Number of degrees of freedom per cell @@ -96,7 +96,6 @@ subroutine weighted_proj_2thetav_code(cell, nlayers, ncell_3d, & projection, & exner, & moist_dyn_factor, & - scalar, & element_order_h, element_order_v, & ndf_w2, basis_w2, diff_basis_w2, & ndf_wtheta, undf_wtheta, map_wtheta, & @@ -126,7 +125,6 @@ subroutine weighted_proj_2thetav_code(cell, nlayers, ncell_3d, & real(kind=r_solver), dimension(ncell_3d,ndf_w2,ndf_wtheta), intent(inout) :: projection real(kind=r_solver), dimension(undf_w3), intent(in) :: exner real(kind=r_solver), dimension(undf_wtheta), intent(in) :: moist_dyn_factor - real(kind=r_solver), intent(in) :: scalar real(kind=r_def), dimension(nqp_h), intent(in) :: wqp_h real(kind=r_def), dimension(nqp_v), intent(in) :: wqp_v @@ -179,7 +177,7 @@ subroutine weighted_proj_2thetav_code(cell, nlayers, ncell_3d, & + exner_e(df)*rsol_basis_w3(1,df,qp1,qp2) end do wt = real(wqp_h(qp1)*wqp_v(qp2), r_solver) - integrand = scalar*exner_quad*wt + integrand = exner_quad*wt do df0 = 1, ndf_wtheta do df2 = ndf_w2h_vol+1, ndf_w2 ! W2 dofs are ordered: diff --git a/science/gungho/source/kernel/solver/weighted_proj_theta2_bd_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_theta2_bd_kernel_mod.F90 index 33c58e484b..a74a0749ae 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_theta2_bd_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_theta2_bd_kernel_mod.F90 @@ -2,6 +2,8 @@ ! Copyright (c) 2017, Met Office, on behalf of HMSO and Queen's Printer ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Computes the boundary integral part of the projection operator from !> the velocity space to the potential temperature space weighted by @@ -21,10 +23,9 @@ module weighted_proj_theta2_bd_kernel_mod mesh_data_type, & reference_element_data_type, & GH_OPERATOR, GH_FIELD, & - GH_SCALAR, GH_REAL, & GH_READ, GH_READWRITE, & STENCIL, CROSS, GH_BASIS, & - GH_QUADRATURE_face, & + GH_QUADRATURE_face, GH_REAL, & CELL_COLUMN, adjacent_face, & outward_normals_to_horizontal_faces use constants_mod, only : r_def, i_def, l_def, r_solver @@ -43,10 +44,9 @@ module weighted_proj_theta2_bd_kernel_mod !> PSy layer. type, public, extends(kernel_type) :: weighted_proj_theta2_bd_kernel_type private - type(arg_type) :: meta_args(3) = (/ & + type(arg_type) :: meta_args(2) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_READWRITE, Wtheta, W2), & - arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta, STENCIL(CROSS)), & - arg_type(GH_SCALAR, GH_REAL, GH_READ) & + arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta, STENCIL(CROSS)) & /) type(func_type) :: meta_funcs(2) = (/ & func_type(Wtheta, GH_BASIS), & @@ -81,7 +81,6 @@ module weighted_proj_theta2_bd_kernel_mod !> @param[in] theta Potential temperature !> @param[in] stencil_wtheta_size Number of cells in the Wtheta stencil map !> @param[in] stencil_wtheta_map Stencil dofmap for the Wtheta space - !> @param[in] scalar Real to scale matrix by !> @param[in] ndf_wtheta Number of degrees of freedom per cell for Wtheta !> @param[in] undf_wtheta Number of unique degrees of freedom for Wtheta !> @param[in] map_wtheta Dofmap for the cell at the base of the column for @@ -106,7 +105,6 @@ subroutine weighted_proj_theta2_bd_code( cell, nlayers, ncell_3d, & projection, theta, & stencil_wtheta_size, & stencil_wtheta_map, & - scalar, & ndf_wtheta, undf_wtheta, map_wtheta, & wtheta_basis_face, & ndf_w2, w2_basis_face, & @@ -131,7 +129,6 @@ subroutine weighted_proj_theta2_bd_code( cell, nlayers, ncell_3d, & real(kind=r_solver), dimension(ncell_3d,ndf_wtheta,ndf_w2), intent(inout) :: projection real(kind=r_solver), dimension(undf_wtheta), intent(in) :: theta - real(kind=r_solver), intent(in) :: scalar real(kind=r_def), dimension(3,ndf_w2,nqp_f,nfaces_qr), intent(in) :: w2_basis_face real(kind=r_def), dimension(1,ndf_wtheta,nqp_f,nfaces_qr), intent(in) :: wtheta_basis_face @@ -201,7 +198,7 @@ subroutine weighted_proj_theta2_bd_code( cell, nlayers, ncell_3d, & do dft = 1,ndf_wtheta projection(ik,dft,df2) = projection(ik,dft,df2) & + rsol_wtheta_basis_face(1,dft,qp,face) & - * flux_term * scalar + * flux_term end do ! dft end do ! df2 diff --git a/science/gungho/source/kernel/solver/weighted_proj_theta2_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_theta2_kernel_mod.F90 index d34d817d2f..90c465668c 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_theta2_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_theta2_kernel_mod.F90 @@ -2,6 +2,8 @@ ! Copyright (c) 2017, Met Office, on behalf of HMSO and Queen's Printer ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- ! !------------------------------------------------------------------------------- @@ -13,7 +15,7 @@ module weighted_proj_theta2_kernel_mod use argument_mod, only : arg_type, func_type, & GH_OPERATOR, GH_FIELD, & - GH_SCALAR, GH_REAL, & + GH_REAL, & GH_READ, GH_WRITE, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, GH_QUADRATURE_XYoZ @@ -31,10 +33,9 @@ module weighted_proj_theta2_kernel_mod !> The type declaration for the kernel. Contains the metadata needed by the Psy layer type, public, extends(kernel_type) :: weighted_proj_theta2_kernel_type private - type(arg_type) :: meta_args(3) = (/ & + type(arg_type) :: meta_args(2) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, Wtheta, W2), & - arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & - arg_type(GH_SCALAR, GH_REAL, GH_READ) & + arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta) & /) type(func_type) :: meta_funcs(2) = (/ & func_type(Wtheta, GH_BASIS, GH_DIFF_BASIS), & @@ -59,7 +60,6 @@ module weighted_proj_theta2_kernel_mod !! @param[in] ncell_3d Total number of cells in the 3d mesh !! @param[in,out] projection Locally assembled projection operator !! @param[in] theta Potential temperature array -!! @param[in] scalar Real to scale matrix by !! @param[in] ndf_wt Number of degrees of freedom per cell for Wtheta !! @param[in] undf_wt Number of unique degrees of freedom for Wtheta !! @param[in] map_wt Dofmap for the cell at the base of the column for Wtheta @@ -77,7 +77,6 @@ module weighted_proj_theta2_kernel_mod subroutine weighted_proj_theta2_code(cell, nlayers, ncell_3d, & projection, & theta, & - scalar, & ndf_wt, undf_wt, map_wt, & wt_basis, wt_diff_basis, & ndf_w2, w2_basis, w2_diff_basis, & @@ -98,7 +97,6 @@ subroutine weighted_proj_theta2_code(cell, nlayers, ncell_3d, & real(kind=r_solver), dimension(ncell_3d,ndf_wt,ndf_w2), intent(inout) :: projection real(kind=r_solver), dimension(undf_wt), intent(in) :: theta - real(kind=r_solver), intent(in) :: scalar real(kind=r_def), dimension(nqp_h), intent(in) :: wqp_h real(kind=r_def), dimension(nqp_v), intent(in) :: wqp_v @@ -134,7 +132,7 @@ subroutine weighted_proj_theta2_code(cell, nlayers, ncell_3d, & theta_at_quad = theta_at_quad + theta_e(df)*rsol_wt_basis(1,df,qp1,qp2) end do wgt = real(wqp_h(qp1)*wqp_v(qp2), r_solver) - i1 = scalar*theta_at_quad*wgt + i1 = theta_at_quad*wgt do df2 = 1,ndf_w2 do dft = 1,ndf_wt div_gamma_v = rsol_wt_basis(1,dft,qp1,qp2)*rsol_w2_diff_basis(1,df2,qp1,qp2) & diff --git a/science/gungho/source/kernel/solver/weighted_proj_theta2_vert_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_theta2_vert_kernel_mod.F90 index 5202edd725..e8e4de4e08 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_theta2_vert_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_theta2_vert_kernel_mod.F90 @@ -2,6 +2,8 @@ ! Copyright (c) 2017, Met Office, on behalf of HMSO and Queen's Printer ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> @brief Compute the projection operator from the vertical part of the !> velocity space to the potential temperature space weighted by the @@ -14,8 +16,8 @@ module weighted_proj_theta2_vert_kernel_mod use argument_mod, only : arg_type, func_type, & GH_OPERATOR, GH_FIELD, & - GH_SCALAR, GH_REAL, & GH_INTEGER, & + GH_SCALAR, GH_REAL, & GH_READ, GH_WRITE, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, GH_QUADRATURE_XYoZ @@ -35,10 +37,9 @@ module weighted_proj_theta2_vert_kernel_mod !> type, public, extends(kernel_type) :: weighted_proj_theta2_vert_kernel_type private - type(arg_type) :: meta_args(5) = (/ & + type(arg_type) :: meta_args(4) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, Wtheta, W2), & arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & - arg_type(GH_SCALAR, GH_REAL, GH_READ), & arg_type(GH_SCALAR, GH_INTEGER, GH_READ), & arg_type(GH_SCALAR, GH_INTEGER, GH_READ) & /) @@ -65,7 +66,6 @@ module weighted_proj_theta2_vert_kernel_mod !! @param[in] ncell_3d Total number of cells in the 3d mesh !! @param[in,out] projection Locally assembled projection operator !! @param[in] theta Potential temperature array -!! @param[in] scalar Real to scale matrix by !! @param[in] element_order_h Horizontal element order of the function space !! @param[in] element_order_v Vertical element order of the function space !! @param[in] ndf_wtheta Number of degrees of freedom per cell for Wtheta @@ -83,7 +83,6 @@ module weighted_proj_theta2_vert_kernel_mod subroutine weighted_proj_theta2_vert_code(cell, nlayers, ncell_3d, & projection, & theta, & - scalar, & element_order_h, & element_order_v, & ndf_wtheta, undf_wtheta, map_wtheta, & @@ -106,7 +105,6 @@ subroutine weighted_proj_theta2_vert_code(cell, nlayers, ncell_3d, real(kind=r_solver), dimension(ncell_3d,ndf_wtheta,ndf_w2), intent(inout) :: projection real(kind=r_solver), dimension(undf_wtheta), intent(in) :: theta - real(kind=r_solver), intent(in) :: scalar real(kind=r_def), dimension(nqp_h), intent(in) :: wqp_h real(kind=r_def), dimension(nqp_v), intent(in) :: wqp_v @@ -159,7 +157,7 @@ subroutine weighted_proj_theta2_vert_code(cell, nlayers, ncell_3d, ! so the pragmatic solution is to enfoce dtheta/dz > 0 here grad_theta_at_quad(3) = max(1.0_r_solver, grad_theta_at_quad(3)) wt = real(wqp_h(qp1)*wqp_v(qp2), r_solver) - i1 = scalar*grad_theta_at_quad*wt + i1 = grad_theta_at_quad*wt do df2 = ndf_w2h_vol+1,ndf_w2 ! W2 dofs are ordered: ! a) Horizontal volume dofs diff --git a/science/gungho/source/kernel/solver/weighted_proj_theta2v_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_theta2v_kernel_mod.F90 index a674a6578d..f7ea5dbc5c 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_theta2v_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_theta2v_kernel_mod.F90 @@ -2,6 +2,8 @@ ! (c) Crown copyright 2023 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- ! !------------------------------------------------------------------------------- @@ -14,8 +16,8 @@ module weighted_proj_theta2v_kernel_mod use argument_mod, only : arg_type, func_type, & GH_OPERATOR, GH_FIELD, & - GH_SCALAR, GH_REAL, & - GH_INTEGER, & + GH_INTEGER, GH_SCALAR, & + GH_REAL, & GH_READ, GH_WRITE, & GH_BASIS, GH_DIFF_BASIS, & CELL_COLUMN, GH_QUADRATURE_XYoZ @@ -33,10 +35,9 @@ module weighted_proj_theta2v_kernel_mod !> The type declaration for the kernel. Contains the metadata needed by the Psy layer type, public, extends(kernel_type) :: weighted_proj_theta2v_kernel_type private - type(arg_type) :: meta_args(5) = (/ & + type(arg_type) :: meta_args(4) = (/ & arg_type(GH_OPERATOR, GH_REAL, GH_WRITE, Wtheta, W2), & arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), & - arg_type(GH_SCALAR, GH_REAL, GH_READ), & arg_type(GH_SCALAR, GH_INTEGER, GH_READ), & arg_type(GH_SCALAR, GH_INTEGER, GH_READ) & /) @@ -63,7 +64,6 @@ module weighted_proj_theta2v_kernel_mod !! @param[in] ncell_3d Total number of cells in the 3d mesh !! @param[in,out] projection Locally assembled projection operator !! @param[in] theta Potential temperature array -!! @param[in] scalar Real to scale matrix by !! @param[in] element_order_h Horizontal element order of the function space !! @param[in] element_order_v Vertical element order of the function space !! @param[in] ndf_wt Number of degrees of freedom per cell for Wtheta @@ -83,7 +83,6 @@ module weighted_proj_theta2v_kernel_mod subroutine weighted_proj_theta2v_code(cell, nlayers, ncell_3d, & projection, & theta, & - scalar, & element_order_h, & element_order_v, & ndf_wt, undf_wt, map_wt, & @@ -107,7 +106,6 @@ subroutine weighted_proj_theta2v_code(cell, nlayers, ncell_3d, & real(kind=r_solver), dimension(ncell_3d,ndf_wt,ndf_w2), intent(inout) :: projection real(kind=r_solver), dimension(undf_wt), intent(in) :: theta - real(kind=r_solver), intent(in) :: scalar real(kind=r_def), dimension(nqp_h), intent(in) :: wqp_h real(kind=r_def), dimension(nqp_v), intent(in) :: wqp_v @@ -155,7 +153,7 @@ subroutine weighted_proj_theta2v_code(cell, nlayers, ncell_3d, & theta_at_quad = theta_at_quad + theta_e(df)*rsol_wt_basis(1,df,qp1,qp2) end do wgt = real(wqp_h(qp1)*wqp_v(qp2), r_solver) - i1 = scalar*theta_at_quad*wgt + i1 = theta_at_quad*wgt do df2 = ndf_w2h_vol+1, ndf_w2 ! W2 dofs are ordered: ! a) Horizontal volume dofs diff --git a/science/gungho/source/psy/psykal_lite_mod.F90 b/science/gungho/source/psy/psykal_lite_mod.F90 index 80509dc1d2..773a2a2589 100644 --- a/science/gungho/source/psy/psykal_lite_mod.F90 +++ b/science/gungho/source/psy/psykal_lite_mod.F90 @@ -2,6 +2,8 @@ ! Copyright (c) 2017, Met Office, on behalf of HMSO and Queen's Printer ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- ! !------------------------------------------------------------------------------- @@ -77,7 +79,8 @@ end subroutine invoke_compute_dof_level_kernel ! see PSyclone #1103: https://github.com/stfc/PSyclone/issues/1103 ! The LFRic infrastructure for this will be introduced in #2532 subroutine invoke_helmholtz_operator_kernel_type(helmholtz_operator, hb_lumped_inv, stencil_depth, u_normalisation, div_star, & - t_normalisation, ptheta2v, compound_div, m3_exner_star, p3theta, w2_mask) + t_normalisation, ptheta2v, compound_div, m3_exner_star, p3theta, w2_mask, & + tau_u_dt_cp, tau_t_dt, tau_r_dt) use helmholtz_operator_kernel_mod, only: helmholtz_operator_code use mesh_mod, only: mesh_type use stencil_2d_dofmap_mod, only: stencil_2d_cross @@ -88,6 +91,7 @@ subroutine invoke_helmholtz_operator_kernel_type(helmholtz_operator, hb_lumped_i type(r_solver_field_type), intent(in) :: helmholtz_operator(9) type(r_solver_field_type), intent(in) :: hb_lumped_inv, u_normalisation, t_normalisation, w2_mask type(r_solver_operator_type), intent(in) :: div_star, ptheta2v, compound_div, m3_exner_star, p3theta + real(kind=r_solver), intent(in) :: tau_u_dt_cp, tau_t_dt, tau_r_dt integer(kind=i_def), intent(in) :: stencil_depth integer(kind=i_def) :: stencil_size integer(kind=i_def) cell @@ -232,6 +236,7 @@ subroutine invoke_helmholtz_operator_kernel_type(helmholtz_operator, hb_lumped_i p3theta_proxy%ncell_3d, & p3theta_proxy%local_stencil, & w2_mask_proxy%data, & + tau_u_dt_cp, tau_t_dt, tau_r_dt, & ndf_w3, undf_w3, map_w3(:,cell), & ndf_w2, undf_w2, map_w2(:,cell), & ndf_wtheta, undf_wtheta, map_wtheta(:,cell)) @@ -262,8 +267,9 @@ end subroutine invoke_helmholtz_operator_kernel_type ! The LFRic infrastructure for this will be introduced in #2532 subroutine invoke_elim_helmholtz_operator_kernel_type(helmholtz_operator, hb_lumped_inv, stencil_depth, & u_normalisation, div_star, & - m3_exner_star, Q32, & - w2_mask) + m3_exner_star, Q32_rho, Q32_theta, & + w2_mask, & + tau_u_dt_cp, tau_r_dt, tau_t_dt) use elim_helmholtz_operator_kernel_mod, only: elim_helmholtz_operator_code use mesh_mod, only: mesh_type use stencil_dofmap_mod, only: stencil_cross @@ -274,12 +280,13 @@ subroutine invoke_elim_helmholtz_operator_kernel_type(helmholtz_operator, hb_lum type(r_solver_field_type), intent(in) :: helmholtz_operator(9) type(r_solver_field_type), intent(in) :: hb_lumped_inv, u_normalisation, w2_mask - type(r_solver_operator_type), intent(in) :: div_star, m3_exner_star, Q32 + type(r_solver_operator_type), intent(in) :: div_star, m3_exner_star, Q32_rho, Q32_theta + real(kind=r_solver), intent(in) :: tau_u_dt_cp, tau_r_dt, tau_t_dt integer(kind=i_def), intent(in) :: stencil_depth integer(kind=i_def) :: stencil_size integer(kind=i_def) cell integer(kind=i_def) nlayers - type(r_solver_operator_proxy_type) div_star_proxy, m3_exner_star_proxy, Q32_proxy + type(r_solver_operator_proxy_type) div_star_proxy, m3_exner_star_proxy, Q32_rho_proxy, Q32_theta_proxy type(r_solver_field_proxy_type) helmholtz_operator_proxy(9) type(r_solver_field_proxy_type) hb_lumped_inv_proxy, u_normalisation_proxy, & w2_mask_proxy @@ -309,7 +316,8 @@ subroutine invoke_elim_helmholtz_operator_kernel_type(helmholtz_operator, hb_lum u_normalisation_proxy = u_normalisation%get_proxy() div_star_proxy = div_star%get_proxy() m3_exner_star_proxy = m3_exner_star%get_proxy() - Q32_proxy = Q32%get_proxy() + Q32_rho_proxy = Q32_rho%get_proxy() + Q32_theta_proxy = Q32_theta%get_proxy() w2_mask_proxy = w2_mask%get_proxy() ! ! Initialise number of layers @@ -391,9 +399,12 @@ subroutine invoke_elim_helmholtz_operator_kernel_type(helmholtz_operator, hb_lum div_star_proxy%local_stencil, & m3_exner_star_proxy%ncell_3d, & m3_exner_star_proxy%local_stencil, & - Q32_proxy%ncell_3d, & - Q32_proxy%local_stencil, & + Q32_rho_proxy%ncell_3d, & + Q32_rho_proxy%local_stencil, & + Q32_theta_proxy%ncell_3d, & + Q32_theta_proxy%local_stencil, & w2_mask_proxy%data, & + tau_u_dt_cp, tau_r_dt, tau_t_dt, & ndf_w3, undf_w3, map_w3(:,cell), & ndf_w2, undf_w2, map_w2(:,cell)) end do diff --git a/science/gungho/unit-test/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod_test.pf index fde964b8fb..629b6353ac 100644 --- a/science/gungho/unit-test/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod_test.pf @@ -2,6 +2,8 @@ ! (C) Crown copyright 2021 Met Office. All rights reserved. ! For further details please refer to the file COPYRIGHT.txt ! which you should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> Test computation of the LHS of the equation of state: @@ -89,6 +91,9 @@ contains integer(kind=i_def) :: df real(kind=r_solver) :: answer + ! Scaling constant applied to the Q32 contribution + real(kind=r_solver), parameter :: const_r = 3.0_r_solver + map_wt = (/ 1_i_def, 2_i_def /) map_w3 = (/ 1_i_def /) map_w2 = (/ 1_i_def, 2_i_def, 3_i_def, 4_i_def /) @@ -110,7 +115,7 @@ contains u = (/ 0.8_r_solver, 0.1_r_solver, -3.0_r_solver, 2.5_r_solver /) lhs_exner = 0.0_r_solver - ! Compute m3exner*exner - p3thetar*theta + q32*u + ! Compute m3exner*exner - p3thetar*theta + const_r*q32*u call apply_elim_mixed_lp_operator_code(cell, & nlayers, & lhs_exner, & @@ -118,6 +123,7 @@ contains ncell, m3exner, & ncell, q32, & ncell, p3theta, & + const_r, & ndf_w3, undf_w3, map_w3, & ndf_wt, undf_wt, map_wt, & ndf_w2, undf_w2, map_w2) @@ -125,7 +131,7 @@ contains do df = 1, ndf_w3 answer = m3exner(1,df,df)*exner(df) & - sum(p3theta(1,df,:)*theta(:)) & - + sum(q32(1,df,:)*u(:)) + + const_r*sum(q32(1,df,:)*u(:)) @assertEqual(answer, lhs_exner(df), tol) end do diff --git a/science/gungho/unit-test/kernel/solver/apply_mixed_lu_operator_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/apply_mixed_lu_operator_kernel_mod_test.pf index 402cc71979..1b7d30e571 100644 --- a/science/gungho/unit-test/kernel/solver/apply_mixed_lu_operator_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/apply_mixed_lu_operator_kernel_mod_test.pf @@ -2,6 +2,8 @@ ! (C) Crown copyright 2021 Met Office. All rights reserved. ! For further details please refer to the file COPYRIGHT.txt ! which you should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> Test the mixed operator to the momentum equation @@ -89,6 +91,10 @@ contains integer(i_def) :: df real(r_solver) :: answer + ! Scaling constant applied to the pressure gradient and potential + ! temperature projection contributions + real(r_solver), parameter :: const_u = 3.0_r_solver + map_w2 = (/ 1_i_def, 2_i_def, 3_i_def, 4_i_def /) map_wt = (/ 1_i_def, 2_i_def /) map_w3 = (/ 1_i_def /) @@ -108,7 +114,7 @@ contains Nu = 2.0_r_solver Lu = 0.0_r_solver - ! Compute Nu*(Mu*u - Proj*t - Grad*p) + ! Compute Nu*(Mu*u - const_u*Proj*t - const_u*Grad*p) call apply_mixed_lu_operator_code(cell, & nlayers, & Lu, & @@ -117,12 +123,13 @@ contains ncell, Proj, & ncell, Grad, & Nu, & + const_u, & ndf_w2, undf_w2, map_w2, & ndf_wt, undf_wt, map_wt, & ndf_w3, undf_w3, map_w3) do df = 1,ndf_w2 - answer = Nu(df)*(Mu(1,df,df)*u(df) - sum(Proj(1,df,:)*t(:)) - Grad(1,df,1)*p(1)) + answer = Nu(df)*(Mu(1,df,df)*u(df) - const_u*sum(Proj(1,df,:)*t(:)) - const_u*Grad(1,df,1)*p(1)) @assertEqual(answer, Lu(df), tol) end do diff --git a/science/gungho/unit-test/kernel/solver/apply_mixed_u_operator_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/apply_mixed_u_operator_kernel_mod_test.pf index 111b48817f..93eaa77527 100644 --- a/science/gungho/unit-test/kernel/solver/apply_mixed_u_operator_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/apply_mixed_u_operator_kernel_mod_test.pf @@ -2,6 +2,8 @@ ! (C) Crown copyright Met Office. All rights reserved. ! For further details please refer to the file COPYRIGHT.txt ! which you should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> Test the mixed operator of the semi-implicit lhs @@ -60,6 +62,9 @@ contains integer(i_def) :: df real(r_solver) :: answer + ! Scaling constant applied to the pressure gradient contribution + real(r_solver), parameter :: const_u = 3.0_r_solver + map_w2h = (/ 1_i_def, 1_i_def + nlayers /) map_w2v = (/ 1_i_def, 2_i_def /) map_w2 = (/ 1_i_def, 1_i_def + nlayers, 1_i_def + 2*nlayers, 2_i_def + 2*nlayers /) @@ -79,7 +84,7 @@ contains Nu = 2.0_r_solver Luv = 0.0_r_solver - ! Compute: (L_uv) = Nu*(Mu*u - Grad*p) + ! Compute: (L_uv) = Nu*(Mu*u - const_u*Grad*p) call apply_mixed_u_operator_code(cell, & nlayers, & Luv, & @@ -87,14 +92,17 @@ contains ncell, Mu, & ncell, Grad, & Nu, & + const_u, & ndf_w2h, undf_w2h, map_w2h, & ndf_w2h, undf_w2h, map_w2h, & ndf_w2v, undf_w2v, map_w2v, & ndf_w3, undf_w3, map_w3, & ndf_w2, undf_w2, map_w2) - @assertEqual(2.4_r_solver, Luv(1), tol) - @assertEqual(1.6_r_solver, Luv(2), tol) + ! df=1: const_u*Nu*(-Grad*p) = 3*2*(-(-1)*1.2) = 7.2 + ! df=2: const_u*Nu*(-Grad*p) + Nu*Mu*uv = 3*2*(-1*1.2) + 2*2*1 = -7.2 + 4.0 + @assertEqual(7.2_r_solver, Luv(1), tol) + @assertEqual(-3.2_r_solver, Luv(2), tol) end subroutine test_all diff --git a/science/gungho/unit-test/kernel/solver/apply_mixed_wp_operator_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/apply_mixed_wp_operator_kernel_mod_test.pf index a95cbbd6fc..c4f7a4ff8a 100644 --- a/science/gungho/unit-test/kernel/solver/apply_mixed_wp_operator_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/apply_mixed_wp_operator_kernel_mod_test.pf @@ -2,6 +2,8 @@ ! (C) Crown copyright Met Office. All rights reserved. ! For further details please refer to the file COPYRIGHT.txt ! which you should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Opus 4.8). !----------------------------------------------------------------------------- !> Test the mixed operator of the semi-implicit lhs @@ -70,6 +72,14 @@ contains real(r_solver), dimension(undf_w2v) :: answer real(r_solver) :: answer_p + ! Scaling constants applied at the point of use of the SI operators + real(r_solver), parameter :: const_u = 2.0_r_solver + real(r_solver), parameter :: const_t = 0.5_r_solver + real(r_solver), parameter :: const_r = 3.0_r_solver + integer(i_def) :: dfv + real(r_solver), dimension(undf_wt) :: t + real(r_solver), dimension(ndf_w2) :: u + map_w2h = (/ 1_i_def, 1_i_def + nlayers /) map_w2v = (/ 1_i_def, 2_i_def /) map_w2 = (/ 1_i_def, 1_i_def + nlayers, 1_i_def + 2*nlayers, 2_i_def + 2*nlayers /) @@ -103,9 +113,9 @@ contains Nu(:) = 2.0_r_solver invMt(:) = 0.25_r_solver - ! Compute: (L_uv, L_w) = Nu*(Mu*u - Proj*t - Grad*p) - ! L_p = M3p*p - P3t*t + Q32*u - ! with t = -Mt^-1 * Pt2*u + ! Compute: (L_uv, L_w) = Nu*(Mu*u - const_u*Proj*t - const_u*Grad*p) + ! L_p = M3p*p - P3t*t + const_r*Q32*u + ! with t = -const_t * Mt^-1 * Pt2*u call apply_mixed_wp_operator_code(cell, & nlayers, & Lw, Lp, & @@ -119,40 +129,40 @@ contains ncell, M3p, & ncell, Q32, & ncell, P3t, & + const_u, const_t, const_r, & ndf_w2v, undf_w2v, map_w2v, & ndf_w3, undf_w3, map_w3, & ndf_w2h, undf_w2h, map_w2h, & ndf_wt, undf_wt, map_wt, & ndf_w2, undf_w2, map_w2) - ! The code below can be used to generate the answers required and - ! is kept to here to make altering the unit test following changes in the - ! kernel easier - !t(:) = 0.0_r_solver - !do k = 1, nlayers - ! t(k) = t(k) - Pt2(k,1,3)*w(k) - Pt2(k,1,4)*w(k+1) - ! t(k+1) = t(k+1) - Pt2(k,2,3)*w(k) - Pt2(k,2,4)*w(k+1) - !end do - !t(:) = invMt(:)*t(:) - - !answer(:) = 0.0_r_solver - !do k = 0, nlayers - 1 - ! do dfv = 1,ndf_w2v - ! u = (/ uv(1+k), uv(4+k), w(1+k), w(2+k) /) - ! df = ndf_w2h+dfv - ! answer(map_w2v(dfv)+k) = answer(map_w2v(dfv)+k) & - ! + Nu(map_w2(df)+k)*(sum(Mu(k+1,df,:)*u) & - ! - sum(P2t(k+1,df,:)*t(k+1:k+2)) & - ! - Grad(k+1,df,1)*p(1+k)) - ! end do - !end do - !u = (/ uv(1), uv(4), w(1), w(2) /) - !answer_p = M3p(1,1,1)*p(1) - sum(P3t(1,1,:)*t(1:2)) + sum(Q32(1,1,:)*u(1:4)) - - answer = (/ 0.0_r_solver, 58.0_r_solver, -32.0_r_solver, 0.0_r_solver /) + ! Independent reference computation of the expected answer, including the + ! tau*dt scaling constants applied at the point of use. + t(:) = 0.0_r_solver + do k = 1, nlayers + t(k) = t(k) - Pt2(k,1,3)*w(k) - Pt2(k,1,4)*w(k+1) + t(k+1) = t(k+1) - Pt2(k,2,3)*w(k) - Pt2(k,2,4)*w(k+1) + end do + t(:) = const_t*invMt(:)*t(:) + + answer(:) = 0.0_r_solver + do k = 0, nlayers - 1 + do dfv = 1,ndf_w2v + u = (/ uv(1+k), uv(4+k), w(1+k), w(2+k) /) + df = ndf_w2h+dfv + answer(map_w2v(dfv)+k) = answer(map_w2v(dfv)+k) & + + Nu(map_w2(df)+k)*( sum(Mu(k+1,df,:)*u) & + + const_u*( - sum(P2t(k+1,df,:)*t(k+1:k+2)) & + - Grad(k+1,df,1)*p(1+k) ) ) + end do + end do + ! Boundary conditions on lhs_w + answer(map_w2v(1)) = 0.0_r_solver + answer(map_w2v(2)+nlayers-1) = 0.0_r_solver @assertEqual(answer, Lw, tol) - answer_p = 72.6_r_solver + u = (/ uv(1), uv(4), w(1), w(2) /) + answer_p = M3p(1,1,1)*p(1) - sum(P3t(1,1,:)*t(1:2)) + const_r*sum(Q32(1,1,:)*u(1:4)) @assertEqual(answer_p, Lp(1), tol) end subroutine test_all diff --git a/science/gungho/unit-test/kernel/solver/elim_helmholtz_operator_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/elim_helmholtz_operator_kernel_mod_test.pf index 415a64874b..d266188120 100644 --- a/science/gungho/unit-test/kernel/solver/elim_helmholtz_operator_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/elim_helmholtz_operator_kernel_mod_test.pf @@ -84,12 +84,17 @@ contains ! Operators real(kind=r_solver), dimension(ncell, ndf_w2, ndf_w3) :: div_star real(kind=r_solver), dimension(ncell, ndf_w3, ndf_w2) :: q32 + real(kind=r_solver), dimension(ncell, ndf_w3, ndf_w2) :: q32_theta real(kind=r_solver), dimension(ncell, ndf_w3, ndf_w3) :: m3_exner_star ! Number of dofs in a single column: 4*nlayers horizontal dofs ! and (nlayers + 1) vertical dofs integer(kind=i_def), parameter :: ndofs_col = 5*nlayers+1 + real(kind=r_solver), parameter :: const_u = 1.0_r_solver + real(kind=r_solver), parameter :: const_r = 1.0_r_solver + real(kind=r_solver), parameter :: const_t = 1.0_r_solver + integer(kind=i_def) :: df, k real(kind=r_solver) :: answer @@ -134,6 +139,9 @@ contains div_star = 1.0_r_solver m3_exner_star = 10.0_r_solver q32 = 10.0_r_solver + ! q32_theta is scaled by const_t; set to zero so it does not contribute + ! and the expected answers below (derived for a single Q32 operator) hold + q32_theta = 0.0_r_solver ! Compute Helmholtz operator call elim_helmholtz_operator_code(smap_size_w2, & @@ -151,7 +159,10 @@ contains m3_exner_star, & ncell, & q32, & + ncell, & + q32_theta, & w2_mask, & + const_u, const_r, const_t, & ndf_w3, undf_w3, map_w3, & ndf_w2, undf_w2, map_w2) ! In terms of the kernel operators we have diff --git a/science/gungho/unit-test/kernel/solver/eliminated_theta_q22_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/eliminated_theta_q22_kernel_mod_test.pf index b3b3b9cb6f..4ea2a6ef07 100644 --- a/science/gungho/unit-test/kernel/solver/eliminated_theta_q22_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/eliminated_theta_q22_kernel_mod_test.pf @@ -2,6 +2,8 @@ ! (c) Crown copyright 2021 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> Test the weighted W2 mass matrix obtained by eliminating theta @@ -119,8 +121,6 @@ contains ! Coordinate fields real(kind=r_def), dimension(ndf_wx) :: x, y, z real(kind=r_def) :: dx, dy, dz, zero, detj - ! Scalars - real(kind=r_solver) :: const integer(kind=i_def) :: i, df1, df2 @@ -177,7 +177,6 @@ contains theta = (/ 300.0_r_solver, 310.0_r_solver /) exner = (/ 1.0_r_solver, 0.95_r_solver /) norm_u = (/ 2.0_r_solver, 0.5_r_solver, 3.0_r_solver, 6.3_r_solver /) - const = 17.0_r_solver call eliminated_theta_q22_code(cell, & nlayers, & @@ -188,7 +187,6 @@ contains norm_u, & x, y, z, & panel_id, & - const, & ndf_w2, undf_w2, map_w2, & basis_w2, & ndf_wt, undf_wt, map_wt, & @@ -198,14 +196,14 @@ contains ndf_p, undf_p, map_p, & nqp, nqp, wgt, wgt) - ! Q22 = norm_u * const * < basis_w2, (dtheta/dz * k.basis_w2)*(k*dexner/dz)/detJ > + ! Q22 = norm_u * < basis_w2, (dtheta/dz * k.basis_w2)*(k*dexner/dz)/detJ > ! Q22 is only non-zero for vertical dofs (=3,4) so we only need to compute ! the answer for these detj = dx*dy*dz answer = 0.0_r_solver do df2 = 3,4 do df1 = 3,4 - answer(df1,df2) = 0.25_r_solver * const * norm_u(df1) * & + answer(df1,df2) = 0.25_r_solver * norm_u(df1) * & (exner(2)-exner(1))*(theta(2)-theta(1))/real(detj, r_solver) end do end do diff --git a/science/gungho/unit-test/kernel/solver/eliminated_theta_q2t_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/eliminated_theta_q2t_kernel_mod_test.pf index 8f79d392b5..393209fbda 100644 --- a/science/gungho/unit-test/kernel/solver/eliminated_theta_q2t_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/eliminated_theta_q2t_kernel_mod_test.pf @@ -2,6 +2,8 @@ ! (c) Crown copyright 2021 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> Test the weighted q2t matrix @@ -83,8 +85,6 @@ contains ! Fields real(kind=r_solver), dimension(ndf_w2) :: norm_u real(kind=r_solver), dimension(ndf_wt) :: exner - ! Scalars - real(kind=r_solver) :: const integer(kind=i_def) :: i, df1, df2 real(kind=r_solver), dimension(ndf_w2, ndf_wt) :: answer @@ -113,7 +113,6 @@ contains ! Fields exner = (/ 1.0_r_solver, 0.95_r_solver /) norm_u = (/ 2.0_r_solver, 0.5_r_solver, 3.0_r_solver, 6.3_r_solver /) - const = 17.0_r_solver call eliminated_theta_q2t_code(cell, & nlayers, & @@ -121,19 +120,18 @@ contains q2t, & norm_u, & exner, & - const, & ndf_w2, undf_w2, map_w2, & basis_w2, & ndf_wt, undf_wt, map_wt, & basis_wt, diff_basis_wt, & nqp, nqp, wgt, wgt) - ! q2t = - norm_u * const * < basis_w2, (k*dexner/dz)*basis_wt > + ! q2t = - norm_u * < basis_w2, (k*dexner/dz)*basis_wt > ! This is only non-zero for vertical components of W2 ( df1 = 3,4) answer = 0.0_r_solver do df2 = 1,ndf_wt do df1 = 3,ndf_w2 - answer(df1,df2) = -0.25_r_solver * const * norm_u(df1) * (exner(2)-exner(1)) + answer(df1,df2) = -0.25_r_solver * norm_u(df1) * (exner(2)-exner(1)) end do end do @assertEqual(answer, q2t(1,:,:), tol) diff --git a/science/gungho/unit-test/kernel/solver/helmholtz_operator_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/helmholtz_operator_kernel_mod_test.pf index a65a858edc..46a1bd046e 100644 --- a/science/gungho/unit-test/kernel/solver/helmholtz_operator_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/helmholtz_operator_kernel_mod_test.pf @@ -164,6 +164,10 @@ contains integer(kind=i_def), parameter :: stencil_size = 5 integer(kind=i_def), parameter :: ncell = stencil_size*nlayers + real(kind=r_solver), parameter :: const_u = 1.0_r_solver + real(kind=r_solver), parameter :: const_r = 1.0_r_solver + real(kind=r_solver), parameter :: const_t = 1.0_r_solver + this%smap_sizes(:) = 2 allocate(this%div_star(ncell, ndf_w2, ndf_w3)) @@ -238,6 +242,9 @@ contains ncell, & this%p3theta, & this%w2_mask, & + const_u, & + const_t, & + const_r, & ndf_w3, & undf_w3, & this%map_w3, & @@ -298,6 +305,10 @@ contains integer(kind=i_def), parameter :: stencil_size = 4 integer(kind=i_def), parameter :: ncell = stencil_size*nlayers + real(kind=r_solver), parameter :: const_u = 1.0_r_solver + real(kind=r_solver), parameter :: const_r = 1.0_r_solver + real(kind=r_solver), parameter :: const_t = 1.0_r_solver + allocate(this%div_star(ncell, ndf_w2, ndf_w3)) allocate(this%compound_div(ncell, ndf_w3, ndf_w2)) allocate(this%p3theta(ncell, ndf_w3, ndf_wt)) @@ -378,6 +389,9 @@ contains ncell, & this%p3theta, & this%w2_mask, & + const_u, & + const_t, & + const_r, & ndf_w3, & undf_w3, & this%map_w3, & diff --git a/science/gungho/unit-test/kernel/solver/project_eliminated_theta_q32_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/project_eliminated_theta_q32_kernel_mod_test.pf index 781923e2bd..e1030d3621 100644 --- a/science/gungho/unit-test/kernel/solver/project_eliminated_theta_q32_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/project_eliminated_theta_q32_kernel_mod_test.pf @@ -2,6 +2,8 @@ ! (C) Crown copyright 2022 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> Test the weighted q32 matrix @@ -56,7 +58,7 @@ contains class(project_eliminated_theta_q32_test_type), intent(inout) :: this - real(kind=r_solver), parameter :: tol = 1.0e-12_r_solver + real(kind=r_solver), parameter :: tol = 1.0e-7_r_solver ! Mesh integer(kind=i_def), parameter :: ncell = 1 @@ -88,8 +90,6 @@ contains real(kind=r_solver), dimension(undf_wt) :: theta ! Operators real(kind=r_solver), dimension(ncell,ndf_w3,ndf_w3) :: inv_m3 - ! Scalars - real(kind=r_solver) :: const integer(kind=i_def) :: i, df1, df2 real(kind=r_solver), dimension(ndf_w3, ndf_w2) :: answer @@ -122,7 +122,6 @@ contains ! Fields theta = (/ 310.0_r_solver, 322.95_r_solver /) - const = 17.0_r_solver ! Operators inv_m3 = 1.0_r_solver/27.0_r_solver q32 = 0.0_r_solver @@ -133,19 +132,18 @@ contains theta, & ncell, & inv_m3, & - const, & ndf_w3, basis_w3, & ndf_w2, basis_w2, & ndf_wt, undf_wt, map_wt, & basis_wt, diff_basis_wt, & nqp, nqp, wgt, wgt) - ! q32 = const * < basis_w3, (k*dtheta/dz).basis_w2 > + ! q32 = < basis_w3, (k*dtheta/dz).basis_w2 > ! Only the vertical components of W2 are nonzero (df2 = 3,4) answer = 0.0_r_solver do df2 = 3,ndf_w2 do df1 = 1,ndf_w3 - answer(df1,df2) = const / 27.0_r_solver * (theta(2)-theta(1))/(theta(2)+theta(1)) + answer(df1,df2) = 1.0_r_solver / 27.0_r_solver * (theta(2)-theta(1))/(theta(2)+theta(1)) end do end do @assertEqual(answer, q32(1,:,:), tol) diff --git a/science/gungho/unit-test/kernel/solver/sample_eliminated_theta_q32_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/sample_eliminated_theta_q32_kernel_mod_test.pf index 31af441f1e..a9eefa8b11 100644 --- a/science/gungho/unit-test/kernel/solver/sample_eliminated_theta_q32_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/sample_eliminated_theta_q32_kernel_mod_test.pf @@ -2,6 +2,8 @@ ! (c) Crown copyright 2021 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> Test the weighted q32 matrix @@ -87,8 +89,6 @@ contains ! Fields real(kind=r_solver), dimension(undf_wt) :: theta real(kind=r_solver), dimension(ndf_w3,ndf_w3) :: detj_w3 - ! Scalars - real(kind=r_solver) :: const integer(kind=i_def) :: i, df1, df2 real(kind=r_solver), dimension(ndf_w3, ndf_w2) :: answer @@ -119,7 +119,6 @@ contains ! Fields detj_w3 = real(dx*dy*dz, r_solver) theta = (/ 310.0_r_solver, 322.95_r_solver /) - const = 17.0_r_solver ! Operator q32 = 0.0_r_solver call sample_eliminated_theta_q32_code(cell, & @@ -128,19 +127,18 @@ contains q32, & theta, & detj_w3, & - const, & ndf_w3, undf_w3, & map_w3, basis_w3, & ndf_w2, basis_w2, & ndf_wt, undf_wt, map_wt, & basis_wt, diff_basis_wt) - ! q32 = const * < basis_w3, (k*dtheta/dz).basis_w2 > + ! q32 = < basis_w3, (k*dtheta/dz).basis_w2 > ! Only the vertical components of W2 are nonzero (df2 = 3,4) answer = 0.0_r_solver do df2 = 3,ndf_w2 do df1 = 1,ndf_w3 - answer(df1,df2) = (const/(dx*dy*dz))*(theta(2)-theta(1))/(theta(2)+theta(1)) + answer(df1,df2) = (1.0_r_solver/(dx*dy*dz))*(theta(2)-theta(1))/(theta(2)+theta(1)) end do end do @assertEqual(answer, q32(1,:,:), tol) diff --git a/science/gungho/unit-test/kernel/solver/weighted_div_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/weighted_div_kernel_mod_test.pf index 1d6d6bfff6..b2c17144c9 100644 --- a/science/gungho/unit-test/kernel/solver/weighted_div_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/weighted_div_kernel_mod_test.pf @@ -2,6 +2,8 @@ ! Copyright (c) 2017, Met Office, on behalf of HMSO and Queen's Printer ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> Test the theta weighted divergence operator computation @@ -139,7 +141,6 @@ contains ncell_3d, & local_stencil, & theta_p_data, & - 1.0_r_solver, & ndf_w2, & basis_w2, & diff_basis_w2, & diff --git a/science/gungho/unit-test/kernel/solver/weighted_proj_2theta_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/weighted_proj_2theta_kernel_mod_test.pf index c50ada8cd8..9c94753b8e 100644 --- a/science/gungho/unit-test/kernel/solver/weighted_proj_2theta_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/weighted_proj_2theta_kernel_mod_test.pf @@ -2,6 +2,8 @@ ! Copyright (c) 2017, Met Office, on behalf of HMSO and Queen's Printer ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> Test the theta weighted divergence operator computation @@ -160,7 +162,6 @@ contains local_stencil, & exner_data, & moist_dyn_data, & - 1.0_r_solver, & ndf_w2, & basis_w2, & diff_basis_w2, & diff --git a/science/gungho/unit-test/kernel/solver/weighted_proj_2thetav_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/weighted_proj_2thetav_kernel_mod_test.pf index b1538eba22..9beab93d24 100644 --- a/science/gungho/unit-test/kernel/solver/weighted_proj_2thetav_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/weighted_proj_2thetav_kernel_mod_test.pf @@ -2,6 +2,8 @@ ! (c) Crown copyright 2023 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> Test the theta weighted divergence operator computation @@ -160,7 +162,6 @@ contains local_stencil, & exner_data, & moist_dyn_data, & - 1.0_r_solver, & 0, & 0, & ndf_w2, & diff --git a/science/gungho/unit-test/kernel/solver/weighted_proj_theta2_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/weighted_proj_theta2_kernel_mod_test.pf index 2bb1ba641d..52dc671502 100644 --- a/science/gungho/unit-test/kernel/solver/weighted_proj_theta2_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/weighted_proj_theta2_kernel_mod_test.pf @@ -2,6 +2,8 @@ ! (c) Crown copyright 2023 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> Test the projection operator from the velocity space to @@ -145,7 +147,6 @@ contains ncells_3d, & local_stencil, & theta_data, & - 1.0_r_solver, & ndf_wt, & undf_wt, & map_wt(:,cell), & diff --git a/science/gungho/unit-test/kernel/solver/weighted_proj_theta2v_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/weighted_proj_theta2v_kernel_mod_test.pf index aa524ace13..54f5712a0e 100644 --- a/science/gungho/unit-test/kernel/solver/weighted_proj_theta2v_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/weighted_proj_theta2v_kernel_mod_test.pf @@ -2,6 +2,8 @@ ! (c) Crown copyright 2023 Met Office. All rights reserved. ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! GitHub Copilot (Claude Sonnet 5). !----------------------------------------------------------------------------- !> Test the projection operator from the velocity space to @@ -145,7 +147,6 @@ contains ncells_3d, & local_stencil, & theta_data, & - 1.0_r_solver, & 0, & 0, & ndf_wt, & From 3190af64c3136d474f831d316d38740e22d0f053 Mon Sep 17 00:00:00 2001 From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com> Date: Fri, 24 Jul 2026 17:04:54 +0100 Subject: [PATCH 2/8] all tests passing --- ...adjt_apply_helmholtz_op_lookup_alg_mod.x90 | 5 +- .../solver/adjt_mixed_operator_alg_mod.x90 | 7 +- ...djt_mixed_schur_preconditioner_alg_mod.x90 | 12 +- .../solver/adjt_mixed_solver_alg_mod.x90 | 16 +- .../solver/adjt_pressure_precon_alg_mod.x90 | 14 +- .../adjt_scaled_matrix_vector_alg_mod.x90 | 7 +- ...adjt_semi_implicit_solver_step_alg_mod.x90 | 7 +- .../timestepping/atlt_si_timestep_alg_mod.x90 | 5 +- dependencies.yaml | 2 +- ...apply_elim_mixed_lp_operator_alg_mod.patch | 32 +- ...adjt_apply_mixed_lu_operator_alg_mod.patch | 33 +- .../adjt_apply_mixed_operator_alg_mod.patch | 41 +- .../adjt_opt_apply_variable_hx_alg_mod.patch | 52 +- .../adj_apply_mixed_operator_kernel_mod.patch | 6 +- ...adj_opt_apply_variable_hx_kernel_mod.patch | 14 +- ...ly_elim_mixed_lp_operator_kernel_mod.patch | 6 +- .../solver/adj_mixed_operator_alg_mod.x90 | 53 +- ...adj_mixed_schur_preconditioner_alg_mod.x90 | 18 +- .../solver/adj_pressure_operator_alg_mod.x90 | 11 +- .../solver/adj_pressure_precon_alg_mod.x90 | 13 +- .../adj_semi_implicit_solver_alg_mod.x90 | 50 +- .../timestepping/atl_si_timestep_alg_mod.x90 | 8 +- .../dycore_constants_mod.x90 | 3 + .../solver/mixed_operator_alg_mod.x90 | 28 +- .../mixed_schur_preconditioner_alg_mod.x90 | 19 +- .../solver/pressure_operator_alg_mod.x90 | 24 +- .../solver/pressure_precon_alg_mod.x90 | 13 +- .../solver/semi_implicit_solver_alg_mod.x90 | 51 +- .../algorithm/solver/si_operators_alg_mod.x90 | 452 ++++++++++++------ .../semi_implicit_timestep_alg_mod.X90 | 12 +- .../apply_mixed_operator_kernel_mod.F90 | 27 +- ...roject_eliminated_theta_q32_kernel_mod.F90 | 2 +- ...sample_eliminated_theta_q32_kernel_mod.F90 | 4 +- .../apply_mixed_operator_kernel_mod_test.pf | 5 + .../tl_test/tl_test_semi_imp_alg_mod.x90 | 2 +- .../timestepping/tl_si_timestep_alg_mod.x90 | 22 +- .../linear/source/driver/linear_model_mod.f90 | 2 +- 37 files changed, 747 insertions(+), 331 deletions(-) diff --git a/applications/adjoint_tests/source/algorithm/lookup/solver/adjt_apply_helmholtz_op_lookup_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/lookup/solver/adjt_apply_helmholtz_op_lookup_alg_mod.x90 index e4cedd9ee0..b87c7e79e9 100644 --- a/applications/adjoint_tests/source/algorithm/lookup/solver/adjt_apply_helmholtz_op_lookup_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/lookup/solver/adjt_apply_helmholtz_op_lookup_alg_mod.x90 @@ -27,6 +27,7 @@ module adjt_apply_helmholtz_op_lookup_alg_mod use adj_lookup_table_mod, only: adj_lookup_table_type use sci_r_solver_field_vector_mod, only: r_solver_field_vector_type use si_operators_alg_mod, only: compute_si_operators, get_helmholtz_operator + use dycore_constants_mod, only: stepper_siqn implicit none @@ -120,9 +121,9 @@ module adjt_apply_helmholtz_op_lookup_alg_mod end do call compute_si_operators( config, init_op_t, init_op_d, init_op_p, & - model_clock, init_op_moist_dyn ) + model_clock, init_op_moist_dyn, stepper_siqn ) - Helmholtz_operator => get_helmholtz_operator(level) + Helmholtz_operator => get_helmholtz_operator(stepper_siqn, level) lam_mesh = .false. call vector_x%initialise(vector_space_w3_ptr) diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_operator_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_operator_alg_mod.x90 index 142a8b2415..3976914626 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_operator_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_operator_alg_mod.x90 @@ -33,6 +33,7 @@ module adjt_mixed_operator_alg_mod use moist_dyn_mod, only: num_moist_factors use fs_continuity_mod, only: W2, W3, Wtheta use si_operators_alg_mod, only: compute_si_operators + use dycore_constants_mod, only: stepper_siqn use sci_enforce_bc_kernel_mod, only: enforce_bc_kernel_type use model_clock_mod, only: model_clock_type use function_space_mod, only: function_space_type @@ -116,7 +117,7 @@ contains end do call compute_si_operators( config, rhs(igh_t), rhs(igh_d), rhs(igh_p), & - model_clock, moist_dyn ) + model_clock, moist_dyn, stepper_siqn ) ! Input fields are r_def fields so preliminary work uses field_types @@ -144,7 +145,7 @@ contains call construct_solver_state( vector_mx, rhs_rsol, import_fields=.false. ) call construct_solver_state( vector_amx, rhs_rsol, import_fields=.false. ) - mixed_op = mixed_operator_type() + mixed_op = mixed_operator_type(stepper_siqn) call vector_mx%set_scalar(0.0_r_def) call vector_amx%set_scalar(0.0_r_def) @@ -184,7 +185,7 @@ contains ! Adjoint code ! -------------------------------------------------------------------------- - adj_mixed_op = adj_mixed_operator_type() + adj_mixed_op = adj_mixed_operator_type(stepper_siqn) call adj_mixed_op%apply( vector_mx, vector_amx ) diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_schur_preconditioner_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_schur_preconditioner_alg_mod.x90 index 494787d7f6..f85ce5235e 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_schur_preconditioner_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_schur_preconditioner_alg_mod.x90 @@ -30,6 +30,7 @@ module adjt_mixed_schur_preconditioner_alg_mod use driver_modeldb_mod, only: modeldb_type use fs_continuity_mod, only: W2, W3, Wtheta use si_operators_alg_mod, only: compute_si_operators + use dycore_constants_mod, only: stepper_siqn use sci_enforce_bc_kernel_mod, only: enforce_bc_kernel_type use model_clock_mod, only: model_clock_type use function_space_mod, only: function_space_type @@ -161,16 +162,17 @@ contains ls_moist_dyn => ls_moist_dyn_array%bundle call compute_si_operators( modeldb%config, ls_theta, ls_rho, ls_exner, & - model_clock, ls_moist_dyn ) + model_clock, ls_moist_dyn, stepper_siqn ) - call create_pressure_preconditioner( rhs, pressure_operator, pressure_preconditioner ) + call create_pressure_preconditioner( rhs, pressure_operator, pressure_preconditioner, stepper_siqn ) call create_pressure_solver( pressure_operator, pressure_preconditioner, pressure_solver ) - call create_mixed_preconditioner( rhs, pressure_solver, mixed_preconditioner ) + call create_mixed_preconditioner( rhs, pressure_solver, mixed_preconditioner, stepper_siqn ) call create_adj_pressure_preconditioner( rhs, adj_lookup_table_cache, & - adj_pressure_operator, adj_pressure_preconditioner ) + adj_pressure_operator, adj_pressure_preconditioner, & + stepper_siqn ) call create_adj_pressure_solver( adj_pressure_operator, adj_pressure_preconditioner, adj_pressure_solver ) - call create_adj_mixed_preconditioner( rhs, adj_pressure_solver, adj_mixed_preconditioner ) + call create_adj_mixed_preconditioner( rhs, adj_pressure_solver, adj_mixed_preconditioner, stepper_siqn ) call construct_solver_state( vector_x, rhs_rsol, import_fields=.true. ) call construct_solver_state( vector_mx, rhs_rsol, import_fields=.false. ) diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_solver_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_solver_alg_mod.x90 index 15a107d50d..d65facb012 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_solver_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_solver_alg_mod.x90 @@ -35,6 +35,7 @@ module adjt_mixed_solver_alg_mod use solver_constants_mod, only: get_normalisation use fs_continuity_mod, only: W2, W3, Wtheta use si_operators_alg_mod, only: compute_si_operators + use dycore_constants_mod, only: stepper_siqn use operator_mod, only: operator_type use sci_enforce_bc_kernel_mod, only: enforce_bc_kernel_type use model_clock_mod, only: model_clock_type @@ -190,18 +191,19 @@ contains ls_moist_dyn => ls_moist_dyn_array%bundle call compute_si_operators( modeldb%config, ls_theta, ls_rho, ls_exner, & - model_clock, ls_moist_dyn ) + model_clock, ls_moist_dyn, stepper_siqn ) - call create_pressure_preconditioner( rhs, pressure_operator, pressure_preconditioner ) + call create_pressure_preconditioner( rhs, pressure_operator, pressure_preconditioner, stepper_siqn ) call create_pressure_solver( pressure_operator, pressure_preconditioner, pressure_solver ) - call create_mixed_preconditioner( rhs, pressure_solver, mixed_preconditioner ) - call create_mixed_solver( mixed_preconditioner, mixed_operator, mixed_solver ) + call create_mixed_preconditioner( rhs, pressure_solver, mixed_preconditioner, stepper_siqn ) + call create_mixed_solver( mixed_preconditioner, mixed_operator, mixed_solver, stepper_siqn ) call create_adj_pressure_preconditioner( rhs, adj_lookup_table_cache, & - adj_pressure_operator, adj_pressure_preconditioner ) + adj_pressure_operator, adj_pressure_preconditioner, & + stepper_siqn ) call create_adj_pressure_solver( adj_pressure_operator, adj_pressure_preconditioner, adj_pressure_solver ) - call create_adj_mixed_preconditioner( rhs, adj_pressure_solver, adj_mixed_preconditioner ) - call create_adj_mixed_solver( adj_mixed_preconditioner, adj_mixed_operator, adj_mixed_solver ) + call create_adj_mixed_preconditioner( rhs, adj_pressure_solver, adj_mixed_preconditioner, stepper_siqn ) + call create_adj_mixed_solver( adj_mixed_preconditioner, adj_mixed_operator, adj_mixed_solver, stepper_siqn ) call construct_solver_state( vector_x, rhs_rsol, import_fields=.true. ) call construct_solver_state( vector_mx, rhs_rsol, import_fields=.false. ) diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_pressure_precon_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_pressure_precon_alg_mod.x90 index 54ddc36203..89b097d6b6 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_pressure_precon_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_pressure_precon_alg_mod.x90 @@ -28,6 +28,7 @@ module adjt_pressure_precon_alg_mod use driver_modeldb_mod, only: modeldb_type use fs_continuity_mod, only: W2, W3, Wtheta use si_operators_alg_mod, only: compute_si_operators + use dycore_constants_mod, only: stepper_siqn use sci_enforce_bc_kernel_mod, only: enforce_bc_kernel_type use model_clock_mod, only: model_clock_type use function_space_mod, only: function_space_type @@ -150,14 +151,15 @@ contains ls_moist_dyn => ls_moist_dyn_array%bundle call compute_si_operators( modeldb%config, ls_theta, ls_rho, ls_exner, & - model_clock, ls_moist_dyn ) + model_clock, ls_moist_dyn, stepper_siqn ) - call create_pressure_preconditioner( rhs, pressure_operator, pressure_preconditioner ) + call create_pressure_preconditioner( rhs, pressure_operator, pressure_preconditioner, stepper_siqn ) - call create_adj_pressure_preconditioner( rhs, & - adj_lookup_table_cache, & - adj_pressure_operator, & - adj_pressure_preconditioner ) + call create_adj_pressure_preconditioner( rhs, & + adj_lookup_table_cache, & + adj_pressure_operator, & + adj_pressure_preconditioner, & + stepper_siqn ) ! Size = 1 as only P field needed vector_x = r_solver_field_vector_type(1_i_def) diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 index 372c92dc39..543d7cf1ff 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 @@ -28,6 +28,7 @@ module adjt_scaled_matrix_vector_alg_mod use sci_r_solver_field_vector_mod, only: r_solver_field_vector_type use si_operators_alg_mod, only: compute_si_operators, get_div_star, get_Hb_lumped_inv, & get_tau_u_dt_cp + use dycore_constants_mod, only: stepper_siqn use solver_constants_mod, only: get_normalisation_r_solver ! Object types @@ -112,7 +113,7 @@ module adjt_scaled_matrix_vector_alg_mod end do call compute_si_operators( config, init_op_t, init_op_d, init_op_p, & - model_clock, init_op_moist_dyn ) + model_clock, init_op_moist_dyn, stepper_siqn ) call vector_x%initialise(vector_space_w3_ptr) call vector_mx%initialise(vector_space_w2_ptr) @@ -120,9 +121,9 @@ module adjt_scaled_matrix_vector_alg_mod u_normalisation => get_normalisation_r_solver( W2, vector_mx%get_mesh_id() ) div_star => get_div_star() - Hb_lumped_inv => get_Hb_lumped_inv() + Hb_lumped_inv => get_Hb_lumped_inv(stepper_siqn) - const_u = get_tau_u_dt_cp() + const_u = get_tau_u_dt_cp(stepper_siqn) call invoke( setval_random(vector_x), & setval_c( vector_mx, 0.0_r_solver ), & diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_semi_implicit_solver_step_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_semi_implicit_solver_step_alg_mod.x90 index b2196002c1..2d2648fb8c 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_semi_implicit_solver_step_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_semi_implicit_solver_step_alg_mod.x90 @@ -29,6 +29,7 @@ module adjt_semi_implicit_solver_step_alg_mod use fs_continuity_mod, only: W2, W3, Wtheta use mr_indices_mod, only: nummr use si_operators_alg_mod, only: compute_si_operators + use dycore_constants_mod, only: stepper_siqn use operator_mod, only: operator_type use sci_enforce_bc_kernel_mod, only: enforce_bc_kernel_type use model_clock_mod, only: model_clock_type @@ -164,8 +165,8 @@ contains ls_moist_dyn => ls_moist_dyn_array%bundle call compute_si_operators( modeldb%config, ls_theta, ls_rho, ls_exner, & - model_clock, ls_moist_dyn ) - call adj_semi_implicit_solver%initialise(rhs, adj_lookup_table_cache) + model_clock, ls_moist_dyn, stepper_siqn ) + call adj_semi_implicit_solver%initialise(rhs, adj_lookup_table_cache, stepper_siqn) ! Set up moist_dyn_gas_law & mr call moist_dyn_gas_law%initialise(vector_space=vector_space_wtheta_ptr) @@ -288,7 +289,7 @@ contains ! -------------------------------------------------------------------------- call semi_implicit_solver_alg_step( state, rhs, dry_flux_solver, & - moist_dyn_gas_law, mr, first_iteration ) + moist_dyn_gas_law, mr, first_iteration, stepper_siqn ) ! -------------------------------------------------------------------------- ! Compute diff --git a/applications/adjoint_tests/source/algorithm/timestepping/atlt_si_timestep_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/timestepping/atlt_si_timestep_alg_mod.x90 index 5cf80dcd52..caad067448 100644 --- a/applications/adjoint_tests/source/algorithm/timestepping/atlt_si_timestep_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/timestepping/atlt_si_timestep_alg_mod.x90 @@ -36,6 +36,7 @@ module atlt_si_timestep_alg_mod use atl_si_timestep_alg_mod, only: atl_si_timestep_type use driver_modeldb_mod, only: modeldb_type use si_operators_alg_mod, only: compute_si_operators + use dycore_constants_mod, only: stepper_siqn use sci_enforce_bc_kernel_mod, only: enforce_bc_kernel_type use field_array_mod, only: field_array_type @@ -185,10 +186,10 @@ contains call tl_semi_implicit_alg_init( mesh, u, rho, theta, exner, mr, & ls_u, ls_rho, ls_theta, ls_exner, & - ls_mr, ls_moist_dyn, (num_steps == 1) ) + ls_mr, ls_moist_dyn, modeldb, (num_steps == 1) ) call compute_si_operators( modeldb%config, ls_theta, ls_rho, ls_exner, & - modeldb%clock, ls_moist_dyn ) + modeldb%clock, ls_moist_dyn, stepper_siqn ) do i = 1, num_steps call tl_semi_implicit_alg_step( modeldb, u, rho, theta, exner, mr, moist_dyn, & diff --git a/dependencies.yaml b/dependencies.yaml index 72afce24e7..dbf75bc9ba 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -31,7 +31,7 @@ lfric_apps: lfric_core: source: git@github.com:tommbendall/lfric_core.git - ref: a401de1a9db2b02cf3ecb0861b65dd5229bc90c0 + ref: 932de2756a609a4982ce34feb3f1911e0a2ee617 moci: source: git@github.com:MetOffice/moci.git diff --git a/science/adjoint/patches/algorithm/adjt_apply_elim_mixed_lp_operator_alg_mod.patch b/science/adjoint/patches/algorithm/adjt_apply_elim_mixed_lp_operator_alg_mod.patch index e1da8d95c5..c8032b76b2 100644 --- a/science/adjoint/patches/algorithm/adjt_apply_elim_mixed_lp_operator_alg_mod.patch +++ b/science/adjoint/patches/algorithm/adjt_apply_elim_mixed_lp_operator_alg_mod.patch @@ -1,4 +1,4 @@ -@@ -12,40 +12,46 @@ +@@ -12,42 +12,47 @@ use adj_apply_elim_mixed_lp_operator_kernel_mod, only : adj_apply_elim_mixed_lp_operator_kernel_type use finite_element_config_mod, only : element_order_h, element_order_v use fs_continuity_mod, only : w2, w3, wtheta @@ -24,8 +24,10 @@ - type(field_type) :: u - type(field_type) :: exner - type(operator_type) :: m3exner -- type(operator_type) :: q32 +- type(operator_type) :: q32_rho - type(operator_type) :: p3theta +- real(kind=r_def) :: const_r +- real(kind=r_def) :: const_r_input - type(field_type) :: lhs_exner_input - type(field_type) :: theta_input - type(field_type) :: u_input @@ -35,8 +37,9 @@ + type(r_solver_field_type) :: u + type(r_solver_field_type) :: exner + type(r_solver_operator_type) :: m3exner -+ type(r_solver_operator_type) :: q32 ++ type(r_solver_operator_type) :: q32_rho + type(r_solver_operator_type) :: p3theta ++ real(kind=r_solver) :: const_r + type(r_solver_field_type) :: lhs_exner_input + type(r_solver_field_type) :: theta_input + type(r_solver_field_type) :: u_input @@ -65,7 +68,16 @@ vector_space_w2_ptr => function_space_collection%get_fs(mesh,element_order_h,element_order_v,w2) vector_space_w3_ptr => function_space_collection%get_fs(mesh,element_order_h,element_order_v,w3) -@@ -65,19 +71,38 @@ +@@ -63,26 +68,45 @@ + call theta_input%initialise(vector_space=vector_space_wtheta_ptr, name='theta_input') + call u_input%initialise(vector_space=vector_space_w2_ptr, name='u_input') + call exner_input%initialise(vector_space=vector_space_w3_ptr, name='exner_input') +- call RANDOM_NUMBER(const_r) +- const_r_input = const_r ++ ! NOTE(JC): Known issue with scalar randomisation with MPI. Each process ++ ! generates a different number. See LFRic-apps ticket #765. ++ const_r = 1.0_r_def + lhs_exner_inner_prod = 0.0_r_def theta_inner_prod = 0.0_r_def u_inner_prod = 0.0_r_def exner_inner_prod = 0.0_r_def @@ -73,16 +85,17 @@ ! Initialise arguments and call the tangent-linear kernel. call invoke(setval_random(lhs_exner), setval_x(lhs_exner_input, lhs_exner), setval_random(theta), setval_x(theta_input, & -&theta), setval_random(u), setval_x(u_input, u), setval_random(exner), setval_x(exner_input, exner), & --&setop_random_kernel_type(m3exner), setop_random_kernel_type(q32), setop_random_kernel_type(p3theta), & --&apply_elim_mixed_lp_operator_kernel_type(lhs_exner, theta, u, exner, m3exner, q32, p3theta), & +-&setop_random_kernel_type(m3exner), setop_random_kernel_type(q32_rho), setop_random_kernel_type(p3theta), & +-&apply_elim_mixed_lp_operator_kernel_type(lhs_exner, theta, u, exner, m3exner, q32_rho, p3theta, const_r), & +&theta), setval_random(u), setval_x(u_input, u), setval_random(exner), setval_x(exner_input, exner)) + call setop_random_alg(m3exner) -+ call setop_random_alg(q32) ++ call setop_random_alg(q32_rho) + call setop_random_alg(p3theta) -+ call invoke(apply_elim_mixed_lp_operator_kernel_type(lhs_exner, theta, u, exner, m3exner, q32, p3theta), & ++ call invoke(apply_elim_mixed_lp_operator_kernel_type(lhs_exner, theta, u, exner, m3exner, q32_rho, p3theta, const_r), & &x_innerproduct_x(lhs_exner_inner_prod, lhs_exner), x_innerproduct_x(theta_inner_prod, theta), x_innerproduct_x(u_inner_prod, u), & &x_innerproduct_x(exner_inner_prod, exner)) - inner1 = 0.0_r_def +- inner1 = inner1 + const_r * const_r - inner1 = inner1 + lhs_exner_inner_prod - inner1 = inner1 + theta_inner_prod - inner1 = inner1 + u_inner_prod @@ -113,11 +126,12 @@ lhs_exner_lhs_exner_input_inner_prod = 0.0_r_def theta_theta_input_inner_prod = 0.0_r_def u_u_input_inner_prod = 0.0_r_def -@@ -86,12 +111,11 @@ +@@ -91,13 +115,11 @@ &x_innerproduct_y(lhs_exner_lhs_exner_input_inner_prod, lhs_exner, lhs_exner_input), & &x_innerproduct_y(theta_theta_input_inner_prod, theta, theta_input), x_innerproduct_y(u_u_input_inner_prod, u, u_input), & &x_innerproduct_y(exner_exner_input_inner_prod, exner, exner_input)) - inner2 = 0.0_r_def +- inner2 = inner2 + const_r * const_r_input - inner2 = inner2 + lhs_exner_lhs_exner_input_inner_prod - inner2 = inner2 + theta_theta_input_inner_prod - inner2 = inner2 + u_u_input_inner_prod diff --git a/science/adjoint/patches/algorithm/adjt_apply_mixed_lu_operator_alg_mod.patch b/science/adjoint/patches/algorithm/adjt_apply_mixed_lu_operator_alg_mod.patch index 3fd783af9f..8f4b19ce27 100644 --- a/science/adjoint/patches/algorithm/adjt_apply_mixed_lu_operator_alg_mod.patch +++ b/science/adjoint/patches/algorithm/adjt_apply_mixed_lu_operator_alg_mod.patch @@ -1,4 +1,4 @@ -@@ -12,44 +12,47 @@ +@@ -12,46 +12,48 @@ use adj_apply_mixed_lu_operator_kernel_mod, only : adj_apply_mixed_lu_operator_kernel_type use finite_element_config_mod, only : element_order_h, element_order_v use fs_continuity_mod, only : w2, w3, wtheta @@ -27,6 +27,8 @@ - type(operator_type) :: p2theta - type(operator_type) :: grad - type(field_type) :: norm_u +- real(kind=r_def) :: const_u +- real(kind=r_def) :: const_u_input - type(field_type) :: lhs_u_input - type(field_type) :: wind_input - type(field_type) :: theta_input @@ -40,6 +42,7 @@ + type(r_solver_operator_type) :: p2theta + type(r_solver_operator_type) :: grad + type(r_solver_field_type) :: norm_u ++ real(kind=r_solver) :: const_u + type(r_solver_field_type) :: lhs_u_input + type(r_solver_field_type) :: wind_input + type(r_solver_field_type) :: theta_input @@ -70,17 +73,22 @@ vector_space_w2_ptr => function_space_collection%get_fs(mesh,element_order_h,element_order_v,w2) vector_space_w3_ptr => function_space_collection%get_fs(mesh,element_order_h,element_order_v,w3) -@@ -66,42 +69,55 @@ +@@ -68,46 +70,58 @@ call wind_input%initialise(vector_space=vector_space_w2_ptr, name='wind_input') call theta_input%initialise(vector_space=vector_space_wtheta_ptr, name='theta_input') call exner_input%initialise(vector_space=vector_space_w3_ptr, name='exner_input') - call norm_u_input%initialise(vector_space=vector_space_w2_ptr, name='norm_u_input') +- call RANDOM_NUMBER(const_u) +- const_u_input = const_u - lhs_u_inner_prod = 0.0_r_def - wind_inner_prod = 0.0_r_def - theta_inner_prod = 0.0_r_def - exner_inner_prod = 0.0_r_def - norm_u_inner_prod = 0.0_r_def - ++ ! NOTE(JC): Known issue with scalar randomisation with MPI. Each process ++ ! generates a different number. See LFRic-apps ticket #765. ++ const_u = 1.0_r_def + lhs_u_inner_prod = 0.0_r_solver + wind_inner_prod = 0.0_r_solver + theta_inner_prod = 0.0_r_solver @@ -89,20 +97,22 @@ call invoke(setval_random(lhs_u), setval_x(lhs_u_input, lhs_u), setval_random(wind), setval_x(wind_input, wind), & -&setval_random(theta), setval_x(theta_input, theta), setval_random(exner), setval_x(exner_input, exner), setval_random(norm_u), & -&setval_x(norm_u_input, norm_u), setop_random_kernel_type(mu_cd), setop_random_kernel_type(p2theta), & --&setop_random_kernel_type(grad), apply_mixed_lu_operator_kernel_type(lhs_u, wind, theta, exner, mu_cd, p2theta, grad, norm_u), & -+&setval_random(theta), setval_x(theta_input, theta), setval_random(exner), setval_x(exner_input, exner), setval_random(norm_u)) -+ call setop_random_alg(mu_cd) -+ call setop_random_alg(p2theta) -+ call setop_random_alg(grad) -+ call invoke(apply_mixed_lu_operator_kernel_type(lhs_u, wind, theta, exner, mu_cd, p2theta, grad, norm_u), & - &x_innerproduct_x(lhs_u_inner_prod, lhs_u), x_innerproduct_x(wind_inner_prod, wind), x_innerproduct_x(theta_inner_prod, theta), & --&x_innerproduct_x(exner_inner_prod, exner), x_innerproduct_x(norm_u_inner_prod, norm_u)) +-&setop_random_kernel_type(grad), apply_mixed_lu_operator_kernel_type(lhs_u, wind, theta, exner, mu_cd, p2theta, grad, norm_u, & +-&const_u), x_innerproduct_x(lhs_u_inner_prod, lhs_u), x_innerproduct_x(wind_inner_prod, wind), x_innerproduct_x(theta_inner_prod, & +-&theta), x_innerproduct_x(exner_inner_prod, exner), x_innerproduct_x(norm_u_inner_prod, norm_u)) - inner1 = 0.0_r_def +- inner1 = inner1 + const_u * const_u - inner1 = inner1 + lhs_u_inner_prod - inner1 = inner1 + wind_inner_prod - inner1 = inner1 + theta_inner_prod - inner1 = inner1 + exner_inner_prod - inner1 = inner1 + norm_u_inner_prod ++&setval_random(theta), setval_x(theta_input, theta), setval_random(exner), setval_x(exner_input, exner), setval_random(norm_u)) ++ call setop_random_alg(mu_cd) ++ call setop_random_alg(p2theta) ++ call setop_random_alg(grad) ++ call invoke(apply_mixed_lu_operator_kernel_type(lhs_u, wind, theta, exner, mu_cd, p2theta, grad, norm_u, const_u), & ++&x_innerproduct_x(lhs_u_inner_prod, lhs_u), x_innerproduct_x(wind_inner_prod, wind), x_innerproduct_x(theta_inner_prod, theta), & +&x_innerproduct_x(exner_inner_prod, exner)) + write( log_scratch_space, * ) "adjt_apply_mixed_lu_operator inner products:" + call log_event( log_scratch_space, log_level_debug ) @@ -132,11 +142,12 @@ theta_theta_input_inner_prod = 0.0_r_def exner_exner_input_inner_prod = 0.0_r_def - norm_u_norm_u_input_inner_prod = 0.0_r_def - call invoke(adj_apply_mixed_lu_operator_kernel_type(lhs_u, wind, theta, exner, mu_cd, p2theta, grad, norm_u), & + call invoke(adj_apply_mixed_lu_operator_kernel_type(lhs_u, wind, theta, exner, mu_cd, p2theta, grad, norm_u, const_u), & &x_innerproduct_y(lhs_u_lhs_u_input_inner_prod, lhs_u, lhs_u_input), x_innerproduct_y(wind_wind_input_inner_prod, wind, & &wind_input), x_innerproduct_y(theta_theta_input_inner_prod, theta, theta_input), x_innerproduct_y(exner_exner_input_inner_prod, & -&exner, exner_input), x_innerproduct_y(norm_u_norm_u_input_inner_prod, norm_u, norm_u_input)) - inner2 = 0.0_r_def +- inner2 = inner2 + const_u * const_u_input - inner2 = inner2 + lhs_u_lhs_u_input_inner_prod - inner2 = inner2 + wind_wind_input_inner_prod - inner2 = inner2 + theta_theta_input_inner_prod diff --git a/science/adjoint/patches/algorithm/adjt_apply_mixed_operator_alg_mod.patch b/science/adjoint/patches/algorithm/adjt_apply_mixed_operator_alg_mod.patch index 9a3b462816..cf03665078 100644 --- a/science/adjoint/patches/algorithm/adjt_apply_mixed_operator_alg_mod.patch +++ b/science/adjoint/patches/algorithm/adjt_apply_mixed_operator_alg_mod.patch @@ -9,7 +9,16 @@ real(kind=r_def), parameter :: overall_tolerance = 1500.0_r_def type(mesh_type), pointer, intent(in) :: mesh type(field_type), dimension(3), intent(in), optional :: chi -@@ -46,16 +46,18 @@ +@@ -43,25 +43,24 @@ + real(kind=r_def) :: const_u + real(kind=r_def) :: const_t + real(kind=r_def) :: const_r +- real(kind=r_def) :: const_u_input +- real(kind=r_def) :: const_t_input +- real(kind=r_def) :: const_r_input + type(field_type) :: lhs_uv_input + type(field_type) :: lhs_w_input + type(field_type) :: lhs_p_input type(field_type) :: wind_uv_input type(field_type) :: wind_w_input type(field_type) :: exner_input @@ -32,7 +41,7 @@ real(kind=r_def) :: inner1 real(kind=r_def) :: lhs_uv_lhs_uv_input_inner_prod real(kind=r_def) :: lhs_w_lhs_w_input_inner_prod -@@ -63,11 +65,10 @@ +@@ -69,11 +68,10 @@ real(kind=r_def) :: wind_uv_wind_uv_input_inner_prod real(kind=r_def) :: wind_w_wind_w_input_inner_prod real(kind=r_def) :: exner_exner_input_inner_prod @@ -45,12 +54,23 @@ vector_space_w2_ptr => function_space_collection%get_fs(mesh,element_order_h,element_order_v,w2) vector_space_w2h_ptr => function_space_collection%get_fs(mesh,element_order_h,element_order_v,w2h) -@@ -95,53 +96,73 @@ +@@ -101,75 +99,86 @@ call wind_uv_input%initialise(vector_space=vector_space_w2h_ptr, name='wind_uv_input') call wind_w_input%initialise(vector_space=vector_space_w2v_ptr, name='wind_w_input') call exner_input%initialise(vector_space=vector_space_w3_ptr, name='exner_input') - call mt_lumped_inv_input%initialise(vector_space=vector_space_wtheta_ptr, name='mt_lumped_inv_input') - call norm_u_input%initialise(vector_space=vector_space_w2_ptr, name='norm_u_input') +- call RANDOM_NUMBER(const_u) +- const_u_input = const_u +- call RANDOM_NUMBER(const_t) +- const_t_input = const_t +- call RANDOM_NUMBER(const_r) +- const_r_input = const_r ++ ! NOTE(JC): Known issue with scalar randomisation with MPI. Each process ++ ! generates a different number. See LFRic-apps ticket #765. ++ const_u = 1.0_r_def ++ const_t = 1.0_r_def ++ const_r = 1.0_r_def lhs_uv_inner_prod = 0.0_r_def lhs_w_inner_prod = 0.0_r_def lhs_p_inner_prod = 0.0_r_def @@ -68,7 +88,7 @@ -&norm_u), setop_random_kernel_type(pt2), setop_random_kernel_type(mu_cd), setop_random_kernel_type(p2t), & -&setop_random_kernel_type(grad), setop_random_kernel_type(m3p), setop_random_kernel_type(q32), setop_random_kernel_type(p3t), & -&apply_mixed_operator_kernel_type(lhs_uv, lhs_w, lhs_p, wind_uv, wind_w, exner, pt2, mt_lumped_inv, mu_cd, p2t, grad, norm_u, m3p, & --&q32, p3t), x_innerproduct_x(lhs_uv_inner_prod, lhs_uv), x_innerproduct_x(lhs_w_inner_prod, lhs_w), & +-&q32, p3t, const_u, const_t, const_r), x_innerproduct_x(lhs_uv_inner_prod, lhs_uv), x_innerproduct_x(lhs_w_inner_prod, lhs_w), & +&setval_random(mt_lumped_inv), setval_random(norm_u)) + call setop_random_alg(pt2) + call setop_random_alg(mu_cd) @@ -78,7 +98,8 @@ + call setop_random_alg(q32) + call setop_random_alg(p3t) + call invoke(apply_mixed_operator_kernel_type(lhs_uv, lhs_w, lhs_p, wind_uv, wind_w, exner, pt2, mt_lumped_inv, mu_cd, p2t, & -+&grad, norm_u, m3p, q32, p3t), x_innerproduct_x(lhs_uv_inner_prod, lhs_uv), x_innerproduct_x(lhs_w_inner_prod, lhs_w), & ++&grad, norm_u, m3p, q32, p3t, const_u, const_t, const_r), & ++&x_innerproduct_x(lhs_uv_inner_prod, lhs_uv), x_innerproduct_x(lhs_w_inner_prod, lhs_w), & &x_innerproduct_x(lhs_p_inner_prod, lhs_p), x_innerproduct_x(wind_uv_inner_prod, wind_uv), x_innerproduct_x(wind_w_inner_prod, & -&wind_w), x_innerproduct_x(exner_inner_prod, exner), x_innerproduct_x(mt_lumped_inv_inner_prod, mt_lumped_inv), & -&x_innerproduct_x(norm_u_inner_prod, norm_u)) @@ -104,6 +125,9 @@ + wind_w_sf = 1.0_r_def / (wind_w_inner_prod + eps) + exner_sf = 1.0_r_def / (exner_inner_prod + eps) inner1 = 0.0_r_def +- inner1 = inner1 + const_u * const_u +- inner1 = inner1 + const_t * const_t +- inner1 = inner1 + const_r * const_r - inner1 = inner1 + lhs_uv_inner_prod - inner1 = inner1 + lhs_w_inner_prod - inner1 = inner1 + lhs_p_inner_prod @@ -133,7 +157,7 @@ - mt_lumped_inv_mt_lumped_inv_input_inner_prod = 0.0_r_def - norm_u_norm_u_input_inner_prod = 0.0_r_def call invoke(adj_apply_mixed_operator_kernel_type(lhs_uv, lhs_w, lhs_p, wind_uv, wind_w, exner, pt2, mt_lumped_inv, mu_cd, p2t, & - &grad, norm_u, m3p, q32, p3t), x_innerproduct_y(lhs_uv_lhs_uv_input_inner_prod, lhs_uv, lhs_uv_input), & + &grad, norm_u, m3p, q32, p3t, const_u, const_t, const_r), x_innerproduct_y(lhs_uv_lhs_uv_input_inner_prod, lhs_uv, lhs_uv_input), & &x_innerproduct_y(lhs_w_lhs_w_input_inner_prod, lhs_w, lhs_w_input), x_innerproduct_y(lhs_p_lhs_p_input_inner_prod, lhs_p, & &lhs_p_input), x_innerproduct_y(wind_uv_wind_uv_input_inner_prod, wind_uv, wind_uv_input), & &x_innerproduct_y(wind_w_wind_w_input_inner_prod, wind_w, wind_w_input), x_innerproduct_y(exner_exner_input_inner_prod, exner, & @@ -141,9 +165,12 @@ -&x_innerproduct_y(norm_u_norm_u_input_inner_prod, norm_u, norm_u_input)) +&exner_input)) inner2 = 0.0_r_def +- inner2 = inner2 + const_u * const_u_input +- inner2 = inner2 + const_t * const_t_input +- inner2 = inner2 + const_r * const_r_input inner2 = inner2 + lhs_uv_lhs_uv_input_inner_prod inner2 = inner2 + lhs_w_lhs_w_input_inner_prod -@@ -149,9 +170,6 @@ + inner2 = inner2 + lhs_p_lhs_p_input_inner_prod inner2 = inner2 + wind_uv_wind_uv_input_inner_prod inner2 = inner2 + wind_w_wind_w_input_inner_prod inner2 = inner2 + exner_exner_input_inner_prod diff --git a/science/adjoint/patches/algorithm/adjt_opt_apply_variable_hx_alg_mod.patch b/science/adjoint/patches/algorithm/adjt_opt_apply_variable_hx_alg_mod.patch index 714bca630a..917924c95b 100644 --- a/science/adjoint/patches/algorithm/adjt_opt_apply_variable_hx_alg_mod.patch +++ b/science/adjoint/patches/algorithm/adjt_opt_apply_variable_hx_alg_mod.patch @@ -1,4 +1,4 @@ -@@ -13,46 +13,49 @@ +@@ -13,48 +13,50 @@ use finite_element_config_mod, only : element_order_h, element_order_v use fs_continuity_mod, only : w2, w3, wtheta use operator_mod, only : operator_type @@ -26,9 +26,11 @@ - type(operator_type) :: p3t - type(operator_type) :: pt2 - type(operator_type) :: m3 -- real(kind=r_def) :: sgn +- real(kind=r_def) :: const_div +- real(kind=r_def) :: const_theta - type(field_type) :: rhs_p -- real(kind=r_def) :: sgn_input +- real(kind=r_def) :: const_div_input +- real(kind=r_def) :: const_theta_input - type(field_type) :: lhs_input - type(field_type) :: x_input - type(field_type) :: mt_inv_input @@ -42,7 +44,8 @@ + type(r_solver_operator_type) :: p3t + type(r_solver_operator_type) :: pt2 + type(r_solver_operator_type) :: m3 -+ real(kind=r_solver) :: sgn ++ real(kind=r_solver) :: const_div ++ real(kind=r_solver) :: const_theta + type(r_solver_field_type) :: rhs_p + type(r_solver_field_type) :: lhs_input + type(r_solver_field_type) :: x_input @@ -74,18 +77,21 @@ vector_space_w2_ptr => function_space_collection%get_fs(mesh,element_order_h,element_order_v,w2) vector_space_w3_ptr => function_space_collection%get_fs(mesh,element_order_h,element_order_v,w3) -@@ -68,48 +71,62 @@ +@@ -70,53 +72,63 @@ call m3%initialise(vector_space_w3_ptr, vector_space_w3_ptr) call lhs_input%initialise(vector_space=vector_space_w3_ptr, name='lhs_input') call x_input%initialise(vector_space=vector_space_w2_ptr, name='x_input') - call mt_inv_input%initialise(vector_space=vector_space_wtheta_ptr, name='mt_inv_input') call pressure_input%initialise(vector_space=vector_space_w3_ptr, name='pressure_input') call rhs_p_input%initialise(vector_space=vector_space_w3_ptr, name='rhs_p_input') -- call RANDOM_NUMBER(sgn) -- sgn_input = sgn +- call RANDOM_NUMBER(const_div) +- const_div_input = const_div +- call RANDOM_NUMBER(const_theta) +- const_theta_input = const_theta + ! NOTE(JC): Known issue with scalar randomisation with MPI. Each process + ! generates a different number. See LFRic-apps ticket #765. -+ sgn = 1.0_r_def ++ const_div = 1.0_r_def ++ const_theta = 1.0_r_def lhs_inner_prod = 0.0_r_def x_inner_prod = 0.0_r_def - mt_inv_inner_prod = 0.0_r_def @@ -96,24 +102,27 @@ call invoke(setval_random(lhs), setval_x(lhs_input, lhs), setval_random(x), setval_x(x_input, x), setval_random(mt_inv), & -&setval_x(mt_inv_input, mt_inv), setval_random(pressure), setval_x(pressure_input, pressure), setval_random(rhs_p), & -&setval_x(rhs_p_input, rhs_p), setop_random_kernel_type(div), setop_random_kernel_type(p3t), setop_random_kernel_type(pt2), & --&setop_random_kernel_type(m3), opt_apply_variable_hx_kernel_type(lhs, x, mt_inv, pressure, div, p3t, pt2, m3, sgn, rhs_p), & --&x_innerproduct_x(lhs_inner_prod, lhs), x_innerproduct_x(x_inner_prod, x), x_innerproduct_x(mt_inv_inner_prod, mt_inv), & +-&setop_random_kernel_type(m3), opt_apply_variable_hx_kernel_type(lhs, x, mt_inv, pressure, div, p3t, pt2, m3, const_div, & +-&const_theta, rhs_p), x_innerproduct_x(lhs_inner_prod, lhs), x_innerproduct_x(x_inner_prod, x), & +-&x_innerproduct_x(mt_inv_inner_prod, mt_inv), x_innerproduct_x(pressure_inner_prod, pressure), x_innerproduct_x(rhs_p_inner_prod, & +-&rhs_p)) +- inner1 = 0.0_r_def +- inner1 = inner1 + const_div * const_div +- inner1 = inner1 + const_theta * const_theta +- inner1 = inner1 + lhs_inner_prod +- inner1 = inner1 + x_inner_prod +- inner1 = inner1 + mt_inv_inner_prod +- inner1 = inner1 + pressure_inner_prod +- inner1 = inner1 + rhs_p_inner_prod +&setval_random(pressure), setval_x(pressure_input, pressure), setval_random(rhs_p), & +&setval_x(rhs_p_input, rhs_p)) + call setop_random_alg(div) + call setop_random_alg(p3t) + call setop_random_alg(pt2) + call setop_random_alg(m3) -+ call invoke(opt_apply_variable_hx_kernel_type(lhs, x, mt_inv, pressure, div, p3t, pt2, m3, sgn, rhs_p), & ++ call invoke(opt_apply_variable_hx_kernel_type(lhs, x, mt_inv, pressure, div, p3t, pt2, m3, const_div, const_theta, rhs_p), & +&x_innerproduct_x(lhs_inner_prod, lhs), x_innerproduct_x(x_inner_prod, x), & - &x_innerproduct_x(pressure_inner_prod, pressure), x_innerproduct_x(rhs_p_inner_prod, rhs_p)) -- inner1 = 0.0_r_def -- inner1 = inner1 + sgn * sgn -- inner1 = inner1 + lhs_inner_prod -- inner1 = inner1 + x_inner_prod -- inner1 = inner1 + mt_inv_inner_prod -- inner1 = inner1 + pressure_inner_prod -- inner1 = inner1 + rhs_p_inner_prod ++&x_innerproduct_x(pressure_inner_prod, pressure), x_innerproduct_x(rhs_p_inner_prod, rhs_p)) + write( log_scratch_space, * ) "adjt_opt_apply_variable_hx inner products:" + call log_event( log_scratch_space, log_level_debug ) + write( log_scratch_space, * ) "lhs inner product = ", lhs_inner_prod @@ -142,13 +151,14 @@ - mt_inv_mt_inv_input_inner_prod = 0.0_r_def pressure_pressure_input_inner_prod = 0.0_r_def rhs_p_rhs_p_input_inner_prod = 0.0_r_def - call invoke(adj_opt_apply_variable_hx_kernel_type(lhs, x, mt_inv, pressure, div, p3t, pt2, m3, sgn, rhs_p), & + call invoke(adj_opt_apply_variable_hx_kernel_type(lhs, x, mt_inv, pressure, div, p3t, pt2, m3, const_div, const_theta, rhs_p), & &x_innerproduct_y(lhs_lhs_input_inner_prod, lhs, lhs_input), x_innerproduct_y(x_x_input_inner_prod, x, x_input), & -&x_innerproduct_y(mt_inv_mt_inv_input_inner_prod, mt_inv, mt_inv_input), x_innerproduct_y(pressure_pressure_input_inner_prod, & +&x_innerproduct_y(pressure_pressure_input_inner_prod, & &pressure, pressure_input), x_innerproduct_y(rhs_p_rhs_p_input_inner_prod, rhs_p, rhs_p_input)) - inner2 = 0.0_r_def -- inner2 = inner2 + sgn * sgn_input +- inner2 = inner2 + const_div * const_div_input +- inner2 = inner2 + const_theta * const_theta_input - inner2 = inner2 + lhs_lhs_input_inner_prod - inner2 = inner2 + x_x_input_inner_prod - inner2 = inner2 + mt_inv_mt_inv_input_inner_prod diff --git a/science/adjoint/patches/kernel/adj_apply_mixed_operator_kernel_mod.patch b/science/adjoint/patches/kernel/adj_apply_mixed_operator_kernel_mod.patch index 8de9b745ba..a4ffad2526 100644 --- a/science/adjoint/patches/kernel/adj_apply_mixed_operator_kernel_mod.patch +++ b/science/adjoint/patches/kernel/adj_apply_mixed_operator_kernel_mod.patch @@ -1,6 +1,6 @@ @@ -7,7 +7,7 @@ type, public, extends(kernel_type) :: adj_apply_mixed_operator_kernel_type - type(ARG_TYPE) :: META_ARGS(15) = (/ & + type(ARG_TYPE) :: META_ARGS(18) = (/ & arg_type(gh_field, gh_real, gh_read, w2h), & - arg_type(gh_field, gh_real, gh_write, w2v), & + arg_type(gh_field, gh_real, gh_readwrite, w2v), & @@ -29,10 +29,10 @@ lhs_w(idx_8) = 0.0 enddo - do idx_7 = UBOUND(t_col, dim=1), LBOUND(t_col, dim=1), -1 -- t_col = t_col + mt_lumped_inv(idx_7 + iwt - LBOUND(t_col(idx_7), dim=1)) * t_col(idx_7) +- t_col = t_col + const_t * mt_lumped_inv(idx_7 + iwt - LBOUND(t_col(idx_7), dim=1)) * t_col(idx_7) - t_col(idx_7) = 0.0 - enddo -+ t_col(:) = t_col(:) * mt_lumped_inv(iwt:iwt+1+nm1) ++ t_col(:) = t_col(:) * mt_lumped_inv(iwt:iwt+1+nm1) * const_t do df = ndf_w2, 1, -1 do idx_6 = nm1 + 1, 1, -1 u_e(idx_6 + LBOUND(u_e, dim=1) - 1,df) = u_e(idx_6 + LBOUND(u_e, dim=1) - 1,df) + (-pt2(idx_6 + ij - 1,2,df) * t_col(idx_6)) diff --git a/science/adjoint/patches/kernel/adj_opt_apply_variable_hx_kernel_mod.patch b/science/adjoint/patches/kernel/adj_opt_apply_variable_hx_kernel_mod.patch index a1a0c8e02b..8cf5eebe4c 100644 --- a/science/adjoint/patches/kernel/adj_opt_apply_variable_hx_kernel_mod.patch +++ b/science/adjoint/patches/kernel/adj_opt_apply_variable_hx_kernel_mod.patch @@ -13,7 +13,7 @@ - end interface opt_apply_variable_hx_code + end interface adj_opt_apply_variable_hx_code type, public, extends(kernel_type) :: adj_opt_apply_variable_hx_kernel_type - type(ARG_TYPE) :: META_ARGS(10) = (/ & + type(ARG_TYPE) :: META_ARGS(11) = (/ & - arg_type(gh_field, gh_real, gh_write, w3), & - arg_type(gh_field, gh_real, gh_read, w2), & + arg_type(gh_field, gh_real, gh_readwrite, w3), & @@ -101,9 +101,9 @@ enddo + k = 0 + ik = cell * nlayers + k - nlayers + 1 - div_u = div_u + lhs(map_w31 + k) * sgn - t_e(1) = t_e(1) + sgn * lhs(map_w31 + k) - t_e(2) = t_e(2) + sgn * lhs(map_w31 + k) + div_u = div_u + const_div * lhs(map_w31 + k) + t_e(1) = t_e(1) + const_theta * lhs(map_w31 + k) + t_e(2) = t_e(2) + const_theta * lhs(map_w31 + k) pressure(k + map_w31) = pressure(k + map_w31) + m3(ik,1,1) * lhs(map_w31 + k) rhs_p(k + map_w3(1)) = rhs_p(k + map_w3(1)) + lhs(map_w31 + k) - lhs(map_w31 + k) = 0.0 @@ -197,9 +197,9 @@ enddo + k = 0 + ik = cell * nlayers + k - nlayers + 1 - div_u = div_u + lhs(map_w31 + k) * sgn - t_e(1) = t_e(1) + sgn * lhs(map_w31 + k) - t_e(2) = t_e(2) + sgn * lhs(map_w31 + k) + div_u = div_u + const_div * lhs(map_w31 + k) + t_e(1) = t_e(1) + const_theta * lhs(map_w31 + k) + t_e(2) = t_e(2) + const_theta * lhs(map_w31 + k) pressure(k + map_w31) = pressure(k + map_w31) + m3(ik,1,1) * lhs(map_w31 + k) rhs_p(k + map_w3(1)) = rhs_p(k + map_w3(1)) + lhs(map_w31 + k) - lhs(map_w31 + k) = 0.0 diff --git a/science/adjoint/patches/kernel/apply_elim_mixed_lp_operator_kernel_mod.patch b/science/adjoint/patches/kernel/apply_elim_mixed_lp_operator_kernel_mod.patch index 809464429a..b26ed556ad 100644 --- a/science/adjoint/patches/kernel/apply_elim_mixed_lp_operator_kernel_mod.patch +++ b/science/adjoint/patches/kernel/apply_elim_mixed_lp_operator_kernel_mod.patch @@ -15,14 +15,14 @@ ! LHS for this element - lhs_e = matmul(m3exner(ik,:,:), p_e) & - - matmul(p3theta(ik,:,:), t_e) & -- + matmul(q32(ik,:,:), u_e) +- + const_r*matmul(q32_rho(ik,:,:), u_e) + m3exner_at_cell = m3exner(ik,:,:) + p3theta_at_cell = p3theta(ik,:,:) -+ q32_at_cell = q32(ik,:,:) ++ q32_at_cell = q32_rho(ik,:,:) + m3e_pe = matmul(m3exner_at_cell(:,:), p_e) + p3t_te = matmul(p3theta_at_cell(:,:), t_e) + q32_ue = matmul(q32_at_cell(:,:), u_e) -+ lhs_e = m3e_pe - p3t_te + q32_ue ++ lhs_e = m3e_pe - p3t_te + const_r*q32_ue do df = 1, ndf_w3 lhs_exner(map_w3(df)+k) = lhs_e(df) end do diff --git a/science/adjoint/source/algorithm/solver/adj_mixed_operator_alg_mod.x90 b/science/adjoint/source/algorithm/solver/adj_mixed_operator_alg_mod.x90 index 5700db3dfb..2c1add074b 100644 --- a/science/adjoint/source/algorithm/solver/adj_mixed_operator_alg_mod.x90 +++ b/science/adjoint/source/algorithm/solver/adj_mixed_operator_alg_mod.x90 @@ -45,12 +45,15 @@ module adj_mixed_operator_alg_mod get_face_selector_ns use sci_linear_operator_mod, only: abstract_linear_operator_type use sci_r_solver_field_vector_mod, only: r_solver_field_vector_type - use si_operators_alg_mod, only: get_p2theta, & - get_div_star, & - get_ptheta2, & - get_m3_exner_star, & - get_p3theta, & - get_eliminated_q32_rho + use si_operators_alg_mod, only: get_p2theta, & + get_div_star, & + get_ptheta2, & + get_m3_exner_star, & + get_p3theta, & + get_eliminated_q32_rho, & + get_tau_u_dt_cp, & + get_tau_t_dt, & + get_tau_r_dt use solver_constants_mod, only: get_w2_mass_matrix_r_solver, & get_normalisation_r_solver use timing_mod, only: start_timing, & @@ -64,14 +67,34 @@ module adj_mixed_operator_alg_mod type, public, extends(abstract_linear_operator_type) :: adj_mixed_operator_type private + integer(kind=i_def) :: stepper contains procedure, public :: apply => apply_adj_mixed_operator procedure, private :: apply_adj_mixed_operator final :: destroy_adj_mixed_operator end type adj_mixed_operator_type + interface adj_mixed_operator_type + module procedure adj_mixed_operator_constructor + end interface + contains + !> @brief Constructor for the adjoint mixed operator + !> @param[in] stepper The time stepper enumerator used to select the operators + !> @return Instance of the adjoint mixed operator + function adj_mixed_operator_constructor(stepper) result(self) + + implicit none + + integer(kind=i_def), intent(in) :: stepper + type(adj_mixed_operator_type) :: self + + self%stepper = stepper + + end function adj_mixed_operator_constructor + + !> @brief Applies the adjoint mixed operator to the vector. !> @param[in] x Field vector to be read !> @param[in,out] y Field vector to be written @@ -90,7 +113,7 @@ contains integer(i_def) :: p_h, p_v type(r_solver_field_type), pointer :: w2_mask, w3_mask type(r_solver_field_type) :: x_t - real(kind=r_solver), parameter :: minus_one = -1.0_r_solver + real(kind=r_solver) :: const_u, const_t, const_r, minus_const_t type(r_solver_operator_type), pointer :: q32_rho_op type(r_solver_field_type), pointer :: xvec_uv, xvec_p, xvec_w type(r_solver_field_type), pointer :: yvec_uv, yvec_p, yvec_w @@ -139,6 +162,12 @@ contains m3_exner_star => get_m3_exner_star() p3theta => get_p3theta() + ! Scaling constants (previously baked into the operators, now applied here) + const_u = get_tau_u_dt_cp(self%stepper) + const_t = get_tau_t_dt(self%stepper) + const_r = get_tau_r_dt(self%stepper) + minus_const_t = -const_t + select type (x) type is (r_solver_field_vector_type) select type (y) @@ -209,7 +238,8 @@ contains ptheta2, mt_lumped_inv, & mm_vel, p2theta, div_star, m2_diag, & m3_exner_star, q32_rho_op, & - p3theta ), & + p3theta, & + const_u, const_t, const_r ), & setval_c( yvec_uv, 0.0_r_solver ) ) else t_fs => function_space_collection%get_fs( mesh, p_h, p_v, Wtheta ) @@ -218,11 +248,12 @@ contains enforce_bc_kernel_type(y_uvw), & adj_apply_elim_mixed_lp_operator_kernel_type( yvec_p, x_t, x_uvw, & xvec_p, m3_exner_star, & - q32_rho_op, p3theta ), & + q32_rho_op, p3theta, const_r ), & adj_apply_mixed_lu_operator_kernel_type( y_uvw, x_uvw, x_t, xvec_p, & - mm_vel, p2theta, div_star, m2_diag ), & + mm_vel, p2theta, div_star, m2_diag, & + const_u ), & setval_c( y_uvw, 0.0_r_solver ), & - inc_aX_times_Y( minus_one, x_t, mt_lumped_inv ), & + inc_aX_times_Y( minus_const_t, x_t, mt_lumped_inv ), & adj_dg_inc_matrix_vector_kernel_type( x_t, x_uvw, Ptheta2 ), & setval_c( x_t, 0.0_r_solver ) ) end if diff --git a/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 b/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 index 87c34984da..02fe144b47 100644 --- a/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 +++ b/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 @@ -65,6 +65,7 @@ module adj_mixed_schur_preconditioner_alg_mod type(r_solver_field_vector_type) :: pressure_b type(r_solver_field_vector_type) :: pressure_x class(abstract_iterative_solver_type), pointer :: adj_pressure_solver + integer(kind=i_def) :: stepper contains procedure, public :: apply => apply_adj_mixed_schur_preconditioner procedure, private :: apply_adj_mixed_schur_preconditioner @@ -84,7 +85,8 @@ contains !> @param [in] p_h Horizontal element order for function spaces !> @param [in] p_v Vertical element order for function spaces !> @param [in] adj_pressure_solver Solver object for Helmholtz system - function adj_mixed_schur_preconditioner_ctor( mesh, p_h, p_v, adj_pressure_solver ) & + !> @param [in] stepper Timestepper enumerator used to select operators + function adj_mixed_schur_preconditioner_ctor( mesh, p_h, p_v, adj_pressure_solver, stepper ) & result(self) ! Note: name shortened from adj_mixed_schur_preconditioner_constructor as this ! causes "error #5462: Global name too long" @@ -94,6 +96,7 @@ contains integer(i_def), intent(in) :: p_h, p_v type(mesh_type), target, intent(in) :: mesh class(abstract_iterative_solver_type), target, intent(in) :: adj_pressure_solver + integer(i_def), intent(in) :: stepper type(adj_mixed_schur_preconditioner_type) :: self @@ -116,6 +119,7 @@ contains ! Set pressure solver self%adj_pressure_solver => adj_pressure_solver + self%stepper = stepper call log_event( 'done', LOG_LEVEL_DEBUG ) @@ -256,15 +260,15 @@ contains p3theta => get_p3theta() m3_rho_star => get_m3_rho_star() compound_div => get_compound_div() - Hb_lumped_inv => get_Hb_lumped_inv() + Hb_lumped_inv => get_Hb_lumped_inv(self%stepper) - const_r = get_tau_r_dt() - const_t = get_tau_t_dt() + const_r = get_tau_r_dt(self%stepper) + const_t = get_tau_t_dt(self%stepper) minus_const_r = -const_r minus_const_t = -const_t if (normalise) then - h_diag => get_helm_diag() + h_diag => get_helm_diag(self%stepper) call invoke( name="adj_msp1", & inc_X_times_Y( rhs, h_diag ) ) end if @@ -354,10 +358,10 @@ contains call u_inc%initialise(vector_space=self%rhs_u%get_function_space()) u_normalisation => get_normalisation_r_solver( W2, mesh_id ) div_star => get_div_star() - Hb_lumped_inv => get_Hb_lumped_inv() + Hb_lumped_inv => get_Hb_lumped_inv(self%stepper) ! div_star is assembled unscaled; the D*p' reconstruction carries tau_u*dt*cp ! in the forward model, so its adjoint carries the same constant. - const_u = get_tau_u_dt_cp() + const_u = get_tau_u_dt_cp(self%stepper) ! u' = ru + BC[HB * unorm * D * p'] if (split_w) then diff --git a/science/adjoint/source/algorithm/solver/adj_pressure_operator_alg_mod.x90 b/science/adjoint/source/algorithm/solver/adj_pressure_operator_alg_mod.x90 index 6fae394238..2738aab3cd 100644 --- a/science/adjoint/source/algorithm/solver/adj_pressure_operator_alg_mod.x90 +++ b/science/adjoint/source/algorithm/solver/adj_pressure_operator_alg_mod.x90 @@ -36,6 +36,7 @@ module adj_pressure_operator_alg_mod type, public, extends(abstract_hierarchical_linear_operator_type) :: adj_pressure_operator_type private integer(kind=i_def) :: level + integer(kind=i_def) :: stepper type(adj_solver_lookup_cache_type), pointer :: adj_lookup_table_cache_ptr contains procedure, public :: apply => apply_adj_pressure_operator @@ -55,12 +56,14 @@ contains !> @brief Construct new instance of type. !> @param[in] level The mesh level the space is on + !> @param[in] stepper Timestepper enumerator used to select operators !> @param[in] adj_lookup_table_cache The lookup table cache - function adj_pressure_operator_constructor(level, adj_lookup_table_cache) result(self) + function adj_pressure_operator_constructor(level, stepper, adj_lookup_table_cache) result(self) implicit none integer(kind=i_def), intent(in) :: level + integer(kind=i_def), intent(in) :: stepper type(adj_solver_lookup_cache_type), target, intent(in) :: adj_lookup_table_cache type(adj_pressure_operator_type) :: self @@ -68,6 +71,7 @@ contains ! Temporaries required in operator application self%level = level + self%stepper = stepper self%adj_lookup_table_cache_ptr => adj_lookup_table_cache call log_event( 'done', LOG_LEVEL_DEBUG ) @@ -86,6 +90,7 @@ contains ! Deep copy of the contents of the adj_pressure_operator_type dest%level = source%level + dest%stepper = source%stepper dest%adj_lookup_table_cache_ptr => source%adj_lookup_table_cache_ptr end subroutine adj_pressure_operator_assign @@ -137,7 +142,7 @@ contains end if if (element_order_h == 0 .and. element_order_v == 0) then - Helmholtz_operator => get_helmholtz_operator(self%level) + Helmholtz_operator => get_helmholtz_operator(self%stepper, self%level) lam_mesh = .false. if (limited_area .and. topology==topology_non_periodic) lam_mesh=.true. @@ -186,7 +191,7 @@ contains class(abstract_hierarchical_linear_operator_type), allocatable, intent(inout) :: coarse_operator allocate( coarse_operator, & - source = adj_pressure_operator_type(self%level + 1, self%adj_lookup_table_cache_ptr) ) + source = adj_pressure_operator_type(self%level + 1, self%stepper, self%adj_lookup_table_cache_ptr) ) end subroutine coarsen_adj_pressure_operator diff --git a/science/adjoint/source/algorithm/solver/adj_pressure_precon_alg_mod.x90 b/science/adjoint/source/algorithm/solver/adj_pressure_precon_alg_mod.x90 index dcffacd93d..583be8eacf 100644 --- a/science/adjoint/source/algorithm/solver/adj_pressure_precon_alg_mod.x90 +++ b/science/adjoint/source/algorithm/solver/adj_pressure_precon_alg_mod.x90 @@ -19,6 +19,7 @@ module adj_pressure_precon_alg_mod type, public, extends(abstract_hierarchical_preconditioner_type) :: adj_pressure_preconditioner_type integer(kind=i_def) :: level + integer(kind=i_def) :: stepper contains procedure, public :: apply => apply_adj_pressure_preconditioner @@ -42,19 +43,22 @@ module adj_pressure_precon_alg_mod contains !> @brief Constructs a adj_pressure_preconditioner_type object - !> @param[in] level Multigrid level + !> @param[in] level Multigrid level + !> @param[in] stepper Timestepper enumerator used to select operators !> @return self The constructed preconditioner object - function adj_pressure_preconditioner_constructor(level) result(self) + function adj_pressure_preconditioner_constructor(level, stepper) result(self) use log_mod, only: log_event, LOG_LEVEL_INFO implicit none integer(kind=i_def), intent(in) :: level + integer(kind=i_def), intent(in) :: stepper type(adj_pressure_preconditioner_type) :: self call log_event( 'Constructing adjoint pressure preconditioner...', LOG_LEVEL_INFO ) self%level = level + self%stepper = stepper call log_event( 'done', LOG_LEVEL_INFO ) end function adj_pressure_preconditioner_constructor @@ -70,6 +74,7 @@ contains class(adj_pressure_preconditioner_type), intent(out) :: dest dest%level = source%level + dest%stepper = source%stepper end subroutine adj_pressure_preconditioner_assign @@ -98,7 +103,7 @@ contains select type(y) type is(r_solver_field_vector_type) ! Multiply by inverse of vertical operator \f$ H_z \f$ (adjoint) - tri => get_tri_precon(self%level) + tri => get_tri_precon(self%stepper, self%level) x_vec => x%get_field_from_position(1) y_vec => y%get_field_from_position(1) call invoke(adj_tri_solve_kernel_type( y_vec, x_vec, tri )) @@ -121,7 +126,7 @@ contains class(adj_pressure_preconditioner_type), intent(inout) :: self class(abstract_hierarchical_preconditioner_type), allocatable, intent(inout) :: other - allocate( other, source=adj_pressure_preconditioner_type(self%level+1) ) + allocate( other, source=adj_pressure_preconditioner_type(self%level+1, self%stepper) ) end subroutine coarsen_adj_pressure_preconditioner diff --git a/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 b/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 index 98bd1135dd..162985ed01 100644 --- a/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 +++ b/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 @@ -73,6 +73,7 @@ module adj_semi_implicit_solver_alg_mod class(abstract_preconditioner_type), allocatable :: adj_mixed_preconditioner class(abstract_iterative_solver_type), allocatable :: adj_mixed_solver type(adj_mixed_operator_type) :: adj_mixed_operator + integer(kind=i_def) :: stepper contains procedure, public :: initialise procedure, public :: step @@ -95,8 +96,10 @@ contains !> @param[in] adj_lookup_table_cache The lookup table cache !> @param[out] adj_pressure_operator_out Output adjoint (Helmholtz) pressure operator !> @param[out] adj_pressure_preconditioner_out Output adjoint (Helmholtz) pressure preconditioner + !> @param[in] stepper Time stepper enumerator used to select operators subroutine create_adj_pressure_preconditioner( state, adj_lookup_table_cache, & - adj_pressure_operator_out, adj_pressure_preconditioner_out ) + adj_pressure_operator_out, adj_pressure_preconditioner_out, & + stepper ) use helmholtz_solver_config_mod, only: helmholtz_preconditioner => preconditioner, & preconditioner_none, & @@ -113,6 +116,9 @@ contains type(adj_pressure_operator_type), intent(out) :: adj_pressure_operator_out class(abstract_preconditioner_type), allocatable, intent(out) :: adj_pressure_preconditioner_out + ! Timestepper enumerator + integer(kind=i_def), intent(in) :: stepper + ! Vertical pressure preconditioner type(adj_pressure_preconditioner_type) :: adj_helmholtz_preconditioner @@ -120,7 +126,7 @@ contains level = 1_i_def - adj_pressure_operator_out = adj_pressure_operator_type(level, adj_lookup_table_cache) + adj_pressure_operator_out = adj_pressure_operator_type(level, stepper, adj_lookup_table_cache) call log_event( "adj_semi_implicit_solver_type%create_adj_pressure_preconditioner: starting", LOG_LEVEL_INFO ) @@ -131,9 +137,9 @@ contains source = null_preconditioner_type() ) case(PRECONDITIONER_TRIDIAGONAL) allocate( adj_pressure_preconditioner_out, & - source = adj_pressure_preconditioner_type(level=1_i_def) ) + source = adj_pressure_preconditioner_type(level=1_i_def, stepper=stepper) ) case(PRECONDITIONER_MULTIGRID) - adj_helmholtz_preconditioner = adj_pressure_preconditioner_type(level=1_i_def) + adj_helmholtz_preconditioner = adj_pressure_preconditioner_type(level=1_i_def, stepper=stepper) allocate( adj_pressure_preconditioner_out, & source = multigrid_preconditioner_type( state(igh_p)%get_function_space(), & adj_pressure_operator_out, & @@ -194,7 +200,8 @@ contains !> @param[in] state Prognostic state for the adjoint solver !> @param[in] adj_pressure_solver_in Input adjoint (Helmholtz) pressure solver !> @param[out] adj_mixed_preconditioner_out Output adjoint mixed preconditioner - subroutine create_adj_mixed_preconditioner( state, adj_pressure_solver_in, adj_mixed_preconditioner_out ) + !> @param[in] stepper Timestepper enumerator used to select operators + subroutine create_adj_mixed_preconditioner( state, adj_pressure_solver_in, adj_mixed_preconditioner_out, stepper ) implicit none @@ -207,6 +214,9 @@ contains ! Output adjoint preconditioner for mixed problem class(abstract_preconditioner_type), allocatable, intent(out) :: adj_mixed_preconditioner_out + ! Time stepper enumerator + integer(kind=i_def), intent(in) :: stepper + call log_event( "adj_semi_implicit_solver_type%create_adj_mixed_preconditioner: starting", LOG_LEVEL_INFO ) select case(si_preconditioner) @@ -215,7 +225,8 @@ contains source = adj_mixed_schur_preconditioner_type( state(igh_u)%get_mesh(), & state(igh_u)%get_element_order_h(), & state(igh_u)%get_element_order_v(), & - adj_pressure_solver_in ) ) + adj_pressure_solver_in, & + stepper ) ) case(SI_PRECONDITIONER_NONE) allocate ( adj_mixed_preconditioner_out, & source = null_preconditioner_type() ) @@ -232,7 +243,8 @@ contains !> @param[in] adj_mixed_preconditioner_in Input adjoint mixed preconditioner !> @param[in,out] adj_mixed_operator_out Output adjoint mixed operator (not explicitly set, so must be inout) !> @param[out] adj_mixed_solver_out Output adjoint mixed solver - subroutine create_adj_mixed_solver( adj_mixed_preconditioner_in, adj_mixed_operator_out, adj_mixed_solver_out ) + !> @param[in] stepper Time stepper enumerator used to select operators + subroutine create_adj_mixed_solver( adj_mixed_preconditioner_in, adj_mixed_operator_out, adj_mixed_solver_out, stepper ) implicit none @@ -243,8 +255,16 @@ contains type(adj_mixed_operator_type), intent(inout) :: adj_mixed_operator_out class(abstract_iterative_solver_type), allocatable, intent(out) :: adj_mixed_solver_out + ! Time stepper enumerator + integer(kind=i_def), intent(in) :: stepper + call log_event( "adj_semi_implicit_solver_type%create_adj_mixed_solver: starting", LOG_LEVEL_INFO ) + ! Store the stepper enumerator on the adjoint mixed operator so that it can + ! obtain the correct operator scaling constants when applied + adj_mixed_operator_out = adj_mixed_operator_type( stepper ) + + select case(si_method) case(SI_METHOD_BLOCK_GCR) allocate ( adj_mixed_solver_out, & @@ -266,7 +286,7 @@ contains !> @brief Initialisation procedure for the adjoint semi-implicit solver !> @param[in] state Prognostic state for the solver - subroutine initialise( self, state, adj_lookup_table_cache ) + subroutine initialise( self, state, adj_lookup_table_cache, stepper ) implicit none @@ -274,14 +294,18 @@ contains class(adj_semi_implicit_solver_type), intent(inout) :: self type(field_type), dimension(bundle_size), intent(in) :: state type(adj_solver_lookup_cache_type), intent(in) :: adj_lookup_table_cache + integer(kind=i_def), intent(in) :: stepper + + self%stepper = stepper call create_adj_pressure_preconditioner( state, & adj_lookup_table_cache, & self%adj_pressure_operator, & - self%adj_pressure_preconditioner ) + self%adj_pressure_preconditioner, & + stepper ) call create_adj_pressure_solver( self%adj_pressure_operator, self%adj_pressure_preconditioner, self%adj_pressure_solver ) - call create_adj_mixed_preconditioner( state, self%adj_pressure_solver, self%adj_mixed_preconditioner ) - call create_adj_mixed_solver( self%adj_mixed_preconditioner, self%adj_mixed_operator, self%adj_mixed_solver ) + call create_adj_mixed_preconditioner( state, self%adj_pressure_solver, self%adj_mixed_preconditioner, stepper ) + call create_adj_mixed_solver( self%adj_mixed_preconditioner, self%adj_mixed_operator, self%adj_mixed_solver, stepper ) call log_event( "adj_semi_implicit_solver_type%initialise: Initialised adjoint semi-implicit solver", LOG_LEVEL_INFO ) @@ -365,8 +389,8 @@ contains mesh_id = state(igh_p)%get_mesh_id() - const_u = get_tau_u_dt_cp() - const_t = get_tau_t_dt() + const_u = get_tau_u_dt_cp(self%stepper) + const_t = get_tau_t_dt(self%stepper) ! Normalise theta & u residual t_normalisation => get_normalisation( Wtheta, mesh_id ) diff --git a/science/adjoint/source/algorithm/timestepping/atl_si_timestep_alg_mod.x90 b/science/adjoint/source/algorithm/timestepping/atl_si_timestep_alg_mod.x90 index 816e78312b..32cc319211 100644 --- a/science/adjoint/source/algorithm/timestepping/atl_si_timestep_alg_mod.x90 +++ b/science/adjoint/source/algorithm/timestepping/atl_si_timestep_alg_mod.x90 @@ -49,6 +49,7 @@ module atl_si_timestep_alg_mod use adj_trans_lookup_cache_mod, only: adj_trans_lookup_cache_type use atl_transport_control_alg_mod, only: atl_transport_control_alg use si_operators_alg_mod, only: compute_si_operators + use dycore_constants_mod, only: stepper_siqn use semi_implicit_solver_alg_mod, only: semi_implicit_solver_alg_step use adj_semi_implicit_solver_alg_mod, only: adj_semi_implicit_solver_type use derive_exner_from_eos_alg_mod, only: derive_exner_from_eos @@ -289,7 +290,7 @@ contains call self%adj_solver_lookup_cache%initialise(u%get_mesh()) call self%adj_trans_lookup_cache%initialise(config, u%get_mesh()) - call self%adj_semi_implicit_solver%initialise(self%state, self%adj_solver_lookup_cache) + call self%adj_semi_implicit_solver%initialise(self%state, self%adj_solver_lookup_cache, stepper_siqn) call log_event( "atl_si_timestep_type%init: initialised timestepping algorithm", LOG_LEVEL_INFO ) @@ -404,7 +405,8 @@ contains if (mod( modeldb%clock%get_step() - 1_i_def, reference_reset_freq ) == 0_i_def) then call compute_si_operators( modeldb%config, self%ls_state(igh_t), & self%ls_state(igh_d), self%ls_state(igh_p), & - modeldb%clock, self%ls_moist_dyn_itns(:,1,1) ) + modeldb%clock, self%ls_moist_dyn_itns(:,1,1), & + stepper_siqn ) end if ! Compute the time-level n dynamics terms @@ -540,7 +542,7 @@ contains dry_flux_solver, & self%ls_moist_dyn_itns(gas_law, next_outer, next_inner), & self%ls_mr_itns(:,next_outer,next_inner), & - first_iteration=(inner==1) ) + first_iteration=(inner==1), stepper=stepper_siqn ) ! If not already done, update factors for moist dynamics if (.not. guess_np1 .and. self%use_moisture) then call moist_dyn_factors_alg( self%ls_moist_dyn_itns(:,next_outer,next_inner), & diff --git a/science/gungho/source/algorithm/runtime_constants/dycore_constants_mod.x90 b/science/gungho/source/algorithm/runtime_constants/dycore_constants_mod.x90 index c3d8bf6b1b..edd6c283cd 100644 --- a/science/gungho/source/algorithm/runtime_constants/dycore_constants_mod.x90 +++ b/science/gungho/source/algorithm/runtime_constants/dycore_constants_mod.x90 @@ -67,6 +67,9 @@ module dycore_constants_mod integer(kind=i_def), parameter, public :: w2_lagged_damping_layer_matrix = 4374 integer(kind=i_def), parameter, public :: w2_si_matrix = 891 + ! Timestepping enumerators + integer(kind=i_def), parameter, public :: stepper_siqn = 222 + ! ========================================================================== ! ! Public functions for accessing the module contents ! ========================================================================== ! diff --git a/science/gungho/source/algorithm/solver/mixed_operator_alg_mod.x90 b/science/gungho/source/algorithm/solver/mixed_operator_alg_mod.x90 index 2e466006be..a022c1c623 100644 --- a/science/gungho/source/algorithm/solver/mixed_operator_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/mixed_operator_alg_mod.x90 @@ -73,6 +73,8 @@ module mixed_operator_alg_mod mixed_operator_type private + !> Time stepper enumerator (used to select the SI operators) + integer(kind=i_def) :: stepper contains !> Over-ride the abstract interface @@ -86,8 +88,26 @@ module mixed_operator_alg_mod final :: destroy_mixed_operator end type mixed_operator_type + interface mixed_operator_type + module procedure mixed_operator_constructor + end interface + contains + !> @brief Constructor for the mixed operator + !> @param[in] stepper The time stepper enumerator used to select the operators + !> @return Instance of the mixed operator + function mixed_operator_constructor(stepper) result(self) + + implicit none + + integer(kind=i_def), intent(in) :: stepper + type(mixed_operator_type) :: self + + self%stepper = stepper + + end function mixed_operator_constructor + !> @brief Applies the mixed operator to the vector, \f$ y = M x \f$. !> !> @param[in,out] self Instance of the mixed operator @@ -219,10 +239,10 @@ contains p3theta => get_p3theta() ! Obtain the tau*dt scaling constants used to assemble the SI operators. - const_u = get_tau_u_dt_cp() ! tau_u*dt*cp - const_t = get_tau_t_dt() ! tau_t*dt - const_r = get_tau_r_dt() ! tau_r*dt - const_tu = get_tau_tu_dt2_cp() ! tau_t*tau_u*dt^2*cp + const_u = get_tau_u_dt_cp(self%stepper) ! tau_u*dt*cp + const_t = get_tau_t_dt(self%stepper) ! tau_t*dt + const_r = get_tau_r_dt(self%stepper) ! tau_r*dt + const_tu = get_tau_tu_dt2_cp(self%stepper) ! tau_t*tau_u*dt^2*cp minus_const_t = -const_t select type (x) diff --git a/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 b/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 index eb830ce17d..f77b4f75b5 100644 --- a/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 @@ -151,6 +151,7 @@ module mixed_schur_preconditioner_alg_mod !> Pressure (Helmholtz) solver object class(abstract_iterative_solver_type), pointer :: & pressure_solver + integer(kind=i_def) :: stepper contains ! Override the (abstract interface) for application of @@ -190,10 +191,12 @@ contains !> @param [in] element_order_h Horizontal element order for function spaces !> @param [in] element_order_v Vertical element order for function spaces !> @param [in] pressure_solver Solver object for Helmholtz system + !> @param [in] stepper Timestepper enumerator used to select operators !> @return self the constructed preconditioner object function mixed_schur_preconditioner_constructor(mesh, element_order_h, & element_order_v, & - pressure_solver) & + pressure_solver, & + stepper) & result(self) use function_space_mod, only: function_space_type @@ -206,6 +209,7 @@ contains integer(i_def), intent(in) :: element_order_v type(mesh_type), target, intent(in) :: mesh class(abstract_iterative_solver_type), target, intent(in) :: pressure_solver + integer(i_def), intent(in) :: stepper type(mixed_schur_preconditioner_type) :: self @@ -232,6 +236,7 @@ contains ! Set pressure solver self%pressure_solver => pressure_solver + self%stepper = stepper call log_event( 'done', LOG_LEVEL_DEBUG ) @@ -378,13 +383,13 @@ contains p3theta => get_p3theta() m3_rho_star => get_m3_rho_star() compound_div => get_compound_div() - Hb_lumped_inv => get_Hb_lumped_inv() + Hb_lumped_inv => get_Hb_lumped_inv(self%stepper) ! The SI operators are now assembled unscaled; re-apply the tau*dt scalings ! here. The divergence term uses tau_r*dt and the potential temperature term ! uses tau_t*dt. - const_r = get_tau_r_dt() - const_t = get_tau_t_dt() + const_r = get_tau_r_dt(self%stepper) + const_t = get_tau_t_dt(self%stepper) minus_const_r = -const_r minus_const_t = -const_t @@ -438,7 +443,7 @@ contains end if if ( normalise ) then - h_diag => get_helm_diag() + h_diag => get_helm_diag(self%stepper) call invoke( inc_X_times_Y(rhs, h_diag) ) end if @@ -495,9 +500,9 @@ contains ! u increment u_normalisation => get_normalisation_r_solver(W2, mesh_id) div_star => get_div_star() - Hb_lumped_inv => get_Hb_lumped_inv() + Hb_lumped_inv => get_Hb_lumped_inv(self%stepper) - const_u = get_tau_u_dt_cp() + const_u = get_tau_u_dt_cp(self%stepper) ! u' = ru + BC[HB * unorm * D * p'] if ( split_w ) then state_uv => state%get_field_from_position( isol_uv ) diff --git a/science/gungho/source/algorithm/solver/pressure_operator_alg_mod.x90 b/science/gungho/source/algorithm/solver/pressure_operator_alg_mod.x90 index b2522150bc..dd05753dd0 100644 --- a/science/gungho/source/algorithm/solver/pressure_operator_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/pressure_operator_alg_mod.x90 @@ -59,6 +59,8 @@ module pressure_operator_alg_mod private !> Level of the operator (used for multigrid) integer(kind=i_def) :: level + !> Time stepper enumerator (used to select the SI operators) + integer(kind=i_def) :: stepper contains !> Over-ride the abstract interface !> param[in] self A linear operator @@ -92,18 +94,21 @@ contains !! inverse \f$ \tilde{H}_b^{-1} \f$ as well as other operators !! such as div and grad for the Helmholtz operator application. !> - !> @param[in] level The mesh level the space is on + !> @param[in] level The mesh level the space is on + !> @param[in] stepper The timestepper enumerator used to select the operators !> @return Instance of the Helmholtz operator - function pressure_operator_constructor(level) result(self) + function pressure_operator_constructor(level, stepper) result(self) implicit none type(pressure_operator_type) :: self integer(kind=i_def), intent(in) :: level + integer(kind=i_def), intent(in) :: stepper call log_event( 'Constructing pressure operator...', LOG_LEVEL_INFO ) ! Temporaries required in operator application self%level = level + self%stepper = stepper call log_event( 'done', LOG_LEVEL_INFO ) @@ -122,6 +127,7 @@ contains ! Deep copy of the contents of the pressure_operator_type dest%level = source%level + dest%stepper = source%stepper end subroutine pressure_operator_assign !> @brief Apply Helmholtz operator to a pressure field to obtain \f$y=Hx\f$. @@ -183,7 +189,7 @@ contains y_vec => y%get_field_from_position(1) if ( x_vec%get_element_order_h() == 0 .and. & x_vec%get_element_order_v() == 0 ) then - Helmholtz_operator => get_helmholtz_operator(self%level) + Helmholtz_operator => get_helmholtz_operator(self%stepper, self%level) lam_mesh=.false. if (limited_area .and. topology==topology_non_periodic) lam_mesh=.true. @@ -203,10 +209,10 @@ contains mt_lumped_inv => get_normalisation_r_solver(Wtheta, mesh_id) p3theta => get_p3theta(self%level) u_normalisation => get_normalisation_r_solver(W2, mesh_id) - hb_lumped_inv => get_hb_lumped_inv(self%level) - const_u = get_tau_u_dt_cp() ! tau_u*dt*cp: scales grad_p (from div_star) - const_t = get_tau_t_dt() ! tau_t*dt: scales the potential temp term - const_r = get_tau_r_dt() ! tau_r*dt: scales the divergence term + hb_lumped_inv => get_hb_lumped_inv(self%stepper, self%level) + const_u = get_tau_u_dt_cp(self%stepper) ! tau_u*dt*cp: scales grad_p (from div_star) + const_t = get_tau_t_dt(self%stepper) ! tau_t*dt: scales the potential temp term + const_r = get_tau_r_dt(self%stepper) ! tau_r*dt: scales the divergence term call grad_p%initialise( hb_lumped_inv%get_function_space() ) if ( limited_area ) then w2_mask => get_mask_r_solver(W2, mesh_id, prime_mesh_name) @@ -236,7 +242,7 @@ contains m3_exner_star, const_r, const_t) ) end if if ( normalise ) then - h_diag => get_helm_diag(self%level) + h_diag => get_helm_diag(self%stepper, self%level) call invoke( inc_X_times_Y(y_vec, h_diag) ) end if @@ -281,7 +287,7 @@ contains class(abstract_hierarchical_linear_operator_type), allocatable, intent(inout) :: coarse_operator allocate(coarse_operator, & - source=pressure_operator_type(self%level+1)) + source=pressure_operator_type(self%level+1, self%stepper)) end subroutine coarsen_pressure_operator !> @brief Finalizer for the Helmholtz operator. diff --git a/science/gungho/source/algorithm/solver/pressure_precon_alg_mod.x90 b/science/gungho/source/algorithm/solver/pressure_precon_alg_mod.x90 index f5d1260e69..a9d4d8ea99 100644 --- a/science/gungho/source/algorithm/solver/pressure_precon_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/pressure_precon_alg_mod.x90 @@ -37,6 +37,7 @@ module pressure_precon_alg_mod type, public, extends(abstract_hierarchical_preconditioner_type) :: pressure_preconditioner_type integer(kind=i_def) :: level + integer(kind=i_def) :: stepper contains procedure, public :: apply => apply_pressure_preconditioner @@ -61,19 +62,22 @@ contains !> @brief Construct a pressure_preconditioner_type object. !> - !> @param[in] level Multigrid level + !> @param[in] level Multigrid level + !> @param[in] stepper The timestepper enumerator used to select the operators !> @return self The constructed preconditioner object - function pressure_preconditioner_constructor(level) result(self) + function pressure_preconditioner_constructor(level, stepper) result(self) use log_mod, only: log_event, LOG_LEVEL_INFO implicit none integer(kind=i_def), intent(in) :: level + integer(kind=i_def), intent(in) :: stepper type(pressure_preconditioner_type) :: self call log_event( 'Constructing pressure preconditioner...', & LOG_LEVEL_INFO ) self%level = level + self%stepper = stepper call log_event( 'done', LOG_LEVEL_INFO ) end function pressure_preconditioner_constructor @@ -91,6 +95,7 @@ contains ! Deep copy of the contents of the pressure_preconditioner_type dest%level = source%level + dest%stepper = source%stepper end subroutine pressure_preconditioner_assign !> @brief Apply the preconditioner to calculate \f$y = P.x = x\f$. @@ -117,7 +122,7 @@ contains select type(y) type is(r_solver_field_vector_type) ! Multiply by inverse of vertical operator \f$ H_z \f$ - tri => get_tri_precon(self%level) + tri => get_tri_precon(self%stepper, self%level) x_vec => x%get_field_from_position(1) y_vec => y%get_field_from_position(1) call invoke( tri_solve_kernel_type(y_vec, x_vec, tri) ) @@ -146,7 +151,7 @@ contains class(pressure_preconditioner_type), intent(inout) :: self class(abstract_hierarchical_preconditioner_type), allocatable, intent(inout) :: other allocate(other, & - source = pressure_preconditioner_type(self%level+1) ) + source = pressure_preconditioner_type(self%level+1, self%stepper) ) end subroutine coarsen_pressure_preconditioner !> @brief Destructor diff --git a/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 b/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 index dc9e825388..bae98cfc7b 100644 --- a/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 @@ -106,7 +106,8 @@ contains !> @param[in] state Prognostic state for the solver !> @param[out] pressure_operator_out Output (Helmholtz) pressure operator !> @param[out] pressure_preconditioner_out Output (Helmholtz) pressure preconditioner - subroutine create_pressure_preconditioner( state, pressure_operator_out, pressure_preconditioner_out ) + !> @param[in] stepper Timestepper enumerator used to select operators + subroutine create_pressure_preconditioner( state, pressure_operator_out, pressure_preconditioner_out, stepper ) use helmholtz_solver_config_mod, only: helmholtz_preconditioner => preconditioner, & preconditioner_none, & @@ -123,10 +124,12 @@ contains type(pressure_operator_type), intent(out) :: pressure_operator_out class(abstract_preconditioner_type), allocatable, intent(out) :: pressure_preconditioner_out + integer(i_def), intent(in) :: stepper + ! Vertical pressure preconditioner type(pressure_preconditioner_type) :: Hz_preconditioner - pressure_operator_out = pressure_operator_type(level=1_i_def) + pressure_operator_out = pressure_operator_type(level=1_i_def, stepper=stepper) call log_event( "create_pressure_preconditioner: starting", LOG_LEVEL_INFO ) @@ -140,9 +143,9 @@ contains source = pressure_diag_preconditioner_type() ) case(PRECONDITIONER_TRIDIAGONAL) allocate( pressure_preconditioner_out, & - source = pressure_preconditioner_type(level=1_i_def) ) + source = pressure_preconditioner_type(level=1_i_def, stepper=stepper) ) case(PRECONDITIONER_MULTIGRID) - Hz_preconditioner = pressure_preconditioner_type(level=1_i_def) + Hz_preconditioner = pressure_preconditioner_type(level=1_i_def, stepper=stepper) allocate( pressure_preconditioner_out, & source = multigrid_preconditioner_type( state(igh_p)%get_function_space(), & pressure_operator_out, & @@ -274,7 +277,8 @@ contains !> @param[in] state Prognostic state for the solver !> @param[in] pressure_solver_in Input (Helmholtz) pressure solver !> @param[out] mixed_preconditioner_out Output mixed preconditioner - subroutine create_mixed_preconditioner( state, pressure_solver_in, mixed_preconditioner_out ) + !> @param[in] stepper Timestepper enumerator used to select operators + subroutine create_mixed_preconditioner( state, pressure_solver_in, mixed_preconditioner_out, stepper ) use mixed_solver_config_mod, only: si_preconditioner, & si_preconditioner_pressure, & @@ -291,6 +295,8 @@ contains ! Output preconditioner for mixed problem class(abstract_preconditioner_type), allocatable, intent(out) :: mixed_preconditioner_out + integer(i_def), intent(in) :: stepper + call log_event( "create_mixed_preconditioner: starting", LOG_LEVEL_INFO ) ! Allocate mixed preconditioner of correct type @@ -301,7 +307,8 @@ contains state(igh_u)%get_mesh(), & state(igh_u)%get_element_order_h(), & state(igh_u)%get_element_order_v(), & - pressure_solver_in ) ) + pressure_solver_in, & + stepper ) ) case(SI_PRECONDITIONER_NONE) allocate( mixed_preconditioner_out, & @@ -320,7 +327,8 @@ contains !> @param[in] mixed_preconditioner_in Input mixed preconditioner !> @param[in,out] mixed_operator_out Output mixed operator (not explicitly set, so must be inout) !> @param[out] mixed_solver_out Output mixed solver - subroutine create_mixed_solver( mixed_preconditioner_in, mixed_operator_out, mixed_solver_out ) + !> @param[in] stepper Timestepper enumerator used to select operators + subroutine create_mixed_solver( mixed_preconditioner_in, mixed_operator_out, mixed_solver_out, stepper ) use mixed_solver_config_mod, only: si_maximum_iterations, & si_tolerance, & @@ -350,8 +358,13 @@ contains type(mixed_operator_type), intent(inout) :: mixed_operator_out class(abstract_iterative_solver_type), allocatable, intent(out) :: mixed_solver_out + integer(i_def), intent(in) :: stepper + call log_event( "create_mixed_solver: starting", LOG_LEVEL_INFO ) + ! Build the mixed operator for the requested timestepper + mixed_operator_out = mixed_operator_type(stepper) + ! Allocate mixed solver of correct type select case(si_method) case(SI_METHOD_BICGSTAB) @@ -437,23 +450,26 @@ contains !=============================================================================! !> @brief Initialisation procedure for the semi-implicit solver - !> @param[in] state Prognostic state for the solver - subroutine semi_implicit_solver_alg_init(state) + !> @param[in] state Prognostic state for the solver + !> @param[in] stepper Timestepper enumerator used to select operators + subroutine semi_implicit_solver_alg_init(state, stepper) implicit none ! Prognostic fields type( field_type ), dimension(bundle_size), intent( in ) :: state + integer(i_def), intent(in) :: stepper + write(log_scratch_space,'(A)') & 'SI solver built with '//trim(PRECISION_R_SOLVER)// & '-bit real numbers' call log_event( log_scratch_space, LOG_LEVEL_ALWAYS ) - call create_pressure_preconditioner( state, pressure_operator, pressure_preconditioner ) + call create_pressure_preconditioner( state, pressure_operator, pressure_preconditioner, stepper ) call create_pressure_solver( pressure_operator, pressure_preconditioner, pressure_solver ) - call create_mixed_preconditioner( state, pressure_solver, mixed_preconditioner ) - call create_mixed_solver( mixed_preconditioner, mixed_operator, mixed_solver ) + call create_mixed_preconditioner( state, pressure_solver, mixed_preconditioner, stepper ) + call create_mixed_solver( mixed_preconditioner, mixed_operator, mixed_solver, stepper ) call log_event( "semi_implicit_solver_alg_init: Initialised semi-implicit solver", LOG_LEVEL_INFO ) @@ -495,10 +511,11 @@ contains !> @param[in] moist_dyn_gas_law Gas law component of moist dynamics factors !> @param[in] mr Mixing ratio array !> @param[in] first_iteration Flag for first inner iteration + !> @param[in] stepper Timestepper enumerator subroutine semi_implicit_solver_alg_step(state, rhs, & dry_flux_solver, & moist_dyn_gas_law, mr, & - first_iteration) + first_iteration, stepper) use solver_constants_mod, only: get_normalisation_r_solver, & get_im3_div_r_solver, & @@ -536,7 +553,9 @@ contains type( field_type ), intent( inout ) :: dry_flux_solver type( field_type ), intent( in ) :: moist_dyn_gas_law type( field_type ), dimension(nummr), intent( in ) :: mr - logical( kind=l_def), intent( in ) :: first_iteration + logical( kind=l_def ), intent( in ) :: first_iteration + + integer( kind=i_def ), intent( in ) :: stepper real( kind=r_def ) :: si_err(bundle_size) type( field_type ), pointer :: t_normalisation, & @@ -595,8 +614,8 @@ contains ! at the point of use. The momentum-row projection operators (p2theta, q2t) ! carry tau_u*dt*cp and the potential-temperature projection (ptheta2) ! carries tau_t*dt. - const_u = get_tau_u_dt_cp() - const_t = get_tau_t_dt() + const_u = get_tau_u_dt_cp(stepper) + const_t = get_tau_t_dt(stepper) ! Normalise theta & u residual ! @TODO #416: can these be at r_solver precision? diff --git a/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 b/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 index c0aa295990..5bdc5c5702 100644 --- a/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 @@ -15,6 +15,7 @@ module si_operators_alg_mod use config_mod, only: config_type use constants_mod, only: i_def, r_def, r_solver + use inventory_by_integer_mod, only: inventory_by_integer_type use model_clock_mod, only: model_clock_type use operator_mod, only: operator_type, r_solver_operator_type use field_mod, only: field_type @@ -47,6 +48,7 @@ module si_operators_alg_mod use mixed_solver_config_mod, only: eliminate_variables, & eliminate_variables_analytic use moist_dyn_mod, only: num_moist_factors, gas_law, total_mass + use dycore_constants_mod, only: stepper_siqn ! Configuration modules use base_mesh_config_mod, only: prime_mesh_name @@ -72,21 +74,26 @@ module si_operators_alg_mod type(r_solver_operator_type), target :: eliminated_q2t type(r_solver_field_type), allocatable, dimension(:), target :: rho_at_u - type(r_solver_field_type), allocatable, dimension(:,:), target :: tri_precon - type(r_solver_field_type), allocatable, dimension(:,:), target :: Helmholtz_operator - type(r_solver_field_type), allocatable, dimension(:), target :: Helm_diag - type(r_solver_field_type), allocatable, dimension(:), target :: Hb_lumped_inv integer(kind=i_def) :: multigrid_levels - ! Scaling constants (tau*dt factors) that are applied at the point of use of + ! The tri_precon, Helmholtz_operator, Helm_diag and Hb_lumped_inv working + ! fields, together with the tau*dt scaling constants, are stored in + ! inventories keyed by the time stepper enumerator. + ! + ! The scaling constants (tau*dt factors) are applied at the point of use of ! the SI operators. The operators themselves are assembled unscaled, so any - ! algorithm that applies them must multiply in the appropriate constant. These - ! are stored here (set in compute_si_operators) and exposed through the - ! get_tau_* accessors so that all consumers use identical values. - real(kind=r_solver) :: tau_u_dt_cp = 0.0_r_solver - real(kind=r_solver) :: tau_t_dt = 0.0_r_solver - real(kind=r_solver) :: tau_r_dt = 0.0_r_solver - real(kind=r_solver) :: tau_tu_dt2_cp = 0.0_r_solver + ! algorithm that applies them must multiply in the appropriate constant. + ! + ! The stepper enumerator is passed as an argument to the getters (and to + ! compute_si_operators) so that the appropriate operator can be picked up. + type(inventory_by_integer_type) :: tri_precon_inventory + type(inventory_by_integer_type) :: helmholtz_operator_inventory + type(inventory_by_integer_type) :: helm_diag_inventory + type(inventory_by_integer_type) :: hb_lumped_inv_inventory + type(inventory_by_integer_type) :: tau_u_dt_cp_inventory + type(inventory_by_integer_type) :: tau_t_dt_inventory + type(inventory_by_integer_type) :: tau_r_dt_inventory + type(inventory_by_integer_type) :: tau_tu_dt2_cp_inventory ! Size of the Helmholtz stencil: 1 Central cell, 4 horizontal neighbours, 2 ! cells above (k+1,k+2) and 2 cells below (k-1,k-2) @@ -199,29 +206,134 @@ module si_operators_alg_mod contains - !>@brief Subroutine to create the si operators - !>@param[in] mesh The mesh - subroutine create_si_operators( mesh ) + !> @brief Subroutine to create the si operators + !> @param[in] mesh The mesh + !> @param[in] stepper The time stepper enumerator used to key the inventories + !> @param[in] config Application namelist configuration object + !> @param[in] clock Model clock, used to obtain the timestep length + subroutine create_si_operators( mesh, stepper, config, clock ) use fs_continuity_mod, only: W0, Wtheta implicit none type(mesh_type), pointer, intent(in) :: mesh + integer(kind=i_def), intent(in) :: stepper + type(config_type), intent(in) :: config + class(model_clock_type), intent(in) :: clock integer(kind=i_def) :: i, j type(function_space_type), pointer :: w2_fs => null() type(function_space_type), pointer :: w3_fs => null() type(function_space_type), pointer :: wt_fs => null() + real(kind=r_def) :: dt, tau_u, tau_r, tau_t, cp + real(kind=r_solver) :: tau_u_dt_cp, tau_t_dt, tau_r_dt, tau_tu_dt2_cp + + ! Local working fields, built level-by-level (each level on its own mesh / + ! function space) and then copied into the inventories (keyed by stepper) + ! via copy_field_array below. tri_precon and Helmholtz_operator are only + ! built for certain configurations, so are left unallocated otherwise. + type(r_solver_field_type), allocatable :: tri_precon(:,:) + type(r_solver_field_type), allocatable :: Helmholtz_operator(:,:) + type(r_solver_field_type), allocatable :: Helm_diag(:) + type(r_solver_field_type), allocatable :: Hb_lumped_inv(:) + call log_event( "Gungho: creating si_operators", LOG_LEVEL_DEBUG ) - if(l_multigrid) then - multigrid_levels=multigrid_chain_nitems + if (l_multigrid) then + multigrid_levels = multigrid_chain_nitems else - multigrid_levels=1 + multigrid_levels = 1 + end if + + w2_fs => function_space_collection%get_fs( mesh, element_order_h, & + element_order_v, W2 ) + w3_fs => function_space_collection%get_fs( mesh, element_order_h, & + element_order_v, W3 ) + wt_fs => function_space_collection%get_fs( mesh, element_order_h, & + element_order_v, Wtheta ) + + ! ======================================================================== ! + ! Initialise inventories + ! ======================================================================== ! + + if (.not. tri_precon_inventory%is_initialised()) & + call tri_precon_inventory%initialise(name="si_tri_precon") + if (.not. helmholtz_operator_inventory%is_initialised()) & + call helmholtz_operator_inventory%initialise(name="si_helmholtz_operator") + if (.not. helm_diag_inventory%is_initialised()) & + call helm_diag_inventory%initialise(name="si_helm_diag") + if (.not. hb_lumped_inv_inventory%is_initialised()) & + call hb_lumped_inv_inventory%initialise(name="si_hb_lumped_inv") + if (.not. tau_u_dt_cp_inventory%is_initialised()) & + call tau_u_dt_cp_inventory%initialise(name="si_tau_u_dt_cp") + if (.not. tau_t_dt_inventory%is_initialised()) & + call tau_t_dt_inventory%initialise(name="si_tau_t_dt") + if (.not. tau_r_dt_inventory%is_initialised()) & + call tau_r_dt_inventory%initialise(name="si_tau_r_dt") + if (.not. tau_tu_dt2_cp_inventory%is_initialised()) & + call tau_tu_dt2_cp_inventory%initialise(name="si_tau_tu_dt2_cp") + + ! ======================================================================== ! + ! Create operators that are only needed once + ! ======================================================================== ! + + ! Use allocation of m3_rho_star to indicate whether any SI operators + ! have been created yet + if (.not. allocated(m3_rho_star)) then + allocate(m3_rho_star(multigrid_levels)) + allocate(m3_exner_star(multigrid_levels)) + allocate(div_star(multigrid_levels)) + allocate(p2theta(multigrid_levels)) + allocate(ptheta2(multigrid_levels)) + allocate(ptheta2v(multigrid_levels)) + allocate(p3theta(multigrid_levels)) + allocate(compound_div(multigrid_levels)) + allocate(eliminated_q22(multigrid_levels)) + allocate(eliminated_q32_rho(multigrid_levels)) + allocate(eliminated_q32_theta(multigrid_levels)) + allocate(rho_at_u(multigrid_levels)) + + call eliminated_q2t%initialise( w2_fs, wt_fs ) + + if (l_multigrid) then + call multigrid_function_space_chain%set_current(w3_fs%get_id()) + call w2_multigrid_function_space_chain%set_current(w2_fs%get_id()) + call wtheta_multigrid_function_space_chain%set_current(wt_fs%get_id()) + end if + + ! Loop through multigrid levels, initialising operators for each level + do i = 1, multigrid_levels + + write(log_scratch_space,'(A,I0,A)') "si_ops[",i,"]:creating ops" + call log_event(log_scratch_space,LOG_LEVEL_DEBUG) + + call m3_rho_star(i)%initialise( w3_fs, w3_fs ) + call m3_exner_star(i)%initialise( w3_fs, w3_fs ) + call div_star(i)%initialise( w2_fs, w3_fs ) + call p2theta(i)%initialise( w2_fs, wt_fs ) + call ptheta2(i)%initialise( wt_fs, w2_fs ) + call ptheta2v(i)%initialise( wt_fs, w2_fs ) + call p3theta(i)%initialise( w3_fs, wt_fs ) + call compound_div(i)%initialise( w3_fs, w2_fs ) + call eliminated_q22(i)%initialise( w2_fs, w2_fs ) + call eliminated_q32_rho(i)%initialise( w3_fs, w2_fs ) + call eliminated_q32_theta(i)%initialise( w3_fs, w2_fs ) + + call rho_at_u(i)%initialise(vector_space = w2_fs) + if (l_multigrid) then + w3_fs => multigrid_function_space_chain%get_next() + w2_fs => w2_multigrid_function_space_chain%get_next() + wt_fs => wtheta_multigrid_function_space_chain%get_next() + end if + end do end if + ! ======================================================================== ! + ! Fields, possibly needed multiple times + ! ======================================================================== ! + w2_fs => function_space_collection%get_fs( mesh, element_order_h, & element_order_v, W2 ) w3_fs => function_space_collection%get_fs( mesh, element_order_h, & @@ -229,80 +341,90 @@ contains wt_fs => function_space_collection%get_fs( mesh, element_order_h, & element_order_v, Wtheta ) - allocate(m3_rho_star(multigrid_levels)) - allocate(m3_exner_star(multigrid_levels)) - allocate(div_star(multigrid_levels)) - allocate(p2theta(multigrid_levels)) - allocate(ptheta2(multigrid_levels)) - allocate(ptheta2v(multigrid_levels)) - allocate(p3theta(multigrid_levels)) - allocate(compound_div(multigrid_levels)) - allocate(eliminated_q22(multigrid_levels)) - allocate(eliminated_q32_rho(multigrid_levels)) - allocate(eliminated_q32_theta(multigrid_levels)) - - !fields - allocate(rho_at_u(multigrid_levels)) if ( preconditioner == preconditioner_tridiagonal .or. & - preconditioner == preconditioner_multigrid) then + preconditioner == preconditioner_multigrid ) then if ( element_order_h /= 0 .or. element_order_v /= 0 ) then - call log_event( "tridiagonal precon only valid for order 0", & + call log_event( "tridiagonal precon only valid for order 0", & LOG_LEVEL_ERROR ) end if - allocate(tri_precon(3, multigrid_levels)) - end if - if ( element_order_h == 0 .and. element_order_v == 0 ) then - allocate( Helmholtz_operator(helmholtz_stencil_size, multigrid_levels) ) - end if - allocate(helm_diag(multigrid_levels)) - allocate(Hb_lumped_inv(multigrid_levels)) - - if (l_multigrid) then + allocate( tri_precon(3, multigrid_levels) ) + end if + if ( element_order_h == 0 .and. element_order_v == 0 ) then + allocate( Helmholtz_operator(helmholtz_stencil_size, multigrid_levels) ) + end if + allocate( Helm_diag(multigrid_levels) ) + allocate( Hb_lumped_inv(multigrid_levels) ) + + if (l_multigrid) then call multigrid_function_space_chain%set_current(w3_fs%get_id()) call w2_multigrid_function_space_chain%set_current(w2_fs%get_id()) call wtheta_multigrid_function_space_chain%set_current(wt_fs%get_id()) - end if - - call eliminated_q2t%initialise( w2_fs, wt_fs ) - - do i = 1, multigrid_levels - - write(log_scratch_space,'(A,I0,A)') "si_ops[",i,"]:creating ops" - call log_event(log_scratch_space,LOG_LEVEL_DEBUG) + end if - call m3_rho_star(i)%initialise( w3_fs, w3_fs ) - call m3_exner_star(i)%initialise( w3_fs, w3_fs ) - call div_star(i)%initialise( w2_fs, w3_fs ) - call p2theta(i)%initialise( w2_fs, wt_fs ) - call ptheta2(i)%initialise( wt_fs, w2_fs ) - call ptheta2v(i)%initialise( wt_fs, w2_fs ) - call p3theta(i)%initialise( w3_fs, wt_fs ) - call compound_div(i)%initialise( w3_fs, w2_fs ) - call eliminated_q22(i)%initialise( w2_fs, w2_fs ) - call eliminated_q32_rho(i)%initialise( w3_fs, w2_fs ) - call eliminated_q32_theta(i)%initialise( w3_fs, w2_fs ) + ! Loop through multigrid levels, initialising the working fields on each + ! level's function spaces + do i = 1, multigrid_levels - call rho_at_u(i)%initialise(vector_space = w2_fs) - if ( preconditioner == preconditioner_tridiagonal .or. & + if ( preconditioner == preconditioner_tridiagonal .or. & preconditioner == preconditioner_multigrid ) then call tri_precon(1,i)%initialise(vector_space = w3_fs) call tri_precon(2,i)%initialise(vector_space = w3_fs) call tri_precon(3,i)%initialise(vector_space = w3_fs) - end if - if ( element_order_h == 0 .and. element_order_v == 0 ) then - do j = 1,helmholtz_stencil_size - call Helmholtz_operator(j,i)%initialise(vector_space = w3_fs) - end do - end if - call helm_diag(i)%initialise(vector_space = w3_fs) - call Hb_lumped_inv(i)%initialise(vector_space = w2_fs) - if(l_multigrid) then - w3_fs=>multigrid_function_space_chain%get_next() - w2_fs=>w2_multigrid_function_space_chain%get_next() - wt_fs=>wtheta_multigrid_function_space_chain%get_next() - end if + end if + if ( element_order_h == 0 .and. element_order_v == 0 ) then + do j = 1,helmholtz_stencil_size + call Helmholtz_operator(j,i)%initialise(vector_space = w3_fs) + end do + end if + call helm_diag(i)%initialise(vector_space = w3_fs) + call Hb_lumped_inv(i)%initialise(vector_space = w2_fs) + if (l_multigrid) then + w3_fs => multigrid_function_space_chain%get_next() + w2_fs => w2_multigrid_function_space_chain%get_next() + wt_fs => wtheta_multigrid_function_space_chain%get_next() + end if end do - nullify( w2_fs, w3_fs, wt_fs ) + + ! Copy the working fields into their inventories, keyed by stepper. Using + ! copy_field_array (rather than add_field_array) preserves the distinct + ! per-level function spaces set up in the loop above. + if ( preconditioner == preconditioner_tridiagonal .or. & + preconditioner == preconditioner_multigrid ) then + call tri_precon_inventory%copy_field_array( tri_precon, stepper ) + end if + if ( element_order_h == 0 .and. element_order_v == 0 ) then + call helmholtz_operator_inventory%copy_field_array( Helmholtz_operator, & + stepper ) + end if + call helm_diag_inventory%copy_field_array( helm_diag, stepper ) + call hb_lumped_inv_inventory%copy_field_array( Hb_lumped_inv, stepper ) + + ! Deallocate the local working arrays now that they have been copied in + if (allocated(tri_precon)) deallocate(tri_precon) + if (allocated(Helmholtz_operator)) deallocate(Helmholtz_operator) + if (allocated(Helm_diag)) deallocate(Helm_diag) + if (allocated(Hb_lumped_inv)) deallocate(Hb_lumped_inv) + + ! ======================================================================== ! + ! Store scaling constants for this stepper + ! ======================================================================== ! + + ! Compute the tau*dt scaling constants from the namelist configuration and + ! the timestep length obtained from the clock + dt = real(clock%get_seconds_per_step(), r_def) + cp = config%planet%cp() + tau_u = config%timestepping%tau_u() + tau_r = config%timestepping%tau_r() + tau_t = config%timestepping%tau_t() + tau_u_dt_cp = real(tau_u*dt*cp, r_solver) + tau_t_dt = real(tau_t*dt, r_solver) + tau_r_dt = real(tau_r*dt, r_solver) + tau_tu_dt2_cp = real(tau_t*tau_u*dt**2*cp, r_solver) + + call tau_u_dt_cp_inventory%add_real(tau_u_dt_cp, stepper) + call tau_t_dt_inventory%add_real(tau_t_dt, stepper) + call tau_r_dt_inventory%add_real(tau_r_dt, stepper) + call tau_tu_dt2_cp_inventory%add_real(tau_tu_dt2_cp, stepper) end subroutine create_si_operators @@ -348,21 +470,15 @@ contains deallocate(rho_at_u) end if - if(allocated(Helm_diag)) then - deallocate(Helm_diag) - end if - - if(allocated(tri_precon)) then - deallocate(tri_precon) - end if - - if(allocated(hb_lumped_inv)) then - deallocate(hb_lumped_inv) - end if - - if(allocated(Helmholtz_operator)) then - deallocate(Helmholtz_operator) - end if + ! Clear the inventories holding the working fields and scaling constants + call tri_precon_inventory%clear() + call helmholtz_operator_inventory%clear() + call helm_diag_inventory%clear() + call hb_lumped_inv_inventory%clear() + call tau_u_dt_cp_inventory%clear() + call tau_t_dt_inventory%clear() + call tau_r_dt_inventory%clear() + call tau_tu_dt2_cp_inventory%clear() if(allocated(eliminated_q22)) then deallocate(eliminated_q22) @@ -385,8 +501,9 @@ contains !> @param[in] exner_ref Reference Exner pressure !> @param[in] model_clock Time in the model !> @param[in] moist_dyn_ref Bundle of reference moist dynamics factors + !> @param[in] stepper Timestepper enumerator used to key the inventories subroutine compute_si_operators(config, theta_ref, rho_ref, exner_ref, & - model_clock, moist_dyn_ref) + model_clock, moist_dyn_ref, stepper) use quadrature_xyoz_mod, only: quadrature_xyoz_type use quadrature_face_mod, only: quadrature_face_type @@ -419,8 +536,7 @@ contains use limited_area_constants_mod, only: get_mask_fv use sci_invert_local_operator_kernel_mod, only: invert_local_operator_kernel_type use field_indices_mod, only: igh_u, igh_t, igh_d, igh_p - use planet_config_mod, only: kappa, cp, rd, p_zero - use timestepping_config_mod, only: tau_r, tau_t, tau_u + use planet_config_mod, only: kappa, rd, p_zero use reference_element_mod, only: reference_element_type use mesh_mod, only: mesh_type use matrix_vector_kernel_mod, only: matrix_vector_kernel_type @@ -456,7 +572,16 @@ contains type(field_type), intent(in) :: theta_ref, rho_ref, exner_ref type(field_type), intent(in) :: moist_dyn_ref(num_moist_factors) class(model_clock_type), intent(in) :: model_clock - real(kind=r_def) :: dt + integer(kind=i_def), intent(in) :: stepper + + real(kind=r_solver), pointer :: tau_u_dt_cp + real(kind=r_solver), pointer :: tau_t_dt + real(kind=r_solver), pointer :: tau_r_dt + real(kind=r_solver), pointer :: tau_tu_dt2_cp + type(r_solver_field_type), pointer :: tri_precon(:,:) + type(r_solver_field_type), pointer :: Helmholtz_operator(:,:) + type(r_solver_field_type), pointer :: Helm_diag(:) + type(r_solver_field_type), pointer :: Hb_lumped_inv(:) type(quadrature_xyoz_type) :: qr type(quadrature_face_type) :: qrf type(quadrature_rule_gaussian_type) :: quadrature_rule @@ -504,12 +629,23 @@ contains if ( LPROF ) call start_timing( id, 'dynamics.compute_si_operators' ) call log_event( "Gungho: computing si_operators", LOG_LEVEL_DEBUG ) - dt = real(model_clock%get_seconds_per_step(), r_def) + ! Retrieve the tau*dt scaling constants (computed in create_si_operators) + ! and pointers to the working fields, all keyed by the active stepper + call tau_u_dt_cp_inventory%get_real(stepper, tau_u_dt_cp) + call tau_t_dt_inventory%get_real(stepper, tau_t_dt) + call tau_r_dt_inventory%get_real(stepper, tau_r_dt) + call tau_tu_dt2_cp_inventory%get_real(stepper, tau_tu_dt2_cp) - tau_u_dt_cp = real(tau_u*dt*cp, r_solver) - tau_t_dt = real(tau_t*dt, r_solver) - tau_r_dt = real(tau_r*dt, r_solver) - tau_tu_dt2_cp = real(tau_t*tau_u*dt**2*cp, r_solver) + call helm_diag_inventory%get_field_array(stepper, Helm_diag) + call hb_lumped_inv_inventory%get_field_array(stepper, Hb_lumped_inv) + if ( preconditioner == preconditioner_tridiagonal .or. & + preconditioner == preconditioner_multigrid ) then + call tri_precon_inventory%get_field_array(stepper, tri_precon) + end if + if ( element_order_h == 0 .and. element_order_v == 0 ) then + call helmholtz_operator_inventory%get_field_array(stepper, & + Helmholtz_operator) + end if mesh => exner_ref%get_mesh() @@ -1043,82 +1179,114 @@ contains !> @brief Function to return a pointer to the tri_precon !! on the finest multigrid level. + !> @param[in] stepper The timestepper enumerator used to key the inventory !> @return The field - function get_tri_precon_fine() result(sol_field) + function get_tri_precon_fine(stepper) result(sol_field) implicit none + integer(kind=i_def), intent(in) :: stepper type(r_solver_field_type), pointer :: sol_field(:) - sol_field => tri_precon(:,1) + type(r_solver_field_type), pointer :: array(:,:) + call tri_precon_inventory%get_field_array(stepper, array) + sol_field => array(:,1) end function get_tri_precon_fine !> @brief Function to return a pointer to the tri_precon !! on the specified multigrid level. + !> @param[in] stepper The timestepper enumerator used to key the inventory !> @param[in] level The multigrid level !> @return The field - function get_tri_precon_mg(level) result(sol_field) + function get_tri_precon_mg(stepper, level) result(sol_field) implicit none - integer(kind=i_def), intent(in) :: level + integer(kind=i_def), intent(in) :: stepper + integer(kind=i_def), intent(in) :: level type(r_solver_field_type), pointer :: sol_field(:) - sol_field => tri_precon(:,level) + type(r_solver_field_type), pointer :: array(:,:) + call tri_precon_inventory%get_field_array(stepper, array) + sol_field => array(:,level) end function get_tri_precon_mg !> @brief Function to return a pointer to the helmholtz_operator !! on the finest multigrid level. + !> @param[in] stepper The timestepper enumerator used to key the inventory !> @return The field - function get_helmholtz_operator_fine() result(sol_field) + function get_helmholtz_operator_fine(stepper) result(sol_field) implicit none + integer(kind=i_def), intent(in) :: stepper type(r_solver_field_type), pointer :: sol_field(:) - sol_field => helmholtz_operator(:,1) + type(r_solver_field_type), pointer :: array(:,:) + call helmholtz_operator_inventory%get_field_array(stepper, array) + sol_field => array(:,1) end function get_helmholtz_operator_fine !> @brief Function to return a pointer to the helmholtz_operator !! on the specified multigrid level. + !> @param[in] stepper The timestepper enumerator used to key the inventory !> @param[in] level The multigrid level !> @return The field - function get_helmholtz_operator_mg(level) result(sol_field) + function get_helmholtz_operator_mg(stepper, level) result(sol_field) implicit none - integer(kind=i_def), intent(in) :: level + integer(kind=i_def), intent(in) :: stepper + integer(kind=i_def), intent(in) :: level type(r_solver_field_type), pointer :: sol_field(:) - sol_field => helmholtz_operator(:,level) + type(r_solver_field_type), pointer :: array(:,:) + call helmholtz_operator_inventory%get_field_array(stepper, array) + sol_field => array(:,level) end function get_helmholtz_operator_mg !> @brief Function to return a pointer to the Helm diagonal !! on the finest multigrid level. + !> @param[in] stepper The timestepper enumerator used to key the inventory !> @return The field - function get_helm_diag_fine() result(sol_field) + function get_helm_diag_fine(stepper) result(sol_field) implicit none + integer(kind=i_def), intent(in) :: stepper type(r_solver_field_type), pointer :: sol_field - sol_field => helm_diag(1) + type(r_solver_field_type), pointer :: array(:) + call helm_diag_inventory%get_field_array(stepper, array) + sol_field => array(1) end function get_helm_diag_fine !> @brief Function to return a pointer to the Helm diagonal !! on the specified multigrid level, + !> @param[in] stepper The timestepper enumerator used to key the inventory !> @param[in] level The multigrid level !> @return The field - function get_helm_diag_mg(level) result(sol_field) + function get_helm_diag_mg(stepper, level) result(sol_field) implicit none - integer(kind=i_def), intent(in) :: level + integer(kind=i_def), intent(in) :: stepper + integer(kind=i_def), intent(in) :: level type(r_solver_field_type), pointer :: sol_field - sol_field => helm_diag(level) + type(r_solver_field_type), pointer :: array(:) + call helm_diag_inventory%get_field_array(stepper, array) + sol_field => array(level) end function get_helm_diag_mg !> @brief Function to return a pointer to the lumped inverse Hb operator !! on the finest multigrid level, + !> @param[in] stepper The timestepper enumerator used to key the inventory !> @return The field - function get_hb_lumped_inv_fine() result(field) + function get_hb_lumped_inv_fine(stepper) result(field) implicit none + integer(kind=i_def), intent(in) :: stepper type(r_solver_field_type), pointer :: field - field => hb_lumped_inv(1) + type(r_solver_field_type), pointer :: array(:) + call hb_lumped_inv_inventory%get_field_array(stepper, array) + field => array(1) end function get_hb_lumped_inv_fine !> @brief Function to return a pointer to the lumped inverse Hb operator !! on the specified multigrid level, + !> @param[in] stepper The timestepper enumerator used to key the inventory !> @param[in] level The multigrid level !> @return The field - function get_hb_lumped_inv_mg(level) result(field) + function get_hb_lumped_inv_mg(stepper, level) result(field) implicit none - integer(kind=i_def), intent(in) :: level + integer(kind=i_def), intent(in) :: stepper + integer(kind=i_def), intent(in) :: level type(r_solver_field_type), pointer :: field - field => hb_lumped_inv(level) + type(r_solver_field_type), pointer :: array(:) + call hb_lumped_inv_inventory%get_field_array(stepper, array) + field => array(level) end function get_hb_lumped_inv_mg !> @brief Function to return a pointer to the q22 operator @@ -1199,38 +1367,54 @@ contains !> @brief Return the tau_u*dt*cp scaling constant applied to the div_star, !! p2theta and q2t operators at their point of use. + !> @param[in] stepper The timestepper enumerator used to key the inventory !> @return The scaling constant - function get_tau_u_dt_cp() result(val) + function get_tau_u_dt_cp(stepper) result(val) implicit none - real(kind=r_solver) :: val - val = tau_u_dt_cp + integer(kind=i_def), intent(in) :: stepper + real(kind=r_solver) :: val + real(kind=r_solver), pointer :: val_ptr + call tau_u_dt_cp_inventory%get_real(stepper, val_ptr) + val = val_ptr end function get_tau_u_dt_cp !> @brief Return the tau_t*dt scaling constant applied to the ptheta2, !! ptheta2v and q32_theta operators at their point of use. + !> @param[in] stepper The timestepper enumerator used to key the inventory !> @return The scaling constant - function get_tau_t_dt() result(val) + function get_tau_t_dt(stepper) result(val) implicit none - real(kind=r_solver) :: val - val = tau_t_dt + integer(kind=i_def), intent(in) :: stepper + real(kind=r_solver) :: val + real(kind=r_solver), pointer :: val_ptr + call tau_t_dt_inventory%get_real(stepper, val_ptr) + val = val_ptr end function get_tau_t_dt !> @brief Return the tau_r*dt scaling constant applied to the compound_div !! and q32 operators at their point of use. + !> @param[in] stepper The timestepper enumerator used to key the inventory !> @return The scaling constant - function get_tau_r_dt() result(val) + function get_tau_r_dt(stepper) result(val) implicit none - real(kind=r_solver) :: val - val = tau_r_dt + integer(kind=i_def), intent(in) :: stepper + real(kind=r_solver) :: val + real(kind=r_solver), pointer :: val_ptr + call tau_r_dt_inventory%get_real(stepper, val_ptr) + val = val_ptr end function get_tau_r_dt !> @brief Return the tau_t*tau_u*dt**2*cp scaling constant applied to the !! analytic q22 operator at its point of use. + !> @param[in] stepper The timestepper enumerator used to key the inventory !> @return The scaling constant - function get_tau_tu_dt2_cp() result(val) + function get_tau_tu_dt2_cp(stepper) result(val) implicit none - real(kind=r_solver) :: val - val = tau_tu_dt2_cp + integer(kind=i_def), intent(in) :: stepper + real(kind=r_solver) :: val + real(kind=r_solver), pointer :: val_ptr + call tau_tu_dt2_cp_inventory%get_real(stepper, val_ptr) + val = val_ptr end function get_tau_tu_dt2_cp end module si_operators_alg_mod diff --git a/science/gungho/source/algorithm/timestepping/semi_implicit_timestep_alg_mod.X90 b/science/gungho/source/algorithm/timestepping/semi_implicit_timestep_alg_mod.X90 index 298decc8ba..c6214f10a8 100644 --- a/science/gungho/source/algorithm/timestepping/semi_implicit_timestep_alg_mod.X90 +++ b/science/gungho/source/algorithm/timestepping/semi_implicit_timestep_alg_mod.X90 @@ -100,6 +100,7 @@ module semi_implicit_timestep_alg_mod use si_operators_alg_mod, only: create_si_operators, & compute_si_operators, & final_si_operators + use dycore_constants_mod, only: stepper_siqn use fast_physics_alg_mod, only: fast_physics use slow_physics_alg_mod, only: slow_physics use checks_and_balances_alg_mod, & @@ -541,7 +542,7 @@ contains !-------------------------------------------------------------------- ! Operators for si solves !-------------------------------------------------------------------- - call create_si_operators( mesh ) + call create_si_operators( mesh, stepper_siqn, self%config, model_clock ) ! If using checkpointed reference state, then calculate semi-implicit ! operators using the checkpointed reference state @@ -554,7 +555,7 @@ contains call prognostic_fields%get_field('rho_ref', rho_ref) call prognostic_fields%get_field('exner_ref', exner_ref) call compute_si_operators(self%config, theta_ref, rho_ref, exner_ref, & - model_clock, moist_dyn_ref) + model_clock, moist_dyn_ref, stepper_siqn) nullify(theta_ref, rho_ref, exner_ref, moist_dyn_ref, moist_dyn_ref_array) end if @@ -562,7 +563,7 @@ contains call gungho_transport_control_alg_init( mesh ) ! Construct semi-implicit solver - call semi_implicit_solver_alg_init( self%state ) + call semi_implicit_solver_alg_init( self%state, stepper_siqn ) end if nullify(mesh) @@ -800,7 +801,7 @@ contains ! Compute semi-implicit operators with current model state call compute_si_operators( self%config, self%state(igh_t), & self%state(igh_d), self%state(igh_p), & - model_clock, moist_dyn ) + model_clock, moist_dyn, stepper_siqn ) checkpoint_reference_fields = & mod(model_clock%get_first_step()-1, reference_reset_freq) /= 0 .or. & @@ -1114,7 +1115,8 @@ contains dry_flux_solver, & moist_dyn(gas_law), & mr, & - first_iteration=(inner==1) ) + first_iteration=(inner==1), & + stepper=stepper_siqn ) if (write_moisture_diag) then call moisture_conservation_alg(self%config, self%state(igh_d), mr, & diff --git a/science/gungho/source/kernel/solver/apply_mixed_operator_kernel_mod.F90 b/science/gungho/source/kernel/solver/apply_mixed_operator_kernel_mod.F90 index bf7b8c073d..d11e3b78e5 100644 --- a/science/gungho/source/kernel/solver/apply_mixed_operator_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/apply_mixed_operator_kernel_mod.F90 @@ -12,6 +12,7 @@ module apply_mixed_operator_kernel_mod use argument_mod, only : arg_type, & GH_FIELD, GH_OPERATOR, & + GH_SCALAR, & GH_READ, GH_INC, & GH_WRITE, & GH_REAL, CELL_COLUMN @@ -28,7 +29,7 @@ module apply_mixed_operator_kernel_mod type, public, extends(kernel_type) :: apply_mixed_operator_kernel_type private - type(arg_type) :: meta_args(15) = (/ & + type(arg_type) :: meta_args(18) = (/ & arg_type(GH_FIELD, GH_REAL, GH_INC, W2h), & ! lhs_uv arg_type(GH_FIELD, GH_REAL, GH_WRITE, W2v), & ! lhs_w arg_type(GH_FIELD, GH_REAL, GH_WRITE, W3), & ! lhs_p @@ -43,7 +44,10 @@ module apply_mixed_operator_kernel_mod arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & ! norm_u arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W3), & ! m3p arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W2), & ! q32 - arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, Wtheta) & ! p3t + arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, Wtheta), & ! p3t + arg_type(GH_SCALAR, GH_REAL, GH_READ), & ! const_u + arg_type(GH_SCALAR, GH_REAL, GH_READ), & ! const_t + arg_type(GH_SCALAR, GH_REAL, GH_READ) & ! const_r /) integer :: operates_on = CELL_COLUMN contains @@ -82,6 +86,13 @@ module apply_mixed_operator_kernel_mod !> @param[in] q32 Projection operator from W2 to W3 !> @param[in] ncell6 Total number of cells for the p3t operator !> @param[in] p3t Projection operator from W2 to Wtheta +!> @param[in] const_u tau_u*dt*cp scaling constant applied to the pressure +!! gradient (grad) and potential temperature projection +!! (P2theta) contributions to the momentum equations +!> @param[in] const_t tau_t*dt scaling constant applied to the eliminated +!! potential temperature increment t = -Mt^-1*Pt2*u +!> @param[in] const_r tau_r*dt scaling constant applied to the Q32 +!! (density) contribution to the equation of state !> @param[in] ndf_w2h Number of degrees of freedom per cell for the horizontal wind space !> @param[in] undf_w2h Unique number of degrees of freedom for the horizontal wind space !> @param[in] map_w2h Dofmap for the cell at the base of the column for the horizontal wind space @@ -114,6 +125,7 @@ subroutine apply_mixed_operator_code(cell, & ncell4, m3p, & ncell5, q32, & ncell6, p3t, & + const_u, const_t, const_r, & ndf_w2h, undf_w2h, map_w2h, & ndf_w2v, undf_w2v, map_w2v, & ndf_w3, undf_w3, map_w3, & @@ -146,6 +158,7 @@ subroutine apply_mixed_operator_code(cell, & real(kind=r_solver), dimension(undf_w2), intent(in) :: norm_u real(kind=r_solver), dimension(undf_wt), intent(in) :: mt_lumped_inv real(kind=r_solver), dimension(undf_w3), intent(in) :: exner + real(kind=r_solver), intent(in) :: const_u, const_t, const_r ! Operators real(kind=r_solver), dimension(ncell0, ndf_wt, ndf_w2), intent(in) :: pt2 @@ -183,8 +196,8 @@ subroutine apply_mixed_operator_code(cell, & do df = 1, ndf_w2h iw2h = map_w2h(df) iw2 = map_w2(df) - lhs_uv(iw2h:iw2h+nm1) = lhs_uv(iw2h:iw2h+nm1) & - - norm_u(iw2:iw2+nm1) & + lhs_uv(iw2h:iw2h+nm1) = lhs_uv(iw2h:iw2h+nm1) & + - const_u*norm_u(iw2:iw2+nm1) & *grad(ij:ij+nm1, df, 1)*exner(iw3:iw3+nm1) end do do df2 = 1, ndf_w2 @@ -203,7 +216,7 @@ subroutine apply_mixed_operator_code(cell, & t_col(0:nm1) = t_col(0:nm1) - pt2(ij:ij+nm1, 1, df)*u_e(:,df) t_col(1:nm1+1) = t_col(1:nm1+1) - pt2(ij:ij+nm1, 2, df)*u_e(:,df) end do - t_col(:) = t_col(:) * mt_lumped_inv(iwt:iwt+1+nm1) + t_col(:) = t_col(:) * mt_lumped_inv(iwt:iwt+1+nm1) * const_t ! LHS W iw2v = map_w2v(1) @@ -213,7 +226,7 @@ subroutine apply_mixed_operator_code(cell, & iw2v = map_w2v(df) iw2 = map_w2(ndf_w2h+df) lhs_w(iw2v:iw2v+nm1) = lhs_w(iw2v:iw2v+nm1) & - + norm_u(iw2:iw2+nm1)*( & + + const_u*norm_u(iw2:iw2+nm1)*( & - p2t(ij:ij+nm1, ndf_w2h+df, 1)*t_col(0:nm1) & - p2t(ij:ij+nm1, ndf_w2h+df, 2)*t_col(1:nm1+1) & - grad(ij:ij+nm1, ndf_w2h+df, 1)*exner(iw3:iw3+nm1)) @@ -238,7 +251,7 @@ subroutine apply_mixed_operator_code(cell, & - p3t(ij:ij+nm1, 1, 1)*t_col(0:nm1) & - p3t(ij:ij+nm1, 1, 2)*t_col(1:nm1+1) do df = 1, ndf_w2 - lhs_p(iw3:iw3+nm1) = lhs_p(iw3:iw3+nm1) + q32(ij:ij+nm1, 1, df)*u_e(:,df) + lhs_p(iw3:iw3+nm1) = lhs_p(iw3:iw3+nm1) + const_r*q32(ij:ij+nm1, 1, df)*u_e(:,df) end do end subroutine apply_mixed_operator_code diff --git a/science/gungho/source/kernel/solver/project_eliminated_theta_q32_kernel_mod.F90 b/science/gungho/source/kernel/solver/project_eliminated_theta_q32_kernel_mod.F90 index 492e4c148c..5a63ead741 100644 --- a/science/gungho/source/kernel/solver/project_eliminated_theta_q32_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/project_eliminated_theta_q32_kernel_mod.F90 @@ -160,7 +160,7 @@ subroutine project_eliminated_theta_q32_code(cell, nlayers, ncell_3d, & end do end do end do - q32_theta_op(ik,:,:) = q32_theta_op(ik,:,:) + matmul(inv_m3(ik,:,:), proj(:,:)) + q32_theta_op(ik,:,:) = matmul(inv_m3(ik,:,:), proj(:,:)) end do end subroutine project_eliminated_theta_q32_code diff --git a/science/gungho/source/kernel/solver/sample_eliminated_theta_q32_kernel_mod.F90 b/science/gungho/source/kernel/solver/sample_eliminated_theta_q32_kernel_mod.F90 index 5a1f5c8cb3..459b89cd45 100644 --- a/science/gungho/source/kernel/solver/sample_eliminated_theta_q32_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/sample_eliminated_theta_q32_kernel_mod.F90 @@ -155,8 +155,8 @@ subroutine sample_eliminated_theta_q32_code(cell, nlayers, ncell_3d, & end do end do end do - ! Incrementally add sampled operator - q32_theta_op(ik,:,:) = q32_theta_op(ik,:,:) + samp(:,:) + ! Set the sampled operator + q32_theta_op(ik,:,:) = samp(:,:) end do end subroutine sample_eliminated_theta_q32_code diff --git a/science/gungho/unit-test/kernel/solver/apply_mixed_operator_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/apply_mixed_operator_kernel_mod_test.pf index 7afe6b6144..e766f5c841 100644 --- a/science/gungho/unit-test/kernel/solver/apply_mixed_operator_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/apply_mixed_operator_kernel_mod_test.pf @@ -67,6 +67,10 @@ contains real(r_solver), dimension(undf_w3) :: p, Lp real(r_solver), dimension(undf_wt) :: t + real(r_solver), parameter :: const_u = 1.0_r_solver + real(r_solver), parameter :: const_t = 1.0_r_solver + real(r_solver), parameter :: const_r = 1.0_r_solver + integer(i_def) :: df real(r_solver) :: answer @@ -117,6 +121,7 @@ contains ncell, M3p, & ncell, Q32, & ncell, P3t, & + const_u, const_t, const_r, & ndf_w2h, undf_w2h, map_w2h, & ndf_w2v, undf_w2v, map_w2v, & ndf_w3, undf_w3, map_w3, & diff --git a/science/linear/integration-test/tl_test/tl_test_semi_imp_alg_mod.x90 b/science/linear/integration-test/tl_test/tl_test_semi_imp_alg_mod.x90 index 30bf004ec0..d058159341 100644 --- a/science/linear/integration-test/tl_test/tl_test_semi_imp_alg_mod.x90 +++ b/science/linear/integration-test/tl_test/tl_test_semi_imp_alg_mod.x90 @@ -351,7 +351,7 @@ module tl_test_semi_imp_alg_mod call tl_semi_implicit_alg_final() call tl_semi_implicit_alg_init(mesh, p_u, p_rho, p_theta, p_exner, & p_mr, ls_u, ls_rho, ls_theta, ls_exner, & - ls_mr, ls_moist_dyn) + ls_mr, ls_moist_dyn, modeldb) call tl_semi_implicit_alg_step(modeldb, p_u, p_rho, p_theta, & p_exner, p_mr, p_moist_dyn, & diff --git a/science/linear/source/algorithm/timestepping/tl_si_timestep_alg_mod.x90 b/science/linear/source/algorithm/timestepping/tl_si_timestep_alg_mod.x90 index bcef6d798a..8cdb1c0fcb 100644 --- a/science/linear/source/algorithm/timestepping/tl_si_timestep_alg_mod.x90 +++ b/science/linear/source/algorithm/timestepping/tl_si_timestep_alg_mod.x90 @@ -80,6 +80,7 @@ module tl_si_timestep_alg_mod use si_operators_alg_mod, only: create_si_operators, & compute_si_operators, & final_si_operators + use dycore_constants_mod, only: stepper_siqn use checks_and_balances_alg_mod, only: check_fields use semi_implicit_solver_alg_mod,only: semi_implicit_solver_alg_init, & @@ -172,9 +173,11 @@ contains !> @param[in] ls_exner Lin. state for Exner pressure !> @param[in] ls_mr Lin. state for Mixing ratios !> @param[in] ls_moist_dyn Lin. state for moist dynamical factors + !> @param[in] modeldb Structure containing the model state, used to + !! obtain the namelist configuration and clock subroutine tl_semi_implicit_alg_init( mesh, u, rho, theta, exner, mr, & ls_u, ls_rho, ls_theta, ls_exner, & - ls_mr, ls_moist_dyn, partial_init ) + ls_mr, ls_moist_dyn, modeldb, partial_init ) implicit none @@ -188,6 +191,10 @@ contains type( field_type ), intent( inout ) :: ls_mr(nummr) type( field_type ), intent( inout ) :: ls_moist_dyn(num_moist_factors) + ! Model database, providing the namelist configuration and clock needed to + ! create the semi-implicit operators + type(modeldb_type), intent( in ) :: modeldb + ! When atlt_si_timestep_alg_mod in adjoint_tests is run, this routine is called ! but it has been already. Hence we have a switch to turn off aspects of the ! initialisation that would result in attempts to allocate where memory is already @@ -332,9 +339,10 @@ contains ! Operators for si solves !-------------------------------------------------------------------- if (full_init) then - call create_si_operators( mesh ) + call create_si_operators( mesh, stepper_siqn, modeldb%config, & + modeldb%clock ) call gungho_transport_control_alg_init( mesh ) - call semi_implicit_solver_alg_init( state ) + call semi_implicit_solver_alg_init( state, stepper_siqn ) end if call log_event( "semi_implicit_timestep: initialised timestepping algorithm", LOG_LEVEL_INFO ) @@ -486,7 +494,8 @@ contains ls_state(igh_d), & ls_state(igh_p), & modeldb%clock, & - ls_moist_dyn_itns(:,1,1)) + ls_moist_dyn_itns(:,1,1), & + stepper_siqn) !-------------------------------------------------------------------- @@ -650,7 +659,7 @@ contains dry_flux_solver, & ls_moist_dyn_itns(gas_law, next_outer, next_inner), & ls_mr_itns(:, next_outer, next_inner), & - first_iteration=(inner==1) ) + first_iteration=(inner==1), stepper=stepper_siqn ) ! If not already done update factors for moist dynamics if ( .not. guess_np1 .and. use_moisture) then call moist_dyn_factors_alg( & @@ -878,7 +887,8 @@ contains dry_flux_solver, & moist_dyn(gas_law), & mr, & - first_iteration=(inner==1) ) + first_iteration=(inner==1), & + stepper=stepper_siqn ) end if ! Update factors for moist dynamics diff --git a/science/linear/source/driver/linear_model_mod.f90 b/science/linear/source/driver/linear_model_mod.f90 index 6c20f35d55..e67a44b2c5 100644 --- a/science/linear/source/driver/linear_model_mod.f90 +++ b/science/linear/source/driver/linear_model_mod.f90 @@ -97,7 +97,7 @@ subroutine initialise_linear_model( mesh, & call final_si_operators() call tl_semi_implicit_alg_init(mesh, u, rho, theta, exner, & mr, ls_u, ls_rho, ls_theta, ls_exner, & - ls_mr, ls_moist_dyn) + ls_mr, ls_moist_dyn, modeldb) case( method_rk ) ! RK ! Initialise and output initial conditions for first timestep From 306a84494a44e35d7116cdefddfb5beb33e11d02 Mon Sep 17 00:00:00 2001 From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com> Date: Fri, 24 Jul 2026 17:50:42 +0100 Subject: [PATCH 3/8] update copyright statement --- .../algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 | 2 +- .../algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 | 2 +- .../algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 | 2 +- .../algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 | 2 +- .../source/algorithm/solver/semi_implicit_solver_alg_mod.x90 | 2 +- science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 | 2 +- .../kernel/solver/apply_elim_mixed_lp_operator_kernel_mod.F90 | 2 +- .../source/kernel/solver/apply_mixed_lu_operator_kernel_mod.F90 | 2 +- .../source/kernel/solver/apply_mixed_u_operator_kernel_mod.F90 | 2 +- .../source/kernel/solver/apply_mixed_wp_operator_kernel_mod.F90 | 2 +- .../source/kernel/solver/apply_variable_hx_kernel_mod.F90 | 2 +- .../source/kernel/solver/elim_helmholtz_operator_kernel_mod.F90 | 2 +- .../source/kernel/solver/eliminated_theta_q22_kernel_mod.F90 | 2 +- .../source/kernel/solver/eliminated_theta_q2t_kernel_mod.F90 | 2 +- .../source/kernel/solver/helmholtz_operator_kernel_mod.F90 | 2 +- .../source/kernel/solver/opt_apply_variable_hx_kernel_mod.F90 | 2 +- .../kernel/solver/project_eliminated_theta_q32_kernel_mod.F90 | 2 +- .../kernel/solver/sample_eliminated_theta_q32_kernel_mod.F90 | 2 +- .../gungho/source/kernel/solver/weighted_div_bd_kernel_mod.F90 | 2 +- science/gungho/source/kernel/solver/weighted_div_kernel_mod.F90 | 2 +- .../source/kernel/solver/weighted_proj_2theta_bd_kernel_mod.F90 | 2 +- .../source/kernel/solver/weighted_proj_2theta_kernel_mod.F90 | 2 +- .../source/kernel/solver/weighted_proj_2thetav_kernel_mod.F90 | 2 +- .../source/kernel/solver/weighted_proj_theta2_bd_kernel_mod.F90 | 2 +- .../source/kernel/solver/weighted_proj_theta2_kernel_mod.F90 | 2 +- .../kernel/solver/weighted_proj_theta2_vert_kernel_mod.F90 | 2 +- .../source/kernel/solver/weighted_proj_theta2v_kernel_mod.F90 | 2 +- science/gungho/source/psy/psykal_lite_mod.F90 | 2 +- .../solver/apply_elim_mixed_lp_operator_kernel_mod_test.pf | 2 +- .../kernel/solver/apply_mixed_lu_operator_kernel_mod_test.pf | 2 +- .../kernel/solver/apply_mixed_u_operator_kernel_mod_test.pf | 2 +- .../kernel/solver/apply_mixed_wp_operator_kernel_mod_test.pf | 2 +- .../kernel/solver/eliminated_theta_q22_kernel_mod_test.pf | 2 +- .../kernel/solver/eliminated_theta_q2t_kernel_mod_test.pf | 2 +- .../solver/project_eliminated_theta_q32_kernel_mod_test.pf | 2 +- .../solver/sample_eliminated_theta_q32_kernel_mod_test.pf | 2 +- .../unit-test/kernel/solver/weighted_div_kernel_mod_test.pf | 2 +- .../kernel/solver/weighted_proj_2theta_kernel_mod_test.pf | 2 +- .../kernel/solver/weighted_proj_2thetav_kernel_mod_test.pf | 2 +- .../kernel/solver/weighted_proj_theta2_kernel_mod_test.pf | 2 +- .../kernel/solver/weighted_proj_theta2v_kernel_mod_test.pf | 2 +- 41 files changed, 41 insertions(+), 41 deletions(-) diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 index 543d7cf1ff..76b130ffe9 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 @@ -4,7 +4,7 @@ ! under which the code may be used. ! ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- ! @todo Causes failure of later test (mixed_schur_preconditioner); not calling until resolved (#616). diff --git a/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 b/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 index 02fe144b47..17b30e4851 100644 --- a/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 +++ b/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 @@ -4,7 +4,7 @@ ! under which the code may be used. ! ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Adjoint of mixed_schur_preconditioner_alg_mod diff --git a/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 b/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 index 162985ed01..aeed458b3d 100644 --- a/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 +++ b/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 @@ -4,7 +4,7 @@ ! under which the code may be used. ! ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Adjoint of semi_implicit_solver_alg_mod diff --git a/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 b/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 index f77b4f75b5..e7910ca8f7 100644 --- a/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 @@ -4,7 +4,7 @@ ! under which the code may be used. ! ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Preconditioner for the Euler equations system. diff --git a/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 b/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 index bae98cfc7b..b302fe77e9 100644 --- a/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 @@ -4,7 +4,7 @@ ! under which the code may be used. ! ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Semi-Implicit solver for the gungho dynamical core. diff --git a/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 b/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 index 5bdc5c5702..f07fb49b9b 100644 --- a/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 @@ -3,7 +3,7 @@ ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Compute the locally assembled SI operators. diff --git a/science/gungho/source/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod.F90 b/science/gungho/source/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod.F90 index ee184047b5..59016b3316 100644 --- a/science/gungho/source/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Apply the semi-implicit mixed operator to the equation of state. diff --git a/science/gungho/source/kernel/solver/apply_mixed_lu_operator_kernel_mod.F90 b/science/gungho/source/kernel/solver/apply_mixed_lu_operator_kernel_mod.F90 index e775ea193c..e01a1e34aa 100644 --- a/science/gungho/source/kernel/solver/apply_mixed_lu_operator_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/apply_mixed_lu_operator_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Apply the semi-implicit mixed operator to the momentum equation. diff --git a/science/gungho/source/kernel/solver/apply_mixed_u_operator_kernel_mod.F90 b/science/gungho/source/kernel/solver/apply_mixed_u_operator_kernel_mod.F90 index 2b5c1d1fa8..4668a98d74 100644 --- a/science/gungho/source/kernel/solver/apply_mixed_u_operator_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/apply_mixed_u_operator_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Compute the LHS of the semi-implicit system for the horizontal velocity: diff --git a/science/gungho/source/kernel/solver/apply_mixed_wp_operator_kernel_mod.F90 b/science/gungho/source/kernel/solver/apply_mixed_wp_operator_kernel_mod.F90 index db805a058f..4d9b31d94d 100644 --- a/science/gungho/source/kernel/solver/apply_mixed_wp_operator_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/apply_mixed_wp_operator_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Compute the LHS of the semi-implicit system for the diff --git a/science/gungho/source/kernel/solver/apply_variable_hx_kernel_mod.F90 b/science/gungho/source/kernel/solver/apply_variable_hx_kernel_mod.F90 index 937173a539..d97fe736b7 100644 --- a/science/gungho/source/kernel/solver/apply_variable_hx_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/apply_variable_hx_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @todO Create unit test for this kernel, see #2935 diff --git a/science/gungho/source/kernel/solver/elim_helmholtz_operator_kernel_mod.F90 b/science/gungho/source/kernel/solver/elim_helmholtz_operator_kernel_mod.F90 index 8ac19c3dca..ebc3de79c3 100644 --- a/science/gungho/source/kernel/solver/elim_helmholtz_operator_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/elim_helmholtz_operator_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Compute the coefficients of the Helmholz operator for lowest-order diff --git a/science/gungho/source/kernel/solver/eliminated_theta_q22_kernel_mod.F90 b/science/gungho/source/kernel/solver/eliminated_theta_q22_kernel_mod.F90 index 25438d9f10..da95c7edc9 100644 --- a/science/gungho/source/kernel/solver/eliminated_theta_q22_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/eliminated_theta_q22_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Compute the q22 matrix for analytic elimination of theta. The family diff --git a/science/gungho/source/kernel/solver/eliminated_theta_q2t_kernel_mod.F90 b/science/gungho/source/kernel/solver/eliminated_theta_q2t_kernel_mod.F90 index 96ba6890ca..d6f9b0057e 100644 --- a/science/gungho/source/kernel/solver/eliminated_theta_q2t_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/eliminated_theta_q2t_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Compute the q2t matrix for analytic elimination of theta by Galerkin Projection. diff --git a/science/gungho/source/kernel/solver/helmholtz_operator_kernel_mod.F90 b/science/gungho/source/kernel/solver/helmholtz_operator_kernel_mod.F90 index a536bbc64f..2f9fd2ea5a 100644 --- a/science/gungho/source/kernel/solver/helmholtz_operator_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/helmholtz_operator_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Compute the coefficients of the Helmholtz operator for lowest-order diff --git a/science/gungho/source/kernel/solver/opt_apply_variable_hx_kernel_mod.F90 b/science/gungho/source/kernel/solver/opt_apply_variable_hx_kernel_mod.F90 index 4cb0ed6f4f..40adba0d85 100644 --- a/science/gungho/source/kernel/solver/opt_apply_variable_hx_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/opt_apply_variable_hx_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @todO Create unit test for this kernel, see #2935 diff --git a/science/gungho/source/kernel/solver/project_eliminated_theta_q32_kernel_mod.F90 b/science/gungho/source/kernel/solver/project_eliminated_theta_q32_kernel_mod.F90 index 5a63ead741..a48a07c07a 100644 --- a/science/gungho/source/kernel/solver/project_eliminated_theta_q32_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/project_eliminated_theta_q32_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Compute the q32 matrix for analytic elimination of theta. The family diff --git a/science/gungho/source/kernel/solver/sample_eliminated_theta_q32_kernel_mod.F90 b/science/gungho/source/kernel/solver/sample_eliminated_theta_q32_kernel_mod.F90 index 459b89cd45..a7b5390dda 100644 --- a/science/gungho/source/kernel/solver/sample_eliminated_theta_q32_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/sample_eliminated_theta_q32_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Compute the q32 matrix for analytic elimination of theta. The family diff --git a/science/gungho/source/kernel/solver/weighted_div_bd_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_div_bd_kernel_mod.F90 index c9318433ff..04b65b374d 100644 --- a/science/gungho/source/kernel/solver/weighted_div_bd_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_div_bd_kernel_mod.F90 @@ -3,7 +3,7 @@ ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Computes boundary part of the weighted divergence operator. !> diff --git a/science/gungho/source/kernel/solver/weighted_div_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_div_kernel_mod.F90 index d9ee89e736..f579fbfdd9 100644 --- a/science/gungho/source/kernel/solver/weighted_div_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_div_kernel_mod.F90 @@ -3,7 +3,7 @@ ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Compute the divergence operatore weigthed by the potential !> temperature. diff --git a/science/gungho/source/kernel/solver/weighted_proj_2theta_bd_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_2theta_bd_kernel_mod.F90 index f8ccb0c9f9..63c3af544c 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_2theta_bd_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_2theta_bd_kernel_mod.F90 @@ -3,7 +3,7 @@ ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Computes the boundary part of the projection operator from the !> potential temperature space to the velocity space weighted by the diff --git a/science/gungho/source/kernel/solver/weighted_proj_2theta_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_2theta_kernel_mod.F90 index c8b6691fdd..5d83f81972 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_2theta_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_2theta_kernel_mod.F90 @@ -3,7 +3,7 @@ ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Compute the projection operator from the potential temperature space !! to the velocity space weighted by the pressure gradient. diff --git a/science/gungho/source/kernel/solver/weighted_proj_2thetav_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_2thetav_kernel_mod.F90 index 2f9634f983..3834d0e559 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_2thetav_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_2thetav_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Compute the projection operator from the potential temperature space !! to the velocity space weighted by the pressure gradient. diff --git a/science/gungho/source/kernel/solver/weighted_proj_theta2_bd_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_theta2_bd_kernel_mod.F90 index a74a0749ae..a239a87d57 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_theta2_bd_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_theta2_bd_kernel_mod.F90 @@ -3,7 +3,7 @@ ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Computes the boundary integral part of the projection operator from !> the velocity space to the potential temperature space weighted by diff --git a/science/gungho/source/kernel/solver/weighted_proj_theta2_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_theta2_kernel_mod.F90 index 90c465668c..f15dc05abd 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_theta2_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_theta2_kernel_mod.F90 @@ -3,7 +3,7 @@ ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- ! !------------------------------------------------------------------------------- diff --git a/science/gungho/source/kernel/solver/weighted_proj_theta2_vert_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_theta2_vert_kernel_mod.F90 index e8e4de4e08..8ae4d238bb 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_theta2_vert_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_theta2_vert_kernel_mod.F90 @@ -3,7 +3,7 @@ ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> @brief Compute the projection operator from the vertical part of the !> velocity space to the potential temperature space weighted by the diff --git a/science/gungho/source/kernel/solver/weighted_proj_theta2v_kernel_mod.F90 b/science/gungho/source/kernel/solver/weighted_proj_theta2v_kernel_mod.F90 index f7ea5dbc5c..f12288bfbe 100644 --- a/science/gungho/source/kernel/solver/weighted_proj_theta2v_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/weighted_proj_theta2v_kernel_mod.F90 @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- ! !------------------------------------------------------------------------------- diff --git a/science/gungho/source/psy/psykal_lite_mod.F90 b/science/gungho/source/psy/psykal_lite_mod.F90 index 773a2a2589..ea13c1b301 100644 --- a/science/gungho/source/psy/psykal_lite_mod.F90 +++ b/science/gungho/source/psy/psykal_lite_mod.F90 @@ -3,7 +3,7 @@ ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- ! !------------------------------------------------------------------------------- diff --git a/science/gungho/unit-test/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod_test.pf index 629b6353ac..fa018c9bdf 100644 --- a/science/gungho/unit-test/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/apply_elim_mixed_lp_operator_kernel_mod_test.pf @@ -3,7 +3,7 @@ ! For further details please refer to the file COPYRIGHT.txt ! which you should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> Test computation of the LHS of the equation of state: diff --git a/science/gungho/unit-test/kernel/solver/apply_mixed_lu_operator_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/apply_mixed_lu_operator_kernel_mod_test.pf index 1b7d30e571..14fedbc7cd 100644 --- a/science/gungho/unit-test/kernel/solver/apply_mixed_lu_operator_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/apply_mixed_lu_operator_kernel_mod_test.pf @@ -3,7 +3,7 @@ ! For further details please refer to the file COPYRIGHT.txt ! which you should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> Test the mixed operator to the momentum equation diff --git a/science/gungho/unit-test/kernel/solver/apply_mixed_u_operator_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/apply_mixed_u_operator_kernel_mod_test.pf index 93eaa77527..097082f7cb 100644 --- a/science/gungho/unit-test/kernel/solver/apply_mixed_u_operator_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/apply_mixed_u_operator_kernel_mod_test.pf @@ -3,7 +3,7 @@ ! For further details please refer to the file COPYRIGHT.txt ! which you should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> Test the mixed operator of the semi-implicit lhs diff --git a/science/gungho/unit-test/kernel/solver/apply_mixed_wp_operator_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/apply_mixed_wp_operator_kernel_mod_test.pf index c4f7a4ff8a..d8d49d89af 100644 --- a/science/gungho/unit-test/kernel/solver/apply_mixed_wp_operator_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/apply_mixed_wp_operator_kernel_mod_test.pf @@ -3,7 +3,7 @@ ! For further details please refer to the file COPYRIGHT.txt ! which you should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Opus 4.8). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> Test the mixed operator of the semi-implicit lhs diff --git a/science/gungho/unit-test/kernel/solver/eliminated_theta_q22_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/eliminated_theta_q22_kernel_mod_test.pf index 4ea2a6ef07..ba85205ada 100644 --- a/science/gungho/unit-test/kernel/solver/eliminated_theta_q22_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/eliminated_theta_q22_kernel_mod_test.pf @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> Test the weighted W2 mass matrix obtained by eliminating theta diff --git a/science/gungho/unit-test/kernel/solver/eliminated_theta_q2t_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/eliminated_theta_q2t_kernel_mod_test.pf index 393209fbda..de444a0ba1 100644 --- a/science/gungho/unit-test/kernel/solver/eliminated_theta_q2t_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/eliminated_theta_q2t_kernel_mod_test.pf @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> Test the weighted q2t matrix diff --git a/science/gungho/unit-test/kernel/solver/project_eliminated_theta_q32_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/project_eliminated_theta_q32_kernel_mod_test.pf index e1030d3621..09b42f849d 100644 --- a/science/gungho/unit-test/kernel/solver/project_eliminated_theta_q32_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/project_eliminated_theta_q32_kernel_mod_test.pf @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> Test the weighted q32 matrix diff --git a/science/gungho/unit-test/kernel/solver/sample_eliminated_theta_q32_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/sample_eliminated_theta_q32_kernel_mod_test.pf index a9eefa8b11..d84acb4969 100644 --- a/science/gungho/unit-test/kernel/solver/sample_eliminated_theta_q32_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/sample_eliminated_theta_q32_kernel_mod_test.pf @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> Test the weighted q32 matrix diff --git a/science/gungho/unit-test/kernel/solver/weighted_div_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/weighted_div_kernel_mod_test.pf index b2c17144c9..86035704dc 100644 --- a/science/gungho/unit-test/kernel/solver/weighted_div_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/weighted_div_kernel_mod_test.pf @@ -3,7 +3,7 @@ ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> Test the theta weighted divergence operator computation diff --git a/science/gungho/unit-test/kernel/solver/weighted_proj_2theta_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/weighted_proj_2theta_kernel_mod_test.pf index 9c94753b8e..75b93001bb 100644 --- a/science/gungho/unit-test/kernel/solver/weighted_proj_2theta_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/weighted_proj_2theta_kernel_mod_test.pf @@ -3,7 +3,7 @@ ! For further details please refer to the file LICENCE.original which you ! should have received as part of this distribution. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> Test the theta weighted divergence operator computation diff --git a/science/gungho/unit-test/kernel/solver/weighted_proj_2thetav_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/weighted_proj_2thetav_kernel_mod_test.pf index 9beab93d24..d8a570c5a4 100644 --- a/science/gungho/unit-test/kernel/solver/weighted_proj_2thetav_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/weighted_proj_2thetav_kernel_mod_test.pf @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> Test the theta weighted divergence operator computation diff --git a/science/gungho/unit-test/kernel/solver/weighted_proj_theta2_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/weighted_proj_theta2_kernel_mod_test.pf index 52dc671502..65b6d6f370 100644 --- a/science/gungho/unit-test/kernel/solver/weighted_proj_theta2_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/weighted_proj_theta2_kernel_mod_test.pf @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> Test the projection operator from the velocity space to diff --git a/science/gungho/unit-test/kernel/solver/weighted_proj_theta2v_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/weighted_proj_theta2v_kernel_mod_test.pf index 54f5712a0e..56330256ce 100644 --- a/science/gungho/unit-test/kernel/solver/weighted_proj_theta2v_kernel_mod_test.pf +++ b/science/gungho/unit-test/kernel/solver/weighted_proj_theta2v_kernel_mod_test.pf @@ -3,7 +3,7 @@ ! The file LICENCE, distributed with this code, contains details of the terms ! under which the code may be used. ! Some of the content of this file has been produced with the assistance of -! GitHub Copilot (Claude Sonnet 5). +! Met Office GitHub Copilot Enterprise. !----------------------------------------------------------------------------- !> Test the projection operator from the velocity space to From 2b97cf4983df87e37ce1fc6ba21448b96070ab90 Mon Sep 17 00:00:00 2001 From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com> Date: Fri, 24 Jul 2026 19:01:33 +0100 Subject: [PATCH 4/8] update KGOs --- ...-2000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...nic-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ..._MG-2panel_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ..._MG-3panel_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...nic-C48_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...t1-C24s_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...-C24_MG_op_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...MG_azspice_gnu_fast-debug-64bit-rtran32.txt | 6 +++--- ...ert-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...10-100x100_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...200-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...rog-C48_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...301-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...ter-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...ike-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...rez-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...ain-C48_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...00x8-10x10_azspice_gnu_fast-debug-64bit.txt | 8 ++++---- ...00x8-10x10_azspice_gnu_fast-debug-64bit.txt | 8 ++++---- ...sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...-C24_MG_op_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...MG_azspice_gnu_fast-debug-64bit-rtran32.txt | 6 +++--- ...n96_MG_lam_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...lam_rotate_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...x8-500x500_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...-1000x1000_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...linear-C12_azspice_gnu_fast-debug-64bit.txt | 2 +- ...ter-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...-1000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...-4000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...-4000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...-4000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...x8-200x200_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...x4-200x200_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...-200x50_op_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...00_azspice_gnu_fast-debug-64bit-rtran32.txt | 6 +++--- ...rth-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...24s_rot_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...0x8-2000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...clinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...clinic-C48_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...lt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...c-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...c-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...00x10-100x100_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...mip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...alorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...mip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...upiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...h-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...iP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt | 8 ++++---- ...iP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt | 8 ++++---- ...el_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...lt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt | 6 +++--- ...am-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...200x8-500x500_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...0x4-1000x1000_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...or-linear-C12_ex1a_gnu_fast-debug-64bit.txt | 2 +- ...upiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...0x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...5x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...5x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...5x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...256x8-200x200_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...256x4-200x200_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...256x8-200x200_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...h-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...linear-C12_azspice_gnu_fast-debug-64bit.txt | 2 +- ...linear-C12_azspice_gnu_full-debug-64bit.txt | 2 +- ...al9-C12_MG_azspice_gnu_fast-debug-64bit.txt | 14 +++++++------- ...or-linear-C12_ex1a_cce_fast-debug-64bit.txt | 2 +- ...p_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt | 14 +++++++------- ...planet-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...j1214b-C12_azspice_gnu_fast-debug-32bit.txt | 6 +++--- ...m_gal9-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...9_chem-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ..._short-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...09458b-C24_azspice_gnu_fast-debug-32bit.txt | 6 +++--- ..._casim-C12_azspice_gnu_fast-debug-32bit.txt | 18 +++++++++--------- ..._coma9-C12_azspice_gnu_fast-debug-32bit.txt | 16 ++++++++-------- ...ph_dev-C12_azspice_gnu_fast-debug-32bit.txt | 16 ++++++++-------- ...p_gal9-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...p_gal9-C12_azspice_gnu_fast-debug-64bit.txt | 14 +++++++------- ...al9-C48_MG_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...9-pert-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...ero-C48_MG_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...al9_da-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ..._debug-C12_azspice_gnu_full-debug-32bit.txt | 14 +++++++------- ...bug-C48_MG_azspice_gnu_full-debug-32bit.txt | 12 ++++++------ ...l9_eda-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...a_jada-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...l9_mol-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...era-C48_MG_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...rse-C48_MG_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ..._short-C12_azspice_gnu_fast-debug-32bit.txt | 12 ++++++------ ...l3-seuk_MG_azspice_gnu_fast-debug-32bit.txt | 16 ++++++++-------- ...ns-seuk_MG_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...ol-seuk_MG_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...00x1500_MG_azspice_gnu_fast-debug-32bit.txt | 14 +++++++------- ...en1-C48_MG_azspice_gnu_fast-debug-32bit.txt | 6 +++--- ...quaplanet-C12_ex1a_cce_fast-debug-32bit.txt | 12 ++++++------ ...3_gj1214b-C12_ex1a_cce_fast-debug-32bit.txt | 2 +- ...clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...m_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...al9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...m_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...al9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...al9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...gal9_chem-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...al9_short-C12_ex1a_cce_fast-debug-32bit.txt | 12 ++++++------ ...-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt | 12 ++++++------ ...hd209458b-C24_ex1a_cce_fast-debug-32bit.txt | 4 ++-- ...nwp_casim-C12_ex1a_cce_fast-debug-32bit.txt | 18 +++++++++--------- ...nwp_coma9-C12_ex1a_cce_fast-debug-32bit.txt | 16 ++++++++-------- ...morph_dev-C12_ex1a_cce_fast-debug-32bit.txt | 16 ++++++++-------- ...omorph_tb-C12_ex1a_cce_fast-debug-32bit.txt | 16 ++++++++-------- ..._nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ..._nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt | 14 +++++++------- ...p_gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...gal9-pert-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...p_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...al9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...p_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...al9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...al9_2T-C48_MG_ex1a_cce_full-debug-32bit.txt | 14 +++++++------- ...al9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...e_aero-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...readed-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...readed-C48_MG_ex1a_gnu_fast-debug-32bit.txt | 14 +++++++------- ...p_gal9_da-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...al9_debug-C12_ex1a_cce_full-debug-32bit.txt | 14 +++++++------- ..._debug-C48_MG_ex1a_cce_full-debug-32bit.txt | 12 ++++++------ ..._gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ..._eda_jada-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ..._gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...al9_short-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ..._ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt | 16 ++++++++-------- ...3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt | 12 ++++++------ ...ixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++------- ...i_ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt | 4 ++-- ..._nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt | 14 +++++++------- ...mip301-C24_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...1_ffsl-C24_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ...al9-C12_MG_azspice_gnu_fast-debug-64bit.txt | 14 +++++++------- ...al9-C12_MG_azspice_gnu_production-32bit.txt | 14 +++++++------- ...fsl-C12_MG_azspice_gnu_fast-debug-64bit.txt | 14 +++++++------- ...dom-C12_MG_azspice_gnu_fast-debug-64bit.txt | 14 +++++++------- ...plicit-C12_azspice_gnu_fast-debug-64bit.txt | 6 +++--- ..._dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...p301_ffsl-C24_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- ...p_gal9-C12_MG_ex1a_cce_fast-debug-32bit.txt | 12 ++++++------ ...p_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt | 14 +++++++------- ...p_gal9-C12_MG_ex1a_cce_production-32bit.txt | 12 ++++++------ ...p_gal9-C12_MG_ex1a_cce_production-64bit.txt | 14 +++++++------- ...p_gal9-C12_MG_ex1a_gnu_fast-debug-32bit.txt | 14 +++++++------- ...p_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt | 14 +++++++------- ...p_gal9-C12_MG_ex1a_gnu_full-debug-32bit.txt | 14 +++++++------- ...p_gal9-C12_MG_ex1a_gnu_full-debug-64bit.txt | 14 +++++++------- ...p_gal9-C12_MG_ex1a_gnu_production-32bit.txt | 8 ++++---- ...p_gal9-C12_MG_ex1a_gnu_production-64bit.txt | 14 +++++++------- ...9_ffsl-C12_MG_ex1a_gnu_fast-debug-64bit.txt | 14 +++++++------- ...random-C12_MG_ex1a_gnu_fast-debug-64bit.txt | 14 +++++++------- ...-implicit-C12_ex1a_gnu_fast-debug-64bit.txt | 6 +++--- 173 files changed, 844 insertions(+), 844 deletions(-) diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_azspice_gnu_fast-debug-64bit.txt index 0bf3da4267..efb4a49a3c 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40DAA271B7D2549D -Inner product checksum theta = 42418E8247B61657 -Inner product checksum u = 43F0A73C1317F206 +Inner product checksum rho = 40DAA271B7D254AA +Inner product checksum theta = 42418E8247B61620 +Inner product checksum u = 43F0A73C1317F263 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt index ea4103f3dd..75e73d4178 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2F2B22471284D -Inner product checksum theta = 4210411A3413C5A2 -Inner product checksum u = 4501AC432273CA03 +Inner product checksum rho = 40E2F2B2242AF118 +Inner product checksum theta = 4210411A341E0453 +Inner product checksum u = 4501AC431FED3CFB diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-2panel_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-2panel_azspice_gnu_fast-debug-64bit.txt index 9b280ca459..98305beb12 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-2panel_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-2panel_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4102EEF5FAAF36AB -Inner product checksum theta = 423041DD8254B694 -Inner product checksum u = 45017CE3BDCC7471 +Inner product checksum rho = 4102EEF5FA8E7F13 +Inner product checksum theta = 423041DD8259BAF9 +Inner product checksum u = 45017CE3BAE69359 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-3panel_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-3panel_azspice_gnu_fast-debug-64bit.txt index a1ac70afd8..cb751b85ac 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-3panel_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-3panel_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4102EEF5FAAF36A3 -Inner product checksum theta = 423041DD8254B695 -Inner product checksum u = 45017CE3BDCC746C +Inner product checksum rho = 4102EEF5FA8E7F16 +Inner product checksum theta = 423041DD8259BAF9 +Inner product checksum u = 45017CE3BAE69366 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG_azspice_gnu_fast-debug-64bit.txt index 12b47fedf3..7cafebd0ad 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4102EEF5FAAF36AA -Inner product checksum theta = 423041DD8254B693 -Inner product checksum u = 45017CE3BDCC746C +Inner product checksum rho = 4102EEF5FA8E7F16 +Inner product checksum theta = 423041DD8259BAFC +Inner product checksum u = 45017CE3BAE6936A diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt index 7062e4bfa0..25a1370d3b 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E31B89B4F18C5A -Inner product checksum theta = 42104617DFB2BB0E -Inner product checksum u = 4500F65BA3091AE0 +Inner product checksum rho = 40E31B57685FC942 +Inner product checksum theta = 4210461EB3F32723 +Inner product checksum u = 4500F5231DA5535E diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt index 491ff4a7cb..ed7698a574 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2EB31AE9BB095 -Inner product checksum theta = 42104262EDD0C3CB -Inner product checksum u = 4501DA5CB7431A79 +Inner product checksum rho = 40E2EB31ADFD6F68 +Inner product checksum theta = 42104262EDDA7DD4 +Inner product checksum u = 4501DA5CB10C505E diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt index 9c05a0ff35..5ca1fa0ba9 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2F33FFAE6F53C -Inner product checksum theta = 421041C1E2EA98E8 -Inner product checksum u = 4501D86FAEA1FB4E +Inner product checksum rho = 40E2F340335FA448 +Inner product checksum theta = 421041C1E108D985 +Inner product checksum u = 4501D87A7956C1D6 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt index 1999361d4c..d58e1cb306 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2E6107980CF2C -Inner product checksum theta = 4210435EB2DDB805 -Inner product checksum u = 4501348CFD6FF108 +Inner product checksum rho = 40E2E6107980FA1D +Inner product checksum theta = 4210435EB2DE4D65 +Inner product checksum u = 4501348CFD95684E diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt index 74c6b988a8..c7e4fb3274 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40FE89845A99A3A0 -Inner product checksum theta = 4210F00A9EEFED9B -Inner product checksum u = 42EF4B7C9D66048A +Inner product checksum rho = 40FE89845A9258B3 +Inner product checksum theta = 4210F00A9EEFEC1A +Inner product checksum u = 42EF4B7C9D3BEF12 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt index 4673c02ece..9d790622ee 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E8EBCD2FEB4016 -Inner product checksum theta = 4204E5A9894FB906 -Inner product checksum u = 43F4FE3DAF7E7919 +Inner product checksum rho = 40E8EBCD2FEB4063 +Inner product checksum theta = 4204E5A9894FB99F +Inner product checksum u = 43F4FE3DAD48187A diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt index 299e17ba3e..6e9543907e 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41094CA3DACB8EB2 -Inner product checksum theta = 4224DF7F73F04BA6 -Inner product checksum u = 43C5208E2F479FE9 +Inner product checksum rho = 41094CA3DACB8EDD +Inner product checksum theta = 4224DF7F73F04BB8 +Inner product checksum u = 43C5208E2FA47CC1 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt index d740669e22..5e1c2d3dab 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D3FF37BCAE74B3 -Inner product checksum theta = 41EC4ACBE79A82E4 -Inner product checksum u = 44176CD1D18E1CF0 +Inner product checksum rho = 40D3FF37BCAE7457 +Inner product checksum theta = 41EC4ACBE79A8386 +Inner product checksum u = 44176CD1D18E33BA diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt index 9de138dcd4..c4a8fa9b06 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40EEEF267CFD70C4 -Inner product checksum theta = 42E2AA885C6B5871 -Inner product checksum u = 47563E0DE14081C8 +Inner product checksum rho = 40EEEF267CFD6FB4 +Inner product checksum theta = 42E2AA885C6B561D +Inner product checksum u = 47563E0DE14108BC diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt index d8c38c66b5..2c42d8fcd3 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D56CA2970A6533 -Inner product checksum theta = 42198C1F10A24A85 -Inner product checksum u = 44E3E16E090FDE6D +Inner product checksum rho = 40D56CA2970A09FD +Inner product checksum theta = 42198C1F10A1CE70 +Inner product checksum u = 44E3E16E089028C0 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt index 667d88d634..7c3b377fc3 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E34359B9A4055A -Inner product checksum theta = 421168C83D1FCA3C -Inner product checksum u = 45082CCFE158B801 +Inner product checksum rho = 40E34359B1E29C24 +Inner product checksum theta = 421168C83DA3C5BC +Inner product checksum u = 45082CCFA9D9C388 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt index 17b248bfdd..6af9e29d7f 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4122BF1AB11383BD -Inner product checksum theta = 4240B157AB726083 -Inner product checksum u = 44FA82C80E829B57 +Inner product checksum rho = 4122BF1AB1131A41 +Inner product checksum theta = 4240B157AB6C8BBE +Inner product checksum u = 44FA82C80E7F38AB diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt index c403abfb03..da3150ac64 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt @@ -1,7 +1,7 @@ -Inner product checksum rho = 41002A013B9CED3F -Inner product checksum theta = 4204AB10C072D40A -Inner product checksum u = 42173616BAD0AE40 -Inner product checksum mr1 = 40477A3CFF479A5B +Inner product checksum rho = 41002A013F23F1A0 +Inner product checksum theta = 4204AB10C1B8CB29 +Inner product checksum u = 42173600D4A6A07A +Inner product checksum mr1 = 40477A3C6E04B640 Inner product checksum mr2 = 0 Inner product checksum mr3 = 0 Inner product checksum mr4 = 0 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt index 8157b57448..cb021cc6f0 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt @@ -1,7 +1,7 @@ -Inner product checksum rho = 41002981506890F0 -Inner product checksum theta = 4204AB14AEBC204E -Inner product checksum u = 421830A1C1298F13 -Inner product checksum mr1 = 4047D6E0067DA92E +Inner product checksum rho = 4100297FC4CCE65A +Inner product checksum theta = 4204AB14B0961053 +Inner product checksum u = 4218334F25231FFF +Inner product checksum mr1 = 4047D6DA32F7E62D Inner product checksum mr2 = 0 Inner product checksum mr3 = 0 Inner product checksum mr4 = 0 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt index 27fce147f0..554feeb9af 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41030D58C35888B7 -Inner product checksum theta = 42475B42A25CFDB4 -Inner product checksum u = 456062CEF50A5320 +Inner product checksum rho = 41030D58C35A7E88 +Inner product checksum theta = 42475B42A2356D85 +Inner product checksum u = 456062CEF519BA82 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt index 944142cdaa..94ae860104 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41030D6C136CE3C9 -Inner product checksum theta = 42476BF6F9CB1344 -Inner product checksum u = 4560B547977004F5 +Inner product checksum rho = 41030D6C1354B811 +Inner product checksum theta = 42476BF6F9CAFDB1 +Inner product checksum u = 4560B5479753BBE3 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt index 484ebe073f..b422bcab19 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41030F18BEB1D30D -Inner product checksum theta = 42476C698F6100AD -Inner product checksum u = 4560A0F4749A4F32 +Inner product checksum rho = 41030F18BB455D0C +Inner product checksum theta = 42476C698246031E +Inner product checksum u = 4560A0F476323778 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt index a8d7d291e2..e5d4c948a6 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E316DD570FC012 -Inner product checksum theta = 420BC551F61B3573 -Inner product checksum u = 44FD3CA2A8580431 +Inner product checksum rho = 40E316DD570DD9A4 +Inner product checksum theta = 420BC551F61A1A1F +Inner product checksum u = 44FD3CA2A867D590 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt index 06d5767897..4d08379a7d 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E3144534D14747 -Inner product checksum theta = 420BC6A55E4A864A -Inner product checksum u = 44FDCE146C2763C8 +Inner product checksum rho = 40E3144534D10717 +Inner product checksum theta = 420BC6A55E4A686A +Inner product checksum u = 44FDCE146C1B8736 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-BiP200x8-500x500_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-BiP200x8-500x500_azspice_gnu_fast-debug-64bit.txt index 28e909f514..d9c6ec9ba0 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-BiP200x8-500x500_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-BiP200x8-500x500_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E1E482F503968A -Inner product checksum theta = 421139234E97D4C7 -Inner product checksum u = 4393A629664DCE34 +Inner product checksum rho = 40E1E482F5039933 +Inner product checksum theta = 421139234E97D021 +Inner product checksum u = 4393A62966485C3D diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_azspice_gnu_fast-debug-64bit.txt index 4435714977..51be4e70b3 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40C1E40C4086849A -Inner product checksum theta = 41F1395D4034FE76 -Inner product checksum u = 4393B67691E55F6A +Inner product checksum rho = 40C1E40C4086836E +Inner product checksum theta = 41F1395D4034F394 +Inner product checksum u = 4393B67691E59013 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt index 828ae15bb8..f3531f5eb9 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ Inner product checksum rho = 40A3EC6A14AC6571 Inner product checksum theta = 41BEDEE1880FB476 -Inner product checksum u = 4316BFB1C0D84161 +Inner product checksum u = 4316BFB1C362A421 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt index d9610c381b..1df1014bb6 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 400CE3D8ABAC3C98 -Inner product checksum theta = 426EFB40626C06CA -Inner product checksum u = 46E90B3144C6C0BA +Inner product checksum rho = 400CE3D8AB96C8A8 +Inner product checksum theta = 426EFB40626530A5 +Inner product checksum u = 46E90B314BF2E294 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt index 9be2b8d89d..9a5fe8d65f 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40CBD086E89B5CBB -Inner product checksum theta = 41E3A4D10A00A1E1 -Inner product checksum u = 4400A7C1E61414B3 +Inner product checksum rho = 40CBD086E89B5D1E +Inner product checksum theta = 41E3A4D10A00A211 +Inner product checksum u = 4400A7C1E61414C1 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt index 8b2dc98cfa..6032bd04c4 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40BBCBB6EF2139D7 -Inner product checksum theta = 41D3A4D0913523F8 -Inner product checksum u = 42800064533EA343 +Inner product checksum rho = 40BBCBB6EF213B23 +Inner product checksum theta = 41D3A4D0913520FF +Inner product checksum u = 42800065B48E6026 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt index 4ebd8f779a..a437c0fc11 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 409BCBB6ED8BDF4E -Inner product checksum theta = 41B3A4D092286D36 -Inner product checksum u = 425BD28986EDD706 +Inner product checksum rho = 409BCBB6ED8BE030 +Inner product checksum theta = 41B3A4D0922870A1 +Inner product checksum u = 425BD2895B96C9A4 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt index 00c34172f6..4ca2b00091 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40ABB3332F2E4662 -Inner product checksum theta = 41C56FE12C8956A8 -Inner product checksum u = 42703CCCA2F5E548 +Inner product checksum rho = 40ABB3332F2E46B6 +Inner product checksum theta = 41C56FE12C8956CA +Inner product checksum u = 42703CCCA4C7493E diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt index 2ea706a66b..f7e6afa772 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40EA1721E2B15F97 -Inner product checksum theta = 41F69B200F92BE38 -Inner product checksum u = 432D54F6E82FD815 +Inner product checksum rho = 40EA1721E2B19681 +Inner product checksum theta = 41F69B200F9256FF +Inner product checksum u = 432D54F6E7B1249C diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt index 330b695966..c7d35b5c37 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40DA171CE5E100B5 -Inner product checksum theta = 41E69B0DA695041C -Inner product checksum u = 431CEA8D80263E2B +Inner product checksum rho = 40DA171CE5601289 +Inner product checksum theta = 41E69B0DAA970978 +Inner product checksum u = 431CEA8137F25AE6 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt index 5d4f80517e..de50dcd9a6 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40FA16E969D82696 -Inner product checksum theta = 42069BF1BB6EBF3E -Inner product checksum u = 42FFC30F4FBB102B +Inner product checksum rho = 40FA16E969D89EBF +Inner product checksum theta = 42069BF1BB6CCC93 +Inner product checksum u = 42FFC30F535CD605 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt index 9f4b67a4a5..50a90be4cd 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40EA1719B768F3AC -Inner product checksum theta = 41F69B1F28A3BFA5 -Inner product checksum u = 432E6916F4076749 +Inner product checksum rho = 40EA1719B66D8922 +Inner product checksum theta = 41F69B1F2B7F7B79 +Inner product checksum u = 432E69155C35746D diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt index 3ff5382810..dd8be578db 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D4230A1478666B -Inner product checksum theta = 421AE83CAB516462 -Inner product checksum u = 44D53ED8DE21877F +Inner product checksum rho = 40D4230A137F8177 +Inner product checksum theta = 421AE83CAAFB6EAF +Inner product checksum u = 44D53ECB9AB0EC2A diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt index ba0bf78e7a..6432417cf3 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D3B0E3F253A58A -Inner product checksum theta = 421AFAEB05FFB702 -Inner product checksum u = 44D452237770E849 +Inner product checksum rho = 40D3B0E6A542905E +Inner product checksum theta = 421AFAE944F24AC5 +Inner product checksum u = 44D4418885376194 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_ex1a_gnu_fast-debug-64bit.txt index d78f727e8e..2c7c1850e2 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40DAA271B7D2549C -Inner product checksum theta = 42418E8247B61658 -Inner product checksum u = 43F0A73C1317F205 +Inner product checksum rho = 40DAA271B7D254A9 +Inner product checksum theta = 42418E8247B61620 +Inner product checksum u = 43F0A73C1317F262 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt index ada3a1c66b..4dba71c861 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2F2B2245C6EF0 -Inner product checksum theta = 4210411A341600F1 -Inner product checksum u = 4501AC4321EB0E76 +Inner product checksum rho = 40E2F2B22431211E +Inner product checksum theta = 4210411A341D8755 +Inner product checksum u = 4501AC43203C5EC1 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C48_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C48_MG_ex1a_gnu_fast-debug-64bit.txt index 6c4cb08c4a..c5fc7b6b9c 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C48_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C48_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4102EEF5FAB5441A -Inner product checksum theta = 423041DD8253D5FC -Inner product checksum u = 45017CE3BDCE5214 +Inner product checksum rho = 4102EEF5FA89D062 +Inner product checksum theta = 423041DD8259FEC7 +Inner product checksum u = 45017CE3BB2EB965 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt index 56cb363bf6..29189b7edf 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E31B643340F144 -Inner product checksum theta = 4210461DA89B6FC4 -Inner product checksum u = 4500F5760268D47B +Inner product checksum rho = 40E31B5D963ED5D6 +Inner product checksum theta = 4210461D7D1AEF96 +Inner product checksum u = 4500F5A4D9576162 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt index 1bdca4b97e..ed887fb186 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2EB31AEC2A8BB -Inner product checksum theta = 42104262EDD02E18 -Inner product checksum u = 4501DA5CB45FBE9C +Inner product checksum rho = 40E2EB31AEC13C90 +Inner product checksum theta = 42104262EDCE0B5E +Inner product checksum u = 4501DA5CAFDCE422 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt index 3a966d1832..1a6da58ed8 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2F3443846D2F3 -Inner product checksum theta = 421041C0A412BCF8 -Inner product checksum u = 4501D87BC333BF10 +Inner product checksum rho = 40E2F344379635B6 +Inner product checksum theta = 421041C0A43990EE +Inner product checksum u = 4501D87BBFDDF5A0 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt index 7847386cb7..94a8ff711c 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2E6107980F6AE -Inner product checksum theta = 4210435EB2DD9110 -Inner product checksum u = 4501348CFD7A98CA +Inner product checksum rho = 40E2E6107980E6E0 +Inner product checksum theta = 4210435EB2DE5A9C +Inner product checksum u = 4501348CFD9A37DB diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt index a838438232..c7e4fb3274 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40FE89845A99A3A1 -Inner product checksum theta = 4210F00A9EEFED9B -Inner product checksum u = 42EF4B7C9D66048B +Inner product checksum rho = 40FE89845A9258B3 +Inner product checksum theta = 4210F00A9EEFEC1A +Inner product checksum u = 42EF4B7C9D3BEF12 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt index b7eed6f7c1..6658b49c80 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E8EBCD2FEB401B -Inner product checksum theta = 4204E5A9894FB902 -Inner product checksum u = 43F4FE3DAF7B3E30 +Inner product checksum rho = 40E8EBCD2FEB4060 +Inner product checksum theta = 4204E5A9894FB998 +Inner product checksum u = 43F4FE3DAD5F74EF diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt index 84357f5b2a..adfd7fd8d0 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41094CA3DACB8EBD -Inner product checksum theta = 4224DF7F73F04BAC -Inner product checksum u = 43C5208E2E7E176F +Inner product checksum rho = 41094CA3DACB8EDC +Inner product checksum theta = 4224DF7F73F04BBC +Inner product checksum u = 43C5208E30671C01 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt index aac8febbdd..b22575e68e 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D3FF37BCAE7812 -Inner product checksum theta = 41EC4ACBE79A8394 -Inner product checksum u = 44176CD1D18E1FCA +Inner product checksum rho = 40D3FF37BCAE74BC +Inner product checksum theta = 41EC4ACBE79A8132 +Inner product checksum u = 44176CD1D18E255E diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt index d80f4a4f2c..c2f0dd6121 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40EEEF267CFD709D -Inner product checksum theta = 42E2AA885C6B50A2 -Inner product checksum u = 47563E0DE14080A8 +Inner product checksum rho = 40EEEF267CFD6FD6 +Inner product checksum theta = 42E2AA885C6B4C97 +Inner product checksum u = 47563E0DE1413AB3 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt index b71d368255..a0deabb5c6 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D56CA2970A568B -Inner product checksum theta = 42198C1F10A25514 -Inner product checksum u = 44E3E16E092323AA +Inner product checksum rho = 40D56CA2970A1992 +Inner product checksum theta = 42198C1F10A1C876 +Inner product checksum u = 44E3E16E0890B2F0 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt index 693e33de55..b8c71d3c03 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E34359BE28D32E -Inner product checksum theta = 421168C83C70C4C8 -Inner product checksum u = 45082CD009C02E72 +Inner product checksum rho = 40E34359B14AFE6A +Inner product checksum theta = 421168C83DD492E8 +Inner product checksum u = 45082CCF9DB79E02 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt index bbb9c91e7c..42e0b9a886 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4122BF1AB114A722 -Inner product checksum theta = 4240B157AB71BF54 -Inner product checksum u = 44FA82C80E9F3C45 +Inner product checksum rho = 4122BF1AB1143B89 +Inner product checksum theta = 4240B157AB6EF32C +Inner product checksum u = 44FA82C80E8B87D8 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt index c403abfb03..da3150ac64 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt @@ -1,7 +1,7 @@ -Inner product checksum rho = 41002A013B9CED3F -Inner product checksum theta = 4204AB10C072D40A -Inner product checksum u = 42173616BAD0AE40 -Inner product checksum mr1 = 40477A3CFF479A5B +Inner product checksum rho = 41002A013F23F1A0 +Inner product checksum theta = 4204AB10C1B8CB29 +Inner product checksum u = 42173600D4A6A07A +Inner product checksum mr1 = 40477A3C6E04B640 Inner product checksum mr2 = 0 Inner product checksum mr3 = 0 Inner product checksum mr4 = 0 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt index 8157b57448..cb021cc6f0 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt @@ -1,7 +1,7 @@ -Inner product checksum rho = 41002981506890F0 -Inner product checksum theta = 4204AB14AEBC204E -Inner product checksum u = 421830A1C1298F13 -Inner product checksum mr1 = 4047D6E0067DA92E +Inner product checksum rho = 4100297FC4CCE65A +Inner product checksum theta = 4204AB14B0961053 +Inner product checksum u = 4218334F25231FFF +Inner product checksum mr1 = 4047D6DA32F7E62D Inner product checksum mr2 = 0 Inner product checksum mr3 = 0 Inner product checksum mr4 = 0 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt index 5636f2de72..ed1d8ce51a 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41030D58C358E5B2 -Inner product checksum theta = 42475B42A2584218 -Inner product checksum u = 456062CEF518DF7E +Inner product checksum rho = 41030D58C35A56BA +Inner product checksum theta = 42475B42A23FE08A +Inner product checksum u = 456062CEF5131853 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt index 023e3f169b..1bcc3d1d8c 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41030D6C13704C70 -Inner product checksum theta = 42476BF6F9C9A074 -Inner product checksum u = 4560B5479777FCB4 +Inner product checksum rho = 41030D6C1351B6E4 +Inner product checksum theta = 42476BF6F9CA7348 +Inner product checksum u = 4560B547976EBCE2 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt index 1cc3356ddf..0d230e0443 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41030F18BD30F16D -Inner product checksum theta = 42476C69857F19F2 -Inner product checksum u = 4560A0F50666537B +Inner product checksum rho = 41030F18BC6411C3 +Inner product checksum theta = 42476C697727A9B1 +Inner product checksum u = 4560A0F4A8DDEBF2 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt index b639b3c021..36a2a12f66 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E316DD570F9388 -Inner product checksum theta = 420BC551F61B236E -Inner product checksum u = 44FD3CA2A85EEACA +Inner product checksum rho = 40E316DD570D3E4C +Inner product checksum theta = 420BC551F61A2545 +Inner product checksum u = 44FD3CA2A863EA4A diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt index 4e4102079a..fc47acadb2 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E3144534D1171C -Inner product checksum theta = 420BC6A55E4A8BBE -Inner product checksum u = 44FDCE146C2A3DB3 +Inner product checksum rho = 40E3144534D0DCBA +Inner product checksum theta = 420BC6A55E4A7122 +Inner product checksum u = 44FDCE146C1A11BA diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-BiP200x8-500x500_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-BiP200x8-500x500_ex1a_gnu_fast-debug-64bit.txt index 28e909f514..d9c6ec9ba0 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-BiP200x8-500x500_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-BiP200x8-500x500_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E1E482F503968A -Inner product checksum theta = 421139234E97D4C7 -Inner product checksum u = 4393A629664DCE34 +Inner product checksum rho = 40E1E482F5039933 +Inner product checksum theta = 421139234E97D021 +Inner product checksum u = 4393A62966485C3D diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_ex1a_gnu_fast-debug-64bit.txt index 966e3d300f..cea20d1d02 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40C1E40C40869417 -Inner product checksum theta = 41F1395D4034FF38 -Inner product checksum u = 4393B67691E550BA +Inner product checksum rho = 40C1E40C40867B2C +Inner product checksum theta = 41F1395D4034F8AA +Inner product checksum u = 4393B67691E66800 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt index 245caece85..1745a9fb99 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ Inner product checksum rho = 40A3EC6A14AC6571 Inner product checksum theta = 41BEDEE1880FB476 -Inner product checksum u = 4316BFB1C0CA2C65 +Inner product checksum u = 4316BFB1C35CA865 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt index 0e016e6e98..1831e68ea8 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 400CE3D8AB9E8522 -Inner product checksum theta = 426EFB4062638E1B -Inner product checksum u = 46E90B3148D56BF0 +Inner product checksum rho = 400CE3D8ABAA9A90 +Inner product checksum theta = 426EFB40626F9A08 +Inner product checksum u = 46E90B3145BD9537 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt index 9be2b8d89d..9a5fe8d65f 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40CBD086E89B5CBB -Inner product checksum theta = 41E3A4D10A00A1E1 -Inner product checksum u = 4400A7C1E61414B3 +Inner product checksum rho = 40CBD086E89B5D1E +Inner product checksum theta = 41E3A4D10A00A211 +Inner product checksum u = 4400A7C1E61414C1 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt index 8b2dc98cfa..c2ab754ac5 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40BBCBB6EF2139D7 -Inner product checksum theta = 41D3A4D0913523F8 -Inner product checksum u = 42800064533EA343 +Inner product checksum rho = 40BBCBB6EF213B14 +Inner product checksum theta = 41D3A4D0913520F9 +Inner product checksum u = 42800065E0DDF0FF diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt index b520009fe7..f7ab7ff842 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 409BCBB6ED8BDF26 -Inner product checksum theta = 41B3A4D092286D94 -Inner product checksum u = 425BD28990164CAC +Inner product checksum rho = 409BCBB6ED8BE14A +Inner product checksum theta = 41B3A4D0922874DC +Inner product checksum u = 425BD289603DB533 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt index 934dfe7965..e71b4d2137 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40ABB3332F2E4660 -Inner product checksum theta = 41C56FE12C8956A9 -Inner product checksum u = 42703CCCA2F5E547 +Inner product checksum rho = 40ABB3332F2E46A9 +Inner product checksum theta = 41C56FE12C8956CE +Inner product checksum u = 42703CCCADA97A04 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt index 20684c9deb..948973dd39 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40EA1721E2B15F98 -Inner product checksum theta = 41F69B200F92BE38 -Inner product checksum u = 432D54F6E82FD816 +Inner product checksum rho = 40EA1721E2B19680 +Inner product checksum theta = 41F69B200F9256FF +Inner product checksum u = 432D54F6E7B1249C diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt index bd7eeab53a..a1fdc59f41 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40DA171CE5E0D8E0 -Inner product checksum theta = 41E69B0DA69613A4 -Inner product checksum u = 431CEA8D7FB83CC8 +Inner product checksum rho = 40DA171CE56015B4 +Inner product checksum theta = 41E69B0DAA96F382 +Inner product checksum u = 431CEA8137F2E3BC diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt index 1f6a32d1ee..6c189f9eb3 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40FA16E968D7D432 -Inner product checksum theta = 42069BF1BC3DF21E -Inner product checksum u = 42FFC30DC52E5C94 +Inner product checksum rho = 40FA16E969D84BAC +Inner product checksum theta = 42069BF1BB6DCA1A +Inner product checksum u = 42FFC30F5344B018 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt index fe82d0c511..b2064bc6ca 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40EA171A1830AFAE -Inner product checksum theta = 41F69B1D66F904A1 -Inner product checksum u = 432E68AADCCA17BA +Inner product checksum rho = 40EA171A182FB1E7 +Inner product checksum theta = 41F69B1D66FA56EE +Inner product checksum u = 432E68AAD6280024 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt index d73579aaa3..9d1a9f1a6b 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D4230A1404B217 -Inner product checksum theta = 421AE83CAB319131 -Inner product checksum u = 44D53EDA51FBE808 +Inner product checksum rho = 40D4230A13E1B4A8 +Inner product checksum theta = 421AE83CAAE6505E +Inner product checksum u = 44D53EC34F9012C2 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt index c264bfea9e..137cea3d52 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D3B0E5DA3B9B82 -Inner product checksum theta = 421AFAEA28D94C62 -Inner product checksum u = 44D450F5CA068894 +Inner product checksum rho = 40D3B0E6548D90A9 +Inner product checksum theta = 421AFAE94BD29C5C +Inner product checksum u = 44D442E434A2DDE2 diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_fast-debug-64bit.txt index def85323e4..5ab0cb6f7c 100644 --- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_fast-debug-64bit.txt @@ -1 +1 @@ -Inner product checksum theta = 41F6D1230190116A +Inner product checksum theta = 41F6D1230190AF69 diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_full-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_full-debug-64bit.txt index def85323e4..5ab0cb6f7c 100644 --- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_full-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_full-debug-64bit.txt @@ -1 +1 @@ -Inner product checksum theta = 41F6D1230190116A +Inner product checksum theta = 41F6D1230190AF69 diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt index 22bf3285d1..dc0a8dba96 100644 --- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA52EF77E49F0FF -Inner product checksum theta = 41601DBDA3369D5A -Inner product checksum u = 45674E3774E524EA -Inner product checksum mr1 = 3F35A63D679AE4B0 -Inner product checksum mr2 = 3EEB1DD4FF340ABA -Inner product checksum mr3 = 3EDF4E0C9252891B -Inner product checksum mr4 = 3EED721FE4FC621B +Inner product checksum rho = 3FA52EF830F9B4E7 +Inner product checksum theta = 41601DBC9B58CBFE +Inner product checksum u = 45674E36DED75096 +Inner product checksum mr1 = 3F35A6378E1692B9 +Inner product checksum mr2 = 3EEB1DD4688AB2C3 +Inner product checksum mr3 = 3EDF4E0CAB416490 +Inner product checksum mr4 = 3EED721FDFD4C2A2 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_ex1a_cce_fast-debug-64bit.txt index a4abf87ad7..ebd219ab51 100644 --- a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_ex1a_cce_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_ex1a_cce_fast-debug-64bit.txt @@ -1 +1 @@ -Inner product checksum theta = 41F6D12301909934 +Inner product checksum theta = 41F6D12301911717 diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt index 642231277a..5d63a9ea52 100644 --- a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA52EF6ADA58274 -Inner product checksum theta = 41601DBD4534566A -Inner product checksum u = 45674E378323D408 -Inner product checksum mr1 = 3F35A638239F6F05 -Inner product checksum mr2 = 3EEB1DD4BC63F129 -Inner product checksum mr3 = 3EDF4E0CAF22AF37 -Inner product checksum mr4 = 3EED721F89296768 +Inner product checksum rho = 3FA52EF594B507CE +Inner product checksum theta = 41601DBBD1673452 +Inner product checksum u = 45674E359E90DFB3 +Inner product checksum mr1 = 3F35A6402BF4AE0C +Inner product checksum mr2 = 3EEB1DD49BC791AC +Inner product checksum mr3 = 3EDF4E0C9A2732C6 +Inner product checksum mr4 = 3EED7220334609F2 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_aquaplanet-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_aquaplanet-C12_azspice_gnu_fast-debug-32bit.txt index efd6c7a152..13c6de5ba8 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_aquaplanet-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_aquaplanet-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 468AD867 -Inner product checksum theta = 4FD68864 -Inner product checksum u = 6A4E625C -Inner product checksum mr1 = 3F07E2A3 -Inner product checksum mr2 = 368B1274 -Inner product checksum mr3 = 340A5E74 -Inner product checksum mr4 = 369107AC +Inner product checksum rho = 468AD879 +Inner product checksum theta = 4FD68860 +Inner product checksum u = 6A4E67EB +Inner product checksum mr1 = 3F07DB98 +Inner product checksum mr2 = 36873DD4 +Inner product checksum mr3 = 340F2C75 +Inner product checksum mr4 = 3692215A Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_camembert_case3_gj1214b-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_camembert_case3_gj1214b-C12_azspice_gnu_fast-debug-32bit.txt index 1336697b07..6d9796ff4a 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_camembert_case3_gj1214b-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_camembert_case3_gj1214b-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 44D95740 -Inner product checksum theta = 5504FC2C -Inner product checksum u = 74276D83 +Inner product checksum rho = 44D95741 +Inner product checksum theta = 5504FC31 +Inner product checksum u = 74276D96 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt index 0b0299a998..94d2831e41 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D552C2 -Inner product checksum theta = 518ED761 -Inner product checksum u = 6AF9062A -Inner product checksum mr1 = 3FE1FDDC -Inner product checksum mr2 = 3741AD00 -Inner product checksum mr3 = 351684B6 -Inner product checksum mr4 = 36A099BE +Inner product checksum rho = 46D55428 +Inner product checksum theta = 518ED616 +Inner product checksum u = 6AF8F0FE +Inner product checksum mr1 = 3FE1D9A4 +Inner product checksum mr2 = 373D8A12 +Inner product checksum mr3 = 351C47B6 +Inner product checksum mr4 = 369563A0 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_chem-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_chem-C12_azspice_gnu_fast-debug-32bit.txt index 8de3d841d6..29e6b3be24 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_chem-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_chem-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D5578A -Inner product checksum theta = 518ED8FB -Inner product checksum u = 6AF94DEC -Inner product checksum mr1 = 3FE1FD6A -Inner product checksum mr2 = 3736FE04 -Inner product checksum mr3 = 350C5B3F -Inner product checksum mr4 = 36AF8892 +Inner product checksum rho = 46D5589A +Inner product checksum theta = 518ED822 +Inner product checksum u = 6AF90A9E +Inner product checksum mr1 = 3FE18A0D +Inner product checksum mr2 = 372E8FE0 +Inner product checksum mr3 = 350B061D +Inner product checksum mr4 = 369A358E Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt index 5ac113daf6..da77573000 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D6859D -Inner product checksum theta = 519A8C17 -Inner product checksum u = 6B2FD7B0 -Inner product checksum mr1 = 3FCB84C2 -Inner product checksum mr2 = 374F320C -Inner product checksum mr3 = 35DFD488 -Inner product checksum mr4 = 379DAF52 +Inner product checksum rho = 46D68598 +Inner product checksum theta = 519A8C18 +Inner product checksum u = 6B2FD592 +Inner product checksum mr1 = 3FCB7DD5 +Inner product checksum mr2 = 3752CB40 +Inner product checksum mr3 = 35DF4454 +Inner product checksum mr4 = 379D9FE8 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_hd209458b-C24_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_hd209458b-C24_azspice_gnu_fast-debug-32bit.txt index 90e67464e6..d29b4c8007 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_hd209458b-C24_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_hd209458b-C24_azspice_gnu_fast-debug-32bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4798D8DD -Inner product checksum theta = 584061BB -Inner product checksum u = 79B9DF6B +Inner product checksum rho = 4798D8DE +Inner product checksum theta = 584061BC +Inner product checksum u = 79B9E020 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_casim-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_casim-C12_azspice_gnu_fast-debug-32bit.txt index 219515be2c..263e062322 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_casim-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_casim-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D870E9 -Inner product checksum theta = 518CDC70 -Inner product checksum u = 6A8B6667 -Inner product checksum mr1 = 3FCC8CF3 -Inner product checksum mr2 = 3837FCDE -Inner product checksum mr3 = 35411158 -Inner product checksum mr4 = 369FE708 -Inner product checksum mr5 = 2EAC5C04 -Inner product checksum mr6 = 353FD98D +Inner product checksum rho = 46D8712A +Inner product checksum theta = 518CD8CC +Inner product checksum u = 6A8B9CDE +Inner product checksum mr1 = 3FCCF844 +Inner product checksum mr2 = 382E6112 +Inner product checksum mr3 = 354344D2 +Inner product checksum mr4 = 36992AEA +Inner product checksum mr5 = 2E796316 +Inner product checksum mr6 = 352F9655 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_coma9-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_coma9-C12_azspice_gnu_fast-debug-32bit.txt index 49ce1075f2..f36ffcf80c 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_coma9-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_coma9-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D868F4 -Inner product checksum theta = 518CDD4D -Inner product checksum u = 6A871B9A -Inner product checksum mr1 = 3FD03689 -Inner product checksum mr2 = 37F037E4 -Inner product checksum mr3 = 379AA00B -Inner product checksum mr4 = 37A424D9 -Inner product checksum mr5 = 36A77130 +Inner product checksum rho = 46D868C1 +Inner product checksum theta = 518CDBEF +Inner product checksum u = 6A87CC56 +Inner product checksum mr1 = 3FD06101 +Inner product checksum mr2 = 37F13B9B +Inner product checksum mr3 = 37A12A87 +Inner product checksum mr4 = 37AFC8B5 +Inner product checksum mr5 = 36B109B4 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_comorph_dev-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_comorph_dev-C12_azspice_gnu_fast-debug-32bit.txt index 69521dedf0..cd2ff6f9d7 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_comorph_dev-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_comorph_dev-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D858B1 -Inner product checksum theta = 518CE449 -Inner product checksum u = 6A86DFFC -Inner product checksum mr1 = 3FD1B4B2 -Inner product checksum mr2 = 37ED7B41 -Inner product checksum mr3 = 377827F3 -Inner product checksum mr4 = 37BAAA06 -Inner product checksum mr5 = 36A37633 +Inner product checksum rho = 46D8587D +Inner product checksum theta = 518CE268 +Inner product checksum u = 6A872DA7 +Inner product checksum mr1 = 3FD1BCA0 +Inner product checksum mr2 = 37DDEAF2 +Inner product checksum mr3 = 3793EEF3 +Inner product checksum mr4 = 37D21438 +Inner product checksum mr5 = 36D141BE Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt index 1edfec4885..815744e8d3 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D85B40 -Inner product checksum theta = 518CDD3B -Inner product checksum u = 6A887414 -Inner product checksum mr1 = 3FD09281 -Inner product checksum mr2 = 37B99628 -Inner product checksum mr3 = 3584EEC7 -Inner product checksum mr4 = 36E7D8E4 +Inner product checksum rho = 46D85976 +Inner product checksum theta = 518CDC13 +Inner product checksum u = 6A88F729 +Inner product checksum mr1 = 3FD04063 +Inner product checksum mr2 = 37C66EF0 +Inner product checksum mr3 = 35A04849 +Inner product checksum mr4 = 3705A1E8 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt index 28c5707576..cc3961e9d1 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 40DB0B7BF821E6F6 -Inner product checksum theta = 42319BC9DE8920CB -Inner product checksum u = 455112ADD5C47FA8 -Inner product checksum mr1 = 3FFA0825B436BB4B -Inner product checksum mr2 = 3EF8F041E2149B8A -Inner product checksum mr3 = 3EB2334BDC14D580 -Inner product checksum mr4 = 3EDE7F5A7D8378F0 +Inner product checksum rho = 40DB0B88803CC396 +Inner product checksum theta = 42319B50E3EE43B4 +Inner product checksum u = 4551131F8A98D925 +Inner product checksum mr1 = 3FFA15368B8DB057 +Inner product checksum mr2 = 3EF92EC80D3DDD5E +Inner product checksum mr3 = 3EB289383B3360C3 +Inner product checksum mr4 = 3EE03B285B4A6ED5 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C48_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C48_MG_azspice_gnu_fast-debug-32bit.txt index dee6d7e916..84b9b55f0f 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C48_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C48_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D8018C -Inner product checksum theta = 5392FB13 -Inner product checksum u = 6A97BE9F -Inner product checksum mr1 = 41CCFFD6 -Inner product checksum mr2 = 39CE183C -Inner product checksum mr3 = 37AA2A89 -Inner product checksum mr4 = 395B8F94 +Inner product checksum rho = 48D80193 +Inner product checksum theta = 5392FAF0 +Inner product checksum u = 6A97C028 +Inner product checksum mr1 = 41CD0198 +Inner product checksum mr2 = 39D14CDA +Inner product checksum mr3 = 37A98BD8 +Inner product checksum mr4 = 39593F92 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-pert-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-pert-C12_azspice_gnu_fast-debug-32bit.txt index 74dbe45ef9..16656bf06f 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-pert-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-pert-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D83093 -Inner product checksum theta = 51946D1C -Inner product checksum u = 6B12D0D9 -Inner product checksum mr1 = 3FC8D0AC -Inner product checksum mr2 = 379C5134 -Inner product checksum mr3 = 3590547D -Inner product checksum mr4 = 378F98CC +Inner product checksum rho = 46D8307E +Inner product checksum theta = 51946D1B +Inner product checksum u = 6B12CFCF +Inner product checksum mr1 = 3FC8D0EF +Inner product checksum mr2 = 379F0D18 +Inner product checksum mr3 = 3592716E +Inner product checksum mr4 = 378F8A38 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_azspice_gnu_fast-debug-32bit.txt index 78cd9367d5..7b41f59214 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D80202 -Inner product checksum theta = 5392FB27 -Inner product checksum u = 6A97BD7E -Inner product checksum mr1 = 41CD0563 -Inner product checksum mr2 = 39CEF093 -Inner product checksum mr3 = 37A8FE76 -Inner product checksum mr4 = 395E85FC +Inner product checksum rho = 48D8021C +Inner product checksum theta = 5392FB43 +Inner product checksum u = 6A97BB36 +Inner product checksum mr1 = 41CD04ED +Inner product checksum mr2 = 39CF41DA +Inner product checksum mr3 = 37AD8684 +Inner product checksum mr4 = 395BCF4A Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_da-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_da-C12_azspice_gnu_fast-debug-32bit.txt index cbbf0e27dd..c0234e917b 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_da-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_da-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D82088 -Inner product checksum theta = 518A7526 -Inner product checksum u = 6A8DA149 -Inner product checksum mr1 = 3FD3CCFA -Inner product checksum mr2 = 37CA11A6 -Inner product checksum mr3 = 35AC24B6 -Inner product checksum mr4 = 36DD326D +Inner product checksum rho = 46D82271 +Inner product checksum theta = 518A76FA +Inner product checksum u = 6A8D516E +Inner product checksum mr1 = 3FD3FAE0 +Inner product checksum mr2 = 37CD9BA0 +Inner product checksum mr3 = 35A2C33A +Inner product checksum mr4 = 36F4D812 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt index 9a0596bbf4..590117d687 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D824AF -Inner product checksum theta = 51952836 -Inner product checksum u = 6AD01B78 -Inner product checksum mr1 = 3FC89112 -Inner product checksum mr2 = 37B07EAC -Inner product checksum mr3 = 35202152 -Inner product checksum mr4 = 36A0C43E +Inner product checksum rho = 46D824B4 +Inner product checksum theta = 51952838 +Inner product checksum u = 6AD01BBB +Inner product checksum mr1 = 3FC8919C +Inner product checksum mr2 = 37AF5B94 +Inner product checksum mr3 = 351ECC99 +Inner product checksum mr4 = 36A0F544 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C48_MG_azspice_gnu_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C48_MG_azspice_gnu_full-debug-32bit.txt index 48df79180d..dd944fd004 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C48_MG_azspice_gnu_full-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C48_MG_azspice_gnu_full-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D81C6C +Inner product checksum rho = 48D81C6F Inner product checksum theta = 53952784 -Inner product checksum u = 6AA47E12 -Inner product checksum mr1 = 41C845F8 -Inner product checksum mr2 = 3999927E -Inner product checksum mr3 = 3779DAC2 -Inner product checksum mr4 = 392E263E +Inner product checksum u = 6AA47E24 +Inner product checksum mr1 = 41C84620 +Inner product checksum mr2 = 39998DA1 +Inner product checksum mr3 = 3779C0E6 +Inner product checksum mr4 = 392E5CB8 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda-C12_azspice_gnu_fast-debug-32bit.txt index ceb411dbae..5723b483f0 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D82484 -Inner product checksum theta = 518A5967 -Inner product checksum u = 6A910A4E -Inner product checksum mr1 = 3FD0AF5C -Inner product checksum mr2 = 37F05781 -Inner product checksum mr3 = 3594AAC6 -Inner product checksum mr4 = 36DC48BA +Inner product checksum rho = 46D82442 +Inner product checksum theta = 518A59BD +Inner product checksum u = 6A8FE9DD +Inner product checksum mr1 = 3FD10322 +Inner product checksum mr2 = 37F62D0E +Inner product checksum mr3 = 359A1291 +Inner product checksum mr4 = 36E14339 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda_jada-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda_jada-C12_azspice_gnu_fast-debug-32bit.txt index 52ec8a2c7d..15f6ac2b8c 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda_jada-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda_jada-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D8212F -Inner product checksum theta = 518A731A -Inner product checksum u = 6A8CF5FA -Inner product checksum mr1 = 3FD3A181 -Inner product checksum mr2 = 37DF77FC -Inner product checksum mr3 = 35A013C2 -Inner product checksum mr4 = 36B312FE +Inner product checksum rho = 46D82254 +Inner product checksum theta = 518A7482 +Inner product checksum u = 6A8D94FC +Inner product checksum mr1 = 3FD37AC0 +Inner product checksum mr2 = 37C336B2 +Inner product checksum mr3 = 35A59778 +Inner product checksum mr4 = 36DDAD60 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_mol-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_mol-C12_azspice_gnu_fast-debug-32bit.txt index 21a46c6448..c6a9fb8406 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_mol-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_mol-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D85E30 -Inner product checksum theta = 5193AF41 -Inner product checksum u = 6A86156B -Inner product checksum mr1 = 3FD04C1E -Inner product checksum mr2 = 37B337F6 -Inner product checksum mr3 = 3545CE28 -Inner product checksum mr4 = 36ECD0E0 +Inner product checksum rho = 46D85F56 +Inner product checksum theta = 5193AF76 +Inner product checksum u = 6A8522F2 +Inner product checksum mr1 = 3FD04AA8 +Inner product checksum mr2 = 37AEA422 +Inner product checksum mr3 = 3582886F +Inner product checksum mr4 = 36BF0E9C Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-C48_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-C48_MG_azspice_gnu_fast-debug-32bit.txt index 223e55a9fb..d15a3a4d0d 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-C48_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-C48_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D818B2 -Inner product checksum theta = 53948CAD -Inner product checksum u = 6AA1D21A -Inner product checksum mr1 = 41C960BC -Inner product checksum mr2 = 39A9CFF3 -Inner product checksum mr3 = 37844180 -Inner product checksum mr4 = 3923F952 +Inner product checksum rho = 48D818AB +Inner product checksum theta = 53948CA8 +Inner product checksum u = 6AA1D2E0 +Inner product checksum mr1 = 41C9608B +Inner product checksum mr2 = 39A927A8 +Inner product checksum mr3 = 3782D0E7 +Inner product checksum mr4 = 3924B0D3 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-coarse-C48_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-coarse-C48_MG_azspice_gnu_fast-debug-32bit.txt index 223e55a9fb..d15a3a4d0d 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-coarse-C48_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-coarse-C48_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D818B2 -Inner product checksum theta = 53948CAD -Inner product checksum u = 6AA1D21A -Inner product checksum mr1 = 41C960BC -Inner product checksum mr2 = 39A9CFF3 -Inner product checksum mr3 = 37844180 -Inner product checksum mr4 = 3923F952 +Inner product checksum rho = 48D818AB +Inner product checksum theta = 53948CA8 +Inner product checksum u = 6AA1D2E0 +Inner product checksum mr1 = 41C9608B +Inner product checksum mr2 = 39A927A8 +Inner product checksum mr3 = 3782D0E7 +Inner product checksum mr4 = 3924B0D3 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt index 99bebb35d1..d16f1a0ac6 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D82C3B +Inner product checksum rho = 46D82C3A Inner product checksum theta = 5194F750 -Inner product checksum u = 6AE733CA -Inner product checksum mr1 = 3FC8CCD0 -Inner product checksum mr2 = 37A62CA6 -Inner product checksum mr3 = 35563F53 -Inner product checksum mr4 = 371D117F +Inner product checksum u = 6AE7344D +Inner product checksum mr1 = 3FC8CBD9 +Inner product checksum mr2 = 37A8010D +Inner product checksum mr3 = 35570FBA +Inner product checksum mr4 = 371D520C Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt index 60fdd1bb0a..1dc5e8a736 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48399774 -Inner product checksum theta = 5135493E -Inner product checksum u = 612F454A -Inner product checksum mr1 = 4090F564 -Inner product checksum mr2 = 35AC3C55 -Inner product checksum mr3 = 2FA5F7C0 -Inner product checksum mr4 = 33F4FD5A -Inner product checksum mr5 = BEDD43D +Inner product checksum rho = 4839976E +Inner product checksum theta = 5135493F +Inner product checksum u = 612F4541 +Inner product checksum mr1 = 4090F5F2 +Inner product checksum mr2 = 35B52C74 +Inner product checksum mr3 = 2FA623EF +Inner product checksum mr4 = 33F4FD85 +Inner product checksum mr5 = BEDF71A Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt index d70fddbee3..c4f1497074 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48399985 +Inner product checksum rho = 4839997D Inner product checksum theta = 51354898 -Inner product checksum u = 612F4B6A -Inner product checksum mr1 = 40916361 -Inner product checksum mr2 = 3684D2A0 -Inner product checksum mr3 = 2FAD3D2F -Inner product checksum mr4 = 33F4FE0F -Inner product checksum mr5 = BF85CFF +Inner product checksum u = 612F4B59 +Inner product checksum mr1 = 4091647E +Inner product checksum mr2 = 3682023B +Inner product checksum mr3 = 2FAD6342 +Inner product checksum mr4 = 33F4FE54 +Inner product checksum mr5 = BF85E1C Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt index 080a10a1b2..860a73933c 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48398C72 -Inner product checksum theta = 513542FA -Inner product checksum u = 612EE1C7 -Inner product checksum mr1 = 40910314 -Inner product checksum mr2 = 358600ED -Inner product checksum mr3 = 3000FB73 -Inner product checksum mr4 = 3404ABEC +Inner product checksum rho = 48398C6A +Inner product checksum theta = 513542FB +Inner product checksum u = 612EE1D0 +Inner product checksum mr1 = 4091032B +Inner product checksum mr2 = 35976922 +Inner product checksum mr3 = 30013023 +Inner product checksum mr4 = 3404ABAD Inner product checksum mr5 = C1462BB Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt index fc6c27dff6..3790b31237 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 4830B0D5 -Inner product checksum theta = 513FD9B7 -Inner product checksum u = 5F75AC21 -Inner product checksum mr1 = 4155EA69 -Inner product checksum mr2 = 3B0A93A7 -Inner product checksum mr3 = 322E87FD +Inner product checksum rho = 4830B0BE +Inner product checksum theta = 513FD9C4 +Inner product checksum u = 5F75CB18 +Inner product checksum mr1 = 4155EF85 +Inner product checksum mr2 = 3B10733B +Inner product checksum mr3 = 32402F96 Inner product checksum mr4 = 0 -Inner product checksum mr5 = 129DB13B +Inner product checksum mr5 = 10B42BDE Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_thai_ben1-C48_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_thai_ben1-C48_MG_azspice_gnu_fast-debug-32bit.txt index e13a3a0a69..24d3dfae53 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_thai_ben1-C48_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_thai_ben1-C48_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 486B498C -Inner product checksum theta = 51CABEE9 -Inner product checksum u = 63C8EFF2 +Inner product checksum rho = 486B498D +Inner product checksum theta = 51CABEEB +Inner product checksum u = 63C8F0B6 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_aquaplanet-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_aquaplanet-C12_ex1a_cce_fast-debug-32bit.txt index 941784e7a3..dda3fff565 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_aquaplanet-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_aquaplanet-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ Inner product checksum rho = 468AD872 -Inner product checksum theta = 4FD6888D -Inner product checksum u = 6A4E36BF -Inner product checksum mr1 = 3F081516 -Inner product checksum mr2 = 368518F6 -Inner product checksum mr3 = 34231A59 -Inner product checksum mr4 = 3694DF48 +Inner product checksum theta = 4FD68891 +Inner product checksum u = 6A4E49D6 +Inner product checksum mr1 = 3F0804D6 +Inner product checksum mr2 = 3684E4D7 +Inner product checksum mr3 = 3431F1E7 +Inner product checksum mr4 = 369B8C93 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_camembert_case3_gj1214b-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_camembert_case3_gj1214b-C12_ex1a_cce_fast-debug-32bit.txt index 0cc7383b82..f7d11c827e 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_camembert_case3_gj1214b-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_camembert_case3_gj1214b-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,3 +1,3 @@ Inner product checksum rho = 44D95799 -Inner product checksum theta = 5504FC48 +Inner product checksum theta = 5504FC4A Inner product checksum u = 74276F0C diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt index 1815adb106..66347643a7 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D553CA -Inner product checksum theta = 518ECEB5 -Inner product checksum u = 6AFAE9D8 -Inner product checksum mr1 = 3FE14B20 -Inner product checksum mr2 = 370F9D84 -Inner product checksum mr3 = 3523C677 -Inner product checksum mr4 = 3696A781 +Inner product checksum rho = 46D55BE4 +Inner product checksum theta = 518ED400 +Inner product checksum u = 6AFADD53 +Inner product checksum mr1 = 3FE15C11 +Inner product checksum mr2 = 372366A2 +Inner product checksum mr3 = 351F3121 +Inner product checksum mr4 = 36A768A1 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt index aa9c625d7c..931165ddaa 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D66E11 -Inner product checksum theta = 5193C464 -Inner product checksum u = 6B198006 -Inner product checksum mr1 = 3FCF858E -Inner product checksum mr2 = 373E2E9C -Inner product checksum mr3 = 3541A34C -Inner product checksum mr4 = 369B731D +Inner product checksum rho = 46D66E35 +Inner product checksum theta = 5193C3A4 +Inner product checksum u = 6B1999A7 +Inner product checksum mr1 = 3FCF70FD +Inner product checksum mr2 = 372AB1AA +Inner product checksum mr3 = 354F5874 +Inner product checksum mr4 = 36A0D420 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt index 6bc6e52e57..359ee7252b 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D660E1 -Inner product checksum theta = 539A0A3B -Inner product checksum u = 6B127765 -Inner product checksum mr1 = 41CC3BE8 -Inner product checksum mr2 = 396B3CEF -Inner product checksum mr3 = 37C4C8DA -Inner product checksum mr4 = 394747CD +Inner product checksum rho = 48D660F4 +Inner product checksum theta = 539A0A3F +Inner product checksum u = 6B12771E +Inner product checksum mr1 = 41CC3D3E +Inner product checksum mr2 = 396AB454 +Inner product checksum mr3 = 37CE9667 +Inner product checksum mr4 = 3946EA25 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt index e0ac3a7f47..2194d3834d 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D66D86 -Inner product checksum theta = 5193C44E -Inner product checksum u = 6B1966B5 -Inner product checksum mr1 = 3FCF8519 -Inner product checksum mr2 = 371FDDA6 -Inner product checksum mr3 = 35361069 -Inner product checksum mr4 = 368EFCD2 +Inner product checksum rho = 46D66DDA +Inner product checksum theta = 5193C3C4 +Inner product checksum u = 6B19A3DB +Inner product checksum mr1 = 3FCF67AC +Inner product checksum mr2 = 3724841D +Inner product checksum mr3 = 354329C0 +Inner product checksum mr4 = 369A8040 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt index a7b72cb03a..6f771d7ad6 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D660F4 -Inner product checksum theta = 539A0A42 -Inner product checksum u = 6B12765E -Inner product checksum mr1 = 41CC3E3B -Inner product checksum mr2 = 396BFB5A -Inner product checksum mr3 = 37C92E26 -Inner product checksum mr4 = 394763A2 +Inner product checksum rho = 48D66102 +Inner product checksum theta = 539A0A3E +Inner product checksum u = 6B1277C4 +Inner product checksum mr1 = 41CC3C39 +Inner product checksum mr2 = 3969D9C4 +Inner product checksum mr3 = 37C0986C +Inner product checksum mr4 = 39464F7B Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt index 9309f7da94..12ca70494a 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D660F6 -Inner product checksum theta = 539A0A3C -Inner product checksum u = 6B12774C -Inner product checksum mr1 = 41CC3A36 -Inner product checksum mr2 = 3966A9D6 -Inner product checksum mr3 = 37C15DC4 -Inner product checksum mr4 = 3946083E +Inner product checksum rho = 48D660EC +Inner product checksum theta = 539A0A3F +Inner product checksum u = 6B1277AE +Inner product checksum mr1 = 41CC3B22 +Inner product checksum mr2 = 396AA66C +Inner product checksum mr3 = 37C34D02 +Inner product checksum mr4 = 39474FD8 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem-C12_ex1a_cce_fast-debug-32bit.txt index 578ea2b9fd..6b237c1477 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D55581 -Inner product checksum theta = 518ED2B5 -Inner product checksum u = 6AFB3227 -Inner product checksum mr1 = 3FE17762 -Inner product checksum mr2 = 3720F9CA -Inner product checksum mr3 = 35365C5C -Inner product checksum mr4 = 3690D5BE +Inner product checksum rho = 46D555EC +Inner product checksum theta = 518ED338 +Inner product checksum u = 6AFA3939 +Inner product checksum mr1 = 3FE1B97E +Inner product checksum mr2 = 371BE67E +Inner product checksum mr3 = 3519EF7A +Inner product checksum mr4 = 3698EB76 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt index 20dff69335..c5faf15f8b 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D66D70 -Inner product checksum theta = 5193C3A6 -Inner product checksum u = 6B19E468 -Inner product checksum mr1 = 3FCF95B4 -Inner product checksum mr2 = 3739CE4A -Inner product checksum mr3 = 354B9996 -Inner product checksum mr4 = 369EF6F8 +Inner product checksum rho = 46D66D62 +Inner product checksum theta = 5193C3F4 +Inner product checksum u = 6B1A029E +Inner product checksum mr1 = 3FCF85E6 +Inner product checksum mr2 = 3733FC1B +Inner product checksum mr3 = 354B8154 +Inner product checksum mr4 = 369D878E Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt index ea9d93b3d5..0b717ad431 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D66E4F -Inner product checksum theta = 5193C380 -Inner product checksum u = 6B1A173A -Inner product checksum mr1 = 3FCF734B -Inner product checksum mr2 = 372C9D8C -Inner product checksum mr3 = 353F4872 -Inner product checksum mr4 = 36A0B05A +Inner product checksum rho = 46D66D87 +Inner product checksum theta = 5193C3F6 +Inner product checksum u = 6B19DE2F +Inner product checksum mr1 = 3FCF98CC +Inner product checksum mr2 = 37329657 +Inner product checksum mr3 = 3540DD7C +Inner product checksum mr4 = 368F7D88 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt index c304b6b97b..ec0d761a33 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D685A1 +Inner product checksum rho = 46D68592 Inner product checksum theta = 519A8C20 -Inner product checksum u = 6B2FD256 -Inner product checksum mr1 = 3FCB8241 -Inner product checksum mr2 = 374BE688 -Inner product checksum mr3 = 35D85CAE -Inner product checksum mr4 = 379FE0E5 +Inner product checksum u = 6B2FD52F +Inner product checksum mr1 = 3FCB806F +Inner product checksum mr2 = 3748E0F3 +Inner product checksum mr3 = 35D8C50B +Inner product checksum mr4 = 37A00972 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_comp_tran_ref_3d_l120-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_comp_tran_ref_3d_l120-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt index 8ed3079800..19f5c497be 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_comp_tran_ref_3d_l120-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_comp_tran_ref_3d_l120-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 489A8583 -Inner product checksum theta = 51BA4F75 -Inner product checksum u = 5F119331 -Inner product checksum mr1 = 4187D366 -Inner product checksum mr2 = 3B04531F -Inner product checksum mr3 = 3502CD19 +Inner product checksum rho = 489A8535 +Inner product checksum theta = 51BA4F6E +Inner product checksum u = 5F11806C +Inner product checksum mr1 = 4187F10B +Inner product checksum mr2 = 3B057E7D +Inner product checksum mr3 = 34EB6824 Inner product checksum mr4 = 0 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_hd209458b-C24_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_hd209458b-C24_ex1a_cce_fast-debug-32bit.txt index e519db0ddf..3bedb6a33e 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_hd209458b-C24_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_hd209458b-C24_ex1a_cce_fast-debug-32bit.txt @@ -1,3 +1,3 @@ Inner product checksum rho = 4798D97E -Inner product checksum theta = 5840677A -Inner product checksum u = 79B9E883 +Inner product checksum theta = 5840677B +Inner product checksum u = 79B9E9D1 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_casim-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_casim-C12_ex1a_cce_fast-debug-32bit.txt index be1a31281d..06436131f7 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_casim-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_casim-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D8710C -Inner product checksum theta = 518CD914 -Inner product checksum u = 6A8AFB8B -Inner product checksum mr1 = 3FCD851A -Inner product checksum mr2 = 3827840A -Inner product checksum mr3 = 356DE64E -Inner product checksum mr4 = 3697321A -Inner product checksum mr5 = 2E218564 -Inner product checksum mr6 = 35597E65 +Inner product checksum rho = 46D87272 +Inner product checksum theta = 518CDB75 +Inner product checksum u = 6A8AAF33 +Inner product checksum mr1 = 3FCD5E39 +Inner product checksum mr2 = 38282A3A +Inner product checksum mr3 = 3556DEAD +Inner product checksum mr4 = 369FEF9B +Inner product checksum mr5 = 2D167EAA +Inner product checksum mr6 = 3556546F diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_coma9-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_coma9-C12_ex1a_cce_fast-debug-32bit.txt index c4a03fd2a8..db052cf5af 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_coma9-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_coma9-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D8692A -Inner product checksum theta = 518CDF94 -Inner product checksum u = 6A87F56D -Inner product checksum mr1 = 3FD0988D -Inner product checksum mr2 = 37E807AE -Inner product checksum mr3 = 37940152 -Inner product checksum mr4 = 379E9EA4 -Inner product checksum mr5 = 36AD8928 +Inner product checksum rho = 46D86736 +Inner product checksum theta = 518CDC3C +Inner product checksum u = 6A875D93 +Inner product checksum mr1 = 3FD05382 +Inner product checksum mr2 = 37F10482 +Inner product checksum mr3 = 37A876A5 +Inner product checksum mr4 = 379EC392 +Inner product checksum mr5 = 36BC8CAA Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_dev-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_dev-C12_ex1a_cce_fast-debug-32bit.txt index b829f48f9d..0dcb218946 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_dev-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_dev-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D85982 -Inner product checksum theta = 518CE388 -Inner product checksum u = 6A86EBB7 -Inner product checksum mr1 = 3FD1F86B -Inner product checksum mr2 = 37E77034 -Inner product checksum mr3 = 37817C8E -Inner product checksum mr4 = 37C0B965 -Inner product checksum mr5 = 36A437DA +Inner product checksum rho = 46D85953 +Inner product checksum theta = 518CE25D +Inner product checksum u = 6A86FB0C +Inner product checksum mr1 = 3FD1DB74 +Inner product checksum mr2 = 37FB8657 +Inner product checksum mr3 = 378A6134 +Inner product checksum mr4 = 37BD78C2 +Inner product checksum mr5 = 36B4D5EE Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_tb-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_tb-C12_ex1a_cce_fast-debug-32bit.txt index 26eff6ad86..cfda15ea54 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_tb-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_tb-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D87623 -Inner product checksum theta = 518CE954 -Inner product checksum u = 6A84C677 -Inner product checksum mr1 = 3FCEBC3D -Inner product checksum mr2 = 37ECEE7D -Inner product checksum mr3 = 37943DBB -Inner product checksum mr4 = 3761CF82 -Inner product checksum mr5 = 35FC2E2C +Inner product checksum rho = 46D8751D +Inner product checksum theta = 518CE870 +Inner product checksum u = 6A857C78 +Inner product checksum mr1 = 3FCEA36E +Inner product checksum mr2 = 37E69B74 +Inner product checksum mr3 = 3776EF45 +Inner product checksum mr4 = 37625EB0 +Inner product checksum mr5 = 360586A5 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt index 99cb6e9cfd..a0fc30fb72 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D85C5F -Inner product checksum theta = 518CDBDC -Inner product checksum u = 6A888B76 -Inner product checksum mr1 = 3FD08F0A -Inner product checksum mr2 = 37C3A28B -Inner product checksum mr3 = 358A0008 -Inner product checksum mr4 = 37034B0F +Inner product checksum rho = 46D859AE +Inner product checksum theta = 518CDB40 +Inner product checksum u = 6A888FCA +Inner product checksum mr1 = 3FD09B14 +Inner product checksum mr2 = 37C0504E +Inner product checksum mr3 = 35B474D2 +Inner product checksum mr4 = 3709D77A Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt index fe0b07d47d..4998b3e9f2 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 40DB0B6B20E5C6E6 -Inner product checksum theta = 42319B6FA216915F -Inner product checksum u = 45512B02DB0B791A -Inner product checksum mr1 = 3FFA128EBA815383 -Inner product checksum mr2 = 3EF832568341E28E -Inner product checksum mr3 = 3EB297E4E4BB34AC -Inner product checksum mr4 = 3EE1D60B2F4EB2A3 +Inner product checksum rho = 40DB0B42E8F252B1 +Inner product checksum theta = 42319B832BA5B31B +Inner product checksum u = 45511EBD4844C9BA +Inner product checksum mr1 = 3FFA119D37D3CEE4 +Inner product checksum mr2 = 3EFA0EF01DF598A1 +Inner product checksum mr3 = 3EB17DA7EEB87F1F +Inner product checksum mr4 = 3EE4B6A9FEC42664 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt index ba79d7fde3..58b791b9b7 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D802A2 -Inner product checksum theta = 5392FAEE -Inner product checksum u = 6A97BE98 -Inner product checksum mr1 = 41CD11B6 -Inner product checksum mr2 = 39D29CF4 -Inner product checksum mr3 = 37ABEABC -Inner product checksum mr4 = 395797DC +Inner product checksum rho = 48D8028A +Inner product checksum theta = 5392FAEB +Inner product checksum u = 6A97C584 +Inner product checksum mr1 = 41CD0C24 +Inner product checksum mr2 = 39D0F649 +Inner product checksum mr3 = 37A6CB0A +Inner product checksum mr4 = 395554A8 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-pert-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-pert-C12_ex1a_cce_fast-debug-32bit.txt index 59f98ffff9..e1df49dc77 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-pert-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-pert-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D830AF -Inner product checksum theta = 51946D1A -Inner product checksum u = 6B12D2F4 -Inner product checksum mr1 = 3FC8D569 -Inner product checksum mr2 = 379F7E86 -Inner product checksum mr3 = 358B6A7C -Inner product checksum mr4 = 3792104C +Inner product checksum rho = 46D830A4 +Inner product checksum theta = 51946D13 +Inner product checksum u = 6B12D64E +Inner product checksum mr1 = 3FC8D038 +Inner product checksum mr2 = 37A1CDE6 +Inner product checksum mr3 = 358B8F92 +Inner product checksum mr4 = 378F2D8E Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt index e485be1736..d00ad88546 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D813F2 -Inner product checksum theta = 518FB71F -Inner product checksum u = 6AF7C2FE -Inner product checksum mr1 = 3FCC0E8A -Inner product checksum mr2 = 37AE6078 -Inner product checksum mr3 = 34A914FC -Inner product checksum mr4 = 36D07B9B +Inner product checksum rho = 46D8143A +Inner product checksum theta = 518FB733 +Inner product checksum u = 6AF79948 +Inner product checksum mr1 = 3FCC11F3 +Inner product checksum mr2 = 37B5299E +Inner product checksum mr3 = 349B0FED +Inner product checksum mr4 = 36D3A1A1 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt index ba79d7fde3..58b791b9b7 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D802A2 -Inner product checksum theta = 5392FAEE -Inner product checksum u = 6A97BE98 -Inner product checksum mr1 = 41CD11B6 -Inner product checksum mr2 = 39D29CF4 -Inner product checksum mr3 = 37ABEABC -Inner product checksum mr4 = 395797DC +Inner product checksum rho = 48D8028A +Inner product checksum theta = 5392FAEB +Inner product checksum u = 6A97C584 +Inner product checksum mr1 = 41CD0C24 +Inner product checksum mr2 = 39D0F649 +Inner product checksum mr3 = 37A6CB0A +Inner product checksum mr4 = 395554A8 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt index ebad551374..e6b192b586 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D81424 -Inner product checksum theta = 518FB734 -Inner product checksum u = 6AF79FAB -Inner product checksum mr1 = 3FCC17AC -Inner product checksum mr2 = 37AE9140 -Inner product checksum mr3 = 349255F8 -Inner product checksum mr4 = 36CFEC88 +Inner product checksum rho = 46D8140A +Inner product checksum theta = 518FB758 +Inner product checksum u = 6AF7A518 +Inner product checksum mr1 = 3FCBFE6A +Inner product checksum mr2 = 37AC24FA +Inner product checksum mr3 = 34B1C117 +Inner product checksum mr4 = 36CF3D60 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt index 9d3752b0a7..200e893c13 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D8027C -Inner product checksum theta = 5392FAE8 -Inner product checksum u = 6A97C83E -Inner product checksum mr1 = 41CD0E2D -Inner product checksum mr2 = 39CF4B62 -Inner product checksum mr3 = 37AED380 -Inner product checksum mr4 = 395C2AA8 +Inner product checksum rho = 48D802C6 +Inner product checksum theta = 5392FAFB +Inner product checksum u = 6A97C43E +Inner product checksum mr1 = 41CD0D24 +Inner product checksum mr2 = 39CC9DDC +Inner product checksum mr3 = 37ABB78F +Inner product checksum mr4 = 395C0174 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_full-debug-32bit.txt index 7f1e51d433..412667ca26 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_full-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_full-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D801A6 -Inner product checksum theta = 5392FB09 -Inner product checksum u = 6A97BA3E -Inner product checksum mr1 = 41CD0CA7 -Inner product checksum mr2 = 39CB19BA -Inner product checksum mr3 = 37A9F1CA -Inner product checksum mr4 = 395853D0 +Inner product checksum rho = 48D8017E +Inner product checksum theta = 5392FB14 +Inner product checksum u = 6A97BAD1 +Inner product checksum mr1 = 41CD0710 +Inner product checksum mr2 = 39CD9F9E +Inner product checksum mr3 = 37A9CC88 +Inner product checksum mr4 = 395A939A Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt index c2e697ee79..91d54db32f 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D802A2 -Inner product checksum theta = 5392FB04 -Inner product checksum u = 6A97BC6C -Inner product checksum mr1 = 41CD1036 -Inner product checksum mr2 = 39CE3BA5 -Inner product checksum mr3 = 37AC6552 -Inner product checksum mr4 = 3957937E +Inner product checksum rho = 48D802CC +Inner product checksum theta = 5392FAFB +Inner product checksum u = 6A97C822 +Inner product checksum mr1 = 41CD0F06 +Inner product checksum mr2 = 39CD29F7 +Inner product checksum mr3 = 37A9D5E6 +Inner product checksum mr4 = 395B3E2C Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_ex1a_cce_fast-debug-32bit.txt index edfe0be655..e41490fc72 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D8031D -Inner product checksum theta = 5392FB13 -Inner product checksum u = 6A97C2A5 -Inner product checksum mr1 = 41CD07A8 -Inner product checksum mr2 = 39CFD168 -Inner product checksum mr3 = 37AB6032 -Inner product checksum mr4 = 3958F610 +Inner product checksum rho = 48D8030C +Inner product checksum theta = 5392FB17 +Inner product checksum u = 6A97C4B2 +Inner product checksum mr1 = 41CD10F0 +Inner product checksum mr2 = 39D07B7C +Inner product checksum mr3 = 37A61263 +Inner product checksum mr4 = 3958C8DC Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt index 1e37c7be49..f4f74cbd10 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D80106 -Inner product checksum theta = 5392FB2E -Inner product checksum u = 6A97BF93 -Inner product checksum mr1 = 41CCE6F0 -Inner product checksum mr2 = 39D2731B -Inner product checksum mr3 = 37A94579 -Inner product checksum mr4 = 39714EC6 +Inner product checksum rho = 48D800F9 +Inner product checksum theta = 5392FB51 +Inner product checksum u = 6A97C108 +Inner product checksum mr1 = 41CCEDC2 +Inner product checksum mr2 = 39CD82A0 +Inner product checksum mr3 = 37B69FBA +Inner product checksum mr4 = 396FD06A Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt index 1a865c06cf..9ab582201e 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D8000F -Inner product checksum theta = 5392FB21 -Inner product checksum u = 6A97B84A -Inner product checksum mr1 = 41CCE7B3 -Inner product checksum mr2 = 39D0975E -Inner product checksum mr3 = 37A94691 -Inner product checksum mr4 = 396E515C +Inner product checksum rho = 48D7FFF1 +Inner product checksum theta = 5392FB12 +Inner product checksum u = 6A97B953 +Inner product checksum mr1 = 41CCE325 +Inner product checksum mr2 = 39D021C8 +Inner product checksum mr3 = 37AD16F8 +Inner product checksum mr4 = 396A1DF2 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_da-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_da-C12_ex1a_cce_fast-debug-32bit.txt index 1420b16ba3..70ce77b08f 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_da-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_da-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D8216E -Inner product checksum theta = 518A762E -Inner product checksum u = 6A8CF11F -Inner product checksum mr1 = 3FD4046A -Inner product checksum mr2 = 37BF14E4 -Inner product checksum mr3 = 35A66CBD -Inner product checksum mr4 = 3702B356 +Inner product checksum rho = 46D823A6 +Inner product checksum theta = 518A7AD8 +Inner product checksum u = 6A8CBBA6 +Inner product checksum mr1 = 3FD3DD84 +Inner product checksum mr2 = 37BFD0E0 +Inner product checksum mr3 = 35A391A4 +Inner product checksum mr4 = 36C82F70 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt index 10557ee538..ec53c87c9a 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D824C3 -Inner product checksum theta = 5195283B -Inner product checksum u = 6AD01B5F -Inner product checksum mr1 = 3FC894B8 -Inner product checksum mr2 = 37AFCAFA -Inner product checksum mr3 = 3520B790 -Inner product checksum mr4 = 36A0BEC3 +Inner product checksum rho = 46D824BC +Inner product checksum theta = 5195283A +Inner product checksum u = 6AD01C94 +Inner product checksum mr1 = 3FC8923C +Inner product checksum mr2 = 37AF4708 +Inner product checksum mr3 = 35209A2C +Inner product checksum mr4 = 36A0BF07 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C48_MG_ex1a_cce_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C48_MG_ex1a_cce_full-debug-32bit.txt index c2ca2273d3..fee232601c 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C48_MG_ex1a_cce_full-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C48_MG_ex1a_cce_full-debug-32bit.txt @@ -1,9 +1,9 @@ Inner product checksum rho = 48D81C6A -Inner product checksum theta = 53952785 -Inner product checksum u = 6AA47DEC -Inner product checksum mr1 = 41C845DD -Inner product checksum mr2 = 3999D1AC -Inner product checksum mr3 = 377ACE28 -Inner product checksum mr4 = 392E3B81 +Inner product checksum theta = 53952784 +Inner product checksum u = 6AA47E10 +Inner product checksum mr1 = 41C8458B +Inner product checksum mr2 = 3999320F +Inner product checksum mr3 = 377ABC9C +Inner product checksum mr4 = 392E2590 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt index 78bb876a0a..a519c9c842 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D82302 -Inner product checksum theta = 518A5565 -Inner product checksum u = 6A906F5F -Inner product checksum mr1 = 3FD0FD62 -Inner product checksum mr2 = 37E31AEA -Inner product checksum mr3 = 35A29AA7 -Inner product checksum mr4 = 36FC0A34 +Inner product checksum rho = 46D8253D +Inner product checksum theta = 518A58A9 +Inner product checksum u = 6A8FD172 +Inner product checksum mr1 = 3FD10F8E +Inner product checksum mr2 = 37DEE0C2 +Inner product checksum mr3 = 35AD9228 +Inner product checksum mr4 = 36DCB491 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda_jada-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda_jada-C12_ex1a_cce_fast-debug-32bit.txt index d5cb4ee56c..82644ed9d1 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda_jada-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda_jada-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D82272 -Inner product checksum theta = 518A76EA -Inner product checksum u = 6A8CA7C6 -Inner product checksum mr1 = 3FD3D711 -Inner product checksum mr2 = 37B76C73 -Inner product checksum mr3 = 35A34C22 -Inner product checksum mr4 = 36DDD026 +Inner product checksum rho = 46D82264 +Inner product checksum theta = 518A76F0 +Inner product checksum u = 6A8C6BAE +Inner product checksum mr1 = 3FD3AB41 +Inner product checksum mr2 = 37C8C1CC +Inner product checksum mr3 = 35C9E3CA +Inner product checksum mr4 = 36D33680 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt index 8eff44da85..0c85699ce8 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D85F86 -Inner product checksum theta = 5193AFF4 -Inner product checksum u = 6A85CBD0 -Inner product checksum mr1 = 3FD062C8 -Inner product checksum mr2 = 37A81340 -Inner product checksum mr3 = 352DDFB0 -Inner product checksum mr4 = 36CCECD8 +Inner product checksum rho = 46D85D8A +Inner product checksum theta = 5193B007 +Inner product checksum u = 6A860725 +Inner product checksum mr1 = 3FD0685A +Inner product checksum mr2 = 37A9D4D0 +Inner product checksum mr3 = 357D9B2E +Inner product checksum mr4 = 36FD7E5D Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt index b63e7d9c44..1a8c8025e2 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D82C2E -Inner product checksum theta = 5194F74C -Inner product checksum u = 6AE739DF -Inner product checksum mr1 = 3FC8CA52 -Inner product checksum mr2 = 37A43F02 -Inner product checksum mr3 = 35571D4E -Inner product checksum mr4 = 371F5600 +Inner product checksum rho = 46D82C32 +Inner product checksum theta = 5194F74E +Inner product checksum u = 6AE73BBF +Inner product checksum mr1 = 3FC8CB40 +Inner product checksum mr2 = 37A4F994 +Inner product checksum mr3 = 35589AB0 +Inner product checksum mr4 = 371FAA10 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt index 1d1d7b6f1b..9bc98bedff 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 483997B2 -Inner product checksum theta = 51354962 -Inner product checksum u = 612F4912 -Inner product checksum mr1 = 4090FC04 -Inner product checksum mr2 = 35B167C4 -Inner product checksum mr3 = 2FA645AF -Inner product checksum mr4 = 33F4FE48 -Inner product checksum mr5 = BECFC33 +Inner product checksum rho = 483997B8 +Inner product checksum theta = 51354960 +Inner product checksum u = 612F4908 +Inner product checksum mr1 = 4090FB27 +Inner product checksum mr2 = 35C384D7 +Inner product checksum mr3 = 2FA63AE1 +Inner product checksum mr4 = 33F4FE43 +Inner product checksum mr5 = BECD20C Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt index d02beb6cb8..96b545661b 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 483997E0 +Inner product checksum rho = 483997E4 Inner product checksum theta = 5135494E Inner product checksum u = 612F4984 -Inner product checksum mr1 = 409110E8 -Inner product checksum mr2 = 35E540AB -Inner product checksum mr3 = 2FA98AF3 -Inner product checksum mr4 = 33F4FF5D -Inner product checksum mr5 = BF18191 +Inner product checksum mr1 = 409110AE +Inner product checksum mr2 = 35CD0BC9 +Inner product checksum mr3 = 2FA90EEB +Inner product checksum mr4 = 33F4FF6B +Inner product checksum mr5 = BF17D80 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt index 4a1ddd9a11..83558d0fbc 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48398C6B +Inner product checksum rho = 48398C65 Inner product checksum theta = 51354302 -Inner product checksum u = 612EDCBC -Inner product checksum mr1 = 40910380 -Inner product checksum mr2 = 358489D6 -Inner product checksum mr3 = 3000F2CD -Inner product checksum mr4 = 3404AC27 -Inner product checksum mr5 = C14A272 +Inner product checksum u = 612EDCB8 +Inner product checksum mr1 = 4091035E +Inner product checksum mr2 = 358FA32F +Inner product checksum mr3 = 30011A09 +Inner product checksum mr4 = 3404AC29 +Inner product checksum mr5 = C14A275 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt index 848c845d97..d11d1aa6bc 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 4830B141 -Inner product checksum theta = 513FD93C -Inner product checksum u = 5F75B6A3 -Inner product checksum mr1 = 41561642 -Inner product checksum mr2 = 3B0861F6 -Inner product checksum mr3 = 3218ADCF +Inner product checksum rho = 4830B15C +Inner product checksum theta = 513FD929 +Inner product checksum u = 5F75B3E5 +Inner product checksum mr1 = 41562472 +Inner product checksum mr2 = 3B05CA1A +Inner product checksum mr3 = 31F1D1D3 Inner product checksum mr4 = 0 -Inner product checksum mr5 = FB01098 +Inner product checksum mr5 = D982DAF Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_thai_ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_thai_ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt index 89124bde7d..4806bc6f81 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_thai_ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_thai_ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 486B4991 +Inner product checksum rho = 486B498F Inner product checksum theta = 51CABEA1 -Inner product checksum u = 63C8D90F +Inner product checksum u = 63C8D817 diff --git a/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt index e87a088567..2de318fa34 100644 --- a/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 411B54EDFE88F36B -Inner product checksum theta = 42735B55E4723BB2 -Inner product checksum u = 456F12D1620AF46E -Inner product checksum mr1 = 403682F9FA8D2FF2 -Inner product checksum mr2 = 3F3F4DCDD3CCEC28 -Inner product checksum mr3 = 3F035046D05A7507 -Inner product checksum mr4 = 3F36F51E48AE691E +Inner product checksum rho = 411B54F183D56854 +Inner product checksum theta = 42735B56BC449AF4 +Inner product checksum u = 456F14EB6ECBB53D +Inner product checksum mr1 = 40368369522F927D +Inner product checksum mr2 = 3F3F836AA0EE5BA2 +Inner product checksum mr3 = 3F034976B0747F56 +Inner product checksum mr4 = 3F36ED5F333166A4 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt index cf7cbc9777..45d4c10e3b 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 3F2021022E9473F8 -Inner product checksum theta = 403304F06107797C -Inner product checksum u = 4330546F942A01BE +Inner product checksum rho = 3F2021022E1D4DE1 +Inner product checksum theta = 403304F060122F74 +Inner product checksum u = 4330546F91FA49BE diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301_ffsl-C24_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301_ffsl-C24_azspice_gnu_fast-debug-64bit.txt index 64697308e5..9860a7b5e1 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301_ffsl-C24_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301_ffsl-C24_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 3F206E3D410FBAA1 -Inner product checksum theta = 40336C44D1223058 -Inner product checksum u = 43315AD096E775C8 +Inner product checksum rho = 3F206E3D4C807112 +Inner product checksum theta = 40336C44E00844F6 +Inner product checksum u = 43315AD0A3195900 diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt index 43c97c4f2b..ba9a2f2062 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA537DCC473EB48 -Inner product checksum theta = 4160EF697C82ED27 -Inner product checksum u = 4568491D5968F75F -Inner product checksum mr1 = 3F35AA30FD4C4FB5 -Inner product checksum mr2 = 3EEB2DAAAD17372C -Inner product checksum mr3 = 3EDF8ABA9DA4878C -Inner product checksum mr4 = 3EED80026CE7EF00 +Inner product checksum rho = 3FA537DE1ABEA126 +Inner product checksum theta = 4160EF66FAA7B62E +Inner product checksum u = 4568491AFEE16023 +Inner product checksum mr1 = 3F35AA314C95B745 +Inner product checksum mr2 = 3EEB2DAA98569C51 +Inner product checksum mr3 = 3EDF8ABAB60F71E7 +Inner product checksum mr4 = 3EED80024A14D167 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_production-32bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_production-32bit.txt index 9d7303b994..731bf6b48f 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_production-32bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_production-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3D29E551 -Inner product checksum theta = 4B07799F -Inner product checksum u = 6B424688 -Inner product checksum mr1 = 39AD6323 -Inner product checksum mr2 = 375955A6 -Inner product checksum mr3 = 36FC52AC -Inner product checksum mr4 = 376C1B8F +Inner product checksum rho = 3D29E550 +Inner product checksum theta = 4B07799A +Inner product checksum u = 6B42467C +Inner product checksum mr1 = 39AD62C7 +Inner product checksum mr2 = 375955A4 +Inner product checksum mr3 = 36FC52AB +Inner product checksum mr4 = 376C1B8E Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_ffsl-C12_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_ffsl-C12_MG_azspice_gnu_fast-debug-64bit.txt index b8b7b70549..8396b5a0b7 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_ffsl-C12_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_ffsl-C12_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FB39A87256EFBA4 -Inner product checksum theta = 4178F73E0895947C -Inner product checksum u = 4575A243D6EF5308 -Inner product checksum mr1 = 3F971B941E744F40 -Inner product checksum mr2 = 3F73B22CD9690E0F -Inner product checksum mr3 = 3EF2330E82B700E8 -Inner product checksum mr4 = 3EF2D46607B02008 +Inner product checksum rho = 3FB39A8B4133EA3B +Inner product checksum theta = 4178F73D2A41BCA2 +Inner product checksum u = 4575A242A1F23A70 +Inner product checksum mr1 = 3F971B8D2ED8BFBB +Inner product checksum mr2 = 3F73B22D00A16129 +Inner product checksum mr3 = 3EF2330E83AF14F0 +Inner product checksum mr4 = 3EF2D4660173285F Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt index 5c661f3746..fe3eacdb50 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 40B0960E77FDB63E -Inner product checksum theta = 43076FC8D77B7828 -Inner product checksum u = 4697A25B1548C862 -Inner product checksum mr1 = 40887EB179AFBF30 -Inner product checksum mr2 = 4069AB3CD24731A6 -Inner product checksum mr3 = 4069B44AEB7106DE -Inner product checksum mr4 = 406997D0AB3EBB36 +Inner product checksum rho = 40B0960E107B8CF0 +Inner product checksum theta = 43076FC8D3910602 +Inner product checksum u = 4697A25AFBB59CB7 +Inner product checksum mr1 = 40887EB173CACC00 +Inner product checksum mr2 = 4069AB3CD28C8FEF +Inner product checksum mr3 = 4069B44AEB709C7E +Inner product checksum mr4 = 406997D0AB56E276 Inner product checksum mr5 = 406997D0C9B8EEFB Inner product checksum mr6 = 40699547929283AC diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt index ccff50b5cc..4726c0f2fa 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 3EED280BC777A4B6 -Inner product checksum theta = 4012F415A1A374C6 -Inner product checksum u = 43A4936A5FD712E3 +Inner product checksum rho = 3EED280BC77517C3 +Inner product checksum theta = 4012F415A1A27A88 +Inner product checksum u = 43A4936A5FCA26C4 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt index e822c5ea41..ede0c3dfc9 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 3F2021022E95673E -Inner product checksum theta = 403304F060F62B7A -Inner product checksum u = 4330546F9440888A +Inner product checksum rho = 3F2021022E17CF44 +Inner product checksum theta = 403304F05FF1E009 +Inner product checksum u = 4330546F9208454A diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301_ffsl-C24_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301_ffsl-C24_ex1a_gnu_fast-debug-64bit.txt index f5ab1ef336..a6dc78f0fa 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301_ffsl-C24_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301_ffsl-C24_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 3F206E54AEF5C1B3 -Inner product checksum theta = 40336C41A6DDB3BE -Inner product checksum u = 43315AD6E24E5839 +Inner product checksum rho = 3F206E54B9DDCDE5 +Inner product checksum theta = 40336C41B5C0F985 +Inner product checksum u = 43315AD6EE051124 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-32bit.txt index f7461c8022..0f571ad32f 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3D298D17 -Inner product checksum theta = 4B077B02 -Inner product checksum u = 6B424907 -Inner product checksum mr1 = 39AD50BE -Inner product checksum mr2 = 3759683D -Inner product checksum mr3 = 36FC6E24 +Inner product checksum rho = 3D298D26 +Inner product checksum theta = 4B077AFB +Inner product checksum u = 6B424901 +Inner product checksum mr1 = 39AD5127 +Inner product checksum mr2 = 3759683B +Inner product checksum mr3 = 36FC6E23 Inner product checksum mr4 = 376C19BA Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt index 7635468a7a..17e3d1e2c4 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA537D9C9AB1034 -Inner product checksum theta = 4160EF68C915C480 -Inner product checksum u = 4568491D8777F386 -Inner product checksum mr1 = 3F35AA3064936BAC -Inner product checksum mr2 = 3EEB2DAAB78C39BC -Inner product checksum mr3 = 3EDF8ABAADA84B14 -Inner product checksum mr4 = 3EED80023CF4F41C +Inner product checksum rho = 3FA537D95FAB1ECB +Inner product checksum theta = 4160EF67010FC899 +Inner product checksum u = 4568491B24BCB1EB +Inner product checksum mr1 = 3F35AA3628DE30BE +Inner product checksum mr2 = 3EEB2DAAA103BE1C +Inner product checksum mr3 = 3EDF8ABAA7EB7E4A +Inner product checksum mr4 = 3EED8002CA757F6A Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-32bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-32bit.txt index c32af3dde2..fd87985e38 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-32bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3D29A22D -Inner product checksum theta = 4B077A6B -Inner product checksum u = 6B424806 -Inner product checksum mr1 = 39AD4AC3 -Inner product checksum mr2 = 37598B7C +Inner product checksum rho = 3D29A247 +Inner product checksum theta = 4B077A6F +Inner product checksum u = 6B424812 +Inner product checksum mr1 = 39AD4A4A +Inner product checksum mr2 = 37598B78 Inner product checksum mr3 = 36FCA1F0 -Inner product checksum mr4 = 376C05E6 +Inner product checksum mr4 = 376C05E0 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-64bit.txt index dcbc8e73db..0511314b0b 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA537DD5A0F065E -Inner product checksum theta = 4160EF69DC7C3D9C -Inner product checksum u = 4568491E4EC14145 -Inner product checksum mr1 = 3F35AA25645F1314 -Inner product checksum mr2 = 3EEB2DAA0D183BD9 -Inner product checksum mr3 = 3EDF8ABAB4585958 -Inner product checksum mr4 = 3EED800261C629E1 +Inner product checksum rho = 3FA537DEC5B54D1E +Inner product checksum theta = 4160EF6993830221 +Inner product checksum u = 4568491F1EF17C68 +Inner product checksum mr1 = 3F35AA24C61BC260 +Inner product checksum mr2 = 3EEB2DAAA0DDAC49 +Inner product checksum mr3 = 3EDF8ABAAD34C594 +Inner product checksum mr4 = 3EED8002CC20FFA6 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-32bit.txt index 9e6a9cf163..aa60867579 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3D298E7C -Inner product checksum theta = 4B0779CC -Inner product checksum u = 6B4246AE -Inner product checksum mr1 = 39AD5016 -Inner product checksum mr2 = 37596C21 -Inner product checksum mr3 = 36FC68EC -Inner product checksum mr4 = 376BFE0E +Inner product checksum rho = 3D298E6E +Inner product checksum theta = 4B0779CA +Inner product checksum u = 6B4246B2 +Inner product checksum mr1 = 39AD5037 +Inner product checksum mr2 = 37596C24 +Inner product checksum mr3 = 36FC68ED +Inner product checksum mr4 = 376BFE0C Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt index dad5aa3886..87bcd8d391 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA537DBF0CC4F66 -Inner product checksum theta = 4160EF68D95572C1 -Inner product checksum u = 4568491C821DD340 -Inner product checksum mr1 = 3F35AA31FA691D44 -Inner product checksum mr2 = 3EEB2DAA5D4AD337 -Inner product checksum mr3 = 3EDF8ABAA16923B7 -Inner product checksum mr4 = 3EED800235D0256D +Inner product checksum rho = 3FA537DF01F4060C +Inner product checksum theta = 4160EF67104BA0AE +Inner product checksum u = 4568491B6C21030C +Inner product checksum mr1 = 3F35AA2E18258604 +Inner product checksum mr2 = 3EEB2DAAA7C9017F +Inner product checksum mr3 = 3EDF8ABAB28662BC +Inner product checksum mr4 = 3EED800252C736F2 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-32bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-32bit.txt index 9e6a9cf163..aa60867579 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3D298E7C -Inner product checksum theta = 4B0779CC -Inner product checksum u = 6B4246AE -Inner product checksum mr1 = 39AD5016 -Inner product checksum mr2 = 37596C21 -Inner product checksum mr3 = 36FC68EC -Inner product checksum mr4 = 376BFE0E +Inner product checksum rho = 3D298E6E +Inner product checksum theta = 4B0779CA +Inner product checksum u = 6B4246B2 +Inner product checksum mr1 = 39AD5037 +Inner product checksum mr2 = 37596C24 +Inner product checksum mr3 = 36FC68ED +Inner product checksum mr4 = 376BFE0C Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-64bit.txt index dad5aa3886..87bcd8d391 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA537DBF0CC4F66 -Inner product checksum theta = 4160EF68D95572C1 -Inner product checksum u = 4568491C821DD340 -Inner product checksum mr1 = 3F35AA31FA691D44 -Inner product checksum mr2 = 3EEB2DAA5D4AD337 -Inner product checksum mr3 = 3EDF8ABAA16923B7 -Inner product checksum mr4 = 3EED800235D0256D +Inner product checksum rho = 3FA537DF01F4060C +Inner product checksum theta = 4160EF67104BA0AE +Inner product checksum u = 4568491B6C21030C +Inner product checksum mr1 = 3F35AA2E18258604 +Inner product checksum mr2 = 3EEB2DAAA7C9017F +Inner product checksum mr3 = 3EDF8ABAB28662BC +Inner product checksum mr4 = 3EED800252C736F2 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-32bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-32bit.txt index bc9f325d89..de0d75fb67 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-32bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-32bit.txt @@ -1,7 +1,7 @@ -Inner product checksum rho = 3D29E536 -Inner product checksum theta = 4B07797E -Inner product checksum u = 6B42465C -Inner product checksum mr1 = 39AD59F6 +Inner product checksum rho = 3D29E54F +Inner product checksum theta = 4B07797C +Inner product checksum u = 6B424669 +Inner product checksum mr1 = 39AD5A00 Inner product checksum mr2 = 37595486 Inner product checksum mr3 = 36FC6A7A Inner product checksum mr4 = 376C2ECA diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-64bit.txt index 20ac4f2305..202a23fb14 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA537D7A3B96552 -Inner product checksum theta = 4160EF697E9E6E08 -Inner product checksum u = 4568491CC3B263EC -Inner product checksum mr1 = 3F35AA33AE372E7E -Inner product checksum mr2 = 3EEB2DAB080D9BAF -Inner product checksum mr3 = 3EDF8ABA99DCECEA -Inner product checksum mr4 = 3EED8002F8B2EC05 +Inner product checksum rho = 3FA537DC26BF9AEB +Inner product checksum theta = 4160EF69B62FBA09 +Inner product checksum u = 4568491D07D07506 +Inner product checksum mr1 = 3F35AA290AB99AB2 +Inner product checksum mr2 = 3EEB2DAB85299254 +Inner product checksum mr3 = 3EDF8ABAA9208A9C +Inner product checksum mr4 = 3EED8002C70393B7 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_ffsl-C12_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_ffsl-C12_MG_ex1a_gnu_fast-debug-64bit.txt index 22fc337f3e..36b4fee2cd 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_ffsl-C12_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_ffsl-C12_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FB39A8B517D5F2E -Inner product checksum theta = 4178F73E618D29F2 -Inner product checksum u = 4575A2441EFE8B68 -Inner product checksum mr1 = 3F971B9893A5643A -Inner product checksum mr2 = 3F73B22CD971A5AF -Inner product checksum mr3 = 3EF2330E8371FCB3 -Inner product checksum mr4 = 3EF2D4660B84F2F1 +Inner product checksum rho = 3FB39A8DD72589C5 +Inner product checksum theta = 4178F73D5787819C +Inner product checksum u = 4575A243348E1594 +Inner product checksum mr1 = 3F971B8981884770 +Inner product checksum mr2 = 3F73B22CFDA533CF +Inner product checksum mr3 = 3EF2330E8494DEE0 +Inner product checksum mr4 = 3EF2D465F505C91F Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt index 91929bf889..473fc6ce1b 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 40B0960E14F4CCEE -Inner product checksum theta = 43076FC8D6701494 -Inner product checksum u = 4697A25B0E2167B2 -Inner product checksum mr1 = 40887EB14E45CD1F -Inner product checksum mr2 = 4069AB3CD26860E0 -Inner product checksum mr3 = 4069B44AEB7FF428 -Inner product checksum mr4 = 406997D0AB2F167D +Inner product checksum rho = 40B0960DB73AE3B0 +Inner product checksum theta = 43076FC8CE9ECC02 +Inner product checksum u = 4697A25AE5049FE4 +Inner product checksum mr1 = 40887EB1946E2339 +Inner product checksum mr2 = 4069AB3CD2CB097B +Inner product checksum mr3 = 4069B44AEB6A011D +Inner product checksum mr4 = 406997D0AB891EE3 Inner product checksum mr5 = 406997D0C9B8EEFC Inner product checksum mr6 = 40699547929283AD diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt index 15aaab2b54..9dde90e3b0 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 3EED280BC776A904 -Inner product checksum theta = 4012F415A1A39F11 -Inner product checksum u = 43A4936A5FDA0AEA +Inner product checksum rho = 3EED280BC7767ED2 +Inner product checksum theta = 4012F415A1A30F18 +Inner product checksum u = 43A4936A5FC28B90 From f8178660b3e84c2d9f5620bf3aa585779480dd72 Mon Sep 17 00:00:00 2001 From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com> Date: Fri, 7 Aug 2026 15:27:10 +0100 Subject: [PATCH 5/8] get tau_r_dt from stored value --- .../algorithm/solver/semi_implicit_solver_alg_mod.x90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 b/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 index b302fe77e9..9be28a09c0 100644 --- a/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 @@ -530,7 +530,8 @@ contains get_eliminated_q2t, & get_eliminated_q3t, & get_tau_u_dt_cp, & - get_tau_t_dt + get_tau_t_dt, & + get_tau_r_dt use matrix_vector_kernel_mod, only: matrix_vector_kernel_type use dg_matrix_vector_kernel_mod, only: dg_matrix_vector_kernel_type use dg_inc_matrix_vector_kernel_mod, & @@ -539,7 +540,6 @@ contains r_solver_operator_type use field_mod, only: field_type use r_solver_field_mod, only: r_solver_field_type - use timestepping_config_mod, only: dt, tau_r use sci_enforce_bc_kernel_mod, only: enforce_bc_kernel_type use sci_mass_matrix_solver_alg_mod, & only: mass_matrix_solver_alg @@ -745,7 +745,7 @@ contains ! Compute rho increment since solver does not provide one div => get_im3_div_r_solver(mesh_id) rho_at_u => get_rho_at_u() - tau_r_dt = real(-tau_r*dt, kind=r_solver) + tau_r_dt = -get_tau_r_dt(stepper) call div_u%initialise( vector_space = rhs_rsol(igh_p)%get_function_space() ) call f_star%initialise( vector_space = rhs_rsol(igh_u)%get_function_space() ) @@ -755,7 +755,7 @@ contains ) call f_star_rdef%initialise( vector_space = rhs(igh_u)%get_function_space() ) - tau_r_dt_rdef = real(tau_r*dt, kind=r_def) + tau_r_dt_rdef = real(-tau_r_dt, kind=r_def) call invoke( & real_to_real_x(f_star_rdef, f_star), & inc_X_plus_bY(dry_flux_solver, tau_r_dt_rdef, f_star_rdef) & From b807692049617444611ea692dc4c3d4efab66e82 Mon Sep 17 00:00:00 2001 From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com> Date: Sat, 8 Aug 2026 09:02:55 +0100 Subject: [PATCH 6/8] copy over KGOs --- ...adjt_apply_helmholtz_op_lookup_alg_mod.x90 | 9 +- .../solver/adjt_mixed_operator_alg_mod.x90 | 8 +- ...djt_mixed_schur_preconditioner_alg_mod.x90 | 8 +- .../solver/adjt_mixed_solver_alg_mod.x90 | 8 +- .../solver/adjt_pressure_precon_alg_mod.x90 | 8 +- .../adjt_scaled_matrix_vector_alg_mod.x90 | 17 +- ...adjt_semi_implicit_solver_step_alg_mod.x90 | 8 +- .../timestepping/atlt_si_timestep_alg_mod.x90 | 8 +- ...2000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +- ...ic-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...MG-2panel_azspice_gnu_fast-debug-64bit.txt | 6 +- ...MG-3panel_azspice_gnu_fast-debug-64bit.txt | 6 +- ...ic-C48_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...1-C24s_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...C24_MG_op_azspice_gnu_fast-debug-64bit.txt | 6 +- ...G_azspice_gnu_fast-debug-64bit-rtran32.txt | 6 +- ...rt-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...0-100x100_azspice_gnu_fast-debug-64bit.txt | 6 +- ...00-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...og-C48_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...01-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...er-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...ke-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...ez-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...in-C48_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...0x8-10x10_azspice_gnu_fast-debug-64bit.txt | 8 +- ...br-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...C24_MG_op_azspice_gnu_fast-debug-64bit.txt | 6 +- ...G_azspice_gnu_fast-debug-64bit-rtran32.txt | 6 +- ...96_MG_lam_azspice_gnu_fast-debug-64bit.txt | 6 +- ...am_rotate_azspice_gnu_fast-debug-64bit.txt | 6 +- ...8-500x500_azspice_gnu_fast-debug-64bit.txt | 6 +- ...1000x1000_azspice_gnu_fast-debug-64bit.txt | 6 +- ...inear-C12_azspice_gnu_fast-debug-64bit.txt | 2 +- ...er-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...1000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +- ...4000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +- ...4000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +- ...4000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +- ...8-200x200_azspice_gnu_fast-debug-64bit.txt | 6 +- ...4-200x200_azspice_gnu_fast-debug-64bit.txt | 6 +- ...200x50_op_azspice_gnu_fast-debug-64bit.txt | 6 +- ...0_azspice_gnu_fast-debug-64bit-rtran32.txt | 6 +- ...th-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...4s_rot_MG_azspice_gnu_fast-debug-64bit.txt | 6 +- ...x8-2000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...linic-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...linic-C48_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...t2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...0x10-100x100_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...ip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...lorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...ip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...piter-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...uarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...omain-C48_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...P100x8-10x10_ex1a_gnu_fast-debug-64bit.txt | 8 +- ...P100x8-10x10_ex1a_gnu_fast-debug-64bit.txt | 8 +- ...l_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...t2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...4_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt | 6 +- ...m-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...G_lam_rotate_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...00x8-500x500_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...x4-1000x1000_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...r-linear-C12_ex1a_gnu_fast-debug-64bit.txt | 2 +- ...piter-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...56x8-200x200_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...56x4-200x200_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...16-200x50_op_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...56x8-200x200_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...inear-C12_azspice_gnu_fast-debug-64bit.txt | 2 +- ...inear-C12_azspice_gnu_full-debug-64bit.txt | 2 +- ...l9-C12_MG_azspice_gnu_fast-debug-64bit.txt | 14 +- ...r-linear-C12_ex1a_cce_fast-debug-64bit.txt | 2 +- ..._gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt | 14 +- ...lanet-C12_azspice_gnu_fast-debug-32bit.txt | 14 +- ...1214b-C12_azspice_gnu_fast-debug-32bit.txt | 6 +- ..._gal9-C12_azspice_gnu_fast-debug-32bit.txt | 14 +- ..._chem-C12_azspice_gnu_fast-debug-32bit.txt | 14 +- ...short-C12_azspice_gnu_fast-debug-32bit.txt | 14 +- ...9458b-C24_azspice_gnu_fast-debug-32bit.txt | 6 +- ...casim-C12_azspice_gnu_fast-debug-32bit.txt | 18 +- ...coma9-C12_azspice_gnu_fast-debug-32bit.txt | 16 +- ...h_dev-C12_azspice_gnu_fast-debug-32bit.txt | 16 +- ..._gal9-C12_azspice_gnu_fast-debug-32bit.txt | 14 +- ..._gal9-C12_azspice_gnu_fast-debug-64bit.txt | 14 +- ...l9-C48_MG_azspice_gnu_fast-debug-32bit.txt | 14 +- ...-pert-C12_azspice_gnu_fast-debug-32bit.txt | 14 +- ...ro-C48_MG_azspice_gnu_fast-debug-32bit.txt | 14 +- ...l9_da-C12_azspice_gnu_fast-debug-32bit.txt | 14 +- ...debug-C12_azspice_gnu_full-debug-32bit.txt | 14 +- ...ug-C48_MG_azspice_gnu_full-debug-32bit.txt | 12 +- ...9_eda-C12_azspice_gnu_fast-debug-32bit.txt | 14 +- ..._jada-C12_azspice_gnu_fast-debug-32bit.txt | 14 +- ...9_mol-C12_azspice_gnu_fast-debug-32bit.txt | 14 +- ...ra-C48_MG_azspice_gnu_fast-debug-32bit.txt | 12 +- ...se-C48_MG_azspice_gnu_fast-debug-32bit.txt | 12 +- ...short-C12_azspice_gnu_fast-debug-32bit.txt | 14 +- ...3-seuk_MG_azspice_gnu_fast-debug-32bit.txt | 16 +- ...s-seuk_MG_azspice_gnu_fast-debug-32bit.txt | 16 +- ...l-seuk_MG_azspice_gnu_fast-debug-32bit.txt | 16 +- ...0x1500_MG_azspice_gnu_fast-debug-32bit.txt | 14 +- ...n1-C48_MG_azspice_gnu_fast-debug-32bit.txt | 6 +- ...uaplanet-C12_ex1a_cce_fast-debug-32bit.txt | 12 +- ..._gj1214b-C12_ex1a_cce_fast-debug-32bit.txt | 6 +- ...lim_gal9-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ..._gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ...l9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +- ..._gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ...l9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 12 +- ...l9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +- ...al9_chem-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ..._chem_1T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ..._chem_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ...l9_short-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ...1500x1500_MG_ex1a_cce_fast-debug-32bit.txt | 12 +- ...d209458b-C24_ex1a_cce_fast-debug-32bit.txt | 4 +- ...wp_casim-C12_ex1a_cce_fast-debug-32bit.txt | 18 +- ...wp_coma9-C12_ex1a_cce_fast-debug-32bit.txt | 16 +- ...orph_dev-C12_ex1a_cce_fast-debug-32bit.txt | 16 +- ...morph_tb-C12_ex1a_cce_fast-debug-32bit.txt | 16 +- ...nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ...nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt | 14 +- ..._gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +- ...al9-pert-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ..._gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ...l9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +- ..._gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ...l9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +- ...l9_2T-C48_MG_ex1a_cce_full-debug-32bit.txt | 14 +- ...l9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +- ..._aero-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +- ...eaded-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +- ...eaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt | 14 +- ..._gal9_da-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ...l9_debug-C12_ex1a_cce_full-debug-32bit.txt | 12 +- ...debug-C48_MG_ex1a_cce_full-debug-32bit.txt | 12 +- ...gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ...eda_jada-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ...gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ...l9_short-C12_ex1a_cce_fast-debug-32bit.txt | 14 +- ...ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt | 14 +- ..._ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt | 14 +- ...xmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt | 14 +- ...1500x1500_MG_ex1a_cce_fast-debug-32bit.txt | 14 +- ..._ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt | 6 +- ...nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt | 14 +- ...ip301-C24_azspice_gnu_fast-debug-64bit.txt | 6 +- ..._ffsl-C24_azspice_gnu_fast-debug-64bit.txt | 6 +- ...l9-C12_MG_azspice_gnu_fast-debug-64bit.txt | 14 +- ...l9-C12_MG_azspice_gnu_production-32bit.txt | 14 +- ...sl-C12_MG_azspice_gnu_fast-debug-64bit.txt | 14 +- ...om-C12_MG_azspice_gnu_fast-debug-64bit.txt | 14 +- ...licit-C12_azspice_gnu_fast-debug-64bit.txt | 6 +- ...dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...301_ffsl-C24_ex1a_gnu_fast-debug-64bit.txt | 6 +- ..._gal9-C12_MG_ex1a_cce_fast-debug-32bit.txt | 12 +- ..._gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt | 14 +- ..._gal9-C12_MG_ex1a_cce_production-32bit.txt | 8 +- ..._gal9-C12_MG_ex1a_cce_production-64bit.txt | 14 +- ..._gal9-C12_MG_ex1a_gnu_fast-debug-32bit.txt | 12 +- ..._gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt | 14 +- ..._gal9-C12_MG_ex1a_gnu_full-debug-32bit.txt | 12 +- ..._gal9-C12_MG_ex1a_gnu_full-debug-64bit.txt | 14 +- ..._gal9-C12_MG_ex1a_gnu_production-32bit.txt | 12 +- ..._gal9-C12_MG_ex1a_gnu_production-64bit.txt | 14 +- ..._ffsl-C12_MG_ex1a_gnu_fast-debug-64bit.txt | 14 +- ...andom-C12_MG_ex1a_gnu_fast-debug-64bit.txt | 14 +- ...implicit-C12_ex1a_gnu_fast-debug-64bit.txt | 6 +- ...adj_mixed_schur_preconditioner_alg_mod.x90 | 3 +- .../timestepping/atl_si_timestep_alg_mod.x90 | 11 +- .../adj_scaled_matrix_vector_kernel_mod.F90 | 12 +- .../mixed_schur_preconditioner_alg_mod.x90 | 20 +- .../solver/pressure_operator_alg_mod.x90 | 6 +- .../solver/semi_implicit_solver_alg_mod.x90 | 6 +- .../algorithm/solver/si_operators_alg_mod.x90 | 359 ++++++++++-------- .../semi_implicit_timestep_alg_mod.X90 | 17 +- .../apply_analytic_q32_rhs_kernel_mod.F90 | 120 ++++++ .../scaled_matrix_vector_kernel_mod.F90 | 12 +- .../apply_analytic_q32_rhs_kernel_mod_test.pf | 86 +++++ .../timestepping/tl_si_timestep_alg_mod.x90 | 21 +- 192 files changed, 1360 insertions(+), 1069 deletions(-) create mode 100644 science/gungho/source/kernel/solver/apply_analytic_q32_rhs_kernel_mod.F90 create mode 100644 science/gungho/unit-test/kernel/solver/apply_analytic_q32_rhs_kernel_mod_test.pf diff --git a/applications/adjoint_tests/source/algorithm/lookup/solver/adjt_apply_helmholtz_op_lookup_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/lookup/solver/adjt_apply_helmholtz_op_lookup_alg_mod.x90 index b87c7e79e9..734ee4c721 100644 --- a/applications/adjoint_tests/source/algorithm/lookup/solver/adjt_apply_helmholtz_op_lookup_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/lookup/solver/adjt_apply_helmholtz_op_lookup_alg_mod.x90 @@ -26,7 +26,9 @@ module adjt_apply_helmholtz_op_lookup_alg_mod use integer_field_mod, only: integer_field_type use adj_lookup_table_mod, only: adj_lookup_table_type use sci_r_solver_field_vector_mod, only: r_solver_field_vector_type - use si_operators_alg_mod, only: compute_si_operators, get_helmholtz_operator + use si_operators_alg_mod, only: compute_si_operators_common, & + compute_helmholtz_operators, & + get_helmholtz_operator use dycore_constants_mod, only: stepper_siqn implicit none @@ -120,8 +122,9 @@ module adjt_apply_helmholtz_op_lookup_alg_mod call invoke(setval_random(init_op_moist_dyn(idx))) end do - call compute_si_operators( config, init_op_t, init_op_d, init_op_p, & - model_clock, init_op_moist_dyn, stepper_siqn ) + call compute_si_operators_common( config, init_op_t, init_op_d, init_op_p, & + init_op_moist_dyn ) + call compute_helmholtz_operators( model_clock, stepper_siqn ) Helmholtz_operator => get_helmholtz_operator(stepper_siqn, level) lam_mesh = .false. diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_operator_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_operator_alg_mod.x90 index 3976914626..58c960d421 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_operator_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_operator_alg_mod.x90 @@ -32,7 +32,8 @@ module adjt_mixed_operator_alg_mod use function_space_collection_mod, only: function_space_collection use moist_dyn_mod, only: num_moist_factors use fs_continuity_mod, only: W2, W3, Wtheta - use si_operators_alg_mod, only: compute_si_operators + use si_operators_alg_mod, only: compute_si_operators_common, & + compute_helmholtz_operators use dycore_constants_mod, only: stepper_siqn use sci_enforce_bc_kernel_mod, only: enforce_bc_kernel_type use model_clock_mod, only: model_clock_type @@ -116,8 +117,9 @@ contains call invoke(setval_random(moist_dyn(idx))) end do - call compute_si_operators( config, rhs(igh_t), rhs(igh_d), rhs(igh_p), & - model_clock, moist_dyn, stepper_siqn ) + call compute_si_operators_common( config, rhs(igh_t), rhs(igh_d), rhs(igh_p), & + moist_dyn ) + call compute_helmholtz_operators( model_clock, stepper_siqn ) ! Input fields are r_def fields so preliminary work uses field_types diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_schur_preconditioner_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_schur_preconditioner_alg_mod.x90 index f85ce5235e..b6a10c4eaa 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_schur_preconditioner_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_schur_preconditioner_alg_mod.x90 @@ -29,7 +29,8 @@ module adjt_mixed_schur_preconditioner_alg_mod use function_space_collection_mod, only: function_space_collection use driver_modeldb_mod, only: modeldb_type use fs_continuity_mod, only: W2, W3, Wtheta - use si_operators_alg_mod, only: compute_si_operators + use si_operators_alg_mod, only: compute_si_operators_common, & + compute_helmholtz_operators use dycore_constants_mod, only: stepper_siqn use sci_enforce_bc_kernel_mod, only: enforce_bc_kernel_type use model_clock_mod, only: model_clock_type @@ -161,8 +162,9 @@ contains call moisture_fields%get_field( "ls_moist_dyn", ls_moist_dyn_array ) ls_moist_dyn => ls_moist_dyn_array%bundle - call compute_si_operators( modeldb%config, ls_theta, ls_rho, ls_exner, & - model_clock, ls_moist_dyn, stepper_siqn ) + call compute_si_operators_common( modeldb%config, ls_theta, ls_rho, ls_exner, & + ls_moist_dyn ) + call compute_helmholtz_operators( model_clock, stepper_siqn ) call create_pressure_preconditioner( rhs, pressure_operator, pressure_preconditioner, stepper_siqn ) call create_pressure_solver( pressure_operator, pressure_preconditioner, pressure_solver ) diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_solver_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_solver_alg_mod.x90 index d65facb012..f3ed73e501 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_solver_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_mixed_solver_alg_mod.x90 @@ -34,7 +34,8 @@ module adjt_mixed_solver_alg_mod use driver_modeldb_mod, only: modeldb_type use solver_constants_mod, only: get_normalisation use fs_continuity_mod, only: W2, W3, Wtheta - use si_operators_alg_mod, only: compute_si_operators + use si_operators_alg_mod, only: compute_si_operators_common, & + compute_helmholtz_operators use dycore_constants_mod, only: stepper_siqn use operator_mod, only: operator_type use sci_enforce_bc_kernel_mod, only: enforce_bc_kernel_type @@ -190,8 +191,9 @@ contains call moisture_fields%get_field( "ls_moist_dyn", ls_moist_dyn_array ) ls_moist_dyn => ls_moist_dyn_array%bundle - call compute_si_operators( modeldb%config, ls_theta, ls_rho, ls_exner, & - model_clock, ls_moist_dyn, stepper_siqn ) + call compute_si_operators_common( modeldb%config, ls_theta, ls_rho, ls_exner, & + ls_moist_dyn ) + call compute_helmholtz_operators( model_clock, stepper_siqn ) call create_pressure_preconditioner( rhs, pressure_operator, pressure_preconditioner, stepper_siqn ) call create_pressure_solver( pressure_operator, pressure_preconditioner, pressure_solver ) diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_pressure_precon_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_pressure_precon_alg_mod.x90 index 89b097d6b6..ffbe3441f2 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_pressure_precon_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_pressure_precon_alg_mod.x90 @@ -27,7 +27,8 @@ module adjt_pressure_precon_alg_mod use function_space_collection_mod, only: function_space_collection use driver_modeldb_mod, only: modeldb_type use fs_continuity_mod, only: W2, W3, Wtheta - use si_operators_alg_mod, only: compute_si_operators + use si_operators_alg_mod, only: compute_si_operators_common, & + compute_helmholtz_operators use dycore_constants_mod, only: stepper_siqn use sci_enforce_bc_kernel_mod, only: enforce_bc_kernel_type use model_clock_mod, only: model_clock_type @@ -150,8 +151,9 @@ contains call moisture_fields%get_field( "ls_moist_dyn", ls_moist_dyn_array ) ls_moist_dyn => ls_moist_dyn_array%bundle - call compute_si_operators( modeldb%config, ls_theta, ls_rho, ls_exner, & - model_clock, ls_moist_dyn, stepper_siqn ) + call compute_si_operators_common( modeldb%config, ls_theta, ls_rho, ls_exner, & + ls_moist_dyn ) + call compute_helmholtz_operators( model_clock, stepper_siqn ) call create_pressure_preconditioner( rhs, pressure_operator, pressure_preconditioner, stepper_siqn ) diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 index 76b130ffe9..1ae491af2b 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_scaled_matrix_vector_alg_mod.x90 @@ -26,7 +26,9 @@ module adjt_scaled_matrix_vector_alg_mod use operator_mod, only: r_solver_operator_type use r_solver_field_mod, only: r_solver_field_type use sci_r_solver_field_vector_mod, only: r_solver_field_vector_type - use si_operators_alg_mod, only: compute_si_operators, get_div_star, get_Hb_lumped_inv, & + use si_operators_alg_mod, only: compute_si_operators_common, & + compute_helmholtz_operators, & + get_div_star, get_Hb_lumped_inv, & get_tau_u_dt_cp use dycore_constants_mod, only: stepper_siqn use solver_constants_mod, only: get_normalisation_r_solver @@ -112,8 +114,9 @@ module adjt_scaled_matrix_vector_alg_mod call invoke(setval_random(init_op_moist_dyn(idx))) end do - call compute_si_operators( config, init_op_t, init_op_d, init_op_p, & - model_clock, init_op_moist_dyn, stepper_siqn ) + call compute_si_operators_common( config, init_op_t, init_op_d, init_op_p, & + init_op_moist_dyn ) + call compute_helmholtz_operators( model_clock, stepper_siqn ) call vector_x%initialise(vector_space_w3_ptr) call vector_mx%initialise(vector_space_w2_ptr) @@ -131,8 +134,8 @@ module adjt_scaled_matrix_vector_alg_mod ! Tangent linear (Mx) - scaled_matrix_vector_kernel_type( vector_mx, vector_x, div_star, u_normalisation, Hb_lumped_inv ), & - inc_a_times_X( const_u, vector_mx ), & + scaled_matrix_vector_kernel_type( vector_mx, vector_x, div_star, u_normalisation, Hb_lumped_inv, & + const_u ), & ! @@ -152,8 +155,8 @@ module adjt_scaled_matrix_vector_alg_mod ! Adjoint (AMx) - adj_scaled_matrix_vector_kernel_type( vector_mx, vector_amx, div_star, u_normalisation, Hb_lumped_inv ), & - inc_a_times_X( const_u, vector_amx ), & + adj_scaled_matrix_vector_kernel_type( vector_mx, vector_amx, div_star, u_normalisation, & + Hb_lumped_inv, const_u ), & ! diff --git a/applications/adjoint_tests/source/algorithm/solver/adjt_semi_implicit_solver_step_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/solver/adjt_semi_implicit_solver_step_alg_mod.x90 index 2d2648fb8c..52eae82ba3 100644 --- a/applications/adjoint_tests/source/algorithm/solver/adjt_semi_implicit_solver_step_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/solver/adjt_semi_implicit_solver_step_alg_mod.x90 @@ -28,7 +28,8 @@ module adjt_semi_implicit_solver_step_alg_mod use driver_modeldb_mod, only: modeldb_type use fs_continuity_mod, only: W2, W3, Wtheta use mr_indices_mod, only: nummr - use si_operators_alg_mod, only: compute_si_operators + use si_operators_alg_mod, only: compute_si_operators_common, & + compute_helmholtz_operators use dycore_constants_mod, only: stepper_siqn use operator_mod, only: operator_type use sci_enforce_bc_kernel_mod, only: enforce_bc_kernel_type @@ -164,8 +165,9 @@ contains call moisture_fields%get_field( "ls_moist_dyn", ls_moist_dyn_array ) ls_moist_dyn => ls_moist_dyn_array%bundle - call compute_si_operators( modeldb%config, ls_theta, ls_rho, ls_exner, & - model_clock, ls_moist_dyn, stepper_siqn ) + call compute_si_operators_common( modeldb%config, ls_theta, ls_rho, ls_exner, & + ls_moist_dyn ) + call compute_helmholtz_operators( model_clock, stepper_siqn ) call adj_semi_implicit_solver%initialise(rhs, adj_lookup_table_cache, stepper_siqn) ! Set up moist_dyn_gas_law & mr diff --git a/applications/adjoint_tests/source/algorithm/timestepping/atlt_si_timestep_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/timestepping/atlt_si_timestep_alg_mod.x90 index caad067448..75044d343b 100644 --- a/applications/adjoint_tests/source/algorithm/timestepping/atlt_si_timestep_alg_mod.x90 +++ b/applications/adjoint_tests/source/algorithm/timestepping/atlt_si_timestep_alg_mod.x90 @@ -35,7 +35,8 @@ module atlt_si_timestep_alg_mod tl_semi_implicit_alg_final use atl_si_timestep_alg_mod, only: atl_si_timestep_type use driver_modeldb_mod, only: modeldb_type - use si_operators_alg_mod, only: compute_si_operators + use si_operators_alg_mod, only: compute_si_operators_common, & + compute_helmholtz_operators use dycore_constants_mod, only: stepper_siqn use sci_enforce_bc_kernel_mod, only: enforce_bc_kernel_type use field_array_mod, only: field_array_type @@ -188,8 +189,9 @@ contains ls_u, ls_rho, ls_theta, ls_exner, & ls_mr, ls_moist_dyn, modeldb, (num_steps == 1) ) - call compute_si_operators( modeldb%config, ls_theta, ls_rho, ls_exner, & - modeldb%clock, ls_moist_dyn, stepper_siqn ) + call compute_si_operators_common( modeldb%config, ls_theta, ls_rho, ls_exner, & + ls_moist_dyn ) + call compute_helmholtz_operators( modeldb%clock, stepper_siqn ) do i = 1, num_steps call tl_semi_implicit_alg_step( modeldb, u, rho, theta, exner, mr, moist_dyn, & diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_azspice_gnu_fast-debug-64bit.txt index efb4a49a3c..701a3729de 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40DAA271B7D254AA -Inner product checksum theta = 42418E8247B61620 -Inner product checksum u = 43F0A73C1317F263 +Inner product checksum rho = 40DAA271B7D254AF +Inner product checksum theta = 42418E8247B61632 +Inner product checksum u = 43F0A73C1317F297 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt index 75e73d4178..578e70b8cf 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2F2B2242AF118 -Inner product checksum theta = 4210411A341E0453 -Inner product checksum u = 4501AC431FED3CFB +Inner product checksum rho = 40E2F2B224494971 +Inner product checksum theta = 4210411A341A1A2D +Inner product checksum u = 4501AC43210280BA diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-2panel_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-2panel_azspice_gnu_fast-debug-64bit.txt index 98305beb12..ab76fe1a71 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-2panel_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-2panel_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4102EEF5FA8E7F13 -Inner product checksum theta = 423041DD8259BAF9 -Inner product checksum u = 45017CE3BAE69359 +Inner product checksum rho = 4102EEF5FA87CBE1 +Inner product checksum theta = 423041DD825A8404 +Inner product checksum u = 45017CE3BA63F0FA diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-3panel_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-3panel_azspice_gnu_fast-debug-64bit.txt index cb751b85ac..26609ab794 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-3panel_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG-3panel_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4102EEF5FA8E7F16 -Inner product checksum theta = 423041DD8259BAF9 -Inner product checksum u = 45017CE3BAE69366 +Inner product checksum rho = 4102EEF5FA87CBE2 +Inner product checksum theta = 423041DD825A8403 +Inner product checksum u = 45017CE3BA63F106 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG_azspice_gnu_fast-debug-64bit.txt index 7cafebd0ad..ee32a6f3c3 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C48_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4102EEF5FA8E7F16 -Inner product checksum theta = 423041DD8259BAFC -Inner product checksum u = 45017CE3BAE6936A +Inner product checksum rho = 4102EEF5FA87CBE0 +Inner product checksum theta = 423041DD825A8404 +Inner product checksum u = 45017CE3BA63F10A diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt index 25a1370d3b..2efc7c4ce8 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E31B57685FC942 -Inner product checksum theta = 4210461EB3F32723 -Inner product checksum u = 4500F5231DA5535E +Inner product checksum rho = 40E31B568E5A4E4A +Inner product checksum theta = 4210461E78734A26 +Inner product checksum u = 4500F54C439B1A5A diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt index ed7698a574..4191114fb1 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2EB31ADFD6F68 -Inner product checksum theta = 42104262EDDA7DD4 -Inner product checksum u = 4501DA5CB10C505E +Inner product checksum rho = 40E2EB31AEBFEF72 +Inner product checksum theta = 42104262EDD13B2E +Inner product checksum u = 4501DA5CAEFE8D62 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt index 5ca1fa0ba9..0e1b0287c1 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2F340335FA448 -Inner product checksum theta = 421041C1E108D985 -Inner product checksum u = 4501D87A7956C1D6 +Inner product checksum rho = 40E2F33ECC41D4C6 +Inner product checksum theta = 421041C2141EB09C +Inner product checksum u = 4501D8686FA69115 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt index d58e1cb306..3307a4cda5 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2E6107980FA1D -Inner product checksum theta = 4210435EB2DE4D65 -Inner product checksum u = 4501348CFD95684E +Inner product checksum rho = 40E2E6107980EB72 +Inner product checksum theta = 4210435EB2DE4CFF +Inner product checksum u = 4501348CFD9635F1 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt index c7e4fb3274..7b1ca10773 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40FE89845A9258B3 -Inner product checksum theta = 4210F00A9EEFEC1A -Inner product checksum u = 42EF4B7C9D3BEF12 +Inner product checksum rho = 40FE89845A92A5D4 +Inner product checksum theta = 4210F00A9EEFEBF2 +Inner product checksum u = 42EF4B7C9D369238 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt index 9d790622ee..b2376609f2 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E8EBCD2FEB4063 -Inner product checksum theta = 4204E5A9894FB99F -Inner product checksum u = 43F4FE3DAD48187A +Inner product checksum rho = 40E8EBCD2FEB406C +Inner product checksum theta = 4204E5A9894FB9AC +Inner product checksum u = 43F4FE3DAD801312 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt index 6e9543907e..3e020b051c 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41094CA3DACB8EDD -Inner product checksum theta = 4224DF7F73F04BB8 -Inner product checksum u = 43C5208E2FA47CC1 +Inner product checksum rho = 41094CA3DACB8ED5 +Inner product checksum theta = 4224DF7F73F04BB9 +Inner product checksum u = 43C5208E3070690A diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt index 5e1c2d3dab..df4457f603 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D3FF37BCAE7457 -Inner product checksum theta = 41EC4ACBE79A8386 -Inner product checksum u = 44176CD1D18E33BA +Inner product checksum rho = 40D3FF37BCAE74AE +Inner product checksum theta = 41EC4ACBE79A8188 +Inner product checksum u = 44176CD1D18E1EB6 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt index c4a8fa9b06..36b0d21db1 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40EEEF267CFD6FB4 -Inner product checksum theta = 42E2AA885C6B561D -Inner product checksum u = 47563E0DE14108BC +Inner product checksum rho = 40EEEF267CFD6FA9 +Inner product checksum theta = 42E2AA885C6B533D +Inner product checksum u = 47563E0DE1413441 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt index 2c42d8fcd3..c3a835c5ac 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D56CA2970A09FD -Inner product checksum theta = 42198C1F10A1CE70 -Inner product checksum u = 44E3E16E089028C0 +Inner product checksum rho = 40D56CA2970A1056 +Inner product checksum theta = 42198C1F10A1CBA1 +Inner product checksum u = 44E3E16E089A407A diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt index 7c3b377fc3..a8b6d20f31 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E34359B1E29C24 -Inner product checksum theta = 421168C83DA3C5BC -Inner product checksum u = 45082CCFA9D9C388 +Inner product checksum rho = 40E34359B5D3BACF +Inner product checksum theta = 421168C83CF099D4 +Inner product checksum u = 45082CCFE403BADD diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt index 6af9e29d7f..f4e0f6b166 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4122BF1AB1131A41 -Inner product checksum theta = 4240B157AB6C8BBE -Inner product checksum u = 44FA82C80E7F38AB +Inner product checksum rho = 4122BF1AB1152006 +Inner product checksum theta = 4240B157AB6EBABE +Inner product checksum u = 44FA82C80EBBDD64 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt index da3150ac64..c71a2fa1dd 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt @@ -1,7 +1,7 @@ -Inner product checksum rho = 41002A013F23F1A0 -Inner product checksum theta = 4204AB10C1B8CB29 -Inner product checksum u = 42173600D4A6A07A -Inner product checksum mr1 = 40477A3C6E04B640 +Inner product checksum rho = 41002A01281D2476 +Inner product checksum theta = 4204AB10C2A15A2A +Inner product checksum u = 421735ED68D1EE98 +Inner product checksum mr1 = 40477A3D560B2573 Inner product checksum mr2 = 0 Inner product checksum mr3 = 0 Inner product checksum mr4 = 0 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt index 554feeb9af..c49a764530 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41030D58C35A7E88 -Inner product checksum theta = 42475B42A2356D85 -Inner product checksum u = 456062CEF519BA82 +Inner product checksum rho = 41030D58C35B14EA +Inner product checksum theta = 42475B42A2447514 +Inner product checksum u = 456062CEF5186C38 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt index 94ae860104..58db3776bf 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41030D6C1354B811 -Inner product checksum theta = 42476BF6F9CAFDB1 -Inner product checksum u = 4560B5479753BBE3 +Inner product checksum rho = 41030D6C134F15A7 +Inner product checksum theta = 42476BF6F9CB89CD +Inner product checksum u = 4560B54797517381 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt index b422bcab19..16cd406e7a 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41030F18BB455D0C -Inner product checksum theta = 42476C698246031E -Inner product checksum u = 4560A0F476323778 +Inner product checksum rho = 41030F18BC6C23FF +Inner product checksum theta = 42476C698C45D058 +Inner product checksum u = 4560A0F4B555EFC1 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt index e5d4c948a6..014adff5d8 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E316DD570DD9A4 -Inner product checksum theta = 420BC551F61A1A1F -Inner product checksum u = 44FD3CA2A867D590 +Inner product checksum rho = 40E316DD570F15E0 +Inner product checksum theta = 420BC551F619D7E6 +Inner product checksum u = 44FD3CA2A86C955B diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt index 4d08379a7d..d7d6a42023 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E3144534D10717 -Inner product checksum theta = 420BC6A55E4A686A -Inner product checksum u = 44FDCE146C1B8736 +Inner product checksum rho = 40E3144534D0EDA0 +Inner product checksum theta = 420BC6A55E4A7377 +Inner product checksum u = 44FDCE146C1E7408 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-BiP200x8-500x500_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-BiP200x8-500x500_azspice_gnu_fast-debug-64bit.txt index d9c6ec9ba0..bc6931dd58 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-BiP200x8-500x500_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-BiP200x8-500x500_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E1E482F5039933 -Inner product checksum theta = 421139234E97D021 -Inner product checksum u = 4393A62966485C3D +Inner product checksum rho = 40E1E482F5039AEA +Inner product checksum theta = 421139234E97D1B8 +Inner product checksum u = 4393A62966481E11 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_azspice_gnu_fast-debug-64bit.txt index 51be4e70b3..b85fa3e7e1 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40C1E40C4086836E -Inner product checksum theta = 41F1395D4034F394 -Inner product checksum u = 4393B67691E59013 +Inner product checksum rho = 40C1E40C40867E1F +Inner product checksum theta = 41F1395D4034F4D5 +Inner product checksum u = 4393B67691E48894 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt index f3531f5eb9..eee5b193e2 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ Inner product checksum rho = 40A3EC6A14AC6571 Inner product checksum theta = 41BEDEE1880FB476 -Inner product checksum u = 4316BFB1C362A421 +Inner product checksum u = 4316BFB1C35F04AF diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt index 1df1014bb6..bd299544c0 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 400CE3D8AB96C8A8 -Inner product checksum theta = 426EFB40626530A5 -Inner product checksum u = 46E90B314BF2E294 +Inner product checksum rho = 400CE3D8ABA244ED +Inner product checksum theta = 426EFB40626A4702 +Inner product checksum u = 46E90B314876CB75 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt index 9a5fe8d65f..0478fd9549 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40CBD086E89B5D1E -Inner product checksum theta = 41E3A4D10A00A211 -Inner product checksum u = 4400A7C1E61414C1 +Inner product checksum rho = 40CBD086E89B5D29 +Inner product checksum theta = 41E3A4D10A00A20A +Inner product checksum u = 4400A7C1E61414AB diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt index 6032bd04c4..3ce97cd8ec 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40BBCBB6EF213B23 -Inner product checksum theta = 41D3A4D0913520FF -Inner product checksum u = 42800065B48E6026 +Inner product checksum rho = 40BBCBB6EF213C04 +Inner product checksum theta = 41D3A4D0913520FC +Inner product checksum u = 42800064C385A97A diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt index a437c0fc11..132ed5d6a1 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 409BCBB6ED8BE030 -Inner product checksum theta = 41B3A4D0922870A1 -Inner product checksum u = 425BD2895B96C9A4 +Inner product checksum rho = 409BCBB6ED8BDDE2 +Inner product checksum theta = 41B3A4D0922875DE +Inner product checksum u = 425BD288E8B57F6C diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt index 4ca2b00091..f41dfd7326 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40ABB3332F2E46B6 -Inner product checksum theta = 41C56FE12C8956CA -Inner product checksum u = 42703CCCA4C7493E +Inner product checksum rho = 40ABB3332F2E46CC +Inner product checksum theta = 41C56FE12C8956A0 +Inner product checksum u = 42703CCC6D800D15 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt index f7e6afa772..9c358fefa0 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40EA1721E2B19681 -Inner product checksum theta = 41F69B200F9256FF -Inner product checksum u = 432D54F6E7B1249C +Inner product checksum rho = 40EA1721E2B18188 +Inner product checksum theta = 41F69B200F924130 +Inner product checksum u = 432D54F6E7636766 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt index c7d35b5c37..aa6e5a0882 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40DA171CE5601289 -Inner product checksum theta = 41E69B0DAA970978 -Inner product checksum u = 431CEA8137F25AE6 +Inner product checksum rho = 40DA171CE5602F1A +Inner product checksum theta = 41E69B0DAA970520 +Inner product checksum u = 431CEA8137F7E5CD diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt index de50dcd9a6..f75fd4cc88 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40FA16E969D89EBF -Inner product checksum theta = 42069BF1BB6CCC93 -Inner product checksum u = 42FFC30F535CD605 +Inner product checksum rho = 40FA16E968D8AE95 +Inner product checksum theta = 42069BF1BC3B92F1 +Inner product checksum u = 42FFC30DC927BAFE diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt index 50a90be4cd..27a632a105 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40EA1719B66D8922 -Inner product checksum theta = 41F69B1F2B7F7B79 -Inner product checksum u = 432E69155C35746D +Inner product checksum rho = 40EA1719BC3DAA6E +Inner product checksum theta = 41F69B1F2437F436 +Inner product checksum u = 432E6913A2F84E9E diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt index dd8be578db..2b3904c86d 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D4230A137F8177 -Inner product checksum theta = 421AE83CAAFB6EAF -Inner product checksum u = 44D53ECB9AB0EC2A +Inner product checksum rho = 40D4230A1413567C +Inner product checksum theta = 421AE83CAB06035D +Inner product checksum u = 44D53EC0952BFCA0 diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt index 6432417cf3..f8d618a46f 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D3B0E6A542905E -Inner product checksum theta = 421AFAE944F24AC5 -Inner product checksum u = 44D4418885376194 +Inner product checksum rho = 40D3B0E60B38BD64 +Inner product checksum theta = 421AFAE98265E324 +Inner product checksum u = 44D440D70B08F799 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_ex1a_gnu_fast-debug-64bit.txt index 2c7c1850e2..a578bb9be1 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_agnesi_hyd_cart-BiP120x8-2000x2000_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40DAA271B7D254A9 -Inner product checksum theta = 42418E8247B61620 -Inner product checksum u = 43F0A73C1317F262 +Inner product checksum rho = 40DAA271B7D254AE +Inner product checksum theta = 42418E8247B61632 +Inner product checksum u = 43F0A73C1317F297 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt index 4dba71c861..2b89db78c2 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2F2B22431211E -Inner product checksum theta = 4210411A341D8755 -Inner product checksum u = 4501AC43203C5EC1 +Inner product checksum rho = 40E2F2B2242F82BC +Inner product checksum theta = 4210411A341DFA6A +Inner product checksum u = 4501AC43203B4210 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C48_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C48_MG_ex1a_gnu_fast-debug-64bit.txt index c5fc7b6b9c..4dc9c99b2e 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C48_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C48_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4102EEF5FA89D062 -Inner product checksum theta = 423041DD8259FEC7 -Inner product checksum u = 45017CE3BB2EB965 +Inner product checksum rho = 4102EEF5FA84F12A +Inner product checksum theta = 423041DD825A2FE2 +Inner product checksum u = 45017CE3BAF00E78 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt index 29189b7edf..b709e3e3cf 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E31B5D963ED5D6 -Inner product checksum theta = 4210461D7D1AEF96 -Inner product checksum u = 4500F5A4D9576162 +Inner product checksum rho = 40E31B53EF2B2D7C +Inner product checksum theta = 4210461EECBE9A76 +Inner product checksum u = 4500F524DBAB85BB diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt index ed887fb186..2ed58c2256 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2EB31AEC13C90 -Inner product checksum theta = 42104262EDCE0B5E -Inner product checksum u = 4501DA5CAFDCE422 +Inner product checksum rho = 40E2EB31AE3E89BB +Inner product checksum theta = 42104262EDD53F96 +Inner product checksum u = 4501DA5CB10A8BD1 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt index 1a6da58ed8..e5b320aa8a 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2F344379635B6 -Inner product checksum theta = 421041C0A43990EE -Inner product checksum u = 4501D87BBFDDF5A0 +Inner product checksum rho = 40E2F34437F0351A +Inner product checksum theta = 421041C0A42D9B54 +Inner product checksum u = 4501D87BC4DF95EA diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt index 94a8ff711c..57bcf3c862 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E2E6107980E6E0 -Inner product checksum theta = 4210435EB2DE5A9C -Inner product checksum u = 4501348CFD9A37DB +Inner product checksum rho = 40E2E6107980BF3A +Inner product checksum theta = 4210435EB2DE3695 +Inner product checksum u = 4501348CFD97EF63 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt index c7e4fb3274..7b1ca10773 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40FE89845A9258B3 -Inner product checksum theta = 4210F00A9EEFEC1A -Inner product checksum u = 42EF4B7C9D3BEF12 +Inner product checksum rho = 40FE89845A92A5D4 +Inner product checksum theta = 4210F00A9EEFEBF2 +Inner product checksum u = 42EF4B7C9D369238 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt index 6658b49c80..0f4952adc1 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E8EBCD2FEB4060 -Inner product checksum theta = 4204E5A9894FB998 -Inner product checksum u = 43F4FE3DAD5F74EF +Inner product checksum rho = 40E8EBCD2FEB4056 +Inner product checksum theta = 4204E5A9894FB9B6 +Inner product checksum u = 43F4FE3DAD7A07B4 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt index adfd7fd8d0..6a03a873ab 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41094CA3DACB8EDC -Inner product checksum theta = 4224DF7F73F04BBC -Inner product checksum u = 43C5208E30671C01 +Inner product checksum rho = 41094CA3DACB8EDD +Inner product checksum theta = 4224DF7F73F04BBA +Inner product checksum u = 43C5208E30AD65C7 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt index b22575e68e..9ba6773a3e 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D3FF37BCAE74BC -Inner product checksum theta = 41EC4ACBE79A8132 -Inner product checksum u = 44176CD1D18E255E +Inner product checksum rho = 40D3FF37BCAE7257 +Inner product checksum theta = 41EC4ACBE79A8576 +Inner product checksum u = 44176CD1D18E3182 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt index c2f0dd6121..8d9ecb38ac 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40EEEF267CFD6FD6 -Inner product checksum theta = 42E2AA885C6B4C97 -Inner product checksum u = 47563E0DE1413AB3 +Inner product checksum rho = 40EEEF267CFD6FBC +Inner product checksum theta = 42E2AA885C6B4D70 +Inner product checksum u = 47563E0DE1414B6A diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt index a0deabb5c6..0e80b91878 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D56CA2970A1992 -Inner product checksum theta = 42198C1F10A1C876 -Inner product checksum u = 44E3E16E0890B2F0 +Inner product checksum rho = 40D56CA2970A04BD +Inner product checksum theta = 42198C1F10A1CCA1 +Inner product checksum u = 44E3E16E089C09C6 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt index b8c71d3c03..1700229e43 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E34359B14AFE6A -Inner product checksum theta = 421168C83DD492E8 -Inner product checksum u = 45082CCF9DB79E02 +Inner product checksum rho = 40E34359B52609FB +Inner product checksum theta = 421168C83D3188D0 +Inner product checksum u = 45082CCFD387C8E6 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt index 42e0b9a886..eae67f0988 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4122BF1AB1143B89 -Inner product checksum theta = 4240B157AB6EF32C -Inner product checksum u = 44FA82C80E8B87D8 +Inner product checksum rho = 4122BF1AB11446C4 +Inner product checksum theta = 4240B157AB6D6B74 +Inner product checksum u = 44FA82C80EB13CCC diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt index da3150ac64..c71a2fa1dd 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-lam-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt @@ -1,7 +1,7 @@ -Inner product checksum rho = 41002A013F23F1A0 -Inner product checksum theta = 4204AB10C1B8CB29 -Inner product checksum u = 42173600D4A6A07A -Inner product checksum mr1 = 40477A3C6E04B640 +Inner product checksum rho = 41002A01281D2476 +Inner product checksum theta = 4204AB10C2A15A2A +Inner product checksum u = 421735ED68D1EE98 +Inner product checksum mr1 = 40477A3D560B2573 Inner product checksum mr2 = 0 Inner product checksum mr3 = 0 Inner product checksum mr4 = 0 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt index cb021cc6f0..35836929c5 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt @@ -1,7 +1,7 @@ -Inner product checksum rho = 4100297FC4CCE65A -Inner product checksum theta = 4204AB14B0961053 -Inner product checksum u = 4218334F25231FFF -Inner product checksum mr1 = 4047D6DA32F7E62D +Inner product checksum rho = 41002981B7FF017C +Inner product checksum theta = 4204AB14B37E94E0 +Inner product checksum u = 42183285E86217A4 +Inner product checksum mr1 = 4047D6DA4CC9B43A Inner product checksum mr2 = 0 Inner product checksum mr3 = 0 Inner product checksum mr4 = 0 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt index ed1d8ce51a..abaa2ddeff 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41030D58C35A56BA -Inner product checksum theta = 42475B42A23FE08A -Inner product checksum u = 456062CEF5131853 +Inner product checksum rho = 41030D58C35AA6D0 +Inner product checksum theta = 42475B42A2464EF6 +Inner product checksum u = 456062CEF514C319 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt index 1bcc3d1d8c..ef2353d26a 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41030D6C1351B6E4 -Inner product checksum theta = 42476BF6F9CA7348 -Inner product checksum u = 4560B547976EBCE2 +Inner product checksum rho = 41030D6C134DAF9C +Inner product checksum theta = 42476BF6F9CA8BDE +Inner product checksum u = 4560B5479759DA53 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt index 0d230e0443..11c83527f4 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 41030F18BC6411C3 -Inner product checksum theta = 42476C697727A9B1 -Inner product checksum u = 4560A0F4A8DDEBF2 +Inner product checksum rho = 41030F18BBFCC4E1 +Inner product checksum theta = 42476C69813AD84E +Inner product checksum u = 4560A0F4C908DB70 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt index 36a2a12f66..342c85420a 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E316DD570D3E4C -Inner product checksum theta = 420BC551F61A2545 -Inner product checksum u = 44FD3CA2A863EA4A +Inner product checksum rho = 40E316DD570F3D8C +Inner product checksum theta = 420BC551F619D88A +Inner product checksum u = 44FD3CA2A86D5AC1 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt index fc47acadb2..6bd05a0b9b 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E3144534D0DCBA -Inner product checksum theta = 420BC6A55E4A7122 -Inner product checksum u = 44FDCE146C1A11BA +Inner product checksum rho = 40E3144534D0B814 +Inner product checksum theta = 420BC6A55E4A6560 +Inner product checksum u = 44FDCE146C1F469A diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-BiP200x8-500x500_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-BiP200x8-500x500_ex1a_gnu_fast-debug-64bit.txt index d9c6ec9ba0..bc6931dd58 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-BiP200x8-500x500_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-BiP200x8-500x500_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40E1E482F5039933 -Inner product checksum theta = 421139234E97D021 -Inner product checksum u = 4393A62966485C3D +Inner product checksum rho = 40E1E482F5039AEA +Inner product checksum theta = 421139234E97D1B8 +Inner product checksum u = 4393A62966481E11 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_ex1a_gnu_fast-debug-64bit.txt index cea20d1d02..bf4b39a3e1 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-alt2-BiP100x4-1000x1000_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40C1E40C40867B2C -Inner product checksum theta = 41F1395D4034F8AA -Inner product checksum u = 4393B67691E66800 +Inner product checksum rho = 40C1E40C40868A95 +Inner product checksum theta = 41F1395D4034F6B8 +Inner product checksum u = 4393B67691E3FBCA diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt index 1745a9fb99..66c798bb98 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ Inner product checksum rho = 40A3EC6A14AC6571 Inner product checksum theta = 41BEDEE1880FB476 -Inner product checksum u = 4316BFB1C35CA865 +Inner product checksum u = 4316BFB1C359090D diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt index 1831e68ea8..82c2eea871 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 400CE3D8ABAA9A90 -Inner product checksum theta = 426EFB40626F9A08 -Inner product checksum u = 46E90B3145BD9537 +Inner product checksum rho = 400CE3D8AB9E3B3B +Inner product checksum theta = 426EFB4062686A28 +Inner product checksum u = 46E90B3149A8E6FC diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt index 9a5fe8d65f..0478fd9549 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40CBD086E89B5D1E -Inner product checksum theta = 41E3A4D10A00A211 -Inner product checksum u = 4400A7C1E61414C1 +Inner product checksum rho = 40CBD086E89B5D29 +Inner product checksum theta = 41E3A4D10A00A20A +Inner product checksum u = 4400A7C1E61414AB diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt index c2ab754ac5..dda37a4062 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40BBCBB6EF213B14 -Inner product checksum theta = 41D3A4D0913520F9 -Inner product checksum u = 42800065E0DDF0FF +Inner product checksum rho = 40BBCBB6EF213C2C +Inner product checksum theta = 41D3A4D091352102 +Inner product checksum u = 42800064C3436CDA diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt index f7ab7ff842..50870ce84f 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 409BCBB6ED8BE14A -Inner product checksum theta = 41B3A4D0922874DC -Inner product checksum u = 425BD289603DB533 +Inner product checksum rho = 409BCBB6ED8BDE16 +Inner product checksum theta = 41B3A4D092287267 +Inner product checksum u = 425BD2887B461A04 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt index e71b4d2137..564f5b6120 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40ABB3332F2E46A9 -Inner product checksum theta = 41C56FE12C8956CE -Inner product checksum u = 42703CCCADA97A04 +Inner product checksum rho = 40ABB3332F2E46CA +Inner product checksum theta = 41C56FE12C89569C +Inner product checksum u = 42703CCC711E5244 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt index 948973dd39..9c358fefa0 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40EA1721E2B19680 -Inner product checksum theta = 41F69B200F9256FF -Inner product checksum u = 432D54F6E7B1249C +Inner product checksum rho = 40EA1721E2B18188 +Inner product checksum theta = 41F69B200F924130 +Inner product checksum u = 432D54F6E7636766 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt index a1fdc59f41..46823e617c 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40DA171CE56015B4 -Inner product checksum theta = 41E69B0DAA96F382 -Inner product checksum u = 431CEA8137F2E3BC +Inner product checksum rho = 40DA171CE55FD5EE +Inner product checksum theta = 41E69B0DAA9776F1 +Inner product checksum u = 431CEA8137C0F651 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt index 6c189f9eb3..1f9e0e2573 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40FA16E969D84BAC -Inner product checksum theta = 42069BF1BB6DCA1A -Inner product checksum u = 42FFC30F5344B018 +Inner product checksum rho = 40FA16E969D84AAC +Inner product checksum theta = 42069BF1BB6DB28A +Inner product checksum u = 42FFC30F531CE6B6 diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt index b2064bc6ca..72fefc24ba 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40EA171A182FB1E7 -Inner product checksum theta = 41F69B1D66FA56EE -Inner product checksum u = 432E68AAD6280024 +Inner product checksum rho = 40EA171A182FBE92 +Inner product checksum theta = 41F69B1D66FA3AF0 +Inner product checksum u = 432E68AAD5EDEAEC diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt index 9d1a9f1a6b..fca6aef0db 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D4230A13E1B4A8 -Inner product checksum theta = 421AE83CAAE6505E -Inner product checksum u = 44D53EC34F9012C2 +Inner product checksum rho = 40D4230A141F4BDB +Inner product checksum theta = 421AE83CAB0BF0DD +Inner product checksum u = 44D53ECBB6B861BD diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt index 137cea3d52..5e0497ac0e 100644 --- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 40D3B0E6548D90A9 -Inner product checksum theta = 421AFAE94BD29C5C -Inner product checksum u = 44D442E434A2DDE2 +Inner product checksum rho = 40D3B0E66FC47CFA +Inner product checksum theta = 421AFAE9ADAFF6CE +Inner product checksum u = 44D449855AF0C320 diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_fast-debug-64bit.txt index 5ab0cb6f7c..94394f2bc0 100644 --- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_fast-debug-64bit.txt @@ -1 +1 @@ -Inner product checksum theta = 41F6D1230190AF69 +Inner product checksum theta = 41F6D1230190C9AA diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_full-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_full-debug-64bit.txt index 5ab0cb6f7c..94394f2bc0 100644 --- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_full-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_azspice_gnu_full-debug-64bit.txt @@ -1 +1 @@ -Inner product checksum theta = 41F6D1230190AF69 +Inner product checksum theta = 41F6D1230190C9AA diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt index dc0a8dba96..6b0a145930 100644 --- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA52EF830F9B4E7 -Inner product checksum theta = 41601DBC9B58CBFE -Inner product checksum u = 45674E36DED75096 -Inner product checksum mr1 = 3F35A6378E1692B9 -Inner product checksum mr2 = 3EEB1DD4688AB2C3 -Inner product checksum mr3 = 3EDF4E0CAB416490 -Inner product checksum mr4 = 3EED721FDFD4C2A2 +Inner product checksum rho = 3FA52EF730B5BD9D +Inner product checksum theta = 41601DBC724F5268 +Inner product checksum u = 45674E363523ABD6 +Inner product checksum mr1 = 3F35A63C3C45CFE6 +Inner product checksum mr2 = 3EEB1DD475D1BFC8 +Inner product checksum mr3 = 3EDF4E0CA425E74F +Inner product checksum mr4 = 3EED721FD85D794C Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_ex1a_cce_fast-debug-64bit.txt index ebd219ab51..91afa6c96f 100644 --- a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_ex1a_cce_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_forecast_gh-si-for-linear-C12_ex1a_cce_fast-debug-64bit.txt @@ -1 +1 @@ -Inner product checksum theta = 41F6D12301911717 +Inner product checksum theta = 41F6D123019014DC diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt index 5d63a9ea52..fa81b82d37 100644 --- a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA52EF594B507CE -Inner product checksum theta = 41601DBBD1673452 -Inner product checksum u = 45674E359E90DFB3 -Inner product checksum mr1 = 3F35A6402BF4AE0C -Inner product checksum mr2 = 3EEB1DD49BC791AC -Inner product checksum mr3 = 3EDF4E0C9A2732C6 -Inner product checksum mr4 = 3EED7220334609F2 +Inner product checksum rho = 3FA52EF46F2B3ED8 +Inner product checksum theta = 41601DBC79A00648 +Inner product checksum u = 45674E3635705170 +Inner product checksum mr1 = 3F35A63DDE8BE246 +Inner product checksum mr2 = 3EEB1DD4BA44F6E6 +Inner product checksum mr3 = 3EDF4E0C9995530D +Inner product checksum mr4 = 3EED72201308D705 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_aquaplanet-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_aquaplanet-C12_azspice_gnu_fast-debug-32bit.txt index 13c6de5ba8..e53ac0c222 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_aquaplanet-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_aquaplanet-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 468AD879 -Inner product checksum theta = 4FD68860 -Inner product checksum u = 6A4E67EB -Inner product checksum mr1 = 3F07DB98 -Inner product checksum mr2 = 36873DD4 -Inner product checksum mr3 = 340F2C75 -Inner product checksum mr4 = 3692215A +Inner product checksum rho = 468AD873 +Inner product checksum theta = 4FD68867 +Inner product checksum u = 6A4E6864 +Inner product checksum mr1 = 3F07DCA9 +Inner product checksum mr2 = 368528C1 +Inner product checksum mr3 = 340BD040 +Inner product checksum mr4 = 36959C58 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_camembert_case3_gj1214b-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_camembert_case3_gj1214b-C12_azspice_gnu_fast-debug-32bit.txt index 6d9796ff4a..d6d2b03b35 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_camembert_case3_gj1214b-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_camembert_case3_gj1214b-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 44D95741 -Inner product checksum theta = 5504FC31 -Inner product checksum u = 74276D96 +Inner product checksum rho = 44D95743 +Inner product checksum theta = 5504FC2F +Inner product checksum u = 74276D8C diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt index 94d2831e41..ce3dfbfa5c 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D55428 -Inner product checksum theta = 518ED616 -Inner product checksum u = 6AF8F0FE -Inner product checksum mr1 = 3FE1D9A4 -Inner product checksum mr2 = 373D8A12 -Inner product checksum mr3 = 351C47B6 -Inner product checksum mr4 = 369563A0 +Inner product checksum rho = 46D5567D +Inner product checksum theta = 518ED62D +Inner product checksum u = 6AF93A84 +Inner product checksum mr1 = 3FE1E6C4 +Inner product checksum mr2 = 372E20A6 +Inner product checksum mr3 = 350BF34C +Inner product checksum mr4 = 369BE96A Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_chem-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_chem-C12_azspice_gnu_fast-debug-32bit.txt index 29e6b3be24..e607d3f538 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_chem-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_chem-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D5589A -Inner product checksum theta = 518ED822 -Inner product checksum u = 6AF90A9E -Inner product checksum mr1 = 3FE18A0D -Inner product checksum mr2 = 372E8FE0 -Inner product checksum mr3 = 350B061D -Inner product checksum mr4 = 369A358E +Inner product checksum rho = 46D55C0A +Inner product checksum theta = 518ED928 +Inner product checksum u = 6AF8670F +Inner product checksum mr1 = 3FE18B32 +Inner product checksum mr2 = 3732A3CC +Inner product checksum mr3 = 3521ABAC +Inner product checksum mr4 = 36B951BC Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt index da77573000..97ca7f9fc0 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D68598 -Inner product checksum theta = 519A8C18 -Inner product checksum u = 6B2FD592 -Inner product checksum mr1 = 3FCB7DD5 -Inner product checksum mr2 = 3752CB40 -Inner product checksum mr3 = 35DF4454 -Inner product checksum mr4 = 379D9FE8 +Inner product checksum rho = 46D68588 +Inner product checksum theta = 519A8C1C +Inner product checksum u = 6B2FD569 +Inner product checksum mr1 = 3FCB7E4C +Inner product checksum mr2 = 37555200 +Inner product checksum mr3 = 35E0A4A0 +Inner product checksum mr4 = 379DF42C Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_hd209458b-C24_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_hd209458b-C24_azspice_gnu_fast-debug-32bit.txt index d29b4c8007..a00548eb75 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_hd209458b-C24_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_hd209458b-C24_azspice_gnu_fast-debug-32bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 4798D8DE -Inner product checksum theta = 584061BC -Inner product checksum u = 79B9E020 +Inner product checksum rho = 4798D8DD +Inner product checksum theta = 584061B9 +Inner product checksum u = 79B9E161 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_casim-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_casim-C12_azspice_gnu_fast-debug-32bit.txt index 263e062322..ab5481d718 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_casim-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_casim-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D8712A -Inner product checksum theta = 518CD8CC -Inner product checksum u = 6A8B9CDE -Inner product checksum mr1 = 3FCCF844 -Inner product checksum mr2 = 382E6112 -Inner product checksum mr3 = 354344D2 -Inner product checksum mr4 = 36992AEA -Inner product checksum mr5 = 2E796316 -Inner product checksum mr6 = 352F9655 +Inner product checksum rho = 46D873D8 +Inner product checksum theta = 518CDA3A +Inner product checksum u = 6A8A6781 +Inner product checksum mr1 = 3FCDAB45 +Inner product checksum mr2 = 382E1EF9 +Inner product checksum mr3 = 3556AB75 +Inner product checksum mr4 = 36A491BF +Inner product checksum mr5 = 2E624B30 +Inner product checksum mr6 = 354B77E7 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_coma9-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_coma9-C12_azspice_gnu_fast-debug-32bit.txt index f36ffcf80c..f6b9e1603e 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_coma9-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_coma9-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D868C1 -Inner product checksum theta = 518CDBEF -Inner product checksum u = 6A87CC56 -Inner product checksum mr1 = 3FD06101 -Inner product checksum mr2 = 37F13B9B -Inner product checksum mr3 = 37A12A87 -Inner product checksum mr4 = 37AFC8B5 -Inner product checksum mr5 = 36B109B4 +Inner product checksum rho = 46D86843 +Inner product checksum theta = 518CDFEC +Inner product checksum u = 6A875117 +Inner product checksum mr1 = 3FD07D44 +Inner product checksum mr2 = 37EDEEC8 +Inner product checksum mr3 = 37A16D15 +Inner product checksum mr4 = 379B4FA3 +Inner product checksum mr5 = 36BE92AE Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_comorph_dev-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_comorph_dev-C12_azspice_gnu_fast-debug-32bit.txt index cd2ff6f9d7..6f1360f35b 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_comorph_dev-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_comorph_dev-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D8587D -Inner product checksum theta = 518CE268 -Inner product checksum u = 6A872DA7 -Inner product checksum mr1 = 3FD1BCA0 -Inner product checksum mr2 = 37DDEAF2 -Inner product checksum mr3 = 3793EEF3 -Inner product checksum mr4 = 37D21438 -Inner product checksum mr5 = 36D141BE +Inner product checksum rho = 46D85980 +Inner product checksum theta = 518CE476 +Inner product checksum u = 6A86F70E +Inner product checksum mr1 = 3FD21066 +Inner product checksum mr2 = 37E8CF48 +Inner product checksum mr3 = 37730888 +Inner product checksum mr4 = 37CB19ED +Inner product checksum mr5 = 36AC204D Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt index 815744e8d3..363a642b68 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D85976 -Inner product checksum theta = 518CDC13 -Inner product checksum u = 6A88F729 -Inner product checksum mr1 = 3FD04063 -Inner product checksum mr2 = 37C66EF0 -Inner product checksum mr3 = 35A04849 -Inner product checksum mr4 = 3705A1E8 +Inner product checksum rho = 46D859C6 +Inner product checksum theta = 518CDC37 +Inner product checksum u = 6A87CFC3 +Inner product checksum mr1 = 3FD0605D +Inner product checksum mr2 = 37CD8452 +Inner product checksum mr3 = 358CAD68 +Inner product checksum mr4 = 370BEDCC Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt index cc3961e9d1..b7b3138fc3 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 40DB0B88803CC396 -Inner product checksum theta = 42319B50E3EE43B4 -Inner product checksum u = 4551131F8A98D925 -Inner product checksum mr1 = 3FFA15368B8DB057 -Inner product checksum mr2 = 3EF92EC80D3DDD5E -Inner product checksum mr3 = 3EB289383B3360C3 -Inner product checksum mr4 = 3EE03B285B4A6ED5 +Inner product checksum rho = 40DB0B189CB4267C +Inner product checksum theta = 42319AEC5CE825A4 +Inner product checksum u = 455122178EDE86B9 +Inner product checksum mr1 = 3FFA080FFAFF30D0 +Inner product checksum mr2 = 3EF9518B8C183843 +Inner product checksum mr3 = 3EB2CB052796288E +Inner product checksum mr4 = 3EE0F347DC6E707C Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C48_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C48_MG_azspice_gnu_fast-debug-32bit.txt index 84b9b55f0f..250e69c601 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C48_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C48_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D80193 -Inner product checksum theta = 5392FAF0 -Inner product checksum u = 6A97C028 -Inner product checksum mr1 = 41CD0198 -Inner product checksum mr2 = 39D14CDA -Inner product checksum mr3 = 37A98BD8 -Inner product checksum mr4 = 39593F92 +Inner product checksum rho = 48D8019B +Inner product checksum theta = 5392FADC +Inner product checksum u = 6A97B975 +Inner product checksum mr1 = 41CD034E +Inner product checksum mr2 = 39D0613A +Inner product checksum mr3 = 37A7A60B +Inner product checksum mr4 = 395BE5D9 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-pert-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-pert-C12_azspice_gnu_fast-debug-32bit.txt index 16656bf06f..5d29e80970 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-pert-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-pert-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D8307E -Inner product checksum theta = 51946D1B -Inner product checksum u = 6B12CFCF -Inner product checksum mr1 = 3FC8D0EF -Inner product checksum mr2 = 379F0D18 -Inner product checksum mr3 = 3592716E -Inner product checksum mr4 = 378F8A38 +Inner product checksum rho = 46D83078 +Inner product checksum theta = 51946D19 +Inner product checksum u = 6B12CF52 +Inner product checksum mr1 = 3FC8D0CF +Inner product checksum mr2 = 379FF52C +Inner product checksum mr3 = 35916958 +Inner product checksum mr4 = 378F5C33 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_azspice_gnu_fast-debug-32bit.txt index 7b41f59214..037bf98b95 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D8021C -Inner product checksum theta = 5392FB43 -Inner product checksum u = 6A97BB36 -Inner product checksum mr1 = 41CD04ED -Inner product checksum mr2 = 39CF41DA -Inner product checksum mr3 = 37AD8684 -Inner product checksum mr4 = 395BCF4A +Inner product checksum rho = 48D80224 +Inner product checksum theta = 5392FB23 +Inner product checksum u = 6A97B74C +Inner product checksum mr1 = 41CD0378 +Inner product checksum mr2 = 39CD1B9D +Inner product checksum mr3 = 37A593EC +Inner product checksum mr4 = 395A211E Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_da-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_da-C12_azspice_gnu_fast-debug-32bit.txt index c0234e917b..6d4b93b695 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_da-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_da-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D82271 -Inner product checksum theta = 518A76FA -Inner product checksum u = 6A8D516E -Inner product checksum mr1 = 3FD3FAE0 -Inner product checksum mr2 = 37CD9BA0 -Inner product checksum mr3 = 35A2C33A -Inner product checksum mr4 = 36F4D812 +Inner product checksum rho = 46D82434 +Inner product checksum theta = 518A76C7 +Inner product checksum u = 6A8D1F06 +Inner product checksum mr1 = 3FD4248B +Inner product checksum mr2 = 37C6B2CA +Inner product checksum mr3 = 359E5BDC +Inner product checksum mr4 = 36C78226 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt index 590117d687..927d9a6a1c 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D824B4 -Inner product checksum theta = 51952838 -Inner product checksum u = 6AD01BBB -Inner product checksum mr1 = 3FC8919C -Inner product checksum mr2 = 37AF5B94 -Inner product checksum mr3 = 351ECC99 -Inner product checksum mr4 = 36A0F544 +Inner product checksum rho = 46D824BC +Inner product checksum theta = 51952836 +Inner product checksum u = 6AD01BC5 +Inner product checksum mr1 = 3FC893CA +Inner product checksum mr2 = 37AF8588 +Inner product checksum mr3 = 351ED058 +Inner product checksum mr4 = 36A0EB4A Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C48_MG_azspice_gnu_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C48_MG_azspice_gnu_full-debug-32bit.txt index dd944fd004..60124837ab 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C48_MG_azspice_gnu_full-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C48_MG_azspice_gnu_full-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D81C6F +Inner product checksum rho = 48D81C6A Inner product checksum theta = 53952784 -Inner product checksum u = 6AA47E24 -Inner product checksum mr1 = 41C84620 -Inner product checksum mr2 = 39998DA1 -Inner product checksum mr3 = 3779C0E6 -Inner product checksum mr4 = 392E5CB8 +Inner product checksum u = 6AA47E1E +Inner product checksum mr1 = 41C845BF +Inner product checksum mr2 = 3999C55E +Inner product checksum mr3 = 37797187 +Inner product checksum mr4 = 392E5495 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda-C12_azspice_gnu_fast-debug-32bit.txt index 5723b483f0..5dec7d17c0 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D82442 -Inner product checksum theta = 518A59BD -Inner product checksum u = 6A8FE9DD -Inner product checksum mr1 = 3FD10322 -Inner product checksum mr2 = 37F62D0E -Inner product checksum mr3 = 359A1291 -Inner product checksum mr4 = 36E14339 +Inner product checksum rho = 46D824CC +Inner product checksum theta = 518A5A7A +Inner product checksum u = 6A8FC4BE +Inner product checksum mr1 = 3FD0F2AA +Inner product checksum mr2 = 37D5A66C +Inner product checksum mr3 = 358D8236 +Inner product checksum mr4 = 36CDDCCC Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda_jada-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda_jada-C12_azspice_gnu_fast-debug-32bit.txt index 15f6ac2b8c..efb4d7362d 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda_jada-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda_jada-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D82254 -Inner product checksum theta = 518A7482 -Inner product checksum u = 6A8D94FC -Inner product checksum mr1 = 3FD37AC0 -Inner product checksum mr2 = 37C336B2 -Inner product checksum mr3 = 35A59778 -Inner product checksum mr4 = 36DDAD60 +Inner product checksum rho = 46D82101 +Inner product checksum theta = 518A709B +Inner product checksum u = 6A8CA1DD +Inner product checksum mr1 = 3FD3B5EF +Inner product checksum mr2 = 37D34762 +Inner product checksum mr3 = 35A3B0B4 +Inner product checksum mr4 = 3709AB18 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_mol-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_mol-C12_azspice_gnu_fast-debug-32bit.txt index c6a9fb8406..eaee34dd8b 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_mol-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_mol-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D85F56 -Inner product checksum theta = 5193AF76 -Inner product checksum u = 6A8522F2 -Inner product checksum mr1 = 3FD04AA8 -Inner product checksum mr2 = 37AEA422 -Inner product checksum mr3 = 3582886F -Inner product checksum mr4 = 36BF0E9C +Inner product checksum rho = 46D861B8 +Inner product checksum theta = 5193B01F +Inner product checksum u = 6A860645 +Inner product checksum mr1 = 3FD03267 +Inner product checksum mr2 = 37BE03A0 +Inner product checksum mr3 = 35378487 +Inner product checksum mr4 = 36F4D139 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-C48_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-C48_MG_azspice_gnu_fast-debug-32bit.txt index d15a3a4d0d..34fd3ce990 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-C48_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-C48_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D818AB +Inner product checksum rho = 48D818AA Inner product checksum theta = 53948CA8 -Inner product checksum u = 6AA1D2E0 -Inner product checksum mr1 = 41C9608B -Inner product checksum mr2 = 39A927A8 -Inner product checksum mr3 = 3782D0E7 -Inner product checksum mr4 = 3924B0D3 +Inner product checksum u = 6AA1D18B +Inner product checksum mr1 = 41C96018 +Inner product checksum mr2 = 39A8D124 +Inner product checksum mr3 = 37836BEC +Inner product checksum mr4 = 39240428 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-coarse-C48_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-coarse-C48_MG_azspice_gnu_fast-debug-32bit.txt index d15a3a4d0d..34fd3ce990 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-coarse-C48_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_nudging-era-coarse-C48_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D818AB +Inner product checksum rho = 48D818AA Inner product checksum theta = 53948CA8 -Inner product checksum u = 6AA1D2E0 -Inner product checksum mr1 = 41C9608B -Inner product checksum mr2 = 39A927A8 -Inner product checksum mr3 = 3782D0E7 -Inner product checksum mr4 = 3924B0D3 +Inner product checksum u = 6AA1D18B +Inner product checksum mr1 = 41C96018 +Inner product checksum mr2 = 39A8D124 +Inner product checksum mr3 = 37836BEC +Inner product checksum mr4 = 39240428 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt index d16f1a0ac6..f032d77280 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D82C3A -Inner product checksum theta = 5194F750 -Inner product checksum u = 6AE7344D -Inner product checksum mr1 = 3FC8CBD9 -Inner product checksum mr2 = 37A8010D -Inner product checksum mr3 = 35570FBA -Inner product checksum mr4 = 371D520C +Inner product checksum rho = 46D82C36 +Inner product checksum theta = 5194F751 +Inner product checksum u = 6AE73411 +Inner product checksum mr1 = 3FC8CCB6 +Inner product checksum mr2 = 37A84524 +Inner product checksum mr3 = 3554C060 +Inner product checksum mr4 = 371CC668 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt index 1dc5e8a736..4ada8381bb 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 4839976E -Inner product checksum theta = 5135493F -Inner product checksum u = 612F4541 -Inner product checksum mr1 = 4090F5F2 -Inner product checksum mr2 = 35B52C74 -Inner product checksum mr3 = 2FA623EF -Inner product checksum mr4 = 33F4FD85 -Inner product checksum mr5 = BEDF71A +Inner product checksum rho = 48399770 +Inner product checksum theta = 51354940 +Inner product checksum u = 612F4542 +Inner product checksum mr1 = 4090F54C +Inner product checksum mr2 = 35C3F364 +Inner product checksum mr3 = 2FA60BA4 +Inner product checksum mr4 = 33F4FD75 +Inner product checksum mr5 = BEDF810 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt index c4f1497074..5fe1c15c27 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 4839997D -Inner product checksum theta = 51354898 -Inner product checksum u = 612F4B59 -Inner product checksum mr1 = 4091647E -Inner product checksum mr2 = 3682023B -Inner product checksum mr3 = 2FAD6342 -Inner product checksum mr4 = 33F4FE54 -Inner product checksum mr5 = BF85E1C +Inner product checksum rho = 48399984 +Inner product checksum theta = 51354895 +Inner product checksum u = 612F4B57 +Inner product checksum mr1 = 40916515 +Inner product checksum mr2 = 366D1654 +Inner product checksum mr3 = 2FADB862 +Inner product checksum mr4 = 33F4FE2A +Inner product checksum mr5 = BF85E8A Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt index 860a73933c..ce3e205b99 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48398C6A -Inner product checksum theta = 513542FB -Inner product checksum u = 612EE1D0 -Inner product checksum mr1 = 4091032B -Inner product checksum mr2 = 35976922 -Inner product checksum mr3 = 30013023 -Inner product checksum mr4 = 3404ABAD -Inner product checksum mr5 = C1462BB +Inner product checksum rho = 48398C6E +Inner product checksum theta = 513542FA +Inner product checksum u = 612EE1C2 +Inner product checksum mr1 = 409102D0 +Inner product checksum mr2 = 3594D694 +Inner product checksum mr3 = 300120CE +Inner product checksum mr4 = 3404AC0D +Inner product checksum mr5 = C1462C1 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt index 3790b31237..1d94d93c4d 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 4830B0BE -Inner product checksum theta = 513FD9C4 -Inner product checksum u = 5F75CB18 -Inner product checksum mr1 = 4155EF85 -Inner product checksum mr2 = 3B10733B -Inner product checksum mr3 = 32402F96 +Inner product checksum rho = 4830B0C0 +Inner product checksum theta = 513FD9D8 +Inner product checksum u = 5F75A9E5 +Inner product checksum mr1 = 4155E778 +Inner product checksum mr2 = 3B0A16BC +Inner product checksum mr3 = 322098D2 Inner product checksum mr4 = 0 -Inner product checksum mr5 = 10B42BDE +Inner product checksum mr5 = 11D1B075 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_thai_ben1-C48_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_thai_ben1-C48_MG_azspice_gnu_fast-debug-32bit.txt index 24d3dfae53..56b2aa579c 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_thai_ben1-C48_MG_azspice_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_thai_ben1-C48_MG_azspice_gnu_fast-debug-32bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 486B498D -Inner product checksum theta = 51CABEEB -Inner product checksum u = 63C8F0B6 +Inner product checksum rho = 486B498A +Inner product checksum theta = 51CABEEC +Inner product checksum u = 63C8F168 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_aquaplanet-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_aquaplanet-C12_ex1a_cce_fast-debug-32bit.txt index dda3fff565..655e961a04 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_aquaplanet-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_aquaplanet-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 468AD872 +Inner product checksum rho = 468AD88B Inner product checksum theta = 4FD68891 -Inner product checksum u = 6A4E49D6 -Inner product checksum mr1 = 3F0804D6 -Inner product checksum mr2 = 3684E4D7 -Inner product checksum mr3 = 3431F1E7 -Inner product checksum mr4 = 369B8C93 +Inner product checksum u = 6A4E3FE6 +Inner product checksum mr1 = 3F081138 +Inner product checksum mr2 = 36814668 +Inner product checksum mr3 = 3423B35E +Inner product checksum mr4 = 3699F136 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_camembert_case3_gj1214b-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_camembert_case3_gj1214b-C12_ex1a_cce_fast-debug-32bit.txt index f7d11c827e..6c0b5c227f 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_camembert_case3_gj1214b-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_camembert_case3_gj1214b-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 44D95799 -Inner product checksum theta = 5504FC4A -Inner product checksum u = 74276F0C +Inner product checksum rho = 44D95798 +Inner product checksum theta = 5504FC4B +Inner product checksum u = 74276EE6 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt index 66347643a7..6b7a3c725f 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D55BE4 -Inner product checksum theta = 518ED400 -Inner product checksum u = 6AFADD53 -Inner product checksum mr1 = 3FE15C11 -Inner product checksum mr2 = 372366A2 -Inner product checksum mr3 = 351F3121 -Inner product checksum mr4 = 36A768A1 +Inner product checksum rho = 46D55274 +Inner product checksum theta = 518ED2E2 +Inner product checksum u = 6AFA3B19 +Inner product checksum mr1 = 3FE1EA3A +Inner product checksum mr2 = 370F5A12 +Inner product checksum mr3 = 35203E70 +Inner product checksum mr4 = 36ABE224 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt index 931165ddaa..35a122a2ef 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D66E35 -Inner product checksum theta = 5193C3A4 -Inner product checksum u = 6B1999A7 -Inner product checksum mr1 = 3FCF70FD -Inner product checksum mr2 = 372AB1AA -Inner product checksum mr3 = 354F5874 -Inner product checksum mr4 = 36A0D420 +Inner product checksum rho = 46D66DC9 +Inner product checksum theta = 5193C4C0 +Inner product checksum u = 6B1971C7 +Inner product checksum mr1 = 3FCF7E67 +Inner product checksum mr2 = 372516C5 +Inner product checksum mr3 = 3537D056 +Inner product checksum mr4 = 368F19D2 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt index 359ee7252b..c8d4d4e769 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D660F4 -Inner product checksum theta = 539A0A3F -Inner product checksum u = 6B12771E -Inner product checksum mr1 = 41CC3D3E -Inner product checksum mr2 = 396AB454 -Inner product checksum mr3 = 37CE9667 -Inner product checksum mr4 = 3946EA25 +Inner product checksum rho = 48D660E9 +Inner product checksum theta = 539A0A3E +Inner product checksum u = 6B1276EB +Inner product checksum mr1 = 41CC3CC4 +Inner product checksum mr2 = 396D8D8A +Inner product checksum mr3 = 37C04425 +Inner product checksum mr4 = 394634F8 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt index 2194d3834d..de2879363c 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D66DDA -Inner product checksum theta = 5193C3C4 -Inner product checksum u = 6B19A3DB -Inner product checksum mr1 = 3FCF67AC -Inner product checksum mr2 = 3724841D -Inner product checksum mr3 = 354329C0 -Inner product checksum mr4 = 369A8040 +Inner product checksum rho = 46D66D8E +Inner product checksum theta = 5193C3F6 +Inner product checksum u = 6B198E46 +Inner product checksum mr1 = 3FCF7844 +Inner product checksum mr2 = 372CD886 +Inner product checksum mr3 = 3544F278 +Inner product checksum mr4 = 36A1BCC7 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt index 6f771d7ad6..6cd41c2b7e 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D66102 +Inner product checksum rho = 48D660F5 Inner product checksum theta = 539A0A3E -Inner product checksum u = 6B1277C4 -Inner product checksum mr1 = 41CC3C39 -Inner product checksum mr2 = 3969D9C4 -Inner product checksum mr3 = 37C0986C -Inner product checksum mr4 = 39464F7B +Inner product checksum u = 6B12773F +Inner product checksum mr1 = 41CC3CC4 +Inner product checksum mr2 = 39696F54 +Inner product checksum mr3 = 37C119AE +Inner product checksum mr4 = 3946F860 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt index 12ca70494a..cec3f5904b 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D660EC -Inner product checksum theta = 539A0A3F -Inner product checksum u = 6B1277AE -Inner product checksum mr1 = 41CC3B22 -Inner product checksum mr2 = 396AA66C -Inner product checksum mr3 = 37C34D02 -Inner product checksum mr4 = 39474FD8 +Inner product checksum rho = 48D660EF +Inner product checksum theta = 539A0A3E +Inner product checksum u = 6B12773F +Inner product checksum mr1 = 41CC3C8B +Inner product checksum mr2 = 396BD5BA +Inner product checksum mr3 = 37C302CC +Inner product checksum mr4 = 39479EEB Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem-C12_ex1a_cce_fast-debug-32bit.txt index 6b237c1477..14b647ec26 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D555EC -Inner product checksum theta = 518ED338 -Inner product checksum u = 6AFA3939 -Inner product checksum mr1 = 3FE1B97E -Inner product checksum mr2 = 371BE67E -Inner product checksum mr3 = 3519EF7A -Inner product checksum mr4 = 3698EB76 +Inner product checksum rho = 46D55957 +Inner product checksum theta = 518ED43E +Inner product checksum u = 6AFAA786 +Inner product checksum mr1 = 3FE19092 +Inner product checksum mr2 = 3727057C +Inner product checksum mr3 = 3523F007 +Inner product checksum mr4 = 36AAAEE3 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt index c5faf15f8b..eef2c72030 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D66D62 -Inner product checksum theta = 5193C3F4 -Inner product checksum u = 6B1A029E -Inner product checksum mr1 = 3FCF85E6 -Inner product checksum mr2 = 3733FC1B -Inner product checksum mr3 = 354B8154 -Inner product checksum mr4 = 369D878E +Inner product checksum rho = 46D66DA8 +Inner product checksum theta = 5193C3B6 +Inner product checksum u = 6B19FBA5 +Inner product checksum mr1 = 3FCF8916 +Inner product checksum mr2 = 37412BE8 +Inner product checksum mr3 = 3541820C +Inner product checksum mr4 = 36942484 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt index 0b717ad431..12ce35a878 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D66D87 -Inner product checksum theta = 5193C3F6 -Inner product checksum u = 6B19DE2F -Inner product checksum mr1 = 3FCF98CC -Inner product checksum mr2 = 37329657 -Inner product checksum mr3 = 3540DD7C -Inner product checksum mr4 = 368F7D88 +Inner product checksum rho = 46D66D6C +Inner product checksum theta = 5193C35D +Inner product checksum u = 6B1A1692 +Inner product checksum mr1 = 3FCF9D0B +Inner product checksum mr2 = 37338CBE +Inner product checksum mr3 = 35478BFA +Inner product checksum mr4 = 3699DDFA Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt index ec0d761a33..a07e601957 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D68592 -Inner product checksum theta = 519A8C20 -Inner product checksum u = 6B2FD52F -Inner product checksum mr1 = 3FCB806F -Inner product checksum mr2 = 3748E0F3 -Inner product checksum mr3 = 35D8C50B -Inner product checksum mr4 = 37A00972 +Inner product checksum rho = 46D685B2 +Inner product checksum theta = 519A8C21 +Inner product checksum u = 6B2FD454 +Inner product checksum mr1 = 3FCB846A +Inner product checksum mr2 = 37443A28 +Inner product checksum mr3 = 35D69FC4 +Inner product checksum mr4 = 37A0BBCB Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_comp_tran_ref_3d_l120-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_comp_tran_ref_3d_l120-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt index 19f5c497be..1674785c76 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_comp_tran_ref_3d_l120-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_comp_tran_ref_3d_l120-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 489A8535 -Inner product checksum theta = 51BA4F6E -Inner product checksum u = 5F11806C -Inner product checksum mr1 = 4187F10B -Inner product checksum mr2 = 3B057E7D -Inner product checksum mr3 = 34EB6824 +Inner product checksum rho = 489A8527 +Inner product checksum theta = 51BA4F11 +Inner product checksum u = 5F117E49 +Inner product checksum mr1 = 4188715E +Inner product checksum mr2 = 3AEC1F3E +Inner product checksum mr3 = 34D968B8 Inner product checksum mr4 = 0 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_hd209458b-C24_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_hd209458b-C24_ex1a_cce_fast-debug-32bit.txt index 3bedb6a33e..f9cd6734d3 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_hd209458b-C24_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_hd209458b-C24_ex1a_cce_fast-debug-32bit.txt @@ -1,3 +1,3 @@ Inner product checksum rho = 4798D97E -Inner product checksum theta = 5840677B -Inner product checksum u = 79B9E9D1 +Inner product checksum theta = 5840677C +Inner product checksum u = 79B9EA0E diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_casim-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_casim-C12_ex1a_cce_fast-debug-32bit.txt index 06436131f7..8d560af3fe 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_casim-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_casim-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D87272 -Inner product checksum theta = 518CDB75 -Inner product checksum u = 6A8AAF33 -Inner product checksum mr1 = 3FCD5E39 -Inner product checksum mr2 = 38282A3A -Inner product checksum mr3 = 3556DEAD -Inner product checksum mr4 = 369FEF9B -Inner product checksum mr5 = 2D167EAA -Inner product checksum mr6 = 3556546F +Inner product checksum rho = 46D87457 +Inner product checksum theta = 518CD82D +Inner product checksum u = 6A8AD17E +Inner product checksum mr1 = 3FCD7225 +Inner product checksum mr2 = 382CD4AD +Inner product checksum mr3 = 356145D2 +Inner product checksum mr4 = 3691FD8A +Inner product checksum mr5 = 2D0C9934 +Inner product checksum mr6 = 358BE696 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_coma9-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_coma9-C12_ex1a_cce_fast-debug-32bit.txt index db052cf5af..6fa5111806 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_coma9-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_coma9-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D86736 -Inner product checksum theta = 518CDC3C -Inner product checksum u = 6A875D93 -Inner product checksum mr1 = 3FD05382 -Inner product checksum mr2 = 37F10482 -Inner product checksum mr3 = 37A876A5 -Inner product checksum mr4 = 379EC392 -Inner product checksum mr5 = 36BC8CAA +Inner product checksum rho = 46D86854 +Inner product checksum theta = 518CDA30 +Inner product checksum u = 6A880AE8 +Inner product checksum mr1 = 3FD01054 +Inner product checksum mr2 = 37F9520E +Inner product checksum mr3 = 37A469E8 +Inner product checksum mr4 = 37A4DA2B +Inner product checksum mr5 = 36B6E215 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_dev-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_dev-C12_ex1a_cce_fast-debug-32bit.txt index 0dcb218946..16c802a464 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_dev-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_dev-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D85953 -Inner product checksum theta = 518CE25D -Inner product checksum u = 6A86FB0C -Inner product checksum mr1 = 3FD1DB74 -Inner product checksum mr2 = 37FB8657 -Inner product checksum mr3 = 378A6134 -Inner product checksum mr4 = 37BD78C2 -Inner product checksum mr5 = 36B4D5EE +Inner product checksum rho = 46D85716 +Inner product checksum theta = 518CE3EB +Inner product checksum u = 6A87A050 +Inner product checksum mr1 = 3FD18E3B +Inner product checksum mr2 = 37E70FE4 +Inner product checksum mr3 = 379D5901 +Inner product checksum mr4 = 37D15BD1 +Inner product checksum mr5 = 36CAFEA9 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_tb-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_tb-C12_ex1a_cce_fast-debug-32bit.txt index cfda15ea54..b49491cdae 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_tb-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_tb-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D8751D -Inner product checksum theta = 518CE870 -Inner product checksum u = 6A857C78 -Inner product checksum mr1 = 3FCEA36E -Inner product checksum mr2 = 37E69B74 -Inner product checksum mr3 = 3776EF45 -Inner product checksum mr4 = 37625EB0 -Inner product checksum mr5 = 360586A5 +Inner product checksum rho = 46D8762E +Inner product checksum theta = 518CE71C +Inner product checksum u = 6A84EDDF +Inner product checksum mr1 = 3FCE70A4 +Inner product checksum mr2 = 37E2D11E +Inner product checksum mr3 = 378AF921 +Inner product checksum mr4 = 37739952 +Inner product checksum mr5 = 361B9810 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt index a0fc30fb72..6d3e508500 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D859AE -Inner product checksum theta = 518CDB40 -Inner product checksum u = 6A888FCA -Inner product checksum mr1 = 3FD09B14 -Inner product checksum mr2 = 37C0504E -Inner product checksum mr3 = 35B474D2 -Inner product checksum mr4 = 3709D77A +Inner product checksum rho = 46D85A7A +Inner product checksum theta = 518CDA4E +Inner product checksum u = 6A88628E +Inner product checksum mr1 = 3FD0804E +Inner product checksum mr2 = 37CAD0EC +Inner product checksum mr3 = 35B5CA8E +Inner product checksum mr4 = 36FE42E1 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt index 4998b3e9f2..9846fe7404 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 40DB0B42E8F252B1 -Inner product checksum theta = 42319B832BA5B31B -Inner product checksum u = 45511EBD4844C9BA -Inner product checksum mr1 = 3FFA119D37D3CEE4 -Inner product checksum mr2 = 3EFA0EF01DF598A1 -Inner product checksum mr3 = 3EB17DA7EEB87F1F -Inner product checksum mr4 = 3EE4B6A9FEC42664 +Inner product checksum rho = 40DB0B4776664F6A +Inner product checksum theta = 42319B3DF20AF765 +Inner product checksum u = 455125C600439CD0 +Inner product checksum mr1 = 3FFA105BC459DDA0 +Inner product checksum mr2 = 3EF7CE896B081428 +Inner product checksum mr3 = 3EB1BD58158773D7 +Inner product checksum mr4 = 3EE40977D90D9295 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt index 58b791b9b7..f34ab665a8 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D8028A -Inner product checksum theta = 5392FAEB -Inner product checksum u = 6A97C584 -Inner product checksum mr1 = 41CD0C24 -Inner product checksum mr2 = 39D0F649 -Inner product checksum mr3 = 37A6CB0A -Inner product checksum mr4 = 395554A8 +Inner product checksum rho = 48D80285 +Inner product checksum theta = 5392FAF4 +Inner product checksum u = 6A97C4A8 +Inner product checksum mr1 = 41CD0850 +Inner product checksum mr2 = 39CF5ACB +Inner product checksum mr3 = 37ABBAB4 +Inner product checksum mr4 = 395D5B5F Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-pert-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-pert-C12_ex1a_cce_fast-debug-32bit.txt index e1df49dc77..c3aab6a790 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-pert-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-pert-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D830A4 -Inner product checksum theta = 51946D13 -Inner product checksum u = 6B12D64E -Inner product checksum mr1 = 3FC8D038 -Inner product checksum mr2 = 37A1CDE6 -Inner product checksum mr3 = 358B8F92 -Inner product checksum mr4 = 378F2D8E +Inner product checksum rho = 46D830A1 +Inner product checksum theta = 51946D16 +Inner product checksum u = 6B12D29A +Inner product checksum mr1 = 3FC8D134 +Inner product checksum mr2 = 37A41782 +Inner product checksum mr3 = 358F0DAC +Inner product checksum mr4 = 378F46FC Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt index d00ad88546..8b9020e02d 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D8143A -Inner product checksum theta = 518FB733 -Inner product checksum u = 6AF79948 -Inner product checksum mr1 = 3FCC11F3 -Inner product checksum mr2 = 37B5299E -Inner product checksum mr3 = 349B0FED -Inner product checksum mr4 = 36D3A1A1 +Inner product checksum rho = 46D813E3 +Inner product checksum theta = 518FB73C +Inner product checksum u = 6AF78396 +Inner product checksum mr1 = 3FCC0740 +Inner product checksum mr2 = 37B0EDC0 +Inner product checksum mr3 = 34A0041B +Inner product checksum mr4 = 36DAA736 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt index 58b791b9b7..f34ab665a8 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D8028A -Inner product checksum theta = 5392FAEB -Inner product checksum u = 6A97C584 -Inner product checksum mr1 = 41CD0C24 -Inner product checksum mr2 = 39D0F649 -Inner product checksum mr3 = 37A6CB0A -Inner product checksum mr4 = 395554A8 +Inner product checksum rho = 48D80285 +Inner product checksum theta = 5392FAF4 +Inner product checksum u = 6A97C4A8 +Inner product checksum mr1 = 41CD0850 +Inner product checksum mr2 = 39CF5ACB +Inner product checksum mr3 = 37ABBAB4 +Inner product checksum mr4 = 395D5B5F Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt index e6b192b586..974b5831ab 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D8140A -Inner product checksum theta = 518FB758 -Inner product checksum u = 6AF7A518 -Inner product checksum mr1 = 3FCBFE6A -Inner product checksum mr2 = 37AC24FA -Inner product checksum mr3 = 34B1C117 -Inner product checksum mr4 = 36CF3D60 +Inner product checksum rho = 46D813CB +Inner product checksum theta = 518FB74E +Inner product checksum u = 6AF7859C +Inner product checksum mr1 = 3FCC0248 +Inner product checksum mr2 = 37AE3736 +Inner product checksum mr3 = 3494E54A +Inner product checksum mr4 = 36D281A2 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt index 200e893c13..191cd99f5d 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D802C6 -Inner product checksum theta = 5392FAFB -Inner product checksum u = 6A97C43E -Inner product checksum mr1 = 41CD0D24 -Inner product checksum mr2 = 39CC9DDC -Inner product checksum mr3 = 37ABB78F -Inner product checksum mr4 = 395C0174 +Inner product checksum rho = 48D80298 +Inner product checksum theta = 5392FAE6 +Inner product checksum u = 6A97C1B0 +Inner product checksum mr1 = 41CD0628 +Inner product checksum mr2 = 39CE5E57 +Inner product checksum mr3 = 37A8AEB5 +Inner product checksum mr4 = 395B4D79 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_full-debug-32bit.txt index 412667ca26..e60f20c2bc 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_full-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_2T-C48_MG_ex1a_cce_full-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D8017E -Inner product checksum theta = 5392FB14 -Inner product checksum u = 6A97BAD1 -Inner product checksum mr1 = 41CD0710 -Inner product checksum mr2 = 39CD9F9E -Inner product checksum mr3 = 37A9CC88 -Inner product checksum mr4 = 395A939A +Inner product checksum rho = 48D801A1 +Inner product checksum theta = 5392FB04 +Inner product checksum u = 6A97BD04 +Inner product checksum mr1 = 41CD102C +Inner product checksum mr2 = 39CD36B2 +Inner product checksum mr3 = 37A70DD6 +Inner product checksum mr4 = 3959407E Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt index 91d54db32f..bef733b44c 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D802CC -Inner product checksum theta = 5392FAFB -Inner product checksum u = 6A97C822 -Inner product checksum mr1 = 41CD0F06 -Inner product checksum mr2 = 39CD29F7 -Inner product checksum mr3 = 37A9D5E6 -Inner product checksum mr4 = 395B3E2C +Inner product checksum rho = 48D802BE +Inner product checksum theta = 5392FAF2 +Inner product checksum u = 6A97BFD6 +Inner product checksum mr1 = 41CD1464 +Inner product checksum mr2 = 39CF2EDF +Inner product checksum mr3 = 37ABE262 +Inner product checksum mr4 = 3957E9A0 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_ex1a_cce_fast-debug-32bit.txt index e41490fc72..fae1ff2458 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D8030C -Inner product checksum theta = 5392FB17 -Inner product checksum u = 6A97C4B2 -Inner product checksum mr1 = 41CD10F0 -Inner product checksum mr2 = 39D07B7C -Inner product checksum mr3 = 37A61263 -Inner product checksum mr4 = 3958C8DC +Inner product checksum rho = 48D8031D +Inner product checksum theta = 5392FB26 +Inner product checksum u = 6A97BDB4 +Inner product checksum mr1 = 41CD04A9 +Inner product checksum mr2 = 39D0EBA2 +Inner product checksum mr3 = 37A8F67A +Inner product checksum mr4 = 395BAAE1 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt index f4f74cbd10..fb96dde547 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D800F9 -Inner product checksum theta = 5392FB51 -Inner product checksum u = 6A97C108 -Inner product checksum mr1 = 41CCEDC2 -Inner product checksum mr2 = 39CD82A0 -Inner product checksum mr3 = 37B69FBA -Inner product checksum mr4 = 396FD06A +Inner product checksum rho = 48D80118 +Inner product checksum theta = 5392FB33 +Inner product checksum u = 6A97BFD0 +Inner product checksum mr1 = 41CCE786 +Inner product checksum mr2 = 39CEAEC2 +Inner product checksum mr3 = 37B3577E +Inner product checksum mr4 = 396FFCD0 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt index 9ab582201e..3d33a1e6d8 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D7FFF1 -Inner product checksum theta = 5392FB12 -Inner product checksum u = 6A97B953 -Inner product checksum mr1 = 41CCE325 -Inner product checksum mr2 = 39D021C8 -Inner product checksum mr3 = 37AD16F8 -Inner product checksum mr4 = 396A1DF2 +Inner product checksum rho = 48D7FFBB +Inner product checksum theta = 5392FB2B +Inner product checksum u = 6A97B372 +Inner product checksum mr1 = 41CCE94C +Inner product checksum mr2 = 39D3E690 +Inner product checksum mr3 = 37ADA641 +Inner product checksum mr4 = 396E46F6 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_da-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_da-C12_ex1a_cce_fast-debug-32bit.txt index 70ce77b08f..1e851f77e8 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_da-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_da-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D823A6 -Inner product checksum theta = 518A7AD8 -Inner product checksum u = 6A8CBBA6 -Inner product checksum mr1 = 3FD3DD84 -Inner product checksum mr2 = 37BFD0E0 -Inner product checksum mr3 = 35A391A4 -Inner product checksum mr4 = 36C82F70 +Inner product checksum rho = 46D82378 +Inner product checksum theta = 518A7746 +Inner product checksum u = 6A8CF0E4 +Inner product checksum mr1 = 3FD3F2D7 +Inner product checksum mr2 = 37C4DFE6 +Inner product checksum mr3 = 359BC4F7 +Inner product checksum mr4 = 36BE7CF2 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt index ec53c87c9a..8f8c6ed88f 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D824BC +Inner product checksum rho = 46D824B4 Inner product checksum theta = 5195283A -Inner product checksum u = 6AD01C94 -Inner product checksum mr1 = 3FC8923C -Inner product checksum mr2 = 37AF4708 -Inner product checksum mr3 = 35209A2C -Inner product checksum mr4 = 36A0BF07 +Inner product checksum u = 6AD01BC8 +Inner product checksum mr1 = 3FC891C2 +Inner product checksum mr2 = 37AFE748 +Inner product checksum mr3 = 351FE074 +Inner product checksum mr4 = 36A0A594 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C48_MG_ex1a_cce_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C48_MG_ex1a_cce_full-debug-32bit.txt index fee232601c..e21b170192 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C48_MG_ex1a_cce_full-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C48_MG_ex1a_cce_full-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48D81C6A +Inner product checksum rho = 48D81C6B Inner product checksum theta = 53952784 -Inner product checksum u = 6AA47E10 -Inner product checksum mr1 = 41C8458B -Inner product checksum mr2 = 3999320F -Inner product checksum mr3 = 377ABC9C -Inner product checksum mr4 = 392E2590 +Inner product checksum u = 6AA47E12 +Inner product checksum mr1 = 41C845A7 +Inner product checksum mr2 = 399A11FA +Inner product checksum mr3 = 377B8DB0 +Inner product checksum mr4 = 392DF18F Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt index a519c9c842..ca30df405a 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D8253D -Inner product checksum theta = 518A58A9 -Inner product checksum u = 6A8FD172 -Inner product checksum mr1 = 3FD10F8E -Inner product checksum mr2 = 37DEE0C2 -Inner product checksum mr3 = 35AD9228 -Inner product checksum mr4 = 36DCB491 +Inner product checksum rho = 46D824D5 +Inner product checksum theta = 518A58FE +Inner product checksum u = 6A8FA266 +Inner product checksum mr1 = 3FD0FABF +Inner product checksum mr2 = 37DF0408 +Inner product checksum mr3 = 35934D12 +Inner product checksum mr4 = 36DB0C0F Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda_jada-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda_jada-C12_ex1a_cce_fast-debug-32bit.txt index 82644ed9d1..9413419807 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda_jada-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda_jada-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D82264 -Inner product checksum theta = 518A76F0 -Inner product checksum u = 6A8C6BAE -Inner product checksum mr1 = 3FD3AB41 -Inner product checksum mr2 = 37C8C1CC -Inner product checksum mr3 = 35C9E3CA -Inner product checksum mr4 = 36D33680 +Inner product checksum rho = 46D823E0 +Inner product checksum theta = 518A746A +Inner product checksum u = 6A8CB63A +Inner product checksum mr1 = 3FD3BF55 +Inner product checksum mr2 = 37C80188 +Inner product checksum mr3 = 35AC1B1E +Inner product checksum mr4 = 36C9CBE5 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt index 0c85699ce8..cb1ace9942 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D85D8A -Inner product checksum theta = 5193B007 -Inner product checksum u = 6A860725 -Inner product checksum mr1 = 3FD0685A -Inner product checksum mr2 = 37A9D4D0 -Inner product checksum mr3 = 357D9B2E -Inner product checksum mr4 = 36FD7E5D +Inner product checksum rho = 46D85EFA +Inner product checksum theta = 5193AF3C +Inner product checksum u = 6A85AF02 +Inner product checksum mr1 = 3FD06E90 +Inner product checksum mr2 = 37AA76C2 +Inner product checksum mr3 = 354E9EF8 +Inner product checksum mr4 = 36E2CB5C Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt index 1a8c8025e2..3b295fed30 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 46D82C32 -Inner product checksum theta = 5194F74E -Inner product checksum u = 6AE73BBF -Inner product checksum mr1 = 3FC8CB40 -Inner product checksum mr2 = 37A4F994 -Inner product checksum mr3 = 35589AB0 -Inner product checksum mr4 = 371FAA10 +Inner product checksum rho = 46D82C30 +Inner product checksum theta = 5194F74C +Inner product checksum u = 6AE739F6 +Inner product checksum mr1 = 3FC8CADE +Inner product checksum mr2 = 37A36C68 +Inner product checksum mr3 = 3559050E +Inner product checksum mr4 = 371F663E Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt index 9bc98bedff..63b9524565 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 483997B8 +Inner product checksum rho = 483997BE Inner product checksum theta = 51354960 -Inner product checksum u = 612F4908 -Inner product checksum mr1 = 4090FB27 -Inner product checksum mr2 = 35C384D7 -Inner product checksum mr3 = 2FA63AE1 -Inner product checksum mr4 = 33F4FE43 -Inner product checksum mr5 = BECD20C +Inner product checksum u = 612F490B +Inner product checksum mr1 = 4090FAF4 +Inner product checksum mr2 = 35AC3186 +Inner product checksum mr3 = 2FA673FD +Inner product checksum mr4 = 33F4FE5A +Inner product checksum mr5 = BECD17B Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt index 96b545661b..fbacc8606a 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 483997E4 +Inner product checksum rho = 483997DE Inner product checksum theta = 5135494E -Inner product checksum u = 612F4984 -Inner product checksum mr1 = 409110AE -Inner product checksum mr2 = 35CD0BC9 -Inner product checksum mr3 = 2FA90EEB -Inner product checksum mr4 = 33F4FF6B -Inner product checksum mr5 = BF17D80 +Inner product checksum u = 612F4983 +Inner product checksum mr1 = 4091105C +Inner product checksum mr2 = 35F5D644 +Inner product checksum mr3 = 2FA90FC5 +Inner product checksum mr4 = 33F4FF78 +Inner product checksum mr5 = BF1836E Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt index 83558d0fbc..33924f856f 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 48398C65 +Inner product checksum rho = 48398C6A Inner product checksum theta = 51354302 -Inner product checksum u = 612EDCB8 -Inner product checksum mr1 = 4091035E -Inner product checksum mr2 = 358FA32F -Inner product checksum mr3 = 30011A09 -Inner product checksum mr4 = 3404AC29 -Inner product checksum mr5 = C14A275 +Inner product checksum u = 612EDCC2 +Inner product checksum mr1 = 409102F0 +Inner product checksum mr2 = 359C7095 +Inner product checksum mr3 = 3001059E +Inner product checksum mr4 = 3404AC2B +Inner product checksum mr5 = C14A271 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt index d11d1aa6bc..9d8672e61f 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 4830B15C -Inner product checksum theta = 513FD929 -Inner product checksum u = 5F75B3E5 -Inner product checksum mr1 = 41562472 -Inner product checksum mr2 = 3B05CA1A -Inner product checksum mr3 = 31F1D1D3 +Inner product checksum rho = 4830B131 +Inner product checksum theta = 513FD941 +Inner product checksum u = 5F75B504 +Inner product checksum mr1 = 41560D37 +Inner product checksum mr2 = 3B090D74 +Inner product checksum mr3 = 32041A27 Inner product checksum mr4 = 0 -Inner product checksum mr5 = D982DAF +Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_thai_ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_thai_ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt index 4806bc6f81..caaa0094bc 100644 --- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_thai_ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_thai_ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 486B498F -Inner product checksum theta = 51CABEA1 -Inner product checksum u = 63C8D817 +Inner product checksum rho = 486B4990 +Inner product checksum theta = 51CABEA0 +Inner product checksum u = 63C8D8F9 diff --git a/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt index 2de318fa34..b16dbfbc88 100644 --- a/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 411B54F183D56854 -Inner product checksum theta = 42735B56BC449AF4 -Inner product checksum u = 456F14EB6ECBB53D -Inner product checksum mr1 = 40368369522F927D -Inner product checksum mr2 = 3F3F836AA0EE5BA2 -Inner product checksum mr3 = 3F034976B0747F56 -Inner product checksum mr4 = 3F36ED5F333166A4 +Inner product checksum rho = 411B54F3402B831A +Inner product checksum theta = 42735B571287C56A +Inner product checksum u = 456F1345F492410E +Inner product checksum mr1 = 403683FC490F50DB +Inner product checksum mr2 = 3F3F8BCE74D4EB8A +Inner product checksum mr3 = 3F03C29104089F47 +Inner product checksum mr4 = 3F37094D8F9E5909 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt index 45d4c10e3b..d83c47477f 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 3F2021022E1D4DE1 -Inner product checksum theta = 403304F060122F74 -Inner product checksum u = 4330546F91FA49BE +Inner product checksum rho = 3F2021022E2553C6 +Inner product checksum theta = 403304F060222FF7 +Inner product checksum u = 4330546F920A29CA diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301_ffsl-C24_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301_ffsl-C24_azspice_gnu_fast-debug-64bit.txt index 9860a7b5e1..4e2562e938 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301_ffsl-C24_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301_ffsl-C24_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 3F206E3D4C807112 -Inner product checksum theta = 40336C44E00844F6 -Inner product checksum u = 43315AD0A3195900 +Inner product checksum rho = 3F206E3D4B399D51 +Inner product checksum theta = 40336C44DED93EA5 +Inner product checksum u = 43315AD0A2179BA6 diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt index ba9a2f2062..9f909347a6 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA537DE1ABEA126 -Inner product checksum theta = 4160EF66FAA7B62E -Inner product checksum u = 4568491AFEE16023 -Inner product checksum mr1 = 3F35AA314C95B745 -Inner product checksum mr2 = 3EEB2DAA98569C51 -Inner product checksum mr3 = 3EDF8ABAB60F71E7 -Inner product checksum mr4 = 3EED80024A14D167 +Inner product checksum rho = 3FA537DE82CA41B6 +Inner product checksum theta = 4160EF68004A5B80 +Inner product checksum u = 4568491CCF78631B +Inner product checksum mr1 = 3F35AA32EF0F3D92 +Inner product checksum mr2 = 3EEB2DAAA36811F1 +Inner product checksum mr3 = 3EDF8ABAACBB484D +Inner product checksum mr4 = 3EED800243D7C675 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_production-32bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_production-32bit.txt index 731bf6b48f..45fbc3f141 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_production-32bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_production-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3D29E550 -Inner product checksum theta = 4B07799A -Inner product checksum u = 6B42467C -Inner product checksum mr1 = 39AD62C7 -Inner product checksum mr2 = 375955A4 -Inner product checksum mr3 = 36FC52AB -Inner product checksum mr4 = 376C1B8E +Inner product checksum rho = 3D29E55E +Inner product checksum theta = 4B077999 +Inner product checksum u = 6B424674 +Inner product checksum mr1 = 39AD62A0 +Inner product checksum mr2 = 375955A3 +Inner product checksum mr3 = 36FC52A9 +Inner product checksum mr4 = 376C1B91 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_ffsl-C12_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_ffsl-C12_MG_azspice_gnu_fast-debug-64bit.txt index 8396b5a0b7..bfdf51b110 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_ffsl-C12_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_ffsl-C12_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FB39A8B4133EA3B -Inner product checksum theta = 4178F73D2A41BCA2 -Inner product checksum u = 4575A242A1F23A70 -Inner product checksum mr1 = 3F971B8D2ED8BFBB -Inner product checksum mr2 = 3F73B22D00A16129 -Inner product checksum mr3 = 3EF2330E83AF14F0 -Inner product checksum mr4 = 3EF2D4660173285F +Inner product checksum rho = 3FB39A8202AF0879 +Inner product checksum theta = 4178F73E75B86936 +Inner product checksum u = 4575A243C2E3ACF1 +Inner product checksum mr1 = 3F971B8137FE940A +Inner product checksum mr2 = 3F73B22CDDF6DE79 +Inner product checksum mr3 = 3EF2330E85843473 +Inner product checksum mr4 = 3EF2D465F6CE7F01 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt index fe3eacdb50..96bf52a3e0 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 40B0960E107B8CF0 -Inner product checksum theta = 43076FC8D3910602 -Inner product checksum u = 4697A25AFBB59CB7 -Inner product checksum mr1 = 40887EB173CACC00 -Inner product checksum mr2 = 4069AB3CD28C8FEF -Inner product checksum mr3 = 4069B44AEB709C7E -Inner product checksum mr4 = 406997D0AB56E276 +Inner product checksum rho = 40B0960D6B965E72 +Inner product checksum theta = 43076FC8D53DA585 +Inner product checksum u = 4697A25AEBBE10C8 +Inner product checksum mr1 = 40887EB19E6CE334 +Inner product checksum mr2 = 4069AB3CD25E4D67 +Inner product checksum mr3 = 4069B44AEB678E79 +Inner product checksum mr4 = 406997D0AB656036 Inner product checksum mr5 = 406997D0C9B8EEFB Inner product checksum mr6 = 40699547929283AC diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt index 4726c0f2fa..2667877aa7 100644 --- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 3EED280BC77517C3 -Inner product checksum theta = 4012F415A1A27A88 -Inner product checksum u = 43A4936A5FCA26C4 +Inner product checksum rho = 3EED280BC776D4BA +Inner product checksum theta = 4012F415A1A2BA54 +Inner product checksum u = 43A4936A5FC310DB diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt index ede0c3dfc9..a691b82170 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 3F2021022E17CF44 -Inner product checksum theta = 403304F05FF1E009 -Inner product checksum u = 4330546F9208454A +Inner product checksum rho = 3F2021022E2A0954 +Inner product checksum theta = 403304F060030645 +Inner product checksum u = 4330546F92125085 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301_ffsl-C24_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301_ffsl-C24_ex1a_gnu_fast-debug-64bit.txt index a6dc78f0fa..e24af3032d 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301_ffsl-C24_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301_ffsl-C24_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 3F206E54B9DDCDE5 -Inner product checksum theta = 40336C41B5C0F985 -Inner product checksum u = 43315AD6EE051124 +Inner product checksum rho = 3F206E54BA3B2DB9 +Inner product checksum theta = 40336C41B5AF0BA8 +Inner product checksum u = 43315AD6ED894FA8 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-32bit.txt index 0f571ad32f..201048d689 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3D298D26 -Inner product checksum theta = 4B077AFB -Inner product checksum u = 6B424901 -Inner product checksum mr1 = 39AD5127 -Inner product checksum mr2 = 3759683B -Inner product checksum mr3 = 36FC6E23 +Inner product checksum rho = 3D298D3A +Inner product checksum theta = 4B077B02 +Inner product checksum u = 6B42490A +Inner product checksum mr1 = 39AD5108 +Inner product checksum mr2 = 3759683C +Inner product checksum mr3 = 36FC6E26 Inner product checksum mr4 = 376C19BA Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt index 17e3d1e2c4..58b6dbe1f0 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA537D95FAB1ECB -Inner product checksum theta = 4160EF67010FC899 -Inner product checksum u = 4568491B24BCB1EB -Inner product checksum mr1 = 3F35AA3628DE30BE -Inner product checksum mr2 = 3EEB2DAAA103BE1C -Inner product checksum mr3 = 3EDF8ABAA7EB7E4A -Inner product checksum mr4 = 3EED8002CA757F6A +Inner product checksum rho = 3FA537DA27319ECF +Inner product checksum theta = 4160EF67B0B11982 +Inner product checksum u = 4568491BD0940922 +Inner product checksum mr1 = 3F35AA369C54BDA9 +Inner product checksum mr2 = 3EEB2DAAFE794C5E +Inner product checksum mr3 = 3EDF8ABAA7C326A2 +Inner product checksum mr4 = 3EED8002A3A271BA Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-32bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-32bit.txt index fd87985e38..2c23406545 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-32bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-32bit.txt @@ -1,7 +1,7 @@ -Inner product checksum rho = 3D29A247 -Inner product checksum theta = 4B077A6F -Inner product checksum u = 6B424812 -Inner product checksum mr1 = 39AD4A4A +Inner product checksum rho = 3D29A238 +Inner product checksum theta = 4B077A6D +Inner product checksum u = 6B424810 +Inner product checksum mr1 = 39AD4A8A Inner product checksum mr2 = 37598B78 Inner product checksum mr3 = 36FCA1F0 Inner product checksum mr4 = 376C05E0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-64bit.txt index 0511314b0b..5f4ada612f 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_cce_production-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA537DEC5B54D1E -Inner product checksum theta = 4160EF6993830221 -Inner product checksum u = 4568491F1EF17C68 -Inner product checksum mr1 = 3F35AA24C61BC260 -Inner product checksum mr2 = 3EEB2DAAA0DDAC49 -Inner product checksum mr3 = 3EDF8ABAAD34C594 -Inner product checksum mr4 = 3EED8002CC20FFA6 +Inner product checksum rho = 3FA537DC8BC68842 +Inner product checksum theta = 4160EF698F5EC3B3 +Inner product checksum u = 4568491DEACF4A86 +Inner product checksum mr1 = 3F35AA2ED4F6D96A +Inner product checksum mr2 = 3EEB2DAA5164D448 +Inner product checksum mr3 = 3EDF8ABAACFD1660 +Inner product checksum mr4 = 3EED800295511CA4 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-32bit.txt index aa60867579..64795111fe 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3D298E6E -Inner product checksum theta = 4B0779CA -Inner product checksum u = 6B4246B2 -Inner product checksum mr1 = 39AD5037 -Inner product checksum mr2 = 37596C24 +Inner product checksum rho = 3D298E5B +Inner product checksum theta = 4B0779CC +Inner product checksum u = 6B4246B7 +Inner product checksum mr1 = 39AD5038 +Inner product checksum mr2 = 37596C1F Inner product checksum mr3 = 36FC68ED -Inner product checksum mr4 = 376BFE0C +Inner product checksum mr4 = 376BFE0E Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt index 87bcd8d391..da90a3156e 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA537DF01F4060C -Inner product checksum theta = 4160EF67104BA0AE -Inner product checksum u = 4568491B6C21030C -Inner product checksum mr1 = 3F35AA2E18258604 -Inner product checksum mr2 = 3EEB2DAAA7C9017F -Inner product checksum mr3 = 3EDF8ABAB28662BC -Inner product checksum mr4 = 3EED800252C736F2 +Inner product checksum rho = 3FA537DC5A9C3990 +Inner product checksum theta = 4160EF68016C882B +Inner product checksum u = 4568491C4C8A892B +Inner product checksum mr1 = 3F35AA2FC1549190 +Inner product checksum mr2 = 3EEB2DAA4EFE14B6 +Inner product checksum mr3 = 3EDF8ABAB272BFF4 +Inner product checksum mr4 = 3EED800253D900F8 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-32bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-32bit.txt index aa60867579..64795111fe 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-32bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3D298E6E -Inner product checksum theta = 4B0779CA -Inner product checksum u = 6B4246B2 -Inner product checksum mr1 = 39AD5037 -Inner product checksum mr2 = 37596C24 +Inner product checksum rho = 3D298E5B +Inner product checksum theta = 4B0779CC +Inner product checksum u = 6B4246B7 +Inner product checksum mr1 = 39AD5038 +Inner product checksum mr2 = 37596C1F Inner product checksum mr3 = 36FC68ED -Inner product checksum mr4 = 376BFE0C +Inner product checksum mr4 = 376BFE0E Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-64bit.txt index 87bcd8d391..da90a3156e 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_full-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA537DF01F4060C -Inner product checksum theta = 4160EF67104BA0AE -Inner product checksum u = 4568491B6C21030C -Inner product checksum mr1 = 3F35AA2E18258604 -Inner product checksum mr2 = 3EEB2DAAA7C9017F -Inner product checksum mr3 = 3EDF8ABAB28662BC -Inner product checksum mr4 = 3EED800252C736F2 +Inner product checksum rho = 3FA537DC5A9C3990 +Inner product checksum theta = 4160EF68016C882B +Inner product checksum u = 4568491C4C8A892B +Inner product checksum mr1 = 3F35AA2FC1549190 +Inner product checksum mr2 = 3EEB2DAA4EFE14B6 +Inner product checksum mr3 = 3EDF8ABAB272BFF4 +Inner product checksum mr4 = 3EED800253D900F8 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-32bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-32bit.txt index de0d75fb67..bce6ffe54c 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-32bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-32bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3D29E54F -Inner product checksum theta = 4B07797C -Inner product checksum u = 6B424669 -Inner product checksum mr1 = 39AD5A00 -Inner product checksum mr2 = 37595486 -Inner product checksum mr3 = 36FC6A7A +Inner product checksum rho = 3D29E536 +Inner product checksum theta = 4B077974 +Inner product checksum u = 6B42465A +Inner product checksum mr1 = 39AD5A21 +Inner product checksum mr2 = 37595485 +Inner product checksum mr3 = 36FC6A77 Inner product checksum mr4 = 376C2ECA Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-64bit.txt index 202a23fb14..4c6e700ddb 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_production-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FA537DC26BF9AEB -Inner product checksum theta = 4160EF69B62FBA09 -Inner product checksum u = 4568491D07D07506 -Inner product checksum mr1 = 3F35AA290AB99AB2 -Inner product checksum mr2 = 3EEB2DAB85299254 -Inner product checksum mr3 = 3EDF8ABAA9208A9C -Inner product checksum mr4 = 3EED8002C70393B7 +Inner product checksum rho = 3FA537DBFB5FE882 +Inner product checksum theta = 4160EF6990D93211 +Inner product checksum u = 4568491C0CDD2860 +Inner product checksum mr1 = 3F35AA274E73BF58 +Inner product checksum mr2 = 3EEB2DABB7B56444 +Inner product checksum mr3 = 3EDF8ABAA5A9CC7C +Inner product checksum mr4 = 3EED8002E3166752 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_ffsl-C12_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_ffsl-C12_MG_ex1a_gnu_fast-debug-64bit.txt index 36b4fee2cd..6ecd88d646 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_ffsl-C12_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_ffsl-C12_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 3FB39A8DD72589C5 -Inner product checksum theta = 4178F73D5787819C -Inner product checksum u = 4575A243348E1594 -Inner product checksum mr1 = 3F971B8981884770 -Inner product checksum mr2 = 3F73B22CFDA533CF -Inner product checksum mr3 = 3EF2330E8494DEE0 -Inner product checksum mr4 = 3EF2D465F505C91F +Inner product checksum rho = 3FB39A8850E7D236 +Inner product checksum theta = 4178F73E4DC9CCF6 +Inner product checksum u = 4575A243A9CFE40B +Inner product checksum mr1 = 3F971B8C2B6BF604 +Inner product checksum mr2 = 3F73B22CE231C2EB +Inner product checksum mr3 = 3EF2330E83DA7A70 +Inner product checksum mr4 = 3EF2D465F802CA26 Inner product checksum mr5 = 0 Inner product checksum mr6 = 0 diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt index 473fc6ce1b..30e8a0276b 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt @@ -1,9 +1,9 @@ -Inner product checksum rho = 40B0960DB73AE3B0 -Inner product checksum theta = 43076FC8CE9ECC02 -Inner product checksum u = 4697A25AE5049FE4 -Inner product checksum mr1 = 40887EB1946E2339 -Inner product checksum mr2 = 4069AB3CD2CB097B -Inner product checksum mr3 = 4069B44AEB6A011D -Inner product checksum mr4 = 406997D0AB891EE3 +Inner product checksum rho = 40B0960C3E8BF8F3 +Inner product checksum theta = 43076FC8D3AE6C51 +Inner product checksum u = 4697A25AF756FF36 +Inner product checksum mr1 = 40887EB19AD8D8D2 +Inner product checksum mr2 = 4069AB3CD29F8E94 +Inner product checksum mr3 = 4069B44AEB6E35BA +Inner product checksum mr4 = 406997D0AB580E8A Inner product checksum mr5 = 406997D0C9B8EEFC Inner product checksum mr6 = 40699547929283AD diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt index 9dde90e3b0..686338abbd 100644 --- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt @@ -1,3 +1,3 @@ -Inner product checksum rho = 3EED280BC7767ED2 -Inner product checksum theta = 4012F415A1A30F18 -Inner product checksum u = 43A4936A5FC28B90 +Inner product checksum rho = 3EED280BC7764B27 +Inner product checksum theta = 4012F415A1A2ECB2 +Inner product checksum u = 43A4936A5FC48189 diff --git a/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 b/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 index 17b30e4851..ca0c2ca5b4 100644 --- a/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 +++ b/science/adjoint/source/algorithm/solver/adj_mixed_schur_preconditioner_alg_mod.x90 @@ -391,10 +391,9 @@ contains call invoke( name = "compute_increments", & enforce_bc_kernel_type(u_inc), & inc_X_plus_Y( self%rhs_u, u_inc ), & - inc_a_times_X( const_u, u_inc ), & adj_scaled_matrix_vector_kernel_type( u_inc, exner_inc, & div_star, u_normalisation, & - Hb_lumped_inv ), & + Hb_lumped_inv, const_u ), & setval_c(u_inc, 0.0_r_solver) ) if ( LPROF ) call stop_timing( id, 'adj_schur_precon.back_sub' ) diff --git a/science/adjoint/source/algorithm/timestepping/atl_si_timestep_alg_mod.x90 b/science/adjoint/source/algorithm/timestepping/atl_si_timestep_alg_mod.x90 index 32cc319211..2193b41e8d 100644 --- a/science/adjoint/source/algorithm/timestepping/atl_si_timestep_alg_mod.x90 +++ b/science/adjoint/source/algorithm/timestepping/atl_si_timestep_alg_mod.x90 @@ -48,7 +48,8 @@ module atl_si_timestep_alg_mod use adj_solver_lookup_cache_mod, only: adj_solver_lookup_cache_type use adj_trans_lookup_cache_mod, only: adj_trans_lookup_cache_type use atl_transport_control_alg_mod, only: atl_transport_control_alg - use si_operators_alg_mod, only: compute_si_operators + use si_operators_alg_mod, only: compute_si_operators_common, & + compute_helmholtz_operators use dycore_constants_mod, only: stepper_siqn use semi_implicit_solver_alg_mod, only: semi_implicit_solver_alg_step use adj_semi_implicit_solver_alg_mod, only: adj_semi_implicit_solver_type @@ -403,10 +404,10 @@ contains ! Note that this reset can only occur at most once per timestep. reference_reset_freq = nint( reference_reset_time / cast_dt, i_def ) if (mod( modeldb%clock%get_step() - 1_i_def, reference_reset_freq ) == 0_i_def) then - call compute_si_operators( modeldb%config, self%ls_state(igh_t), & - self%ls_state(igh_d), self%ls_state(igh_p), & - modeldb%clock, self%ls_moist_dyn_itns(:,1,1), & - stepper_siqn ) + call compute_si_operators_common( modeldb%config, self%ls_state(igh_t), & + self%ls_state(igh_d), self%ls_state(igh_p), & + self%ls_moist_dyn_itns(:,1,1) ) + call compute_helmholtz_operators( modeldb%clock, stepper_siqn ) end if ! Compute the time-level n dynamics terms diff --git a/science/adjoint/source/kernel/solver/adj_scaled_matrix_vector_kernel_mod.F90 b/science/adjoint/source/kernel/solver/adj_scaled_matrix_vector_kernel_mod.F90 index ad2ffa2ac3..4ad527c239 100644 --- a/science/adjoint/source/kernel/solver/adj_scaled_matrix_vector_kernel_mod.F90 +++ b/science/adjoint/source/kernel/solver/adj_scaled_matrix_vector_kernel_mod.F90 @@ -8,7 +8,7 @@ module adj_scaled_matrix_vector_kernel_mod use argument_mod, only: arg_type, & - GH_FIELD, GH_OPERATOR, GH_REAL, & + GH_FIELD, GH_OPERATOR, GH_REAL, GH_SCALAR, & GH_READ, GH_READWRITE, GH_INC, & CELL_COLUMN use constants_mod, only: i_def, r_solver @@ -23,12 +23,13 @@ module adj_scaled_matrix_vector_kernel_mod type, public, extends(kernel_type) :: adj_scaled_matrix_vector_kernel_type private - type(ARG_TYPE) :: META_ARGS(5) = (/ & + type(ARG_TYPE) :: META_ARGS(6) = (/ & arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & arg_type(GH_FIELD, GH_REAL, GH_READWRITE, W3), & arg_type(GH_OPERATOR, GH_REAL, GH_READ, W2, W3), & arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & - arg_type(GH_FIELD, GH_REAL, GH_READ, W2) & + arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & + arg_type(GH_SCALAR, GH_REAL, GH_READ) & /) integer :: operates_on = CELL_COLUMN contains @@ -54,6 +55,7 @@ module adj_scaled_matrix_vector_kernel_mod !> @param[in] matrix Local matrix assembly form of the operator A !> @param[in] y Field to scale output by !> @param[in] z Second field to scale output by +!> @param[in] scalar Scalar to scale output by !> @param[in] ndf1 No. degrees of freedom per cell for y/z/lhs !> @param[in] undf1 Unique no. degrees of freedom for y/z/lhs !> @param[in] map1 Dofmap for cell at base of column for y/z/lhs @@ -64,6 +66,7 @@ subroutine adj_scaled_matrix_vector_code(cell, nlayers, lhs, & x, & ncell_3d, & matrix, y, z, & + scalar, & ndf1, undf1, map1, & ndf2, undf2, map2) @@ -76,6 +79,7 @@ subroutine adj_scaled_matrix_vector_code(cell, nlayers, lhs, & integer(kind=i_def), intent(in) :: ncell_3d, ndf1, ndf2 real(kind=r_solver), intent(in) :: matrix(ncell_3d,ndf1,ndf2) real(kind=r_solver), intent(in) :: y(undf1), z(undf1) + real(kind=r_solver), intent(in) :: scalar integer(kind=i_def), dimension(ndf1), intent(in) :: map1(ndf1), map2(ndf2) ! Local variables @@ -89,7 +93,7 @@ subroutine adj_scaled_matrix_vector_code(cell, nlayers, lhs, & do k = nlayers - 1, 0, -1 ik = cell * nlayers + k - nlayers + 1 x(k + map2(df2)) = x(k + map2(df2)) + & - matrix( ik, df, df2 ) * lhs(map1(df) + k) & + scalar * matrix( ik, df, df2 ) * lhs(map1(df) + k) & * y(k + map1(df)) * z(k + map1(df)) end do end do diff --git a/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 b/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 index e7910ca8f7..ea2776da50 100644 --- a/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/mixed_schur_preconditioner_alg_mod.x90 @@ -314,7 +314,8 @@ contains !! of the mixed system subroutine build_pressure_rhs(self, rhs0) - use dg_matrix_vector_kernel_mod, only: dg_matrix_vector_kernel_type + use apply_analytic_q32_rhs_kernel_mod, & + only: apply_analytic_q32_rhs_kernel_type use apply_variable_hx_kernel_mod, only: apply_variable_hx_kernel_type use opt_apply_variable_hx_kernel_mod, only: opt_apply_variable_hx_kernel_type use operator_mod, only: r_solver_operator_type @@ -336,7 +337,7 @@ contains type( r_solver_field_type ), pointer :: mt_lumped_inv, & h_diag, & Hb_lumped_inv - type( r_solver_field_type ) :: r_p, rhs_d, r_p_theta + type( r_solver_field_type ) :: r_p, rhs_d real( kind=r_solver ) :: const_r, const_t real( kind=r_solver ) :: minus_const_r, minus_const_t type( r_solver_field_type ) :: rhs_uvw @@ -409,13 +410,11 @@ contains q32_rho_op => get_eliminated_q32_rho() q32_theta_op => get_eliminated_q32_theta() call r_p%initialise( rhs%get_function_space() ) - call r_p_theta%initialise( rhs%get_function_space() ) - call invoke( dg_matrix_vector_kernel_type(r_p, self%rhs_u, q32_rho_op), & - inc_a_times_X(const_r, r_p), & - dg_matrix_vector_kernel_type(r_p_theta, self%rhs_u, q32_theta_op), & - inc_a_times_X(const_t, r_p_theta), & - inc_X_plus_Y(r_p, r_p_theta), & - X_minus_Y(rhs, rhs_p, r_p ) ) + call invoke( apply_analytic_q32_rhs_kernel_type(r_p, self%rhs_u, & + q32_rho_op, & + q32_theta_op, & + const_r, const_t), & + X_minus_Y(rhs, rhs_p, r_p) ) else ! r_pi = rhs_pi + P03*M0^-1*rhs_t + M3rho*M3^-1*rhs_r ! r_rho already contains M3^-1 factor @@ -528,8 +527,7 @@ contains setval_c(u_inc, 0.0_r_solver), & scaled_matrix_vector_kernel_type(u_inc, exner_inc, & div_star, u_normalisation, & - Hb_lumped_inv), & - inc_a_times_X(const_u, u_inc), & + Hb_lumped_inv, const_u), & inc_X_plus_Y(u_inc, self%rhs_u), & enforce_bc_kernel_type(u_inc) ) if ( limited_area ) then diff --git a/science/gungho/source/algorithm/solver/pressure_operator_alg_mod.x90 b/science/gungho/source/algorithm/solver/pressure_operator_alg_mod.x90 index dd05753dd0..ba2e0b04e5 100644 --- a/science/gungho/source/algorithm/solver/pressure_operator_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/pressure_operator_alg_mod.x90 @@ -220,8 +220,7 @@ contains setval_c( y_vec, 0.0_r_solver ), & scaled_matrix_vector_kernel_type(grad_p, x_vec, & div_star, hb_lumped_inv, & - u_normalisation), & - inc_a_times_X( const_u, grad_p ), & + u_normalisation, const_u), & enforce_bc_kernel_type( grad_p ), & inc_X_times_Y( grad_p, w2_mask ), & apply_variable_hx_kernel_type(y_vec, grad_p, & @@ -233,8 +232,7 @@ contains setval_c( y_vec, 0.0_r_solver ), & scaled_matrix_vector_kernel_type(grad_p, x_vec, & div_star, hb_lumped_inv, & - u_normalisation), & - inc_a_times_X( const_u, grad_p ), & + u_normalisation, const_u), & enforce_bc_kernel_type( grad_p ), & apply_variable_hx_kernel_type(y_vec, grad_p, & mt_lumped_inv, x_vec, & diff --git a/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 b/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 index 9be28a09c0..956ef56c5c 100644 --- a/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/semi_implicit_solver_alg_mod.x90 @@ -685,8 +685,7 @@ contains call invoke( dg_inc_matrix_vector_kernel_type( rhs_rsol(igh_p), rhs_rsol(igh_t), q3t_op ), & setval_c(rhs_tmp, 0.0_r_solver), & matrix_vector_kernel_type( rhs_tmp, rhs_rsol(igh_t), q2t_op ), & - inc_a_times_X( const_u, rhs_tmp ), & - inc_X_plus_Y( rhs_rsol(igh_u), rhs_tmp ), & + inc_X_plus_bY( rhs_rsol(igh_u), const_u, rhs_tmp ), & enforce_bc_kernel_type( rhs_rsol(igh_u) ) ) else p3theta => get_p3theta() @@ -699,8 +698,7 @@ contains ! p2theta is assembled unscaled, so apply the scaling tau_u*dt*cp call invoke( setval_c(rhs_tmp, 0.0_r_solver), & matrix_vector_kernel_type( rhs_tmp, rhs_rsol(igh_t), p2theta ), & - inc_X_times_Y(rhs_tmp, m2_diag), & - inc_a_times_X(const_u, rhs_tmp), & + inc_aX_times_Y(const_u, rhs_tmp, m2_diag), & inc_X_plus_Y(rhs_rsol(igh_u), rhs_tmp), & enforce_bc_kernel_type( rhs_rsol(igh_u) ) ) end if diff --git a/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 b/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 index f07fb49b9b..47f76220e9 100644 --- a/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 +++ b/science/gungho/source/algorithm/solver/si_operators_alg_mod.x90 @@ -85,7 +85,8 @@ module si_operators_alg_mod ! algorithm that applies them must multiply in the appropriate constant. ! ! The stepper enumerator is passed as an argument to the getters (and to - ! compute_si_operators) so that the appropriate operator can be picked up. + ! compute_helmholtz_operators) so that the appropriate operator can be + ! picked up. type(inventory_by_integer_type) :: tri_precon_inventory type(inventory_by_integer_type) :: helmholtz_operator_inventory type(inventory_by_integer_type) :: helm_diag_inventory @@ -114,7 +115,8 @@ module si_operators_alg_mod ! Public functions to create and access the module contents public :: create_si_operators - public :: compute_si_operators + public :: compute_si_operators_common + public :: compute_helmholtz_operators public :: final_si_operators public :: get_m3_rho_star public :: get_m3_exner_star @@ -230,14 +232,14 @@ contains real(kind=r_def) :: dt, tau_u, tau_r, tau_t, cp real(kind=r_solver) :: tau_u_dt_cp, tau_t_dt, tau_r_dt, tau_tu_dt2_cp - ! Local working fields, built level-by-level (each level on its own mesh / - ! function space) and then copied into the inventories (keyed by stepper) - ! via copy_field_array below. tri_precon and Helmholtz_operator are only - ! built for certain configurations, so are left unallocated otherwise. - type(r_solver_field_type), allocatable :: tri_precon(:,:) - type(r_solver_field_type), allocatable :: Helmholtz_operator(:,:) - type(r_solver_field_type), allocatable :: Helm_diag(:) - type(r_solver_field_type), allocatable :: Hb_lumped_inv(:) + ! Working fields, created directly in the inventories (keyed by stepper) + ! via add_field_array below, and then initialised level-by-level on their + ! own mesh / function space. tri_precon and Helmholtz_operator are only + ! built for certain configurations, so are left unassociated otherwise. + type(r_solver_field_type), pointer :: tri_precon(:,:) => null() + type(r_solver_field_type), pointer :: Helmholtz_operator(:,:) => null() + type(r_solver_field_type), pointer :: Helm_diag(:) => null() + type(r_solver_field_type), pointer :: Hb_lumped_inv(:) => null() call log_event( "Gungho: creating si_operators", LOG_LEVEL_DEBUG ) @@ -347,13 +349,22 @@ contains call log_event( "tridiagonal precon only valid for order 0", & LOG_LEVEL_ERROR ) end if - allocate( tri_precon(3, multigrid_levels) ) + call tri_precon_inventory%add_field_array( & + tri_precon, w3_fs, 3, multigrid_levels, stepper & + ) end if if ( element_order_h == 0 .and. element_order_v == 0 ) then - allocate( Helmholtz_operator(helmholtz_stencil_size, multigrid_levels) ) + call helmholtz_operator_inventory%add_field_array( & + Helmholtz_operator, w3_fs, helmholtz_stencil_size, & + multigrid_levels, stepper & + ) end if - allocate( Helm_diag(multigrid_levels) ) - allocate( Hb_lumped_inv(multigrid_levels) ) + call helm_diag_inventory%add_field_array( & + Helm_diag, w3_fs, multigrid_levels, stepper & + ) + call hb_lumped_inv_inventory%add_field_array( & + Hb_lumped_inv, w2_fs, multigrid_levels, stepper & + ) if (l_multigrid) then call multigrid_function_space_chain%set_current(w3_fs%get_id()) @@ -385,26 +396,6 @@ contains end if end do - ! Copy the working fields into their inventories, keyed by stepper. Using - ! copy_field_array (rather than add_field_array) preserves the distinct - ! per-level function spaces set up in the loop above. - if ( preconditioner == preconditioner_tridiagonal .or. & - preconditioner == preconditioner_multigrid ) then - call tri_precon_inventory%copy_field_array( tri_precon, stepper ) - end if - if ( element_order_h == 0 .and. element_order_v == 0 ) then - call helmholtz_operator_inventory%copy_field_array( Helmholtz_operator, & - stepper ) - end if - call helm_diag_inventory%copy_field_array( helm_diag, stepper ) - call hb_lumped_inv_inventory%copy_field_array( Hb_lumped_inv, stepper ) - - ! Deallocate the local working arrays now that they have been copied in - if (allocated(tri_precon)) deallocate(tri_precon) - if (allocated(Helmholtz_operator)) deallocate(Helmholtz_operator) - if (allocated(Helm_diag)) deallocate(Helm_diag) - if (allocated(Hb_lumped_inv)) deallocate(Hb_lumped_inv) - ! ======================================================================== ! ! Store scaling constants for this stepper ! ======================================================================== ! @@ -494,16 +485,17 @@ contains end subroutine final_si_operators - !> @brief Subroutine to compute the si operators + !> @brief Subroutine to compute the generic (stepper-independent) SI operators + !> @details Computes the reference-state-dependent operators and fields + !! that do not depend on the tau*dt scaling constants, storing + !! them in the plain module arrays (not keyed by stepper). !> @param[in] config Application namelist configuration object !> @param[in] theta_ref Reference Potential temperature !> @param[in] rho_ref Reference Density !> @param[in] exner_ref Reference Exner pressure - !> @param[in] model_clock Time in the model !> @param[in] moist_dyn_ref Bundle of reference moist dynamics factors - !> @param[in] stepper Timestepper enumerator used to key the inventories - subroutine compute_si_operators(config, theta_ref, rho_ref, exner_ref, & - model_clock, moist_dyn_ref, stepper) + subroutine compute_si_operators_common(config, theta_ref, rho_ref, & + exner_ref, moist_dyn_ref) use quadrature_xyoz_mod, only: quadrature_xyoz_type use quadrature_face_mod, only: quadrature_face_type @@ -527,27 +519,15 @@ contains get_panel_id, & get_height_fv use sci_fem_constants_mod, only: get_rmultiplicity_fe - use dycore_constants_mod, only: get_w2_mass_matrix, & - w2_lagged_damping_layer_matrix use solver_constants_mod, only: get_detj_at_w3_r_solver, & get_im3_div_r_solver, & get_normalisation_r_solver, & get_inverse_mass_matrix_r_solver - use limited_area_constants_mod, only: get_mask_fv - use sci_invert_local_operator_kernel_mod, only: invert_local_operator_kernel_type - use field_indices_mod, only: igh_u, igh_t, igh_d, igh_p use planet_config_mod, only: kappa, rd, p_zero use reference_element_mod, only: reference_element_type use mesh_mod, only: mesh_type - use matrix_vector_kernel_mod, only: matrix_vector_kernel_type - use dg_inc_matrix_vector_kernel_mod, only: dg_inc_matrix_vector_kernel_type - use formulation_config_mod, only: dlayer_on, & - lagged_orog, & - dry_static_adjust + use formulation_config_mod, only: dry_static_adjust use sci_sort_ref_kernel_mod, only: sort_ref_kernel_type - use psykal_lite_mod, only: invoke_helmholtz_operator_kernel_type, & - invoke_elim_helmholtz_operator_kernel_type - use boundaries_config_mod, only: limited_area use sample_eliminated_theta_q32_kernel_mod, & only: sample_eliminated_theta_q32_kernel_type use project_eliminated_theta_q32_kernel_mod, & @@ -563,7 +543,6 @@ contains use sci_restrict_scalar_unweighted_kernel_mod, & only: restrict_scalar_unweighted_kernel_type use sci_operator_algebra_kernel_mod, only: operator_setval_x_kernel_type - use model_clock_mod, only: model_clock_type implicit none @@ -571,17 +550,7 @@ contains type(field_type), intent(in) :: theta_ref, rho_ref, exner_ref type(field_type), intent(in) :: moist_dyn_ref(num_moist_factors) - class(model_clock_type), intent(in) :: model_clock - integer(kind=i_def), intent(in) :: stepper - real(kind=r_solver), pointer :: tau_u_dt_cp - real(kind=r_solver), pointer :: tau_t_dt - real(kind=r_solver), pointer :: tau_r_dt - real(kind=r_solver), pointer :: tau_tu_dt2_cp - type(r_solver_field_type), pointer :: tri_precon(:,:) - type(r_solver_field_type), pointer :: Helmholtz_operator(:,:) - type(r_solver_field_type), pointer :: Helm_diag(:) - type(r_solver_field_type), pointer :: Hb_lumped_inv(:) type(quadrature_xyoz_type) :: qr type(quadrature_face_type) :: qrf type(quadrature_rule_gaussian_type) :: quadrature_rule @@ -593,17 +562,10 @@ contains type(function_space_type), pointer :: w3_fs => null() type(function_space_type), pointer :: w2_fs => null() type(function_space_type), pointer :: wt_fs => null() - integer(kind=i_def), parameter :: imone = -1_i_def class(reference_element_type), pointer :: reference_element =>null() type(mesh_type), pointer :: mesh => null() - type(operator_type), pointer :: m2 => null() - type(r_solver_field_type), pointer :: u_normalisation => null(), & - t_normalisation => null() - type(r_solver_field_type) :: m2_u, theta_adv_term - type(r_solver_field_type) :: scaled_ones - integer(kind=i_def) :: level, i - type(r_solver_field_type) :: rsol_w2_mask - type(field_type), pointer :: w2_mask => null() + type(r_solver_field_type), pointer :: u_normalisation => null() + integer(kind=i_def) :: level type(field_type), pointer :: height_w3 => null() type(field_type), pointer :: height_wt => null() type(r_solver_field_type) :: multiplicity @@ -614,7 +576,6 @@ contains theta, & coarse_field type(r_solver_field_type) :: rsol_w2_rmultiplicity - type(r_solver_operator_type) :: m2_r_solver type(r_solver_field_type), pointer :: detj_at_w3 => null() type(field_type) :: moist_dyn_factor_rdef type(r_solver_field_type) :: moist_dyn_factor, theta_v @@ -626,26 +587,8 @@ contains integer(kind=i_def), parameter :: req_halo_depth = req_stencil_depth + 1 integer(tik) :: id - if ( LPROF ) call start_timing( id, 'dynamics.compute_si_operators' ) - call log_event( "Gungho: computing si_operators", LOG_LEVEL_DEBUG ) - - ! Retrieve the tau*dt scaling constants (computed in create_si_operators) - ! and pointers to the working fields, all keyed by the active stepper - call tau_u_dt_cp_inventory%get_real(stepper, tau_u_dt_cp) - call tau_t_dt_inventory%get_real(stepper, tau_t_dt) - call tau_r_dt_inventory%get_real(stepper, tau_r_dt) - call tau_tu_dt2_cp_inventory%get_real(stepper, tau_tu_dt2_cp) - - call helm_diag_inventory%get_field_array(stepper, Helm_diag) - call hb_lumped_inv_inventory%get_field_array(stepper, Hb_lumped_inv) - if ( preconditioner == preconditioner_tridiagonal .or. & - preconditioner == preconditioner_multigrid ) then - call tri_precon_inventory%get_field_array(stepper, tri_precon) - end if - if ( element_order_h == 0 .and. element_order_v == 0 ) then - call helmholtz_operator_inventory%get_field_array(stepper, & - Helmholtz_operator) - end if + if ( LPROF ) call start_timing( id, 'dynamics.compute_si_operators_common' ) + call log_event( "Gungho: computing si_operators_common", LOG_LEVEL_DEBUG ) mesh => exner_ref%get_mesh() @@ -821,6 +764,168 @@ contains end select end if + ! Restrict the fields for the next level, provided not last time round + ! the loop + if (level < multigrid_levels) then + ! should not get here if no multigrid, but just in case + if (l_multigrid) then + + write(log_scratch_space,'(A,I0,A,I0)') & + "si_ops:MG restrict L",level," to L",level+1 + call log_event(log_scratch_space,LOG_LEVEL_DEBUG) + + ! copy current field to coarse field + call theta%copy_field_properties(coarse_field) + call invoke( setval_X(coarse_field, theta) ) + ! set the fs to the next (fine) + wt_fs=>wtheta_multigrid_function_space_chain%get_next() + call theta%initialise(vector_space = wt_fs, halo_depth=req_halo_depth ) + ! call restrict + call invoke( restrict_scalar_unweighted_kernel_type(theta, coarse_field) ) + + ! copy current field to coarse field + call moist_dyn_factor%copy_field_properties(coarse_field) + call invoke( setval_X(coarse_field, moist_dyn_factor) ) + call moist_dyn_factor%initialise(vector_space = wt_fs) + ! call restrict + call invoke( restrict_scalar_unweighted_kernel_type(moist_dyn_factor, coarse_field) ) + + ! copy current field to coarse field + call rho%copy_field_properties(coarse_field) + call invoke( setval_X(coarse_field, rho) ) + ! set the fs to the next (fine) + w3_fs=>multigrid_function_space_chain%get_next() + call rho%initialise(vector_space = w3_fs, halo_depth=req_halo_depth ) + ! call restrict + call invoke( restrict_scalar_unweighted_kernel_type(rho, coarse_field) ) + + ! copy current field to coarse field + call exner%copy_field_properties(coarse_field) + call invoke( setval_X(coarse_field, exner) ) + ! fs already set fine + call exner%initialise(vector_space = w3_fs , halo_depth=req_halo_depth) + ! call restrict + call invoke( restrict_scalar_unweighted_kernel_type(exner, coarse_field) ) + ! set w2_fs to next in chain + w2_fs=>w2_multigrid_function_space_chain%get_next() + end if + end if + + end do ! end of multigrid levels loop + + nullify( chi, panel_id, m3_inv, div, w2_rmultiplicity, & + mesh, reference_element, u_normalisation ) + if ( LPROF ) call stop_timing( id, 'dynamics.compute_si_operators_common' ) + + end subroutine compute_si_operators_common + + !> @brief Subroutine to compute the stepper-dependent Helmholtz operators. + !> @details Computes the Hb_lumped_inv, Helmholtz_operator, tri_precon and + !! Helm_diag fields, applying the tau*dt scaling constants for the + !! given stepper, and storing the results in the per-stepper + !! inventories. Requires compute_si_operators_common to have been + !! called first. + !> @param[in] model_clock Time in the model + !> @param[in] stepper Timestepper enumerator + subroutine compute_helmholtz_operators(model_clock, stepper) + + use fs_continuity_mod, only: W2, W3, Wtheta + use dycore_constants_mod, only: get_w2_mass_matrix, & + w2_lagged_damping_layer_matrix + use solver_constants_mod, only: get_normalisation_r_solver + use limited_area_constants_mod, only: get_mask_fv + use matrix_vector_kernel_mod, only: matrix_vector_kernel_type + use dg_inc_matrix_vector_kernel_mod, only: dg_inc_matrix_vector_kernel_type + use psykal_lite_mod, only: invoke_helmholtz_operator_kernel_type, & + invoke_elim_helmholtz_operator_kernel_type + use boundaries_config_mod, only: limited_area + use sci_operator_algebra_kernel_mod, only: operator_setval_x_kernel_type + use mesh_mod, only: mesh_type + use model_clock_mod, only: model_clock_type + + implicit none + + class(model_clock_type), intent(in) :: model_clock + integer(kind=i_def), intent(in) :: stepper + + real(kind=r_solver), pointer :: tau_u_dt_cp + real(kind=r_solver), pointer :: tau_t_dt + real(kind=r_solver), pointer :: tau_r_dt + real(kind=r_solver), pointer :: tau_tu_dt2_cp + type(r_solver_field_type), pointer :: tri_precon(:,:) + type(r_solver_field_type), pointer :: Helmholtz_operator(:,:) + type(r_solver_field_type), pointer :: Helm_diag(:) + type(r_solver_field_type), pointer :: Hb_lumped_inv(:) + type(function_space_type), pointer :: w3_fs + type(function_space_type), pointer :: w2_fs + type(function_space_type), pointer :: wt_fs + integer(kind=i_def), parameter :: imone = -1_i_def + type(mesh_type), pointer :: mesh + type(operator_type), pointer :: m2 + type(r_solver_field_type), pointer :: u_normalisation + type(r_solver_field_type), pointer :: t_normalisation + type(r_solver_field_type) :: ones, m2_u, theta_adv_term + integer(kind=i_def) :: level, i + type(r_solver_field_type) :: rsol_w2_mask + type(field_type), pointer :: w2_mask + type(r_solver_operator_type) :: m2_r_solver + + ! For continuous fields the default looping depth is to the depth 1 halo + ! and so for any fields that are accessed with a stencil the halo_depth + ! needs to be one bigger than the required stencil_depth + integer(kind=i_def), parameter :: req_stencil_depth = 1 + integer(tik) :: id + + if ( LPROF ) call start_timing( id, 'dynamics.compute_helmholtz_operators' ) + call log_event( "Gungho: computing helmholtz_operators", LOG_LEVEL_DEBUG ) + + if ( .not. allocated(m3_rho_star) ) then + call log_event( "Gungho: compute_helmholtz_operators called before " // & + "compute_si_operators_common", LOG_LEVEL_ERROR ) + end if + + ! Retrieve the tau*dt scaling constants (computed in create_si_operators) + ! and pointers to the working fields, all keyed by the active stepper + call tau_u_dt_cp_inventory%get_real(stepper, tau_u_dt_cp) + call tau_t_dt_inventory%get_real(stepper, tau_t_dt) + call tau_r_dt_inventory%get_real(stepper, tau_r_dt) + call tau_tu_dt2_cp_inventory%get_real(stepper, tau_tu_dt2_cp) + + call helm_diag_inventory%get_field_array(stepper, Helm_diag) + call hb_lumped_inv_inventory%get_field_array(stepper, Hb_lumped_inv) + if ( preconditioner == preconditioner_tridiagonal .or. & + preconditioner == preconditioner_multigrid ) then + call tri_precon_inventory%get_field_array(stepper, tri_precon) + end if + if ( element_order_h == 0 .and. element_order_v == 0 ) then + call helmholtz_operator_inventory%get_field_array(stepper, & + Helmholtz_operator) + end if + + ! Fetch the finest-level function spaces from the generic module arrays, + ! then reset the multigrid function space chains to walk them again + ! independently of the loop in compute_si_operators_common + mesh => rho_at_u(1)%get_mesh() + w3_fs => function_space_collection%get_fs( mesh, element_order_h, & + element_order_v, W3 ) + w2_fs => function_space_collection%get_fs( mesh, element_order_h, & + element_order_v, W2 ) + wt_fs => function_space_collection%get_fs( mesh, element_order_h, & + element_order_v, Wtheta ) + + if (l_multigrid) then + call multigrid_function_space_chain%set_current(w3_fs%get_id()) + call w2_multigrid_function_space_chain%set_current(w2_fs%get_id()) + call wtheta_multigrid_function_space_chain%set_current(wt_fs%get_id()) + end if + + do level = 1, multigrid_levels + + write(log_scratch_space,'(A,I0)') "si_ops helmholtz: mg level=",level + call log_event(log_scratch_space, LOG_LEVEL_DEBUG) + + mesh => rho_at_u(level)%get_mesh() + ! Compute Hb_lumped_inv field ! mass matrix should include damping layer and lagged-orography terms ! if these options are not true, this matrix won't contain the terms @@ -835,17 +940,16 @@ contains call m2_u%initialise( vector_space = w2_fs ) call ones%initialise( vector_space = w2_fs ) - call scaled_ones%initialise( vector_space = w2_fs ) if ( eliminate_variables == eliminate_variables_analytic ) then ! H_B = (Nu * Mu - tau_tu_dt2_cp * Q22) * ones call invoke( name = "compute_analytic_lumped_inverse_h_b_operator", & setval_c(ones, 1.0_r_solver), & - setval_c(scaled_ones, tau_tu_dt2_cp), & setval_c(Hb_lumped_inv(level), 0.0_r_solver), & setval_c(m2_u, 0.0_r_solver), & matrix_vector_kernel_type(Hb_lumped_inv(level), ones, m2_r_solver), & inc_X_times_Y(Hb_lumped_inv(level), u_normalisation), & - matrix_vector_kernel_type(m2_u, scaled_ones, eliminated_q22(level)), & + matrix_vector_kernel_type(m2_u, ones, eliminated_q22(level)), & + inc_X_minus_bY(Hb_lumped_inv(level), tau_tu_dt2_cp, m2_u), & inc_X_minus_Y(Hb_lumped_inv(level), m2_u), & inc_X_powint_n(Hb_lumped_inv(level), imone) ) @@ -854,12 +958,12 @@ contains call theta_adv_term%initialise( vector_space = wt_fs ) call invoke( name = "compute_lumped_inverse_h_b_operator", & setval_c(ones, 1.0_r_solver), & - setval_c(scaled_ones, tau_t_dt), & setval_c(Hb_lumped_inv(level), 0.0_r_solver), & setval_c(theta_adv_term, 0.0_r_solver), & dg_inc_matrix_vector_kernel_type( & - theta_adv_term, scaled_ones, ptheta2v(level)), & - inc_X_times_Y(theta_adv_term, t_normalisation), & + theta_adv_term, ones, ptheta2v(level)), & + inc_aX_times_Y(tau_t_dt, theta_adv_term, & + t_normalisation), & inc_a_times_X(tau_u_dt_cp, theta_adv_term), & matrix_vector_kernel_type( & Hb_lumped_inv(level), theta_adv_term, & @@ -941,61 +1045,18 @@ contains call invoke( setval_c(Helm_diag(level), 1.0_r_solver) ) end if - ! Restrict the fields for the next level, provided not last time round - ! the loop - if (level < multigrid_levels) then - ! should not get here if no multigrid, but just in case - if (l_multigrid) then - - write(log_scratch_space,'(A,I0,A,I0)') & - "si_ops:MG restrict L",level," to L",level+1 - call log_event(log_scratch_space,LOG_LEVEL_DEBUG) - - ! copy current field to coarse field - call theta%copy_field_properties(coarse_field) - call invoke( setval_X(coarse_field, theta) ) - ! set the fs to the next (fine) - wt_fs=>wtheta_multigrid_function_space_chain%get_next() - call theta%initialise(vector_space = wt_fs, halo_depth=req_halo_depth ) - ! call restrict - call invoke( restrict_scalar_unweighted_kernel_type(theta, coarse_field) ) - - ! copy current field to coarse field - call moist_dyn_factor%copy_field_properties(coarse_field) - call invoke( setval_X(coarse_field, moist_dyn_factor) ) - call moist_dyn_factor%initialise(vector_space = wt_fs) - ! call restrict - call invoke( restrict_scalar_unweighted_kernel_type(moist_dyn_factor, coarse_field) ) - - ! copy current field to coarse field - call rho%copy_field_properties(coarse_field) - call invoke( setval_X(coarse_field, rho) ) - ! set the fs to the next (fine) - w3_fs=>multigrid_function_space_chain%get_next() - call rho%initialise(vector_space = w3_fs, halo_depth=req_halo_depth ) - ! call restrict - call invoke( restrict_scalar_unweighted_kernel_type(rho, coarse_field) ) - - ! copy current field to coarse field - call exner%copy_field_properties(coarse_field) - call invoke( setval_X(coarse_field, exner) ) - ! fs already set fine - call exner%initialise(vector_space = w3_fs , halo_depth=req_halo_depth) - ! call restrict - call invoke( restrict_scalar_unweighted_kernel_type(exner, coarse_field) ) - ! set w2_fs to next in chain - w2_fs=>w2_multigrid_function_space_chain%get_next() - end if + if (level < multigrid_levels .and. l_multigrid) then + w3_fs => multigrid_function_space_chain%get_next() + w2_fs => w2_multigrid_function_space_chain%get_next() + wt_fs => wtheta_multigrid_function_space_chain%get_next() end if end do ! end of multigrid levels loop - nullify( chi, panel_id, m3_inv, div, w2_rmultiplicity, & - mesh, reference_element, m2, u_normalisation, t_normalisation, & - w2_mask, mesh ) - if ( LPROF ) call stop_timing( id, 'dynamics.compute_si_operators' ) + nullify( mesh, m2, u_normalisation, t_normalisation, w2_mask ) + if ( LPROF ) call stop_timing( id, 'dynamics.compute_helmholtz_operators' ) - end subroutine compute_si_operators + end subroutine compute_helmholtz_operators !> @brief Function to return a pointer to the m3_rho_star !! on the finest multigrid level. diff --git a/science/gungho/source/algorithm/timestepping/semi_implicit_timestep_alg_mod.X90 b/science/gungho/source/algorithm/timestepping/semi_implicit_timestep_alg_mod.X90 index c6214f10a8..1728e4d230 100644 --- a/science/gungho/source/algorithm/timestepping/semi_implicit_timestep_alg_mod.X90 +++ b/science/gungho/source/algorithm/timestepping/semi_implicit_timestep_alg_mod.X90 @@ -97,8 +97,9 @@ module semi_implicit_timestep_alg_mod only: gungho_transport_control_alg_init, & gungho_transport_control_alg - use si_operators_alg_mod, only: create_si_operators, & - compute_si_operators, & + use si_operators_alg_mod, only: create_si_operators, & + compute_si_operators_common, & + compute_helmholtz_operators, & final_si_operators use dycore_constants_mod, only: stepper_siqn use fast_physics_alg_mod, only: fast_physics @@ -554,8 +555,9 @@ contains call prognostic_fields%get_field('theta_ref', theta_ref) call prognostic_fields%get_field('rho_ref', rho_ref) call prognostic_fields%get_field('exner_ref', exner_ref) - call compute_si_operators(self%config, theta_ref, rho_ref, exner_ref, & - model_clock, moist_dyn_ref, stepper_siqn) + call compute_si_operators_common(self%config, theta_ref, rho_ref, & + exner_ref, moist_dyn_ref) + call compute_helmholtz_operators(model_clock, stepper_siqn) nullify(theta_ref, rho_ref, exner_ref, moist_dyn_ref, moist_dyn_ref_array) end if @@ -799,9 +801,10 @@ contains if ( mod(model_clock%get_step() - 1_i_def, reference_reset_freq) == 0_i_def ) then ! Compute semi-implicit operators with current model state - call compute_si_operators( self%config, self%state(igh_t), & - self%state(igh_d), self%state(igh_p), & - model_clock, moist_dyn, stepper_siqn ) + call compute_si_operators_common(self%config, self%state(igh_t), & + self%state(igh_d), self%state(igh_p), & + moist_dyn) + call compute_helmholtz_operators(model_clock, stepper_siqn) checkpoint_reference_fields = & mod(model_clock%get_first_step()-1, reference_reset_freq) /= 0 .or. & diff --git a/science/gungho/source/kernel/solver/apply_analytic_q32_rhs_kernel_mod.F90 b/science/gungho/source/kernel/solver/apply_analytic_q32_rhs_kernel_mod.F90 new file mode 100644 index 0000000000..95202232bc --- /dev/null +++ b/science/gungho/source/kernel/solver/apply_analytic_q32_rhs_kernel_mod.F90 @@ -0,0 +1,120 @@ +!----------------------------------------------------------------------------- +! (c) Crown copyright Met Office. All rights reserved. +! The file LICENCE, distributed with this code, contains details of the terms +! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! Met Office GitHub Copilot Enterprise. +!----------------------------------------------------------------------------- + +!> @brief Compute analytic Q32 contribution to the pressure RHS. +!> @details Computes: +!! rhs = const_r*Q32_rho*rhs_u + const_t*Q32_theta*rhs_u. +module apply_analytic_q32_rhs_kernel_mod + + use argument_mod, only : arg_type, & + GH_FIELD, GH_OPERATOR, & + GH_READ, GH_WRITE, & + GH_SCALAR, & + GH_REAL, CELL_COLUMN + use constants_mod, only : r_solver, i_def + use kernel_mod, only : kernel_type + use fs_continuity_mod, only : W2, W3 + + implicit none + + private + + !--------------------------------------------------------------------------- + ! Public types + !--------------------------------------------------------------------------- + + type, public, extends(kernel_type) :: apply_analytic_q32_rhs_kernel_type + private + type(arg_type) :: meta_args(6) = (/ & + arg_type(GH_FIELD, GH_REAL, GH_WRITE, W3), & ! rhs + arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & ! rhs_u + arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W2), & ! q32_rho + arg_type(GH_OPERATOR, GH_REAL, GH_READ, W3, W2), & ! q32_theta + arg_type(GH_SCALAR, GH_REAL, GH_READ), & ! const_r + arg_type(GH_SCALAR, GH_REAL, GH_READ) & ! const_t + /) + integer :: operates_on = CELL_COLUMN + contains + procedure, nopass :: apply_analytic_q32_rhs_code + end type apply_analytic_q32_rhs_kernel_type + + !--------------------------------------------------------------------------- + ! Contained functions/subroutines + !--------------------------------------------------------------------------- + public :: apply_analytic_q32_rhs_code + +contains + +!> @brief Compute analytic-elimination Q32 contribution for one column. +!> @param[in] cell Horizontal cell index +!> @param[in] nlayers Number of layers +!> @param[in,out] rhs Output Q32 contribution field in W3 +!> @param[in] rhs_u Input velocity RHS field in W2 +!> @param[in] ncell1 Total number of cells for q32_rho +!> @param[in] q32_rho Weighted projection operator from W2 to W3 +!> @param[in] ncell2 Total number of cells for q32_theta +!> @param[in] q32_theta Projection operator from W2 to W3 from +!! eliminated theta +!> @param[in] const_r tau_r*dt scaling constant applied to q32_rho +!> @param[in] const_t tau_t*dt scaling constant applied to q32_theta +!> @param[in] ndf_w3 Number of degrees of freedom per cell for W3 +!> @param[in] undf_w3 Unique number of degrees of freedom for W3 +!> @param[in] map_w3 Dofmap for W3 +!> @param[in] ndf_w2 Number of degrees of freedom per cell for W2 +!> @param[in] undf_w2 Unique number of degrees of freedom for W2 +!> @param[in] map_w2 Dofmap for W2 +subroutine apply_analytic_q32_rhs_code(cell, & + nlayers, & + rhs, & + rhs_u, & + ncell1, q32_rho, & + ncell2, q32_theta, & + const_r, const_t, & + ndf_w3, undf_w3, map_w3, & + ndf_w2, undf_w2, map_w2) + + implicit none + + integer(kind=i_def), intent(in) :: cell, nlayers + integer(kind=i_def), intent(in) :: ncell1, ncell2 + integer(kind=i_def), intent(in) :: undf_w3, ndf_w3 + integer(kind=i_def), intent(in) :: undf_w2, ndf_w2 + integer(kind=i_def), intent(in) :: map_w3(ndf_w3) + integer(kind=i_def), intent(in) :: map_w2(ndf_w2) + + real(kind=r_solver), intent(inout) :: rhs(undf_w3) + real(kind=r_solver), intent(in) :: rhs_u(undf_w2) + real(kind=r_solver), intent(in) :: const_r + real(kind=r_solver), intent(in) :: const_t + + real(kind=r_solver), intent(in) :: q32_rho(ncell1, ndf_w3, ndf_w2) + real(kind=r_solver), intent(in) :: q32_theta(ncell2, ndf_w3, ndf_w2) + + integer(kind=i_def) :: df1, df2, ik, i1, i2, nl + + nl = nlayers-1 + + do df1 = 1, ndf_w3 + i1 = map_w3(df1) + rhs(i1:i1+nl) = 0.0_r_solver + end do + + ik = (cell-1)*nlayers + 1 + do df2 = 1, ndf_w2 + i2 = map_w2(df2) + do df1 = 1, ndf_w3 + i1 = map_w3(df1) + rhs(i1:i1+nl) = rhs(i1:i1+nl) & + + const_r*q32_rho(ik:ik+nl,df1,df2)*rhs_u(i2:i2+nl) & + + const_t*q32_theta(ik:ik+nl,df1,df2)*rhs_u(i2:i2+nl) + end do + end do + +end subroutine apply_analytic_q32_rhs_code + +end module apply_analytic_q32_rhs_kernel_mod \ No newline at end of file diff --git a/science/gungho/source/kernel/solver/scaled_matrix_vector_kernel_mod.F90 b/science/gungho/source/kernel/solver/scaled_matrix_vector_kernel_mod.F90 index bd4b086988..1c9ded6bd7 100644 --- a/science/gungho/source/kernel/solver/scaled_matrix_vector_kernel_mod.F90 +++ b/science/gungho/source/kernel/solver/scaled_matrix_vector_kernel_mod.F90 @@ -6,7 +6,7 @@ module scaled_matrix_vector_kernel_mod - use argument_mod, only : arg_type, & + use argument_mod, only : arg_type, GH_SCALAR, & GH_FIELD, GH_OPERATOR, & GH_READ, GH_INC, & GH_REAL, CELL_COLUMN @@ -24,12 +24,13 @@ module scaled_matrix_vector_kernel_mod type, public, extends(kernel_type) :: scaled_matrix_vector_kernel_type private - type(arg_type) :: meta_args(5) = (/ & + type(arg_type) :: meta_args(6) = (/ & arg_type(GH_FIELD, GH_REAL, GH_INC, W2), & arg_type(GH_FIELD, GH_REAL, GH_READ, W3), & arg_type(GH_OPERATOR, GH_REAL, GH_READ, W2, W3), & arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & - arg_type(GH_FIELD, GH_REAL, GH_READ, W2) & + arg_type(GH_FIELD, GH_REAL, GH_READ, W2), & + arg_type(GH_SCALAR, GH_REAL, GH_READ) & /) integer :: operates_on = CELL_COLUMN contains @@ -53,6 +54,7 @@ module scaled_matrix_vector_kernel_mod !! @param[in] matrix Local matrix assembly form of the operator A !! @param[in] y Field to scale output by !! @param[in] z Second field to scale output by +!> @param[in] scalar Scalar to scale output by !! @param[in] ndf1 Number of degrees of freedom per cell for the output field !! @param[in] undf1 Unique number of degrees of freedom for the output field !! @param[in] map1 Dofmap for the cell at the base of the column for the output field @@ -66,6 +68,7 @@ subroutine scaled_matrix_vector_code(cell, & matrix, & y, & z, & + scalar, & ndf1, undf1, map1, & ndf2, undf2, map2) @@ -83,6 +86,7 @@ subroutine scaled_matrix_vector_code(cell, & real(kind=r_solver), dimension(ncell_3d,ndf1,ndf2), intent(in) :: matrix real(kind=r_solver), dimension(undf1), intent(in) :: y real(kind=r_solver), dimension(undf1), intent(in) :: z + real(kind=r_solver), intent(in) :: scalar ! Internal variables integer(kind=i_def) :: df, df2, ij, nl, i1, i2 @@ -94,7 +98,7 @@ subroutine scaled_matrix_vector_code(cell, & do df2 = 1, ndf2 i2 = map2(df2) lhs(i1:i1+nl) = lhs(i1:i1+nl) & - + matrix(ij:ij+nl, df, df2)*x(i2:i2+nl)*y(i1:i1+nl)*z(i1:i1+nl) + + scalar*matrix(ij:ij+nl, df, df2)*x(i2:i2+nl)*y(i1:i1+nl)*z(i1:i1+nl) end do end do diff --git a/science/gungho/unit-test/kernel/solver/apply_analytic_q32_rhs_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/apply_analytic_q32_rhs_kernel_mod_test.pf new file mode 100644 index 0000000000..c4c73a5515 --- /dev/null +++ b/science/gungho/unit-test/kernel/solver/apply_analytic_q32_rhs_kernel_mod_test.pf @@ -0,0 +1,86 @@ +!----------------------------------------------------------------------------- +! (c) Crown copyright Met Office. All rights reserved. +! The file LICENCE, distributed with this code, contains details of the terms +! under which the code may be used. +! Some of the content of this file has been produced with the assistance of +! Met Office GitHub Copilot Enterprise. +!----------------------------------------------------------------------------- + +!> Test analytic-elimination Q32 contribution kernel +module apply_analytic_q32_rhs_kernel_mod_test + + use constants_mod, only : i_def, r_solver + use funit + + implicit none + + private + public :: test_all + +contains + + @test( ) + subroutine test_all( ) + + use apply_analytic_q32_rhs_kernel_mod, only : apply_analytic_q32_rhs_code + + implicit none + + real(kind=r_solver), parameter :: tol = 1.0e-12_r_solver + + integer(kind=i_def), parameter :: nlayers = 1_i_def + integer(kind=i_def), parameter :: cell = 1_i_def + integer(kind=i_def), parameter :: ncell = 1_i_def + + integer(kind=i_def), parameter :: ndf_w3 = 2_i_def + integer(kind=i_def), parameter :: ndf_w2 = 3_i_def + integer(kind=i_def), parameter :: undf_w3 = ndf_w3*nlayers + integer(kind=i_def), parameter :: undf_w2 = ndf_w2*nlayers + + integer(kind=i_def), dimension(ndf_w3) :: map_w3 + integer(kind=i_def), dimension(ndf_w2) :: map_w2 + + real(kind=r_solver), dimension(undf_w3) :: rhs + real(kind=r_solver), dimension(undf_w2) :: rhs_u + + real(kind=r_solver), dimension(ncell, ndf_w3, ndf_w2) :: q32_rho + real(kind=r_solver), dimension(ncell, ndf_w3, ndf_w2) :: q32_theta + + real(kind=r_solver), parameter :: const_r = 2.0_r_solver + real(kind=r_solver), parameter :: const_t = 5.0_r_solver + + integer(kind=i_def) :: df + real(kind=r_solver) :: answer + + map_w3 = (/ 1_i_def, 2_i_def /) + map_w2 = (/ 1_i_def, 2_i_def, 3_i_def /) + + rhs_u = (/ 0.2_r_solver, -0.7_r_solver, 1.4_r_solver /) + + q32_rho(1,1,:) = (/ 1.0_r_solver, 0.5_r_solver, -2.0_r_solver /) + q32_rho(1,2,:) = (/ -1.5_r_solver, 2.0_r_solver, 0.1_r_solver /) + + q32_theta(1,1,:) = (/ 0.4_r_solver, -0.2_r_solver, 1.0_r_solver /) + q32_theta(1,2,:) = (/ 3.0_r_solver, 0.0_r_solver, -0.5_r_solver /) + + rhs = 0.0_r_solver + + call apply_analytic_q32_rhs_code(cell, & + nlayers, & + rhs, & + rhs_u, & + ncell, q32_rho, & + ncell, q32_theta, & + const_r, const_t, & + ndf_w3, undf_w3, map_w3, & + ndf_w2, undf_w2, map_w2) + + do df = 1, ndf_w3 + answer = const_r*sum(q32_rho(1,df,:)*rhs_u(:)) & + + const_t*sum(q32_theta(1,df,:)*rhs_u(:)) + @assertEqual(answer, rhs(df), tol) + end do + + end subroutine test_all + +end module apply_analytic_q32_rhs_kernel_mod_test \ No newline at end of file diff --git a/science/linear/source/algorithm/timestepping/tl_si_timestep_alg_mod.x90 b/science/linear/source/algorithm/timestepping/tl_si_timestep_alg_mod.x90 index 8cdb1c0fcb..55e8ea3e44 100644 --- a/science/linear/source/algorithm/timestepping/tl_si_timestep_alg_mod.x90 +++ b/science/linear/source/algorithm/timestepping/tl_si_timestep_alg_mod.x90 @@ -77,8 +77,9 @@ module tl_si_timestep_alg_mod use tl_transport_control_alg_mod, & only: tl_transport_control_alg - use si_operators_alg_mod, only: create_si_operators, & - compute_si_operators, & + use si_operators_alg_mod, only: create_si_operators, & + compute_si_operators_common, & + compute_helmholtz_operators, & final_si_operators use dycore_constants_mod, only: stepper_siqn use checks_and_balances_alg_mod, only: check_fields @@ -488,14 +489,14 @@ contains ! The reference_reset_time is specified in the configuration namelist. ! Note that this reset can only occur at most once per timestep. reference_reset_freq = nint(reference_reset_time / cast_dt, i_def) - if ( mod(modeldb%clock%get_step() - 1_i_def, reference_reset_freq) == 0_i_def ) & - call compute_si_operators(modeldb%config, & - ls_state(igh_t), & - ls_state(igh_d), & - ls_state(igh_p), & - modeldb%clock, & - ls_moist_dyn_itns(:,1,1), & - stepper_siqn) + if ( mod(modeldb%clock%get_step() - 1_i_def, reference_reset_freq) == 0_i_def ) then + call compute_si_operators_common(modeldb%config, & + ls_state(igh_t), & + ls_state(igh_d), & + ls_state(igh_p), & + ls_moist_dyn_itns(:,1,1)) + call compute_helmholtz_operators(modeldb%clock, stepper_siqn) + end if !-------------------------------------------------------------------- From f5b19b37f35c057cb0367d576a6e6194a4b40e52 Mon Sep 17 00:00:00 2001 From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com> Date: Mon, 10 Aug 2026 11:56:36 +0100 Subject: [PATCH 7/8] missing KGO file --- ...t-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt index cb021cc6f0..35836929c5 100644 --- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt +++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt @@ -1,7 +1,7 @@ -Inner product checksum rho = 4100297FC4CCE65A -Inner product checksum theta = 4204AB14B0961053 -Inner product checksum u = 4218334F25231FFF -Inner product checksum mr1 = 4047D6DA32F7E62D +Inner product checksum rho = 41002981B7FF017C +Inner product checksum theta = 4204AB14B37E94E0 +Inner product checksum u = 42183285E86217A4 +Inner product checksum mr1 = 4047D6DA4CC9B43A Inner product checksum mr2 = 0 Inner product checksum mr3 = 0 Inner product checksum mr4 = 0 From ac252eb194ca0c39d071ccca6824e4ab3d280f4e Mon Sep 17 00:00:00 2001 From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com> Date: Fri, 21 Aug 2026 09:46:11 +0100 Subject: [PATCH 8/8] remove rogue extra line --- .../source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 | 1 - 1 file changed, 1 deletion(-) diff --git a/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 b/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 index aeed458b3d..93ee323763 100644 --- a/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 +++ b/science/adjoint/source/algorithm/solver/adj_semi_implicit_solver_alg_mod.x90 @@ -264,7 +264,6 @@ contains ! obtain the correct operator scaling constants when applied adj_mixed_operator_out = adj_mixed_operator_type( stepper ) - select case(si_method) case(SI_METHOD_BLOCK_GCR) allocate ( adj_mixed_solver_out, &