diff --git a/process/availability.py b/process/availability.py index 5581078438..75aba65601 100644 --- a/process/availability.py +++ b/process/availability.py @@ -4,13 +4,13 @@ from scipy.special import comb as combinations from process import fortran as ft +from process import process_output as po from process.fortran import constraint_variables as ctv from process.fortran import cost_variables as cv from process.fortran import divertor_variables as dv from process.fortran import fwbs_variables as fwbsv from process.fortran import ife_variables as ifev from process.fortran import physics_variables as pv -from process.fortran import process_output as po from process.fortran import tfcoil_variables as tfv from process.fortran import times_variables as tv from process.fortran import vacuum_variables as vacv diff --git a/process/blanket_library.py b/process/blanket_library.py index 31fbfa42ec..3865babd05 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -5,6 +5,9 @@ import numpy as np +from process import ( + process_output as po, +) from process.coolprop_interface import FluidProperties from process.fortran import ( blanket_library, @@ -22,9 +25,6 @@ from process.fortran import ( error_handling as eh, ) -from process.fortran import ( - process_output as po, -) from process.utilities.f2py_string_patch import f2py_compatible_to_string # Acronyms for this module: diff --git a/process/build.py b/process/build.py index 6cc6bcd0ba..aba18bf903 100644 --- a/process/build.py +++ b/process/build.py @@ -2,6 +2,7 @@ import numpy as np +from process import process_output as po from process.blanket_library import dshellarea, eshellarea from process.fortran import ( blanket_library, @@ -17,7 +18,6 @@ physics_variables, tfcoil_variables, ) -from process.fortran import process_output as po from process.variables import AnnotatedVariable logger = logging.getLogger(__name__) @@ -973,7 +973,7 @@ def divgeom(self, output: bool): po.ovarrf( self.outfile, "Plasma geometric centre, radial (m)", - "(physics_variables.rmajor.)", + "(rmajor.)", physics_variables.rmajor, "OP ", ) @@ -986,7 +986,7 @@ def divgeom(self, output: bool): ) po.ovarrf( self.outfile, - "Plasma lower physics_variables.triangularity", + "Plasma lower triangularity", "(tril)", tril, "OP ", @@ -994,7 +994,7 @@ def divgeom(self, output: bool): po.ovarrf( self.outfile, "Plasma elongation", - "(physics_variables.kappa.)", + "(kappa.)", kap, "OP ", ) diff --git a/process/buildings.py b/process/buildings.py index c7046c903c..a41639fa83 100644 --- a/process/buildings.py +++ b/process/buildings.py @@ -2,6 +2,7 @@ import numpy as np +from process import process_output as po from process.fortran import ( build_variables, buildings_variables, @@ -15,7 +16,6 @@ physics_variables, tfcoil_variables, ) -from process.fortran import process_output as po logger = logging.getLogger(__name__) diff --git a/process/costs.py b/process/costs.py index 09cdee0e16..3d2caa0bf8 100644 --- a/process/costs.py +++ b/process/costs.py @@ -1,5 +1,6 @@ import numpy as np +from process import process_output as po from process.fortran import ( build_variables, buildings_variables, @@ -20,7 +21,6 @@ times_variables, vacuum_variables, ) -from process.fortran import process_output as po from process.variables import AnnotatedVariable diff --git a/process/costs_2015.py b/process/costs_2015.py index 09fdc5ea7d..731531fd14 100644 --- a/process/costs_2015.py +++ b/process/costs_2015.py @@ -2,6 +2,7 @@ import numpy as np +from process import process_output as po from process.fortran import ( build_variables, constants, @@ -15,7 +16,6 @@ physics_variables, tfcoil_variables, ) -from process.fortran import process_output as po from process.variables import AnnotatedVariable logger = logging.getLogger(__name__) diff --git a/process/current_drive.py b/process/current_drive.py index 3c248b12a7..ac97f186b2 100644 --- a/process/current_drive.py +++ b/process/current_drive.py @@ -1,5 +1,8 @@ import numpy as np +from process import ( + process_output as po, +) from process.fortran import ( constants, cost_variables, @@ -10,9 +13,6 @@ from process.fortran import ( error_handling as eh, ) -from process.fortran import ( - process_output as po, -) from process.plasma_profiles import PlasmaProfile diff --git a/process/dcll.py b/process/dcll.py index 4a7ee062a6..1d0c0eb4a7 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -1,3 +1,6 @@ +from process import ( + process_output as po, +) from process.fortran import ( build_variables, constants, @@ -8,9 +11,6 @@ physics_variables, primary_pumping_variables, ) -from process.fortran import ( - process_output as po, -) class DCLL: diff --git a/process/divertor.py b/process/divertor.py index e24540e065..c2125a41a9 100644 --- a/process/divertor.py +++ b/process/divertor.py @@ -1,11 +1,11 @@ import math +from process import process_output as po from process.fortran import build_variables as bv from process.fortran import constants from process.fortran import divertor_variables as dv from process.fortran import error_handling as eh from process.fortran import physics_variables as pv -from process.fortran import process_output as po from process.fortran import tfcoil_variables as tfv diff --git a/process/final.py b/process/final.py index 34f2bf3332..34304a85e1 100644 --- a/process/final.py +++ b/process/final.py @@ -3,14 +3,14 @@ from tabulate import tabulate from process import output as op +from process import ( + process_output as po, +) from process.fortran import ( constants, constraints, numerics, ) -from process.fortran import ( - process_output as po, -) from process.objectives import objective_function from process.utilities.f2py_string_patch import f2py_compatible_to_string diff --git a/process/fw.py b/process/fw.py index 8f05d52827..03cd9a0573 100644 --- a/process/fw.py +++ b/process/fw.py @@ -1,5 +1,8 @@ import numpy as np +from process import ( + process_output as po, +) from process.coolprop_interface import FluidProperties from process.fortran import ( constants, @@ -9,9 +12,6 @@ from process.fortran import ( error_handling as eh, ) -from process.fortran import ( - process_output as po, -) from process.utilities.f2py_string_patch import f2py_compatible_to_string diff --git a/process/hcpb.py b/process/hcpb.py index 5500729350..7e7d806bb1 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -1,5 +1,8 @@ import numpy as np +from process import ( + process_output as po, +) from process.coolprop_interface import FluidProperties from process.fortran import ( build_variables, @@ -18,9 +21,6 @@ from process.fortran import ( error_handling as eh, ) -from process.fortran import ( - process_output as po, -) class CCFE_HCPB: diff --git a/process/ife.py b/process/ife.py index 78fef7d5a3..028c70a075 100644 --- a/process/ife.py +++ b/process/ife.py @@ -7,6 +7,7 @@ import numpy as np +from process import process_output from process.fortran import ( build_variables, buildings_variables, @@ -17,7 +18,6 @@ heat_transport_variables, ife_variables, physics_variables, - process_output, structure_variables, vacuum_variables, ) diff --git a/process/init.py b/process/init.py index b14947e8c9..db1fae3166 100644 --- a/process/init.py +++ b/process/init.py @@ -79,71 +79,71 @@ def run_summary(): # Outfile and terminal # for outfile in [fortran.constants.nout, fortran.constants.iotty]: # PROCESS code header - fortran.process_output.oblnkl(outfile) - fortran.process_output.ostars(outfile, 110) - fortran.process_output.ocentr(outfile, "PROCESS", 110) - fortran.process_output.ocentr(outfile, "Power Reactor Optimisation Code", 110) - fortran.process_output.ostars(outfile, 110) - fortran.process_output.oblnkl(outfile) + process.process_output.oblnkl(outfile) + process.process_output.ostars(outfile, 110) + process.process_output.ocentr(outfile, "PROCESS", 110) + process.process_output.ocentr(outfile, "Power Reactor Optimisation Code", 110) + process.process_output.ostars(outfile, 110) + process.process_output.oblnkl(outfile) # Run execution details version = process.__version__ - fortran.process_output.ocmmnt(outfile, f"Version : {version}") + process.process_output.ocmmnt(outfile, f"Version : {version}") git_branch, git_tag = get_git_summary() - fortran.process_output.ocmmnt(outfile, f"Git Tag : {git_tag}") - fortran.process_output.ocmmnt(outfile, f"Git Branch : {git_branch}") + process.process_output.ocmmnt(outfile, f"Git Tag : {git_tag}") + process.process_output.ocmmnt(outfile, f"Git Branch : {git_branch}") date_string = datetime.datetime.now(datetime.timezone.utc).strftime( "%d/%m/%Y %Z" ) time_string = datetime.datetime.now(datetime.timezone.utc).strftime("%H:%M") - fortran.process_output.ocmmnt(outfile, f"Date : {date_string}") - fortran.process_output.ocmmnt(outfile, f"Time : {time_string}") + process.process_output.ocmmnt(outfile, f"Date : {date_string}") + process.process_output.ocmmnt(outfile, f"Time : {time_string}") user = getpass.getuser() machine = socket.gethostname() - fortran.process_output.ocmmnt(outfile, f"User : {user}") - fortran.process_output.ocmmnt(outfile, f"Computer : {machine}") - fortran.process_output.ocmmnt(outfile, f"Directory : {Path.cwd()}") + process.process_output.ocmmnt(outfile, f"User : {user}") + process.process_output.ocmmnt(outfile, f"Computer : {machine}") + process.process_output.ocmmnt(outfile, f"Directory : {Path.cwd()}") fileprefix = f2py_compatible_to_string(fortran.global_variables.fileprefix) - fortran.process_output.ocmmnt( + process.process_output.ocmmnt( outfile, f"Input : {fileprefix}", ) runtitle = f2py_compatible_to_string(fortran.global_variables.runtitle) - fortran.process_output.ocmmnt( + process.process_output.ocmmnt( outfile, f"Run title : {runtitle}", ) - fortran.process_output.ocmmnt( + process.process_output.ocmmnt( outfile, f"Run type : Reactor concept design: {f2py_compatible_to_string(fortran.global_variables.icase)}, (c) UK Atomic Energy Authority", ) - fortran.process_output.oblnkl(outfile) - fortran.process_output.ostars(outfile, 110) - fortran.process_output.oblnkl(outfile) + process.process_output.oblnkl(outfile) + process.process_output.ostars(outfile, 110) + process.process_output.oblnkl(outfile) - fortran.process_output.ocmmnt( + process.process_output.ocmmnt( outfile, f"Equality constraints : {fortran.numerics.neqns.item()}" ) - fortran.process_output.ocmmnt( + process.process_output.ocmmnt( outfile, f"Inequality constraints : {fortran.numerics.nineqns.item()}" ) - fortran.process_output.ocmmnt( + process.process_output.ocmmnt( outfile, f"Total constraints : {fortran.numerics.nineqns.item() + fortran.numerics.neqns.item()}", ) - fortran.process_output.ocmmnt( + process.process_output.ocmmnt( outfile, f"Iteration variables : {fortran.numerics.nvar.item()}" ) - fortran.process_output.ocmmnt( + process.process_output.ocmmnt( outfile, f"Max iterations : {fortran.global_variables.maxcal.item()}" ) @@ -157,41 +157,41 @@ def run_summary(): fom_string = f2py_compatible_to_string( fortran.numerics.lablmm[abs(fortran.numerics.minmax) - 1] ) - fortran.process_output.ocmmnt( + process.process_output.ocmmnt( outfile, f"Figure of merit : {minmax_sign}{abs(fortran.numerics.minmax)}{minmax_string}{fom_string}", ) - fortran.process_output.ocmmnt( + process.process_output.ocmmnt( outfile, f"Convergence parameter : {fortran.numerics.epsvmc}", ) - fortran.process_output.oblnkl(outfile) - fortran.process_output.ostars(outfile, 110) + process.process_output.oblnkl(outfile) + process.process_output.ostars(outfile, 110) # MFile # mfile = fortran.constants.mfile - fortran.process_output.ovarst(mfile, "PROCESS version", "(procver)", f'"{version}"') - fortran.process_output.ovarst(mfile, "Date of run", "(date)", f'"{date_string}"') - fortran.process_output.ovarst(mfile, "Time of run", "(time)", f'"{time_string}"') - fortran.process_output.ovarst(mfile, "User", "(username)", f'"{user}"') - fortran.process_output.ovarst( + process.process_output.ovarst(mfile, "PROCESS version", "(procver)", f'"{version}"') + process.process_output.ovarst(mfile, "Date of run", "(date)", f'"{date_string}"') + process.process_output.ovarst(mfile, "Time of run", "(time)", f'"{time_string}"') + process.process_output.ovarst(mfile, "User", "(username)", f'"{user}"') + process.process_output.ovarst( mfile, "PROCESS run title", "(runtitle)", f'"{runtitle}"' ) - fortran.process_output.ovarst(mfile, "PROCESS git tag", "(tagno)", f'"{git_tag}"') - fortran.process_output.ovarst( + process.process_output.ovarst(mfile, "PROCESS git tag", "(tagno)", f'"{git_tag}"') + process.process_output.ovarst( mfile, "PROCESS git branch", "(branch_name)", f'"{git_branch}"' ) - fortran.process_output.ovarst( + process.process_output.ovarst( mfile, "Input filename", "(fileprefix)", f'"{fileprefix}"' ) - fortran.process_output.ovarin( + process.process_output.ovarin( mfile, "Optimisation switch", "(ioptimz)", fortran.numerics.ioptimz ) if fortran.numerics.ioptimz == -2: - fortran.process_output.ovarin( + process.process_output.ovarin( mfile, "Figure of merit switch", "(minmax)", fortran.numerics.minmax ) diff --git a/process/pfcoil.py b/process/pfcoil.py index 2941dbbb2a..e4b9644ef1 100644 --- a/process/pfcoil.py +++ b/process/pfcoil.py @@ -9,6 +9,7 @@ import process.superconductors as superconductors from process import fortran as ft +from process import process_output as op from process.fortran import build_variables as bv from process.fortran import constants, numerics from process.fortran import constraint_variables as ctv @@ -18,7 +19,6 @@ from process.fortran import pfcoil_module as pf from process.fortran import pfcoil_variables as pfv from process.fortran import physics_variables as pv -from process.fortran import process_output as op from process.fortran import rebco_variables as rcv from process.fortran import tfcoil_variables as tfv from process.fortran import times_variables as tv @@ -2050,7 +2050,7 @@ def outpf(self): op.ovarre( self.outfile, "Residual manufacturing strain in CS superconductor material", - "(tfcoil_variables.str_cs_con_res)", + "(str_cs_con_res)", tfv.str_cs_con_res, ) op.ovarre( diff --git a/process/physics.py b/process/physics.py index 2b77c07eba..c9123b5229 100644 --- a/process/physics.py +++ b/process/physics.py @@ -9,6 +9,9 @@ import process.confinement_time as confinement import process.impurity_radiation as impurity_radiation import process.physics_functions as physics_funcs +from process import ( + process_output as po, +) from process.fortran import ( build_variables, constants, @@ -27,9 +30,6 @@ stellarator_variables, times_variables, ) -from process.fortran import ( - process_output as po, -) from process.utilities.f2py_string_patch import f2py_compatible_to_string diff --git a/process/power.py b/process/power.py index 37f3fdb8ee..e1333c451d 100644 --- a/process/power.py +++ b/process/power.py @@ -3,6 +3,7 @@ import numpy as np +from process import process_output as po from process.fortran import ( build_variables, buildings_variables, @@ -22,7 +23,6 @@ tfcoil_variables, times_variables, ) -from process.fortran import process_output as po from process.variables import AnnotatedVariable logger = logging.getLogger(__name__) @@ -971,7 +971,7 @@ def power2(self, output: bool): po.ovarre( self.outfile, - "Sum = Total heat removal at cryogenic temperatures (tfcoil_variables.tmpcry & tfcoil_variables.tcoolin) (MW)", + "Sum = Total heat removal at cryogenic temperatures (tmpcry & tcoolin) (MW)", "(helpow + helpow_cryal/1.0d6)", (heat_transport_variables.helpow + heat_transport_variables.helpow_cryal) * 1.0e-6, diff --git a/process/process_output.py b/process/process_output.py new file mode 100644 index 0000000000..479778d528 --- /dev/null +++ b/process/process_output.py @@ -0,0 +1,45 @@ +import numpy as np + +from process.fortran import constants, process_output_fortran + +# necessary to avoid using process_output in the code through +# two different interfaces +ocentr = process_output_fortran.ocentr +ostars = process_output_fortran.ostars +oheadr = process_output_fortran.oheadr +oshead = process_output_fortran.oshead +oblnkl = process_output_fortran.oblnkl +osubhd = process_output_fortran.osubhd +ocmmnt = process_output_fortran.ocmmnt +write = process_output_fortran.write +dblcol = process_output_fortran.dblcol +ovarin = process_output_fortran.ovarin +ovarst = process_output_fortran.ovarst +obuild = process_output_fortran.obuild + + +def ovarre(file, descr: str, varnam: str, value, output_flag: str = ""): + replacement_character = "_" + if file != constants.mfile: + replacement_character = " " + + description = f"{descr:<72}".replace(" ", replacement_character) + varname = f"{varnam:<30}".replace(" ", replacement_character) + + if isinstance(value, np.ndarray): + value = value.item() + elif isinstance(value, str): + value = float(value) + + line = f"{description}{replacement_character} {varname}{replacement_character} {value:.17e} {output_flag}" + write(file, line) + if file != constants.mfile: + ovarre(constants.mfile, descr, varnam, value, output_flag) + + +def ocosts(file, varnam: str, descr: str, value): + ovarre(file, descr, varnam, value) + + +def ovarrf(file, descr: str, varnam: str, value, output_flag: str = ""): + ovarre(file, descr, varnam, value, output_flag) diff --git a/process/pulse.py b/process/pulse.py index 62981c87ad..f891d3d131 100644 --- a/process/pulse.py +++ b/process/pulse.py @@ -1,3 +1,4 @@ +from process import process_output as po from process.fortran import ( constants, constraint_variables, @@ -9,7 +10,6 @@ pulse_variables, times_variables, ) -from process.fortran import process_output as po class Pulse: diff --git a/process/sctfcoil.py b/process/sctfcoil.py index 5416053715..e96ac06c30 100644 --- a/process/sctfcoil.py +++ b/process/sctfcoil.py @@ -7,6 +7,7 @@ from scipy import optimize import process.superconductors as superconductors +from process import process_output as po from process.fortran import ( build_variables, constants, @@ -21,7 +22,6 @@ sctfcoil_module, tfcoil_variables, ) -from process.fortran import process_output as po from process.utilities.f2py_string_patch import f2py_compatible_to_string logger = logging.getLogger(__name__) diff --git a/process/stellarator.py b/process/stellarator.py index 6073d9b263..e4d483216b 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -6,6 +6,9 @@ import process.physics_functions as physics_funcs import process.superconductors as superconductors +from process import ( + process_output as po, +) from process.coolprop_interface import FluidProperties from process.fortran import ( build_variables, @@ -30,9 +33,6 @@ structure_variables, tfcoil_variables, ) -from process.fortran import ( - process_output as po, -) from process.fortran import ( stellarator_module as st, ) diff --git a/process/structure.py b/process/structure.py index 12771bcc67..4cbf1d46a9 100644 --- a/process/structure.py +++ b/process/structure.py @@ -3,13 +3,13 @@ import numpy as np +from process import process_output as po from process.fortran import build_variables as bv from process.fortran import constants from process.fortran import divertor_variables as divv from process.fortran import fwbs_variables as fwbsv from process.fortran import pfcoil_variables as pfv from process.fortran import physics_variables as pv -from process.fortran import process_output as po from process.fortran import structure_variables as stv from process.fortran import tfcoil_variables as tfv diff --git a/process/tfcoil.py b/process/tfcoil.py index 2c9636d235..b2894f0f12 100644 --- a/process/tfcoil.py +++ b/process/tfcoil.py @@ -3,12 +3,12 @@ import numpy as np from process import fortran as ft +from process import process_output as po from process.build import Build from process.fortran import build_variables as bv from process.fortran import constants from process.fortran import error_handling as eh from process.fortran import fwbs_variables as fwbsv -from process.fortran import process_output as po from process.fortran import tfcoil_variables as tfv from process.sctfcoil import Sctfcoil diff --git a/process/vacuum.py b/process/vacuum.py index 1ce2273d5e..60c3cd0215 100644 --- a/process/vacuum.py +++ b/process/vacuum.py @@ -3,11 +3,11 @@ import numpy as np +from process import process_output as po from process.fortran import build_variables as buv from process.fortran import constants from process.fortran import error_handling as eh from process.fortran import physics_variables as pv -from process.fortran import process_output as po from process.fortran import tfcoil_variables as tfv from process.fortran import times_variables as tv from process.fortran import vacuum_variables as vacv diff --git a/process/water_use.py b/process/water_use.py index 33307d9b1d..d37be8b76f 100644 --- a/process/water_use.py +++ b/process/water_use.py @@ -1,7 +1,7 @@ import numpy as np +from process import process_output as po from process.fortran import constants, heat_transport_variables, water_usage_variables -from process.fortran import process_output as po SECDAY = 86400e0 diff --git a/source/fortran/error_handling.f90 b/source/fortran/error_handling.f90 index d0e1e73ccc..a7388ff143 100644 --- a/source/fortran/error_handling.f90 +++ b/source/fortran/error_handling.f90 @@ -271,7 +271,7 @@ subroutine show_errors ! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! use constants, only: iotty, nout - use process_output, only: oblnkl, oheadr, ocmmnt, ovarin, ostars + use process_output_fortran, only: oblnkl, oheadr, ocmmnt, ovarin, ostars implicit none ! Arguments diff --git a/source/fortran/init_module.f90 b/source/fortran/init_module.f90 index d2b00d683f..4b6ad29b80 100644 --- a/source/fortran/init_module.f90 +++ b/source/fortran/init_module.f90 @@ -81,7 +81,7 @@ subroutine finish use process_input, only: nin use constants, only: iotty, mfile, nout, nplot, opt_file, vfile - use process_output, only: oheadr + use process_output_fortran, only: oheadr use global_variables, only: verbose implicit none diff --git a/source/fortran/output.f90 b/source/fortran/output.f90 index c40763bb7a..0365da0edd 100755 --- a/source/fortran/output.f90 +++ b/source/fortran/output.f90 @@ -1,6 +1,6 @@ ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -module process_output +module process_output_fortran !! Module containing routines to produce a uniform output style !! author: P J Knight, CCFE, Culham Science Centre @@ -332,75 +332,6 @@ subroutine dblcol(file, desc, val1, val2) 10 format(1x,a,t75,f10.2,t100,f10.2) end subroutine dblcol - subroutine ovarrf(file,descr,varnam,value,output_flag) - - !! Routine to print out the details of a floating-point - !! variable using 'F' format - !! author: P J Knight, CCFE, Culham Science Centre - !! file : input integer : Fortran output unit identifier - !! descr : input character string : Description of the variable - !! varnam : input character string : Name of the variable - !! value : input real : Value of the variable - !! output_flag : optional character - !! This routine writes out the description, name and value of a - !! double precision variable in F format (e.g. - !! -12345.000). - !! ! - ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - use numerics, only: name_xc - use global_variables, only: verbose - use constants, only: pi, mfile, nplot, electron_charge - implicit none - - ! Arguments - - integer, intent(in) :: file - character(len=*), intent(in) :: descr, varnam - real(8), intent(in) :: value - character(len=3), intent(in), optional :: output_flag - - ! Local variables - - character(len=72) :: dum72 - character(len=20) :: dum20 - character(len=20) :: stripped - character(len=3) :: flag - ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - ! Replace descr and varnam with dummy strings of the correct length. - ! This counters problems that would occur if the two original strings - ! were the wrong length. - - dum72 = descr - dum20 = varnam - stripped = varnam(2:len(varnam)-1) - - if (present(output_flag)) then - flag = output_flag - else - flag = '' - end if - - if (any(name_xc == stripped)) flag = 'ITV' - - if (file /= mfile) then - !MDK add label if it is an iteration variable - ! The ITV flag overwrites the output_flag - if (verbose==1) then - write(file,10) dum72, dum20, value, flag - else - write(file,20) dum72, dum20, value, flag - end if - end if - -10 format(1x,a,t75,a,t100,f13.6, t115, a) -20 format(1x,a,t75,a,t100,f10.3, t112, a) - - call ovarre(mfile,descr,varnam,value) - - end subroutine ovarrf - ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! subroutine ovarre(file,descr,varnam,value,output_flag) @@ -602,52 +533,6 @@ end subroutine ovarst ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - subroutine ocosts(file,ccode,descr,value) - - !! Routine to print out the code, description and value - !! of a cost item - !! author: P J Knight, CCFE, Culham Science Centre - !! file : input integer : Fortran output unit identifier - !! ccode : input character string : Code number/name of the cost item - !! descr : input character string : Description of the cost item - !! value : input real : Value of the cost item - !! This routine writes out the cost code, description and value - !! of a cost item. - !! ! - ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - use constants, only: pi, mfile, nplot, twopi - implicit none - - ! Arguments - - integer, intent(in) :: file - character(len=*), intent(in) :: ccode, descr - real(8), intent(in) :: value - - ! Local variables - - character(len=30) :: dum20 - character(len=72) :: dum72 - - ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - ! Replace ccode and descr with dummy strings of the correct length. - ! This counters problems that would occur if the two original strings - ! were the wrong length. - - dum20 = ccode - dum72 = descr - - write(file,10) dum20, dum72, value -10 format(1x,a,t22,a,t110,f10.2) - - call ovarrf(mfile,descr,ccode,value) - - end subroutine ocosts - - ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - subroutine obuild(file,descr,thick,total,variable_name) !! Routine to print out a description, the thickness and @@ -860,4 +745,4 @@ function int_to_string3(i) end function int_to_string3 -end module process_output +end module process_output_fortran diff --git a/source/fortran/scan.f90 b/source/fortran/scan.f90 index ccaf1aa326..cb2d3d3a19 100644 --- a/source/fortran/scan.f90 +++ b/source/fortran/scan.f90 @@ -150,7 +150,7 @@ end subroutine init_scan_module subroutine scan_1d_write_point_header(iscan) use global_variables, only: iscan_global, xlabel, vlabel use constants, only: mfile, nout - use process_output, only: ovarin, ostars, oblnkl + use process_output_fortran, only: ovarin, ostars, oblnkl implicit none integer, intent(in) :: iscan !! Scan point number @@ -189,7 +189,7 @@ subroutine scan_1d_store_output(iscan, ifail, noutvars_, ipnscns_, outvar) use impurity_radiation_module, only: fimp use pfcoil_variables, only: whtpf use pf_power_variables, only: srcktpm - use process_output, only: oblnkl + use process_output_fortran, only: oblnkl use numerics, only: sqsumsq use tfcoil_variables, only: tfareain, wwp2, sig_tf_wp, tfcmw, tcpmax, oacdcp, & tfcpmw, fcutfsu, acond, fcoolcp, rcool, whttf, ppump, vcool, wwp1, n_tf_coils, & @@ -296,7 +296,7 @@ end subroutine scan_1d_store_output subroutine scan_1d_write_plot(iscan, outvar) use global_variables, only: icase, xlabel use constants, only: nplot, mfile - use process_output, only: ovarin + use process_output_fortran, only: ovarin implicit none integer, intent(inout) :: iscan @@ -408,7 +408,7 @@ subroutine scan_2d_init !! author: J Morris, UKAEA, Culham Science Centre ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! use constants, only: mfile - use process_output, only: ovarin + use process_output_fortran, only: ovarin implicit none ! Set up labels for plotting output @@ -422,7 +422,7 @@ subroutine scan_2d_init end subroutine scan_2d_init subroutine scan_2d_write_point_header(iscan, iscan_1, iscan_2, iscan_R) - use process_output, only: oblnkl, ostars, ovarin + use process_output_fortran, only: oblnkl, ostars, ovarin use global_variables, only: vlabel, vlabel_2, xlabel, xlabel_2, iscan_global use constants, only: nout, mfile implicit none @@ -870,7 +870,7 @@ subroutine post_optimise(ifail) use constraints use error_handling use numerics - use process_output + use process_output_fortran use utilities, only:upper_case ! for ipedestal = 2 option use global_variables, only: convergence_parameter @@ -1128,7 +1128,7 @@ subroutine verror(ifail) ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! use constants, only: nout, iotty - use process_output, only: ocmmnt, oblnkl + use process_output_fortran, only: ocmmnt, oblnkl implicit none ! Arguments