Applying Models
Performing LCA calculations with Models
A Model performs project-level calculations referencing Expected Field Values within a Framework. Models are essential for:
- Calculating carbon stored (LCA & CORC Report)
- Representing system boundaries
- Performing methodology-specific calculations
Most methodologies come with predefined formulas and system boundary requirements that are represented as Model Templates.
Include the LCA and CORC Report Model as part of your submission, unless otherwise instructed by Puro.earth.
Model Structure
Models are organized hierarchically:
- Section - Top level of hierarchy; defines how the Model is organized
- Formula - Component within a Section that can reference other Formulas and/or Fields
- Field Library - Component within a Section that groups related Fields
- Field - Can reference expected values from Documents and perform calculations
Listing Available Model Templates
To view available model templates, use GET /v0/model-templates:
curl -X 'GET' "/v0/model-templates" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"
Response Schema
Creating a Model from Template
To apply a model template to a monitoring period, use POST /v0/monitoring-periods/{id}/models with the model template id.
The label and description must be set as null when using a model template.
curl -X 'POST' "/v0/monitoring-periods/{id}/models" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER" \
-d '{ \
"label": null, \
"description": null, \
"templateId": "model-template-uuid-here" \
}'
Listing Models
To view models for a monitoring period:
curl -X 'GET' "/v0/monitoring-periods/{id}/models" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"
To view all models across monitoring periods:
curl -X 'GET' "/v0/models/{id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"
Updating a Model
To update a model's label or description:
curl -X 'PATCH' "/v0/models/{id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER" \
-d '{ \
"label": "Updated model name", \
"description": "Updated description" \
}'
Deleting a Model
To delete a model:
curl -X 'DELETE' "/v0/models/{id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"
Deleting a model will remove all associated sections, formulas, field libraries, and fields. This action cannot be undone.
Understanding Carbon Stored Calculations
Most methodologies include a predefined formula for carbon stored, which typically includes:
- Production emissions - Emissions from batch production
- Material sourcing - Emissions from obtaining materials
- Application - Emissions from applying the material
- System boundary - All emission-generating activities
The LCA & CORC Report Summary templates represent these calculations in the platform.
How Batches Affect Models
Batches are quantifiable units of carbon removal. Carbon Stored calculations are typically performed at the batch level because:
- Summing or averaging metrics over the monitoring period produces inaccurate results
- Not all batches produced in a monitoring period may be applied
- Total production emissions should be reduced by the percentage of material that remains ineligible
- Ineligible batches should be excluded from the carbon stored formula
When a Document is configured as a Batch Request and referenced in a model, it creates Batch Fields or Batch Formulas.
Best Practices
- Start with the provided LCA & CORC Report template.
- Configuring fields and formulas allows you to tailor the model to your project.
- Before configuring the models, ensure all supporting documents are created and Expected Values are set up. Evidence does not need to be uploaded yet—creating documents early allows the model to dynamically update as data is collected.
- Ensure your model aligns with the applicable methodology requirements.
Next Steps
After creating your model structure, you'll need to configure the documents that will provide data to your model calculations.