cavity_solution_reset Subroutine

private pure subroutine cavity_solution_reset(sol)

Define every component of the solution bundle. Called FIRST by cavity_solve_melt, before any early return, because the type carries no default initialisers (see its docstring: they would bar it from a do concurrent local(...) clause on gfortran).

Arguments

Type IntentOptional Attributes Name
type(ocean_cavity_solution_t), intent(out) :: sol

Solution bundle, zeroed.


Called by

proc~~cavity_solution_reset~~CalledByGraph proc~cavity_solution_reset cavity_solution_reset proc~cavity_solve_melt_f cavity_solve_melt_f proc~cavity_solve_melt_f->proc~cavity_solution_reset proc~cavity_melt_point_gamma_f cavity_melt_point_gamma_f proc~cavity_melt_point_gamma_f->proc~cavity_solve_melt_f proc~cavity_solve_melt cavity_solve_melt proc~cavity_solve_melt->proc~cavity_solve_melt_f proc~cavity_melt_columns_2d cavity_melt_columns_2d proc~cavity_melt_columns_2d->proc~cavity_melt_point_gamma_f proc~cavity_melt_point cavity_melt_point proc~cavity_melt_point->proc~cavity_solve_melt proc~cavity_melt_point_gamma cavity_melt_point_gamma proc~cavity_melt_point_gamma->proc~cavity_melt_point_gamma_f proc~cavity_melt_columns cavity_melt_columns proc~cavity_melt_columns->proc~cavity_melt_point proc~ocean_cavity_flux_step ocean_cavity_flux_step proc~ocean_cavity_flux_step->proc~cavity_melt_columns_2d proc~engine_step_finalize engine_step_finalize proc~engine_step_finalize->proc~ocean_cavity_flux_step

Source Code

   pure subroutine cavity_solution_reset(sol)
      !! Define every component of the solution bundle.  Called FIRST by
      !! `cavity_solve_melt`, before any early return, because the type
      !! carries no default initialisers (see its docstring: they would
      !! bar it from a `do concurrent` `local(...)` clause on gfortran).
      !$acc routine seq
      type(ocean_cavity_solution_t), intent(out) :: sol
         !! Solution bundle, zeroed.
      sol%T_b = 0.0_wp
      sol%S_b = 0.0_wp
      sol%m_mass = 0.0_wp
      sol%gamma_t = 0.0_wp
      sol%gamma_s = 0.0_wp
      sol%u_star = 0.0_wp
      sol%b_flux = 0.0_wp
      sol%l_plus = 0.0_wp
      sol%L_obukhov = 0.0_wp
      sol%T_star = 0.0_wp
      sol%S_star = 0.0_wp
      sol%q_ocean = 0.0_wp
      sol%q_ice = 0.0_wp
      sol%q_latent = 0.0_wp
      sol%n_iter = 0
      sol%converged = .false.
   end subroutine cavity_solution_reset