Sustainability Analyzer

This Sustainability Analyzer is an easy-to-use model estimating the Carbon Footprint (CF) of typical polyurethane raw materials or product. You can use it to estimate the sustainability of your own formulation, material, or product 'on the go.' Please remember, it is only a model and can't be used instead of any formal Life Cycle Assessment. However, it will give you a pretty good idea if something is really 'green' or just 'greenwashing'.

Credits

A big Thank You to Prof. Steven Abbott for inspiration for the app, all the help to adapt it to polyurethanes and lending some of the examples.

Carbon Footprint Analyzer

Product
 
 
 
    100% zoom
 
    Variable node size

The app offers you examples of carbon footprint estimations for a few polyurethane products. You can choose them from the combo box labeled "Products".

If You hover your mouse over any node, you will get a tooltip with information about the node. Some of the nodes are input nodes, and you can change their values. Just click on a node and then drag the first slider to your chosen value. You will see immediately how changing the chosen parameter impacts the carbon footprint of the product.

If you tick the checkbox labeled "Variable node size", then when you change the value of a node, the size of nodes affected by the change will change proportionally. This will show you clearly which parts of the network have the biggest impact on the final carbon footprint of the product.

To see better, zoom in and out or pan with your mouse. Drag any node to rearrange the layout. Play with this little, bendy creature. It is a bit playful, so if you lose sight of it, just click "100% zoom" or reload.

You can use this app to estimate the sustainability of your own formulations or products. Instructions on how to do this are provided below the information about the currently displayed example. If your model is somewhat complex, it may appear tangled when displayed. You can manually tidy it up by adjusting different components or utilize the "Initial Position" slider, which will present the networks in various configurations.

A Database of Input Values?

Those in the green PU world who want to use this Sustainability Analyzer, would certainly love to have a set of standard values for many of the common materials and processes. Below there is a link to the first version of Polyurethane Carbon Footprint Database. It is an extract from an extensive set of carbon footprint values collected by researchers from Delft University of Technology within a project Idemat.

To access and learn more about the Polyurethane Carbon Footprint Database, click here: CFP-Data

Together we can easily expand and make this database fully suitable for the PU industry and research. If you have some data and wish to share it with the PU world, please let me know. I will be happy to include it in the model and, of course, your contribution would be acknowledged.

Your custom HTML goes here

Check your own formulations - Commercially Confidential

Everything about the app itself and the files loadable from the combo box is fully public. However if you use the app to estimate the carbon footprint of your own formulations and products your data will remain confidential. The Sustainability Analyzer runs in your own browser and on your own computer only. It sends zero information to the server. You load your models from your computer and nothing is shared with anyone.

But if you want to publish your models online, just send me an e-mail at info@polychemtech.com. I'm sure we will be able to create something interesting.

The Inputs

To create your own model, you need an Excel .csv or .txt (tab separated or Unicode) file containing the data for the nodes. If you click "Copy Model" on any of the datasets that interest you and then paste it into Excel, or if you click "Download Model", you will see that the format is relatively simple, though getting everything right is a bit tricky. Each node is identified by a unique id and then has a set of other properties. One key problem is that in the world of Javascript, everything is Case Sensitive. So when you specify an id, you can't specify an Id or an ID. And if you have a node called MyNode you cannot have formulae based on myNode or Mynode (unless you confused yourself by creating different nodes with those id values!). If you have an optional file with the same name but with a .html extension, then this is assumed to be the HTML you wish to include on the page to help explain what is going on. If you write this in an ordinary text editor, at the least provide an HTML headline using a few HTML tags <h3>This is your title</h3> and start a paragraph with the <p> tag.

Loading Your Network

To load your own network, just click "Choose File" and select the right file to load. Job done. Now the app will display your own network, and you can explore it in the same way as you would the example products.

Sensitivity Analysis

Click on a node of interest (typically the main value you are interested in), then click the "Sensitivity Analysis" button, and then go to Excel and paste the contents of the Clipboard. You will find the ID of your output followed by a list of all the inputs that have min and max values, and the output values at the min and max settings. This gives you a sense of the sensitivities with your current set of values. Of course, if you start from a different set, the sensitivities will be different - we are only looking at one variable at a time with each of the others being at their values when you request the analysis.

