From f5dd9ebe20a7d0c44cdda6cff89e937415ba6c36 Mon Sep 17 00:00:00 2001 From: Duncan Dewhurst Date: Fri, 10 Nov 2023 11:46:16 +1300 Subject: [PATCH 1/4] mapping/sustainability.yaml: Update titles, removed deleted element --- manage.py | 51 +++++++++++++++++++++++++- mapping/sustainability.yaml | 73 +++++++++++++++++-------------------- 2 files changed, 83 insertions(+), 41 deletions(-) diff --git a/manage.py b/manage.py index 23ea5f66..abc11993 100755 --- a/manage.py +++ b/manage.py @@ -762,7 +762,7 @@ def lint(filename, additional_properties): missing_data[key].append(f"{identifier} {title}") # Format Markdown - for key in ["disclosure format", "mapping"]: + for key in ["title", "module", "indicator", "disclosure format", "mapping"]: value = element.get(key, "") element[key] = mdformat.text(value, options={"number": True}).rstrip() @@ -808,6 +808,55 @@ def lint(filename, additional_properties): write_yaml_file(filename, elements) +@cli.command() +def update_sustainability_elements(): + """Update mapping/sustainability.yaml""" + + filename = basedir / 'mapping' / 'sustainability.yaml' + + source = csv_reader( + "https://docs.google.com/spreadsheets/d/e/2PACX-1vTHlHTshFw7PMbPsNz5ecYZsIy7aEHl0pN4sENGgesTT7kR8eZ0GjJjPVf54iMA6eK3ZpQZ2k5e6rQn/pub?gid=0&single=true&output=csv") # noqa + source = {element["id"]: element for element in source} + + # Load sustainability modules mapping + with open(filename) as f: + mapping = yaml.safe_load(f) + + mapping = {element["id"]: element for element in mapping} + + new_elements = [] + deleted_elements = [] + + # Update common elements + for identifier, properties in source.items(): + element = mapping.get(identifier) + + if element: + for prop in ['title', 'module', 'indicator', 'disclosure format']: + element[prop] = properties[prop] + else: + new_elements.append(identifier) + + # Add new elements + for identifier in new_elements: + properties = source[identifier] + + for prop in ['mapping', 'example']: + properties[prop] = '' + + mapping[identifier] = properties + + # Remove deleted elements + for identifier in mapping: + if identifier not in source: + deleted_elements.append(identifier) + + for identifier in deleted_elements: + mapping.pop(identifier) + + write_yaml_file(filename, list(mapping.values())) + + @cli.command() def update_sustainability_docs(): """Update docs/cost/ids/sustainability.md""" diff --git a/mapping/sustainability.yaml b/mapping/sustainability.yaml index dc3e9b12..33ba6ef0 100644 --- a/mapping/sustainability.yaml +++ b/mapping/sustainability.yaml @@ -1,5 +1,5 @@ - id: '1.1' - title: Procurement strategy (Identification) + title: Procurement strategy module: Economic and fiscal indicator: Procurement viability disclosure format: Disclose the procurement strategy risk assessment. This tends to be part of the decision-making strategy and likely includes discussions regarding capabilities, the delivery model and the rationale for the risk allocation decision. (E.g. \[Document\]). @@ -40,7 +40,7 @@ - id: '1.3' title: Life cycle cost calculation methodology module: Economic and fiscal - indicator: null + indicator: '' disclosure format: Disclose the methodology used to calculate the life-cycle cost. The methodology ought to specify whether income and externalities are included in the calculation and the common date, discount rate and period of analysis used. mapping: '**Project Level:** Publish in documents, with `.documentType` set to ''lifecycleCostCalculationMethodology'' and include a short description and/or a link to a document providing details. If the details are part of a more general document indicate the relevant section of the document using `.pageStart` and `.pageEnd`.' example: |- @@ -474,7 +474,7 @@ ] } - id: '3.1' - title: Climate objective (Identification) + title: Climate objective module: Climate finance indicator: Project theme disclosure format: |- @@ -496,7 +496,7 @@ } } - id: '3.2' - title: Financial instrument (preparation) + title: Financial instrument module: Climate finance indicator: Financial mechanism disclosure format: |- @@ -521,7 +521,7 @@ } } - id: '3.3' - title: Climate transformation (identification) + title: Climate transformation module: Climate finance indicator: Model of change disclosure format: Clarify the theory of change, systemic transition or transformation that is intended \[free text to explain\]. @@ -539,14 +539,14 @@ ] } - id: '3.4' - title: Climate finance decision-maker (Identification) + title: Climate finance decision-maker module: Climate finance indicator: Decision-making process disclosure format: Identify who approved the climate finance investment in the country (organization, party, role) mapping: '' example: '' - id: '3.5' - title: Nationally Determined Contributions (NDC) (Identification) + title: Nationally Determined Contributions (NDC) module: Climate finance indicator: Policy coherence disclosure format: Select from a list of international commitments and clarify how the project is aligned with it \[codelist, free text to explain\]. @@ -570,14 +570,14 @@ ] } - id: '3.6' - title: Paris Agreement (Identification) + title: Paris Agreement module: Climate finance indicator: Policy coherence disclosure format: Select from a list of international commitments and clarify how the project is aligned with it \[codelist, free text to explain\]. mapping: See mapping for data point "Policy coherence" in Institutional extension adding `parisAgreement` to the `policyAlighment.policies` array. example: '' - id: '3.7' - title: Beneficiaries (Preparation) + title: Beneficiaries module: Climate finance indicator: Beneficiary population disclosure format: |- @@ -587,7 +587,7 @@ mapping: '' example: '' - id: '3.8' - title: Amount of investment (Preparation) + title: Amount of investment module: Climate finance indicator: Economic viability disclosure format: Disclose the quantum of the climate finance investment \[value, currency\]. @@ -607,7 +607,7 @@ } } - id: '3.9' - title: Funding source (Preparation) + title: Funding source module: Climate finance indicator: Economic viability disclosure format: Disclose who is providing the finance \[party/organization/role\] @@ -638,7 +638,7 @@ } } - id: '3.10' - title: Green Climate Fund Accredited Entity (Preparation) + title: Green Climate Fund Accredited Entity module: Climate finance indicator: Accessibility disclosure format: For projects financed by the Green Climate Fund, disclose the accredited entities through which GCF resources are accessed. @@ -659,7 +659,7 @@ ] } - id: '3.11' - title: Accredited Entity Type (preparation) + title: Accredited Entity Type module: Climate finance indicator: Accessibility disclosure format: |- @@ -674,28 +674,28 @@ mapping: '' example: '' - id: '3.12' - title: Project preparation costs (preparation) + title: Project preparation costs module: Climate finance indicator: Accessibility/ Project viability disclosure format: Disclose the amounts invested in project preparation \[value, currency\] mapping: '' example: '' - id: '3.13' - title: Project preparation period (preparation) + title: Project preparation period module: Climate finance indicator: Accessibility/ efficiency disclosure format: Disclose dates for project preparation \[start date, end date\] mapping: '' example: '' - id: '3.14' - title: Project approval period (preparation) + title: Project approval period module: Climate finance indicator: Accessibility disclosure format: Disclose dates for project approval \[submission date, approval date\] mapping: '' example: '' - id: '3.15' - title: Ratio of co-finance (Preparation) + title: Ratio of co-finance module: Climate finance indicator: Economic viability disclosure format: |- @@ -754,7 +754,7 @@ } } - id: '3.16' - title: Terms of climate finance (Preparation) + title: Terms of climate finance module: Climate finance indicator: Economic viability disclosure format: |- @@ -768,14 +768,14 @@ mapping: '' example: '' - id: '3.17' - title: Carbon efficiency (Preparation) + title: Carbon efficiency module: Climate finance indicator: Climate impact disclosure format: Disclose the cost per tonne of CO2 equivalent \[value, currency\]. mapping: Publish the cost in `environment.abatementCost`. If supporting documentation is available, publish in documents with `.documentType` set to 'abatementCostMethodology'. example: '' - id: '3.18' - title: Non-climate co-benefits (Preparation) + title: Non-climate co-benefits module: Climate finance indicator: Non-climate impact disclosure format: |- @@ -797,7 +797,7 @@ ] } - id: '3.19' - title: Public consultation meetings (Preparation) + title: Public consultation meetings module: Climate finance indicator: Public participation disclosure format: Disclose the occurrence of public meetings with communities and impacted groups including the minutes, number of the participants, dates and location of these meetings (E.g. Meeting 1 \[date\] \[location\] \[number of participants\] \[Document\], Meeting 2 \[date\] \[location\] \[number of participants\], \[Document\]). @@ -822,7 +822,7 @@ mapping: '' example: '' - id: '3.22' - title: Performance monitoring (Implementation) + title: Performance monitoring module: Climate finance indicator: KPIs disclosure format: Disclose Key Performance Indicators adopted by the project (E.g. \[free text\]). @@ -859,14 +859,14 @@ ] } - id: '3.24' - title: Oversight reports (implementation) + title: Oversight reports module: Climate finance indicator: Anti-corruption impact disclosure format: \[document\] mapping: '' example: '' - id: '3.25' - title: Independent monitoring (Implementation) + title: Independent monitoring module: Climate finance indicator: Anti-corruption impact disclosure format: Identify the entities acting as independent monitors of the project (E.g. \[free text\]) @@ -884,7 +884,7 @@ ] } - id: '3.26' - title: Independent evaluation (Implementation) + title: Independent evaluation module: Climate finance indicator: Long-term project impact disclosure format: Disclose technical audits produced at end of the project (E.g. \[free text\]. @@ -903,7 +903,7 @@ ] } - id: '3.27' - title: Impact measurement (Operation) + title: Impact measurement module: Climate finance indicator: Long-term project impact disclosure format: Clarify the methodology or system to measure the long-term impact of the project solution (E.g. \[free text\]. @@ -920,7 +920,7 @@ ] } - id: '3.28' - title: Carbon footprint (Operation) + title: Carbon footprint module: Climate finance indicator: Long-term project impact disclosure format: Disclose the carbon footprint of the project \[value, tons CO2 equivalent, free text to describe the methodology used to measure the carbon footprint\] @@ -985,21 +985,14 @@ mapping: '' example: '' - id: '3.31' - title: Decommission plan (Decommission) + title: Decommission plan module: Climate finance indicator: Climate management disclosure format: 'Disclose the technical plan for decommissioning (E.g.: \[Doc\]).' mapping: See decommissioning plan data point in environment extension example: '' -- id: '3.32' - title: Decommission costs (Decommission) - module: Climate finance - indicator: Climate management - disclosure format: 'Disclose socio-economic assessments on transition and decommissioning costs (E.g.: \[Doc\]).' - mapping: '' - example: '' - id: '3.33' - title: Carbon decommission savings (Decommission) + title: Carbon decommission savings module: Climate finance indicator: Climate management disclosure format: Disclose the evaluation of CO2 savings as a result of decommissioning \[value, tons CO2 equivalent\] @@ -1051,7 +1044,7 @@ ] } - id: '3.34' - title: Decommission mitigation plan (Decommission) + title: Decommission mitigation plan module: Climate finance indicator: Climate management disclosure format: 'Disclose mitigation plan for people and communities affected by decommissioning (E.g.: \[Doc\]),' @@ -1073,7 +1066,7 @@ ] } - id: '4.1' - title: Number of beneficiaries (Preparation) + title: Number of beneficiaries module: Social indicator: Beneficiary population disclosure format: 'Indicate the number of direct and indirect project beneficiaries (E.g. direct: \[number\]; indirect: "number"). Beneficiaries are the individuals who benefit directly or indirectly from the project; they are the target group of the infrastructure project and their needs are addressed by the intervention.' @@ -1108,7 +1101,7 @@ ] } - id: '4.3' - title: Indigenous land (Preparation) + title: Indigenous land module: Social indicator: Indigenous populations disclosure format: Identify whether the project is located or cut through indigenous land. Use the information at the LandMark - Global Platform of Indigenous and Community Lands on both databases Indigenous Lands Acknowledged by Government and Not Acknowledged by Government (customary tenure or with formal land claim submitted) to disclose the information. @@ -1549,7 +1542,7 @@ module: Institutional indicator: Investment transparency disclosure format: |- - Disclose documentation that evidences that the project is part of, or aligned with existing plans and policies, providing further details on the project's policy alignment. Consider alignment with: + Disclose documentation that evidences that the project is part of, or aligned with existing plans and policies, providing further details on the project's policy alignment. Consider alignment with: SDGs National plan or strategy From 4a373c1f758e26b4831f322ed198bef903bbb6dd Mon Sep 17 00:00:00 2001 From: Duncan Dewhurst Date: Fri, 10 Nov 2023 11:58:25 +1300 Subject: [PATCH 2/4] docs/cost/ids/sustainability.md: Update from sustainability.yaml Also, make target names unique --- docs/cost/ids/sustainability.md | 240 ++++++++++++++------------------ manage.py | 2 +- 2 files changed, 109 insertions(+), 133 deletions(-) diff --git a/docs/cost/ids/sustainability.md b/docs/cost/ids/sustainability.md index fee65d6c..2d78bba8 100644 --- a/docs/cost/ids/sustainability.md +++ b/docs/cost/ids/sustainability.md @@ -23,11 +23,11 @@ This page documents a mapping from the elements in the CoST IDS sustainability m ## Economic and fiscal -(Procurement strategy (Identification))= +(Economic and fiscal-Procurement strategy)= `````{grid} 2 -````{grid-item-card} Procurement strategy (Identification) +````{grid-item-card} Procurement strategy :columns: 4 CoST IDS element ^^^ @@ -56,7 +56,7 @@ OC4IDS mapping ````` -(Life cycle cost)= +(Economic and fiscal-Life cycle cost)= `````{grid} 2 @@ -94,7 +94,7 @@ OC4IDS mapping ````` -(Life cycle cost calculation methodology)= +(Economic and fiscal-Life cycle cost calculation methodology)= `````{grid} 2 @@ -126,7 +126,7 @@ OC4IDS mapping ````` -(Funding source for preparation, implementation and operation)= +(Economic and fiscal-Funding source for preparation, implementation and operation)= `````{grid} 2 @@ -150,7 +150,7 @@ OC4IDS mapping ````` -(Budget for preparation, implementation and operation)= +(Economic and fiscal-Budget for preparation, implementation and operation)= `````{grid} 2 @@ -174,7 +174,7 @@ OC4IDS mapping ````` -(Cost benefit analysis)= +(Economic and fiscal-Cost benefit analysis)= `````{grid} 2 @@ -206,7 +206,7 @@ OC4IDS mapping ````` -(Value for money)= +(Economic and fiscal-Value for money)= `````{grid} 2 @@ -238,7 +238,7 @@ Project Level: Publish in `documents`, with `.documentType` set to 'valueForMone ````` -(Budget projections)= +(Economic and fiscal-Budget projections)= `````{grid} 2 @@ -262,7 +262,7 @@ OC4IDS mapping ````` -(Budget shortfall)= +(Economic and fiscal-Budget shortfall)= `````{grid} 2 @@ -314,7 +314,7 @@ Add a `Metric` object to the `.metrics` array, set its `.id` incrementally and s ## Environment and climate -(Environmental impact category)= +(Environment and climate-Environmental impact category)= `````{grid} 2 @@ -360,7 +360,7 @@ Project level: ````` -(Environmental measures)= +(Environment and climate-Environmental measures)= `````{grid} 2 @@ -393,7 +393,7 @@ Project level: Add a document, set its `.documentType` to 'environmentalMeasures ````` -(Environmental exceptions)= +(Environment and climate-Environmental exceptions)= `````{grid} 2 @@ -425,7 +425,7 @@ Project Level: Publish in `documents`, with `.documentType` set to 'environmenta ````` -(Protected area)= +(Environment and climate-Protected area)= `````{grid} 2 @@ -472,7 +472,7 @@ If the project is not located in a protected area, set `.environment.protectedAr ````` -(Conservation measures)= +(Environment and climate-Conservation measures)= `````{grid} 2 @@ -529,7 +529,7 @@ If there is an accompanying document publish in `documents`, with `.documentType ````` -(Climate and disaster risk assessment)= +(Environment and climate-Climate and disaster risk assessment)= `````{grid} 2 @@ -562,7 +562,7 @@ Project level: Add a document, set its `.documentType` to 'climateAndDisasterRis ````` -(Climate measures)= +(Environment and climate-Climate measures)= `````{grid} 2 @@ -620,7 +620,7 @@ If there is an accompanying document publish in `documents`, with `.documentType ````` -(Forecast of greenhouse gas emissions)= +(Environment and climate-Forecast of greenhouse gas emissions)= `````{grid} 2 @@ -686,7 +686,7 @@ Project-level: ````` -(Environmental certifications)= +(Environment and climate-Environmental certifications)= `````{grid} 2 @@ -725,7 +725,7 @@ Contracting process level: Publish in `documents`, with `.documentType` set to ' ````` -(Decommissioning plans)= +(Environment and climate-Decommissioning plans)= `````{grid} 2 @@ -757,7 +757,7 @@ Project level: Publish in `documents`, with `.documentType` set to 'decommission ````` -(Decommissioning cost forecast)= +(Environment and climate-Decommissioning cost forecast)= `````{grid} 2 @@ -815,11 +815,11 @@ Project level: ## Climate finance -(Climate objective (Identification))= +(Climate finance-Climate objective)= `````{grid} 2 -````{grid-item-card} Climate objective (Identification) +````{grid-item-card} Climate objective :columns: 4 CoST IDS element ^^^ @@ -852,11 +852,11 @@ Project level: Add the relevant code from the climateChangeGoal codelist to the ````` -(Financial instrument (preparation))= +(Climate finance-Financial instrument)= `````{grid} 2 -````{grid-item-card} Financial instrument (preparation) +````{grid-item-card} Financial instrument :columns: 4 CoST IDS element ^^^ @@ -892,11 +892,11 @@ Project level: For each instrument, add a `finance` object to the `budget.financ ````` -(Climate transformation (identification))= +(Climate finance-Climate transformation)= `````{grid} 2 -````{grid-item-card} Climate transformation (identification) +````{grid-item-card} Climate transformation :columns: 4 CoST IDS element ^^^ @@ -926,11 +926,11 @@ Project level: Publish in documents, with `.documentType` set to 'climateTransfo ````` -(Climate finance decision-maker (Identification))= +(Climate finance-Climate finance decision-maker)= `````{grid} 2 -````{grid-item-card} Climate finance decision-maker (Identification) +````{grid-item-card} Climate finance decision-maker :columns: 4 CoST IDS element ^^^ @@ -950,11 +950,11 @@ OC4IDS mapping ````` -(Nationally Determined Contributions (NDC) (Identification))= +(Climate finance-Nationally Determined Contributions (NDC))= `````{grid} 2 -````{grid-item-card} Nationally Determined Contributions (NDC) (Identification) +````{grid-item-card} Nationally Determined Contributions (NDC) :columns: 4 CoST IDS element ^^^ @@ -990,11 +990,11 @@ See mapping for data point "Policy coherence" in Institutional extension adding ````` -(Paris Agreement (Identification))= +(Climate finance-Paris Agreement)= `````{grid} 2 -````{grid-item-card} Paris Agreement (Identification) +````{grid-item-card} Paris Agreement :columns: 4 CoST IDS element ^^^ @@ -1014,11 +1014,11 @@ See mapping for data point "Policy coherence" in Institutional extension adding ````` -(Beneficiaries (Preparation))= +(Climate finance-Beneficiaries)= `````{grid} 2 -````{grid-item-card} Beneficiaries (Preparation) +````{grid-item-card} Beneficiaries :columns: 4 CoST IDS element ^^^ @@ -1040,11 +1040,11 @@ OC4IDS mapping ````` -(Amount of investment (Preparation))= +(Climate finance-Amount of investment)= `````{grid} 2 -````{grid-item-card} Amount of investment (Preparation) +````{grid-item-card} Amount of investment :columns: 4 CoST IDS element ^^^ @@ -1076,11 +1076,11 @@ Project level: For each financing instrument, add the value and currency to the` ````` -(Funding source (Preparation))= +(Climate finance-Funding source)= `````{grid} 2 -````{grid-item-card} Funding source (Preparation) +````{grid-item-card} Funding source :columns: 4 CoST IDS element ^^^ @@ -1122,11 +1122,11 @@ Map the organization's `.id` from the party array to `financingParty.id` in the ````` -(Green Climate Fund Accredited Entity (Preparation))= +(Climate finance-Green Climate Fund Accredited Entity)= `````{grid} 2 -````{grid-item-card} Green Climate Fund Accredited Entity (Preparation) +````{grid-item-card} Green Climate Fund Accredited Entity :columns: 4 CoST IDS element ^^^ @@ -1158,11 +1158,11 @@ Add each accredited entity organization to the `parties` array and add 'gcfAccre ````` -(Accredited Entity Type (preparation))= +(Climate finance-Accredited Entity Type)= `````{grid} 2 -````{grid-item-card} Accredited Entity Type (preparation) +````{grid-item-card} Accredited Entity Type :columns: 4 CoST IDS element ^^^ @@ -1189,11 +1189,11 @@ OC4IDS mapping ````` -(Project preparation costs (preparation))= +(Climate finance-Project preparation costs)= `````{grid} 2 -````{grid-item-card} Project preparation costs (preparation) +````{grid-item-card} Project preparation costs :columns: 4 CoST IDS element ^^^ @@ -1213,11 +1213,11 @@ OC4IDS mapping ````` -(Project preparation period (preparation))= +(Climate finance-Project preparation period)= `````{grid} 2 -````{grid-item-card} Project preparation period (preparation) +````{grid-item-card} Project preparation period :columns: 4 CoST IDS element ^^^ @@ -1237,11 +1237,11 @@ OC4IDS mapping ````` -(Project approval period (preparation))= +(Climate finance-Project approval period)= `````{grid} 2 -````{grid-item-card} Project approval period (preparation) +````{grid-item-card} Project approval period :columns: 4 CoST IDS element ^^^ @@ -1261,11 +1261,11 @@ OC4IDS mapping ````` -(Ratio of co-finance (Preparation))= +(Climate finance-Ratio of co-finance)= `````{grid} 2 -````{grid-item-card} Ratio of co-finance (Preparation) +````{grid-item-card} Ratio of co-finance :columns: 4 CoST IDS element ^^^ @@ -1334,11 +1334,11 @@ For each co-financing arrangement add a new `finance` object to the `budget.fina ````` -(Terms of climate finance (Preparation))= +(Climate finance-Terms of climate finance)= `````{grid} 2 -````{grid-item-card} Terms of climate finance (Preparation) +````{grid-item-card} Terms of climate finance :columns: 4 CoST IDS element ^^^ @@ -1364,11 +1364,11 @@ OC4IDS mapping ````` -(Carbon efficiency (Preparation))= +(Climate finance-Carbon efficiency)= `````{grid} 2 -````{grid-item-card} Carbon efficiency (Preparation) +````{grid-item-card} Carbon efficiency :columns: 4 CoST IDS element ^^^ @@ -1388,11 +1388,11 @@ Publish the cost in `environment.abatementCost`. If supporting documentation is ````` -(Non-climate co-benefits (Preparation))= +(Climate finance-Non-climate co-benefits)= `````{grid} 2 -````{grid-item-card} Non-climate co-benefits (Preparation) +````{grid-item-card} Non-climate co-benefits :columns: 4 CoST IDS element ^^^ @@ -1425,11 +1425,11 @@ Project level: For each impact identified add a `benefit` object to the `benefit ````` -(Public consultation meetings (Preparation))= +(Climate finance-Public consultation meetings)= `````{grid} 2 -````{grid-item-card} Public consultation meetings (Preparation) +````{grid-item-card} Public consultation meetings :columns: 4 CoST IDS element ^^^ @@ -1449,7 +1449,7 @@ See mapping for data point "Public consultation meetings" in the Social extensio ````` -(Disbursement records)= +(Climate finance-Disbursement records)= `````{grid} 2 @@ -1473,7 +1473,7 @@ OC4IDS mapping ````` -(Type of project monitoring)= +(Climate finance-Type of project monitoring)= `````{grid} 2 @@ -1500,11 +1500,11 @@ OC4IDS mapping ````` -(Performance monitoring (Implementation))= +(Climate finance-Performance monitoring)= `````{grid} 2 -````{grid-item-card} Performance monitoring (Implementation) +````{grid-item-card} Performance monitoring :columns: 4 CoST IDS element ^^^ @@ -1533,7 +1533,7 @@ For each KPI add a `Metric` object to the `metrics` array and set the object's f ````` -(Reporting period)= +(Climate finance-Reporting period)= `````{grid} 2 @@ -1567,11 +1567,11 @@ For each KPI metric add the sentence "To be reported XXX" where XXX is the repor ````` -(Oversight reports (implementation))= +(Climate finance-Oversight reports)= `````{grid} 2 -````{grid-item-card} Oversight reports (implementation) +````{grid-item-card} Oversight reports :columns: 4 CoST IDS element ^^^ @@ -1591,11 +1591,11 @@ OC4IDS mapping ````` -(Independent monitoring (Implementation))= +(Climate finance-Independent monitoring)= `````{grid} 2 -````{grid-item-card} Independent monitoring (Implementation) +````{grid-item-card} Independent monitoring :columns: 4 CoST IDS element ^^^ @@ -1625,11 +1625,11 @@ Project level: Add an entry to `parties` with 'independentMonitor' included in i ````` -(Independent evaluation (Implementation))= +(Climate finance-Independent evaluation)= `````{grid} 2 -````{grid-item-card} Independent evaluation (Implementation) +````{grid-item-card} Independent evaluation :columns: 4 CoST IDS element ^^^ @@ -1660,11 +1660,11 @@ Project level: Add a document, set its `.documentType` to 'technicalAuditReport' ````` -(Impact measurement (Operation))= +(Climate finance-Impact measurement)= `````{grid} 2 -````{grid-item-card} Impact measurement (Operation) +````{grid-item-card} Impact measurement :columns: 4 CoST IDS element ^^^ @@ -1693,11 +1693,11 @@ Project level: Publish in documents, with `.documentType` set to 'impactMethodol ````` -(Carbon footprint (Operation))= +(Climate finance-Carbon footprint)= `````{grid} 2 -````{grid-item-card} Carbon footprint (Operation) +````{grid-item-card} Carbon footprint :columns: 4 CoST IDS element ^^^ @@ -1759,7 +1759,7 @@ Project-level: ````` -(Infrastructure assets to be decommissioned)= +(Climate finance-Infrastructure assets to be decommissioned)= `````{grid} 2 @@ -1783,7 +1783,7 @@ OC4IDS mapping ````` -(Decommission period)= +(Climate finance-Decommission period)= `````{grid} 2 @@ -1807,11 +1807,11 @@ OC4IDS mapping ````` -(Decommission plan (Decommission))= +(Climate finance-Decommission plan)= `````{grid} 2 -````{grid-item-card} Decommission plan (Decommission) +````{grid-item-card} Decommission plan :columns: 4 CoST IDS element ^^^ @@ -1831,35 +1831,11 @@ See decommissioning plan data point in environment extension ````` -(Decommission costs (Decommission))= - -`````{grid} 2 - -````{grid-item-card} Decommission costs (Decommission) -:columns: 4 -CoST IDS element -^^^ -Disclose socio-economic assessments on transition and decommissioning costs (E.g.: \[Doc\]). -```` - -````{grid-item-card} -:columns: 8 -OC4IDS mapping -^^^ - -```json - -``` -```` - -````` - - -(Carbon decommission savings (Decommission))= +(Climate finance-Carbon decommission savings)= `````{grid} 2 -````{grid-item-card} Carbon decommission savings (Decommission) +````{grid-item-card} Carbon decommission savings :columns: 4 CoST IDS element ^^^ @@ -1922,11 +1898,11 @@ Project-level: ````` -(Decommission mitigation plan (Decommission))= +(Climate finance-Decommission mitigation plan)= `````{grid} 2 -````{grid-item-card} Decommission mitigation plan (Decommission) +````{grid-item-card} Decommission mitigation plan :columns: 4 CoST IDS element ^^^ @@ -1961,11 +1937,11 @@ Publish in documents, with `.documentType` set to 'socialImpact' and include a s ## Social -(Number of beneficiaries (Preparation))= +(Social-Number of beneficiaries)= `````{grid} 2 -````{grid-item-card} Number of beneficiaries (Preparation) +````{grid-item-card} Number of beneficiaries :columns: 4 CoST IDS element ^^^ @@ -1985,7 +1961,7 @@ OC4IDS mapping ````` -(Inclusive design and implementation)= +(Social-Inclusive design and implementation)= `````{grid} 2 @@ -2028,11 +2004,11 @@ Project-level: ````` -(Indigenous land (Preparation))= +(Social-Indigenous land)= `````{grid} 2 -````{grid-item-card} Indigenous land (Preparation) +````{grid-item-card} Indigenous land :columns: 4 CoST IDS element ^^^ @@ -2069,7 +2045,7 @@ If the project is not located or cut through indigenous land, set `.social.indig ````` -(Public consultation meetings)= +(Social-Public consultation meetings)= `````{grid} 2 @@ -2135,7 +2111,7 @@ For each meeting: ````` -(Land compensation budget)= +(Social-Land compensation budget)= `````{grid} 2 @@ -2166,7 +2142,7 @@ Project Level: Set `.social.landCompensationBudget` to the amount and currency o ````` -(Labour obligations)= +(Social-Labour obligations)= `````{grid} 2 @@ -2245,7 +2221,7 @@ Publish the signed contract that includes labor obligations: Add a document to ````` -(Labour budget)= +(Social-Labour budget)= `````{grid} 2 @@ -2283,7 +2259,7 @@ Contract level: Publish the amount and currency of the labor budget in `.summary ````` -(Workers' accidents)= +(Social-Workers' accidents)= `````{grid} 2 @@ -2349,7 +2325,7 @@ Publish summary statistics on worker fatalities: ````` -(Health and safety certifications)= +(Social-Health and safety certifications)= `````{grid} 2 @@ -2388,7 +2364,7 @@ Contracting process level: Publish in `.summary.documents`, with `.documentType` ````` -(Construction materials testing)= +(Social-Construction materials testing)= `````{grid} 2 @@ -2456,7 +2432,7 @@ Publish test results: For each test result, add a document, set `.documentType` ````` -(Building inspections)= +(Social-Building inspections)= `````{grid} 2 @@ -2488,7 +2464,7 @@ Project Level: Publish in `documents`, with `.documentType` set to 'buildingInsp ````` -(Jobs generated)= +(Social-Jobs generated)= `````{grid} 2 @@ -2619,7 +2595,7 @@ Publish actual jobs created: ## Institutional -(Policy coherence)= +(Institutional-Policy coherence)= `````{grid} 2 @@ -2627,7 +2603,7 @@ Publish actual jobs created: :columns: 4 CoST IDS element ^^^ -Disclose documentation that evidences that the project is part of, or aligned with existing plans and policies, providing further details on the project's policy alignment. Consider alignment with: +Disclose documentation that evidences that the project is part of, or aligned with existing plans and policies, providing further details on the project's policy alignment. Consider alignment with: SDGs National plan or strategy @@ -2689,7 +2665,7 @@ If further documentation of the project's policy alignment is available, add a d ````` -(Freedom of information requests)= +(Institutional-Freedom of information requests)= `````{grid} 2 @@ -2723,7 +2699,7 @@ For each freedom of information request, add a document, set `.documentType` to ````` -(Answers to Freedom of information requests)= +(Institutional-Answers to Freedom of information requests)= `````{grid} 2 @@ -2757,7 +2733,7 @@ For each freedom of information request response, add a document, set `.document ````` -(Lobbying transparency)= +(Institutional-Lobbying transparency)= `````{grid} 2 @@ -2821,7 +2797,7 @@ For each meeting: ````` -(Beneficial ownership)= +(Institutional-Beneficial ownership)= `````{grid} 2 @@ -2845,7 +2821,7 @@ Use modelling from OCDS Beneficial Owners extension ````` -(Sustainability criteria)= +(Institutional-Sustainability criteria)= `````{grid} 2 @@ -2888,7 +2864,7 @@ Add a `Sustainability` object to the `.summary.tender.sustainability` array and ````` -(Anti-corruption certifications)= +(Institutional-Anti-corruption certifications)= `````{grid} 2 @@ -2920,7 +2896,7 @@ Project Level: Publish in documents, with .documentType set to 'antiCorruptionCe ````` -(Independent monitoring)= +(Institutional-Independent monitoring)= `````{grid} 2 @@ -2954,7 +2930,7 @@ Project Level: Add an entry to `parties` with 'independentMonitor' included in i ````` -(Performance monitoring)= +(Institutional-Performance monitoring)= `````{grid} 2 @@ -2985,7 +2961,7 @@ Project level: Publish in `metrics`. For each KPI add a Metric object to the met ````` -(Risk management plans)= +(Institutional-Risk management plans)= `````{grid} 2 @@ -3017,7 +2993,7 @@ Project Level: Publish in documents, with .documentType set to 'riskProvisions' ````` -(Sustainable sub-sectors)= +(Institutional-Sustainable sub-sectors)= `````{grid} 2 diff --git a/manage.py b/manage.py index abc11993..5409b8ec 100755 --- a/manage.py +++ b/manage.py @@ -882,7 +882,7 @@ def update_sustainability_docs(): title = element.get("title", "") modules[module].extend( [ - f"\n({title})=", + f"\n({module}-{title})=", "\n\n`````{grid} 2", f"\n\n````{{grid-item-card}} {title}", "\n:columns: 4", From ccb18180fc41d5c2a151b00e007e9422e76eec5c Mon Sep 17 00:00:00 2001 From: Duncan Dewhurst Date: Fri, 10 Nov 2023 11:58:56 +1300 Subject: [PATCH 3/4] Update changelog --- docs/reference/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/changelog.md b/docs/reference/changelog.md index 3d1a076f..4c8c3807 100644 --- a/docs/reference/changelog.md +++ b/docs/reference/changelog.md @@ -12,7 +12,7 @@ * [#371](https://github.com/open-contracting/infrastructure/pull/371) - add link to field level mapping template tutorial. * [#370](https://github.com/open-contracting/infrastructure/pull/370) - improve schema reference documentation and integrate worked example. * [#389](https://github.com/open-contracting/infrastructure/pull/389) - emphasize publishing data throughout a project's lifecycle. -* [#422](https://github.com/open-contracting/infrastructure/pull/422) - add CoST IDS sustainability modules to mapping documentation. +* [#422](https://github.com/open-contracting/infrastructure/pull/422), [#425](https://github.com/open-contracting/infrastructure/pull/425) - add CoST IDS sustainability modules to mapping documentation. ### Schema From 6b1a950834b09d16e0cefcdf643b43ad164b5105 Mon Sep 17 00:00:00 2001 From: Duncan Dewhurst Date: Mon, 13 Nov 2023 09:17:21 +1300 Subject: [PATCH 4/4] manage.py: Add and update comments --- manage.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/manage.py b/manage.py index 5409b8ec..2a6ccf13 100755 --- a/manage.py +++ b/manage.py @@ -810,10 +810,11 @@ def lint(filename, additional_properties): @cli.command() def update_sustainability_elements(): - """Update mapping/sustainability.yaml""" + """Update mapping/sustainability.yaml from CoST IDS sustainability elements spreadsheet""" filename = basedir / 'mapping' / 'sustainability.yaml' + # CoST IDS sustainability elements are maintained in https://docs.google.com/spreadsheets/d/165epI69oQ5YyL4-2q8VubFn9VuNham2Pi1u0P49id9o # noqa: E501 source = csv_reader( "https://docs.google.com/spreadsheets/d/e/2PACX-1vTHlHTshFw7PMbPsNz5ecYZsIy7aEHl0pN4sENGgesTT7kR8eZ0GjJjPVf54iMA6eK3ZpQZ2k5e6rQn/pub?gid=0&single=true&output=csv") # noqa source = {element["id"]: element for element in source} @@ -859,7 +860,7 @@ def update_sustainability_elements(): @cli.command() def update_sustainability_docs(): - """Update docs/cost/ids/sustainability.md""" + """Update docs/cost/ids/sustainability.md from mapping/sustainability.yaml""" # Load sustainability mapping documentation with (basedir / 'docs' / 'cost' / 'ids' / 'sustainability.md').open() as f: