From 92c3e3466184e49f1609dd4af1c97010c1f1b783 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Mon, 23 Sep 2024 20:22:11 +0000 Subject: [PATCH] build based on b3589bd --- dev/.documenter-siteinfo.json | 2 +- dev/assets/documenter.js | 985 +++++++++++------- dev/assets/themes/catppuccin-frappe.css | 1 + dev/assets/themes/catppuccin-latte.css | 1 + dev/assets/themes/catppuccin-macchiato.css | 1 + dev/assets/themes/catppuccin-mocha.css | 1 + dev/assets/themes/documenter-dark.css | 4 +- dev/assets/themes/documenter-light.css | 2 +- dev/developer/contributing.html | 2 +- dev/developer/roadmap.html | 2 +- dev/developer/style.html | 4 +- dev/index.html | 2 +- dev/installation.html | 4 +- dev/manual/graphml_export.html | 4 +- dev/manual/mld_model.html | 4 +- dev/manual/onm_workflow.html | 2 +- dev/manual/opf_model.html | 4 +- dev/manual/quickguide.html | 2 +- dev/objects.inv | Bin 0 -> 7953 bytes dev/reference/base.html | 2 +- dev/reference/data.html | 2 +- dev/reference/entrypoint.html | 8 +- dev/reference/graphml.html | 2 +- dev/reference/internal.html | 22 +- dev/reference/io.html | 30 +- dev/reference/logging.html | 2 +- dev/reference/prob.html | 28 +- dev/reference/schema.html | 2 +- dev/reference/stats.html | 50 +- dev/reference/types.html | 2 +- dev/reference/variable_constraint.html | 104 +- dev/schemas/input-events.schema.html | 28 +- dev/schemas/input-events.schema.iframe.html | 4 +- dev/schemas/input-faults.schema.html | 28 +- dev/schemas/input-faults.schema.iframe.html | 2 +- dev/schemas/input-inverters.schema.html | 2 +- .../input-runtime_arguments.schema.html | 28 +- ...input-runtime_arguments.schema.iframe.html | 4 +- dev/schemas/input-settings.schema.html | 28 +- dev/schemas/input-settings.schema.iframe.html | 2 +- dev/schemas/output.schema.html | 28 +- dev/schemas/output.schema.iframe.html | 6 +- dev/tutorials/Beginners Guide.html | 28 +- dev/tutorials/Beginners Guide.jl.html | 10 +- dev/tutorials/Block MLD Basic Example.html | 28 +- dev/tutorials/Block MLD Basic Example.jl.html | 10 +- .../JuMP Model by Hand - MLD-Block.html | 28 +- .../JuMP Model by Hand - MLD-Block.jl.html | 10 +- .../JuMP Model by Hand - MLD-scenario.html | 28 +- .../JuMP Model by Hand - MLD-scenario.jl.html | 10 +- dev/tutorials/Use Case Examples.html | 28 +- dev/tutorials/Use Case Examples.jl.html | 10 +- 52 files changed, 990 insertions(+), 641 deletions(-) create mode 100644 dev/assets/themes/catppuccin-frappe.css create mode 100644 dev/assets/themes/catppuccin-latte.css create mode 100644 dev/assets/themes/catppuccin-macchiato.css create mode 100644 dev/assets/themes/catppuccin-mocha.css create mode 100644 dev/objects.inv diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index e90f80ad..2fc26920 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2023-12-19T23:18:56","documenter_version":"1.2.1"}} \ No newline at end of file +{"documenter":{"julia_version":"1.10.5","generation_timestamp":"2024-09-23T19:54:36","documenter_version":"1.7.0"}} \ No newline at end of file diff --git a/dev/assets/documenter.js b/dev/assets/documenter.js index 9581d401..a05c9c27 100644 --- a/dev/assets/documenter.js +++ b/dev/assets/documenter.js @@ -4,7 +4,6 @@ requirejs.config({ 'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/languages/julia.min', 'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/headroom.min', 'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min', - 'minisearch': 'https://cdn.jsdelivr.net/npm/minisearch@6.1.0/dist/umd/index.min', 'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.0/jquery.min', 'mathjax': 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-AMS_HTML', 'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/jQuery.headroom.min', @@ -87,48 +86,54 @@ require(['jquery'], function($) { let timer = 0; var isExpanded = true; -$(document).on("click", ".docstring header", function () { - let articleToggleTitle = "Expand docstring"; - - debounce(() => { - if ($(this).siblings("section").is(":visible")) { - $(this) - .find(".docstring-article-toggle-button") - .removeClass("fa-chevron-down") - .addClass("fa-chevron-right"); - } else { - $(this) - .find(".docstring-article-toggle-button") - .removeClass("fa-chevron-right") - .addClass("fa-chevron-down"); +$(document).on( + "click", + ".docstring .docstring-article-toggle-button", + function () { + let articleToggleTitle = "Expand docstring"; + const parent = $(this).parent(); + + debounce(() => { + if (parent.siblings("section").is(":visible")) { + parent + .find("a.docstring-article-toggle-button") + .removeClass("fa-chevron-down") + .addClass("fa-chevron-right"); + } else { + parent + .find("a.docstring-article-toggle-button") + .removeClass("fa-chevron-right") + .addClass("fa-chevron-down"); - articleToggleTitle = "Collapse docstring"; - } + articleToggleTitle = "Collapse docstring"; + } - $(this) - .find(".docstring-article-toggle-button") - .prop("title", articleToggleTitle); - $(this).siblings("section").slideToggle(); - }); -}); + parent + .children(".docstring-article-toggle-button") + .prop("title", articleToggleTitle); + parent.siblings("section").slideToggle(); + }); + } +); -$(document).on("click", ".docs-article-toggle-button", function () { +$(document).on("click", ".docs-article-toggle-button", function (event) { let articleToggleTitle = "Expand docstring"; let navArticleToggleTitle = "Expand all docstrings"; + let animationSpeed = event.noToggleAnimation ? 0 : 400; debounce(() => { if (isExpanded) { $(this).removeClass("fa-chevron-up").addClass("fa-chevron-down"); - $(".docstring-article-toggle-button") + $("a.docstring-article-toggle-button") .removeClass("fa-chevron-down") .addClass("fa-chevron-right"); isExpanded = false; - $(".docstring section").slideUp(); + $(".docstring section").slideUp(animationSpeed); } else { $(this).removeClass("fa-chevron-down").addClass("fa-chevron-up"); - $(".docstring-article-toggle-button") + $("a.docstring-article-toggle-button") .removeClass("fa-chevron-right") .addClass("fa-chevron-down"); @@ -136,7 +141,7 @@ $(document).on("click", ".docs-article-toggle-button", function () { articleToggleTitle = "Collapse docstring"; navArticleToggleTitle = "Collapse all docstrings"; - $(".docstring section").slideDown(); + $(".docstring section").slideDown(animationSpeed); } $(this).prop("title", navArticleToggleTitle); @@ -233,224 +238,474 @@ $(document).ready(function () { }) //////////////////////////////////////////////////////////////////////////////// -require(['jquery', 'minisearch'], function($, minisearch) { - -// In general, most search related things will have "search" as a prefix. -// To get an in-depth about the thought process you can refer: https://hetarth02.hashnode.dev/series/gsoc +require(['jquery'], function($) { -let results = []; -let timer = undefined; +$(document).ready(function () { + let meta = $("div[data-docstringscollapsed]").data(); -let data = documenterSearchIndex["docs"].map((x, key) => { - x["id"] = key; // minisearch requires a unique for each object - return x; + if (meta?.docstringscollapsed) { + $("#documenter-article-toggle-button").trigger({ + type: "click", + noToggleAnimation: true, + }); + } }); -// list below is the lunr 2.1.3 list minus the intersect with names(Base) -// (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with) -// ideally we'd just filter the original list but it's not available as a variable -const stopWords = new Set([ - "a", - "able", - "about", - "across", - "after", - "almost", - "also", - "am", - "among", - "an", - "and", - "are", - "as", - "at", - "be", - "because", - "been", - "but", - "by", - "can", - "cannot", - "could", - "dear", - "did", - "does", - "either", - "ever", - "every", - "from", - "got", - "had", - "has", - "have", - "he", - "her", - "hers", - "him", - "his", - "how", - "however", - "i", - "if", - "into", - "it", - "its", - "just", - "least", - "like", - "likely", - "may", - "me", - "might", - "most", - "must", - "my", - "neither", - "no", - "nor", - "not", - "of", - "off", - "often", - "on", - "or", - "other", - "our", - "own", - "rather", - "said", - "say", - "says", - "she", - "should", - "since", - "so", - "some", - "than", - "that", - "the", - "their", - "them", - "then", - "there", - "these", - "they", - "this", - "tis", - "to", - "too", - "twas", - "us", - "wants", - "was", - "we", - "were", - "what", - "when", - "who", - "whom", - "why", - "will", - "would", - "yet", - "you", - "your", -]); - -let index = new minisearch({ - fields: ["title", "text"], // fields to index for full-text search - storeFields: ["location", "title", "text", "category", "page"], // fields to return with search results - processTerm: (term) => { - let word = stopWords.has(term) ? null : term; - if (word) { - // custom trimmer that doesn't strip @ and !, which are used in julia macro and function names - word = word - .replace(/^[^a-zA-Z0-9@!]+/, "") - .replace(/[^a-zA-Z0-9@!]+$/, ""); - } +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { - return word ?? null; - }, - // add . as a separator, because otherwise "title": "Documenter.Anchors.add!", would not find anything if searching for "add!", only for the entire qualification - tokenize: (string) => string.split(/[\s\-\.]+/), - // options which will be applied during the search - searchOptions: { - boost: { title: 100 }, - fuzzy: 2, +/* +To get an in-depth about the thought process you can refer: https://hetarth02.hashnode.dev/series/gsoc + +PSEUDOCODE: + +Searching happens automatically as the user types or adjusts the selected filters. +To preserve responsiveness, as much as possible of the slow parts of the search are done +in a web worker. Searching and result generation are done in the worker, and filtering and +DOM updates are done in the main thread. The filters are in the main thread as they should +be very quick to apply. This lets filters be changed without re-searching with minisearch +(which is possible even if filtering is on the worker thread) and also lets filters be +changed _while_ the worker is searching and without message passing (neither of which are +possible if filtering is on the worker thread) + +SEARCH WORKER: + +Import minisearch + +Build index + +On message from main thread + run search + find the first 200 unique results from each category, and compute their divs for display + note that this is necessary and sufficient information for the main thread to find the + first 200 unique results from any given filter set + post results to main thread + +MAIN: + +Launch worker + +Declare nonconstant globals (worker_is_running, last_search_text, unfiltered_results) + +On text update + if worker is not running, launch_search() + +launch_search + set worker_is_running to true, set last_search_text to the search text + post the search query to worker + +on message from worker + if last_search_text is not the same as the text in the search field, + the latest search result is not reflective of the latest search query, so update again + launch_search() + otherwise + set worker_is_running to false + + regardless, display the new search results to the user + save the unfiltered_results as a global + update_search() + +on filter click + adjust the filter selection + update_search() + +update_search + apply search filters by looping through the unfiltered_results and finding the first 200 + unique results that match the filters + + Update the DOM +*/ + +/////// SEARCH WORKER /////// + +function worker_function(documenterSearchIndex, documenterBaseURL, filters) { + importScripts( + "https://cdn.jsdelivr.net/npm/minisearch@6.1.0/dist/umd/index.min.js" + ); + + let data = documenterSearchIndex.map((x, key) => { + x["id"] = key; // minisearch requires a unique for each object + return x; + }); + + // list below is the lunr 2.1.3 list minus the intersect with names(Base) + // (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with) + // ideally we'd just filter the original list but it's not available as a variable + const stopWords = new Set([ + "a", + "able", + "about", + "across", + "after", + "almost", + "also", + "am", + "among", + "an", + "and", + "are", + "as", + "at", + "be", + "because", + "been", + "but", + "by", + "can", + "cannot", + "could", + "dear", + "did", + "does", + "either", + "ever", + "every", + "from", + "got", + "had", + "has", + "have", + "he", + "her", + "hers", + "him", + "his", + "how", + "however", + "i", + "if", + "into", + "it", + "its", + "just", + "least", + "like", + "likely", + "may", + "me", + "might", + "most", + "must", + "my", + "neither", + "no", + "nor", + "not", + "of", + "off", + "often", + "on", + "or", + "other", + "our", + "own", + "rather", + "said", + "say", + "says", + "she", + "should", + "since", + "so", + "some", + "than", + "that", + "the", + "their", + "them", + "then", + "there", + "these", + "they", + "this", + "tis", + "to", + "too", + "twas", + "us", + "wants", + "was", + "we", + "were", + "what", + "when", + "who", + "whom", + "why", + "will", + "would", + "yet", + "you", + "your", + ]); + + let index = new MiniSearch({ + fields: ["title", "text"], // fields to index for full-text search + storeFields: ["location", "title", "text", "category", "page"], // fields to return with results processTerm: (term) => { let word = stopWords.has(term) ? null : term; if (word) { + // custom trimmer that doesn't strip @ and !, which are used in julia macro and function names word = word .replace(/^[^a-zA-Z0-9@!]+/, "") .replace(/[^a-zA-Z0-9@!]+$/, ""); + + word = word.toLowerCase(); } return word ?? null; }, + // add . as a separator, because otherwise "title": "Documenter.Anchors.add!", would not + // find anything if searching for "add!", only for the entire qualification tokenize: (string) => string.split(/[\s\-\.]+/), - }, -}); + // options which will be applied during the search + searchOptions: { + prefix: true, + boost: { title: 100 }, + fuzzy: 2, + }, + }); + + index.addAll(data); + + /** + * Used to map characters to HTML entities. + * Refer: https://github.com/lodash/lodash/blob/main/src/escape.ts + */ + const htmlEscapes = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + }; + + /** + * Used to match HTML entities and HTML characters. + * Refer: https://github.com/lodash/lodash/blob/main/src/escape.ts + */ + const reUnescapedHtml = /[&<>"']/g; + const reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + + /** + * Escape function from lodash + * Refer: https://github.com/lodash/lodash/blob/main/src/escape.ts + */ + function escape(string) { + return string && reHasUnescapedHtml.test(string) + ? string.replace(reUnescapedHtml, (chr) => htmlEscapes[chr]) + : string || ""; + } -index.addAll(data); + /** + * RegX escape function from MDN + * Refer: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ + function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + } -let filters = [...new Set(data.map((x) => x.category))]; -var modal_filters = make_modal_body_filters(filters); -var filter_results = []; + /** + * Make the result component given a minisearch result data object and the value + * of the search input as queryString. To view the result object structure, refer: + * https://lucaong.github.io/minisearch/modules/_minisearch_.html#searchresult + * + * @param {object} result + * @param {string} querystring + * @returns string + */ + function make_search_result(result, querystring) { + let search_divider = `
`; + let display_link = + result.location.slice(Math.max(0), Math.min(50, result.location.length)) + + (result.location.length > 30 ? "..." : ""); // To cut-off the link because it messes with the overflow of the whole div -$(document).on("keyup", ".documenter-search-input", function (event) { - // Adding a debounce to prevent disruptions from super-speed typing! - debounce(() => update_search(filter_results), 300); + if (result.page !== "") { + display_link += ` (${result.page})`; + } + searchstring = escapeRegExp(querystring); + let textindex = new RegExp(`${searchstring}`, "i").exec(result.text); + let text = + textindex !== null + ? result.text.slice( + Math.max(textindex.index - 100, 0), + Math.min( + textindex.index + querystring.length + 100, + result.text.length + ) + ) + : ""; // cut-off text before and after from the match + + text = text.length ? escape(text) : ""; + + let display_result = text.length + ? "..." + + text.replace( + new RegExp(`${escape(searchstring)}`, "i"), // For first occurrence + '$&' + ) + + "..." + : ""; // highlights the match + + let in_code = false; + if (!["page", "section"].includes(result.category.toLowerCase())) { + in_code = true; + } + + // We encode the full url to escape some special characters which can lead to broken links + let result_div = ` + +
+
${escape(result.title)}
+
${result.category}
+
+

