diff --git a/docs-src/apidocs/pymerlin/pymerlin.model_actions.rst b/docs-src/apidocs/pymerlin/pymerlin.model_actions.rst index b40c5ad..b21cd14 100644 --- a/docs-src/apidocs/pymerlin/pymerlin.model_actions.rst +++ b/docs-src/apidocs/pymerlin/pymerlin.model_actions.rst @@ -21,8 +21,12 @@ Functions - .. autodoc2-docstring:: pymerlin.model_actions.delay :parser: myst :summary: - * - :py:obj:`spawn ` - - .. autodoc2-docstring:: pymerlin.model_actions.spawn + * - :py:obj:`spawn_activity ` + - .. autodoc2-docstring:: pymerlin.model_actions.spawn_activity + :parser: myst + :summary: + * - :py:obj:`spawn_task ` + - .. autodoc2-docstring:: pymerlin.model_actions.spawn_task :parser: myst :summary: * - :py:obj:`call ` @@ -43,34 +47,36 @@ API .. py:function:: delay(duration) :canonical: pymerlin.model_actions.delay - :async: .. autodoc2-docstring:: pymerlin.model_actions.delay :parser: myst -.. py:function:: spawn(model, child) - :canonical: pymerlin.model_actions.spawn +.. py:function:: spawn_activity(child) + :canonical: pymerlin.model_actions.spawn_activity + + .. autodoc2-docstring:: pymerlin.model_actions.spawn_activity + :parser: myst + +.. py:function:: spawn_task(child, args) + :canonical: pymerlin.model_actions.spawn_task - .. autodoc2-docstring:: pymerlin.model_actions.spawn + .. autodoc2-docstring:: pymerlin.model_actions.spawn_task :parser: myst -.. py:function:: call(model, child) +.. py:function:: call(child) :canonical: pymerlin.model_actions.call - :async: .. autodoc2-docstring:: pymerlin.model_actions.call :parser: myst .. py:function:: wait_until(condition) :canonical: pymerlin.model_actions.wait_until - :async: .. autodoc2-docstring:: pymerlin.model_actions.wait_until :parser: myst .. py:function:: _yield_with(status) :canonical: pymerlin.model_actions._yield_with - :async: .. autodoc2-docstring:: pymerlin.model_actions._yield_with :parser: myst diff --git a/docs/_sources/apidocs/pymerlin/pymerlin.model_actions.rst.txt b/docs/_sources/apidocs/pymerlin/pymerlin.model_actions.rst.txt index b40c5ad..b21cd14 100644 --- a/docs/_sources/apidocs/pymerlin/pymerlin.model_actions.rst.txt +++ b/docs/_sources/apidocs/pymerlin/pymerlin.model_actions.rst.txt @@ -21,8 +21,12 @@ Functions - .. autodoc2-docstring:: pymerlin.model_actions.delay :parser: myst :summary: - * - :py:obj:`spawn ` - - .. autodoc2-docstring:: pymerlin.model_actions.spawn + * - :py:obj:`spawn_activity ` + - .. autodoc2-docstring:: pymerlin.model_actions.spawn_activity + :parser: myst + :summary: + * - :py:obj:`spawn_task ` + - .. autodoc2-docstring:: pymerlin.model_actions.spawn_task :parser: myst :summary: * - :py:obj:`call ` @@ -43,34 +47,36 @@ API .. py:function:: delay(duration) :canonical: pymerlin.model_actions.delay - :async: .. autodoc2-docstring:: pymerlin.model_actions.delay :parser: myst -.. py:function:: spawn(model, child) - :canonical: pymerlin.model_actions.spawn +.. py:function:: spawn_activity(child) + :canonical: pymerlin.model_actions.spawn_activity + + .. autodoc2-docstring:: pymerlin.model_actions.spawn_activity + :parser: myst + +.. py:function:: spawn_task(child, args) + :canonical: pymerlin.model_actions.spawn_task - .. autodoc2-docstring:: pymerlin.model_actions.spawn + .. autodoc2-docstring:: pymerlin.model_actions.spawn_task :parser: myst -.. py:function:: call(model, child) +.. py:function:: call(child) :canonical: pymerlin.model_actions.call - :async: .. autodoc2-docstring:: pymerlin.model_actions.call :parser: myst .. py:function:: wait_until(condition) :canonical: pymerlin.model_actions.wait_until - :async: .. autodoc2-docstring:: pymerlin.model_actions.wait_until :parser: myst .. py:function:: _yield_with(status) :canonical: pymerlin.model_actions._yield_with - :async: .. autodoc2-docstring:: pymerlin.model_actions._yield_with :parser: myst diff --git a/docs/_sources/architecture.md.txt b/docs/_sources/architecture.md.txt index 7dc7bcb..883a21f 100644 --- a/docs/_sources/architecture.md.txt +++ b/docs/_sources/architecture.md.txt @@ -34,11 +34,10 @@ that can be understood by the rest of the system. ## Async/await vs threads -pymerlin requires tasks to be defined as async functions (a.k.a coroutines), and for them to pause by calling and awaiting -a model action. The task's loop is pause, and kept in memory until it is time to resume the task, at which point that -loop is resumed. Alternatively, this could be done via threads, though as of writing that has not been prototyped. Python's -Global Interpreter Lock (GIL) poses some restrictions to threads - but in the Aerie paradigm, where only one thread is -running at a time, perhaps these restrictions are insignificant. It would be worth a try. +pymerlin originally required tasks to be defined as async functions (a.k.a coroutines), but that was in tension with +the "approachability over performance" principle. Version 0.0.8 replaced async functions with regular functions, and +used threads instead. This significantly simplified the implementation, as well as the mental model. If thread switching +turns out to be a performance bottleneck, async tasks should be reintroduced as an optional alternative. ## Use pythonic idioms @@ -58,4 +57,9 @@ To the extent possible, pymerlin should expose pythonic APIs. This means: Consult [PEP8](https://peps.python.org/pep-0008/#naming-conventions) for additional ideas. ### But what about Aerie idioms? -For now, stick to pythonic style - cross that bridge when uploading pymerlin can build Aerie-compatible jars \ No newline at end of file +For now, stick to pythonic style - cross that bridge when uploading pymerlin can build Aerie-compatible jars + +## Emphasize debuggability +On one hand, we need to do our best not to show users Java stack traces - or at least show them when they're useful and +not overwhelming. On the other hand, we must not _obscure_ useful debugging information. This is a delicate balance to +strike. \ No newline at end of file diff --git a/docs/apidocs/pymerlin/pymerlin.model_actions.html b/docs/apidocs/pymerlin/pymerlin.model_actions.html index a00f78f..2154bf4 100644 --- a/docs/apidocs/pymerlin/pymerlin.model_actions.html +++ b/docs/apidocs/pymerlin/pymerlin.model_actions.html @@ -321,17 +321,21 @@

Functions

delay

-

spawn

+

spawn_activity

:param coro: :return:

-

call

+

spawn_task

+

:param coro: +:return:

+ +

call

-

wait_until

+

wait_until

:param condition: A function returning True or False

-

_yield_with

+

_yield_with

@@ -342,30 +346,37 @@

Functions

-async pymerlin.model_actions.delay(duration)
+pymerlin.model_actions.delay(duration)
-
-pymerlin.model_actions.spawn(model, child)
+
+pymerlin.model_actions.spawn_activity(child)
+

:param coro: +:return:

+
+ +
+
+pymerlin.model_actions.spawn_task(child, args)

:param coro: :return:

-async pymerlin.model_actions.call(model, child)
+pymerlin.model_actions.call(child)
-async pymerlin.model_actions.wait_until(condition)
+pymerlin.model_actions.wait_until(condition)

:param condition: A function returning True or False

-async pymerlin.model_actions._yield_with(status)
+pymerlin.model_actions._yield_with(status)
@@ -432,7 +443,8 @@

API