Of course, you can also just do your own analysis by sliding your chosen slider from minimum to maximum.

Your Own Input Files

Do everything in native Excel, then export your file as .csv or .txt. If you include symbols such as €, make sure you save from Excel as "Unicode Text .txt". Here is what each of the inputs mean for Nodes:

  • id: The name of the node.
    • If this id = xxx or XXX or you start with a ! (e.g. !Temporary), then everything in that line will be ignored. This lets you add full-line comments to your .csv/.txt file
    • If this id = hierarchy, then the label field should be UD, DU, LR, RL to describe up/down, down/up, left/right, or right/left hierarchical layout. For this, you need an extra column called "level" where you give numbers starting at 1 for the different hierarchical levels. The quality of the view is not guaranteed as hierarchies are complex to get right. Clone one of the examples to check how it works.
    • If the id starts with @ then the node is hidden, giving a much simpler layout. For example, if you have to add together a lot of nodes to give a necessary Total, calling it @Total allows the value {@Total} to be used in the calculations without cluttering up the network.
  • label: What appears in the box
  • units: Units (optional) that precede the value on the lower line of the label
  • title: Tooltip pop-up text. The column and individual tooltips are optional
  • color: Choose between white, ivory, yellow, green, lime, blue, pink, salmon, red, cyan, crimson, magenta and silver. There are complicated reasons why you can't just enter your own colours. The original convention in the Analyzer is: white/ivory/yellow and greens/silver for inputs, blues for simple intermediates, salmon for aggregated intermediates and red/pinks for stand-out conclusions. But you can use your own colour scheme.
  • val: The value of a known input. This must always be the actual number. So if something is 1 million, it must be 1000000. If this node produces calculated values, put a ?
  • conv: To use the number in the box, divide by this value. So if you are inputting as Mt and the value is 1.00, set conv to 0.000001 or 1e-6 so that the value in the calculation will be in t. Use M in the label to indicate to the user that the value is in millions
  • from:, to:, step: Most inputs make sense only over a range which you specify in converted units as from and to, with step showing the precision on the slider. So if you want to go from 100 thousand to 10 million in steps of 100 thousand and your units are in millions you would have from:0.1, to:10, step:0.1
  • equn: This is the trickiest, but not so hard. Suppose you have two inputs called Factor1 and Factor1 and you wanted the node to be their sum. You just put {Factor1}+{Factor2}, i.e. you type the sum, but put the names in curly brackets so the software can work out what is what. You can use any Javascript code you like1. With even the smallest amount of effort (and attention to brackets) you can easily tell the meaning of 3*(Math.sqrt({Factor1})+Math.pow(4.2+{Factor2},2))
  • comment: This comment is for your own use as a comment about that row. But if a comment is present it appears as a new line within the Tooltip, under the "title" text

Errors in Your Network

Do not expect miracles. It is entirely normal to have some errors in your .csv/.txt file. For example if you have a node called MyNode you might include {Mynode} in a formula, or you might have typed (MyNode} with one curved and one curly bracket. When you load a model, the code attempts to alert you with messages that should make it easy to spot and fix the problem. You may get more messages than you might like (an error may have knock-on effects), but it is better to have too many than too few. When you correct the .csv/.txt, reload it and keep going till you get none of those sorts of errors. Of course, you will probably have other sorts of errors in your logic so you will need a few further cycles of refinement.

Capturing a Different Version of a Model

You may have a model with one set of inputs then decide you want to keep a version with inputs you have just adjusted on screen. Click the "Model → Clipboard" button and the model is ready to paste into Excel and save as a new .csv. Or click "Download Model → CSV" if you prefer to have the file delivered directly to your download directory.

Interested in the carbon footprint of your cup of coffee?

If you are interested in the carbon footprint of other everyday things, such as a cup of coffee, home compost, or beer brewing, visit Prof. Steven Abbott's Open Analyzer via : Open Analyzer.

These networks are based around Vis.js which is an awesome bit of code, acknowledged with many thanks.

Creative Commons BYThe Javascript code is Copyright © 2024 Polychemtech and is distributed under the Creative Commons BY Attribution license. Users are encouraged to examine the code themselves and create or suggest improvements.