📄 output.f90
字号:
!------------------------------------------------------------------------------!! MODULE : OUTPUT Auteur : J. Gressier! Date : Juillet 2002! Fonction Modif :! Definition des unites d'entrees/sorties du programme TYPHON! Definition des procedures d'ecritures!! Defauts/Limitations/Divers :!!------------------------------------------------------------------------------! module OUTPUTuse TYPHMAKE ! Definition de la precisionimplicit none! -- Variables globales du module -------------------------------------------! niveaux d'ecrituresinteger std_maxlevel ! profondeur d'affichage maximale en sortie standardinteger log_maxlevel ! profondeur d'affichage maximale en fichier log! unites d'entrees integer uf_stdin ! entree standardinteger uf_menu ! menusinteger uf_mesh ! maillagesinteger uf_cdlim ! conditions aux limites! unites de sortiesinteger uf_stdout ! sortie standard (informations standard)integer uf_log ! fichier log (informations detaillees)integer uf_monres ! residual monitorinteger uf_monphy ! physical value monitorinteger uf_residu ! residusinteger uf_mesure ! mesures diversesinteger uf_chpresu ! champs de resultatsinteger uf_compflux ! comparaison des flux a l'interfaceinteger uf_correction ! correction DEV2602integer uf_tempinter ! temperature interface DEV1404! unites de entrees/sorties integer uf_reprise ! fichier reprise! diverscharacter(len=256) :: str_w ! chaine provisoire pour l'ecriture sur unitecharacter(len=6), parameter :: str_std = "[STD] ", & ! prefixe d'ecriture std/log str_log = " " ! prefixe d'ecriture log/log! -- DECLARATIONS -----------------------------------------------------------! -- INTERFACES -------------------------------------------------------------! -- Fonctions et Operateurs ------------------------------------------------! -- IMPLEMENTATION ---------------------------------------------------------contains!------------------------------------------------------------------------------!! Procedure : init_output Auteur : J. Gressier! Date : Novembre 2002! Fonction Modif :! Initialisation des constantes, niveaux et unites!!------------------------------------------------------------------------------!subroutine init_output()implicit none! -- Debut de la procedure -- std_maxlevel = 100 ! 15 ! profondeur d'affichage maximale en sortie standard log_maxlevel = 100 ! profondeur d'affichage maximale en fichier log ! unites d'entrees uf_stdin = 5 ! entree standard uf_menu = 10 ! menus uf_mesh = 20 ! maillages uf_cdlim = 30 ! conditions aux limites ! unites de sorties uf_stdout = 6 ! sortie standard (informations standard) uf_log = 9 ! fichier log (informations detaillees) uf_monres = 31 ! monres file : residual monitor uf_monphy = 32 ! monphy file : physical value monitor uf_residu = 40 ! residus uf_mesure = 50 ! mesures diverses uf_chpresu = 55 ! champs resultats uf_compflux= 56 ! comparaison de flux a l'interface uf_tempinter=57 ! DEV1404 uf_correction = 1000 !DEV2602 open(unit=uf_log, file = "typhon.log", form="formatted") ! unites de entrees/sorties uf_reprise = 60 ! fichier repriseendsubroutine init_output!------------------------------------------------------------------------------!! Procedure : print_etape Auteur : J. Gressier! Date : Juillet 2002! Fonction Modif :! Ecriture en sortie standard et dans le fichier log des entetes de commandes!!------------------------------------------------------------------------------!subroutine print_etape(str)implicit none! -- Declaration des entrees/sorties -- character(len=*) str! -- Debut de la procedure -- call print_info(0, "") call print_info(100, repeat('#',len_trim(str)+8)) call print_info(0, trim(str))endsubroutine print_etape !------------------------------------------------------------------------------!! Procedure : print_warning Auteur : J. Gressier! Date : Juillet 2002! Fonction Modif :! Ecriture dans le fichier log des warnings!!------------------------------------------------------------------------------!subroutine print_warning(str)implicit none! -- Declaration des entrees/sorties -- character(len=*) str! -- Debut de la procedure -- write(uf_log,'(aa)') "[WARNING] ",trim(str)endsubroutine print_warning !------------------------------------------------------------------------------!! Procedure : print_info Auteur : J. Gressier! Date : November 2002! Fonction Modif :! Ecriture en sortie standard et dans le fichier log selon niveaux!!------------------------------------------------------------------------------!subroutine print_info(n, str)implicit none! -- Declaration des entrees -- integer n ! niveau requis de l'ecriture character(len=*) str ! chaine a ecrire! -- Debut de la procedure -- if (n <= std_maxlevel) then write(uf_stdout,'(a)') trim(str) write(uf_log,'(aa)') str_std, trim(str) elseif (n <= log_maxlevel) then write(uf_log,'(aa)') str_log, trim(str) endifendsubroutine print_info !------------------------------------------------------------------------------!! Procedure : print_stdout Auteur : J. Gressier! Date : Juillet 2002! Fonction Modif :! Ecriture en sortie standart et dans le fichier log!!------------------------------------------------------------------------------!subroutine print_std(str)implicit none! -- Declaration des entrees/sorties -- character(len=*) str! -- Debut de la procedure -- call erreur("interne","procedure print_std obsolete") write(uf_stdout,'(a)') trim(str) write(uf_log,'(aa)') "[OUT] ",trim(str)endsubroutine print_std !------------------------------------------------------------------------------!! Procedure : print_log Auteur : J. Gressier! Date : Juillet 2002! Fonction Modif :! Ecriture en sortie standart et dans le fichier log!!------------------------------------------------------------------------------!subroutine print_log(str)implicit none! -- Declaration des entrees/sorties -- character(len=*) str! -- Debut de la procedure -- call erreur("interne","procedure print_log obsolete") write(uf_stdout,'(a)') trim(str) write(uf_log,'(aa)') "[OUT] ",trim(str)endsubroutine print_log endmodule OUTPUT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -