From b5c7bf24fd29def74845eee93f58f7e60a3e12d1 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Wed, 8 Nov 2023 16:32:59 +0000 Subject: [PATCH] build based on 7972b4f --- dev/.documenter-siteinfo.json | 2 +- dev/contributing/index.html | 2 +- dev/developer/index.html | 2 +- dev/formulation/index.html | 2 +- dev/index.html | 2 +- dev/reference/index.html | 2 +- dev/search_index.js | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 5493eef..cb4c636 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.9.3","generation_timestamp":"2023-11-06T15:16:49","documenter_version":"1.1.2"}} \ No newline at end of file +{"documenter":{"julia_version":"1.9.3","generation_timestamp":"2023-11-08T16:32:56","documenter_version":"1.1.2"}} \ No newline at end of file diff --git a/dev/contributing/index.html b/dev/contributing/index.html index ded726d..8dfb155 100644 --- a/dev/contributing/index.html +++ b/dev/contributing/index.html @@ -1,2 +1,2 @@ -Contributing · TulipaProfileFitting.jl

Contributing guidelines

First of all, thanks for the interest!

We welcome all kinds of contribution, including, but not limited to code, documentation, examples, configuration, issue creating, etc.

Be polite and respectful.

Bug reports and discussions

If you think you found a bug, feel free to open an issue. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.

Working on an issue

If you found an issue that interests you, comment on that issue what your plans are. If the solution to the issue is clear, you can immediately create a pull request (see below). Otherwise, say what your proposed solution is and wait for a discussion around it.

Tip

Feel free to ping us after a few days if there are no responses.

If your solution involves code (or something that requires running the package locally), check the developer documentation. Otherwise, you can use the GitHub interface directly to create your pull request.

+Contributing · TulipaProfileFitting.jl

Contributing guidelines

First of all, thanks for the interest!

We welcome all kinds of contribution, including, but not limited to code, documentation, examples, configuration, issue creating, etc.

Be polite and respectful.

Bug reports and discussions

If you think you found a bug, feel free to open an issue. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.

Working on an issue

If you found an issue that interests you, comment on that issue what your plans are. If the solution to the issue is clear, you can immediately create a pull request (see below). Otherwise, say what your proposed solution is and wait for a discussion around it.

Tip

Feel free to ping us after a few days if there are no responses.

If your solution involves code (or something that requires running the package locally), check the developer documentation. Otherwise, you can use the GitHub interface directly to create your pull request.

diff --git a/dev/developer/index.html b/dev/developer/index.html index 21c46a2..89901af 100644 --- a/dev/developer/index.html +++ b/dev/developer/index.html @@ -3,4 +3,4 @@ pipx install pre-commit

With pre-commit installed, activate it as a pre-commit hook:

pre-commit install

To run the linting and formatting manually, enter the command below:

pre-commit run -a

Now, you can only commit if all the pre-commit tests pass.

First time clone

If this is the first time you work with this repository, follow the instructions below to clone the repository.

  1. Fork this repo

  2. Clone your repo (this will create a git remote called origin)

  3. Add this repo as a remote:

    git remote add orgremote https://github.com/TulipaEnergy/TulipaProfileFitting.jl

Working on a new issue

  1. Fetch from the JSO remote and fast-forward your local main

    git fetch orgremote
     git switch main
     git merge --ff-only orgremote/main
  2. Branch from main to address the issue (see below for naming)

    git switch -c 42-add-answer-universe
  3. Push the new local branch to your personal remote repository

    git push -u origin 42-add-answer-universe
  4. Create a pull request to merge your remote branch into the org main.

Branch naming

Commit message

Before creating a pull request

Build and see the documentation locally

To build and see the documentation locally, first, navigate to the docs folder in your file explorer and open a terminal. Then, run julia --project (remember that julia must be part of your environment variables to call it from the command line). With the julia open, enter the pkg mode by pressing ]. Check that the environment name is docs. The first time here, you have to run:

pkg> dev ..
-pkg> update

Then, to build the documentation, run

julia> include("make.jl")

If you intend to rerun the build step, ensure you have the package Revise installed in your global environment, and run using Revise before including make.jl. Alternatively, close julia and reopen it.

After building, the documentation will be available in the folder docs/build/. Open the index.html file on the browser to see it.

