- Fixed conversion factor for Prichard/ONeill emissions output
- Fixed bug in findmetdata time window merging logic
- Upgrade to geoutils v1.0.3
- Upgrade blueskykml to v2.4.3
- Upgrade met to v1.2.3
Note that this release is not backwards compatible. Despite this fact, we decided for other reasons to keep the major version 4.
- configuration
- 'config' may no longer be specified in the input data; set it in a separate file or via command line args
- config keys are case insensitive (except for under visualization > hysplit > blueskykml config)
- a run's configuration is included in the output data under 'run_config'
- a config file may specify configuration under 'config' or 'run_config' (to allow you to use a previous run's dumped configuration in a subsequent run by passing in the output file as a config file)
- added --dump-config to show the config settings (defaults + user overrides) of a potential run
- deprecated FiresManager.get_config_value
- deprecated FiresManager.set_config_value
- deprecated FiresManager.config (getter and setter)
- refactored run_id logic and store as FiresManager attr rather than in _meta dict
- support building docker image with default user matching host user's UID and group id & added script to add user post-build
- CONSUME
- upgrade consume package to v5
- capture and ignore consume stdout
- modify consume input defaults
- emissions
- Fix conversion factor for Prichard/Oneill emissions output (values wer half of what they should have been)
- added regression test case for Prichard/Oneill emissions
- various changes to run-all-fuelbeds.py dev script
- findmetdata time window merging logic
- new input data structure
- 'fire_information' -> 'fires'
- 'growth' -> 'activity'
- nested activity organization, with collections and active areas
- specified_points & perimeter_polygon objects replacing location object
- remove ingestion module and require clients to structure data correctly
- remove bsp-csv2json
- support FireSpider v3 output
- rename plumerising module as plumerise
- rename timeprofiling module as timeprofile
- added support for loading BSF (BlueSky Framework) fire location csv output data
- Fix support for either dict or list for export > upload > scp config setting
- Indicate use of carryover/parinit in dispersion output info and visualization summary.json
- Make summary.json more human readable with indents
- Upgrade afscripting to v1.1.5
- Add custom log level SUMMARY 25
- add SUMMARY level messages: bluesky version, input file, output file, 'Run complete', fire counts, 'Modules to be run: ...', 'Running module ...'
- Support specifying target WebSky version summary.json
- Support all 3.. fire spider versions
- Upgrade eflookup to v3.1.2 to get updated Prichard-Oneill emissions factors
- List ARL files in order in the hysplit CONTROL file
- Support filtering activity by start and/or end times
- Fix bug in hysplit code where, when using tranches, all fires were being run in each tranche
- distribute fire locations evenly in tranches, ignoring parent fires
- Support restricting findmetdata to specific allowed forecasts (e.g. to allow 2019-07-31 00Z met data but not 2019-07-30 00Z for a 7/31 run)
- Added bsp-run-info script
- Initial version of bsp-output-visualizer
- Minor updates to build-docker-image
- Second version of bsp-output-visualizer
- Refactored configuration management to be thread safe (to be able to execute parallel runs with different configurations in separate threads)
- bug fix and added error handling
- New smokeready extrafiles module
- Upgrade met to v1.2.4
- Merge dispersion fire objects to reduce number of zero-emissions points
- Don't group fires into sets before tranching for hysplit
- Updates in smokeready extrafiles module
- Upgrade met to v1.2.5
- Handle comparison of string and datetime objects when merging fires for dispersion
- Added data error handling in smokeready extrafiles module
- Added
archive
module, which currently supports creating zipped tarballs of module-specific output directories (dispersion, plumerise, extrafiles, etc.), and then deleting the original directory
- Fixed bug where tranched hysplit threads where using configuration defaults, ignoring configuration overrides specified by user
- Fixed adhoc pardump / parinit hysplit test
- add status log post with dispersion fire location count
- Support replacing '{run_id}' in log file name
- Add option to merge fires (i.e. modeled plumes) by configured grid cell in despersion module
- other minor updates
- Updated bsp-run-info to include count of plumes modeled in dispersion
- Modify and add to dispersion module's reporting on fire, location, and plume counts
- Update bsp-run-info to list dispersion fire, location, and plume counts
- Copy combined hysplit_conc.nc from working dir to output dir for tranched runs; this fixes a bug where only the last processed tranche's output file was being incorporated into KML and dispersion images
- Only archive tranched hysplit files if configured to do so and use tranche_num as the archived file suffix
- Fixed bug in adding suffix to archived dispersion files lacking file extension
- Fixed bug in dispersion file archiving logic where 0 wasn't recognized as a valid, defined suffix
- Only archive hysplit pardump files if configured to do so
- Fixed two FIPS bugs
- replace location
length_of_ignition
field with active areaignition_start
andignition_end
fields, but retain support forlength_of_ignition
in consumeutils for backwards compatibility - Upgrede timeprofile to v1.1.1
- Add support for FEPS timeprofile, using it for Rx fires unless custom hourly fractions are specified
- regression test updates
- Upgrede timeprofile to v1.1.2
- Create new class bluesky.io.SubprocessExecutor for running sub-processes and capturing their output, both stdout and stderr, with either real-time or post-execution logging of the output
- Update dispersion modules (hysplit and vsmoke) as well as export upload module to use bluesky.io.SubprocessExecutor instead of using the subprocess package directly
- Install ssh in docker image, since it's needed by export upload <-- this fixes the code that creates the remote directory before scping the export tarball
- consolidate RUN commands in Dockerfile
- Ensure that there's a dummy fire for each hysplit process, to guarantee at least one fire within met domain, thus avoiding hysplit failure resulting from all points falling outside of met domain.
- Assign zero emissions to dummy hysplit fires
- Bug fix in dispersion code
- Change default emissions model from 'feps' to 'prichard-oneill'
- Decrease default value for TOP_OF_MODEL_DOMAIN from 30000 to 10000
- Fix bug in dispersion that was triggered when a fire location had inadequate heat
- Raise an exception in dispersion if there are no fire locations with valid emissions and heat data
- add trajectories module with support for hysplit model
- refactor visualization module to support multiple targets and add new 'trajectories' target
- Modify trajectories output info so that it can be recognized as an extra export
Note that this release is not backwards compatible with regards to the output data structure, specifically the 'visualization' section of the output. (Since visualization now supports multiple targets, the hysplit dispersion info is now under "visualization" > "dispersion" > "hysplit" instead of "visualization" > "hysplit"). As with v4.1, we decided to keep the major version 4.
- update visualization section of configuration doc
- modified structure of trajectories output info to nest output dir, file names, etc under 'output' (to support export)
- modified visualization output info sections (to support multiple targets)
- fix and add error handling in trajectories and visualization modules
- Update trajectories module so that run continues even if all trajectories fail, and add warning/error message to trajectories output info if any/all hysplit runs fail
- added error handling to smokeready extrafile writer
- Default skip_failed_fires to true
- Upgrade eflookup to v3.2.1
- Update bsf load module to optionally load separate timeprofile file
- Update bsf loader to support isoformatted date_time values
- Update BSF loader to store utc_offset in the active area object rather than the specified point
- Upgrade emitcalc to 2.0.2
- Be specific about python package dependency versions
- Upgrade eflookup to v3.2.2
- Update hysplit trajectories to gracefully handle no fires, and log and record warning
- Update dispersion to not abort if there no fires
- Add script for creating new version of bluesky
- Bug fixes in writing of fire_events.csv
- Update base loader and BSF loader to honor
skip_failures
- Upgrade
met
package tov2.0.0
and switch to using bulk localmet profiler
- Include source in fire_locations.csv
- Add fuelbed_fractions to fire_locations.csv
- Update fuelbeds module to support forcing use of AK FCCS fuelbed map
- Dev script updates
- Update fires csv writer to not fail on integer fccs_id values
- Added support for subhourly emissions in hysplit dispersion
- Added support for loading and running Canadian fire data through plumerise
- Refactored use of hysplit dummy fires so that
- the number of tranches equals NPROCESSES and
- every tranche has a dummy fire (to ensure that there is at least one fire within the dispersion domain for each hysplit process)
- Added support for loading multiple input files
- Added support for loading input files over http
- Upgrade met package to v2.0.1
- Update bsp-run-info to report on total area by UTC date
- Upgrade plumerise to v2.0.3
- Add growth module with persistence model
- Upgrade pyairfire to v3.0.5
- Add option in emissions, plumerise, timeprofile, trajectories, and dispersion modules to delete working dirs if no error is encountered
- Fix bug (missing import) in trajectories module
- Fix bug in hysplit trajectories where only traj lines from last start hour were being saved
- Fix issue in hysplit trajectories causing duplicate trajectories
- Upgrade met package to v2.0.2
- Upgrade afconfig package to v1.1.3
- Upgrade blueskykml to v3.0.0
- Add
makepolygons
to repo and docker image - Bump hysplit visualization output_version to 2.0.1
- Updated regex used for matching blueskykml legend image file names (which changed in v3.0.0)
- modify error handling logic in hysplit trajectories visualization module
- Support export to AWS S3
- minor updates to AWS s3 export module
- updates affecting wildcard replacement in config settings and input file names
- added parsing of fire location start and end times in dispersion module, in case they're not already loaded into datetime objects
- docker image and bundled binaries built off of ubuntu 20.04 with python 3.8.5; includes code updates and many dependency package upgrades
- Use localmet data, if available, for setting windspeed for CONSUME
- Set localmet data, if available, for FEPS plumerise
- Use
mpi-default-bin
andmpi-default-dev
instead oflibopenmpi-dev
andopenmpi-bin
- Remove
libmpich-dev
and replace hysplit binaries with newly built ones
- Use
mpich
,libmpich-dev
,libmpich12
insead ofmpi-default-bin
andmpi-default-dev
, and replace mpi hysplit binaries with newly built ones - fix bug in persistence growth module when defaulting 'date_to_persist' to run's 'today' variable
- Refactor localmet module to not fail when there are no fires
- Add new 'ecoregion' module and script 'ecoregion-lookup'
- Update ecoregion module to support default, used when look-up fails
- Remove ecoregion look-up from consumption module
- Added the following localmet config options:
localmet
>skip_failures
to ignore failure and move onto next modulelocalmet
>working_dir
to specify where to write profile executable's input and output files (requiremet
package upgrade tov3.0.1
)localmet
>delete_working_dir_if_no_error
to delete working dir if no error
- skip FIPS lookup in smokeready
- config setting controlling use of default FIPS code in smokeready module
- new hysplit binaries
- new hysplit binaries
- fix bsp config options adhoc test
- upgrade consume to v5.1.1
- Make bsp-run-info more fault tolerant
- Fix bug in smokeready module
- Add documentation
- Add HYSPLIT v5.1 binaries
- Copy HYSPLIT v5.1 to docker image
- More robust fuelbed lookup, automatically handling both AK and lower 48 states
- Minor tweak to plume merge configuration validation
- Upgrade pyairfire to v4.0.1
- new 'sev-feps' plumerise model, which contains logic to use SEV for each location, if possible, but fall back on FEPS
- support compressed (gzip'd) input and output data
- inputing from local file, stdin, and remote file over http
- outputing to local file and stdout
- exporting to AWS S3
- Improve loading of remote compressed files
- Upgrade blueskykml to v4.0.1
- Upgrade pyairfire to v4.0.2
- Update BSF CSV file loader to support loading remote files via http
- Updates to filtering based on inclusion/exclusion lists
- Update persistence growth module to mark persisted activity
- Fix issues in smokeready extrafiles module
- Support adding top level 'errors' key to bluesky output
- Add option
--input-file-failure-tolerance
to allow skipping of some or all input file load failures; default now is to exit execution only if all input files fail to load
- Update localmet bulk profiler
- Upgrade blueskykml to v4.0.2
- Upgrade blueskykml to v4.0.3
- Change default
websky_version
from 1 to 2 - Update
SubprocessExecutor
to handle unicode errors when reading and logging subprocess output - Include runtime info in final status log
- microsecond resolution in status log timestamps
- Ensure that smokeready ids are no greater than 15 characters
- Upgrade met package to v3.0.2
- Update fccs id data check to accept integer value FCCS #0
- dev script updates
- Add 'fuelmoisture' module, currently supporting NFDRS model for computing 1-hr and 1-hr values, as well as defaults based on fire type
- Update CONSUME to use fuel moisture data, if available
- Dev script updates
- Fix bug in applying consume settings
- Upgrade blueskykml to v4.0.4
- More flexibility in the format of
date_time
when writing/readingdate_time
to/from csv files
- Minor tweak to configurability of formatting
date_time
when writing csv files (support '{utc_offset}' wildcard)
- Fix bug in formatting
date_time
when writing csv files
- Upgrade emitcalc to v3.0.1 and support option to include emissions factors in output data
- Dev script updates
- Upgrade eflookup to v4.0.2
- Switch to using latest (SERA) Prichard-O'Neill emissions factors
- Support '%Y%m%d' date_time format in bsf loader
- Upgrade eflookup to v4.0.3
- Allow addition of dummy fire to all hysplit processes to be turned off
- Add HYSPLIT v5.2 binaries
- Support custom emissions rate in hysplit
- Add option --profile-output-file to optionally profile a run
- Update default 1000hr and duff FM values, and add new litter FM defaults
- Use true litter FM value, not live FM, when running consume
- Update BSF loader to support optionally loading emissions data
- Allocate 70% of BSF loaded emissions to flaming, 20% to smoldering, and 10% to residual
- Don't persist fires of type 'unknown'
- List 'unknown' instead of 'WF' in fire_locations.csv if type is unknown
- Tweak failure skipping logic in localmet
- Add support to skip failures in findmetdata
- Updates to persistence growth module
- Added support for different configurations based on time of year
- Added support for daily percentages, to allow activity to trail off
- Added unit tests
- Other minor updates
- Upgrade fccsmap to v3.0.2
- Fix npm install error
- Upgrade fccsmap to v3.0.3
- Persistence follow-ups.
- Refactor vertical allocation of emissions for hysplit so that top level has zero.
- fix data type handling in ubcbsffeps timeprofilers and nfdrs fuelmoisture modules
- Support wait/retry logic when loading input files
- Load input files in parallel
- Fix broken unit tests
- Update dispersion timeprofile and plumerise logic to work with partial hour UTC offsets
- Update findmetdata to remove any met info from previous run
- Add option fuelbeds > skip_failures
- Update fuelbeds summarization to handle fires with failed look-up
- Update fuelmoisture to support specifying defaults moisture profile
- bug fix in output analysis
- Upgrade blueskykml to v4.0.5
- fix docker build issue
- Upgrade blueskykml to v4.0.6
- Upgrade eflookup to v4.0.4
- Fix setting of localmet data to reflect each location's time window
- Upgrade fccsmap to v3.0.4
- Upgrade blueskykml to v4.0.7
- Specify all dependencies to avoid docker build issues
- Add HYSPLIT v5.2.3 binaries (patched with fix for metpos errors)
- Add HYSPLIT v5.2.3 binaries to docker image
- Add HYSPLIT v5.1.0 binaries (patched with fix for metpos errors)
- Upgrade blueskykml to v4.0.8
- Upgrade blueskykml to v4.0.9
- Update hysplit visualization export to handle saved original images
- Update HYSPLIT v5.1.0 and v5.2.3 binaries
- Support specifying constant smoldering fraction in hysplit
- Support new hysplit options related to turbulence-dispersion
- Minor updates to consumption and extrafiles modules
- Support adjusting modeled fuel load and consumption data based on estimated fuel load
- Support adjusting modeled consumption data based on estimated consumption
- Record estimated fuelload and consumption scaling factors if used to adjust fuel load and/or consumption
- Fix adjustment of modeled consumption based on estimate
- Support BSF imported data with area in hectares
- Support BSF imported data with consumption in kg/m^2
- Upgrade consume to v5.1.2 and add support for specifying available duff, sound cwd, and rotten cwd
- Support fire type specific consume settings defaults
- Update consume setting defaults
- Use standard GeoJSON geometry structure for active area perimeter polygons (see https://datatracker.ietf.org/doc/html/rfc7946#appendix-A.3), which includes support for holes
- Add support for perimeter multi-polygons (see https://datatracker.ietf.org/doc/html/rfc7946#appendix-A.6)
- Support loading active-area perimeter polygons from shapefiles
- Upgrade docker image to ubuntu 22.04 & python v3.10.12
- Upgrade to consume==5.2.1, blueskykml==5.0.1, met==4.0.0, Flask==3.0.0, pyairfire==5.0.0, pytest==7.4.2, geopandas==0.14.0, blueskyutils==2.0.0, fccsmap==4.0.0
- Fix loading of perimeter geometry from shapefile (broken by python upgrade)
- Add option to split HYSPLIT emissions sources based on hourly rate
- Replace HYSPLIT v5.1.0 and v5.2.3 binaries with ones built on ubuntu 22.04
- Replace HYSPLIT v5.1 and v5.2 binaries with sym links to corresponding v5.1.0 and v5.2.3 binaries
- Remove HYSPLIT v4 binaries and default to v5.2.3
- Remove HYSPLIT v5.1 and v5.2 sym links
- Follow-ups to HYSPLIT emissions splitting
- More follow-ups to HYSPLIT emissions splitting
- Add HYSPLIT option to remove locations (i.e. plumes) whose max hourly PM 2.5 rate is less than a given threshold
- Upgrade to met==4.0.1
- Install openmpi alongside mpich and make mpiexec.openmpi the default
- Replace hysplit mpi binaries with mpich and openmpi optimized versions. (Note that this removes hycm_std-v5.2.3, hycm_std-v5.1.0, hytm_std-v5.2.3, and hytm_std-v5.1.0)
- Include
ecoregion-lookup
in bluesky package - Update
EcoregionLookup
class andecoregion-lookup
script to support optionally checking nearby locations when specified location fails - Upgrade eflookup to v4.0.8
- Upgrade consume to v5.2.2
- Upgrade fccsmap to v4.1.2 and update fuelbeds configuration options
- Remove truncation options from fuelbeds module that were compounding truncation done in fccsmap
- Fill in date wildcards in config defaults with current date if
today
isn't set
- Fix bug in consume emissions
- Upgrade eflookup to v4.0.9
- Upgrade consume to v5.2.3
- Fix setting of consume settings defauts for wildfires
- Upgrade pyairfire to 5.0.1
- Record fuel loadings in total tons, to be consistent with consumption and heat output
- Add option to summarize/aggregate fuel loadings across fuelbeds, locations, etc.
- Upgrade to consume==5.2.4
- Update smokeready module to support perimeters as well as specified points
- dev script updates
- Upgrade eflookup to v4.0.10
- Upgrade consume to v5.2.5
- Upgrade plumerise to v2.0.4
- Upgrade eflookup to v4.0.11
- Upgrade consume to v5.2.6
- Fix edge-case issue in fuelbeds module
- Upgrade to met==4.0.2
- Upgrade to met==4.0.3
- Update localmet bulkprofiler binary
- Add fire count information (fires, failed fires, locations, modeled plumes) to status logs
- Upgrade to met==4.0.4
- Upgrade docker image to ubuntu 24.04 & python v3.12.3
- Upgrade dependency packages
- Include Consume errors from stdout in bluesky error messages
- Update SEV wrapper to convert FRP from Megawatts (the standard unit) to Watts (what's expected by SEV)
- Upgrade to met=5.0.1
- Upgrade to fccsmap==5.0.2
- Pass area into fuelbeds look-up
- Address deprecation warnings
- Upgrade to pyairfire==6.0.3
- Fix logic that adjusts consumption, heat, and fuel loadings based on estimated per-acre fuel loadings