+ ${display_result} +

+
+ ${display_link} +
+
+ ${search_divider} + `; + + return result_div; + } + + self.onmessage = function (e) { + let query = e.data; + let results = index.search(query, { + filter: (result) => { + // Only return relevant results + return result.score >= 1; + }, + combineWith: "AND", + }); + + // Pre-filter to deduplicate and limit to 200 per category to the extent + // possible without knowing what the filters are. + let filtered_results = []; + let counts = {}; + for (let filter of filters) { + counts[filter] = 0; + } + let present = {}; + + for (let result of results) { + cat = result.category; + cnt = counts[cat]; + if (cnt < 200) { + id = cat + "---" + result.location; + if (present[id]) { + continue; + } + present[id] = true; + filtered_results.push({ + location: result.location, + category: cat, + div: make_search_result(result, query), + }); + } + } + + postMessage(filtered_results); + }; +} + +// `worker = Threads.@spawn worker_function(documenterSearchIndex)`, but in JavaScript! +const filters = [ + ...new Set(documenterSearchIndex["docs"].map((x) => x.category)), +]; +const worker_str = + "(" + + worker_function.toString() + + ")(" + + JSON.stringify(documenterSearchIndex["docs"]) + + "," + + JSON.stringify(documenterBaseURL) + + "," + + JSON.stringify(filters) + + ")"; +const worker_blob = new Blob([worker_str], { type: "text/javascript" }); +const worker = new Worker(URL.createObjectURL(worker_blob)); + +/////// SEARCH MAIN /////// + +// Whether the worker is currently handling a search. This is a boolean +// as the worker only ever handles 1 or 0 searches at a time. +var worker_is_running = false; + +// The last search text that was sent to the worker. This is used to determine +// if the worker should be launched again when it reports back results. +var last_search_text = ""; + +// The results of the last search. This, in combination with the state of the filters +// in the DOM, is used compute the results to display on calls to update_search. +var unfiltered_results = []; + +// Which filter is currently selected +var selected_filter = ""; + +$(document).on("input", ".documenter-search-input", function (event) { + if (!worker_is_running) { + launch_search(); + } }); +function launch_search() { + worker_is_running = true; + last_search_text = $(".documenter-search-input").val(); + worker.postMessage(last_search_text); +} + +worker.onmessage = function (e) { + if (last_search_text !== $(".documenter-search-input").val()) { + launch_search(); + } else { + worker_is_running = false; + } + + unfiltered_results = e.data; + update_search(); +}; + $(document).on("click", ".search-filter", function () { if ($(this).hasClass("search-filter-selected")) { - $(this).removeClass("search-filter-selected"); + selected_filter = ""; } else { - $(this).addClass("search-filter-selected"); + selected_filter = $(this).text().toLowerCase(); } - // Adding a debounce to prevent disruptions from crazy clicking! - debounce(() => get_filters(), 300); + // This updates search results and toggles classes for UI: + update_search(); }); -/** - * A debounce function, takes a function and an optional timeout in milliseconds - * - * @function callback - * @param {number} timeout - */ -function debounce(callback, timeout = 300) { - clearTimeout(timer); - timer = setTimeout(callback, timeout); -} - /** * Make/Update the search component - * - * @param {string[]} selected_filters */ -function update_search(selected_filters = []) { - let initial_search_body = ` -
Type something to get started!
- `; - +function update_search() { let querystring = $(".documenter-search-input").val(); if (querystring.trim()) { - results = index.search(querystring, { - filter: (result) => { - // Filtering results - if (selected_filters.length === 0) { - return result.score >= 1; - } else { - return ( - result.score >= 1 && selected_filters.includes(result.category) - ); - } - }, - }); + if (selected_filter == "") { + results = unfiltered_results; + } else { + results = unfiltered_results.filter((result) => { + return selected_filter == result.category.toLowerCase(); + }); + } let search_result_container = ``; + let modal_filters = make_modal_body_filters(); let search_divider = `
`; if (results.length) { @@ -458,19 +713,23 @@ function update_search(selected_filters = []) { let count = 0; let search_results = ""; - results.forEach(function (result) { - if (result.location) { - // Checking for duplication of results for the same page - if (!links.includes(result.location)) { - search_results += make_search_result(result, querystring); - count++; - } - + for (var i = 0, n = results.length; i < n && count < 200; ++i) { + let result = results[i]; + if (result.location && !links.includes(result.location)) { + search_results += result.div; + count++; links.push(result.location); } - }); + } - let result_count = `
${count} result(s)
`; + if (count == 1) { + count_str = "1 result"; + } else if (count == 200) { + count_str = "200+ results"; + } else { + count_str = count + " results"; + } + let result_count = `
${count_str}
`; search_result_container = `
@@ -499,125 +758,37 @@ function update_search(selected_filters = []) { $(".search-modal-card-body").html(search_result_container); } else { - filter_results = []; - modal_filters = make_modal_body_filters(filters, filter_results); - if (!$(".search-modal-card-body").hasClass("is-justify-content-center")) { $(".search-modal-card-body").addClass("is-justify-content-center"); } - $(".search-modal-card-body").html(initial_search_body); + $(".search-modal-card-body").html(` +
Type something to get started!
+ `); } } /** * Make the modal filter html * - * @param {string[]} filters - * @param {string[]} selected_filters * @returns string */ -function make_modal_body_filters(filters, selected_filters = []) { - let str = ``; - - filters.forEach((val) => { - if (selected_filters.includes(val)) { - str += `${val}`; - } else { - str += `${val}`; - } - }); +function make_modal_body_filters() { + let str = filters + .map((val) => { + if (selected_filter == val.toLowerCase()) { + return `${val}`; + } else { + return `${val}`; + } + }) + .join(""); - let filter_html = ` + return `
Filters: ${str} -
- `; - - return filter_html; -} - -/** - * Make the result component given a minisearch result data object and the value of the search input as queryString. - * To view the result object structure, refer: https://lucaong.github.io/minisearch/modules/_minisearch_.html#searchresult - * - * @param {object} result - * @param {string} querystring - * @returns string - */ -function make_search_result(result, querystring) { - let search_divider = `
`; - let display_link = - result.location.slice(Math.max(0), Math.min(50, result.location.length)) + - (result.location.length > 30 ? "..." : ""); // To cut-off the link because it messes with the overflow of the whole div - - if (result.page !== "") { - display_link += ` (${result.page})`; - } - - let textindex = new RegExp(`\\b${querystring}\\b`, "i").exec(result.text); - let text = - textindex !== null - ? result.text.slice( - Math.max(textindex.index - 100, 0), - Math.min( - textindex.index + querystring.length + 100, - result.text.length - ) - ) - : ""; // cut-off text before and after from the match - - let display_result = text.length - ? "..." + - text.replace( - new RegExp(`\\b${querystring}\\b`, "i"), // For first occurrence - '$&' - ) + - "..." - : ""; // highlights the match - - let in_code = false; - if (!["page", "section"].includes(result.category.toLowerCase())) { - in_code = true; - } - - // We encode the full url to escape some special characters which can lead to broken links - let result_div = ` - -
-
${result.title}
-
${result.category}
-
-

- ${display_result} -

-
- ${display_link} -
-
- ${search_divider} - `; - - return result_div; -} - -/** - * Get selected filters, remake the filter html and lastly update the search modal - */ -function get_filters() { - let ele = $(".search-filters .search-filter-selected").get(); - filter_results = ele.map((x) => $(x).text().toLowerCase()); - modal_filters = make_modal_body_filters(filters, filter_results); - update_search(filter_results); +
`; } }) @@ -644,103 +815,107 @@ $(document).ready(function () { //////////////////////////////////////////////////////////////////////////////// require(['jquery'], function($) { -let search_modal_header = ` - -`; - -let initial_search_body = ` -
Type something to get started!
-`; - -let search_modal_footer = ` - -`; - -$(document.body).append( - ` - source
PowerModelsONM.objective_robust_min_shed_load_block_rolling_horizonMethod
objective_robust_min_shed_load_block_rolling_horizon(pm::AbstractUnbalancedPowerModel, scenarios::Vector{Int})

Minimum block load shed objective (similar to objectiveminshedloadblockrollinghorizon) for robust partitioning problem considering uncertainty

source

Ref extensions

PowerModelsONM.ref_add_load_blocks!Method
ref_add_load_blocks!(ref::Dict{Symbol,<:Any}, data::Dict{String,<:Any})

Ref extension to add load blocks to ref for all time steps

source
PowerModelsONM.ref_add_options!Method
ref_add_options!(ref::Dict{Symbol,<:Any}, data::Dict{String,<:Any})

Ref extension to add options to ref for all time steps

source
diff --git a/dev/schemas/input-events.schema.html b/dev/schemas/input-events.schema.html index af178f27..2e57d3a3 100644 --- a/dev/schemas/input-events.schema.html +++ b/dev/schemas/input-events.schema.html @@ -23,6 +23,10 @@ + + + + @@ -327,14 +331,26 @@

@@ -345,11 +361,11 @@ Documenter.jl - version 1.2.1 on - - Tuesday 19 December 2023 + version 1.7.0 on + + Monday 23 September 2024 - . Using Julia version 1.9.4. + . Using Julia version 1.10.5.

diff --git a/dev/schemas/input-events.schema.iframe.html b/dev/schemas/input-events.schema.iframe.html index 5b1caf86..72962686 100644 --- a/dev/schemas/input-events.schema.iframe.html +++ b/dev/schemas/input-events.schema.iframe.html @@ -1,4 +1,4 @@ - Events

Events

Type: array of object

A list of events, ordered (i.e., later events will overwrite earlier ones if there is a conflict), that can either be a switching action, or a fault.

Must contain a minimum of 0 items

No Additional Items

Each item of this array must be:

Type: object

Event definition

No Additional Properties

Type: string, integer or number

Timestep, in string, integer, or float, that identifies the timestep at which this event is applied.

Must match regular expression: ^\d+\.*\d*

Type: enum (of string)

The type of event (switch or fault)

Must be one of:

  • "fault"
  • "switch"

Type: string

The asset that is being affected by the event

Must match regular expression: ^[Ll][Ii][Nn][Ee]\..+$

Must be at least 5 characters long


The event data

Type: object

Switch event data

No Additional Properties

Type: string

Type of switch, e.g., "fuse", "breaker", "recloser", etc.

Type: enum (of string)

What is the state of the switch, "open" or "closed"? Only used if "event_type" is "switch".

Must be one of:

  • "open"
  • "closed"
  • "OPEN"
  • "CLOSED"

Type: enum (of boolean or string) Default: false

Is the affected object dispatchable? (i.e., can be opened or closed), default is false

Must be one of:

  • "YES"
  • "NO"
  • "yes"
  • "no"
  • true
  • false

Type: enum (of integer or string) Default: 1

Status of the object, if 0, completely outaged from the model. Default 1.

Must be one of:

  • 0
  • 1
  • "DISABLED"
  • "ENABLED"
  • "enabled"
  • "disabled"
Type: object

Fault event data

No Additional Properties

Type: numberFormat: float

Duration of a fault, in milliseconds, -1 ==> permanent fault

Value must be greater or equal to -1


Example:

[
+ Events   

Events

Type: array of object

A list of events, ordered (i.e., later events will overwrite earlier ones if there is a conflict), that can either be a switching action, or a fault.

Must contain a minimum of 0 items

No Additional Items

Each item of this array must be:

Type: object

Event definition

No Additional Properties

Type: string, integer or number

Timestep, in string, integer, or float, that identifies the timestep at which this event is applied.

Must match regular expression: ^\d+\.*\d*

Type: enum (of string)

The type of event (switch or fault)

Must be one of:

  • "fault"
  • "switch"

Type: string

The asset that is being affected by the event

Must match regular expression: ^[Ll][Ii][Nn][Ee]\..+$

Must be at least 5 characters long


The event data

Type: object

Switch event data

No Additional Properties

Type: string

Type of switch, e.g., "fuse", "breaker", "recloser", etc.

Type: enum (of string)

What is the state of the switch, "open" or "closed"? Only used if "event_type" is "switch".

Must be one of:

  • "open"
  • "closed"
  • "OPEN"
  • "CLOSED"

Type: enum (of boolean or string) Default: false

Is the affected object dispatchable? (i.e., can be opened or closed), default is false

Must be one of:

  • "YES"
  • "NO"
  • "yes"
  • "no"
  • true
  • false

Type: enum (of integer or string) Default: 1

Status of the object, if 0, completely outaged from the model. Default 1.

Must be one of:

  • 0
  • 1
  • "DISABLED"
  • "ENABLED"
  • "enabled"
  • "disabled"
Type: object

Fault event data

No Additional Properties

Type: numberFormat: float

Duration of a fault, in milliseconds, -1 ==> permanent fault

Value must be greater or equal to -1


Example:

[
     {
         "timestep": 1,
         "event_type": "switch",
@@ -11,4 +11,4 @@
         }
     }
 ]
-
\ No newline at end of file +
\ No newline at end of file diff --git a/dev/schemas/input-faults.schema.html b/dev/schemas/input-faults.schema.html index 5b4c9698..54a4d7d4 100644 --- a/dev/schemas/input-faults.schema.html +++ b/dev/schemas/input-faults.schema.html @@ -23,6 +23,10 @@ + + + + @@ -327,14 +331,26 @@

@@ -345,11 +361,11 @@ Documenter.jl - version 1.2.1 on - - Tuesday 19 December 2023 + version 1.7.0 on + + Monday 23 September 2024 - . Using Julia version 1.9.4. + . Using Julia version 1.10.5.

diff --git a/dev/schemas/input-faults.schema.iframe.html b/dev/schemas/input-faults.schema.iframe.html index 17bf75e2..92c8c2bd 100644 --- a/dev/schemas/input-faults.schema.iframe.html +++ b/dev/schemas/input-faults.schema.iframe.html @@ -49,4 +49,4 @@ } } } -

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