+pkg> update

Then, to build the documentation, run

julia> include("make.jl")

If you intend to rerun the build step, ensure you have the package Revise installed in your global environment, and run using Revise before including make.jl. Alternatively, close julia and reopen it.

After building, the documentation will be available in the folder docs/build/. Open the index.html file on the browser to see it.

diff --git a/dev/formulation/index.html b/dev/formulation/index.html index cda7e7e..6bc535a 100644 --- a/dev/formulation/index.html +++ b/dev/formulation/index.html @@ -3,4 +3,4 @@ \displaystyle {\min_{x} {\left(\sum_{h}P_{h}^{x} - FLH\right)}^{2}} \end{align}\]

\[s.t.\]

\[\begin{align} x \geq 0 -\end{align}\]

Where:

\[x\]

: decision variable to scale the hourly values of the profile

\[P_{h}\]

: profile value at hour $h$

\[FLH\]

: target full load hours

The objective function minimizes the squared error to the target full load hours, while constraint ensures the new coefficient is positive.

+\end{align}\]

Where:

\[x\]

: decision variable to scale the hourly values of the profile

\[P_{h}\]

: profile value at hour $h$

\[FLH\]

: target full load hours

The objective function minimizes the squared error to the target full load hours, while constraint ensures the new coefficient is positive.

diff --git a/dev/index.html b/dev/index.html index d2db8e4..3462d7b 100644 --- a/dev/index.html +++ b/dev/index.html @@ -1,2 +1,2 @@ -Home · TulipaProfileFitting.jl
+Home · TulipaProfileFitting.jl
diff --git a/dev/reference/index.html b/dev/reference/index.html index f49e96d..b6c926e 100644 --- a/dev/reference/index.html +++ b/dev/reference/index.html @@ -1,3 +1,3 @@ Reference · TulipaProfileFitting.jl
+ target_mean::Float64)

Fits a profile to a target mean using either root finding or optimization.

Arguments

Returns

