print_banner Subroutine

public subroutine print_banner(sim_type)

Print a cute banner to the console when the simulation starts. The subtitle line adapts to the regime: “ocean circulation model” for sim_type == "ocean", the 2D/3D coastal line otherwise (the default).

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in), optional :: sim_type

Calls

proc~~print_banner~~CallsGraph proc~print_banner print_banner get_knowledge get_knowledge proc~print_banner->get_knowledge info info proc~print_banner->info

Called by

proc~~print_banner~~CalledByGraph proc~print_banner print_banner proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~print_banner proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean

Variables

Type Visibility Attributes Name Initial
character(len=54), private :: subtitle

Source Code

   subroutine print_banner(sim_type)
    !! Print a cute banner to the console when the simulation starts.  The
    !! subtitle line adapts to the regime: "ocean circulation model" for
    !! `sim_type == "ocean"`, the 2D/3D coastal line otherwise (the default).
      character(len=*), intent(in), optional :: sim_type
      character(len=54) :: subtitle   ! 54 = interior box width (the ═ border)

      subtitle = "       2D/3D Coastal Hydrodynamics Model"
      if (present(sim_type)) then
         if (trim(sim_type) == "ocean") subtitle = "            Global Circulation Model"
      end if

      call logger%info("")
      call logger%info("  ╔══════════════════════════════════════════════════════╗")
      call logger%info("  ║                                                      ║")
      call logger%info("  ║     ██████╗  ██████╗ ██╗   ██╗███╗   ██╗██████╗      ║")
      call logger%info("  ║     ██╔══██╗██╔═══██╗██║   ██║████╗  ██║██╔══██╗     ║")
      call logger%info("  ║     ██████╔╝██║   ██║██║   ██║██╔██╗ ██║██║  ██║     ║")
      call logger%info("  ║     ██╔══██╗██║   ██║██║   ██║██║╚██╗██║██║  ██║     ║")
      call logger%info("  ║     ██║  ██║╚██████╔╝╚██████╔╝██║ ╚████║██████╔╝     ║")
      call logger%info("  ║     ╚═╝  ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═══╝╚═════╝      ║")
      call logger%info("  ║      █████╗ ██████╗  ██████╗ ██╗   ██╗████████╗      ║")
      call logger%info("  ║     ██╔══██╗██╔══██╗██╔═══██╗██║   ██║╚══██╔══╝      ║")
      call logger%info("  ║     ███████║██████╔╝██║   ██║██║   ██║   ██║         ║")
      call logger%info("  ║     ██╔══██║██╔══██╗██║   ██║██║   ██║   ██║         ║")
      call logger%info("  ║     ██║  ██║██████╔╝╚██████╔╝╚██████╔╝   ██║         ║")
      call logger%info("  ║     ╚═╝  ╚═╝╚═════╝  ╚═════╝  ╚═════╝    ╚═╝         ║")
      call logger%info("  ║                                                      ║")
      call logger%info("  ║        A GPU accelerated, Fortran native             ║")
      call logger%info("  ║"//subtitle//"║")
      call logger%info("  ║                                                      ║")
      call logger%info("  ╚══════════════════════════════════════════════════════╝")
      call logger%info("")
      call logger%info("  Contributors:")
      call logger%info("    Jorge Luis Galvez Vallejo")
      call logger%info("    Albert Sietze Thie")
      ! add your name here after you've contributed!
      call logger%info("")
      call get_knowledge()
   end subroutine print_banner