Bus on which the faults apply

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^[3p|3pg|ll|llg|lg]$
Type: object

collection of faults of type {}

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^\d+$
Type: object

enumerated faults in case there are more than one fault of the same type on the same bus

No Additional Properties

Type: string

Name of the fault

Type: array of integer

Connections over which the fault applies

No Additional Items

Each item of this array must be:

Type: array of array

conductance matrix of size (len(connections),len(connections))

No Additional Items

Each item of this array must be:

Type: array of number

row vector

No Additional Items

Each item of this array must be:

Type: array of array

susceptance matrix of size (len(connections),len(connections). Usually all zeros.

No Additional Items

Each item of this array must be:

Type: array of number

row vector

No Additional Items

Each item of this array must be:

Type: enum (of string)

Type of fault, i.e., 3-phase (3p), 3-phase-grounded (3pg), line-to-line (ll), line-to-line-to-ground (llg), or line-to-ground (lg)

Must be one of:

  • "3p"
  • "3pg"
  • "ll"
  • "llg"
  • "lg"

Type: enum (of string)

status of the fault, i.e. is the fault active or not

Must be one of:

  • "ENABLED"
  • "DISABLED"
\ No newline at end of file +

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

Bus on which the faults apply

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^[3p|3pg|ll|llg|lg]$
Type: object

collection of faults of type {}

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^\d+$
Type: object

enumerated faults in case there are more than one fault of the same type on the same bus

No Additional Properties

Type: string

Name of the fault

Type: array of integer

Connections over which the fault applies

No Additional Items

Each item of this array must be:

Type: array of array

conductance matrix of size (len(connections),len(connections))

No Additional Items

Each item of this array must be:

Type: array of number

row vector

No Additional Items

Each item of this array must be:

Type: array of array

susceptance matrix of size (len(connections),len(connections). Usually all zeros.

No Additional Items

Each item of this array must be:

Type: array of number

row vector

No Additional Items

Each item of this array must be:

Type: enum (of string)

Type of fault, i.e., 3-phase (3p), 3-phase-grounded (3pg), line-to-line (ll), line-to-line-to-ground (llg), or line-to-ground (lg)

Must be one of:

  • "3p"
  • "3pg"
  • "ll"
  • "llg"
  • "lg"

Type: enum (of string)

status of the fault, i.e. is the fault active or not

Must be one of:

  • "ENABLED"
  • "DISABLED"
\ No newline at end of file diff --git a/dev/schemas/input-inverters.schema.html b/dev/schemas/input-inverters.schema.html index b716eb6d..c026660a 100644 --- a/dev/schemas/input-inverters.schema.html +++ b/dev/schemas/input-inverters.schema.html @@ -1,2 +1,2 @@ -Inverters Schema · PowerModelsONM +Inverters Schema · PowerModelsONM diff --git a/dev/schemas/input-runtime_arguments.schema.html b/dev/schemas/input-runtime_arguments.schema.html index 5f755338..19166252 100644 --- a/dev/schemas/input-runtime_arguments.schema.html +++ b/dev/schemas/input-runtime_arguments.schema.html @@ -23,6 +23,10 @@ + + + + @@ -327,14 +331,26 @@

@@ -345,11 +361,11 @@ Documenter.jl - version 1.2.1 on - - Tuesday 19 December 2023 + version 1.7.0 on + + Monday 23 September 2024 - . Using Julia version 1.9.4. + . Using Julia version 1.10.5.

diff --git a/dev/schemas/input-runtime_arguments.schema.iframe.html b/dev/schemas/input-runtime_arguments.schema.iframe.html index 788b5900..1580e5c0 100644 --- a/dev/schemas/input-runtime_arguments.schema.iframe.html +++ b/dev/schemas/input-runtime_arguments.schema.iframe.html @@ -1,4 +1,4 @@ - Runtime arguments

Runtime arguments

Type: object

The allowed runtime arguments for PowerModelsONM's entrypoint.

No Additional Properties
Example:

{
+ Runtime arguments   

Runtime arguments

Type: object

The allowed runtime arguments for PowerModelsONM's entrypoint.

No Additional Properties
Example:

{
     "network": "../test/data/ieee13_feeder.dss",
     "gurobi": false,
     "settings": "../test/data/ieee13_settings.json",
@@ -8,4 +8,4 @@
     "log-level": "error",
     "opt-disp-formulation": "acr"
 }
-

Type: string

The network file path (DSS format)

Type: string

The path to the settings input file (JSON format)

Type: string

The path to the events input file (JSON format)

Type: string

The path to the faults input file (JSON format)

Type: string

The path to the inverters input file (JSON format)

Type: string

The path to the output file (JSON format)

Type: boolean

deprecated: solvers/useGurobi

Type: boolean

deprecated: solvers/useKNITRO

Type: enum (of string)

deprecated: options/outputs/log-level

Must be one of:

  • "debug"
  • "info"
  • "warn"
  • "error"

Type: boolean

missing

Type: boolean

missing

Type: boolean

missing

Type: integer Default: 1

Number of processors to utilize for parallel computations (Fault studies and Stability Analysis)

Type: boolean Default: false

deprecated: options/output/pretty-print

Type: enum (of string)

deprecated: options/problem/operations-formulation

Must be one of:

  • "lindistflow"
  • "nfa"
  • "fbs"
  • "fot"

Type: enum (of string)

deprecated: options/problem/operations-algorithm

Must be one of:

  • "iterative"
  • "global"

Type: enum (of string)

deprecated: options/problem/operations-solver

Must be one of:

  • "misocp_solver"
  • "nlp_solver"
  • "minlp_solver"
  • "mip_solver"

Type: enum (of string)

deprecated: options/problem/operations-problem-type

Must be one of:

  • "traditional"
  • "block"

Type: enum (of string)

deprecated: options/problem/dispatch-formulation

Must be one of:

  • "acp"
  • "acr"
  • "lindistflow"
  • "nfa"
  • "fbs"
  • "fot"

Type: enum (of string)

deprecated: missing

Must be one of:

  • "opf"
  • "mld"
  • "oltc"

Type: enum (of string)

deprecated: options/problem/dispatch-solver

Must be one of:

  • "nlp_solver"
  • "misocp_solver"
  • "minlp_solver"
  • "mip_solver"

Type: boolean

deprecated: options/data/fix-small-numbers

Type: boolean

deprecated: options/objective/disable-switch-state-change-cost

Type: boolean

deprecated: options/objective/enable-switch-state-open-cost

Type: boolean

deprecated: options/constraints/disable-radiality-constraint

Type: boolean

deprecated: options/constraints/disable-block-isolation-constraint

Type: boolean

deprecated: options/constraints/disable-grid-forming-inverter-constraint

Type: boolean

deprecated: options/constraints/disable-microgrid-networking

Type: boolean

deprecated: {solvers/HiGHS/presolve,solvers/Gurobi/Presolve,solvers/KNITRO/presolve}

\ No newline at end of file +

Type: string

The network file path (DSS format)

Type: string

The path to the settings input file (JSON format)

Type: string

The path to the events input file (JSON format)

Type: string

The path to the faults input file (JSON format)

Type: string

The path to the inverters input file (JSON format)

Type: string

The path to the output file (JSON format)

Type: boolean

deprecated: solvers/useGurobi

Type: boolean

deprecated: solvers/useKNITRO

Type: enum (of string)

deprecated: options/outputs/log-level

Must be one of:

  • "debug"
  • "info"
  • "warn"
  • "error"

Type: boolean

missing

Type: boolean

missing

Type: boolean

missing

Type: integer Default: 1

Number of processors to utilize for parallel computations (Fault studies and Stability Analysis)

Type: boolean Default: false

deprecated: options/output/pretty-print

Type: enum (of string)

deprecated: options/problem/operations-formulation

Must be one of:

  • "lindistflow"
  • "nfa"
  • "fbs"
  • "fot"

Type: enum (of string)

deprecated: options/problem/operations-algorithm

Must be one of:

  • "iterative"
  • "global"

Type: enum (of string)

deprecated: options/problem/operations-solver

Must be one of:

  • "misocp_solver"
  • "nlp_solver"
  • "minlp_solver"
  • "mip_solver"

Type: enum (of string)

deprecated: options/problem/operations-problem-type

Must be one of:

  • "traditional"
  • "block"

Type: enum (of string)

deprecated: options/problem/dispatch-formulation

Must be one of:

  • "acp"
  • "acr"
  • "lindistflow"
  • "nfa"
  • "fbs"
  • "fot"

Type: enum (of string)

deprecated: missing

Must be one of:

  • "opf"
  • "mld"
  • "oltc"

Type: enum (of string)

deprecated: options/problem/dispatch-solver

Must be one of:

  • "nlp_solver"
  • "misocp_solver"
  • "minlp_solver"
  • "mip_solver"

Type: boolean

deprecated: options/data/fix-small-numbers

Type: boolean

deprecated: options/objective/disable-switch-state-change-cost

Type: boolean

deprecated: options/objective/enable-switch-state-open-cost

Type: boolean

deprecated: options/constraints/disable-radiality-constraint

Type: boolean

deprecated: options/constraints/disable-block-isolation-constraint

Type: boolean

deprecated: options/constraints/disable-grid-forming-inverter-constraint

Type: boolean

deprecated: options/constraints/disable-microgrid-networking

Type: boolean

deprecated: {solvers/HiGHS/presolve,solvers/Gurobi/Presolve,solvers/KNITRO/presolve}

\ No newline at end of file diff --git a/dev/schemas/input-settings.schema.html b/dev/schemas/input-settings.schema.html index 0b23fb4f..bcc06068 100644 --- a/dev/schemas/input-settings.schema.html +++ b/dev/schemas/input-settings.schema.html @@ -23,6 +23,10 @@ + + + + @@ -327,14 +331,26 @@

@@ -345,11 +361,11 @@ Documenter.jl - version 1.2.1 on - - Tuesday 19 December 2023 + version 1.7.0 on + + Monday 23 September 2024 - . Using Julia version 1.9.4. + . Using Julia version 1.10.5.

diff --git a/dev/schemas/input-settings.schema.iframe.html b/dev/schemas/input-settings.schema.iframe.html index 7ed71588..671d9a52 100644 --- a/dev/schemas/input-settings.schema.iframe.html +++ b/dev/schemas/input-settings.schema.iframe.html @@ -15,4 +15,4 @@ } } } -

