Skip to contents

Trace values of thermal-hydraulic regime (temperature, pressure, flow rate, and other) in the bunched pipeline against the flow direction using norms of heat loss values prescribed by Minenergo Order 325.

Algorithm also suits for partially measurable district heating network with massive data lack conditions, when there are no temperature and pressure sensor readings on the majority of terminal nodes.

Usage

m325tracebw(
  sender = 6,
  acceptor = 7,
  temperature = 70,
  pressure = pipenostics::mpa_kgf(6),
  flow_rate = 20,
  d = 100,
  len = 72.446,
  year = 1986,
  insulation = 0,
  laying = "tunnel",
  beta = FALSE,
  exp5k = TRUE,
  roughness = 0.001,
  inlet = 0.5,
  outlet = 1,
  method = "romeo",
  opinion = "median",
  verbose = TRUE,
  csv = FALSE,
  file = "m325tracebw.csv"
)

Arguments

sender

identifier of the node which heat carrier flows out. Type: any type that can be painlessly coerced to character by as.character.

acceptor

identifier of the node which heat carrier flows in. According to topology of test bench considered this identifier should be unique for every row. Type: any type that can be painlessly coerced to character by as.character.

temperature

Sensor-measured temperature of heat carrier (water) sensor-measured on the terminal acceptor node, [°C]. Use NA_float_s for (terminal) nodes without temperature sensor. Type: assert_double.

pressure

