Edificio sostenible, reforma y rehabilitación: ciclo de vida, cadena de valor y enfoque ESG.
Ver proyectos
//TODO: repasar y quitar lo relacionado con selectores y precio.
/*TODO:
-Se llama a la [async function init()] dentro de aqui [ecomNormaReferencedScript]
desde fragment [dxp-ecom-portal/misc/fragments/Collection Tienda/ECOM-Global_functions/index.js] de la siguiente manera:
if (typeof window.ecomNormaReferencedScript?.init === "function") {
await window.ecomNormaReferencedScript.init();
}
*/
window.ecomNormaReferencedScript = (function ($) {
/* === CONFIG === */
let DEBUG = false;
let ROOT_SELECTOR = null;
function log(...args) {
if (DEBUG) console.log("[ecomNorma]", ...args);
}
/* === FUNCIONES PRIVADAS === */
function _euros(v) {
const n = Number(v) || 0;
return n.toLocaleString("es-ES", { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + " €";
}
function _uniq(a) {
return Array.from(new Set(a));
}
function _fill($sel, values, textFn) {
const keep = $sel.val();
$sel.empty();
values.forEach(v => {
$sel.append($("<option>", { value: v, text: textFn ? textFn(v) : v }));
});
if (keep && values.includes(keep)) $sel.val(keep);
else if (values.length) $sel.val(values[0]);
}
function _relabel($sel, textFn) {
$sel.find("option").each(function () {
const v = $(this).attr("value");
$(this).text(textFn ? textFn(v) : v);
});
}
/* === initCarousel — PÚBLICA === */
function initCarousel(force = false) {
const $owl = $(ROOT_SELECTOR + " .standards-container");
// no inicializar si no existe, está oculto o no tiene items
if (!$owl.length || !$owl.hasClass("owl-carousel") || !$owl.is(':visible') || $owl.children().length === 0) {
log("initCarousel abortado: no visible o sin items", $owl);
return;
}
if (force && $owl.hasClass("owl-loaded") && $owl.data("owl.carousel")) {
log("initCarousel Destruyendo Owl Carousel existent:", $owl);
$owl.trigger('destroy.owl.carousel');
// limpiar también owl-hidden para permitir reinicialización
$owl.removeClass('owl-loaded owl-hidden');
// limpiar markup de Owl
$owl.find('.owl-stage-outer').children().unwrap();
}
if ($owl.length && !$owl.hasClass("owl-loaded") && !$owl.data("owl.carousel")) {
$owl.owlCarousel({
nav: true,
navText: [
'<i class="fa-solid fa-chevron-left"></i>',
'<i class="fa-solid fa-chevron-right"></i>'
],
loop: false,
dots: false,
pagination: false,
margin: 25,
autoHeight: false,
responsive: {
0: { items: 1 }, 500: { items: 1 }, 767: { items: 2 }, 1000: { items: 3 }, 1200: { items: 4 }
}
});
$owl.off("initialized.owl.carousel refreshed.owl.carousel resized.owl.carousel translated.owl.carousel")
.on("initialized.owl.carousel refreshed.owl.carousel resized.owl.carousel translated.owl.carousel", adjustHeights);
log("initCarousel executed");
}
}
/* === initCard — PÚBLICA === */
function initCard($card) {
const dataNode = $card.find("script.normas-data")[0];
let data = [];
if (dataNode) {
try { data = JSON.parse(dataNode.textContent); } catch {}
}
const hasData = Array.isArray(data) && data.length > 0;
let langMap = {};
const mapNode = $card.find("script.lang-map")[0];
try { if (mapNode) langMap = JSON.parse(mapNode.textContent); } catch {}
const $lang = $card.find(".select-language");
const $fmt = $card.find(".select-format");
const $price = $card.find(".price-ae");
const toUC = s => (s || "").toString().toUpperCase();
const labelOf = lang => langMap[toUC(lang)] || lang;
const formatsFor = lang => _uniq(data.filter(d => d.language === lang).map(d => d.format));
const languagesFor = fmt => _uniq(data.filter(d => d.format === fmt).map(d => d.language));
const priceOf = (lang, fmt) => {
const m = data.find(d => d.language === lang && d.format === fmt);
return m ? Number(m.price) || 0 : 0;
};
const parsePriceText = (text) => {
if (!text) return 0;
const clean = String(text).replace(/[^\d,.-]/g, "").trim();
if (!clean) return 0;
if (clean.includes(",") && clean.includes(".")) {
const normalized = clean.replace(/\./g, "").replace(",", ".");
return Number(normalized) || 0;
}
const normalized = clean.replace(",", ".");
return Number(normalized) || 0;
};
if (hasData) {
function onLanguageChange() {
const lang = $lang.val();
const fmts = formatsFor(lang);
_fill($fmt, fmts);
$price.text(_euros(priceOf(lang, $fmt.val())));
}
function onFormatChange() {
const fmt = $fmt.val();
const langs = languagesFor(fmt);
_fill($lang, langs, labelOf);
$price.text(_euros(priceOf($lang.val(), fmt)));
}
const l0 = $lang.val();
const f0 = $fmt.val();
if (!data.find(d => d.language === l0 && d.format === f0)) onLanguageChange();
else $price.text(_euros(priceOf(l0, f0)));
_relabel($lang, labelOf);
$lang.off("change.ae").on("change.ae", onLanguageChange);
$fmt.off("change.ae").on("change.ae", onFormatChange);
}
async function onAdd(e) {
e.preventDefault();
var entryType = ($card.data('entrytype') || 'Norma');
var code = ($card.data('code') || '').toString();
var codIdioma = ($card.find('.select-language').val() || '').toString();
var codFormato = ($card.find('.select-format').val() || '').toString();
if (!code) code = ($card.find('.title-standard').text() || '').trim();
await window.ecomGlobalScripts.functions.addToCart({
entryType: entryType,
code: code,
codIdioma: codIdioma,
codFormato: codFormato,
price: Number(priceOf(codIdioma, codFormato)) || 0,
name: ($card.data('title') || '').toString(),
amount: 1
});
}
$card.find(".standard-button").off("click.ae").on("click.ae", function(e){
const btn = this;
const run = () => onAdd(e);
const helper = window.ecomGlobalScripts?.functions?.withButtonSpinner;
if (typeof helper === "function") {
return helper(btn, run, { spinnerClass: "spinner-border spinner-border-sm text-light", mode: "replace" });
}
return run();
});
// Evita que Owl Carousel interprete el click como drag horizontal
$card.find(".standard-button")
.off("pointerdown.owl mousedown.owl touchstart.owl")
.on("pointerdown.owl mousedown.owl touchstart.owl", function(e){
e.stopPropagation();
});
}
/* === adjustHeights — PÚBLICA === */
function adjustHeights() {
if ($(window).width() > 766.98) {
let hT = 0, hD = 0;
$(ROOT_SELECTOR + " .title-standard").css("height","auto").each(function(){ hT=Math.max(hT,$(this).outerHeight()); });
$(ROOT_SELECTOR + " .description-text").css("height","auto").each(function(){ hD=Math.max(hD,$(this).outerHeight()); });
$(ROOT_SELECTOR + " .title-standard").height(hT);
$(ROOT_SELECTOR + " .description-text").height(hD);
} else {
$(ROOT_SELECTOR + " .title-standard, .description-text").css("height","auto");
}
log("adjustHeights executed");
}
/* === init — PÚBLICA === */
async function init() {
// debug externo
DEBUG = window.ecomNormaScripts?.properties?.isDebug === true;
// prefijo para todos los selectores
ROOT_SELECTOR =
window.ecomGlobalScripts?.properties?.querySelectors?.rootSelector ||
window.ecomNormaScripts?.properties?.querySelectors?.rootSelector ||
"#ecom-norma-detail-normas-referenced .standards-section";
log("window.ecomNormaReferencedScript init");
$(ROOT_SELECTOR + " .item-standard").each(function(){ initCard($(this)); });
initCarousel(true);
adjustHeights();
$(window).off("resize.standards").on("resize.standards", adjustHeights);
log("init executed");
}
/* === API pública === */
return { init, initCard, adjustHeights, initCarousel };
})(jQuery);
Proyectos certificados
Descubre los proyectos certificados en construcción sostenible
Edificio sostenible, reforma y rehabilitación con enfoque ESG.
Ver proyectosEN ISO 6338:2026
Method to calculate GHG emissions at LNG plant (ISO 6338:2023)
Precios sin IVA ni gastos de envío
Prices excluding VAT and shipping costs
| Edition date: |
2026-07-22
In Force
|
|---|---|
| Available languages: | French, English |
| Summary: | This document provides a method to calculate the GHG emissions from an LNG liquefaction plant, onshore or offshore.
The frame of this document ranges from the inlet flange of the LNG plant’s inlet facilities up to and including the offloading arms to truck, ship or railcar loading. The upstream supply of gas up to the inlet flange of the inlet facilities and the distribution of LNG downstream of the loading arms are only covered in general terms.
This document covers:
— all facilities associated with producing LNG, including reception facilities, condensate unit (where applicable), pre-treatment units (including but not limited to acid gas removal, dehydration, mercury removal, heavies removal), LPG extraction and fractionation (where applicable), liquefaction, LNG storage and loading, Boil-Off-Gas handling, flare and disposal systems, imported electricity or on-site power generation and other plant utilities and infrastructure (e.g. marine and transportation facilities).
— natural gas liquefaction facilities associated with producing other products (e.g. domestic gas, condensate, LPG, sulphur, power export) to the extent required to allocate GHG emissions to the different products.
— all GHG emissions associated with producing LNG. These emissions spread across scope 1, scope 2 and scope 3 of the responsible organization. Scope 1, 2 and 3 are defined in this document. All emissions sources are covered including flaring, combustion, cold vents, process vents, fugitive leaks and emissions associated with imported energy.
The LNG plant is considered “under operation”, including emissions associated with initial start-up, maintenance, turnaround and restarts after maintenance or upset. The construction, commissioning, extension and decommissioning phases are excluded from this document but can be assessed separately.
The emissions resulting from boil-off gas management during loading of the ship or any export vehicle are covered by this document. The emissions from a ship at berth, e.g. mast venting are not covered by this document.
This document describes the allocation of GHG emissions to LNG and other hydrocarbon products where other products are produced (e.g. LPG, domestic gas, condensates, sulphur, etc.).
This document defines preferred units of measurement and necessary conversions.
This document also recommends instrumentation and estimations methods to monitor and report GHG emissions. Some emissions are measured and some are estimated.
This document is applicable to the LNG industry.
Applications include the provision of method to calculate GHG emissions through a standardized and auditable method, a means to determine their carbon footprint. Le présent document fournit une méthode pour calculer les émissions de GES d'une usine de liquéfaction GNL, à terre ou en mer. Le cadre du présent document s’étend des installations d'entrée de l'usine GNL aux bras de déchargement pour le chargement de camion, bateau ou wagon. L’approvisionnement en gaz en amont jusqu'à la bride d'entrée des installations d'entrée et la distribution de GNL en aval des bras de chargement ne sont couverts que de manière générale. Le présent document couvre: — toutes les installations associées à la production de GNL, cela inclut les installations de réception, l'unité de condensats (le cas échéant), les unités de prétraitement (comprenant, entre autres, l'élimination des gaz acides, la déshydratation, l'élimination du mercure, l'élimination des hydrocarbures lourds), l'extraction et le fractionnement du GPL (le cas échéant), la liquéfaction, le stockage et le chargement du GNL, la gestion des gaz d'évaporation, les systèmes de torchage et de traitements des déchets, l'électricité importée ou la production d'électricité sur site et les autres utilités et infrastructures de l'usine (par exemple, les installations maritimes et de transport). — les installations de liquéfaction du gaz naturel associées à la production d'autres produits (tels que le gaz domestique, le condensat, le GPL, le soufre, l'exportation d'électricité) afin de pouvoir allouer les émissions de GES aux différents produits. — les émissions de GES associées à la production de GNL. Ces émissions se répartissent entre la catégorie 1, la catégorie 2 et la catégorie 3 de l'organisme responsable. Les catégories 1, 2 et 3 sont définies dans le présent document. Toutes les sources d'émission sont couvertes, y compris le torchage, la combustion, les évents froids, les évents de procédé, les fuites fugitives et les émissions associées à l'énergie importée. L'usine GNL est considérée comme étant «en exploitation», cela inclut les émissions associées à la mise en service, au démarrage initial, à la maintenance, à la révision et aux redémarrages après une maintenance ou perturbation. Les phases de construction, de mise en service, d'extension et d'abandon sont exclues, mais peuvent être évaluées séparément. Les émissions résultant de la gestion des gaz d'évaporation pendant le chargement d'un navire ou de tout véhicule d'exportation sont couvertes. Les émissions d'un navire à quai, par exemple le dégazage par le mât, ne sont pas couvertes dans le présent document. Le présent document décrit l'allocation des émissions de GES au GNL et aux autres produits d'hydrocarbures lorsque d'autres produits sont produits (par exemple, GPL, gaz domestique, condensats, soufre, etc.). Le présent document définit les unités de mesure privilégiées et les conversions nécessaires. Le présent document recommande également l'instrumentation et les méthodes d'estimation pour surveiller et déclarer les émissions de GES. Certaines émissions sont mesurées et d'autres estimées. Le présent document est applicable à l'industrie du GNL. Les applications incluent la fourniture d'une méthode pour calculer les émissions de GES à travers une méthode standardisée et auditable, un moyen de déterminer leur empreinte carbone. |
| ICS: | 75.020-Extraction and processing of petroleum and natural gas, 13.020.40-Pollution, pollution control and conservation |
| CTN: | CEN/TC 282 - 6263 |
|
Otras Relaciones |
Adoptada de ISO 6338:2023 |










