diff --git a/aviary/docs/misc_resources/externally_supported_subsystems.ipynb b/aviary/docs/misc_resources/externally_supported_subsystems.ipynb index 504c0c427..1f3f39ce9 100644 --- a/aviary/docs/misc_resources/externally_supported_subsystems.ipynb +++ b/aviary/docs/misc_resources/externally_supported_subsystems.ipynb @@ -23,14 +23,18 @@ "# Testing Cell\n", "import aviary.api as av\n", "from aviary.utils.doctape import glue_variable\n", - "av.get_path('examples/external_subsystems')\n", - "glue_variable('aviary/examples/external_subsystems', md_code=True)" + "\n", + "folder = av.get_path('examples/external_subsystems')\n", + "aviary_top_dir = av.get_path('docs').parent.parent\n", + "ext_examples_dir = folder.relative_to(aviary_top_dir)\n", + "\n", + "glue_variable(str(ext_examples_dir), md_code=True)" ] } ], "metadata": { "kernelspec": { - "display_name": "latest_env", + "display_name": "av1", "language": "python", "name": "python3" }, @@ -44,7 +48,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.13" + "version": "3.9.18" } }, "nbformat": 4, diff --git a/aviary/docs/misc_resources/modeling_exercise.ipynb b/aviary/docs/misc_resources/modeling_exercise.ipynb index c905067b8..5dd5ee807 100644 --- a/aviary/docs/misc_resources/modeling_exercise.ipynb +++ b/aviary/docs/misc_resources/modeling_exercise.ipynb @@ -36,11 +36,19 @@ "outputs": [], "source": [ "# Testing Cell\n", + "import os\n", "import aviary.api as av\n", "from aviary.utils.doctape import glue_variable\n", - "av.get_path('examples/run_basic_aviary_example.py')\n", - "glue_variable('aviary/examples', md_code=True)\n", - "glue_variable('run_basic_aviary_example.py', md_code=True)" + "\n", + "aviary_top_dir = av.get_path('docs').parent.parent\n", + "\n", + "folder = av.get_path('examples')\n", + "examples_dir = folder.relative_to(aviary_top_dir)\n", + "glue_variable(str(examples_dir), md_code=True)\n", + "\n", + "folder = av.get_path('examples/run_basic_aviary_example.py')\n", + "run_example_dir = os.path.basename(folder)\n", + "glue_variable(run_example_dir, md_code=True)" ] }, { @@ -90,14 +98,8 @@ "outputs": [], "source": [ "# Testing Cell\n", - "from aviary.interface.methods_for_level2 import AviaryGroup\n", "from aviary.utils.doctape import glue_variable\n", - "\n", - "ag = AviaryGroup()\n", - "opts = list(ag.options)\n", - "for opt in opts:\n", - " if opt == 'phase_info':\n", - " glue_variable('phase_info', md_code=True)\n" + "glue_variable('phase_info', md_code=True)" ] }, { @@ -144,8 +146,10 @@ "# Testing Cell\n", "import aviary.api as av\n", "from aviary.utils.doctape import glue_variable\n", - "av.get_path('examples/reserve_missions/run_reserve_mission_fixedrange.py');\n", - "glue_variable('run_reserve_mission_fixedrange.py', md_code=True)" + "\n", + "folder = av.get_path('examples/reserve_missions/run_reserve_mission_fixedrange.py')\n", + "run_reserve_dir = os.path.basename(folder)\n", + "glue_variable(run_reserve_dir, md_code=True)" ] }, { diff --git a/aviary/docs/user_guide/SGM_capabilities.ipynb b/aviary/docs/user_guide/SGM_capabilities.ipynb index 8dfcd0af2..c0886ab5c 100644 --- a/aviary/docs/user_guide/SGM_capabilities.ipynb +++ b/aviary/docs/user_guide/SGM_capabilities.ipynb @@ -11,14 +11,9 @@ "outputs": [], "source": [ "# Testing Cell\n", - "from aviary.interface.methods_for_level2 import AviaryGroup\n", "from aviary.utils.doctape import glue_variable\n", - "#from aviary.interface.default_phase_info.two_dof_fiti import\n", - "ag = AviaryGroup()\n", - "opts = list(ag.options)\n", - "for opt in opts:\n", - " if opt == 'phase_info': # only need this option to glue\n", - " glue_variable('phase_info', md_code=True)" + "\n", + "glue_variable('phase_info', md_code=True)" ] }, { diff --git a/aviary/docs/user_guide/aerodynamics.ipynb b/aviary/docs/user_guide/aerodynamics.ipynb index 2fdc9fd19..0bb0ef53f 100644 --- a/aviary/docs/user_guide/aerodynamics.ipynb +++ b/aviary/docs/user_guide/aerodynamics.ipynb @@ -157,9 +157,6 @@ "source": [ "# Testing Cell\n", "from aviary.api import Aircraft\n", - "Aircraft.Wing.MAX_CAMBER_AT_70_SEMISPAN;\n", - "Aircraft.Wing.AIRFOIL_TECHNOLOGY;\n", - "Aircraft.Design.BASE_AREA;\n", "glue_variable(get_variable_name(Aircraft.Wing.MAX_CAMBER_AT_70_SEMISPAN), md_code=True)\n", "glue_variable(get_variable_name(Aircraft.Wing.AIRFOIL_TECHNOLOGY), md_code=True)\n", "glue_variable(get_variable_name(Aircraft.Design.BASE_AREA), md_code=True)" diff --git a/aviary/docs/user_guide/aviary_commands.ipynb b/aviary/docs/user_guide/aviary_commands.ipynb index 2a37c73ff..58a565a78 100644 --- a/aviary/docs/user_guide/aviary_commands.ipynb +++ b/aviary/docs/user_guide/aviary_commands.ipynb @@ -125,18 +125,29 @@ "outputs": [], "source": [ "# Testing Cell\n", + "import os\n", "import subprocess\n", + "import aviary.api as av\n", "from aviary.utils.doctape import glue_variable\n", "\n", - "str_model = 'small_single_aisle_GwGm'\n", + "aviary_top_dir = av.get_path('docs').parent.parent\n", "str_folder = 'models/small_single_aisle'\n", - "command = 'aviary run_mission ' + str_folder + '/' + str_model + '.csv'\n", + "folder = av.get_path(str_folder)\n", + "model_dir = folder.relative_to(aviary_top_dir)\n", + "glue_variable(str(model_dir), md_code=True)\n", + "\n", + "str_model = 'small_single_aisle_GwGm.csv'\n", + "folder = av.get_path(str_folder) / (str_model)\n", + "file_name = os.path.basename(folder)\n", + "glue_variable(file_name, md_code=False)\n", + "\n", + "command = 'aviary run_mission ' + str_folder + '/' + str_model\n", + "glue_variable(command, md_code=True)\n", "command += ' --max_iter 0 --optimizer IPOPT' # max_iter to limit build time, IPOPT to run on CI\n", "subprocess.run(command.split()).check_returncode();\n", "\n", - "glue_variable('aviary run_mission models/small_single_aisle/' + str_model + '.csv', md_code=True)\n", - "glue_variable(str_model + '.csv', md_code=False)\n", - "glue_variable('aviary/' + str_folder, md_code=True)" + "\n", + "\n" ] }, { diff --git a/aviary/docs/user_guide/battery_subsystem_example.ipynb b/aviary/docs/user_guide/battery_subsystem_example.ipynb index 761a7dfae..705ffe763 100644 --- a/aviary/docs/user_guide/battery_subsystem_example.ipynb +++ b/aviary/docs/user_guide/battery_subsystem_example.ipynb @@ -1,5 +1,25 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "remove-cell" + ] + }, + "outputs": [], + "source": [ + "# Testing Cell\n", + "import aviary.api as av\n", + "from aviary.utils.doctape import glue_variable\n", + "\n", + "aviary_top_dir = av.get_path('docs').parent.parent\n", + "folder = av.get_path('examples/external_subsystems/battery')\n", + "examples_dir = folder.relative_to(aviary_top_dir)\n", + "glue_variable(str(examples_dir), md_code=True)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -9,7 +29,7 @@ "## Examining the battery as an example case\n", "\n", "Let's take a look at how to integrate an external subsystem into Aviary using the example of a battery model.\n", - "This battery model and builder are provided in the `aviary/examples/external_subsystems/battery` folder.\n", + "This battery model and builder are provided in the {glue:md}`aviary/examples/external_subsystems/battery` folder.\n", "\n", "We'll show you how to define the builder object, how to specify the pre-mission and mission models, and how to implement the interface methods.\n", "In each of these methods, we've removed the initial docstring to increase readability on this page.\n", @@ -111,7 +131,7 @@ "# Get all functions of class CoreAerodynamicsBuilder\n", "methods = inspect.getmembers(SubsystemBuilderBase, predicate=inspect.isfunction)\n", "for name, func in methods:\n", - " if not name.startswith('_'):\n", + " if not name.startswith('_'): # exclude private functions\n", " glue_variable(name + '()', md_code=True)\n", "\n", "AviaryValues = av.AviaryValues\n", diff --git a/aviary/docs/user_guide/features_and_functionalities.ipynb b/aviary/docs/user_guide/features_and_functionalities.ipynb index 21b181202..8c02ce6ce 100644 --- a/aviary/docs/user_guide/features_and_functionalities.ipynb +++ b/aviary/docs/user_guide/features_and_functionalities.ipynb @@ -12,14 +12,9 @@ "source": [ "# Testing Cell\n", "from aviary.api import LegacyCode\n", - "from aviary.interface.methods_for_level2 import AviaryGroup\n", "from aviary.utils.doctape import glue_variable\n", "\n", - "ag = AviaryGroup()\n", - "opts = list(ag.options)\n", - "for opt in opts:\n", - " if opt == 'phase_info':\n", - " glue_variable('phase_info', md_code=True)\n", + "glue_variable('phase_info', md_code=True)\n", "glue_variable(LegacyCode.FLOPS.name, md_code=False)\n", "glue_variable(LegacyCode.GASP.name, md_code=False)" ] diff --git a/aviary/docs/user_guide/hamilton_standard.ipynb b/aviary/docs/user_guide/hamilton_standard.ipynb index 796750976..82a7aaa4b 100644 --- a/aviary/docs/user_guide/hamilton_standard.ipynb +++ b/aviary/docs/user_guide/hamilton_standard.ipynb @@ -324,25 +324,42 @@ "outputs": [], "source": [ "# Testing Cell\n", + "import os\n", "import aviary.api as av\n", "from aviary.variable_info.enums import OutMachType\n", "from aviary.subsystems.propulsion.propeller.propeller_performance import OutMachs\n", - "file_path = av.get_path('models/propellers/general_aviation.prop')\n", - "file_path = av.get_path('models/propellers/PropFan.prop')\n", - "glue_variable('models/propellers', md_code=True)\n", - "glue_variable('general_aviation.prop', md_code=True)\n", - "glue_variable('PropFan.prop', md_code=True)\n", - "file_path = av.get_path('models/propellers/general_aviation.map')\n", - "file_path = av.get_path('models/propellers/PropFan.map')\n", - "glue_variable('general_aviation.map', md_code=True)\n", - "glue_variable('PropFan.map', md_code=True)\n", + "\n", + "aviary_top_dir = av.get_path('docs').parent\n", + "#print(aviary_top_dir)\n", + "\n", + "folder_path = av.get_path('models/propellers')\n", + "propellers_dir = folder_path.relative_to(aviary_top_dir)\n", + "glue_variable(str(propellers_dir), md_code=True)\n", + "\n", + "file_path = av.get_path(folder_path / 'general_aviation.prop')\n", + "prop_file_name = os.path.basename(file_path)\n", + "glue_variable(prop_file_name, md_code=True)\n", + "\n", + "map_file_name = file_path.stem + '.map'\n", + "file_path = av.get_path(folder_path / map_file_name)\n", + "map_file_name = os.path.basename(file_path)\n", + "glue_variable(map_file_name, md_code=True)\n", + "\n", + "file_path = av.get_path(folder_path / 'PropFan.prop')\n", + "prop_file_name = os.path.basename(file_path)\n", + "glue_variable(prop_file_name, md_code=True)\n", + "\n", + "map_file_name = file_path.stem + '.map'\n", + "file_path = av.get_path(folder_path / map_file_name)\n", + "map_file_name = os.path.basename(file_path)\n", + "glue_variable(map_file_name, md_code=True)\n", "\n", "glue_variable(OutMachType.HELICAL_MACH.name.title(), md_code=True)\n", "glue_variable(OutMachType.MACH.name.title(), md_code=True)\n", "\n", - "check_value(Aircraft.Engine.Propeller.DATA_FILE,'aircraft:engine:propeller:data_file')\n", + "check_value(Aircraft.Engine.Propeller.DATA_FILE, 'aircraft:engine:propeller:data_file')\n", "glue_variable(get_variable_name(Aircraft.Engine.Propeller.DATA_FILE), md_code=True)\n", - "check_value(Dynamic.Atmosphere.MACH,'mach')\n", + "check_value(Dynamic.Atmosphere.MACH, 'mach')\n", "glue_variable(get_variable_name(Dynamic.Atmosphere.MACH), md_code=True)\n", "glue_variable(get_variable_name(OutMachs), md_code=True)\n" ] diff --git a/aviary/docs/user_guide/off_design_missions.ipynb b/aviary/docs/user_guide/off_design_missions.ipynb index 5b5818987..9a9f0d6ab 100644 --- a/aviary/docs/user_guide/off_design_missions.ipynb +++ b/aviary/docs/user_guide/off_design_missions.ipynb @@ -88,9 +88,11 @@ "# Testing Cell\n", "import aviary.api as av\n", "from aviary.utils.doctape import glue_variable\n", - "str_file_path = 'examples/run_off_design_example.py'\n", - "file_path = av.get_path(str_file_path)\n", - "glue_variable('aviary/' + str_file_path, md_code=True)" + "\n", + "aviary_top_dir = av.get_path('docs').parent.parent\n", + "\n", + "file_path = av.get_path('examples/run_off_design_example.py').relative_to(aviary_top_dir)\n", + "glue_variable(str(file_path), md_code=True)" ] }, { diff --git a/aviary/docs/user_guide/postprocessing_and_visualizing_results.ipynb b/aviary/docs/user_guide/postprocessing_and_visualizing_results.ipynb index 7970a7382..e778ff9ba 100644 --- a/aviary/docs/user_guide/postprocessing_and_visualizing_results.ipynb +++ b/aviary/docs/user_guide/postprocessing_and_visualizing_results.ipynb @@ -12,16 +12,34 @@ "source": [ "# Testing Cell\n", "import inspect\n", - "from aviary.utils.functions import get_path\n", + "import os\n", + "import aviary.api as av\n", + "#from aviary.utils.functions import get_path\n", "from aviary.utils.doctape import glue_variable\n", "from aviary.interface.methods_for_level2 import AviaryProblem\n", "\n", + "aviary_top_dir = av.get_path('docs').parent.parent\n", + "\n", "# make sure that the path exists.\n", - "str_run_aviary_example = 'run_aviary_example'\n", - "get_path('examples/' + str_run_aviary_example + '.py')\n", - "glue_variable('aviary/examples', md_code=True)\n", - "glue_variable(str_run_aviary_example + '.py', md_code=True)\n", - "glue_variable(str_run_aviary_example + '.zip', md_code=True)\n", + "folder = av.get_path('examples')\n", + "examples_dir = folder.relative_to(aviary_top_dir)\n", + "glue_variable(str(examples_dir), md_code=True)\n", + "\n", + "run_example_dir = os.path.basename(examples_dir)\n", + "\n", + "str_run_aviary_example = 'run_aviary_example.py'\n", + "run_aviary_example = av.get_path(folder / str_run_aviary_example)\n", + "examples_dir = run_aviary_example.relative_to(aviary_top_dir)\n", + "#print(examples_dir)\n", + "\n", + "run_example_dir = os.path.basename(examples_dir)\n", + "glue_variable(run_example_dir, md_code=True)\n", + "#glue_variable(str_run_aviary_example + '.py', md_code=True)\n", + "\n", + "run_example_dir = os.path.basename(examples_dir.stem + '.zip')\n", + "\n", + "glue_variable(run_example_dir, md_code=True)\n", + "#glue_variable(str_run_aviary_example + '.zip', md_code=True)\n", "\n", "# Get all functions of class AviaryProblem\n", "functs = inspect.getmembers(AviaryProblem, predicate=inspect.isfunction)\n", @@ -34,8 +52,8 @@ "sig = inspect.signature(AviaryProblem.run_aviary_problem)\n", "arguments = [param.name for param in sig.parameters.values()]\n", "for arg in arguments:\n", - " if arg == 'optimization_history_filename':\n", - " glue_variable(arg, md_code=True)" + " #if arg == 'optimization_history_filename':\n", + " glue_variable(arg, md_code=True)" ] }, { @@ -110,7 +128,7 @@ " #print(action.dest, action.default)\n", " glue_variable('--' + action.dest, md_code=True)\n", " if action.default is not None and not type(action.default) is bool:\n", - " glue_variable(str(action.default), md_code=True)\n" + " glue_variable(action.default, md_code=True)\n" ] }, { diff --git a/aviary/docs/user_guide/reserve_missions.ipynb b/aviary/docs/user_guide/reserve_missions.ipynb index 58c2fc4eb..01093fee6 100644 --- a/aviary/docs/user_guide/reserve_missions.ipynb +++ b/aviary/docs/user_guide/reserve_missions.ipynb @@ -12,10 +12,10 @@ "source": [ "# Testing Cell\n", "import inspect\n", + "import os\n", "import aviary.api as av\n", "from aviary.interface.methods_for_level2 import AviaryGroup, AviaryProblem\n", "from aviary.utils.doctape import get_variable_name, glue_variable\n", - "from aviary.utils.functions import get_path\n", "\n", "glue_variable(av.EquationsOfMotion.HEIGHT_ENERGY.value, md_code=False)\n", "glue_variable(av.EquationsOfMotion.TWO_DEGREES_OF_FREEDOM.value, md_code=False)\n", @@ -28,24 +28,28 @@ "str_shooting = str_shooting.split('.')[1].lower()\n", "glue_variable(str_shooting, md_code=False)\n", "\n", - "ag = AviaryGroup()\n", - "opts = list(ag.options)\n", - "for opt in opts:\n", - " if opt == 'phase_info':\n", - " glue_variable('phase_info', md_code=True)\n", + "glue_variable('phase_info', md_code=True)\n", + "\n", + "aviary_top_dir = av.get_path('docs').parent\n", + "folder = av.get_path('examples/reserve_missions')\n", + "examples_dir = folder.relative_to(aviary_top_dir)\n", + "\n", + "str_run_aviary_example = 'run_reserve_mission_multiphase.py'\n", + "file_name = os.path.join(examples_dir, str_run_aviary_example)\n", + "file_name = os.path.basename(file_name)\n", + "glue_variable(str(file_name), md_code=True)\n", "\n", - "str_run_aviary_example = 'run_reserve_mission_multiphase'\n", - "get_path('examples/reserve_missions/' + str_run_aviary_example + '.py')\n", - "glue_variable(str_run_aviary_example + '.py', md_code=True)\n", "\n", - "str_run_aviary_example = 'run_2dof_reserve_mission_multiphase'\n", - "get_path('examples/reserve_missions/' + str_run_aviary_example + '.py')\n", - "glue_variable(str_run_aviary_example + '.py', md_code=True)\n", + "str_run_aviary_example = 'run_2dof_reserve_mission_multiphase.py'\n", + "file_name = os.path.join(examples_dir, str_run_aviary_example)\n", + "file_name = os.path.basename(file_name)\n", + "glue_variable(str(file_name), md_code=True)\n", "\n", "# Get all functions of class AviaryProblem\n", "methods = inspect.getmembers(AviaryProblem, predicate=inspect.isfunction)\n", "for name, func in methods:\n", - " if not name.startswith('_') and name in ['check_and_preprocess_inputs', 'load_inputs']:\n", + " #if not name.startswith('_') and name in ['check_and_preprocess_inputs', 'load_inputs']:\n", + " if not name.startswith('_'): # exclude private functions\n", " glue_variable(name + '()', md_code=True)\n", " glue_variable('prob.' + name + '()', md_code=True)" ] diff --git a/aviary/docs/user_guide/variable_metadata.ipynb b/aviary/docs/user_guide/variable_metadata.ipynb index 888b62bfd..a6472a12e 100644 --- a/aviary/docs/user_guide/variable_metadata.ipynb +++ b/aviary/docs/user_guide/variable_metadata.ipynb @@ -333,19 +333,29 @@ "source": [ "# Testing Cell\n", "\n", + "import os\n", "import aviary.api as av\n", "from aviary.utils.doctape import get_function_names, glue_variable\n", "\n", - "glue_variable('utils/merge_hierarchies.py', md_code=False)\n", - "glue_variable('utils/merge_variable_metadata.py', md_code=False)\n", + "aviary_top_dir = av.get_path('docs').parent\n", + "folder = av.get_path('utils')\n", "\n", - "file_path = av.get_path('utils/merge_hierarchies.py')\n", + "utils_dir = folder.relative_to(aviary_top_dir)\n", + "print(utils_dir)\n", + "\n", + "file_path = os.path.join(utils_dir, 'merge_hierarchies.py')\n", + "glue_variable(file_path, md_code=False)\n", + "file_path = av.get_path(file_path)\n", "function_names = get_function_names(file_path)\n", "for function_name in function_names:\n", " if not function_name.startswith('_'):\n", " glue_variable(function_name+'()', md_code=True)\n", "\n", - "file_path = av.get_path('utils/merge_variable_metadata.py')\n", + "file_path = os.path.join(utils_dir, 'merge_variable_metadata.py')\n", + "glue_variable(file_path, md_code=False)\n", + "file_path = av.get_path(file_path)\n", + "\n", + "file_path = av.get_path(file_path)\n", "function_names = get_function_names(file_path)\n", "for function_name in function_names:\n", " if not function_name.startswith('_'):\n", @@ -555,7 +565,7 @@ "metadata": { "celltoolbar": "Tags", "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "av1", "language": "python", "name": "python3" }, @@ -569,7 +579,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.3" + "version": "3.9.18" }, "orphan": true },