Type: object

Type: number

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: number

Type: object

generator objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

generator object

Type: array of number

real power lower bounds in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

real power upper bounds in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

real power setpoint in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power lower bounds in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power upper bounds in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power setpoint in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: enum (of string)

The control mode, i.e. FREQUENCYDROOP (grid-following) or ISOCHRONOUS (grid-forming)

Must be one of:

  • "FREQUENCYDROOP"
  • "ISOCHRONOUS"

Type: enum (of integer or string)

The status of the generation object, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: array of number

Cost model polynomial or piecewise parameters

No Additional Items

Each item of this array must be:

Type: integer

Cost model type, 1 = piecewise-linear, 2 = polynomial

Type: enum (of string)

Must be one of:

  • "GRID_FOLLOWING"
  • "GRID_FORMING"

Type: object

pv solar objects, indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

pv solar object

Type: array of number

real power lower bounds in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

real power upper bounds in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

real power setpoint in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power lower bounds in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power upper bounds in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power setpoint in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: enum (of string)

The control mode, i.e. FREQUENCYDROOP (grid-following) or ISOCHRONOUS (grid-forming)

Must be one of:

  • "FREQUENCYDROOP"
  • "ISOCHRONOUS"

Type: enum (of integer or string)

The status of the generation object, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: array of number

Cost model polynomial or piecewise parameters

No Additional Items

Each item of this array must be:

Type: integer

Cost model type, 1 = piecewise-linear, 2 = polynomial

Type: enum (of string)

Must be one of:

  • "GRID_FOLLOWING"
  • "GRID_FORMING"

Type: object

voltage source objects, indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

voltage source object

Type: array

real power lower bounds in kW

No Additional Items

Each item of this array must be:

Type: number or null

Type: array

real power upper bounds in kW

No Additional Items

Each item of this array must be:

Type: number or null

Type: array of number

real power setpoint in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array

Reactive power lower bounds in kVar

No Additional Items

Each item of this array must be:

Type: number or null

Type: array

Reactive power upper bounds in kVar

No Additional Items

Each item of this array must be:

Type: number or null

Type: array of number

Reactive power setpoint in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: enum (of string)

The control mode, i.e. FREQUENCYDROOP (grid-following) or ISOCHRONOUS (grid-forming)

Must be one of:

  • "FREQUENCYDROOP"
  • "ISOCHRONOUS"

Type: enum (of integer or string)

The status of the generation object, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: array of number

Cost model polynomial or piecewise parameters

No Additional Items

Each item of this array must be:

Type: integer

Cost model type, 1 = piecewise-linear, 2 = polynomial

Type: enum (of string) Default: "GRID_FORMING"

Must be one of:

  • "GRID_FORMING"
  • "GRID_FOLLOWING"

Type: object

energy storage objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

energy storage object

Type: number

upper bound of energy that can be stored in kWhrs

Type: number

upper bound of energy that can be inserted into the battery kW

Type: number

upper bound of energy that can be withdrawn from the battery in kW

Type: number or null

upper bound on the power in or out of the battery

Type: number

currently stored energy in the battery in kWh

Type: number or null

lower bound of reactive power that can be outputted in kvar

Type: number or null

upper bound of reactive power that can be outputted in kvar

Type: number

real power losses

Type: number

reactive power losses

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: number or null

Percent within which power input/output must be on between phases on the storage object

Type: enum (of string)

Must be one of:

  • "GRID_FOLLOWING"
  • "GRID_FORMING"

Type: object

bus objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

bus object

Type: string

identifier for which microgrid the bus belongs

Type: array of number

the voltage magnitude lower bounds in volts

No Additional Items

Each item of this array must be:

Type: number

Type: array

the voltage magnitude upper bounds in volts

No Additional Items

Each item of this array must be:

Type: number or null

Type: array of number

the voltage magnitude setpoint of the bus, useful in cases where the bus should act as a reference, e.g., because a grid-forming inverter is connected

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

the voltage angle setpoint of the bus, useful in cases where the bus should act as a reference, e.g., because a grid-forming inverter is connected

No Additional Items

Each item of this array must be:

Type: number

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: object

load objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

load object

Type: number

cold load pickup factor

Type: number

cold load pickup duration in ms

Type: enum (of integer or string)

Indicator for whether the load is individually dispatchable (i.e., can the load be shed autonomously, as opposed to only be sheddable via block isolation)

Must be one of:

  • 0
  • 1
  • "YES"
  • "NO"

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: number

The priority of the load, i.e. a numerical value to indicate how important it is that the load not be shed

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

Type: enum (of integer or string)

Must be one of:

  • "ENABLED"
  • "DISABLED"
  • 0
  • 1

Type: object

line objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

line object

Type: array of number

voltage angle different lower bound in degrees

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

voltage angle difference upper bound in degrees

No Additional Items

Each item of this array must be:

Type: number

Type: array

upper bounds on line currents in Amps

No Additional Items

Each item of this array must be:

Type: number or null

Type: array
No Additional Items

Each item of this array must be:

Type: number or null

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: object

switch objects indexed by

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

switch object

Type: enum (of string)

The default state of the switch, i.e., open or closed

Must be one of:

  • "open"
  • "closed"
  • "OPEN"
  • "CLOSED"

Type: enum (of integer or string)

is the switch autonomously operable by the ONM algorithm, i.e., yes (1) or no (2)

Must be one of:

  • 0
  • 1
  • "YES"
  • "NO"

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: array

current magnitude upper bound (normamps)

No Additional Items

Each item of this array must be:

Type: number or null

Type: array
No Additional Items

Each item of this array must be:

Type: number or null

Type: number Default: null

Type: number Default: null

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

Type: string or integer

Type: number or null

Type: number or null

Type: object

Type: object

Type: number or array of number

Type: number, array or null Default: null

Type: boolean Default: false

Type: object

Type: boolean Default: false

Flag to relax an integer (binary) variables to be continuous