source diff --git a/dev/search_index.js b/dev/search_index.js index be8c067..6895e34 100644 --- a/dev/search_index.js +++ b/dev/search_index.js @@ -1,3 +1,3 @@ var documenterSearchIndex = {"docs": -[{"location":"contributing/#Contributing-guidelines","page":"Contributing","title":"Contributing guidelines","text":"","category":"section"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"First of all, thanks for the interest!","category":"page"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"We welcome all kinds of contribution, including, but not limited to code, documentation, examples, configuration, issue creating, etc.","category":"page"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"Be polite and respectful.","category":"page"},{"location":"contributing/#Bug-reports-and-discussions","page":"Contributing","title":"Bug reports and discussions","text":"","category":"section"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"If you think you found a bug, feel free to open an issue. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.","category":"page"},{"location":"contributing/#Working-on-an-issue","page":"Contributing","title":"Working on an issue","text":"","category":"section"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"If you found an issue that interests you, comment on that issue what your plans are. If the solution to the issue is clear, you can immediately create a pull request (see below). Otherwise, say what your proposed solution is and wait for a discussion around it.","category":"page"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"TipFeel free to ping us after a few days if there are no responses.","category":"page"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"If your solution involves code (or something that requires running the package locally), check the developer documentation. Otherwise, you can use the GitHub interface directly to create your pull request.","category":"page"},{"location":"developer/#Developer-documentation","page":"Dev setup","title":"Developer documentation","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"If you haven't, please read the Contributing guidelines first.","category":"page"},{"location":"developer/#Linting-and-formatting","page":"Dev setup","title":"Linting and formatting","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"Install a plugin on your editor to use EditorConfig. This will ensure that your editor is configured with important formatting settings.","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"We use https://pre-commit.com to run the linters and formatters. In particular, the Julia code is formatted using JuliaFormatter.jl, so please install it globally first.","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"To install pre-commit, we recommend using pipx as follows:","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"# Install pipx following the link\npipx install pre-commit","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"With pre-commit installed, activate it as a pre-commit hook:","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"pre-commit install","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"To run the linting and formatting manually, enter the command below:","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"pre-commit run -a","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"Now, you can only commit if all the pre-commit tests pass.","category":"page"},{"location":"developer/#First-time-clone","page":"Dev setup","title":"First time clone","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"If this is the first time you work with this repository, follow the instructions below to clone the repository.","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"Fork this repo\nClone your repo (this will create a git remote called origin)\nAdd this repo as a remote:\ngit remote add orgremote https://github.com/TulipaEnergy/TulipaProfileFitting.jl","category":"page"},{"location":"developer/#Working-on-a-new-issue","page":"Dev setup","title":"Working on a new issue","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"Fetch from the JSO remote and fast-forward your local main\ngit fetch orgremote\ngit switch main\ngit merge --ff-only orgremote/main\nBranch from main to address the issue (see below for naming)\ngit switch -c 42-add-answer-universe\nPush the new local branch to your personal remote repository\ngit push -u origin 42-add-answer-universe\nCreate a pull request to merge your remote branch into the org main.","category":"page"},{"location":"developer/#Branch-naming","page":"Dev setup","title":"Branch naming","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"If there is an associated issue, add the issue number.\nIf there is no associated issue, and the changes are small, add a prefix such as \"typo\", \"hotfix\", \"small-refactor\", according to the type of update.\nIf the changes are not small and there is no associated issue, then create the issue first, so we can properly discuss the changes.\nUse dash separated imperative wording related to the issue (e.g., 14-add-tests, 15-fix-model, 16-remove-obsolete-files).","category":"page"},{"location":"developer/#Commit-message","page":"Dev setup","title":"Commit message","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"Use imperative or present tense, for instance: Add feature or Fix bug.\nHave informative titles.\nIf necessary, add a body with details.","category":"page"},{"location":"developer/#Before-creating-a-pull-request","page":"Dev setup","title":"Before creating a pull request","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"[Advanced] Try to create \"atomic git commits\" (recommended reading: The Utopic Git History).\nMake sure the tests pass.\nMake sure the pre-commit tests pass.\nFetch any main updates from upstream and rebase your branch, if necessary:\nbash git fetch orgremote git rebase orgremote/main BRANCH_NAME\nThen you can open a pull request and work with the reviewer to address any issues.","category":"page"},{"location":"developer/#Build-and-see-the-documentation-locally","page":"Dev setup","title":"Build and see the documentation locally","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"To build and see the documentation locally, first, navigate to the docs folder in your file explorer and open a terminal. Then, run julia --project (remember that julia must be part of your environment variables to call it from the command line). With the julia open, enter the pkg mode by pressing ]. Check that the environment name is docs. The first time here, you have to run:","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"pkg> dev ..\npkg> update","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"Then, to build the documentation, run","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"julia> include(\"make.jl\")","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"If you intend to rerun the build step, ensure you have the package Revise installed in your global environment, and run using Revise before including make.jl. Alternatively, close julia and reopen it.","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"After building, the documentation will be available in the folder docs/build/. Open the index.html file on the browser to see it.","category":"page"},{"location":"formulation/#Mathematical-Formulation","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"","category":"section"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"This section shows the mathematical formulation of the nonlinear programming (NLP) optimization model used in this package.","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"beginalign\ndisplaystyle min_x left(sum_hP_h^x - FLHright)^2\nendalign","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"st","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"beginalign\nx geq 0\nendalign","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"Where:","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"x","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":": decision variable to scale the hourly values of the profile","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"P_h","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":": profile value at hour h","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"FLH","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":": target full load hours","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"The objective function minimizes the squared error to the target full load hours, while constraint ensures the new coefficient is positive.","category":"page"},{"location":"reference/#Reference","page":"Reference","title":"Reference","text":"","category":"section"},{"location":"reference/#Contents","page":"Reference","title":"Contents","text":"","category":"section"},{"location":"reference/","page":"Reference","title":"Reference","text":"Pages = [\"reference.md\"]","category":"page"},{"location":"reference/#Index","page":"Reference","title":"Index","text":"","category":"section"},{"location":"reference/","page":"Reference","title":"Reference","text":"Pages = [\"reference.md\"]","category":"page"},{"location":"reference/","page":"Reference","title":"Reference","text":"Modules = [TulipaProfileFitting]","category":"page"},{"location":"reference/#TulipaProfileFitting.fit_profile-Tuple{Vector{Float64}, Float64}","page":"Reference","title":"TulipaProfileFitting.fit_profile","text":"fit_profile(profile_values::Vector{Float64},\n target_mean::Float64)\n\nThis function takes a vector of profile values and the total hours in the year. It fits the profile values to the mean value of the profile and the total hours in the year. It returns the optimization model and the coefficient of the scaling.\n\n\n\n\n\n","category":"method"},{"location":"","page":"Home","title":"Home","text":"CurrentModule = TulipaProfileFitting","category":"page"},{"location":"#TulipaProfileFitting","page":"Home","title":"TulipaProfileFitting","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Documentation for TulipaProfileFitting.","category":"page"},{"location":"","page":"Home","title":"Home","text":"This package is a nonlinear programming (NLP) optimization model to fit renewable time series profiles from historical data to future target capacity factors.","category":"page"},{"location":"#Contents","page":"Home","title":"Contents","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"","category":"page"}] +[{"location":"contributing/#Contributing-guidelines","page":"Contributing","title":"Contributing guidelines","text":"","category":"section"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"First of all, thanks for the interest!","category":"page"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"We welcome all kinds of contribution, including, but not limited to code, documentation, examples, configuration, issue creating, etc.","category":"page"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"Be polite and respectful.","category":"page"},{"location":"contributing/#Bug-reports-and-discussions","page":"Contributing","title":"Bug reports and discussions","text":"","category":"section"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"If you think you found a bug, feel free to open an issue. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.","category":"page"},{"location":"contributing/#Working-on-an-issue","page":"Contributing","title":"Working on an issue","text":"","category":"section"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"If you found an issue that interests you, comment on that issue what your plans are. If the solution to the issue is clear, you can immediately create a pull request (see below). Otherwise, say what your proposed solution is and wait for a discussion around it.","category":"page"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"TipFeel free to ping us after a few days if there are no responses.","category":"page"},{"location":"contributing/","page":"Contributing","title":"Contributing","text":"If your solution involves code (or something that requires running the package locally), check the developer documentation. Otherwise, you can use the GitHub interface directly to create your pull request.","category":"page"},{"location":"developer/#Developer-documentation","page":"Dev setup","title":"Developer documentation","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"If you haven't, please read the Contributing guidelines first.","category":"page"},{"location":"developer/#Linting-and-formatting","page":"Dev setup","title":"Linting and formatting","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"Install a plugin on your editor to use EditorConfig. This will ensure that your editor is configured with important formatting settings.","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"We use https://pre-commit.com to run the linters and formatters. In particular, the Julia code is formatted using JuliaFormatter.jl, so please install it globally first.","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"To install pre-commit, we recommend using pipx as follows:","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"# Install pipx following the link\npipx install pre-commit","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"With pre-commit installed, activate it as a pre-commit hook:","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"pre-commit install","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"To run the linting and formatting manually, enter the command below:","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"pre-commit run -a","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"Now, you can only commit if all the pre-commit tests pass.","category":"page"},{"location":"developer/#First-time-clone","page":"Dev setup","title":"First time clone","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"If this is the first time you work with this repository, follow the instructions below to clone the repository.","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"Fork this repo\nClone your repo (this will create a git remote called origin)\nAdd this repo as a remote:\ngit remote add orgremote https://github.com/TulipaEnergy/TulipaProfileFitting.jl","category":"page"},{"location":"developer/#Working-on-a-new-issue","page":"Dev setup","title":"Working on a new issue","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"Fetch from the JSO remote and fast-forward your local main\ngit fetch orgremote\ngit switch main\ngit merge --ff-only orgremote/main\nBranch from main to address the issue (see below for naming)\ngit switch -c 42-add-answer-universe\nPush the new local branch to your personal remote repository\ngit push -u origin 42-add-answer-universe\nCreate a pull request to merge your remote branch into the org main.","category":"page"},{"location":"developer/#Branch-naming","page":"Dev setup","title":"Branch naming","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"If there is an associated issue, add the issue number.\nIf there is no associated issue, and the changes are small, add a prefix such as \"typo\", \"hotfix\", \"small-refactor\", according to the type of update.\nIf the changes are not small and there is no associated issue, then create the issue first, so we can properly discuss the changes.\nUse dash separated imperative wording related to the issue (e.g., 14-add-tests, 15-fix-model, 16-remove-obsolete-files).","category":"page"},{"location":"developer/#Commit-message","page":"Dev setup","title":"Commit message","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"Use imperative or present tense, for instance: Add feature or Fix bug.\nHave informative titles.\nIf necessary, add a body with details.","category":"page"},{"location":"developer/#Before-creating-a-pull-request","page":"Dev setup","title":"Before creating a pull request","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"[Advanced] Try to create \"atomic git commits\" (recommended reading: The Utopic Git History).\nMake sure the tests pass.\nMake sure the pre-commit tests pass.\nFetch any main updates from upstream and rebase your branch, if necessary:\nbash git fetch orgremote git rebase orgremote/main BRANCH_NAME\nThen you can open a pull request and work with the reviewer to address any issues.","category":"page"},{"location":"developer/#Build-and-see-the-documentation-locally","page":"Dev setup","title":"Build and see the documentation locally","text":"","category":"section"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"To build and see the documentation locally, first, navigate to the docs folder in your file explorer and open a terminal. Then, run julia --project (remember that julia must be part of your environment variables to call it from the command line). With the julia open, enter the pkg mode by pressing ]. Check that the environment name is docs. The first time here, you have to run:","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"pkg> dev ..\npkg> update","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"Then, to build the documentation, run","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"julia> include(\"make.jl\")","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"If you intend to rerun the build step, ensure you have the package Revise installed in your global environment, and run using Revise before including make.jl. Alternatively, close julia and reopen it.","category":"page"},{"location":"developer/","page":"Dev setup","title":"Dev setup","text":"After building, the documentation will be available in the folder docs/build/. Open the index.html file on the browser to see it.","category":"page"},{"location":"formulation/#Mathematical-Formulation","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"","category":"section"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"This section shows the mathematical formulation of the nonlinear programming (NLP) optimization model used in this package.","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"beginalign\ndisplaystyle min_x left(sum_hP_h^x - FLHright)^2\nendalign","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"st","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"beginalign\nx geq 0\nendalign","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"Where:","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"x","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":": decision variable to scale the hourly values of the profile","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"P_h","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":": profile value at hour h","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"FLH","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":": target full load hours","category":"page"},{"location":"formulation/","page":"Mathematical Formulation","title":"Mathematical Formulation","text":"The objective function minimizes the squared error to the target full load hours, while constraint ensures the new coefficient is positive.","category":"page"},{"location":"reference/#Reference","page":"Reference","title":"Reference","text":"","category":"section"},{"location":"reference/#Contents","page":"Reference","title":"Contents","text":"","category":"section"},{"location":"reference/","page":"Reference","title":"Reference","text":"Pages = [\"reference.md\"]","category":"page"},{"location":"reference/#Index","page":"Reference","title":"Index","text":"","category":"section"},{"location":"reference/","page":"Reference","title":"Reference","text":"Pages = [\"reference.md\"]","category":"page"},{"location":"reference/","page":"Reference","title":"Reference","text":"Modules = [TulipaProfileFitting]","category":"page"},{"location":"reference/#TulipaProfileFitting.fit_profile-Tuple{Vector{Float64}, Float64}","page":"Reference","title":"TulipaProfileFitting.fit_profile","text":"fit_profile(profile_values::Vector{Float64},\n target_mean::Float64)\n\nFits a profile to a target mean using either root finding or optimization.\n\nArguments\n\nprofile_values::Vector{Float64}: A vector of profile values.\ntarget_mean::Float64: The target mean to fit the profile to.\n\nReturns\n\ncoefficient::Float64: The coefficient that fits the profile to the target mean.\n\n\n\n\n\n","category":"method"},{"location":"","page":"Home","title":"Home","text":"CurrentModule = TulipaProfileFitting","category":"page"},{"location":"#TulipaProfileFitting","page":"Home","title":"TulipaProfileFitting","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Documentation for TulipaProfileFitting.","category":"page"},{"location":"","page":"Home","title":"Home","text":"This package is a nonlinear programming (NLP) optimization model to fit renewable time series profiles from historical data to future target capacity factors.","category":"page"},{"location":"#Contents","page":"Home","title":"Contents","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"","category":"page"}] }