- External leak generator - Optionally creates a single set of leaks that can be used across multiple simulations to enable "apples to apples" comparisons of different programs. Leak lists can also be saved and shared to improve reproducibility.
- Modularized methods - Methods (e.g., aircraft) are now comprised of a deployment style (platform), a sensor type, the scale of measurement (equipment vs component vs site), and whether or not they perform follow-up inspections. Old method modules are now defunct.
- User manual - Comprehensive documentation for all input parameters, including descriptions and warnings. Also includes a developer guide for those who want to contribute to the public code base.
- Added satellite - Satellite module now available, including satellite sensors, deployment strategies, and scheduling.
- Crew scheduling - Allows route-planning, specifying survey dates and date ranges, and includes route optimization based on site, home base, and airport locations.
- Company scheduling - Companies can deploy crews strategically to spatial clusters of sites. Useful when assets are distributed across large geographical areas.
- Switched to MIT license MIT licensing will be used from version 2 onwards.
- Start and end dates - Instead of start year and a number of timesteps, specific start and end dates must be provided.
- Hourly weather - Optional ability now exists to query weather on an hourly basis rather than only a daily basis.
- New sensitivity analysis - Added a sensitivity analysis program called ldar_sim_sens.py that runs LDAR-Sim from a wrapper that will generate either a series of programs based on a single range of variables or a series of simulation sets based on multiple ranges of variables.
- Operator agent - A new operator agent that can be assigned to a site and can use any sensor (default is AVO - auditory, visual, olfactory)
- Instant follow-up - Allows company to flag sites immediately and prioritize them for follow up if the emission rate from the site is greater than a user-defined threshold.
- Follow-up delay - Allows a company to wait a set amount of time (i.e., accumulate multiple screening measurements, even of the same site) before triaging sites for follow-up. Site redundancy can be handled using a new redundancy filter where maximum, average, or recent emission rates can be used to rank sites by severity.
- Input mapper - Maps user-defined inputs to relevant internal defaults and checks input types for issues before running simulations.
- Local weather - Added a function to convert weather data to local time zone when large regions are modeled.
- Accessible weather - Improved custom ERA5 downloader and in-file support documentation.
- Internal defaults - Internal default parameters for all methods to mitigate mistakes due to previously complex parameter tracking.
- Rollover - All methods now use a rollover, meaning that if a site cannot be completed before the end of the day, crews return to a home base and come back the next day to finish that site. If a site requires multiple days to inspect, crews will continue to return to that site until it is completed. This update more accurately reflects real field operations.
- Labor calibration - Option to automatically estimate the number of required crews for a given program and set minimum intervals to ensure that surveys are approximately evening distributed across each compliance period. This is performed before simulations are run and is used to estimate when a survey should be performed based on the required survey frequency and how many of crews are required to perform all surveys within the set time interval.
- Improved economics - New economics functionality with cost_mitigation.py that calculates the value of natural gas mitigated with LDAR programs below baseline emissions. This value is used, along with total costs, to derive a cost mitigation ratio for each LDAR program input into the model. Automatically outputs new figures.
- Removed leak count and spin up - These two inputs were redundant and prone to error. Initial emissions are now estimated using leak generation and removal assumptions.
- Seed timeseries generator – Useful for testing as each day will have the same seed for all programs in a simulation set.
- Code cleanup – Removed unused or obsolete code, including defunct sensitivity analyses.
- Changed to YAML inputs - Switched from text file inputs to YAML to improve readability.
- Restructured software folder - Improved folder structure for entire software to be more modular and follow current practices.
- Updated input data structure - An object-orientated input data structure is now used.
- Package upgrades - Updated Python packages, requirements file and, pipenv files to enable flexibility in package management
- Improved parameter organization - Input parameter lists are now much longer but are better organized. New rules are also implemented to ensure that consistent data types are used for lists and that nested dictionaries are appropriately managed.
- Addition of technology coverage Users can specify the probability that an agent can locate a leak independent of leak size. Coverage is split into two variables,
spatial
where the leaks unlocated leaks will not be found on subsequent surveys, andtemporal
where they can be found on subsequent surveys. - Performance improvements: Leaks are moved as subobjects of sites, allowing fewer iterations of code during runtime.