Type: boolean Default: false

Flag to disable the upper bounds on voltage. Voltage magnitudes will still have a lower bound of 0.0

Type: boolean Default: false

Flag to disable bounds on line (branch) power variables

Type: boolean Default: false

Flag to disable bounds on line (branch) current variables

Type: boolean Default: false

Flag to disable bounds on switch power variables

Type: boolean Default: false

Flag to disable bounds on transformer power variables

Type: boolean Default: false

Flag to disable bounds on gen (generator, solar, voltage_source) power variables

Type: boolean Default: false

Flag to disable bounds on storage variables, including power, charge, discharge, and energy

Type: object

Type: boolean Default: false

Flag to disable the grid-forming inverter constraint, which enforces that there be exactly one grid-forming inverter in each energized connected component

Type: boolean Default: false

Flag to disable the block isolation constraint, which requires that switches between load blocks of differing status be open

Type: boolean Default: false

Flag to disable the radiality constraint, which requires that each energized connected component be radial in its topology (no cycles)

Type: boolean Default: false

Flag to disable microgrid networking. When enabled, microgrids are allowed to expand (pick up load), but may not network with one another

Type: boolean Default: false

Flag to disable current limit constraints (ampacity) on lines and switches

Type: boolean Default: false

Flag to disable thermal limit constraints (power) on lines, switches, and energy storage

Type: boolean Default: false

Flag to disable the switch close-action limit, which limits the number of closing actions that may occur in a timestep

Type: boolean Default: false

Flag to disable the storage unbalance constraint, which requires that grid-following storage devices output power within some factor of one another

Type: boolean Default: false

Flag to disable microgrid expansion. When enabled, would prevent microgrids from growing any larger, but not prevent switching actions within the boundary of a microgrid

Type: boolean Default: false

Flag to enable a constraint that requires that load restoration be strictly increasing, that is, load blocks once energized cannot be de-energized in a later timestep

Type: boolean Default: true

Flag to disable a constraint that encourages voltages on either side of OPEN switches remain with some distance of each other

Type: boolean Default: false

Flag to toggle between cuts specific for load block modeling or not

Type: object

Type: boolean Default: false

Flag to disable the cost term in the objective function related to change of state in switches (open-close, close-open)

Type: boolean Default: false

Flag to enable the cost term that adds a cost for open switches based on how much load is between them and some source of energy

Type: boolean Default: false

Flag to disable the generation cost term

Type: boolean Default: false

Flag to disable the storage discharge cost term, which adds a penalty for storage that is not completely charged to its upper bound

Type: boolean Default: false

Flag to disable the weight terms on the load-block cost term (i.e., make the cost of every shed load block be equal)

Type: boolean Default: false

Flag to disable the cost of not energizing load blocks

Type: boolean Default: true

Flag to disable the inclusion of voltage distance slack variables in the objective_mc_min_storage_utilization objective function

Type: object

Type: enum (of string) Default: "full-lookahead"

Choice for operations optimization algorithm, 'rolling-horizon' or 'full-lookahead'

Must be one of:

  • "rolling-horizon"
  • "full-lookahead"
  • "robust"

Type: enum (of string) Default: "LPUBFDiagPowerModel"

Choice for operations optimization formulation

Must be one of:

  • "lindistflow"
  • "transportation"
  • "acp"
  • "acr"
  • "nfa"
  • "lpubfdiag"
  • "LPUBFDiagPowerModel"
  • "ACPUPowerModel"
  • "ACRUPowerModel"
  • "NFAUPowerModel"

Type: enum (of string) Default: "block"

Choice for operations optimization problem type, 'block' or 'traditional'

Must be one of:

  • "block"
  • "traditional"

Type: enum (of string) Default: "mip_solver"

Choice for operations optimization solver

Must be one of:

  • "minlp_solver"
  • "mip_solver"
  • "misocp_solver"
  • "nlp_solver"

Type: enum (of string) Default: "LPUBFDiagPowerModel"

Choice for dispatch optimizatioin formulation

Must be one of:

  • "nfa"
  • "lindistflow"
  • "acp"
  • "acr"
  • "ivr"
  • "transportation"
  • "lpubfdiag"
  • "NFAUPowerModel"
  • "LPUBFDiagPowerModel"
  • "ACRUPowerModel"
  • "ACPUPowerModel"
  • "IVRUPowerModel"

Type: enum (of string) Default: "nlp_solver"

Choice for dispatch optimization solver

Must be one of:

  • "mip_solver"
  • "misocp_solver"
  • "minlp_solver"
  • "nlp_solver"

Type: enum (of string) Default: "nlp_solver"

Choice for fault studies optimization solver

Must be one of:

  • "nlp_solver"

Type: enum (of string) Default: "nlp_solver"

Choice for stability analysis optimization solver

Must be one of:

  • "nlp_solver"

Type: enum (of string) Default: "ACRUPowerModel"

Choice for stability analysis formulation

Must be one of:

  • "acp"
  • "acr"
  • "ACRUPowerModel"
  • "ACPUPowerModel"

Type: boolean Default: true

Flag to run the fault studies concurrently (in parallel, using Distributed)

Type: boolean Default: true

Flag to run the stability studies concurrently (in parallel, using Distributed)

Type: array of enum (of string)

List of optimizations or studies to skip, when running using entrypoint function

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "faults"
  • "stability"
  • "switching"
  • "dispatch"
  • "protection"

Type: object

Type: enum (of string) Default: "warn"

Setting to adjust the console log-level

Must be one of:

  • "debug"
  • "info"
  • "warn"
  • "error"

Type: boolean Default: true

Flag to enable 'pretty printing' of JSON output

Type: boolean Default: true