Sensor-measured absolute pressure of heat carrier (water) inside the pipe (i.e. acceptor's incoming edge), [MPa]. Type: assert_double.

flow_rate

Sensor-measured amount of heat carrier (water) on terminal node that is transferred by pipe (i.e. acceptor's incoming edge) during a period, [ton/hour]. Type: assert_double. Use NA_float_s for nodes without flow rate sensor.

d

internal diameter of pipe (i.e.diameter of acceptor's incoming edge), [mm]. Type: assert_double.

len

pipe length (i.e. length of acceptor's incoming edge), [m]. Type: assert_double.

year

year when the pipe (i.e. acceptor's incoming edge) is put in operation after laying or total overhaul. Type: assert_integerish.

insulation

identifier of insulation that covers the exterior of pipe (i.e. acceptor's incoming edge):

0

no insulation

1

foamed polyurethane or analogue

2

polymer concrete

Type: assert_subset.

laying

type of pipe laying depicting the position of pipe in space. Only five types of pipe laying are considered:

  • air,

  • channel,

  • room,

  • tunnel,

  • underground.

Type: assert_subset.

beta

logical indicator: should they consider additional heat loss of fittings located on this pipe (i.e. acceptor's incoming edge)? Type: assert_logical.

exp5k

logical indicator for regime of pipe (i.e. acceptor's incoming edge): if TRUE pipe is operated more that 5000 hours per year. Type: assert_logical.

roughness

roughness of internal wall of pipe (i.e. acceptor's incoming edge), [m]. Type: assert_double.

inlet

elevation of pipe inlet, [m]. Type: assert_double.

outlet

elevation of pipe outlet, [m]. Type: assert_double.

method

method of determining Darcy friction factor:

  • romeo

  • vatankhan

  • buzelli

Type: assert_choice. For more details see dropp.

opinion

method for aggregating values of regime parameters on each node for the next tracing step:

mean

values of parameter are averaged before the next tracing step

median

median of parameter values are used for the next tracing step

Type: assert_choice.

verbose

logical indicator: should they watch tracing process on console? Type: assert_flag.

csv

logical indicator: should they incrementally dump results to csv- file while tracing? Type: assert_flag.

file

name of csv-file which they dump results to. Type: assert_character of length 1 that can be used safely to create a file and write to it.

Value

data.frame containing results (detailed log) of tracing in

narrow format:

node

Tracing job. Identifier of the node which regime parameters is calculated for. Values in this vector are identical to those in argument acceptor. Type: assert_character.

tracing

Tracing job. Identifiers of nodes from which regime parameters are traced for the given node. Identifier sensor is used when values of regime parameters for the node are sensor readings. Type: assert_character.

backward

Tracing job. Identifier of tracing direction. It constantly equals to TRUE. Type: assert_logical.

aggregation

Tracing job. Identifier of aggregation method: span, median, mean, or identity. Type: assert_character.

loss

Traced thermal hydraulic regime. Normative specific heat loss power of adjacent pipe, [kcal/m/h]. Type: assert_double.

flux

Traced thermal hydraulic regime. Normative heat flux of adjacent pipe, [W/m^2]. Type: assert_double.

Q

Traced thermal hydraulic regime. Normative heat loss of adjacent pipe per day, [kcal]. Type: assert_character.

temperature

Traced thermal hydraulic regime. Traced temperature of heat carrier (water) that is associated with the node, [°C]. Type: assert_double.

pressure

Traced thermal hydraulic regime. Traced pressure of heat carrier (water) that is associated with the node, [MPa]. Type: assert_double.

flow_rate

Traced thermal hydraulic regime. Traced flow rate of heat carrier (water) that is associated with the node, [ton/hour]. Type: assert_double.

job

Tracing job. Value of tracing job counter. Type: assert_count.

Type: assert_data_frame.

Details

They consider the topology of district heating network represented by m325testbench:

The network may be partially sensor-equipped too:

In latter case no more than two nodes must be equipped with pressure and temperature sensors whereas for other nodes only flow rate sensors must be installed.

Tracing starts from sensor-equipped nodes and goes backwards, i.e against the flow direction.

Though some input arguments are natively vectorized their individual values all relate to common part of district heating network, i.e. associated with common object. It is due to isomorphism between vector representation and directed graph of this network. For more details of isomorphic topology description see m325testbench.

Before tracing starts for the next node, previously calculated values of thermal-hydraulic parameters are aggregated by either averaging or by median. The latter seems more robust for avoiding strong influence of possible outliers which may come from actual heating transfer anomalies, erroneous sensor readings or wrong pipeline specifications.

Aggregation for values of flow rate at the node is always sum.

See also

Other Regime tracing: m325tracefw(), m325traceline(), tracebw(), tracefw(), traceline()

Examples

library(pipenostics)

## It is possible to run without specification of argument values:
m325tracebw()
#> 
#> 2024-04-08 14:44:14.559807 m325tracebw | start backward tracing; segments 1;
#> 2024-04-08 14:44:14.559807 m325tracebw | start job; job 0;
#> 2024-04-08 14:44:14.559807 m325tracebw | now process; 1 node(s); [7]
#> 2024-04-08 14:44:14.559807 m325tracebw | seen tracing; [1/1] are TP-sensor-equipped;
#> 2024-04-08 14:44:14.559807 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:14.559807 m325tracebw | OK! Specific heat loss power traced from 1 nodes;[7];
#> 2024-04-08 14:44:14.559807 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:14.559807 m325tracebw | OK! Heat flux traced from 1 nodes;[7];
#> 2024-04-08 14:44:14.559807 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:14.559807 m325tracebw | OK! Heat loss per day traced from 1 nodes;[7];
#> 2024-04-08 14:44:14.559807 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:14.559807 m325tracebw | OK! Temperature traced from 1 nodes;[7];
#> 2024-04-08 14:44:14.559807 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:14.559807 m325tracebw | OK! Pressure traced from 1 nodes;[7];
#> 2024-04-08 14:44:14.559807 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:14.559807 m325tracebw | finish job; job 0; processed node(s) 1
#> 2024-04-08 14:44:14.559807 m325tracebw | finish backward tracing;;
#>        node tracing backward aggregation loss     flux        Q temperature
#> 1         7  sensor     TRUE    identity 78.4 279.0696 136314.4          70
#> span      7  sensor     TRUE        span  0.0   0.0000      0.0           0
#> median    7  sensor     TRUE      median 78.4 279.0696 136314.4          70
#> mean      7  sensor     TRUE        mean 78.4 279.0696 136314.4          70
#>        pressure flow_rate job
#> 1      0.588399        20   0
#> span   0.000000        20   0
#> median 0.588399        20   0
#> mean   0.588399        20   0

## Consider isomorphic representation of District Heating Network graph:
DHN <- pipenostics::m325testbench
DHN$d <- 1e3*DHN$d  # convert [m] to [mm]

## When tracing large network graphs put screen log to file
output <- do.call("m325tracebw", c(as.list(DHN), verbose = TRUE))
#> 
#> 2024-04-08 14:44:14.611048 m325tracebw | start backward tracing; segments 26;
#> 2024-04-08 14:44:14.611048 m325tracebw | start job; job 0;
#> 2024-04-08 14:44:14.611048 m325tracebw | now process; 13 node(s); [1,10,15,17,19,2,21,24,25,26,3,7,9]
#> 2024-04-08 14:44:14.611048 m325tracebw | seen tracing; [13/13] are TP-sensor-equipped;
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Specific heat loss power traced from 13 nodes;[1,2,3,7,9,10,15,17,19,21,24,25,26];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat flux traced from 13 nodes;[1,2,3,7,9,10,15,17,19,21,24,25,26];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat loss per day traced from 13 nodes;[1,2,3,7,9,10,15,17,19,21,24,25,26];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Temperature traced from 13 nodes;[1,2,3,7,9,10,15,17,19,21,24,25,26];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Pressure traced from 13 nodes;[1,2,3,7,9,10,15,17,19,21,24,25,26];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:14.611048 m325tracebw | finish job; job 0; processed node(s) 13
#> 2024-04-08 14:44:14.611048 m325tracebw | start job; job 1;
#> 2024-04-08 14:44:14.611048 m325tracebw | now process; 5 node(s); [14,22,23,4,5]
#> 2024-04-08 14:44:14.611048 m325tracebw | seen tracing; [5/5] are TP-sensor-equipped;
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Specific heat loss power traced from 5 nodes;[4,5,14,22,23];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat flux traced from 5 nodes;[4,5,14,22,23];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat loss per day traced from 5 nodes;[4,5,14,22,23];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Temperature traced from 5 nodes;[4,5,14,22,23];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Pressure traced from 5 nodes;[4,5,14,22,23];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:14.611048 m325tracebw | finish job; job 1; processed node(s) 5
#> 2024-04-08 14:44:14.611048 m325tracebw | start job; job 2;
#> 2024-04-08 14:44:14.611048 m325tracebw | now process; 2 node(s); [20,6]
#> 2024-04-08 14:44:14.611048 m325tracebw | seen tracing; [2/2] are TP-sensor-equipped;
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Specific heat loss power traced from 2 nodes;[6,20];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat flux traced from 2 nodes;[6,20];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat loss per day traced from 2 nodes;[6,20];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Temperature traced from 2 nodes;[6,20];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Pressure traced from 2 nodes;[6,20];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:14.611048 m325tracebw | finish job; job 2; processed node(s) 2
#> 2024-04-08 14:44:14.611048 m325tracebw | start job; job 3;
#> 2024-04-08 14:44:14.611048 m325tracebw | now process; 2 node(s); [18,8]
#> 2024-04-08 14:44:14.611048 m325tracebw | seen tracing; [2/2] are TP-sensor-equipped;
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Specific heat loss power traced from 2 nodes;[8,18];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat flux traced from 2 nodes;[8,18];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat loss per day traced from 2 nodes;[8,18];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Temperature traced from 2 nodes;[8,18];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Pressure traced from 2 nodes;[8,18];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:14.611048 m325tracebw | finish job; job 3; processed node(s) 2
#> 2024-04-08 14:44:14.611048 m325tracebw | start job; job 4;
#> 2024-04-08 14:44:14.611048 m325tracebw | now process; 2 node(s); [11,16]
#> 2024-04-08 14:44:14.611048 m325tracebw | seen tracing; [2/2] are TP-sensor-equipped;
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Specific heat loss power traced from 2 nodes;[11,16];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat flux traced from 2 nodes;[11,16];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat loss per day traced from 2 nodes;[11,16];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Temperature traced from 2 nodes;[11,16];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Pressure traced from 2 nodes;[11,16];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:14.611048 m325tracebw | finish job; job 4; processed node(s) 2
#> 2024-04-08 14:44:14.611048 m325tracebw | start job; job 5;
#> 2024-04-08 14:44:14.611048 m325tracebw | now process; 1 node(s); [13]
#> 2024-04-08 14:44:14.611048 m325tracebw | seen tracing; [1/1] are TP-sensor-equipped;
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Specific heat loss power traced from 1 nodes;[13];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat flux traced from 1 nodes;[13];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat loss per day traced from 1 nodes;[13];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Temperature traced from 1 nodes;[13];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Pressure traced from 1 nodes;[13];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:14.611048 m325tracebw | finish job; job 5; processed node(s) 1
#> 2024-04-08 14:44:14.611048 m325tracebw | start job; job 6;
#> 2024-04-08 14:44:14.611048 m325tracebw | now process; 1 node(s); [12]
#> 2024-04-08 14:44:14.611048 m325tracebw | seen tracing; [1/1] are TP-sensor-equipped;
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Specific heat loss power traced from 1 nodes;[12];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat flux traced from 1 nodes;[12];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Heat loss per day traced from 1 nodes;[12];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Temperature traced from 1 nodes;[12];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:14.611048 m325tracebw | OK! Pressure traced from 1 nodes;[12];
#> 2024-04-08 14:44:14.611048 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:14.611048 m325tracebw | finish job; job 6; processed node(s) 1
#> 2024-04-08 14:44:14.611048 m325tracebw | finish backward tracing;;

## Distinct options for opinion aggregation lead to distinct traced
## temperature and pressure:

## * When aggregation is by mean:
output_mean <- do.call(
  "m325tracebw", c(as.list(DHN), verbose = FALSE, opinion = "mean")
)

## * When aggregation is by median:
output_median <- do.call(
  "m325tracebw", c(as.list(DHN), verbose = FALSE, opinion = "median")
)

## The differences between aggregations should be:
aggregation_differences <- c(delta_t = 0.03732, delta_p = 0.00139, delta_g = 0)
print(aggregation_differences)
#> delta_t delta_p delta_g 
#> 0.03732 0.00139 0.00000 

## Check:
stopifnot(
  round(
    subset(
      output_mean,
      node == 13 & aggregation == "median",
      c("temperature", "pressure", "flow_rate")
    ) - subset(
      output_median,
      node == 13 & aggregation == "median",
      c("temperature", "pressure", "flow_rate")
    ),
    5
    # difference between aggregation options
  ) == aggregation_differences
)

## It is possible to process partially measurable District Heating Network:

## * Simulate lack of temperature and pressure sensors:
DHN[c(7, 10, 21, 24), c("temperature", "pressure")] <- NA_real_

## Trace thermal-hydraulic regime
output <- do.call("m325tracebw", c(as.list(DHN)))
#> 
#> 2024-04-08 14:44:15.090308 m325tracebw | start backward tracing; segments 26;
#> 2024-04-08 14:44:15.090308 m325tracebw | start job; job 0;
#> 2024-04-08 14:44:15.090308 m325tracebw | now process; 13 node(s); [1,10,15,17,19,2,21,24,25,26,3,7,9]
#> 2024-04-08 14:44:15.090308 m325tracebw | seen tracing; [9/13] are TP-sensor-equipped;
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Specific heat loss power traced from 9 nodes;[1,2,3,9,15,17,19,25,26];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat flux traced from 9 nodes;[1,2,3,9,15,17,19,25,26];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat loss per day traced from 9 nodes;[1,2,3,9,15,17,19,25,26];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Temperature traced from 9 nodes;[1,2,3,9,15,17,19,25,26];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Pressure traced from 9 nodes;[1,2,3,9,15,17,19,25,26];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:15.090308 m325tracebw | finish job; job 0; processed node(s) 13
#> 2024-04-08 14:44:15.090308 m325tracebw | start job; job 1;
#> 2024-04-08 14:44:15.090308 m325tracebw | now process; 5 node(s); [14,22,23,4,5]
#> 2024-04-08 14:44:15.090308 m325tracebw | seen tracing; [5/5] are TP-sensor-equipped;
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Specific heat loss power traced from 5 nodes;[4,5,14,22,23];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat flux traced from 5 nodes;[4,5,14,22,23];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat loss per day traced from 5 nodes;[4,5,14,22,23];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Temperature traced from 5 nodes;[4,5,14,22,23];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Pressure traced from 5 nodes;[4,5,14,22,23];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:15.090308 m325tracebw | finish job; job 1; processed node(s) 5
#> 2024-04-08 14:44:15.090308 m325tracebw | start job; job 2;
#> 2024-04-08 14:44:15.090308 m325tracebw | now process; 2 node(s); [20,6]
#> 2024-04-08 14:44:15.090308 m325tracebw | seen tracing; [2/2] are TP-sensor-equipped;
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Specific heat loss power traced from 2 nodes;[6,20];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat flux traced from 2 nodes;[6,20];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat loss per day traced from 2 nodes;[6,20];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Temperature traced from 2 nodes;[6,20];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Pressure traced from 2 nodes;[6,20];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:15.090308 m325tracebw | finish job; job 2; processed node(s) 2
#> 2024-04-08 14:44:15.090308 m325tracebw | start job; job 3;
#> 2024-04-08 14:44:15.090308 m325tracebw | now process; 2 node(s); [18,8]
#> 2024-04-08 14:44:15.090308 m325tracebw | seen tracing; [2/2] are TP-sensor-equipped;
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Specific heat loss power traced from 2 nodes;[8,18];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat flux traced from 2 nodes;[8,18];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat loss per day traced from 2 nodes;[8,18];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Temperature traced from 2 nodes;[8,18];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Pressure traced from 2 nodes;[8,18];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:15.090308 m325tracebw | finish job; job 3; processed node(s) 2
#> 2024-04-08 14:44:15.090308 m325tracebw | start job; job 4;
#> 2024-04-08 14:44:15.090308 m325tracebw | now process; 2 node(s); [11,16]
#> 2024-04-08 14:44:15.090308 m325tracebw | seen tracing; [2/2] are TP-sensor-equipped;
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Specific heat loss power traced from 2 nodes;[11,16];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat flux traced from 2 nodes;[11,16];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat loss per day traced from 2 nodes;[11,16];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Temperature traced from 2 nodes;[11,16];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Pressure traced from 2 nodes;[11,16];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:15.090308 m325tracebw | finish job; job 4; processed node(s) 2
#> 2024-04-08 14:44:15.090308 m325tracebw | start job; job 5;
#> 2024-04-08 14:44:15.090308 m325tracebw | now process; 1 node(s); [13]
#> 2024-04-08 14:44:15.090308 m325tracebw | seen tracing; [1/1] are TP-sensor-equipped;
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Specific heat loss power traced from 1 nodes;[13];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat flux traced from 1 nodes;[13];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat loss per day traced from 1 nodes;[13];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Temperature traced from 1 nodes;[13];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Pressure traced from 1 nodes;[13];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:15.090308 m325tracebw | finish job; job 5; processed node(s) 1
#> 2024-04-08 14:44:15.090308 m325tracebw | start job; job 6;
#> 2024-04-08 14:44:15.090308 m325tracebw | now process; 1 node(s); [12]
#> 2024-04-08 14:44:15.090308 m325tracebw | seen tracing; [1/1] are TP-sensor-equipped;
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing loss;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Specific heat loss power traced from 1 nodes;[12];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat flux;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat flux traced from 1 nodes;[12];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing heat loss per day;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Heat loss per day traced from 1 nodes;[12];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing temperature;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Temperature traced from 1 nodes;[12];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing pressure;;
#> 2024-04-08 14:44:15.090308 m325tracebw | OK! Pressure traced from 1 nodes;[12];
#> 2024-04-08 14:44:15.090308 m325tracebw | tracing flow_rate;;
#> 2024-04-08 14:44:15.090308 m325tracebw | finish job; job 6; processed node(s) 1
#> 2024-04-08 14:44:15.090308 m325tracebw | finish backward tracing;;
print(output)
#>           node  tracing backward aggregation      loss        flux            Q
#> 1            1   sensor     TRUE    identity  96.23600 230.5891783  92028.56208
#> 2            2   sensor     TRUE    identity  96.28800 230.7137745  92078.28864
#> 3            3   sensor     TRUE    identity  70.58400 314.8168839 130903.39238
#> 7            7   sensor     TRUE    identity        NA          NA           NA
#> 9            9   sensor     TRUE    identity  28.11520 125.3986690  20296.25042
#> 10          10   sensor     TRUE    identity        NA          NA           NA
#> 15          15   sensor     TRUE    identity  96.60000 231.4613515 184405.53600
#> 17          17   sensor     TRUE    identity  24.95960 174.3378130  13114.57255
#> 19          19   sensor     TRUE    identity  28.16580 125.6243538  35131.99098
#> 21          21   sensor     TRUE    identity        NA          NA           NA
#> 24          24   sensor     TRUE    identity        NA          NA           NA
#> 25          25   sensor     TRUE    identity  96.23600 230.5891783  58792.49712
#> 26          26   sensor     TRUE    identity  70.54000 314.6206363 130821.79104
#> span.1       1   sensor     TRUE        span   0.00000   0.0000000      0.00000
#> span.10     10   sensor     TRUE        span        NA          NA           NA
#> span.15     15   sensor     TRUE        span   0.00000   0.0000000      0.00000
#> span.17     17   sensor     TRUE        span   0.00000   0.0000000      0.00000
#> span.19     19   sensor     TRUE        span   0.00000   0.0000000      0.00000
#> span.2       2   sensor     TRUE        span   0.00000   0.0000000      0.00000
#> span.21     21   sensor     TRUE        span        NA          NA           NA
#> span.24     24   sensor     TRUE        span        NA          NA           NA
#> span.25     25   sensor     TRUE        span   0.00000   0.0000000      0.00000
#> span.26     26   sensor     TRUE        span   0.00000   0.0000000      0.00000
#> span.3       3   sensor     TRUE        span   0.00000   0.0000000      0.00000
#> span.7       7   sensor     TRUE        span        NA          NA           NA
#> span.9       9   sensor     TRUE        span   0.00000   0.0000000      0.00000
#> median.1     1   sensor     TRUE      median  96.23600 230.5891783  92028.56208
#> median.10   10   sensor     TRUE      median        NA          NA           NA
#> median.15   15   sensor     TRUE      median  96.60000 231.4613515 184405.53600
#> median.17   17   sensor     TRUE      median  24.95960 174.3378130  13114.57255
#> median.19   19   sensor     TRUE      median  28.16580 125.6243538  35131.99098
#> median.2     2   sensor     TRUE      median  96.28800 230.7137745  92078.28864
#> median.21   21   sensor     TRUE      median        NA          NA           NA
#> median.24   24   sensor     TRUE      median        NA          NA           NA
#> median.25   25   sensor     TRUE      median  96.23600 230.5891783  58792.49712
#> median.26   26   sensor     TRUE      median  70.54000 314.6206363 130821.79104
#> median.3     3   sensor     TRUE      median  70.58400 314.8168839 130903.39238
#> median.7     7   sensor     TRUE      median        NA          NA           NA
#> median.9     9   sensor     TRUE      median  28.11520 125.3986690  20296.25042
#> mean.1       1   sensor     TRUE        mean  96.23600 230.5891783  92028.56208
#> mean.10     10   sensor     TRUE        mean        NA          NA           NA
#> mean.15     15   sensor     TRUE        mean  96.60000 231.4613515 184405.53600
#> mean.17     17   sensor     TRUE        mean  24.95960 174.3378130  13114.57255
#> mean.19     19   sensor     TRUE        mean  28.16580 125.6243538  35131.99098
#> mean.2       2   sensor     TRUE        mean  96.28800 230.7137745  92078.28864
#> mean.21     21   sensor     TRUE        mean        NA          NA           NA
#> mean.24     24   sensor     TRUE        mean        NA          NA           NA
#> mean.25     25   sensor     TRUE        mean  96.23600 230.5891783  58792.49712
#> mean.26     26   sensor     TRUE        mean  70.54000 314.6206363 130821.79104
#> mean.3       3   sensor     TRUE        mean  70.58400 314.8168839 130903.39238
#> mean.7       7   sensor     TRUE        mean        NA          NA           NA
#> mean.9       9   sensor     TRUE        mean  28.11520 125.3986690  20296.25042
#> 14           4        1     TRUE    identity  96.23600 230.5891783  92028.56208
#> 22           4        2     TRUE    identity  96.28800 230.7137745  92078.28864
#> 31           5        3     TRUE    identity  70.58400 314.8168839 130903.39238
#> 4            6        7     TRUE    identity        NA          NA           NA
#> 5            6        9     TRUE    identity  28.11520 125.3986690  20296.25042
#> 6           11       10     TRUE    identity        NA          NA           NA
#> 71          14       15     TRUE    identity  96.60000 231.4613515 184405.53600
#> 8           16       17     TRUE    identity  24.95960 174.3378130  13114.57255
#> 91          20       19     TRUE    identity  28.16580 125.6243538  35131.99098
#> 101         20       21     TRUE    identity        NA          NA           NA
#> 11          22       24     TRUE    identity        NA          NA           NA
#> 12          22       25     TRUE    identity  96.23600 230.5891783  58792.49712
#> 13          23       26     TRUE    identity  70.54000 314.6206363 130821.79104
#> span.14     14       15     TRUE        span   0.00000   0.0000000      0.00000
#> span.22     22    24|25     TRUE        span   0.00000   0.0000000      0.00000
#> span.23     23       26     TRUE        span   0.00000   0.0000000      0.00000
#> span.4       4      1|2     TRUE        span   0.05200   0.1245962     49.72656
#> span.5       5        3     TRUE        span   0.00000   0.0000000      0.00000
#> median.14   14       15     TRUE      median  96.60000 231.4613515 184405.53600
#> median.22   22    24|25     TRUE      median  96.23600 230.5891783  58792.49712
#> median.23   23       26     TRUE      median  70.54000 314.6206363 130821.79104
#> median.4     4      1|2     TRUE      median  96.26200 230.6514764  92053.42536
#> median.5     5        3     TRUE      median  70.58400 314.8168839 130903.39238
#> mean.14     14       15     TRUE        mean  96.60000 231.4613515 184405.53600
#> mean.22     22    24|25     TRUE        mean  96.23600 230.5891783  58792.49712
#> mean.23     23       26     TRUE        mean  70.54000 314.6206363 130821.79104
#> mean.4       4      1|2     TRUE        mean  96.26200 230.6514764  92053.42536
#> mean.5       5        3     TRUE        mean  70.58400 314.8168839 130903.39238
#> 16           8        4     TRUE    identity 116.04494 208.5397467  39756.99751
#> 23           6        5     TRUE    identity  70.73402 315.4859839  61399.38989
#> 32          13       14     TRUE    identity  96.73317 231.7804483 158611.45156
#> 41          18       22     TRUE    identity 115.97953 208.4221937  85759.90298
#> 51          20       23     TRUE    identity  70.68993 315.2893289  88173.52308
#> span.20     20 19|21|23     TRUE        span  42.52413 189.6649751  53041.53210
#> span.6       6    7|9|5     TRUE        span  42.61882 190.0873149  41103.13947
#> median.20   20 19|21|23     TRUE      median  49.42786 220.4568413  61652.75703
#> median.6     6    7|9|5     TRUE      median  49.42461 220.4423265  40847.82015
#> mean.20     20 19|21|23     TRUE        mean  49.42786 220.4568413  61652.75703
#> mean.6       6    7|9|5     TRUE        mean  49.42461 220.4423265  40847.82015
#> 18           8        6     TRUE    identity  96.17197 230.4357489 139602.45716
#> 27          18       20     TRUE    identity  96.20009 230.5031329 154140.24832
#> span.18     18    22|20     TRUE        span  19.77944  22.0809391  68380.34534
#> span.8       8      4|6     TRUE        span  19.87298  21.8960022  99845.45965
#> median.18   18    22|20     TRUE      median 106.08981 219.4626633 119950.07565
#> median.8     8      4|6     TRUE      median 106.10845 219.4877478  89679.72734
#> mean.18     18    22|20     TRUE        mean 106.08981 219.4626633 119950.07565
#> mean.8       8      4|6     TRUE        mean 106.10845 219.4877478  89679.72734
#> 110         11        8     TRUE    identity 115.99003 208.4410581  83512.81904
#> 28          16       18     TRUE    identity 115.99053 208.4419636  85768.03774
#> span.11     11     10|8     TRUE        span   0.00000   0.0000000      0.00000
#> span.16     16    17|18     TRUE        span  91.03093  34.1041506  72653.46519
#> median.11   11     10|8     TRUE      median 115.99003 208.4410581  83512.81904
#> median.16   16    17|18     TRUE      median  70.47507 191.3898883  49441.30514
#> mean.11     11     10|8     TRUE        mean 115.99003 208.4410581  83512.81904
#> mean.16     16    17|18     TRUE        mean  70.47507 191.3898883  49441.30514
#> 111         13       11     TRUE    identity 116.01115 208.4790258  83528.03095
#> 29          13       16     TRUE    identity 116.70069 209.7181600  84024.49548
#> span        13 14|11|16     TRUE        span  19.96751  23.3014225  75083.42061
#> median      13 14|11|16     TRUE      median 116.01115 209.7181600  84024.49548
#> mean        13 14|11|16     TRUE        mean 109.81501 216.6592114 108721.32600
#> 112         12       13     TRUE    identity 153.15787 184.6846436 363101.77810
#> span1       12       13     TRUE        span   0.00000   0.0000000      0.00000
#> median1     12       13     TRUE      median 153.15787 184.6846436 363101.77810
#> mean1       12       13     TRUE        mean 153.15787 184.6846436 363101.77810
#>           temperature     pressure flow_rate job
#> 1         69.30000000 5.883990e-01        30   0
#> 2         69.40000000 5.883990e-01        30   0
#> 3         68.60000000 5.883990e-01        16   0
#> 7                  NA           NA        20   0
#> 9         69.20000000 5.883990e-01        16   0
#> 10                 NA           NA        10   0
#> 15        70.00000000 5.883990e-01        30   0
#> 17        71.40000000 5.883990e-01        10   0
#> 19        69.30000000 5.883990e-01        16   0
#> 21                 NA           NA        20   0
#> 24                 NA           NA        30   0
#> 25        69.30000000 5.883990e-01        30   0
#> 26        68.50000000 5.883990e-01        16   0
#> span.1     0.00000000 0.000000e+00        30   0
#> span.10            NA           NA        10   0
#> span.15    0.00000000 0.000000e+00        30   0
#> span.17    0.00000000 0.000000e+00        10   0
#> span.19    0.00000000 0.000000e+00        16   0
#> span.2     0.00000000 0.000000e+00        30   0
#> span.21            NA           NA        20   0
#> span.24            NA           NA        30   0
#> span.25    0.00000000 0.000000e+00        30   0
#> span.26    0.00000000 0.000000e+00        16   0
#> span.3     0.00000000 0.000000e+00        16   0
#> span.7             NA           NA        20   0
#> span.9     0.00000000 0.000000e+00        16   0
#> median.1  69.30000000 5.883990e-01        30   0
#> median.10          NA           NA        10   0
#> median.15 70.00000000 5.883990e-01        30   0
#> median.17 71.40000000 5.883990e-01        10   0
#> median.19 69.30000000 5.883990e-01        16   0
#> median.2  69.40000000 5.883990e-01        30   0
#> median.21          NA           NA        20   0
#> median.24          NA           NA        30   0
#> median.25 69.30000000 5.883990e-01        30   0
#> median.26 68.50000000 5.883990e-01        16   0
#> median.3  68.60000000 5.883990e-01        16   0
#> median.7           NA           NA        20   0
#> median.9  69.20000000 5.883990e-01        16   0
#> mean.1    69.30000000 5.883990e-01        30   0
#> mean.10            NA           NA        10   0
#> mean.15   70.00000000 5.883990e-01        30   0
#> mean.17   71.40000000 5.883990e-01        10   0
#> mean.19   69.30000000 5.883990e-01        16   0
#> mean.2    69.40000000 5.883990e-01        30   0
#> mean.21            NA           NA        20   0
#> mean.24            NA           NA        30   0
#> mean.25   69.30000000 5.883990e-01        30   0
#> mean.26   68.50000000 5.883990e-01        16   0
#> mean.3    68.60000000 5.883990e-01        16   0
#> mean.7             NA           NA        20   0
#> mean.9    69.20000000 5.883990e-01        16   0
#> 14        69.42782396 5.895532e-01        30   1
#> 22        69.52789112 5.895532e-01        30   1
#> 31        68.94094679 6.031489e-01        16   1
#> 4                  NA           NA        20   1
#> 5         69.25285830 5.941420e-01        16   1
#> 6                  NA           NA        10   1
#> 71        70.25610481 5.907037e-01        30   1
#> 8         71.45462914 6.055378e-01        10   1
#> 91        69.39149422 5.983225e-01        16   1
#> 101                NA           NA        20   1
#> 11                 NA           NA        30   1
#> 12        69.38166041 5.891363e-01        30   1
#> 13        68.84073921 6.031483e-01        16   1
#> span.14    0.00000000 0.000000e+00        30   1
#> span.22    0.00000000 0.000000e+00        60   1
#> span.23    0.00000000 0.000000e+00        16   1
#> span.4     0.10006716 5.248280e-08        60   1
#> span.5     0.00000000 0.000000e+00        16   1
#> median.14 70.25610481 5.907037e-01        30   1
#> median.22 69.38166041 5.891363e-01        60   1
#> median.23 68.84073921 6.031483e-01        16   1
#> median.4  69.47785754 5.895532e-01        60   1
#> median.5  68.94094679 6.031489e-01        16   1
#> mean.14   70.25610481 5.907037e-01        30   1
#> mean.22   69.38166041 5.891363e-01        60   1
#> mean.23   68.84073921 6.031483e-01        16   1
#> mean.4    69.47785754 5.895532e-01        60   1
#> mean.5    68.94094679 6.031489e-01        16   1
#> 16        69.50546725 5.899445e-01        60   2
#> 23        69.10085892 6.119730e-01        16   2
#> 32        70.47637808 5.926835e-01        30   2
#> 41        69.44121822 5.899809e-01        60   2
#> 51        69.07038683 6.178683e-01        16   2
#> span.20    0.32110739 1.954581e-02        52   2
#> span.6     0.15199938 1.783100e-02        52   2
#> median.20 69.23094052 6.080954e-01        52   2
#> median.6  69.17685861 6.030575e-01        52   2
#> mean.20   69.23094052 6.080954e-01        52   2
#> mean.6    69.17685861 6.030575e-01        52   2
#> 18        69.28872816 6.111791e-01        52   3
#> 27        69.35445917 6.138828e-01        52   3
#> span.18    0.08675905 2.390186e-02       112   3
#> span.8     0.21673909 2.123458e-02       112   3
#> median.18 69.39783870 6.019318e-01       112   3
#> median.8  69.39709771 6.005618e-01       112   3
#> mean.18   69.39783870 6.019318e-01       112   3
#> mean.8    69.39709771 6.005618e-01       112   3
#> 110       69.42816779 6.034192e-01       112   4
#> 28        69.42974784 6.048664e-01       112   4
#> span.11    0.00000000 0.000000e+00       122   4
#> span.16    2.02488130 6.714490e-04       122   4
#> median.11 69.42816779 6.034192e-01       122   4
#> median.16 70.44218849 6.052021e-01       122   4
#> mean.11   69.42816779 6.034192e-01       122   4
#> mean.16   70.44218849 6.052021e-01       122   4
#> 111       69.45669626 6.068087e-01       122   5
#> 29        70.47088211 6.085935e-01       122   5
#> span       1.01968183 1.591000e-02       274   5
#> median    70.47088211 6.068087e-01       274   5
#> mean      70.13465215 6.026953e-01       274   5
#> 112       70.52609184 6.142191e-01       274   6
#> span1      0.00000000 0.000000e+00       274   6
#> median1   70.52609184 6.142191e-01       274   6
#> mean1     70.52609184 6.142191e-01       274   6