Functions
  • API
    • delay()
    • -
    • spawn()
    • +
    • spawn_activity()
    • +
    • spawn_task()
    • call()
    • wait_until()
    • _yield_with()
    • diff --git a/docs/architecture.html b/docs/architecture.html index 38057bc..ba2ca5c 100644 --- a/docs/architecture.html +++ b/docs/architecture.html @@ -341,11 +341,10 @@

      Round trips

      Async/await vs threads

      -

      pymerlin requires tasks to be defined as async functions (a.k.a coroutines), and for them to pause by calling and awaiting -a model action. The task’s loop is pause, and kept in memory until it is time to resume the task, at which point that -loop is resumed. Alternatively, this could be done via threads, though as of writing that has not been prototyped. Python’s -Global Interpreter Lock (GIL) poses some restrictions to threads - but in the Aerie paradigm, where only one thread is -running at a time, perhaps these restrictions are insignificant. It would be worth a try.

      +

      pymerlin originally required tasks to be defined as async functions (a.k.a coroutines), but that was in tension with +the “approachability over performance” principle. Version 0.0.8 replaced async functions with regular functions, and +used threads instead. This significantly simplified the implementation, as well as the mental model. If thread switching +turns out to be a performance bottleneck, async tasks should be reintroduced as an optional alternative.

      Use pythonic idioms

      @@ -369,6 +368,12 @@

      But what about Aerie idioms? +

      Emphasize debuggability

      +

      On one hand, we need to do our best not to show users Java stack traces - or at least show them when they’re useful and +not overwhelming. On the other hand, we must not obscure useful debugging information. This is a delicate balance to +strike.

      +

      @@ -434,6 +439,7 @@

      But what about Aerie idioms?But what about Aerie idioms?

  • +
  • Emphasize debuggability
  • diff --git a/docs/genindex.html b/docs/genindex.html index 98e41e0..2ad32e5 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -495,12 +495,14 @@

    S

    diff --git a/docs/objects.inv b/docs/objects.inv index 6d72645..7846f00 100644 Binary files a/docs/objects.inv and b/docs/objects.inv differ diff --git a/docs/searchindex.js b/docs/searchindex.js index 38ba4a5..65e3475 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"API": [[28, "api"], [29, "api"], [30, "api"]], "API Reference": [[27, "api-reference"]], "Activity Planning": [[22, "activity-planning"]], "Approachability over performance": [[31, "approachability-over-performance"]], "Architecture": [[31, "architecture"]], "Assumed Aerospace knowledge": [[35, "assumed-aerospace-knowledge"]], "Assumed programming knowledge": [[35, "assumed-programming-knowledge"]], "Async/await vs threads": [[31, "async-await-vs-threads"]], "Avoiding Command Errors": [[22, "avoiding-command-errors"]], "Background": [[24, "background"]], "Build an Aerie-compatible JAR file": [[11, "build-an-aerie-compatible-jar-file"]], "Building pymerlin": [[33, "building-pymerlin"]], "Building pymerlin.jar": [[34, "building-pymerlin-jar"]], "But what about Aerie idioms?": [[31, "but-what-about-aerie-idioms"]], "Classes": [[29, "classes"]], "Co-Simulation": [[21, "co-simulation"]], "Command Errors": [[22, "command-errors"]], "Common Errors": [[32, "common-errors"]], "Contributing": [[33, "contributing"]], "Creating a Mission Model": [[0, "creating-a-mission-model"]], "Data": [[28, "data"], [29, "data"]], "Developing pymerlin": [[34, "developing-pymerlin"]], "Discrete Event Simulation": [[26, "discrete-event-simulation"]], "Documentation": [[35, "documentation"]], "Enumerated and Derived Resources": [[2, "enumerated-and-derived-resources"]], "File-by-subsystem": [[16, "file-by-subsystem"]], "Functions": [[28, "functions"], [30, "functions"]], "Further Reading": [[21, "further-reading"]], "Getting Started": [[0, "getting-started"]], "Glossary": [[35, "glossary"], [36, "glossary"]], "Going further": [[10, "going-further"]], "Good Commit, PR, and Code Review Practices": [[33, "good-commit-pr-and-code-review-practices"]], "Got a Question or Problem?": [[33, "got-a-question-or-problem"]], "How do you guarantee the safety of an autonomous spacecraft?": [[22, "how-do-you-guarantee-the-safety-of-an-autonomous-spacecraft"]], "How to get help, contribute, or provide feedback": [[37, "how-to-get-help-contribute-or-provide-feedback"]], "How to organize your project": [[16, "how-to-organize-your-project"]], "How to use pymerlin in Jupyter": [[14, "how-to-use-pymerlin-in-jupyter"]], "ImportError - circular import": [[32, "importerror-circular-import"]], "Installation": [[40, "installation"]], "Installing pymerlin": [[0, "installing-pymerlin"]], "Integral Method Comparison": [[6, "integral-method-comparison"]], "Integrated vs Partial validation": [[22, "integrated-vs-partial-validation"]], "Integrating Data Rate": [[5, "integrating-data-rate"]], "Intro Tutorial: Solid State Recorder": [[8, "intro-tutorial-solid-state-recorder"]], "License": [[38, "license"]], "Making changes to command files": [[22, "making-changes-to-command-files"]], "Method 1 - Increase volume within activity": [[5, "method-1-increase-volume-within-activity"]], "Method 2 - Sample-based volume update": [[5, "method-2-sample-based-volume-update"]], "Method 3 - Update volume upon change to rate": [[5, "method-3-update-volume-upon-change-to-rate"]], "Method 4 - Derived volume from polynomial resource": [[5, "method-4-derived-volume-from-polynomial-resource"]], "Methods of Validation": [[22, "methods-of-validation"]], "Model Test Drive": [[1, "model-test-drive"]], "Modeling Data Volume": [[12, "modeling-data-volume"]], "Modeling Power": [[17, "modeling-power"]], "Modeling Telecom": [[20, "modeling-telecom"]], "Module Contents": [[29, "module-contents"], [30, "module-contents"]], "Monte-Carlo analyses": [[15, "monte-carlo-analyses"]], "Package Contents": [[28, "package-contents"]], "Planning and Scheduling": [[25, "planning-and-scheduling"]], "Publishing to pypi": [[39, "publishing-to-pypi"]], "Pull Request Guidelines": [[33, "pull-request-guidelines"]], "Quickstart": [[40, "quickstart"]], "Re-usable command files": [[22, "re-usable-command-files"]], "Referencing Aerie": [[35, "referencing-aerie"]], "Round trips": [[31, "round-trips"]], "Scheduling": [[18, "scheduling"]], "Second Look": [[4, "second-look"]], "Sim Configuration": [[7, "sim-configuration"]], "Source code": [[37, "source-code"]], "Stack traces": [[32, "stack-traces"]], "Style": [[35, "style"]], "Submitting a Pull Request": [[33, "submitting-a-pull-request"]], "Submodules": [[28, "submodules"]], "Target Audience": [[35, "target-audience"]], "Testing": [[34, "testing"]], "The Theory": [[26, "the-theory"]], "Tuning Fidelity": [[23, "tuning-fidelity"]], "Tutorials": [[9, "tutorials"]], "Use pythonic idioms": [[31, "use-pythonic-idioms"]], "User Guides": [[13, "user-guides"]], "Using Current Value in an Effect Model": [[3, "using-current-value-in-an-effect-model"]], "Using spice for geometry": [[19, "using-spice-for-geometry"]], "Your First Activity": [[0, "your-first-activity"]], "Your First Resource": [[0, "your-first-resource"]], "pymerlin": [[28, "module-pymerlin"], [37, "pymerlin"]], "pymerlin.duration": [[29, "module-pymerlin.duration"]], "pymerlin.model_actions": [[30, "module-pymerlin.model_actions"]]}, "docnames": ["1_tutorials/getting-started/1-gettingstarted", "1_tutorials/getting-started/2-model-test-drive", "1_tutorials/getting-started/3-enum-derived-resource", "1_tutorials/getting-started/4-current-value", "1_tutorials/getting-started/5-second-look", "1_tutorials/getting-started/6-integrating-rate", "1_tutorials/getting-started/7-integration-comparision", "1_tutorials/getting-started/8-simulation-config", "1_tutorials/getting-started/index", "1_tutorials/index", "1_tutorials/tutorial2", "2_guides/build-jar", "2_guides/datamodel", "2_guides/index", "2_guides/jupyter", "2_guides/monte-carlo", "2_guides/organization", "2_guides/powermodel", "2_guides/scheduling", "2_guides/spice", "2_guides/telecom", "3_explanation/co-simulation", "3_explanation/command-errors", "3_explanation/fidelity", "3_explanation/index", "3_explanation/planning", "3_explanation/simulation", "apidocs/index", "apidocs/pymerlin/pymerlin", "apidocs/pymerlin/pymerlin.duration", "apidocs/pymerlin/pymerlin.model_actions", "architecture", "common-errors", "contribute", "developer", "documentation", "glossary", "index", "license", "publishing", "quickstart"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["1_tutorials/getting-started/1-gettingstarted.md", "1_tutorials/getting-started/2-model-test-drive.md", "1_tutorials/getting-started/3-enum-derived-resource.md", "1_tutorials/getting-started/4-current-value.md", "1_tutorials/getting-started/5-second-look.md", "1_tutorials/getting-started/6-integrating-rate.md", "1_tutorials/getting-started/7-integration-comparision.md", "1_tutorials/getting-started/8-simulation-config.md", "1_tutorials/getting-started/index.md", "1_tutorials/index.md", "1_tutorials/tutorial2.md", "2_guides/build-jar.md", "2_guides/datamodel.md", "2_guides/index.md", "2_guides/jupyter.md", "2_guides/monte-carlo.md", "2_guides/organization.md", "2_guides/powermodel.md", "2_guides/scheduling.md", "2_guides/spice.md", "2_guides/telecom.md", "3_explanation/co-simulation.md", "3_explanation/command-errors.md", "3_explanation/fidelity.md", "3_explanation/index.md", "3_explanation/planning.md", "3_explanation/simulation.md", "apidocs/index.rst", "apidocs/pymerlin/pymerlin.rst", "apidocs/pymerlin/pymerlin.duration.rst", "apidocs/pymerlin/pymerlin.model_actions.rst", "architecture.md", "common-errors.md", "contribute.md", "developer.md", "documentation.md", "glossary.md", "index.md", "license.md", "publishing.md", "quickstart.md"], "indexentries": {"__all__ (in module pymerlin)": [[28, "pymerlin.__all__", false]], "__eq__() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.__eq__", false]], "__ge__() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.__ge__", false]], "__gt__() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.__gt__", false]], "__le__() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.__le__", false]], "__lt__() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.__lt__", false]], "__repr__() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.__repr__", false]], "_yield_with() (in module pymerlin.model_actions)": [[30, "pymerlin.model_actions._yield_with", false]], "aerie": [[36, "term-Aerie", true]], "call() (in module pymerlin.model_actions)": [[30, "pymerlin.model_actions.call", false]], "checkout() (in module pymerlin)": [[28, "pymerlin.checkout", false]], "delay() (in module pymerlin.model_actions)": [[30, "pymerlin.model_actions.delay", false]], "duration (class in pymerlin.duration)": [[29, "pymerlin.duration.Duration", false]], "effect model": [[36, "term-Effect-Model", true]], "from_string() (pymerlin.duration.duration static method)": [[29, "pymerlin.duration.Duration.from_string", false]], "hour (in module pymerlin.duration)": [[29, "pymerlin.duration.HOUR", false]], "hours (in module pymerlin.duration)": [[29, "pymerlin.duration.HOURS", false]], "merlin": [[36, "term-Merlin", true]], "microsecond (in module pymerlin.duration)": [[29, "pymerlin.duration.MICROSECOND", false]], "microseconds (in module pymerlin.duration)": [[29, "pymerlin.duration.MICROSECONDS", false]], "millisecond (in module pymerlin.duration)": [[29, "pymerlin.duration.MILLISECOND", false]], "milliseconds (in module pymerlin.duration)": [[29, "pymerlin.duration.MILLISECONDS", false]], "minute (in module pymerlin.duration)": [[29, "pymerlin.duration.MINUTE", false]], "minutes (in module pymerlin.duration)": [[29, "pymerlin.duration.MINUTES", false]], "module": [[28, "module-pymerlin", false], [29, "module-pymerlin.duration", false], [30, "module-pymerlin.model_actions", false]], "negate() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.negate", false]], "of() (pymerlin.duration.duration static method)": [[29, "pymerlin.duration.Duration.of", false]], "plus() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.plus", false]], "pymerlin": [[28, "module-pymerlin", false]], "pymerlin.duration": [[29, "module-pymerlin.duration", false]], "pymerlin.model_actions": [[30, "module-pymerlin.model_actions", false]], "second (in module pymerlin.duration)": [[29, "pymerlin.duration.SECOND", false]], "seconds (in module pymerlin.duration)": [[29, "pymerlin.duration.SECONDS", false]], "spawn() (in module pymerlin.model_actions)": [[30, "pymerlin.model_actions.spawn", false]], "times() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.times", false]], "to_number_in() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.to_number_in", false]], "validation": [[36, "term-Validation", true]], "wait_until() (in module pymerlin.model_actions)": [[30, "pymerlin.model_actions.wait_until", false]], "zero (in module pymerlin.duration)": [[29, "pymerlin.duration.ZERO", false]]}, "objects": {"": [[28, 0, 0, "-", "pymerlin"]], "pymerlin": [[28, 1, 1, "", "__all__"], [28, 2, 1, "", "checkout"], [29, 0, 0, "-", "duration"], [30, 0, 0, "-", "model_actions"]], "pymerlin.duration": [[29, 3, 1, "", "Duration"], [29, 1, 1, "", "HOUR"], [29, 1, 1, "", "HOURS"], [29, 1, 1, "", "MICROSECOND"], [29, 1, 1, "", "MICROSECONDS"], [29, 1, 1, "", "MILLISECOND"], [29, 1, 1, "", "MILLISECONDS"], [29, 1, 1, "", "MINUTE"], [29, 1, 1, "", "MINUTES"], [29, 1, 1, "", "SECOND"], [29, 1, 1, "", "SECONDS"], [29, 1, 1, "", "ZERO"]], "pymerlin.duration.Duration": [[29, 4, 1, "", "__eq__"], [29, 4, 1, "", "__ge__"], [29, 4, 1, "", "__gt__"], [29, 4, 1, "", "__le__"], [29, 4, 1, "", "__lt__"], [29, 4, 1, "", "__repr__"], [29, 4, 1, "", "from_string"], [29, 4, 1, "", "negate"], [29, 4, 1, "", "of"], [29, 4, 1, "", "plus"], [29, 4, 1, "", "times"], [29, 4, 1, "", "to_number_in"]], "pymerlin.model_actions": [[30, 2, 1, "", "_yield_with"], [30, 2, 1, "", "call"], [30, 2, 1, "", "delay"], [30, 2, 1, "", "spawn"], [30, 2, 1, "", "wait_until"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "data", "Python data"], "2": ["py", "function", "Python function"], "3": ["py", "class", "Python class"], "4": ["py", "method", "Python method"]}, "objtypes": {"0": "py:module", "1": "py:data", "2": "py:function", "3": "py:class", "4": "py:method"}, "terms": {"": [0, 2, 3, 4, 5, 6, 8, 15, 19, 22, 23, 29, 31, 33, 35, 36], "0": [0, 1, 2, 4, 5, 7, 29], "00": [0, 29, 30], "000": 29, "000000": 29, "01": [0, 30], "01pre": 26, "03": 26, "0e3": 3, "1": [0, 1, 3, 4, 6, 8, 9, 29], "10": [0, 1, 3, 4], "100": [0, 1], "1000": 5, "11": 40, "15": 4, "170215": 26, "1e": [5, 7], "1e3": 7, "2": [1, 4, 8, 9, 20, 22, 29], "20": [1, 5], "2017": 26, "2018": 26, "2021": 38, "21": [34, 40], "24": 29, "250": [5, 7], "2ab": 20, "2nd": 6, "3": [3, 6, 7, 8, 9, 26, 34, 40], "30": 29, "3120": 40, "3rd": 26, "4": [8, 9], "5": [4, 29], "500": 2, "5000": 2, "60": [5, 7], "600": 29, "63": 29, "7": 29, "8601": 29, "9": 34, "A": [2, 5, 18, 22, 26, 29, 30, 36, 38], "AND": 38, "AS": 38, "And": 5, "As": [0, 2, 5, 16, 22, 29, 31, 33, 34, 35], "At": [1, 4, 33], "BE": 38, "BUT": 38, "Be": 33, "But": [0, 11, 16], "By": 5, "FOR": 38, "For": [0, 2, 3, 5, 6, 22, 29, 31, 33, 34], "IN": 38, "If": [0, 3, 5, 6, 22, 29, 33, 40], "In": [0, 2, 3, 5, 7, 8, 22, 26, 29, 33, 35], "It": [0, 5, 6, 15, 21, 22, 23, 31, 35], "NO": 38, "NOT": 38, "No": 33, "Not": 22, "OF": 38, "OR": 38, "On": 1, "One": [16, 22], "Such": 5, "THE": 38, "TO": 38, "That": [5, 22], "The": [0, 1, 2, 3, 5, 6, 7, 16, 19, 20, 22, 24, 29, 31, 32, 33, 35, 36, 38], "Then": [0, 4], "There": [5, 7, 21, 22, 23, 26, 35], "These": [0, 1, 22, 31, 33], "To": [6, 22, 26, 29, 31, 33, 37], "WITH": 38, "With": [0, 2, 4, 6], "__all__": 28, "__eq__": 29, "__ge__": 29, "__gt__": 29, "__init__": 0, "__le__": 29, "__lt__": 29, "__repr__": 29, "_decor": 0, "_global": 31, "_intern": [0, 34], "_yield_with": 30, "abil": [22, 23, 33], "abl": [2, 20, 21, 22, 26], "about": [0, 1, 3, 5, 7, 22, 24, 32, 33, 37], "abov": [0, 1, 5, 6, 7, 22, 33, 38], "absenc": [22, 26], "absolut": 22, "abstract": 22, "accept": 33, "access": 37, "accomplish": [0, 2, 22], "account": 7, "accumul": 5, "accur": 5, "accuraci": [6, 29], "achiev": [0, 7, 16, 22], "across": [5, 22, 23, 35], "act": 26, "action": [0, 5, 22, 26, 30, 31, 38], "activ": [1, 3, 4, 6, 7, 8, 9, 16, 23, 24, 31, 32, 36, 40], "activitytyp": [0, 3], "actual": [0, 1, 3, 5, 7, 22, 33], "ad": [0, 1, 2, 22, 33], "add": [0, 1, 2, 4, 5, 7, 26, 33], "addit": [0, 2, 5, 6, 7, 23, 26, 31, 34], "address": 22, "adher": [5, 22], "adoptium": 40, "advanc": 26, "advantag": 5, "advers": 22, "advic": 32, "aeri": [0, 1, 4, 5, 6, 7, 13, 23, 26, 33, 36, 37], "affect": 22, "after": [0, 1, 2, 3, 4, 5, 6, 7, 22, 33, 40], "again": [4, 26], "against": [22, 29], "ahead": [6, 7], "aid": 33, "aim": 31, "align": [4, 5, 6], "all": [0, 5, 6, 7, 22, 26, 31, 33, 34, 38, 40], "alloc": [20, 22, 26], "allow": [0, 1, 2, 3, 5, 22, 26, 31, 33], "almost": 29, "alon": 1, "along": [0, 2], "alreadi": [0, 7, 35], "also": [0, 1, 2, 3, 5, 6, 7, 22, 23], "alter": [0, 5], "altern": 31, "although": [0, 5, 6], "altogeth": 29, "alwai": [29, 33, 35], "ammo": 26, "amount": 5, "an": [0, 2, 5, 6, 7, 8, 9, 13, 20, 24, 26, 29, 32, 33, 35, 36, 38], "an9804": 20, "analys": 13, "analysi": 22, "analyz": 31, "ani": [0, 6, 20, 22, 26, 29, 33, 35, 38], "annot": [0, 7, 31], "anoth": [2, 4, 5, 22, 26, 32], "answer": [3, 5], "anticip": 22, "anywai": 5, "apach": 32, "apart": 0, "api": [31, 32, 39], "appar": 5, "appear": [0, 1, 4, 7, 33], "appli": [1, 22, 26], "approach": [5, 6], "appropri": [31, 35], "approv": [22, 33], "approx_linear": 5, "approxim": [5, 23, 29], "ar": [0, 1, 2, 5, 6, 21, 22, 23, 26, 29, 30, 31, 33, 34, 35, 40], "arbitrari": [5, 26], "arbitrarili": 26, "aren": [6, 22], "argument": [0, 1, 5, 7, 22, 31, 36], "aris": [15, 21, 22, 38], "arithmet": 29, "around": [4, 7, 29, 32], "arriv": 5, "as_polynomi": 5, "aspect": [7, 35], "aspir": 34, "aspolynomi": 7, "assembl": [1, 6, 34], "assess": 22, "assign": 29, "associ": [0, 2, 6, 7, 38], "assum": [5, 7, 22], "assumelinear": 5, "astronom": 29, "async": [0, 3, 5, 30, 35], "attain": 35, "attent": [22, 33], "attribut": [26, 31], "author": [22, 38], "autodoc2": 35, "autom": [22, 34], "automat": [22, 23, 33, 35], "autonom": 24, "autonomi": 22, "avail": [0, 2, 3, 5, 6, 7, 20], "avoid": [16, 24, 26], "await": [0, 5, 30, 35], "awar": [0, 3, 22], "b": [18, 20, 33], "back": [0, 1, 5, 7], "background": [5, 35], "bandwidth": 20, "bar": 1, "base": [0, 1, 2, 3, 8, 9, 29], "basi": 29, "basic": [0, 35], "batteri": [5, 22], "bear": [0, 1, 2, 3, 4, 5, 6, 7], "becam": 22, "becaus": [0, 3, 7, 29], "becom": [2, 16, 29, 33], "been": [0, 1, 5, 20, 22, 31, 33], "befor": [0, 3, 5, 7, 22, 26, 33], "begin": [0, 1, 5, 6], "behavior": [0, 5, 7, 15, 22, 23, 36], "being": [0, 5, 7, 29], "below": [1, 4, 5, 6], "belt": 5, "benefit": 31, "best": [7, 22, 23, 35], "better": [22, 33], "between": [0, 4, 5, 6, 20, 22, 23, 26, 29, 31, 33], "beyond": 0, "bind": 19, "bisect": 33, "bit": [3, 35], "block": [0, 35], "board": [0, 2, 5, 22], "bodi": [0, 5, 20, 29, 36], "bonu": 0, "book": 0, "boolean": 0, "borrow": [26, 32], "both": [0, 3, 5, 22, 26, 32, 35], "bottom": 35, "bound": [5, 22], "bracket": 33, "branch": 33, "break": [5, 16], "bridg": 31, "brief": [0, 35], "budget": 20, "buffer": 0, "build": [0, 1, 3, 4, 5, 6, 7, 13, 16, 31, 39], "built": [0, 1, 2, 4, 6, 35, 37], "bulletproof": 22, "burden": 22, "busi": 20, "button": [1, 33], "c": [38, 40], "cach": 31, "calcul": [6, 19], "calendar": 29, "calendr": 29, "california": 38, "call": [0, 1, 2, 3, 5, 6, 7, 22, 23, 26, 29, 30, 31], "camera": [0, 2], "can": [0, 1, 2, 3, 4, 5, 6, 7, 22, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 37], "cannot": [0, 1, 22, 32], "capabl": [4, 6, 22], "capac": [5, 6, 7], "capital_snake_cas": 31, "cardin": 22, "care": [3, 5, 31], "carlo": [13, 23], "carol": 22, "carri": 22, "case": [0, 2, 3, 5, 7, 22, 29, 31], "catch": 23, "categori": [0, 22], "caus": [3, 22], "causal": 29, "caution": 22, "ccsd": 0, "cd": [34, 35], "celesti": 29, "cell": [0, 2, 5, 7, 26], "center": 1, "certain": [5, 7, 22, 26, 30, 31], "cfdp": 22, "challeng": 21, "chang": [0, 1, 3, 4, 6, 7, 8, 9, 24, 26, 33], "change_mag_mod": [3, 4, 5, 6], "channel": 33, "character": 31, "characterist": 22, "charg": 38, "chat": 33, "check": [1, 22, 28, 33, 36, 37, 40], "checkmark": 1, "checkout": [28, 33, 40], "child": [26, 30], "china": 29, "choic": [26, 29], "choos": [5, 16, 22], "chosen": 5, "chunk": 5, "circular": 16, "cite": 22, "claim": [29, 38], "clamp": 5, "clamped_integr": 5, "clampedintegr": [5, 7], "class": [0, 2, 3, 5, 7, 27, 31], "clean": [33, 35], "cleanup": 31, "clear": [22, 33], "click": 1, "clock": [0, 5, 29], "clockeffect": 5, "clone": 33, "close": [22, 33], "co": 24, "code": [0, 2, 5, 7, 16, 29, 31, 35], "collect": [0, 2, 5], "collect_data": [0, 1, 4, 5, 6], "collinear": 29, "color": 4, "com": [20, 26, 35, 37], "combin": [22, 29, 33], "come": [0, 21, 22, 23], "command": [23, 24, 33, 39, 40], "comment": [33, 35], "commit": 35, "common": 0, "commun": [20, 22, 23, 31], "compani": 35, "compar": [5, 6, 22], "comparison": [8, 9], "compat": [13, 31], "compil": [1, 4, 6, 7], "complac": 22, "complet": [0, 5, 22], "complex": 1, "complic": [29, 33], "compon": [22, 36], "compos": 23, "comput": [0, 3, 5, 6, 7, 22, 26], "concept": [23, 26, 29, 35], "concern": 5, "concurr": [22, 26], "condit": [5, 22, 26, 30, 38], "config": 7, "configur": [8, 9, 23, 29], "conflict": [22, 26, 33], "connect": 38, "consensu": 22, "consequ": 22, "consid": 31, "consider": 16, "consist": [6, 35], "constant": [0, 5, 7, 31], "constel": 22, "constitu": 22, "constrain": 22, "constraint": [22, 36], "construct": [0, 1, 2, 3, 4, 5, 6, 7, 29], "constructor": [0, 2, 5, 7], "consult": 31, "consum": 0, "contain": [5, 13, 22, 35], "content": [0, 22, 26], "context": [5, 31, 35], "continu": [0, 2, 26, 33], "contract": 38, "contrast": 0, "contribut": [5, 35], "contributor": 33, "control": 22, "conveni": 32, "convent": [3, 33], "convers": [0, 3, 5], "convert": [5, 29, 31], "coordin": 22, "copi": [33, 38], "copyright": 38, "coro": 30, "coroutin": 31, "correct": [5, 22], "correctli": [0, 7, 22], "correspond": [2, 4, 22], "cost": 22, "could": [0, 1, 2, 5, 6, 7, 22, 31], "count": 5, "counter": 0, "coupl": [0, 2, 5, 6, 7, 29], "cours": 0, "cover": [0, 29], "creat": [1, 2, 5, 6, 7, 8, 9, 29, 33], "cross": 31, "cumul": 5, "current": [0, 2, 5, 6, 8, 9, 26, 29, 33, 34], "current_r": [3, 5], "current_recording_r": 5, "currentvalu": [3, 5, 7], "custom": 29, "cycl": 23, "d": [0, 5, 7, 26, 33], "daemon": 5, "dai": [1, 4, 6, 23, 29], "damag": 38, "danger": 22, "data": [0, 2, 3, 6, 8, 9, 13, 22, 27], "data_model": [0, 3, 5], "datamodel": [0, 2, 5, 7], "date": [29, 35], "de": 29, "deadlin": 22, "deal": [29, 33, 38], "debug": 32, "decid": 22, "decis": 22, "declar": [0, 2, 5, 7, 22], "decor": 0, "decreas": [0, 4, 5, 6], "def": [0, 3, 5], "default": [0, 1, 3, 7], "defaultconfigur": 7, "defer": 29, "defin": [0, 2, 5, 7, 22, 29, 31, 32, 34], "definit": [0, 2, 3, 5, 7, 22, 29], "degrad": 5, "degre": 35, "delai": [0, 5, 22, 30], "deleg": 0, "delet": [22, 33], "delimit": 29, "deliv": 22, "depend": [0, 20, 22, 23, 26, 29, 35], "deploy": [0, 35], "depth": 22, "deriv": [0, 3, 8, 9, 29], "describ": [0, 5, 16, 22, 26, 32, 33, 36, 40], "descript": [22, 33], "deserv": 35, "design": [0, 21, 22, 33], "desir": [3, 22, 23], "despit": 5, "detail": [0, 1, 23, 27, 35], "detect": 22, "determin": [5, 20], "develop": [32, 33, 35], "deviat": 22, "did": [5, 6, 22], "differ": [0, 2, 5, 20, 22, 23, 29], "difficult": [22, 31], "direct": 1, "directli": [0, 2, 5, 22, 29, 31], "directori": [34, 35], "discoveri": 20, "discret": [0, 2, 5, 7, 24, 29, 37], "discreteeffect": [0, 3], "discreteresourc": 2, "discreteresourcemonad": 2, "discuss": 33, "disposit": 22, "dist": 39, "distanc": [20, 29], "distinct": 29, "distinguish": [0, 29], "distribut": [26, 38], "divid": [2, 3, 5, 16], "do": [0, 1, 2, 3, 4, 5, 6, 7, 13, 16, 24, 28, 31, 32, 38], "doc": [26, 32, 34, 35, 37], "docstr": [31, 35], "document": [0, 33, 38], "doe": [0, 5, 22, 33, 36], "doesn": [5, 7], "domain": 29, "don": [0, 1, 2, 5, 6, 22, 33], "done": [0, 22, 29, 31], "doubl": [0, 2, 5, 7, 31], "doublevaluemapp": 7, "down": [4, 5, 7], "downlink": [5, 6], "download": 40, "draft": 22, "drag": [1, 4], "drawback": 5, "drive": [4, 8, 9], "driver": 31, "drop": [1, 4, 7, 29], "dropdown": 7, "duck": 31, "due": [0, 32], "duplic": [26, 33], "durat": [0, 1, 4, 5, 7, 22, 27, 28, 30], "duration_str": 29, "dure": [5, 22, 23, 36], "duti": 23, "dynam": [22, 26], "e": [0, 1, 5, 22, 29, 31], "each": [0, 5, 6, 32, 33], "earli": 22, "earlier": 1, "earth": [5, 22, 29], "easi": [5, 22], "easier": 33, "easiest": [0, 6], "easili": [4, 5], "ecosystem": 37, "edit": [1, 4, 6, 33], "effect": [0, 1, 2, 5, 8, 9, 22, 33, 36], "effici": 5, "effort": 33, "either": [22, 33], "elaps": 5, "element": 29, "elsewher": 31, "emit": [0, 2, 26], "en": 26, "enabl": [22, 26, 31], "encount": 32, "end": [0, 4, 5, 6], "endpoint": 33, "enforc": 6, "engin": [23, 31], "enhanc": 26, "enough": [6, 7, 22, 23], "ensur": [0, 7, 29, 33], "enter": 22, "entir": 5, "entri": 31, "enum": 2, "enumer": [0, 7, 8, 9, 22, 31], "enumvaluemapp": 7, "envelop": 22, "environ": [22, 34, 40], "environment": [5, 22], "epagomen": 29, "ephemerid": 29, "equal": 5, "err": 22, "error": [0, 5, 23, 24], "errorregistrar": 7, "esoter": 35, "especi": 2, "essenti": 0, "estim": 29, "etc": [0, 1, 2, 5], "evalu": 26, "even": [5, 22, 26, 29, 33], "event": [0, 22, 24, 29, 37, 38], "eventu": [0, 5], "everi": [5, 7, 22, 26, 33], "evid": 29, "evolut": 26, "evolv": 0, "exact": 29, "exampl": [0, 2, 5, 7, 22, 29, 30], "except": [2, 5, 29], "execut": [0, 22, 36], "exhaust": 22, "exist": [0, 7, 21, 22, 26, 29, 31, 39], "expect": [0, 5, 22, 31, 35], "expens": 6, "explain": 35, "explicit": 31, "explicitli": 0, "explor": [5, 6], "export": 7, "expos": [0, 5, 7, 31], "express": [26, 38], "extend": 0, "extens": 35, "extent": 31, "extern": 23, "f": [26, 33], "face": 35, "fact": [5, 22], "factori": 29, "fail": [0, 22], "failur": 22, "fairli": 5, "fall": [22, 33], "fals": [22, 30], "familiar": [22, 35], "famous": 22, "far": [5, 6, 22, 29], "fashion": 22, "fast": 22, "fault": 22, "fdir": 22, "feasibl": 22, "featur": [5, 33, 35], "few": [0, 5, 22, 33], "fewer": [6, 22], "fidel": [5, 24], "field": [2, 7, 29], "figur": 5, "file": [0, 1, 13, 24, 32, 33, 38, 39], "fill": [0, 5], "final": [0, 4, 5, 7], "find": [0, 5, 6, 7, 27], "fine": 22, "first": [1, 2, 4, 5, 6, 8, 9, 22, 26, 34, 40], "fit": 38, "fix": [0, 5, 22, 29, 33], "flexibl": 7, "flight": 22, "float": 29, "focu": [22, 35], "focus": [0, 22], "follow": [0, 1, 2, 5, 7, 22, 26, 33, 35, 38, 40], "forc": 33, "forget": [4, 26], "form": [0, 22], "formul": 26, "fortun": 5, "forward": [0, 5, 26], "found": 22, "four": 6, "framework": [0, 3, 5, 7, 37], "free": [22, 38], "free_replicated_data_typ": 26, "frequent": 29, "from": [0, 2, 3, 7, 8, 9, 15, 22, 26, 29, 32, 33, 38, 39], "from_str": [0, 29], "front": 33, "fsw": 22, "full": [0, 5], "fulli": 0, "fun": 5, "function": [0, 2, 5, 26, 27, 29, 31, 35, 36], "fundament": [0, 29], "furnish": 38, "furo": 35, "further": [9, 22, 24, 26, 29, 35], "futur": [26, 34], "g": [0, 1, 22, 29], "gain": 15, "gb": 5, "gbit": 5, "gener": [0, 7, 23, 26, 31, 33, 35], "geometri": [5, 13], "get": [2, 3, 4, 5, 6, 7, 8, 9, 21, 35, 40], "get_data_r": [2, 3, 7], "getter": 2, "gigabit": 5, "gil": 31, "git": [33, 35], "github": [26, 33, 37], "give": [0, 1, 2, 3, 4, 7, 22, 29, 31, 33], "given": [0, 5, 6, 26, 29], "global": 31, "go": [0, 1, 2, 5, 6, 7, 9, 22, 35, 40], "goe": 6, "gold": 29, "gone": 22, "good": [5, 29], "googl": 35, "gov": 7, "grab": 7, "gradlew": [1, 6, 34], "grain": 22, "grant": 38, "granular": 0, "great": [21, 29, 35], "greatest": 22, "green": [0, 1], "gregorian": 29, "ground": 22, "grow": 5, "guarante": [24, 26], "guardrail": 22, "guid": [0, 16, 35, 37], "guidanc": 35, "guidelin": 37, "ha": [0, 1, 5, 6, 16, 20, 22, 29, 31, 33], "had": [7, 22], "half": 6, "handi": 5, "handl": 31, "happen": 3, "hard": 7, "hardcod": 7, "hardwar": 22, "have": [0, 1, 2, 3, 5, 6, 7, 22, 23, 26, 31, 32, 33, 35, 40], "haven": [0, 1], "healthi": 22, "heater": 22, "held": 29, "help": [3, 5, 31, 33], "helper": [0, 5], "here": [0, 3, 7, 16, 22, 24, 27, 29, 32, 33, 35], "herebi": 38, "hierarch": [0, 33], "high": [2, 22], "high_rat": [2, 4, 6], "higher": 34, "histori": [1, 26, 33], "hit": 5, "hold": [5, 22], "holder": 38, "hook": 7, "hopefulli": 6, "horizon": 23, "host": 26, "hour": [0, 1, 29], "hover": 1, "how": [0, 1, 3, 4, 5, 6, 13, 23, 24, 33, 35, 40], "howev": [5, 7, 22, 29], "html": [20, 32, 35], "http": [20, 26, 32, 35, 37, 40], "human": 22, "hybrid": [26, 31], "hybrid_system": 26, "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 33, 35, 37, 38], "icon": 1, "id": [1, 31], "idea": [31, 33], "ideal": 3, "ident": 22, "identifi": 22, "ii": [5, 21], "imag": 0, "imagin": [0, 2], "imbu": 22, "immedi": 4, "impact": 22, "imper": 22, "implement": [0, 5, 6, 21, 22, 26, 31], "impli": [22, 38], "implicitli": 0, "import": [0, 2, 5, 7, 16, 22, 31, 35, 40], "importantli": 22, "imposs": 22, "incapacit": 22, "includ": [0, 5, 6, 7, 22, 29, 31, 33, 35, 38, 39], "incorrect": 22, "increas": [0, 3, 4, 6, 8, 9, 22], "increment": 29, "indefinit": 22, "independ": [5, 22, 26], "index": 35, "indic": 22, "individu": [22, 23], "infinit": 5, "info": 33, "inform": [1, 22, 33], "inherit": 31, "init": 31, "initi": [0, 1, 2, 5, 7, 26, 29, 32], "input": [7, 15, 22, 31], "insight": [6, 15], "insignific": 31, "inspect": 22, "instal": [8, 9, 28, 34], "instanc": [0, 1, 5], "instant": 29, "instantan": 0, "instanti": 0, "instead": [1, 2, 5, 21, 29], "institut": 38, "instruct": [1, 4, 33, 35], "instrument": [0, 2, 31], "integ": [0, 29], "integr": [0, 8, 9, 23, 24, 31, 33], "integrate_sampled_ssr": 5, "integration_sample_interv": [5, 7], "integrationsampleinterv": 7, "intend": [0, 2, 16, 22], "intens": 22, "intent": 22, "intention": 29, "interact": [22, 33], "intercalari": 29, "interest": [0, 2, 5, 6, 22], "interestingli": 0, "interfac": [7, 26, 33], "interleav": 0, "intern": 29, "interpret": [22, 31], "interspers": 22, "interv": [5, 6, 7], "intract": 16, "intro": [9, 16], "introduc": [0, 3, 6, 22, 26], "invalid": [0, 22], "invok": 29, "involv": 22, "io": 26, "isn": [3, 5, 11], "iso": 29, "isol": 22, "issu": [0, 5, 33], "iszero": 5, "its": [0, 2, 3, 5, 7, 15, 22, 23, 26, 31], "itself": [0, 5, 22], "jar": [1, 13, 31], "java": [0, 1, 2, 3, 4, 5, 6, 7, 29, 31, 34, 35, 40], "jdk": 34, "jpl": [7, 19], "jre": 40, "jump": 7, "jupyt": 13, "just": [0, 1, 4, 5, 29], "justifi": 22, "k": 31, "kbp": [2, 3], "keep": [0, 5, 22, 26, 35], "kei": [20, 22, 39], "kept": 31, "kernel": 29, "keyword": [0, 30, 35], "kind": [22, 38], "know": [0, 3, 7, 22, 35], "known": [5, 29], "komputasi": 26, "label": 30, "lack": 22, "lambda": [0, 2], "languag": 22, "larg": [22, 23], "larger": [6, 31], "largest": 29, "last": [0, 5], "later": [0, 3], "latest": [5, 32, 33], "latitud": 29, "lead": 22, "leak": 31, "learn": [0, 5, 6, 24, 37], "least": 33, "leav": 1, "left": [1, 4, 7, 33], "less": [3, 22, 29, 35], "let": [0, 1, 2, 3, 4, 5, 6, 35], "level": [0, 5, 7, 22], "leverag": [5, 21, 31], "liabil": 38, "liabl": 38, "lib": [1, 34], "librari": [34, 35], "lightweight": 22, "like": [0, 2, 3, 5, 6, 7, 22, 26, 29, 32, 33, 35], "limit": [0, 5, 20, 22, 38], "line": [0, 2, 4, 5, 7, 16, 33], "linear": [0, 5, 6, 33], "linearli": 5, "link": [0, 20, 29, 35], "list": [2, 26], "littl": [3, 5, 35], "live": [5, 35], "ll": [0, 1, 2, 3, 4, 5, 6, 7, 8, 34], "load": 7, "local": 33, "locat": 34, "lock": 31, "log": 0, "logic": [0, 5], "long": [3, 7, 22, 29, 31], "longer": [5, 6], "longest": 22, "look": [0, 1, 2, 3, 5, 6, 7, 8, 9, 29, 31], "loop": [5, 31], "lose": 6, "loss": 22, "lost": [22, 33], "lot": 35, "love": 33, "low": [2, 22], "low_rat": [2, 3, 4], "lower": [5, 22], "lowercas": 35, "lowercasenospac": 31, "lunar": 29, "m": 39, "machin": 40, "made": [0, 5, 33], "mag": [7, 20], "magdatacollectionmod": [2, 3, 7], "magdatamod": [2, 3, 4, 7], "magdatar": [2, 3, 4, 7], "magic": [3, 5], "magnetomet": [2, 3, 5], "mai": [3, 5, 6, 7, 15, 16, 22, 23, 29, 31, 32, 35], "main": [5, 31, 32], "maintain": 0, "major": 22, "make": [0, 1, 5, 6, 7, 24, 31, 32, 33, 35, 39, 40], "manag": [23, 26, 31], "maneuv": 22, "mani": [0, 5, 6, 15, 21, 22, 23], "map": [2, 5, 7, 29], "mark": 22, "martian": 29, "match": [0, 1, 7, 22], "mathwork": 20, "matt": 22, "mattdaili": 37, "max": [5, 7], "maxim": 22, "maximum": [6, 29], "mayb": [22, 35], "mb": 5, "mbit": 5, "mbp": [0, 3, 4], "mean": [5, 22, 26, 30, 31, 32, 35], "meaning": 0, "measur": [0, 29], "mechan": 22, "media": 20, "megabit": [0, 5], "member": [0, 5, 7], "memori": 31, "mental": 22, "mention": 22, "menu": [1, 7], "merchant": 38, "mere": [23, 31, 33], "merg": [33, 38], "merlin": [7, 26, 29, 31, 36], "messag": [0, 1, 22, 33], "messi": 5, "met": [5, 33], "method": [0, 2, 3, 7, 8, 9, 24, 29, 31], "micro": 29, "microsecond": 29, "might": [5, 13, 32], "millisecond": 29, "min": 5, "mind": [0, 22, 35], "minim": [22, 26], "minut": 29, "mirror": 22, "miss": 22, "mission": [1, 2, 4, 5, 6, 7, 8, 9, 16, 21, 22, 23, 26, 31, 32], "missionmodel": [0, 1, 7], "mit": 38, "mitig": 22, "mode": [2, 3, 4, 5, 7, 22], "model": [2, 4, 5, 6, 7, 8, 9, 13, 16, 21, 22, 23, 26, 30, 31, 32, 36], "model_act": [0, 27, 28], "modifi": [0, 1, 38], "modul": [5, 28, 31, 32], "moment": 7, "mont": [13, 23], "month": 29, "moon": 29, "more": [0, 1, 5, 6, 16, 22, 23, 24, 26, 31, 33, 35, 37], "most": [0, 5, 16, 22, 32], "move": [0, 1, 5, 7, 26], "msl": 22, "much": [2, 5, 6, 23], "multipl": [4, 6, 22, 29, 34], "multipli": [2, 5, 29], "must": [0, 5, 7, 22, 30, 33], "muszynski": 22, "mutabl": 26, "mutableresourc": [0, 2, 5], "mv": 34, "mvsteen": 26, "my": 33, "myst": 35, "mystmd": 35, "naif": 19, "name": [0, 1, 4, 22, 32], "nasa": [7, 19, 26], "natur": 16, "neatli": 33, "necessari": 29, "necessarili": 23, "need": [0, 2, 3, 5, 7, 22, 23, 29, 31, 32, 34, 35], "needless": 26, "neg": 3, "negat": 29, "net": [3, 40], "new": [0, 1, 2, 3, 4, 5, 6, 7, 8, 22, 33], "new_rat": 3, "newest": 22, "newli": 1, "next": [0, 1, 5, 6], "nice": [6, 21], "nomin": 22, "none": [28, 29], "nonetheless": 5, "noninfring": 38, "notabl": 5, "note": [1, 5, 7, 22, 29, 33], "notic": [0, 3, 4, 38], "notifi": 0, "notion": [23, 26, 29], "now": [0, 1, 2, 3, 4, 5, 6, 7, 22, 31], "num_step": 5, "number": [1, 2, 3, 5, 22, 29], "numer": [2, 5, 22], "object": [0, 5, 7, 31], "observ": [22, 23], "obstruct": 20, "obtain": 38, "occult": 20, "occur": [0, 5, 26, 32], "off": [1, 2, 4, 5, 6, 7, 22, 23], "often": [0, 5, 7, 22, 29], "ok": [0, 3, 5], "old": [3, 22], "onboard": 22, "onc": [0, 1, 3, 5, 6, 7, 22, 26, 33, 40], "one": [0, 1, 2, 3, 4, 5, 6, 16, 22, 29, 31, 32, 33], "ones": [5, 22], "onli": [0, 3, 5, 7, 29, 31, 34], "onto": [1, 2, 4, 33], "open": [1, 4, 33, 35], "oper": [0, 2, 3, 20, 22, 23, 26, 29, 31], "opportun": [0, 4, 5, 22], "oppos": 5, "optim": 22, "option": [5, 7, 33], "orbit": [19, 29], "order": [3, 5, 7, 22, 26, 29], "ordin": 29, "org": [26, 32, 35, 40], "organ": 13, "origin": [5, 7, 22, 31, 33], "other": [0, 2, 5, 6, 7, 20, 22, 29, 32, 38], "otherwis": [5, 38], "our": [0, 1, 2, 3, 4, 5, 6, 7, 33, 37], "out": [0, 5, 6, 7, 33, 35, 37, 38], "outcom": 22, "output": 31, "outsid": 29, "outstand": 33, "over": [0, 1, 2, 5, 6, 33], "overal": 3, "overflow": 5, "overhead": 31, "overrid": 31, "overview": 0, "overwrit": 35, "own": [0, 5, 29], "packag": [0, 7, 27, 29, 34], "packet": 22, "padawan": 0, "page": [0, 1, 2, 3, 4, 5, 6, 7, 11, 35], "pai": 33, "pair": 22, "palat": 22, "panel": [1, 4, 7, 22], "paradigm": [22, 31], "parallel": 26, "param": [29, 30], "paramet": [0, 1, 3, 4, 5, 6, 7, 22, 23, 29], "paraphras": 26, "parent": [7, 26], "parenthesi": 0, "pars": 35, "part": [7, 22], "partial": [24, 32], "particular": [22, 29, 38], "particularli": 35, "partit": 26, "pass": [0, 5, 7, 22, 31, 33], "passag": 29, "patch": 33, "path": [20, 31], "paus": [0, 31], "pdf": [20, 26], "peopl": 35, "pep8": 31, "per": 0, "perceiv": 22, "perfectli": 5, "perform": [0, 1, 5, 20, 22, 23, 26, 29], "perhap": [2, 22, 31], "period": [0, 29], "perman": 22, "permiss": 38, "permit": 38, "persist": 22, "person": 38, "persu": 35, "perturb": 15, "perus": 0, "peski": 0, "phase": 23, "phenomena": 26, "pick": 1, "piec": [5, 22], "piecewis": 0, "pip": [34, 40], "place": [0, 2, 22], "plai": [1, 4, 20, 21, 23], "plan": [0, 1, 4, 5, 6, 7, 23, 24, 36], "planner": [5, 7], "pleas": [0, 1, 2, 3, 4, 5, 6, 7, 33], "plu": 29, "plugin": 35, "point": [0, 1, 4, 5, 6, 7, 20, 22, 29, 31, 35], "polanskei": 22, "polynomi": [0, 6, 8, 9], "polynomialresourc": [5, 7], "pop": [1, 4], "popul": [1, 4, 11], "popular": 19, "port": [0, 1, 2, 3, 4, 5, 6, 7, 31], "portion": 38, "pose": 31, "posit": 22, "possibl": [0, 5, 22, 31, 33], "power": [13, 22], "powerless": 22, "practic": [22, 32, 35], "pre": 0, "precis": [22, 23, 29], "preclud": 36, "predic": 36, "predict": [0, 22], "prefer": [31, 33], "prefix": [26, 31], "preliminari": 26, "presenc": 29, "present": [0, 33], "preserv": 29, "prevent": 0, "previou": [5, 22, 33], "previous_r": 5, "previous_recording_r": 5, "previousrecording_r": 7, "primari": 0, "primarili": 0, "primit": [0, 5], "prior": [0, 7, 32], "privat": [5, 31], "probabl": 5, "problem": 29, "process": [0, 21, 22, 23, 31], "produc": 6, "profil": [0, 1, 5, 6, 22], "programm": 5, "progress": [0, 5], "project": [13, 33, 40], "promot": 22, "properti": [0, 20, 22, 26, 29, 31], "protect": 22, "prototyp": 31, "prove": 22, "proven": 22, "provid": [0, 1, 3, 5, 7, 19, 22, 23, 27, 29, 30, 31, 35, 38], "prudent": 22, "ptolemi": 21, "public": [7, 31], "publish": [34, 38], "pull": 0, "purpos": [20, 22, 38], "push": 33, "put": [1, 4, 7, 22, 26], "py": [0, 31, 32], "py4j": 31, "pymerlin": [8, 9, 13, 21, 23, 27, 31, 35, 40], "pypirc": 39, "pyspark": [31, 32], "pytest": 34, "python": [0, 1, 2, 3, 4, 5, 6, 7, 19, 32, 34, 35, 40], "python3": [39, 40], "qualiti": 26, "quantiti": [0, 5, 29], "queri": [26, 33], "quickli": [22, 23], "quickstart": [0, 37], "quit": 7, "rang": [0, 5, 22, 29], "rapid": 31, "rare": 22, "rate": [0, 1, 2, 3, 4, 7, 8, 9], "rather": [2, 31, 36], "re": [5, 21, 24, 29, 31, 33, 40], "reach": [0, 5, 6, 33], "react": 5, "reaction": 5, "read": [0, 24, 26, 33, 35, 37], "readabl": 33, "readi": [7, 33, 37, 40], "real": [5, 33], "realiti": 5, "realli": 5, "reason": [5, 22, 33], "rebas": 33, "recal": [6, 7, 22], "receiv": [20, 22], "recent": 22, "recharg": 22, "recogn": 0, "recommend": [5, 8, 22, 32], "record": [0, 5, 7, 9, 22], "recording_r": [0, 1, 2, 3, 4, 5, 7], "recoveri": 22, "rectangl": 5, "recur": 5, "red": 4, "reduc": 22, "refer": [4, 5, 7, 29, 32, 35], "referenc": [22, 29], "reflect": 3, "regard": 26, "regist": [0, 2, 5], "registr": [2, 5, 7], "registrar": [0, 2, 5, 7], "regular": [29, 35], "reimann": 5, "reject": 22, "rel": 23, "relat": [5, 33], "relationship": [0, 5], "releas": 40, "relev": 35, "reli": [29, 33], "reliabl": [22, 23], "remain": [2, 6], "remaind": 6, "rememb": 5, "remind": 0, "remov": [5, 31], "render": [0, 5], "renew": 0, "repeat": 35, "replac": [0, 5, 7], "repo": 33, "repositori": [33, 39], "repres": [0, 22, 29, 31, 35], "represent": [22, 29], "reproduc": 35, "request": 3, "requir": [5, 22, 23, 26, 31, 33], "resembl": 22, "resolut": 29, "resourc": [1, 3, 4, 6, 7, 8, 9, 22, 26, 31, 33], "respect": [2, 22], "respons": 22, "rest": 31, "restart": 5, "restor": 0, "restrict": [0, 22, 31, 33, 38], "result": [0, 1, 2, 3, 5, 6, 7, 22, 29], "resum": [0, 31], "retriev": 5, "retrospect": 29, "return": [5, 7, 29, 30, 31], "reusabl": 22, "revers": 0, "review": 22, "rf": 39, "right": [0, 1, 5, 38], "risk": 22, "rm": [33, 39], "role": 20, "root": 39, "rough": 29, "row": [1, 4, 6], "rule": 5, "run": [0, 1, 3, 5, 7, 15, 22, 23, 26, 31, 32, 34, 35, 39, 40], "runnabl": 5, "safe": [22, 33], "safeti": 24, "sai": [0, 2], "said": 35, "sake": 5, "salient": 35, "same": [0, 4, 6, 22, 26, 29], "sampl": [6, 7, 8, 9], "satisfi": 7, "save": 0, "scalar": 29, "scale": [5, 7], "scenario": 35, "schedul": [0, 13, 23, 24, 26, 36], "scienc": 23, "scratch": 8, "screenshot": [1, 4, 6], "scrutini": 22, "search": 33, "second": [0, 1, 5, 7, 8, 9, 29], "secondli": 5, "section": [1, 13, 22, 32, 35, 40], "see": [0, 1, 2, 3, 4, 5, 6, 7, 22, 33, 37, 40], "seem": 32, "seemingli": 29, "seen": 5, "segment": [0, 5, 6], "select": 7, "self": [0, 2, 5, 7, 35], "sell": 38, "semant": [22, 26], "send": 33, "sens": [5, 22], "sent": 22, "separ": [5, 22, 26, 29, 32, 33], "sequenc": [22, 36], "serial": 26, "serializedvalu": 31, "serious": 31, "serv": 36, "set": [0, 3, 5, 6, 7, 22, 29], "sever": 23, "shall": 38, "share": 22, "short": [0, 23], "shorter": 6, "shortli": 5, "should": [0, 1, 2, 3, 4, 5, 7, 22, 26, 29, 31, 32, 33, 35], "shouldn": 3, "show": [0, 5], "shown": [0, 1], "shut": 5, "side": [22, 31, 33], "sider": 29, "sift": 22, "sign": 29, "signal": 22, "sim": [8, 9], "similar": [1, 4, 22, 29], "simluat": 21, "simpl": [0, 2, 4, 5, 6, 7, 31], "simplest": 5, "simpli": [0, 2, 29], "simplic": 5, "simul": [0, 1, 4, 5, 6, 7, 15, 22, 23, 24, 29, 31, 32, 35, 36, 37], "sinc": [0, 1, 2, 3, 5, 29], "singl": [0, 5, 22, 26, 31, 33], "site": 35, "situat": 22, "skeleton": 22, "skew": 22, "skip": 22, "sky": 29, "slack": 33, "slightli": 5, "small": [22, 23], "smaller": 22, "smart": 7, "snake_cas": 31, "snippet": 34, "so": [0, 3, 4, 5, 6, 7, 22, 31, 34, 35, 38], "socket": 31, "softwar": [0, 22, 38], "solar": [22, 29], "solid": [0, 9], "some": [0, 1, 2, 5, 6, 16, 20, 21, 22, 24, 26, 31, 32, 33, 35], "someon": 31, "someth": [0, 3, 4, 5, 6, 22], "sometim": [0, 15, 22, 23], "somewhat": 22, "soon": [0, 6, 7, 11], "sort": 22, "sound": 22, "sourc": 31, "spacecraft": [0, 5, 8, 24, 29], "spaceflight": 35, "span": [5, 6, 23, 29], "spark": [31, 32], "spawn": [5, 26, 30], "special": [0, 2], "specif": [0, 22, 29, 35], "specifi": [0, 5, 22], "spell": 35, "sphinx": 35, "spice": [13, 29], "spiceypi": 19, "spin": 0, "spread": 5, "squash": 33, "src": 35, "srr_volume_simpl": 5, "ssr": [0, 1, 3, 5, 7], "ssr_max_capac": 7, "ssr_volume_polynomi": [5, 6, 7], "ssr_volume_sampl": [5, 6, 7], "ssr_volume_simpl": [5, 6], "ssr_volume_upon_rate_chang": [5, 6, 7], "ssrmaxcapac": 7, "sss": 20, "stai": [0, 5, 22], "stair": [5, 6], "standard": 29, "star": 29, "start": [4, 5, 6, 8, 9, 31, 37, 40], "starting_mag_mod": 7, "startingmagmod": 7, "state": [0, 7, 9, 22, 26], "statement": 0, "static": [0, 2, 3, 5, 7, 29], "statu": 30, "step": [0, 5, 6, 22, 26], "step_siz": 5, "stick": 31, "still": [5, 22, 35], "stop": 5, "stopwatch": [0, 5], "store": [0, 5], "stori": 33, "straightforward": [5, 7, 22], "strategi": 33, "strength": 23, "strict": 23, "strictli": 0, "string": 0, "strive": 22, "structur": [0, 27], "stub": 1, "style": [0, 31], "subject": [22, 38], "sublicens": 38, "submiss": [33, 37], "submit": 22, "subprocess": 31, "substanti": 38, "subsystem": [13, 22, 23], "subtract": 3, "succeed": 40, "success": [28, 40], "successfulli": 1, "suffici": [5, 23, 31], "suffix": 26, "suggest": 33, "suit": 36, "sum": [2, 5], "summari": 33, "sun": [22, 29], "supersed": 22, "support": [5, 11, 22], "sure": [1, 5, 6, 7, 22, 33, 39, 40], "surpris": 5, "surviv": 22, "swap": 22, "switch": 7, "sygyzi": 29, "symmetri": 29, "synod": 29, "syntact": 22, "syntax": 22, "system": [5, 15, 20, 21, 22, 23, 26, 29, 31, 40], "syzygi": 29, "t": [0, 1, 2, 3, 5, 6, 7, 11, 22, 26, 33], "take": [0, 1, 4, 5, 7, 22, 29, 30], "target": [13, 33], "task": [5, 26, 30, 31], "team": 22, "teas": 0, "technic": 35, "technologi": 38, "tele": 20, "telecom": 13, "telecommun": 20, "telemetri": 22, "tell": [0, 2, 33], "temperatur": 22, "templat": 7, "tempor": 29, "temurin": 40, "tenet": 31, "term": [29, 35], "termin": 40, "tertiari": 29, "test": [0, 4, 8, 9], "text": 35, "than": [2, 3, 5, 31, 33], "thei": [0, 1, 22, 30, 31, 33, 35], "them": [0, 5, 7, 20, 21, 22, 31, 32, 33], "theme": 35, "theori": 24, "therefor": [0, 22], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 22, 25, 26, 28, 29, 30, 31, 32, 33, 35, 38, 40], "thing": [0, 2, 5, 6, 13, 22, 28, 31, 35], "think": 0, "third": 5, "those": [0, 2, 3, 5, 6, 22, 35, 40], "though": [5, 22, 31, 33], "three": [2, 4, 5, 7], "threshold": [5, 6], "through": [0, 5, 22, 31, 33], "throughout": 5, "throw": 6, "thu": [5, 6], "ti": 5, "tightli": 22, "time": [0, 1, 2, 5, 6, 22, 23, 26, 29, 31, 33], "time_since_last_rate_chang": 5, "timelin": [0, 1, 4, 5, 6], "titlecas": 31, "to_number_in": [5, 29], "todai": [0, 33], "todo": [0, 26, 32], "togeth": [2, 5, 21, 22], "ton": 6, "tool": [5, 21, 23, 36], "toolkit": [19, 29], "top": [0, 1, 5, 7], "tort": 38, "total": [2, 5], "touch": 3, "toward": [20, 22, 35], "tox": 34, "track": [0, 2, 5, 8, 26], "tractabl": 22, "trade": 23, "tradition": [0, 26, 29], "train": 0, "trajectori": 22, "transact": 26, "transaction": 26, "transfer": 5, "transform": 0, "transmit": 22, "transmitt": 20, "trapezoid": 5, "trick": 1, "tricki": 3, "trigger": [5, 22], "trivial": 22, "true": [5, 22, 30], "truli": 5, "trust": 22, "try": [1, 4, 5, 7, 21, 22, 31], "tune": 24, "turn": [5, 22], "tutori": [0, 1, 2, 3, 4, 5, 6, 7, 10, 12, 14, 16, 17, 25, 34, 35, 40], "tweak": 7, "twine": [34, 39], "two": [0, 1, 4, 6, 7, 21, 22, 26, 29, 32, 33], "ty": 22, "type": [0, 1, 2, 3, 4, 5, 7, 22, 29, 31], "typic": [22, 23], "u": [0, 1, 2, 3, 4, 5, 6, 7], "ui": [0, 1, 2, 5, 6, 7], "ultim": 0, "uncertainti": 22, "uncondition": 22, "under": [0, 1, 2, 3, 4, 5, 6, 7, 22], "underflow": 5, "underli": 29, "underscor": 31, "understand": 22, "understood": 31, "undesir": 22, "unexpect": 22, "unfortun": 29, "unintent": 22, "uniqu": 0, "unit": [0, 3, 29], "unless": 26, "unlik": [0, 29], "unnecessari": 5, "unresolv": 33, "unsaf": 22, "unsurpris": 29, "until": [0, 4, 6, 22, 26, 31], "up": [0, 1, 2, 4, 5, 7, 16, 22, 31, 33, 35], "updat": [0, 7, 8, 9, 33], "upgrad": 22, "upload": [1, 4, 6, 7, 26, 31, 39], "upon": [8, 9], "upon_recording_rate_upd": 5, "upper": 5, "us": [0, 1, 2, 5, 6, 7, 8, 9, 13, 15, 22, 29, 32, 33, 34, 35, 37, 38], "usabl": 24, "user": [0, 3, 8, 33, 35], "usual": 22, "v": [24, 33], "valid": [0, 1, 6, 24, 36], "valu": [0, 1, 2, 4, 5, 7, 8, 9, 22, 26, 29], "var": 7, "variabl": [0, 5, 7, 26, 31, 35], "varianc": 15, "variat": [15, 23], "variou": [0, 6], "ve": 26, "vector": 22, "veri": [5, 22, 35], "verif": 22, "verifi": 22, "version": [0, 1, 5, 6, 22, 26, 33, 34], "via": [0, 7, 22, 31, 33], "viabl": 31, "view": [0, 1, 5, 6, 7, 22, 35], "violat": 36, "virtual": 40, "volum": [0, 6, 8, 9, 13], "voyag": 22, "wa": [0, 2, 5, 22, 28, 29], "wai": [1, 5, 6, 16, 22, 26, 29, 32], "wait_until": 30, "walk": 5, "want": [0, 2, 3, 5, 13, 22, 31, 33], "warn": [1, 36], "warranti": 38, "wast": [22, 26], "we": [0, 1, 2, 3, 4, 5, 6, 7, 16, 22, 26, 29, 32, 33], "week": [23, 29], "welcom": [0, 35], "well": [0, 5, 20, 22, 29, 31], "went": 33, "were": [5, 6, 22], "what": [0, 5, 6, 7, 22, 26, 32, 33, 35], "whatev": 7, "when": [0, 1, 2, 3, 4, 5, 6, 7, 16, 21, 22, 31, 33, 35], "whenev": [5, 26], "wheneverupd": 5, "where": [0, 3, 5, 22, 26, 29, 31, 35], "whether": [20, 22, 38], "which": [0, 1, 2, 3, 4, 5, 6, 7, 22, 29, 30, 31, 33], "while": [5, 22, 26, 31], "who": [5, 31, 35], "whole": [16, 22], "whom": 38, "whose": [0, 5, 29], "why": 31, "wiki": 26, "wikipedia": [26, 29], "wise": 5, "within": [0, 1, 3, 7, 8, 9, 22, 29], "without": [0, 22, 31, 38], "won": 7, "word": [0, 2], "wordpress": 26, "work": [5, 6, 22, 26, 29, 33, 35], "wors": 29, "worst": 22, "worth": 31, "would": [0, 5, 6, 21, 22, 31, 33], "wp": 26, "wrap": 5, "write": [0, 8, 16, 22, 26, 31, 33, 34, 35], "written": [0, 22], "wrong": 22, "wrote": 1, "www": [20, 40], "x": [22, 26], "y": 22, "year": 29, "yet": [1, 5, 7, 11], "yield": 29, "you": [0, 1, 2, 3, 4, 5, 6, 7, 8, 13, 16, 24, 27, 29, 32, 33, 34, 35, 37, 40], "your": [1, 4, 5, 7, 8, 9, 13, 26, 28, 29, 32, 33, 34, 39, 40], "zero": [4, 5, 29], "zoom": 6}, "titles": ["Getting Started", "Model Test Drive", "Enumerated and Derived Resources", "Using Current Value in an Effect Model", "Second Look", "Integrating Data Rate", "Integral Method Comparison", "Sim Configuration", "Intro Tutorial: Solid State Recorder", "Tutorials", "Going further", "Build an Aerie-compatible JAR file", "Modeling Data Volume", "User Guides", "How to use pymerlin in Jupyter", "Monte-Carlo analyses", "How to organize your project", "Modeling Power", "Scheduling", "Using spice for geometry", "Modeling Telecom", "Co-Simulation", "Command Errors", "Tuning Fidelity", "Background", "Planning and Scheduling", "Discrete Event Simulation", "API Reference", "pymerlin", "pymerlin.duration", "pymerlin.model_actions", "Architecture", "Common Errors", "Contributing", "Developing pymerlin", "Documentation", "Glossary", "pymerlin", "License", "Publishing to pypi", "Quickstart"], "titleterms": {"1": 5, "2": 5, "3": 5, "4": 5, "But": 31, "The": 26, "about": 31, "activ": [0, 5, 22], "aeri": [11, 31, 35], "aerospac": 35, "an": [3, 11, 22], "analys": 15, "api": [27, 28, 29, 30], "approach": 31, "architectur": 31, "assum": 35, "async": 31, "audienc": 35, "autonom": 22, "avoid": 22, "await": 31, "background": 24, "base": 5, "build": [11, 33, 34], "carlo": 15, "chang": [5, 22], "circular": 32, "class": 29, "co": 21, "code": [33, 37], "command": 22, "commit": 33, "common": 32, "comparison": 6, "compat": 11, "configur": 7, "content": [28, 29, 30], "contribut": [33, 37], "creat": 0, "current": 3, "data": [5, 12, 28, 29], "deriv": [2, 5], "develop": 34, "discret": 26, "do": 22, "document": 35, "drive": 1, "durat": 29, "effect": 3, "enumer": 2, "error": [22, 32], "event": 26, "feedback": 37, "fidel": 23, "file": [11, 16, 22], "first": 0, "from": 5, "function": [28, 30], "further": [10, 21], "geometri": 19, "get": [0, 37], "glossari": [35, 36], "go": 10, "good": 33, "got": 33, "guarante": 22, "guid": 13, "guidelin": 33, "help": 37, "how": [14, 16, 22, 37], "idiom": 31, "import": 32, "importerror": 32, "increas": 5, "instal": [0, 40], "integr": [5, 6, 22], "intro": 8, "jar": [11, 34], "jupyt": 14, "knowledg": 35, "licens": 38, "look": 4, "make": 22, "method": [5, 6, 22], "mission": 0, "model": [0, 1, 3, 12, 17, 20], "model_act": 30, "modul": [29, 30], "mont": 15, "organ": 16, "over": 31, "packag": 28, "partial": 22, "perform": 31, "plan": [22, 25], "polynomi": 5, "power": 17, "pr": 33, "practic": 33, "problem": 33, "program": 35, "project": 16, "provid": 37, "publish": 39, "pull": 33, "pymerlin": [0, 14, 28, 29, 30, 33, 34, 37], "pypi": 39, "python": 31, "question": 33, "quickstart": 40, "rate": 5, "re": 22, "read": 21, "record": 8, "refer": 27, "referenc": 35, "request": 33, "resourc": [0, 2, 5], "review": 33, "round": 31, "safeti": 22, "sampl": 5, "schedul": [18, 25], "second": 4, "sim": 7, "simul": [21, 26], "solid": 8, "sourc": 37, "spacecraft": 22, "spice": 19, "stack": 32, "start": 0, "state": 8, "style": 35, "submit": 33, "submodul": 28, "subsystem": 16, "target": 35, "telecom": 20, "test": [1, 34], "theori": 26, "thread": 31, "trace": 32, "trip": 31, "tune": 23, "tutori": [8, 9], "updat": 5, "upon": 5, "us": [3, 14, 19, 31], "usabl": 22, "user": 13, "v": [22, 31], "valid": 22, "valu": 3, "volum": [5, 12], "what": 31, "within": 5, "you": 22, "your": [0, 16]}}) \ No newline at end of file +Search.setIndex({"alltitles": {"API": [[28, "api"], [29, "api"], [30, "api"]], "API Reference": [[27, "api-reference"]], "Activity Planning": [[22, "activity-planning"]], "Approachability over performance": [[31, "approachability-over-performance"]], "Architecture": [[31, "architecture"]], "Assumed Aerospace knowledge": [[35, "assumed-aerospace-knowledge"]], "Assumed programming knowledge": [[35, "assumed-programming-knowledge"]], "Async/await vs threads": [[31, "async-await-vs-threads"]], "Avoiding Command Errors": [[22, "avoiding-command-errors"]], "Background": [[24, "background"]], "Build an Aerie-compatible JAR file": [[11, "build-an-aerie-compatible-jar-file"]], "Building pymerlin": [[33, "building-pymerlin"]], "Building pymerlin.jar": [[34, "building-pymerlin-jar"]], "But what about Aerie idioms?": [[31, "but-what-about-aerie-idioms"]], "Classes": [[29, "classes"]], "Co-Simulation": [[21, "co-simulation"]], "Command Errors": [[22, "command-errors"]], "Common Errors": [[32, "common-errors"]], "Contributing": [[33, "contributing"]], "Creating a Mission Model": [[0, "creating-a-mission-model"]], "Data": [[28, "data"], [29, "data"]], "Developing pymerlin": [[34, "developing-pymerlin"]], "Discrete Event Simulation": [[26, "discrete-event-simulation"]], "Documentation": [[35, "documentation"]], "Emphasize debuggability": [[31, "emphasize-debuggability"]], "Enumerated and Derived Resources": [[2, "enumerated-and-derived-resources"]], "File-by-subsystem": [[16, "file-by-subsystem"]], "Functions": [[28, "functions"], [30, "functions"]], "Further Reading": [[21, "further-reading"]], "Getting Started": [[0, "getting-started"]], "Glossary": [[35, "glossary"], [36, "glossary"]], "Going further": [[10, "going-further"]], "Good Commit, PR, and Code Review Practices": [[33, "good-commit-pr-and-code-review-practices"]], "Got a Question or Problem?": [[33, "got-a-question-or-problem"]], "How do you guarantee the safety of an autonomous spacecraft?": [[22, "how-do-you-guarantee-the-safety-of-an-autonomous-spacecraft"]], "How to get help, contribute, or provide feedback": [[37, "how-to-get-help-contribute-or-provide-feedback"]], "How to organize your project": [[16, "how-to-organize-your-project"]], "How to use pymerlin in Jupyter": [[14, "how-to-use-pymerlin-in-jupyter"]], "ImportError - circular import": [[32, "importerror-circular-import"]], "Installation": [[40, "installation"]], "Installing pymerlin": [[0, "installing-pymerlin"]], "Integral Method Comparison": [[6, "integral-method-comparison"]], "Integrated vs Partial validation": [[22, "integrated-vs-partial-validation"]], "Integrating Data Rate": [[5, "integrating-data-rate"]], "Intro Tutorial: Solid State Recorder": [[8, "intro-tutorial-solid-state-recorder"]], "License": [[38, "license"]], "Making changes to command files": [[22, "making-changes-to-command-files"]], "Method 1 - Increase volume within activity": [[5, "method-1-increase-volume-within-activity"]], "Method 2 - Sample-based volume update": [[5, "method-2-sample-based-volume-update"]], "Method 3 - Update volume upon change to rate": [[5, "method-3-update-volume-upon-change-to-rate"]], "Method 4 - Derived volume from polynomial resource": [[5, "method-4-derived-volume-from-polynomial-resource"]], "Methods of Validation": [[22, "methods-of-validation"]], "Model Test Drive": [[1, "model-test-drive"]], "Modeling Data Volume": [[12, "modeling-data-volume"]], "Modeling Power": [[17, "modeling-power"]], "Modeling Telecom": [[20, "modeling-telecom"]], "Module Contents": [[29, "module-contents"], [30, "module-contents"]], "Monte-Carlo analyses": [[15, "monte-carlo-analyses"]], "Package Contents": [[28, "package-contents"]], "Planning and Scheduling": [[25, "planning-and-scheduling"]], "Publishing to pypi": [[39, "publishing-to-pypi"]], "Pull Request Guidelines": [[33, "pull-request-guidelines"]], "Quickstart": [[40, "quickstart"]], "Re-usable command files": [[22, "re-usable-command-files"]], "Referencing Aerie": [[35, "referencing-aerie"]], "Round trips": [[31, "round-trips"]], "Scheduling": [[18, "scheduling"]], "Second Look": [[4, "second-look"]], "Sim Configuration": [[7, "sim-configuration"]], "Source code": [[37, "source-code"]], "Stack traces": [[32, "stack-traces"]], "Style": [[35, "style"]], "Submitting a Pull Request": [[33, "submitting-a-pull-request"]], "Submodules": [[28, "submodules"]], "Target Audience": [[35, "target-audience"]], "Testing": [[34, "testing"]], "The Theory": [[26, "the-theory"]], "Tuning Fidelity": [[23, "tuning-fidelity"]], "Tutorials": [[9, "tutorials"]], "Use pythonic idioms": [[31, "use-pythonic-idioms"]], "User Guides": [[13, "user-guides"]], "Using Current Value in an Effect Model": [[3, "using-current-value-in-an-effect-model"]], "Using spice for geometry": [[19, "using-spice-for-geometry"]], "Your First Activity": [[0, "your-first-activity"]], "Your First Resource": [[0, "your-first-resource"]], "pymerlin": [[28, "module-pymerlin"], [37, "pymerlin"]], "pymerlin.duration": [[29, "module-pymerlin.duration"]], "pymerlin.model_actions": [[30, "module-pymerlin.model_actions"]]}, "docnames": ["1_tutorials/getting-started/1-gettingstarted", "1_tutorials/getting-started/2-model-test-drive", "1_tutorials/getting-started/3-enum-derived-resource", "1_tutorials/getting-started/4-current-value", "1_tutorials/getting-started/5-second-look", "1_tutorials/getting-started/6-integrating-rate", "1_tutorials/getting-started/7-integration-comparision", "1_tutorials/getting-started/8-simulation-config", "1_tutorials/getting-started/index", "1_tutorials/index", "1_tutorials/tutorial2", "2_guides/build-jar", "2_guides/datamodel", "2_guides/index", "2_guides/jupyter", "2_guides/monte-carlo", "2_guides/organization", "2_guides/powermodel", "2_guides/scheduling", "2_guides/spice", "2_guides/telecom", "3_explanation/co-simulation", "3_explanation/command-errors", "3_explanation/fidelity", "3_explanation/index", "3_explanation/planning", "3_explanation/simulation", "apidocs/index", "apidocs/pymerlin/pymerlin", "apidocs/pymerlin/pymerlin.duration", "apidocs/pymerlin/pymerlin.model_actions", "architecture", "common-errors", "contribute", "developer", "documentation", "glossary", "index", "license", "publishing", "quickstart"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["1_tutorials/getting-started/1-gettingstarted.md", "1_tutorials/getting-started/2-model-test-drive.md", "1_tutorials/getting-started/3-enum-derived-resource.md", "1_tutorials/getting-started/4-current-value.md", "1_tutorials/getting-started/5-second-look.md", "1_tutorials/getting-started/6-integrating-rate.md", "1_tutorials/getting-started/7-integration-comparision.md", "1_tutorials/getting-started/8-simulation-config.md", "1_tutorials/getting-started/index.md", "1_tutorials/index.md", "1_tutorials/tutorial2.md", "2_guides/build-jar.md", "2_guides/datamodel.md", "2_guides/index.md", "2_guides/jupyter.md", "2_guides/monte-carlo.md", "2_guides/organization.md", "2_guides/powermodel.md", "2_guides/scheduling.md", "2_guides/spice.md", "2_guides/telecom.md", "3_explanation/co-simulation.md", "3_explanation/command-errors.md", "3_explanation/fidelity.md", "3_explanation/index.md", "3_explanation/planning.md", "3_explanation/simulation.md", "apidocs/index.rst", "apidocs/pymerlin/pymerlin.rst", "apidocs/pymerlin/pymerlin.duration.rst", "apidocs/pymerlin/pymerlin.model_actions.rst", "architecture.md", "common-errors.md", "contribute.md", "developer.md", "documentation.md", "glossary.md", "index.md", "license.md", "publishing.md", "quickstart.md"], "indexentries": {"__all__ (in module pymerlin)": [[28, "pymerlin.__all__", false]], "__eq__() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.__eq__", false]], "__ge__() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.__ge__", false]], "__gt__() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.__gt__", false]], "__le__() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.__le__", false]], "__lt__() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.__lt__", false]], "__repr__() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.__repr__", false]], "_yield_with() (in module pymerlin.model_actions)": [[30, "pymerlin.model_actions._yield_with", false]], "aerie": [[36, "term-Aerie", true]], "call() (in module pymerlin.model_actions)": [[30, "pymerlin.model_actions.call", false]], "checkout() (in module pymerlin)": [[28, "pymerlin.checkout", false]], "delay() (in module pymerlin.model_actions)": [[30, "pymerlin.model_actions.delay", false]], "duration (class in pymerlin.duration)": [[29, "pymerlin.duration.Duration", false]], "effect model": [[36, "term-Effect-Model", true]], "from_string() (pymerlin.duration.duration static method)": [[29, "pymerlin.duration.Duration.from_string", false]], "hour (in module pymerlin.duration)": [[29, "pymerlin.duration.HOUR", false]], "hours (in module pymerlin.duration)": [[29, "pymerlin.duration.HOURS", false]], "merlin": [[36, "term-Merlin", true]], "microsecond (in module pymerlin.duration)": [[29, "pymerlin.duration.MICROSECOND", false]], "microseconds (in module pymerlin.duration)": [[29, "pymerlin.duration.MICROSECONDS", false]], "millisecond (in module pymerlin.duration)": [[29, "pymerlin.duration.MILLISECOND", false]], "milliseconds (in module pymerlin.duration)": [[29, "pymerlin.duration.MILLISECONDS", false]], "minute (in module pymerlin.duration)": [[29, "pymerlin.duration.MINUTE", false]], "minutes (in module pymerlin.duration)": [[29, "pymerlin.duration.MINUTES", false]], "module": [[28, "module-pymerlin", false], [29, "module-pymerlin.duration", false], [30, "module-pymerlin.model_actions", false]], "negate() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.negate", false]], "of() (pymerlin.duration.duration static method)": [[29, "pymerlin.duration.Duration.of", false]], "plus() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.plus", false]], "pymerlin": [[28, "module-pymerlin", false]], "pymerlin.duration": [[29, "module-pymerlin.duration", false]], "pymerlin.model_actions": [[30, "module-pymerlin.model_actions", false]], "second (in module pymerlin.duration)": [[29, "pymerlin.duration.SECOND", false]], "seconds (in module pymerlin.duration)": [[29, "pymerlin.duration.SECONDS", false]], "spawn_activity() (in module pymerlin.model_actions)": [[30, "pymerlin.model_actions.spawn_activity", false]], "spawn_task() (in module pymerlin.model_actions)": [[30, "pymerlin.model_actions.spawn_task", false]], "times() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.times", false]], "to_number_in() (pymerlin.duration.duration method)": [[29, "pymerlin.duration.Duration.to_number_in", false]], "validation": [[36, "term-Validation", true]], "wait_until() (in module pymerlin.model_actions)": [[30, "pymerlin.model_actions.wait_until", false]], "zero (in module pymerlin.duration)": [[29, "pymerlin.duration.ZERO", false]]}, "objects": {"": [[28, 0, 0, "-", "pymerlin"]], "pymerlin": [[28, 1, 1, "", "__all__"], [28, 2, 1, "", "checkout"], [29, 0, 0, "-", "duration"], [30, 0, 0, "-", "model_actions"]], "pymerlin.duration": [[29, 3, 1, "", "Duration"], [29, 1, 1, "", "HOUR"], [29, 1, 1, "", "HOURS"], [29, 1, 1, "", "MICROSECOND"], [29, 1, 1, "", "MICROSECONDS"], [29, 1, 1, "", "MILLISECOND"], [29, 1, 1, "", "MILLISECONDS"], [29, 1, 1, "", "MINUTE"], [29, 1, 1, "", "MINUTES"], [29, 1, 1, "", "SECOND"], [29, 1, 1, "", "SECONDS"], [29, 1, 1, "", "ZERO"]], "pymerlin.duration.Duration": [[29, 4, 1, "", "__eq__"], [29, 4, 1, "", "__ge__"], [29, 4, 1, "", "__gt__"], [29, 4, 1, "", "__le__"], [29, 4, 1, "", "__lt__"], [29, 4, 1, "", "__repr__"], [29, 4, 1, "", "from_string"], [29, 4, 1, "", "negate"], [29, 4, 1, "", "of"], [29, 4, 1, "", "plus"], [29, 4, 1, "", "times"], [29, 4, 1, "", "to_number_in"]], "pymerlin.model_actions": [[30, 2, 1, "", "_yield_with"], [30, 2, 1, "", "call"], [30, 2, 1, "", "delay"], [30, 2, 1, "", "spawn_activity"], [30, 2, 1, "", "spawn_task"], [30, 2, 1, "", "wait_until"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "data", "Python data"], "2": ["py", "function", "Python function"], "3": ["py", "class", "Python class"], "4": ["py", "method", "Python method"]}, "objtypes": {"0": "py:module", "1": "py:data", "2": "py:function", "3": "py:class", "4": "py:method"}, "terms": {"": [0, 2, 3, 4, 5, 6, 8, 15, 19, 22, 23, 29, 31, 33, 35, 36], "0": [0, 1, 2, 4, 5, 7, 29, 31], "00": [0, 29, 30], "000": 29, "000000": 29, "01": [0, 30], "01pre": 26, "03": 26, "0e3": 3, "1": [0, 1, 3, 4, 6, 8, 9, 29], "10": [0, 1, 3, 4], "100": [0, 1], "1000": 5, "11": 40, "15": 4, "170215": 26, "1e": [5, 7], "1e3": 7, "2": [1, 4, 8, 9, 20, 22, 29], "20": [1, 5], "2017": 26, "2018": 26, "2021": 38, "21": [34, 40], "24": 29, "250": [5, 7], "2ab": 20, "2nd": 6, "3": [3, 6, 7, 8, 9, 26, 34, 40], "30": 29, "3120": 40, "3rd": 26, "4": [8, 9], "5": [4, 29], "500": 2, "5000": 2, "60": [5, 7], "600": 29, "63": 29, "7": 29, "8": 31, "8601": 29, "9": 34, "A": [2, 5, 18, 22, 26, 29, 30, 36, 38], "AND": 38, "AS": 38, "And": 5, "As": [0, 2, 5, 16, 22, 29, 31, 33, 34, 35], "At": [1, 4, 33], "BE": 38, "BUT": 38, "Be": 33, "But": [0, 11, 16], "By": 5, "FOR": 38, "For": [0, 2, 3, 5, 6, 22, 29, 31, 33, 34], "IN": 38, "If": [0, 3, 5, 6, 22, 29, 31, 33, 40], "In": [0, 2, 3, 5, 7, 8, 22, 26, 29, 33, 35], "It": [0, 5, 6, 15, 21, 22, 23, 35], "NO": 38, "NOT": 38, "No": 33, "Not": 22, "OF": 38, "OR": 38, "On": [1, 31], "One": [16, 22], "Such": 5, "THE": 38, "TO": 38, "That": [5, 22], "The": [0, 1, 2, 3, 5, 6, 7, 16, 19, 20, 22, 24, 29, 31, 32, 33, 35, 36, 38], "Then": [0, 4], "There": [5, 7, 21, 22, 23, 26, 35], "These": [0, 1, 22, 31, 33], "To": [6, 22, 26, 29, 31, 33, 37], "WITH": 38, "With": [0, 2, 4, 6], "__all__": 28, "__eq__": 29, "__ge__": 29, "__gt__": 29, "__init__": 0, "__le__": 29, "__lt__": 29, "__repr__": 29, "_decor": 0, "_global": 31, "_intern": [0, 34], "_yield_with": 30, "abil": [22, 23, 33], "abl": [2, 20, 21, 22, 26], "about": [0, 1, 3, 5, 7, 22, 24, 32, 33, 37], "abov": [0, 1, 5, 6, 7, 22, 33, 38], "absenc": [22, 26], "absolut": 22, "abstract": 22, "accept": 33, "access": 37, "accomplish": [0, 2, 22], "account": 7, "accumul": 5, "accur": 5, "accuraci": [6, 29], "achiev": [0, 7, 16, 22], "across": [5, 22, 23, 35], "act": 26, "action": [0, 5, 22, 26, 30, 38], "activ": [1, 3, 4, 6, 7, 8, 9, 16, 23, 24, 31, 32, 36, 40], "activitytyp": [0, 3], "actual": [0, 1, 3, 5, 7, 22, 33], "ad": [0, 1, 2, 22, 33], "add": [0, 1, 2, 4, 5, 7, 26, 33], "addit": [0, 2, 5, 6, 7, 23, 26, 31, 34], "address": 22, "adher": [5, 22], "adoptium": 40, "advanc": 26, "advantag": 5, "advers": 22, "advic": 32, "aeri": [0, 1, 4, 5, 6, 7, 13, 23, 26, 33, 36, 37], "affect": 22, "after": [0, 1, 2, 3, 4, 5, 6, 7, 22, 33, 40], "again": [4, 26], "against": [22, 29], "ahead": [6, 7], "aid": 33, "aim": 31, "align": [4, 5, 6], "all": [0, 5, 6, 7, 22, 26, 31, 33, 34, 38, 40], "alloc": [20, 22, 26], "allow": [0, 1, 2, 3, 5, 22, 26, 31, 33], "almost": 29, "alon": 1, "along": [0, 2], "alreadi": [0, 7, 35], "also": [0, 1, 2, 3, 5, 6, 7, 22, 23], "alter": [0, 5], "altern": 31, "although": [0, 5, 6], "altogeth": 29, "alwai": [29, 33, 35], "ammo": 26, "amount": 5, "an": [0, 2, 5, 6, 7, 8, 9, 13, 20, 24, 26, 29, 31, 32, 33, 35, 36, 38], "an9804": 20, "analys": 13, "analysi": 22, "analyz": 31, "ani": [0, 6, 20, 22, 26, 29, 33, 35, 38], "annot": [0, 7, 31], "anoth": [2, 4, 5, 22, 26, 32], "answer": [3, 5], "anticip": 22, "anywai": 5, "apach": 32, "apart": 0, "api": [31, 32, 39], "appar": 5, "appear": [0, 1, 4, 7, 33], "appli": [1, 22, 26], "approach": [5, 6], "appropri": [31, 35], "approv": [22, 33], "approx_linear": 5, "approxim": [5, 23, 29], "ar": [0, 1, 2, 5, 6, 21, 22, 23, 26, 29, 30, 31, 33, 34, 35, 40], "arbitrari": [5, 26], "arbitrarili": 26, "aren": [6, 22], "arg": 30, "argument": [0, 1, 5, 7, 22, 31, 36], "aris": [15, 21, 22, 38], "arithmet": 29, "around": [4, 7, 29, 32], "arriv": 5, "as_polynomi": 5, "aspect": [7, 35], "aspir": 34, "aspolynomi": 7, "assembl": [1, 6, 34], "assess": 22, "assign": 29, "associ": [0, 2, 6, 7, 38], "assum": [5, 7, 22], "assumelinear": 5, "astronom": 29, "async": [0, 3, 5, 30, 35], "attain": 35, "attent": [22, 33], "attribut": [26, 31], "author": [22, 38], "autodoc2": 35, "autom": [22, 34], "automat": [22, 23, 33, 35], "autonom": 24, "autonomi": 22, "avail": [0, 2, 3, 5, 6, 7, 20], "avoid": [16, 24, 26], "await": [0, 5, 30, 35], "awar": [0, 3, 22], "b": [18, 20, 33], "back": [0, 1, 5, 7], "background": [5, 35], "balanc": 31, "bandwidth": 20, "bar": 1, "base": [0, 1, 2, 3, 8, 9, 29], "basi": 29, "basic": [0, 35], "batteri": [5, 22], "bear": [0, 1, 2, 3, 4, 5, 6, 7], "becam": 22, "becaus": [0, 3, 7, 29], "becom": [2, 16, 29, 33], "been": [0, 1, 5, 20, 22, 33], "befor": [0, 3, 5, 7, 22, 26, 33], "begin": [0, 1, 5, 6], "behavior": [0, 5, 7, 15, 22, 23, 36], "being": [0, 5, 7, 29], "below": [1, 4, 5, 6], "belt": 5, "benefit": 31, "best": [7, 22, 23, 31, 35], "better": [22, 33], "between": [0, 4, 5, 6, 20, 22, 23, 26, 29, 31, 33], "beyond": 0, "bind": 19, "bisect": 33, "bit": [3, 35], "block": [0, 35], "board": [0, 2, 5, 22], "bodi": [0, 5, 20, 29, 36], "bonu": 0, "book": 0, "boolean": 0, "borrow": [26, 32], "both": [0, 3, 5, 22, 26, 32, 35], "bottleneck": 31, "bottom": 35, "bound": [5, 22], "bracket": 33, "branch": 33, "break": [5, 16], "bridg": 31, "brief": [0, 35], "budget": 20, "buffer": 0, "build": [0, 1, 3, 4, 5, 6, 7, 13, 16, 31, 39], "built": [0, 1, 2, 4, 6, 35, 37], "bulletproof": 22, "burden": 22, "busi": 20, "button": [1, 33], "c": [38, 40], "cach": 31, "calcul": [6, 19], "calendar": 29, "calendr": 29, "california": 38, "call": [0, 1, 2, 3, 5, 6, 7, 22, 23, 26, 29, 30], "camera": [0, 2], "can": [0, 1, 2, 3, 4, 5, 6, 7, 22, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 37], "cannot": [0, 1, 22, 32], "capabl": [4, 6, 22], "capac": [5, 6, 7], "capital_snake_cas": 31, "cardin": 22, "care": [3, 5, 31], "carlo": [13, 23], "carol": 22, "carri": 22, "case": [0, 2, 3, 5, 7, 22, 29, 31], "catch": 23, "categori": [0, 22], "caus": [3, 22], "causal": 29, "caution": 22, "ccsd": 0, "cd": [34, 35], "celesti": 29, "cell": [0, 2, 5, 7, 26], "center": 1, "certain": [5, 7, 22, 26, 30, 31], "cfdp": 22, "challeng": 21, "chang": [0, 1, 3, 4, 6, 7, 8, 9, 24, 26, 33], "change_mag_mod": [3, 4, 5, 6], "channel": 33, "character": 31, "characterist": 22, "charg": 38, "chat": 33, "check": [1, 22, 28, 33, 36, 37, 40], "checkmark": 1, "checkout": [28, 33, 40], "child": [26, 30], "china": 29, "choic": [26, 29], "choos": [5, 16, 22], "chosen": 5, "chunk": 5, "circular": 16, "cite": 22, "claim": [29, 38], "clamp": 5, "clamped_integr": 5, "clampedintegr": [5, 7], "class": [0, 2, 3, 5, 7, 27, 31], "clean": [33, 35], "cleanup": 31, "clear": [22, 33], "click": 1, "clock": [0, 5, 29], "clockeffect": 5, "clone": 33, "close": [22, 33], "co": 24, "code": [0, 2, 5, 7, 16, 29, 31, 35], "collect": [0, 2, 5], "collect_data": [0, 1, 4, 5, 6], "collinear": 29, "color": 4, "com": [20, 26, 35, 37], "combin": [22, 29, 33], "come": [0, 21, 22, 23], "command": [23, 24, 33, 39, 40], "comment": [33, 35], "commit": 35, "common": 0, "commun": [20, 22, 23, 31], "compani": 35, "compar": [5, 6, 22], "comparison": [8, 9], "compat": [13, 31], "compil": [1, 4, 6, 7], "complac": 22, "complet": [0, 5, 22], "complex": 1, "complic": [29, 33], "compon": [22, 36], "compos": 23, "comput": [0, 3, 5, 6, 7, 22, 26], "concept": [23, 26, 29, 35], "concern": 5, "concurr": [22, 26], "condit": [5, 22, 26, 30, 38], "config": 7, "configur": [8, 9, 23, 29], "conflict": [22, 26, 33], "connect": 38, "consensu": 22, "consequ": 22, "consid": 31, "consider": 16, "consist": [6, 35], "constant": [0, 5, 7, 31], "constel": 22, "constitu": 22, "constrain": 22, "constraint": [22, 36], "construct": [0, 1, 2, 3, 4, 5, 6, 7, 29], "constructor": [0, 2, 5, 7], "consult": 31, "consum": 0, "contain": [5, 13, 22, 35], "content": [0, 22, 26], "context": [5, 31, 35], "continu": [0, 2, 26, 33], "contract": 38, "contrast": 0, "contribut": [5, 35], "contributor": 33, "control": 22, "conveni": 32, "convent": [3, 33], "convers": [0, 3, 5], "convert": [5, 29, 31], "coordin": 22, "copi": [33, 38], "copyright": 38, "coro": 30, "coroutin": 31, "correct": [5, 22], "correctli": [0, 7, 22], "correspond": [2, 4, 22], "cost": 22, "could": [0, 1, 2, 5, 6, 7, 22], "count": 5, "counter": 0, "coupl": [0, 2, 5, 6, 7, 29], "cours": 0, "cover": [0, 29], "creat": [1, 2, 5, 6, 7, 8, 9, 29, 33], "cross": 31, "cumul": 5, "current": [0, 2, 5, 6, 8, 9, 26, 29, 33, 34], "current_r": [3, 5], "current_recording_r": 5, "currentvalu": [3, 5, 7], "custom": 29, "cycl": 23, "d": [0, 5, 7, 26, 33], "daemon": 5, "dai": [1, 4, 6, 23, 29], "damag": 38, "danger": 22, "data": [0, 2, 3, 6, 8, 9, 13, 22, 27], "data_model": [0, 3, 5], "datamodel": [0, 2, 5, 7], "date": [29, 35], "de": 29, "deadlin": 22, "deal": [29, 33, 38], "debug": [31, 32], "decid": 22, "decis": 22, "declar": [0, 2, 5, 7, 22], "decor": 0, "decreas": [0, 4, 5, 6], "def": [0, 3, 5], "default": [0, 1, 3, 7], "defaultconfigur": 7, "defer": 29, "defin": [0, 2, 5, 7, 22, 29, 31, 32, 34], "definit": [0, 2, 3, 5, 7, 22, 29], "degrad": 5, "degre": 35, "delai": [0, 5, 22, 30], "deleg": 0, "delet": [22, 33], "delic": 31, "delimit": 29, "deliv": 22, "depend": [0, 20, 22, 23, 26, 29, 35], "deploy": [0, 35], "depth": 22, "deriv": [0, 3, 8, 9, 29], "describ": [0, 5, 16, 22, 26, 32, 33, 36, 40], "descript": [22, 33], "deserv": 35, "design": [0, 21, 22, 33], "desir": [3, 22, 23], "despit": 5, "detail": [0, 1, 23, 27, 35], "detect": 22, "determin": [5, 20], "develop": [32, 33, 35], "deviat": 22, "did": [5, 6, 22], "differ": [0, 2, 5, 20, 22, 23, 29], "difficult": [22, 31], "direct": 1, "directli": [0, 2, 5, 22, 29, 31], "directori": [34, 35], "discoveri": 20, "discret": [0, 2, 5, 7, 24, 29, 37], "discreteeffect": [0, 3], "discreteresourc": 2, "discreteresourcemonad": 2, "discuss": 33, "disposit": 22, "dist": 39, "distanc": [20, 29], "distinct": 29, "distinguish": [0, 29], "distribut": [26, 38], "divid": [2, 3, 5, 16], "do": [0, 1, 2, 3, 4, 5, 6, 7, 13, 16, 24, 28, 31, 32, 38], "doc": [26, 32, 34, 35, 37], "docstr": [31, 35], "document": [0, 33, 38], "doe": [0, 5, 22, 33, 36], "doesn": [5, 7], "domain": 29, "don": [0, 1, 2, 5, 6, 22, 33], "done": [0, 22, 29], "doubl": [0, 2, 5, 7, 31], "doublevaluemapp": 7, "down": [4, 5, 7], "downlink": [5, 6], "download": 40, "draft": 22, "drag": [1, 4], "drawback": 5, "drive": [4, 8, 9], "driver": 31, "drop": [1, 4, 7, 29], "dropdown": 7, "duck": 31, "due": [0, 32], "duplic": [26, 33], "durat": [0, 1, 4, 5, 7, 22, 27, 28, 30], "duration_str": 29, "dure": [5, 22, 23, 36], "duti": 23, "dynam": [22, 26], "e": [0, 1, 5, 22, 29, 31], "each": [0, 5, 6, 32, 33], "earli": 22, "earlier": 1, "earth": [5, 22, 29], "easi": [5, 22], "easier": 33, "easiest": [0, 6], "easili": [4, 5], "ecosystem": 37, "edit": [1, 4, 6, 33], "effect": [0, 1, 2, 5, 8, 9, 22, 33, 36], "effici": 5, "effort": 33, "either": [22, 33], "elaps": 5, "element": 29, "elsewher": 31, "emit": [0, 2, 26], "en": 26, "enabl": [22, 26, 31], "encount": 32, "end": [0, 4, 5, 6], "endpoint": 33, "enforc": 6, "engin": [23, 31], "enhanc": 26, "enough": [6, 7, 22, 23], "ensur": [0, 7, 29, 33], "enter": 22, "entir": 5, "entri": 31, "enum": 2, "enumer": [0, 7, 8, 9, 22, 31], "enumvaluemapp": 7, "envelop": 22, "environ": [22, 34, 40], "environment": [5, 22], "epagomen": 29, "ephemerid": 29, "equal": 5, "err": 22, "error": [0, 5, 23, 24], "errorregistrar": 7, "esoter": 35, "especi": 2, "essenti": 0, "estim": 29, "etc": [0, 1, 2, 5], "evalu": 26, "even": [5, 22, 26, 29, 33], "event": [0, 22, 24, 29, 37, 38], "eventu": [0, 5], "everi": [5, 7, 22, 26, 33], "evid": 29, "evolut": 26, "evolv": 0, "exact": 29, "exampl": [0, 2, 5, 7, 22, 29, 30], "except": [2, 5, 29], "execut": [0, 22, 36], "exhaust": 22, "exist": [0, 7, 21, 22, 26, 29, 31, 39], "expect": [0, 5, 22, 31, 35], "expens": 6, "explain": 35, "explicit": 31, "explicitli": 0, "explor": [5, 6], "export": 7, "expos": [0, 5, 7, 31], "express": [26, 38], "extend": 0, "extens": 35, "extent": 31, "extern": 23, "f": [26, 33], "face": 35, "fact": [5, 22], "factori": 29, "fail": [0, 22], "failur": 22, "fairli": 5, "fall": [22, 33], "fals": [22, 30], "familiar": [22, 35], "famous": 22, "far": [5, 6, 22, 29], "fashion": 22, "fast": 22, "fault": 22, "fdir": 22, "feasibl": 22, "featur": [5, 33, 35], "few": [0, 5, 22, 33], "fewer": [6, 22], "fidel": [5, 24], "field": [2, 7, 29], "figur": 5, "file": [0, 1, 13, 24, 32, 33, 38, 39], "fill": [0, 5], "final": [0, 4, 5, 7], "find": [0, 5, 6, 7, 27], "fine": 22, "first": [1, 2, 4, 5, 6, 8, 9, 22, 26, 34, 40], "fit": 38, "fix": [0, 5, 22, 29, 33], "flexibl": 7, "flight": 22, "float": 29, "focu": [22, 35], "focus": [0, 22], "follow": [0, 1, 2, 5, 7, 22, 26, 33, 35, 38, 40], "forc": 33, "forget": [4, 26], "form": [0, 22], "formul": 26, "fortun": 5, "forward": [0, 5, 26], "found": 22, "four": 6, "framework": [0, 3, 5, 7, 37], "free": [22, 38], "free_replicated_data_typ": 26, "frequent": 29, "from": [0, 2, 3, 7, 8, 9, 15, 22, 26, 29, 32, 33, 38, 39], "from_str": [0, 29], "front": 33, "fsw": 22, "full": [0, 5], "fulli": 0, "fun": 5, "function": [0, 2, 5, 26, 27, 29, 31, 35, 36], "fundament": [0, 29], "furnish": 38, "furo": 35, "further": [9, 22, 24, 26, 29, 35], "futur": [26, 34], "g": [0, 1, 22, 29], "gain": 15, "gb": 5, "gbit": 5, "gener": [0, 7, 23, 26, 31, 33, 35], "geometri": [5, 13], "get": [2, 3, 4, 5, 6, 7, 8, 9, 21, 35, 40], "get_data_r": [2, 3, 7], "getter": 2, "gigabit": 5, "git": [33, 35], "github": [26, 33, 37], "give": [0, 1, 2, 3, 4, 7, 22, 29, 31, 33], "given": [0, 5, 6, 26, 29], "global": 31, "go": [0, 1, 2, 5, 6, 7, 9, 22, 35, 40], "goe": 6, "gold": 29, "gone": 22, "good": [5, 29], "googl": 35, "gov": 7, "grab": 7, "gradlew": [1, 6, 34], "grain": 22, "grant": 38, "granular": 0, "great": [21, 29, 35], "greatest": 22, "green": [0, 1], "gregorian": 29, "ground": 22, "grow": 5, "guarante": [24, 26], "guardrail": 22, "guid": [0, 16, 35, 37], "guidanc": 35, "guidelin": 37, "ha": [0, 1, 5, 6, 16, 20, 22, 29, 31, 33], "had": [7, 22], "half": 6, "hand": 31, "handi": 5, "handl": 31, "happen": 3, "hard": 7, "hardcod": 7, "hardwar": 22, "have": [0, 1, 2, 3, 5, 6, 7, 22, 23, 26, 31, 32, 33, 35, 40], "haven": [0, 1], "healthi": 22, "heater": 22, "held": 29, "help": [3, 5, 31, 33], "helper": [0, 5], "here": [0, 3, 7, 16, 22, 24, 27, 29, 32, 33, 35], "herebi": 38, "hierarch": [0, 33], "high": [2, 22], "high_rat": [2, 4, 6], "higher": 34, "histori": [1, 26, 33], "hit": 5, "hold": [5, 22], "holder": 38, "hook": 7, "hopefulli": 6, "horizon": 23, "host": 26, "hour": [0, 1, 29], "hover": 1, "how": [0, 1, 3, 4, 5, 6, 13, 23, 24, 33, 35, 40], "howev": [5, 7, 22, 29], "html": [20, 32, 35], "http": [20, 26, 32, 35, 37, 40], "human": 22, "hybrid": [26, 31], "hybrid_system": 26, "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 33, 35, 37, 38], "icon": 1, "id": [1, 31], "idea": [31, 33], "ideal": 3, "ident": 22, "identifi": 22, "ii": [5, 21], "imag": 0, "imagin": [0, 2], "imbu": 22, "immedi": 4, "impact": 22, "imper": 22, "implement": [0, 5, 6, 21, 22, 26, 31], "impli": [22, 38], "implicitli": 0, "import": [0, 2, 5, 7, 16, 22, 31, 35, 40], "importantli": 22, "imposs": 22, "incapacit": 22, "includ": [0, 5, 6, 7, 22, 29, 31, 33, 35, 38, 39], "incorrect": 22, "increas": [0, 3, 4, 6, 8, 9, 22], "increment": 29, "indefinit": 22, "independ": [5, 22, 26], "index": 35, "indic": 22, "individu": [22, 23], "infinit": 5, "info": 33, "inform": [1, 22, 31, 33], "inherit": 31, "init": 31, "initi": [0, 1, 2, 5, 7, 26, 29, 32], "input": [7, 15, 22, 31], "insight": [6, 15], "inspect": 22, "instal": [8, 9, 28, 34], "instanc": [0, 1, 5], "instant": 29, "instantan": 0, "instanti": 0, "instead": [1, 2, 5, 21, 29, 31], "institut": 38, "instruct": [1, 4, 33, 35], "instrument": [0, 2, 31], "integ": [0, 29], "integr": [0, 8, 9, 23, 24, 31, 33], "integrate_sampled_ssr": 5, "integration_sample_interv": [5, 7], "integrationsampleinterv": 7, "intend": [0, 2, 16, 22], "intens": 22, "intent": 22, "intention": 29, "interact": [22, 33], "intercalari": 29, "interest": [0, 2, 5, 6, 22], "interestingli": 0, "interfac": [7, 26, 33], "interleav": 0, "intern": 29, "interpret": 22, "interspers": 22, "interv": [5, 6, 7], "intract": 16, "intro": [9, 16], "introduc": [0, 3, 6, 22, 26], "invalid": [0, 22], "invok": 29, "involv": 22, "io": 26, "isn": [3, 5, 11], "iso": 29, "isol": 22, "issu": [0, 5, 33], "iszero": 5, "its": [0, 2, 3, 5, 7, 15, 22, 23, 26, 31], "itself": [0, 5, 22], "jar": [1, 13, 31], "java": [0, 1, 2, 3, 4, 5, 6, 7, 29, 31, 34, 35, 40], "jdk": 34, "jpl": [7, 19], "jre": 40, "jump": 7, "jupyt": 13, "just": [0, 1, 4, 5, 29], "justifi": 22, "k": 31, "kbp": [2, 3], "keep": [0, 5, 22, 26, 35], "kei": [20, 22, 39], "kernel": 29, "keyword": [0, 30, 35], "kind": [22, 38], "know": [0, 3, 7, 22, 35], "known": [5, 29], "komputasi": 26, "label": 30, "lack": 22, "lambda": [0, 2], "languag": 22, "larg": [22, 23], "larger": [6, 31], "largest": 29, "last": [0, 5], "later": [0, 3], "latest": [5, 32, 33], "latitud": 29, "lead": 22, "leak": 31, "learn": [0, 5, 6, 24, 37], "least": [31, 33], "leav": 1, "left": [1, 4, 7, 33], "less": [3, 22, 29, 35], "let": [0, 1, 2, 3, 4, 5, 6, 35], "level": [0, 5, 7, 22], "leverag": [5, 21, 31], "liabil": 38, "liabl": 38, "lib": [1, 34], "librari": [34, 35], "lightweight": 22, "like": [0, 2, 3, 5, 6, 7, 22, 26, 29, 32, 33, 35], "limit": [0, 5, 20, 22, 38], "line": [0, 2, 4, 5, 7, 16, 33], "linear": [0, 5, 6, 33], "linearli": 5, "link": [0, 20, 29, 35], "list": [2, 26], "littl": [3, 5, 35], "live": [5, 35], "ll": [0, 1, 2, 3, 4, 5, 6, 7, 8, 34], "load": 7, "local": 33, "locat": 34, "log": 0, "logic": [0, 5], "long": [3, 7, 22, 29, 31], "longer": [5, 6], "longest": 22, "look": [0, 1, 2, 3, 5, 6, 7, 8, 9, 29, 31], "loop": 5, "lose": 6, "loss": 22, "lost": [22, 33], "lot": 35, "love": 33, "low": [2, 22], "low_rat": [2, 3, 4], "lower": [5, 22], "lowercas": 35, "lowercasenospac": 31, "lunar": 29, "m": 39, "machin": 40, "made": [0, 5, 33], "mag": [7, 20], "magdatacollectionmod": [2, 3, 7], "magdatamod": [2, 3, 4, 7], "magdatar": [2, 3, 4, 7], "magic": [3, 5], "magnetomet": [2, 3, 5], "mai": [3, 5, 6, 7, 15, 16, 22, 23, 29, 31, 32, 35], "main": [5, 31, 32], "maintain": 0, "major": 22, "make": [0, 1, 5, 6, 7, 24, 31, 32, 33, 35, 39, 40], "manag": [23, 26, 31], "maneuv": 22, "mani": [0, 5, 6, 15, 21, 22, 23], "map": [2, 5, 7, 29], "mark": 22, "martian": 29, "match": [0, 1, 7, 22], "mathwork": 20, "matt": 22, "mattdaili": 37, "max": [5, 7], "maxim": 22, "maximum": [6, 29], "mayb": [22, 35], "mb": 5, "mbit": 5, "mbp": [0, 3, 4], "mean": [5, 22, 26, 30, 31, 32, 35], "meaning": 0, "measur": [0, 29], "mechan": 22, "media": 20, "megabit": [0, 5], "member": [0, 5, 7], "memori": 31, "mental": [22, 31], "mention": 22, "menu": [1, 7], "merchant": 38, "mere": [23, 31, 33], "merg": [33, 38], "merlin": [7, 26, 29, 31, 36], "messag": [0, 1, 22, 33], "messi": 5, "met": [5, 33], "method": [0, 2, 3, 7, 8, 9, 24, 29, 31], "micro": 29, "microsecond": 29, "might": [5, 13, 32], "millisecond": 29, "min": 5, "mind": [0, 22, 35], "minim": [22, 26], "minut": 29, "mirror": 22, "miss": 22, "mission": [1, 2, 4, 5, 6, 7, 8, 9, 16, 21, 22, 23, 26, 31, 32], "missionmodel": [0, 1, 7], "mit": 38, "mitig": 22, "mode": [2, 3, 4, 5, 7, 22], "model": [2, 4, 5, 6, 7, 8, 9, 13, 16, 21, 22, 23, 26, 31, 32, 36], "model_act": [0, 27, 28], "modifi": [0, 1, 38], "modul": [5, 28, 31, 32], "moment": 7, "mont": [13, 23], "month": 29, "moon": 29, "more": [0, 1, 5, 6, 16, 22, 23, 24, 26, 31, 33, 35, 37], "most": [0, 5, 16, 22, 32], "move": [0, 1, 5, 7, 26], "msl": 22, "much": [2, 5, 6, 23], "multipl": [4, 6, 22, 29, 34], "multipli": [2, 5, 29], "must": [0, 5, 7, 22, 30, 31, 33], "muszynski": 22, "mutabl": 26, "mutableresourc": [0, 2, 5], "mv": 34, "mvsteen": 26, "my": 33, "myst": 35, "mystmd": 35, "naif": 19, "name": [0, 1, 4, 22, 32], "nasa": [7, 19, 26], "natur": 16, "neatli": 33, "necessari": 29, "necessarili": 23, "need": [0, 2, 3, 5, 7, 22, 23, 29, 31, 32, 34, 35], "needless": 26, "neg": 3, "negat": 29, "net": [3, 40], "new": [0, 1, 2, 3, 4, 5, 6, 7, 8, 22, 33], "new_rat": 3, "newest": 22, "newli": 1, "next": [0, 1, 5, 6], "nice": [6, 21], "nomin": 22, "none": [28, 29], "nonetheless": 5, "noninfring": 38, "notabl": 5, "note": [1, 5, 7, 22, 29, 33], "notic": [0, 3, 4, 38], "notifi": 0, "notion": [23, 26, 29], "now": [0, 1, 2, 3, 4, 5, 6, 7, 22, 31], "num_step": 5, "number": [1, 2, 3, 5, 22, 29], "numer": [2, 5, 22], "object": [0, 5, 7, 31], "obscur": 31, "observ": [22, 23], "obstruct": 20, "obtain": 38, "occult": 20, "occur": [0, 5, 26, 32], "off": [1, 2, 4, 5, 6, 7, 22, 23], "often": [0, 5, 7, 22, 29], "ok": [0, 3, 5], "old": [3, 22], "onboard": 22, "onc": [0, 1, 3, 5, 6, 7, 22, 26, 33, 40], "one": [0, 1, 2, 3, 4, 5, 6, 16, 22, 29, 31, 32, 33], "ones": [5, 22], "onli": [0, 3, 5, 7, 29, 31, 34], "onto": [1, 2, 4, 33], "open": [1, 4, 33, 35], "oper": [0, 2, 3, 20, 22, 23, 26, 29, 31], "opportun": [0, 4, 5, 22], "oppos": 5, "optim": 22, "option": [5, 7, 31, 33], "orbit": [19, 29], "order": [3, 5, 7, 22, 26, 29], "ordin": 29, "org": [26, 32, 35, 40], "organ": 13, "origin": [5, 7, 22, 31, 33], "other": [0, 2, 5, 6, 7, 20, 22, 29, 31, 32, 38], "otherwis": [5, 38], "our": [0, 1, 2, 3, 4, 5, 6, 7, 31, 33, 37], "out": [0, 5, 6, 7, 31, 33, 35, 37, 38], "outcom": 22, "output": 31, "outsid": 29, "outstand": 33, "over": [0, 1, 2, 5, 6, 33], "overal": 3, "overflow": 5, "overhead": 31, "overrid": 31, "overview": 0, "overwhelm": 31, "overwrit": 35, "own": [0, 5, 29], "packag": [0, 7, 27, 29, 34], "packet": 22, "padawan": 0, "page": [0, 1, 2, 3, 4, 5, 6, 7, 11, 35], "pai": 33, "pair": 22, "palat": 22, "panel": [1, 4, 7, 22], "paradigm": 22, "parallel": 26, "param": [29, 30], "paramet": [0, 1, 3, 4, 5, 6, 7, 22, 23, 29], "paraphras": 26, "parent": [7, 26], "parenthesi": 0, "pars": 35, "part": [7, 22], "partial": [24, 32], "particular": [22, 29, 38], "particularli": 35, "partit": 26, "pass": [0, 5, 7, 22, 31, 33], "passag": 29, "patch": 33, "path": [20, 31], "paus": 0, "pdf": [20, 26], "peopl": 35, "pep8": 31, "per": 0, "perceiv": 22, "perfectli": 5, "perform": [0, 1, 5, 20, 22, 23, 26, 29], "perhap": [2, 22], "period": [0, 29], "perman": 22, "permiss": 38, "permit": 38, "persist": 22, "person": 38, "persu": 35, "perturb": 15, "perus": 0, "peski": 0, "phase": 23, "phenomena": 26, "pick": 1, "piec": [5, 22], "piecewis": 0, "pip": [34, 40], "place": [0, 2, 22], "plai": [1, 4, 20, 21, 23], "plan": [0, 1, 4, 5, 6, 7, 23, 24, 36], "planner": [5, 7], "pleas": [0, 1, 2, 3, 4, 5, 6, 7, 33], "plu": 29, "plugin": 35, "point": [0, 1, 4, 5, 6, 7, 20, 22, 29, 31, 35], "polanskei": 22, "polynomi": [0, 6, 8, 9], "polynomialresourc": [5, 7], "pop": [1, 4], "popul": [1, 4, 11], "popular": 19, "port": [0, 1, 2, 3, 4, 5, 6, 7, 31], "portion": 38, "posit": 22, "possibl": [0, 5, 22, 31, 33], "power": [13, 22], "powerless": 22, "practic": [22, 32, 35], "pre": 0, "precis": [22, 23, 29], "preclud": 36, "predic": 36, "predict": [0, 22], "prefer": [31, 33], "prefix": [26, 31], "preliminari": 26, "presenc": 29, "present": [0, 33], "preserv": 29, "prevent": 0, "previou": [5, 22, 33], "previous_r": 5, "previous_recording_r": 5, "previousrecording_r": 7, "primari": 0, "primarili": 0, "primit": [0, 5], "principl": 31, "prior": [0, 7, 32], "privat": [5, 31], "probabl": 5, "problem": 29, "process": [0, 21, 22, 23, 31], "produc": 6, "profil": [0, 1, 5, 6, 22], "programm": 5, "progress": [0, 5], "project": [13, 33, 40], "promot": 22, "properti": [0, 20, 22, 26, 29, 31], "protect": 22, "prototyp": 31, "prove": 22, "proven": 22, "provid": [0, 1, 3, 5, 7, 19, 22, 23, 27, 29, 30, 31, 35, 38], "prudent": 22, "ptolemi": 21, "public": [7, 31], "publish": [34, 38], "pull": 0, "purpos": [20, 22, 38], "push": 33, "put": [1, 4, 7, 22, 26], "py": [0, 31, 32], "py4j": 31, "pymerlin": [8, 9, 13, 21, 23, 27, 31, 35, 40], "pypirc": 39, "pyspark": [31, 32], "pytest": 34, "python": [0, 1, 2, 3, 4, 5, 6, 7, 19, 32, 34, 35, 40], "python3": [39, 40], "qualiti": 26, "quantiti": [0, 5, 29], "queri": [26, 33], "quickli": [22, 23], "quickstart": [0, 37], "quit": 7, "rang": [0, 5, 22, 29], "rapid": 31, "rare": 22, "rate": [0, 1, 2, 3, 4, 7, 8, 9], "rather": [2, 31, 36], "re": [5, 21, 24, 29, 31, 33, 40], "reach": [0, 5, 6, 33], "react": 5, "reaction": 5, "read": [0, 24, 26, 33, 35, 37], "readabl": 33, "readi": [7, 33, 37, 40], "real": [5, 33], "realiti": 5, "realli": 5, "reason": [5, 22, 33], "rebas": 33, "recal": [6, 7, 22], "receiv": [20, 22], "recent": 22, "recharg": 22, "recogn": 0, "recommend": [5, 8, 22, 32], "record": [0, 5, 7, 9, 22], "recording_r": [0, 1, 2, 3, 4, 5, 7], "recoveri": 22, "rectangl": 5, "recur": 5, "red": 4, "reduc": 22, "refer": [4, 5, 7, 29, 32, 35], "referenc": [22, 29], "reflect": 3, "regard": 26, "regist": [0, 2, 5], "registr": [2, 5, 7], "registrar": [0, 2, 5, 7], "regular": [29, 31, 35], "reimann": 5, "reintroduc": 31, "reject": 22, "rel": 23, "relat": [5, 33], "relationship": [0, 5], "releas": 40, "relev": 35, "reli": [29, 33], "reliabl": [22, 23], "remain": [2, 6], "remaind": 6, "rememb": 5, "remind": 0, "remov": [5, 31], "render": [0, 5], "renew": 0, "repeat": 35, "replac": [0, 5, 7, 31], "repo": 33, "repositori": [33, 39], "repres": [0, 22, 29, 31, 35], "represent": [22, 29], "reproduc": 35, "request": 3, "requir": [5, 22, 23, 26, 31, 33], "resembl": 22, "resolut": 29, "resourc": [1, 3, 4, 6, 7, 8, 9, 22, 26, 31, 33], "respect": [2, 22], "respons": 22, "rest": 31, "restart": 5, "restor": 0, "restrict": [0, 22, 33, 38], "result": [0, 1, 2, 3, 5, 6, 7, 22, 29], "resum": 0, "retriev": 5, "retrospect": 29, "return": [5, 7, 29, 30, 31], "reusabl": 22, "revers": 0, "review": 22, "rf": 39, "right": [0, 1, 5, 38], "risk": 22, "rm": [33, 39], "role": 20, "root": 39, "rough": 29, "row": [1, 4, 6], "rule": 5, "run": [0, 1, 3, 5, 7, 15, 22, 23, 26, 31, 32, 34, 35, 39, 40], "runnabl": 5, "safe": [22, 33], "safeti": 24, "sai": [0, 2], "said": 35, "sake": 5, "salient": 35, "same": [0, 4, 6, 22, 26, 29], "sampl": [6, 7, 8, 9], "satisfi": 7, "save": 0, "scalar": 29, "scale": [5, 7], "scenario": 35, "schedul": [0, 13, 23, 24, 26, 36], "scienc": 23, "scratch": 8, "screenshot": [1, 4, 6], "scrutini": 22, "search": 33, "second": [0, 1, 5, 7, 8, 9, 29], "secondli": 5, "section": [1, 13, 22, 32, 35, 40], "see": [0, 1, 2, 3, 4, 5, 6, 7, 22, 33, 37, 40], "seem": 32, "seemingli": 29, "seen": 5, "segment": [0, 5, 6], "select": 7, "self": [0, 2, 5, 7, 35], "sell": 38, "semant": [22, 26], "send": 33, "sens": [5, 22], "sent": 22, "separ": [5, 22, 26, 29, 32, 33], "sequenc": [22, 36], "serial": 26, "serializedvalu": 31, "serious": 31, "serv": 36, "set": [0, 3, 5, 6, 7, 22, 29], "sever": 23, "shall": 38, "share": 22, "short": [0, 23], "shorter": 6, "shortli": 5, "should": [0, 1, 2, 3, 4, 5, 7, 22, 26, 29, 31, 32, 33, 35], "shouldn": 3, "show": [0, 5, 31], "shown": [0, 1], "shut": 5, "side": [22, 31, 33], "sider": 29, "sift": 22, "sign": 29, "signal": 22, "significantli": 31, "sim": [8, 9], "similar": [1, 4, 22, 29], "simluat": 21, "simpl": [0, 2, 4, 5, 6, 7, 31], "simplest": 5, "simpli": [0, 2, 29], "simplic": 5, "simplifi": 31, "simul": [0, 1, 4, 5, 6, 7, 15, 22, 23, 24, 29, 31, 32, 35, 36, 37], "sinc": [0, 1, 2, 3, 5, 29], "singl": [0, 5, 22, 26, 31, 33], "site": 35, "situat": 22, "skeleton": 22, "skew": 22, "skip": 22, "sky": 29, "slack": 33, "slightli": 5, "small": [22, 23], "smaller": 22, "smart": 7, "snake_cas": 31, "snippet": 34, "so": [0, 3, 4, 5, 6, 7, 22, 31, 34, 35, 38], "socket": 31, "softwar": [0, 22, 38], "solar": [22, 29], "solid": [0, 9], "some": [0, 1, 2, 5, 6, 16, 20, 21, 22, 24, 26, 31, 32, 33, 35], "someon": 31, "someth": [0, 3, 4, 5, 6, 22], "sometim": [0, 15, 22, 23], "somewhat": 22, "soon": [0, 6, 7, 11], "sort": 22, "sound": 22, "sourc": 31, "spacecraft": [0, 5, 8, 24, 29], "spaceflight": 35, "span": [5, 6, 23, 29], "spark": [31, 32], "spawn": [5, 26], "spawn_act": 30, "spawn_task": 30, "special": [0, 2], "specif": [0, 22, 29, 35], "specifi": [0, 5, 22], "spell": 35, "sphinx": 35, "spice": [13, 29], "spiceypi": 19, "spin": 0, "spread": 5, "squash": 33, "src": 35, "srr_volume_simpl": 5, "ssr": [0, 1, 3, 5, 7], "ssr_max_capac": 7, "ssr_volume_polynomi": [5, 6, 7], "ssr_volume_sampl": [5, 6, 7], "ssr_volume_simpl": [5, 6], "ssr_volume_upon_rate_chang": [5, 6, 7], "ssrmaxcapac": 7, "sss": 20, "stack": 31, "stai": [0, 5, 22], "stair": [5, 6], "standard": 29, "star": 29, "start": [4, 5, 6, 8, 9, 31, 37, 40], "starting_mag_mod": 7, "startingmagmod": 7, "state": [0, 7, 9, 22, 26], "statement": 0, "static": [0, 2, 3, 5, 7, 29], "statu": 30, "step": [0, 5, 6, 22, 26], "step_siz": 5, "stick": 31, "still": [5, 22, 35], "stop": 5, "stopwatch": [0, 5], "store": [0, 5], "stori": 33, "straightforward": [5, 7, 22], "strategi": 33, "strength": 23, "strict": 23, "strictli": 0, "strike": 31, "string": 0, "strive": 22, "structur": [0, 27], "stub": 1, "style": [0, 31], "subject": [22, 38], "sublicens": 38, "submiss": [33, 37], "submit": 22, "subprocess": 31, "substanti": 38, "subsystem": [13, 22, 23], "subtract": 3, "succeed": 40, "success": [28, 40], "successfulli": 1, "suffici": [5, 23, 31], "suffix": 26, "suggest": 33, "suit": 36, "sum": [2, 5], "summari": 33, "sun": [22, 29], "supersed": 22, "support": [5, 11, 22], "sure": [1, 5, 6, 7, 22, 33, 39, 40], "surpris": 5, "surviv": 22, "swap": 22, "switch": [7, 31], "sygyzi": 29, "symmetri": 29, "synod": 29, "syntact": 22, "syntax": 22, "system": [5, 15, 20, 21, 22, 23, 26, 29, 31, 40], "syzygi": 29, "t": [0, 1, 2, 3, 5, 6, 7, 11, 22, 26, 33], "take": [0, 1, 4, 5, 7, 22, 29, 30], "target": [13, 33], "task": [5, 26, 30, 31], "team": 22, "teas": 0, "technic": 35, "technologi": 38, "tele": 20, "telecom": 13, "telecommun": 20, "telemetri": 22, "tell": [0, 2, 33], "temperatur": 22, "templat": 7, "tempor": 29, "temurin": 40, "tenet": 31, "tension": 31, "term": [29, 35], "termin": 40, "tertiari": 29, "test": [0, 4, 8, 9], "text": 35, "than": [2, 3, 5, 31, 33], "thei": [0, 1, 22, 30, 31, 33, 35], "them": [0, 5, 7, 20, 21, 22, 31, 32, 33], "theme": 35, "theori": 24, "therefor": [0, 22], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 22, 25, 26, 28, 29, 30, 31, 32, 33, 35, 38, 40], "thing": [0, 2, 5, 6, 13, 22, 28, 31, 35], "think": 0, "third": 5, "those": [0, 2, 3, 5, 6, 22, 35, 40], "though": [5, 22, 33], "three": [2, 4, 5, 7], "threshold": [5, 6], "through": [0, 5, 22, 31, 33], "throughout": 5, "throw": 6, "thu": [5, 6], "ti": 5, "tightli": 22, "time": [0, 1, 2, 5, 6, 22, 23, 26, 29, 33], "time_since_last_rate_chang": 5, "timelin": [0, 1, 4, 5, 6], "titlecas": 31, "to_number_in": [5, 29], "todai": [0, 33], "todo": [0, 26, 32], "togeth": [2, 5, 21, 22], "ton": 6, "tool": [5, 21, 23, 36], "toolkit": [19, 29], "top": [0, 1, 5, 7], "tort": 38, "total": [2, 5], "touch": 3, "toward": [20, 22, 35], "tox": 34, "trace": 31, "track": [0, 2, 5, 8, 26], "tractabl": 22, "trade": 23, "tradition": [0, 26, 29], "train": 0, "trajectori": 22, "transact": 26, "transaction": 26, "transfer": 5, "transform": 0, "transmit": 22, "transmitt": 20, "trapezoid": 5, "trick": 1, "tricki": 3, "trigger": [5, 22], "trivial": 22, "true": [5, 22, 30], "truli": 5, "trust": 22, "try": [1, 4, 5, 7, 21, 22], "tune": 24, "turn": [5, 22, 31], "tutori": [0, 1, 2, 3, 4, 5, 6, 7, 10, 12, 14, 16, 17, 25, 34, 35, 40], "tweak": 7, "twine": [34, 39], "two": [0, 1, 4, 6, 7, 21, 22, 26, 29, 32, 33], "ty": 22, "type": [0, 1, 2, 3, 4, 5, 7, 22, 29, 31], "typic": [22, 23], "u": [0, 1, 2, 3, 4, 5, 6, 7], "ui": [0, 1, 2, 5, 6, 7], "ultim": 0, "uncertainti": 22, "uncondition": 22, "under": [0, 1, 2, 3, 4, 5, 6, 7, 22], "underflow": 5, "underli": 29, "underscor": 31, "understand": 22, "understood": 31, "undesir": 22, "unexpect": 22, "unfortun": 29, "unintent": 22, "uniqu": 0, "unit": [0, 3, 29], "unless": 26, "unlik": [0, 29], "unnecessari": 5, "unresolv": 33, "unsaf": 22, "unsurpris": 29, "until": [0, 4, 6, 22, 26], "up": [0, 1, 2, 4, 5, 7, 16, 22, 31, 33, 35], "updat": [0, 7, 8, 9, 33], "upgrad": 22, "upload": [1, 4, 6, 7, 26, 31, 39], "upon": [8, 9], "upon_recording_rate_upd": 5, "upper": 5, "us": [0, 1, 2, 5, 6, 7, 8, 9, 13, 15, 22, 29, 32, 33, 34, 35, 37, 38], "usabl": 24, "user": [0, 3, 8, 31, 33, 35], "usual": 22, "v": [24, 33], "valid": [0, 1, 6, 24, 36], "valu": [0, 1, 2, 4, 5, 7, 8, 9, 22, 26, 29], "var": 7, "variabl": [0, 5, 7, 26, 31, 35], "varianc": 15, "variat": [15, 23], "variou": [0, 6], "ve": 26, "vector": 22, "veri": [5, 22, 35], "verif": 22, "verifi": 22, "version": [0, 1, 5, 6, 22, 26, 31, 33, 34], "via": [0, 7, 22, 33], "viabl": 31, "view": [0, 1, 5, 6, 7, 22, 35], "violat": 36, "virtual": 40, "volum": [0, 6, 8, 9, 13], "voyag": 22, "wa": [0, 2, 5, 22, 28, 29, 31], "wai": [1, 5, 6, 16, 22, 26, 29, 32], "wait_until": 30, "walk": 5, "want": [0, 2, 3, 5, 13, 22, 31, 33], "warn": [1, 36], "warranti": 38, "wast": [22, 26], "we": [0, 1, 2, 3, 4, 5, 6, 7, 16, 22, 26, 29, 31, 32, 33], "week": [23, 29], "welcom": [0, 35], "well": [0, 5, 20, 22, 29, 31], "went": 33, "were": [5, 6, 22], "what": [0, 5, 6, 7, 22, 26, 32, 33, 35], "whatev": 7, "when": [0, 1, 2, 3, 4, 5, 6, 7, 16, 21, 22, 31, 33, 35], "whenev": [5, 26], "wheneverupd": 5, "where": [0, 3, 5, 22, 26, 29, 31, 35], "whether": [20, 22, 38], "which": [0, 1, 2, 3, 4, 5, 6, 7, 22, 29, 30, 31, 33], "while": [5, 22, 26, 31], "who": [5, 31, 35], "whole": [16, 22], "whom": 38, "whose": [0, 5, 29], "why": 31, "wiki": 26, "wikipedia": [26, 29], "wise": 5, "within": [0, 1, 3, 7, 8, 9, 22, 29], "without": [0, 22, 31, 38], "won": 7, "word": [0, 2], "wordpress": 26, "work": [5, 6, 22, 26, 29, 33, 35], "wors": 29, "worst": 22, "would": [0, 5, 6, 21, 22, 33], "wp": 26, "wrap": 5, "write": [0, 8, 16, 22, 26, 33, 34, 35], "written": [0, 22], "wrong": 22, "wrote": 1, "www": [20, 40], "x": [22, 26], "y": 22, "year": 29, "yet": [1, 5, 7, 11], "yield": 29, "you": [0, 1, 2, 3, 4, 5, 6, 7, 8, 13, 16, 24, 27, 29, 32, 33, 34, 35, 37, 40], "your": [1, 4, 5, 7, 8, 9, 13, 26, 28, 29, 32, 33, 34, 39, 40], "zero": [4, 5, 29], "zoom": 6}, "titles": ["Getting Started", "Model Test Drive", "Enumerated and Derived Resources", "Using Current Value in an Effect Model", "Second Look", "Integrating Data Rate", "Integral Method Comparison", "Sim Configuration", "Intro Tutorial: Solid State Recorder", "Tutorials", "Going further", "Build an Aerie-compatible JAR file", "Modeling Data Volume", "User Guides", "How to use pymerlin in Jupyter", "Monte-Carlo analyses", "How to organize your project", "Modeling Power", "Scheduling", "Using spice for geometry", "Modeling Telecom", "Co-Simulation", "Command Errors", "Tuning Fidelity", "Background", "Planning and Scheduling", "Discrete Event Simulation", "API Reference", "pymerlin", "pymerlin.duration", "pymerlin.model_actions", "Architecture", "Common Errors", "Contributing", "Developing pymerlin", "Documentation", "Glossary", "pymerlin", "License", "Publishing to pypi", "Quickstart"], "titleterms": {"1": 5, "2": 5, "3": 5, "4": 5, "But": 31, "The": 26, "about": 31, "activ": [0, 5, 22], "aeri": [11, 31, 35], "aerospac": 35, "an": [3, 11, 22], "analys": 15, "api": [27, 28, 29, 30], "approach": 31, "architectur": 31, "assum": 35, "async": 31, "audienc": 35, "autonom": 22, "avoid": 22, "await": 31, "background": 24, "base": 5, "build": [11, 33, 34], "carlo": 15, "chang": [5, 22], "circular": 32, "class": 29, "co": 21, "code": [33, 37], "command": 22, "commit": 33, "common": 32, "comparison": 6, "compat": 11, "configur": 7, "content": [28, 29, 30], "contribut": [33, 37], "creat": 0, "current": 3, "data": [5, 12, 28, 29], "debugg": 31, "deriv": [2, 5], "develop": 34, "discret": 26, "do": 22, "document": 35, "drive": 1, "durat": 29, "effect": 3, "emphas": 31, "enumer": 2, "error": [22, 32], "event": 26, "feedback": 37, "fidel": 23, "file": [11, 16, 22], "first": 0, "from": 5, "function": [28, 30], "further": [10, 21], "geometri": 19, "get": [0, 37], "glossari": [35, 36], "go": 10, "good": 33, "got": 33, "guarante": 22, "guid": 13, "guidelin": 33, "help": 37, "how": [14, 16, 22, 37], "idiom": 31, "import": 32, "importerror": 32, "increas": 5, "instal": [0, 40], "integr": [5, 6, 22], "intro": 8, "jar": [11, 34], "jupyt": 14, "knowledg": 35, "licens": 38, "look": 4, "make": 22, "method": [5, 6, 22], "mission": 0, "model": [0, 1, 3, 12, 17, 20], "model_act": 30, "modul": [29, 30], "mont": 15, "organ": 16, "over": 31, "packag": 28, "partial": 22, "perform": 31, "plan": [22, 25], "polynomi": 5, "power": 17, "pr": 33, "practic": 33, "problem": 33, "program": 35, "project": 16, "provid": 37, "publish": 39, "pull": 33, "pymerlin": [0, 14, 28, 29, 30, 33, 34, 37], "pypi": 39, "python": 31, "question": 33, "quickstart": 40, "rate": 5, "re": 22, "read": 21, "record": 8, "refer": 27, "referenc": 35, "request": 33, "resourc": [0, 2, 5], "review": 33, "round": 31, "safeti": 22, "sampl": 5, "schedul": [18, 25], "second": 4, "sim": 7, "simul": [21, 26], "solid": 8, "sourc": 37, "spacecraft": 22, "spice": 19, "stack": 32, "start": 0, "state": 8, "style": 35, "submit": 33, "submodul": 28, "subsystem": 16, "target": 35, "telecom": 20, "test": [1, 34], "theori": 26, "thread": 31, "trace": 32, "trip": 31, "tune": 23, "tutori": [8, 9], "updat": 5, "upon": 5, "us": [3, 14, 19, 31], "usabl": 22, "user": 13, "v": [22, 31], "valid": 22, "valu": 3, "volum": [5, 12], "what": 31, "within": 5, "you": 22, "your": [0, 16]}}) \ No newline at end of file