Flag to disable the create of sparse fault studies (if no faults are specified, one of every type will be applied at every bus

Type: boolean Default: false

Flag to enable debugging outputs (the full data structure), when used with entrypoint

Type: object

Solver options

Type: object

These are the options used for the HiGHS optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: boolean Default: false

Type: enum (of string) Default: "choose"

Must be one of:

  • "on"
  • "off"
  • "choose"

Type: number Default: 1e-06

Type: number Default: 1e-06

Type: number Default: 0.0001

Type: number Default: 0.0001

Type: number Default: 1e-12

Type: boolean Default: true

Type: object

These are the options used for the Ipopt optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: number Default: 1e-06

Type: number Default: 200

Type: enum (of string) Default: "adaptive"

Must be one of:

  • "adaptive"
  • "monotone"

Type: integer Default: 0

Type: object

These are the options used for the Juniper optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: enum (of string) Default: ":StrongPseuoCost"

Must be one of:

  • ":MostInfeasible"
  • ":PseudoCost"
  • ":StrongPseuoCost"
  • ":Reliability"

Type: array of enum (of string)
No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • ":Table"
  • ":Info"
  • ":Options"

Type: number Default: 0.0001

Type: enum (of string) Default: ":BFS"

Must be one of:

  • ":DFS"
  • ":BFS"
  • ":DBFS"

Type: boolean Default: true

Type: boolean Default: true

Type: number Default: 1e-06

Type: object

These are the options used for the Gurobi optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: integer Default: 0

Type: integer Default: 0

Type: number Default: 0.0001

Type: number Default: 1e-06

Type: integer Default: 1

Type: integer Default: 3

Type: integer Default: 2

Type: integer Default: 0

Value must be greater or equal to -1 and lesser or equal to 1

Type: integer Default: -1

Value must be greater or equal to -1 and lesser or equal to 2

Type: object

These are the options used for the KNITRO optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: integer Default: 0

Value must be greater or equal to 0 and lesser or equal to 6

Type: integer Default: 0

Value must be greater or equal to 0 and lesser or equal to 3

Type: number Default: 0.0001

Type: number Default: 1e-06

Type: integer Default: 3

Type: integer Default: 1

Type: boolean Default: false

Flag to enable the usage of the Gurobi commercial solver

Type: boolean Default: false

Flag to enable the usage of the KNITRO commercial solver

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object
No Additional Properties

Type: string

Must be one of:

  • "GRID_FORMING"
  • "grid_forming"
  • "gfm"
  • "GRID_FOLLOWING"
  • "grid_following"
  • "gfl"

Type: string

Must be one of:

  • "yes"
  • "no"
  • "YES"
  • "NO"
  • "y"
  • "n"
  • "Y"
  • "N"

Type: array, integer or null

deprecated: options/data/switch-close-actions-ub

No Additional Items

Each item of this array must be:

Type: integer or null

Type: boolean Default: false

deprecated: options/constraints/disable-microgrid-networking

Type: boolean Default: false

deprecated: options/constraints/disable-radiality-constraint

Type: boolean Default: false

deprecated: options/constraints/disable-block-isolation-constraint

Type: boolean Default: false

deprecated: options/constraints/disable-grid-forming-inverter-constraint

Type: boolean

deprecated: options/objective/disable-switch-state-change-cost

Type: boolean

deprecated: options/objective/enable-switch-state-open-cost

Type: boolean Default: false

deprecated: {solvers/HiGHS/presolve,solvers/Gurobi/Presolve,solvers/KNITRO/presolve}

Type: array of number or number

deprecated: options/data/time-elapsed

No Additional Items

Each item of this array must be:

Type: number

Type: number

deprecated: {solvers/Ipopt/tol,solvers/KNITRO/feastol}

Type: number

deprecated: {solvers/HiGHS/primalfeasibilitytolerance,solvers/HiGHS/dualfeasibilitytolerance,solvers/Gurobi/FeasibilityTol,solvers/Juniper/atol}

Type: numberFormat: float Default: 0.05

deprecated: {solvers/HiGHS/miprelgap,solvers/Gurobi/MIPGap,solvers/Juniper/mip_gap}

Value must be strictly greater than 0

\ No newline at end of file +

Type: object

Type: number

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: number

Type: object

generator objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

generator object

Type: array of number

real power lower bounds in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

real power upper bounds in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

real power setpoint in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power lower bounds in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power upper bounds in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power setpoint in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: enum (of string)

The control mode, i.e. FREQUENCYDROOP (grid-following) or ISOCHRONOUS (grid-forming)

Must be one of:

  • "FREQUENCYDROOP"
  • "ISOCHRONOUS"

Type: enum (of integer or string)

The status of the generation object, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: array of number

Cost model polynomial or piecewise parameters

No Additional Items

Each item of this array must be:

Type: integer

Cost model type, 1 = piecewise-linear, 2 = polynomial

Type: enum (of string)

Must be one of:

  • "GRID_FOLLOWING"
  • "GRID_FORMING"

Type: object

pv solar objects, indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

pv solar object

Type: array of number

real power lower bounds in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

real power upper bounds in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

real power setpoint in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power lower bounds in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power upper bounds in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power setpoint in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: enum (of string)

The control mode, i.e. FREQUENCYDROOP (grid-following) or ISOCHRONOUS (grid-forming)

Must be one of:

  • "FREQUENCYDROOP"
  • "ISOCHRONOUS"

Type: enum (of integer or string)

The status of the generation object, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: array of number

Cost model polynomial or piecewise parameters

No Additional Items

Each item of this array must be:

Type: integer

Cost model type, 1 = piecewise-linear, 2 = polynomial

Type: enum (of string)

Must be one of:

  • "GRID_FOLLOWING"
  • "GRID_FORMING"

Type: object

voltage source objects, indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

voltage source object

Type: array

real power lower bounds in kW

No Additional Items

Each item of this array must be:

Type: number or null

Type: array

real power upper bounds in kW

No Additional Items

Each item of this array must be:

Type: number or null

Type: array of number

real power setpoint in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array

Reactive power lower bounds in kVar

No Additional Items

Each item of this array must be:

Type: number or null

Type: array

Reactive power upper bounds in kVar

No Additional Items

Each item of this array must be:

Type: number or null

Type: array of number

Reactive power setpoint in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: enum (of string)

The control mode, i.e. FREQUENCYDROOP (grid-following) or ISOCHRONOUS (grid-forming)

Must be one of:

  • "FREQUENCYDROOP"
  • "ISOCHRONOUS"

Type: enum (of integer or string)

The status of the generation object, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: array of number

Cost model polynomial or piecewise parameters

No Additional Items

Each item of this array must be:

Type: integer

Cost model type, 1 = piecewise-linear, 2 = polynomial

Type: enum (of string) Default: "GRID_FORMING"

Must be one of:

  • "GRID_FORMING"
  • "GRID_FOLLOWING"

Type: object

energy storage objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

energy storage object

Type: number

upper bound of energy that can be stored in kWhrs

Type: number

upper bound of energy that can be inserted into the battery kW

Type: number

upper bound of energy that can be withdrawn from the battery in kW

Type: number or null

upper bound on the power in or out of the battery

Type: number

currently stored energy in the battery in kWh

Type: number or null

lower bound of reactive power that can be outputted in kvar

Type: number or null

upper bound of reactive power that can be outputted in kvar

Type: number

real power losses

Type: number

reactive power losses

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: number or null

Percent within which power input/output must be on between phases on the storage object

Type: enum (of string)

Must be one of:

  • "GRID_FOLLOWING"
  • "GRID_FORMING"

Type: object

bus objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

bus object

Type: string

identifier for which microgrid the bus belongs

Type: array of number

the voltage magnitude lower bounds in volts

No Additional Items

Each item of this array must be:

Type: number

Type: array

the voltage magnitude upper bounds in volts

No Additional Items

Each item of this array must be:

Type: number or null

Type: array of number

the voltage magnitude setpoint of the bus, useful in cases where the bus should act as a reference, e.g., because a grid-forming inverter is connected

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

the voltage angle setpoint of the bus, useful in cases where the bus should act as a reference, e.g., because a grid-forming inverter is connected

No Additional Items

Each item of this array must be:

Type: number

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: object

load objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

load object

Type: number

cold load pickup factor

Type: number

cold load pickup duration in ms

Type: enum (of integer or string)

Indicator for whether the load is individually dispatchable (i.e., can the load be shed autonomously, as opposed to only be sheddable via block isolation)

Must be one of:

  • 0
  • 1
  • "YES"
  • "NO"

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: number

The priority of the load, i.e. a numerical value to indicate how important it is that the load not be shed

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

Type: enum (of integer or string)

Must be one of:

  • "ENABLED"
  • "DISABLED"
  • 0
  • 1

Type: object

line objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

line object

Type: array of number

voltage angle different lower bound in degrees

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

voltage angle difference upper bound in degrees

No Additional Items

Each item of this array must be:

Type: number

Type: array

upper bounds on line currents in Amps

No Additional Items

Each item of this array must be:

Type: number or null

Type: array
No Additional Items

Each item of this array must be:

Type: number or null

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: object

switch objects indexed by

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

switch object

Type: enum (of string)

The default state of the switch, i.e., open or closed

Must be one of:

  • "open"
  • "closed"
  • "OPEN"
  • "CLOSED"

Type: enum (of integer or string)

is the switch autonomously operable by the ONM algorithm, i.e., yes (1) or no (2)

Must be one of:

  • 0
  • 1
  • "YES"
  • "NO"

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: array

current magnitude upper bound (normamps)

No Additional Items

Each item of this array must be:

Type: number or null

Type: array
No Additional Items

Each item of this array must be:

Type: number or null

Type: number Default: null

Type: number Default: null

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

Type: string or integer

Type: number or null

Type: number or null

Type: object

Type: object

Type: number or array of number

Type: number, array or null Default: null

Type: boolean Default: false

Type: object

Type: boolean Default: false

Flag to relax an integer (binary) variables to be continuous

Type: boolean Default: false

Flag to disable the upper bounds on voltage. Voltage magnitudes will still have a lower bound of 0.0

Type: boolean Default: false

Flag to disable bounds on line (branch) power variables

Type: boolean Default: false

Flag to disable bounds on line (branch) current variables

Type: boolean Default: false

Flag to disable bounds on switch power variables

Type: boolean Default: false

Flag to disable bounds on transformer power variables

Type: boolean Default: false

Flag to disable bounds on gen (generator, solar, voltage_source) power variables

Type: boolean Default: false

Flag to disable bounds on storage variables, including power, charge, discharge, and energy

Type: object

Type: boolean Default: false

Flag to disable the grid-forming inverter constraint, which enforces that there be exactly one grid-forming inverter in each energized connected component

Type: boolean Default: false

Flag to disable the block isolation constraint, which requires that switches between load blocks of differing status be open

Type: boolean Default: false

Flag to disable the radiality constraint, which requires that each energized connected component be radial in its topology (no cycles)

Type: boolean Default: false

Flag to disable microgrid networking. When enabled, microgrids are allowed to expand (pick up load), but may not network with one another

Type: boolean Default: false

Flag to disable current limit constraints (ampacity) on lines and switches

Type: boolean Default: false

Flag to disable thermal limit constraints (power) on lines, switches, and energy storage

Type: boolean Default: false

Flag to disable the switch close-action limit, which limits the number of closing actions that may occur in a timestep

Type: boolean Default: false

Flag to disable the storage unbalance constraint, which requires that grid-following storage devices output power within some factor of one another

Type: boolean Default: false

Flag to disable microgrid expansion. When enabled, would prevent microgrids from growing any larger, but not prevent switching actions within the boundary of a microgrid

Type: boolean Default: false

Flag to enable a constraint that requires that load restoration be strictly increasing, that is, load blocks once energized cannot be de-energized in a later timestep

Type: boolean Default: true

Flag to disable a constraint that encourages voltages on either side of OPEN switches remain with some distance of each other

Type: boolean Default: false

Flag to toggle between cuts specific for load block modeling or not

Type: object

Type: boolean Default: false

Flag to disable the cost term in the objective function related to change of state in switches (open-close, close-open)

Type: boolean Default: false

Flag to enable the cost term that adds a cost for open switches based on how much load is between them and some source of energy

Type: boolean Default: false

Flag to disable the generation cost term

Type: boolean Default: false

Flag to disable the storage discharge cost term, which adds a penalty for storage that is not completely charged to its upper bound

Type: boolean Default: false

Flag to disable the weight terms on the load-block cost term (i.e., make the cost of every shed load block be equal)

Type: boolean Default: false

Flag to disable the cost of not energizing load blocks

Type: boolean Default: true

Flag to disable the inclusion of voltage distance slack variables in the objective_mc_min_storage_utilization objective function

Type: object

Type: enum (of string) Default: "full-lookahead"

Choice for operations optimization algorithm, 'rolling-horizon' or 'full-lookahead'

Must be one of:

  • "rolling-horizon"
  • "full-lookahead"
  • "robust"

Type: enum (of string) Default: "LPUBFDiagPowerModel"

Choice for operations optimization formulation

Must be one of:

  • "lindistflow"
  • "transportation"
  • "acp"
  • "acr"
  • "nfa"
  • "lpubfdiag"
  • "LPUBFDiagPowerModel"
  • "ACPUPowerModel"
  • "ACRUPowerModel"
  • "NFAUPowerModel"

Type: enum (of string) Default: "block"

Choice for operations optimization problem type, 'block' or 'traditional'

Must be one of:

  • "block"
  • "traditional"

Type: enum (of string) Default: "mip_solver"

Choice for operations optimization solver

Must be one of:

  • "minlp_solver"
  • "mip_solver"
  • "misocp_solver"
  • "nlp_solver"

Type: enum (of string) Default: "LPUBFDiagPowerModel"

Choice for dispatch optimizatioin formulation

Must be one of:

  • "nfa"
  • "lindistflow"
  • "acp"
  • "acr"
  • "ivr"
  • "transportation"
  • "lpubfdiag"
  • "NFAUPowerModel"
  • "LPUBFDiagPowerModel"
  • "ACRUPowerModel"
  • "ACPUPowerModel"
  • "IVRUPowerModel"

Type: enum (of string) Default: "nlp_solver"

Choice for dispatch optimization solver

Must be one of:

  • "mip_solver"
  • "misocp_solver"
  • "minlp_solver"
  • "nlp_solver"

Type: enum (of string) Default: "nlp_solver"

Choice for fault studies optimization solver

Must be one of:

  • "nlp_solver"

Type: enum (of string) Default: "nlp_solver"

Choice for stability analysis optimization solver

Must be one of:

  • "nlp_solver"

Type: enum (of string) Default: "ACRUPowerModel"

Choice for stability analysis formulation

Must be one of:

  • "acp"
  • "acr"
  • "ACRUPowerModel"
  • "ACPUPowerModel"

Type: boolean Default: true

Flag to run the fault studies concurrently (in parallel, using Distributed)

Type: boolean Default: true

Flag to run the stability studies concurrently (in parallel, using Distributed)

Type: array of enum (of string)

List of optimizations or studies to skip, when running using entrypoint function

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "faults"
  • "stability"
  • "switching"
  • "dispatch"
  • "protection"

Type: object

Type: enum (of string) Default: "warn"

Setting to adjust the console log-level

Must be one of:

  • "debug"
  • "info"
  • "warn"
  • "error"

Type: boolean Default: true

Flag to enable 'pretty printing' of JSON output

Type: boolean Default: true

Flag to disable the create of sparse fault studies (if no faults are specified, one of every type will be applied at every bus

Type: boolean Default: false

Flag to enable debugging outputs (the full data structure), when used with entrypoint

Type: object

Solver options

Type: object

These are the options used for the HiGHS optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: boolean Default: false

Type: enum (of string) Default: "choose"

Must be one of:

  • "on"
  • "off"
  • "choose"

Type: number Default: 1e-06

Type: number Default: 1e-06

Type: number Default: 0.0001

Type: number Default: 0.0001

Type: number Default: 1e-12

Type: boolean Default: true

Type: object

These are the options used for the Ipopt optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: number Default: 1e-06

Type: number Default: 200

Type: enum (of string) Default: "adaptive"

Must be one of:

  • "adaptive"
  • "monotone"

Type: integer Default: 0

Type: object

These are the options used for the Juniper optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: enum (of string) Default: ":StrongPseuoCost"

Must be one of:

  • ":MostInfeasible"
  • ":PseudoCost"
  • ":StrongPseuoCost"
  • ":Reliability"

Type: array of enum (of string)
No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • ":Table"
  • ":Info"
  • ":Options"

Type: number Default: 0.0001

Type: enum (of string) Default: ":BFS"

Must be one of:

  • ":DFS"
  • ":BFS"
  • ":DBFS"

Type: boolean Default: true

Type: boolean Default: true

Type: number Default: 1e-06

Type: object

These are the options used for the Gurobi optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: integer Default: 0

Type: integer Default: 0

Type: number Default: 0.0001

Type: number Default: 1e-06

Type: integer Default: 1

Type: integer Default: 3

Type: integer Default: 2

Type: integer Default: 0

Value must be greater or equal to -1 and lesser or equal to 1

Type: integer Default: -1

Value must be greater or equal to -1 and lesser or equal to 2

Type: object

These are the options used for the KNITRO optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: integer Default: 0

Value must be greater or equal to 0 and lesser or equal to 6

Type: integer Default: 0

Value must be greater or equal to 0 and lesser or equal to 3

Type: number Default: 0.0001

Type: number Default: 1e-06

Type: integer Default: 3

Type: integer Default: 1

Type: boolean Default: false

Flag to enable the usage of the Gurobi commercial solver

Type: boolean Default: false

Flag to enable the usage of the KNITRO commercial solver

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object
No Additional Properties

Type: string

Must be one of:

  • "GRID_FORMING"
  • "grid_forming"
  • "gfm"
  • "GRID_FOLLOWING"
  • "grid_following"
  • "gfl"

Type: string

Must be one of:

  • "yes"
  • "no"
  • "YES"
  • "NO"
  • "y"
  • "n"
  • "Y"
  • "N"

Type: array, integer or null

deprecated: options/data/switch-close-actions-ub

No Additional Items

Each item of this array must be:

Type: integer or null

Type: boolean Default: false

deprecated: options/constraints/disable-microgrid-networking

Type: boolean Default: false

deprecated: options/constraints/disable-radiality-constraint

Type: boolean Default: false

deprecated: options/constraints/disable-block-isolation-constraint

Type: boolean Default: false

deprecated: options/constraints/disable-grid-forming-inverter-constraint

Type: boolean

deprecated: options/objective/disable-switch-state-change-cost

Type: boolean

deprecated: options/objective/enable-switch-state-open-cost

Type: boolean Default: false

deprecated: {solvers/HiGHS/presolve,solvers/Gurobi/Presolve,solvers/KNITRO/presolve}

Type: array of number or number

deprecated: options/data/time-elapsed

No Additional Items

Each item of this array must be:

Type: number

Type: number

deprecated: {solvers/Ipopt/tol,solvers/KNITRO/feastol}

Type: number

deprecated: {solvers/HiGHS/primalfeasibilitytolerance,solvers/HiGHS/dualfeasibilitytolerance,solvers/Gurobi/FeasibilityTol,solvers/Juniper/atol}

Type: numberFormat: float Default: 0.05

deprecated: {solvers/HiGHS/miprelgap,solvers/Gurobi/MIPGap,solvers/Juniper/mip_gap}

Value must be strictly greater than 0

\ No newline at end of file diff --git a/dev/schemas/output.schema.html b/dev/schemas/output.schema.html index 15da9d6a..bf850f99 100644 --- a/dev/schemas/output.schema.html +++ b/dev/schemas/output.schema.html @@ -23,6 +23,10 @@ + + + + @@ -327,14 +331,26 @@

@@ -345,11 +361,11 @@ Documenter.jl - version 1.2.1 on - - Tuesday 19 December 2023 + version 1.7.0 on + + Monday 23 September 2024 - . Using Julia version 1.9.4. + . Using Julia version 1.10.5.

diff --git a/dev/schemas/output.schema.iframe.html b/dev/schemas/output.schema.iframe.html index b5fe8acc..9d5853c8 100644 --- a/dev/schemas/output.schema.iframe.html +++ b/dev/schemas/output.schema.iframe.html @@ -303,7 +303,7 @@ } ] } -

Type: array of object

A list of events, ordered (i.e., later events will overwrite earlier ones if there is a conflict), that can either be a switching action, or a fault.

Must contain a minimum of 0 items

No Additional Items

Each item of this array must be:

Type: object

Event definition

No Additional Properties

Type: string, integer or number

Timestep, in string, integer, or float, that identifies the timestep at which this event is applied.

Must match regular expression: ^\d+\.*\d*

Type: enum (of string)

The type of event (switch or fault)

Must be one of:

  • "fault"
  • "switch"

Type: string

The asset that is being affected by the event

Must match regular expression: ^[Ll][Ii][Nn][Ee]\..+$

Must be at least 5 characters long


The event data

Type: object

Switch event data

No Additional Properties

Type: string

Type of switch, e.g., "fuse", "breaker", "recloser", etc.

Type: enum (of string)

What is the state of the switch, "open" or "closed"? Only used if "event_type" is "switch".

Must be one of:

  • "open"
  • "closed"
  • "OPEN"
  • "CLOSED"

Type: enum (of boolean or string) Default: false

Is the affected object dispatchable? (i.e., can be opened or closed), default is false

Must be one of:

  • "YES"
  • "NO"
  • "yes"
  • "no"
  • true
  • false

Type: enum (of integer or string) Default: 1

Status of the object, if 0, completely outaged from the model. Default 1.

Must be one of:

  • 0
  • 1
  • "DISABLED"
  • "ENABLED"
  • "enabled"
  • "disabled"
Type: object

Fault event data

No Additional Properties

Type: numberFormat: float

Duration of a fault, in milliseconds, -1 ==> permanent fault

Value must be greater or equal to -1


Example:

[
+

Type: array of object

A list of events, ordered (i.e., later events will overwrite earlier ones if there is a conflict), that can either be a switching action, or a fault.

Must contain a minimum of 0 items

No Additional Items

Each item of this array must be:

Type: object

Event definition

No Additional Properties

Type: string, integer or number

Timestep, in string, integer, or float, that identifies the timestep at which this event is applied.

Must match regular expression: ^\d+\.*\d*

Type: enum (of string)

The type of event (switch or fault)

Must be one of:

  • "fault"
  • "switch"

Type: string

The asset that is being affected by the event

Must match regular expression: ^[Ll][Ii][Nn][Ee]\..+$

Must be at least 5 characters long


The event data

Type: object

Switch event data

No Additional Properties

Type: string

Type of switch, e.g., "fuse", "breaker", "recloser", etc.

Type: enum (of string)

What is the state of the switch, "open" or "closed"? Only used if "event_type" is "switch".

Must be one of:

  • "open"
  • "closed"
  • "OPEN"
  • "CLOSED"

Type: enum (of boolean or string) Default: false

Is the affected object dispatchable? (i.e., can be opened or closed), default is false

Must be one of:

  • "YES"
  • "NO"
  • "yes"
  • "no"
  • true
  • false

Type: enum (of integer or string) Default: 1

Status of the object, if 0, completely outaged from the model. Default 1.

Must be one of:

  • 0
  • 1
  • "DISABLED"
  • "ENABLED"
  • "enabled"
  • "disabled"
Type: object

Fault event data

No Additional Properties

Type: numberFormat: float

Duration of a fault, in milliseconds, -1 ==> permanent fault

Value must be greater or equal to -1


Example:

[
     {
         "timestep": 1,
         "event_type": "switch",
@@ -316,7 +316,7 @@
         }
     }
 ]
-

Type: object

The allowed runtime arguments for PowerModelsONM's entrypoint.

No Additional Properties
Example:

{
+

Type: object

The allowed runtime arguments for PowerModelsONM's entrypoint.

No Additional Properties
Example:

{
     "network": "../test/data/ieee13_feeder.dss",
     "gurobi": false,
     "settings": "../test/data/ieee13_settings.json",
@@ -373,4 +373,4 @@
         }
     }
 ]
-

Type: array of boolean

Output from small signal stability analysis

No Additional Items

Each item of this array must be:

Type: array of array

List of lists of switches whose state changed between timesteps

No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array

Results (not the solutions) from the optimal switching alogrithm, including information about the solver, solve time, mip_gap, etc. If opt-switch-algorithm=global is used, there will only be a single dict

No Additional Items

Each item of this array must be:

Type: object

Information about the optimization results

Type: number

Duration of time spent in solver

Type: string

Name of the optimizer used

Type: string

The status of the solve from the optimizer

Type: string

the Dual Status from the optimizer

Type: string

The primal status from the optimizer

Type: number

The final value of the problem objective

Type: number

The MIP (optimality) gap, if available

Type: number

The lower bound on the objective, if exists, from the solver

Type: object

Information about the optimization results

Same definition as optimization_metadata

Type: array of object

Outputs from fault studies

No Additional Items

Each item of this array must be:

Type: object

Fault study per time step

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

Fault study at bus

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^[3p|3pg|llg|lg|ll]$
Type: object

Fault study with fault type of

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^\d+$
Type: object

Information about the optimization results

Same definition as optimization_metadata

Type: object

Metadata about the system that ran the ONM process

Type: string Default: "string(Sys.MACHINE)"

output of Julia Sys.MACHINE

Type: string Default: "string(first(Sys.cpu_info()).model)"

Output of Julia first(Sys.cpu_info()).model

Type: integer Default: "Hwloc.num_physical_cores()"

Output of Julia Hwloc.num_physical_cores()

Type: integer Default: "Hwloc.num_virtual_cores()"

Output of Julia Hwloc.num_virtual_cores()

Type: number Default: "round(Int, Sys.total_memory() / 2^20 / 1024)"

Output of Julia Sys.total_memory() in GB

Type: integer Default: "Threads.nthreads()"

Output of Julia Threads.nthreads()

Type: integer Default: "Distributed.nprocs()"

Number of processors available to Julia

Type: string Default: "string(Base.VERSION)"

Output of Julia.VERSION

Type: object

Protection settings outputs

Type: object

Network data model used for computing optimal protection settings

Type: array of object

list of buses in the network model

No Additional Items

Each item of this array must be:

Type: object

Bus object

Type: string

Name of the bus

Type: array of integer

Terminals on the bus

No Additional Items

Each item of this array must be:

Type: integer

Number of phases on the bus

Type: enum (of integer)

Must be one of:

  • 0
  • 1

Type: array of object

list of lines (including switches) in the network model

No Additional Items

Each item of this array must be:

Type: object

Line object

Type: string

name of the line or switch

Type: string

bus on the from-side of the line

Type: string

bus on the to-side of the line

Type: array of integer

Phase connections on the from-side of the line

No Additional Items

Each item of this array must be:

Type: array of integer

Phase connections on the to-side of the line

No Additional Items

Each item of this array must be:

Type: array of array

Series resistance of the line in ohm/meter of size (fconnections, tconnections)

No Additional Items

Each item of this array must be:

Type: array of number
No Additional Items

Each item of this array must be:

Type: array of array

Series reactance of the line in ohm/meter of size (fconnections, tconnections)

No Additional Items

Each item of this array must be:

Type: array of number
No Additional Items

Each item of this array must be:

Type: integer

number of phases in the line

Type: boolean

Is the line a switch?

Type: enum (of integer)

Must be one of:

  • 0
  • 1

Type: array of object

List of transformers in the network model

No Additional Items

Each item of this array must be:

Type: object

Transformer object

Type: string

Name of the transformer

Type: array of string

List of buses (each winding)

No Additional Items

Each item of this array must be:

Type: array of array

List of phase connections in the in the transformer (each winding)

No Additional Items

Each item of this array must be:

Type: array of enum (of string)

List of configurations for each winding (WYE/DELTA)

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "WYE"
  • "DELTA"

Type: array of number

List of voltage bases for each winding in kV

No Additional Items

Each item of this array must be:

Type: number

Thermal rating of the transformer in kVA

Type: enum (of integer)

Must be one of:

  • 0
  • 1

Type: array of object

List of generation sources, i.e., generators, storage, pvsystems, and vsources in the network model

No Additional Items

Each item of this array must be:

Type: object

Source object

Type: string

name of the source object

Type: string

bus to which the source object is connected

Type: enum (of string)

type of the source object (generator, storage, vsource, pvsystem)

Must be one of:

  • "generator"
  • "pvsystem"
  • "storage"
  • "vsource"

Type: array of integer

Phase connections of the source object

No Additional Items

Each item of this array must be:

Type: integer

Number of phases in the source object

Type: enum (of integer)

Must be one of:

  • 0
  • 1

Type: array of object

List of protection devices, i.e., relays, fuses, and reclosers, in the network model

No Additional Items

Each item of this array must be:

Type: object

Protection object

Type: string

name of the protection object

Type: enum (of string)

type of protection (relay, fuse, recloser)

Must be one of:

  • "recloser"
  • "relay"
  • "fuse"

Type: string

location of the protection object (monitoredobj)

Type: array of object

Output from Protection optimization algorithm

No Additional Items

Each item of this array must be:

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: enum (of string)

Must be one of:

  • "pq"
  • "pv"
  • "ref"
  • "isolated"

Type: array of object

Output from Protection optimization algorithm

No Additional Items

Each item of this array must be:

Type: object

Type: array of number
No Additional Items

Each item of this array must be:

Type: array of number
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of number
No Additional Items

Each item of this array must be:

\ No newline at end of file +

Type: array of boolean

Output from small signal stability analysis

No Additional Items

Each item of this array must be:

Type: array of array

List of lists of switches whose state changed between timesteps

No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array

Results (not the solutions) from the optimal switching alogrithm, including information about the solver, solve time, mip_gap, etc. If opt-switch-algorithm=global is used, there will only be a single dict

No Additional Items

Each item of this array must be:

Type: object

Information about the optimization results

Type: number

Duration of time spent in solver

Type: string

Name of the optimizer used

Type: string

The status of the solve from the optimizer

Type: string

the Dual Status from the optimizer

Type: string

The primal status from the optimizer

Type: number

The final value of the problem objective

Type: number

The MIP (optimality) gap, if available

Type: number

The lower bound on the objective, if exists, from the solver

Type: object

Information about the optimization results

Same definition as optimization_metadata

Type: array of object

Outputs from fault studies

No Additional Items

Each item of this array must be:

Type: object

Fault study per time step

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

Fault study at bus

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^[3p|3pg|llg|lg|ll]$
Type: object

Fault study with fault type of

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^\d+$
Type: object

Information about the optimization results

Same definition as optimization_metadata

Type: object

Metadata about the system that ran the ONM process

Type: string Default: "string(Sys.MACHINE)"

output of Julia Sys.MACHINE

Type: string Default: "string(first(Sys.cpu_info()).model)"

Output of Julia first(Sys.cpu_info()).model

Type: integer Default: "Hwloc.num_physical_cores()"

Output of Julia Hwloc.num_physical_cores()

Type: integer Default: "Hwloc.num_virtual_cores()"

Output of Julia Hwloc.num_virtual_cores()

Type: number Default: "round(Int, Sys.total_memory() / 2^20 / 1024)"

Output of Julia Sys.total_memory() in GB

Type: integer Default: "Threads.nthreads()"

Output of Julia Threads.nthreads()

Type: integer Default: "Distributed.nprocs()"

Number of processors available to Julia

Type: string Default: "string(Base.VERSION)"

Output of Julia.VERSION

Type: object

Protection settings outputs

Type: object

Network data model used for computing optimal protection settings

Type: array of object

list of buses in the network model

No Additional Items

Each item of this array must be:

Type: object

Bus object

Type: string

Name of the bus

Type: array of integer

Terminals on the bus

No Additional Items

Each item of this array must be:

Type: integer

Number of phases on the bus

Type: enum (of integer)

Must be one of:

  • 0
  • 1

Type: array of object

list of lines (including switches) in the network model

No Additional Items

Each item of this array must be:

Type: object

Line object

Type: string

name of the line or switch

Type: string

bus on the from-side of the line

Type: string

bus on the to-side of the line

Type: array of integer

Phase connections on the from-side of the line

No Additional Items

Each item of this array must be:

Type: array of integer

Phase connections on the to-side of the line

No Additional Items

Each item of this array must be:

Type: array of array

Series resistance of the line in ohm/meter of size (fconnections, tconnections)

No Additional Items

Each item of this array must be:

Type: array of number
No Additional Items

Each item of this array must be:

Type: array of array

Series reactance of the line in ohm/meter of size (fconnections, tconnections)

No Additional Items

Each item of this array must be:

Type: array of number
No Additional Items

Each item of this array must be:

Type: integer

number of phases in the line

Type: boolean

Is the line a switch?

Type: enum (of integer)

Must be one of:

  • 0
  • 1

Type: array of object

List of transformers in the network model

No Additional Items

Each item of this array must be:

Type: object

Transformer object

Type: string

Name of the transformer

Type: array of string

List of buses (each winding)

No Additional Items

Each item of this array must be:

Type: array of array

List of phase connections in the in the transformer (each winding)

No Additional Items

Each item of this array must be:

Type: array of enum (of string)

List of configurations for each winding (WYE/DELTA)

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "WYE"
  • "DELTA"

Type: array of number

List of voltage bases for each winding in kV

No Additional Items

Each item of this array must be:

Type: number

Thermal rating of the transformer in kVA

Type: enum (of integer)

Must be one of:

  • 0
  • 1

Type: array of object

List of generation sources, i.e., generators, storage, pvsystems, and vsources in the network model

No Additional Items

Each item of this array must be:

Type: object

Source object

Type: string

name of the source object

Type: string

bus to which the source object is connected

Type: enum (of string)

type of the source object (generator, storage, vsource, pvsystem)

Must be one of:

  • "generator"
  • "pvsystem"
  • "storage"
  • "vsource"

Type: array of integer

Phase connections of the source object

No Additional Items

Each item of this array must be:

Type: integer

Number of phases in the source object

Type: enum (of integer)

Must be one of:

  • 0
  • 1

Type: array of object

List of protection devices, i.e., relays, fuses, and reclosers, in the network model

No Additional Items

Each item of this array must be:

Type: object

Protection object

Type: string

name of the protection object

Type: enum (of string)

type of protection (relay, fuse, recloser)

Must be one of:

  • "recloser"
  • "relay"
  • "fuse"

Type: string

location of the protection object (monitoredobj)

Type: array of object

Output from Protection optimization algorithm

No Additional Items

Each item of this array must be:

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: enum (of string)

Must be one of:

  • "pq"
  • "pv"
  • "ref"
  • "isolated"

Type: array of object

Output from Protection optimization algorithm

No Additional Items

Each item of this array must be:

Type: object

Type: array of number
No Additional Items

Each item of this array must be:

Type: array of number
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of string
No Additional Items

Each item of this array must be:

Type: array of number
No Additional Items

Each item of this array must be:

\ No newline at end of file diff --git a/dev/tutorials/Beginners Guide.html b/dev/tutorials/Beginners Guide.html index 7bffb5fc..d15d3c31 100644 --- a/dev/tutorials/Beginners Guide.html +++ b/dev/tutorials/Beginners Guide.html @@ -23,6 +23,10 @@ + + + + @@ -336,14 +340,26 @@

@@ -354,11 +370,11 @@ Documenter.jl - version 1.2.1 on - - Tuesday 19 December 2023 + version 1.7.0 on + + Monday 23 September 2024 - . Using Julia version 1.9.4. + . Using Julia version 1.10.5.

diff --git a/dev/tutorials/Beginners Guide.jl.html b/dev/tutorials/Beginners Guide.jl.html index 1ec69298..70002821 100644 --- a/dev/tutorials/Beginners Guide.jl.html +++ b/dev/tutorials/Beginners Guide.jl.html @@ -1,15 +1,17 @@ - -
\ No newline at end of file + + +
\ No newline at end of file diff --git a/dev/tutorials/Block MLD Basic Example.html b/dev/tutorials/Block MLD Basic Example.html index 85677369..5a6d8dba 100644 --- a/dev/tutorials/Block MLD Basic Example.html +++ b/dev/tutorials/Block MLD Basic Example.html @@ -23,6 +23,10 @@ + + + + @@ -336,14 +340,26 @@

@@ -354,11 +370,11 @@ Documenter.jl - version 1.2.1 on - - Tuesday 19 December 2023 + version 1.7.0 on + + Monday 23 September 2024 - . Using Julia version 1.9.4. + . Using Julia version 1.10.5.

diff --git a/dev/tutorials/Block MLD Basic Example.jl.html b/dev/tutorials/Block MLD Basic Example.jl.html index d59e256d..ed47bae0 100644 --- a/dev/tutorials/Block MLD Basic Example.jl.html +++ b/dev/tutorials/Block MLD Basic Example.jl.html @@ -1,15 +1,17 @@ - -
\ No newline at end of file + + +
\ No newline at end of file diff --git a/dev/tutorials/JuMP Model by Hand - MLD-Block.html b/dev/tutorials/JuMP Model by Hand - MLD-Block.html index 94ae0039..23634b01 100644 --- a/dev/tutorials/JuMP Model by Hand - MLD-Block.html +++ b/dev/tutorials/JuMP Model by Hand - MLD-Block.html @@ -23,6 +23,10 @@ + + + + @@ -336,14 +340,26 @@

@@ -354,11 +370,11 @@ Documenter.jl - version 1.2.1 on - - Tuesday 19 December 2023 + version 1.7.0 on + + Monday 23 September 2024 - . Using Julia version 1.9.4. + . Using Julia version 1.10.5.

diff --git a/dev/tutorials/JuMP Model by Hand - MLD-Block.jl.html b/dev/tutorials/JuMP Model by Hand - MLD-Block.jl.html index 57340f46..b5e13837 100644 --- a/dev/tutorials/JuMP Model by Hand - MLD-Block.jl.html +++ b/dev/tutorials/JuMP Model by Hand - MLD-Block.jl.html @@ -1,15 +1,17 @@ - -
\ No newline at end of file + + +
\ No newline at end of file diff --git a/dev/tutorials/JuMP Model by Hand - MLD-scenario.html b/dev/tutorials/JuMP Model by Hand - MLD-scenario.html index 1c51dccb..6220edcc 100644 --- a/dev/tutorials/JuMP Model by Hand - MLD-scenario.html +++ b/dev/tutorials/JuMP Model by Hand - MLD-scenario.html @@ -23,6 +23,10 @@ + + + + @@ -336,14 +340,26 @@

@@ -354,11 +370,11 @@ Documenter.jl - version 1.2.1 on - - Tuesday 19 December 2023 + version 1.7.0 on + + Monday 23 September 2024 - . Using Julia version 1.9.4. + . Using Julia version 1.10.5.

diff --git a/dev/tutorials/JuMP Model by Hand - MLD-scenario.jl.html b/dev/tutorials/JuMP Model by Hand - MLD-scenario.jl.html index 8a07c61a..14372952 100644 --- a/dev/tutorials/JuMP Model by Hand - MLD-scenario.jl.html +++ b/dev/tutorials/JuMP Model by Hand - MLD-scenario.jl.html @@ -1,15 +1,17 @@ - -
\ No newline at end of file + + +
\ No newline at end of file diff --git a/dev/tutorials/Use Case Examples.html b/dev/tutorials/Use Case Examples.html index 0393300a..753f1448 100644 --- a/dev/tutorials/Use Case Examples.html +++ b/dev/tutorials/Use Case Examples.html @@ -23,6 +23,10 @@ + + + + @@ -336,14 +340,26 @@

@@ -354,11 +370,11 @@ Documenter.jl - version 1.2.1 on - - Tuesday 19 December 2023 + version 1.7.0 on + + Monday 23 September 2024 - . Using Julia version 1.9.4. + . Using Julia version 1.10.5.

diff --git a/dev/tutorials/Use Case Examples.jl.html b/dev/tutorials/Use Case Examples.jl.html index 17245db6..23fe8130 100644 --- a/dev/tutorials/Use Case Examples.jl.html +++ b/dev/tutorials/Use Case Examples.jl.html @@ -3,16 +3,18 @@ - -
\ No newline at end of file + + +
\ No newline at end of file