Skip to content
Snippets Groups Projects
notebook_extra_features.ipynb 5.67 KiB
Newer Older
{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "d5c04b77-f0be-4b33-8c03-c72eb846527c",
   "metadata": {},
   "source": [
    "# Tutorial: Extra features and functionality of binary_c-python\n",
    "In this notebook we'll go over some of the extra features and functionality that was not covered in the other notebooks.\n",
    "\n",
    "Within the module `binarycpython.utils.functions` there are many functions that can be useful when using binarycpython. We can see which functions are in there, again by using the `help()`"
   ]
  },
  {
   "cell_type": "code",
   "id": "de73a2c1-7acd-4b55-a4c4-ee6a7e0758d0",
   "metadata": {},
   "outputs": [],
   "source": [
    "from binarycpython.utils.functions import (\n",
    "    get_help,\n",
    "    get_help_all,\n",
    "    get_help_super,\n",
    "    return_binary_c_version_info,\n",
    "    get_defaults\n",
    ")\n",
    "# help(binarycpython.utils.functions)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "88b93969-b6aa-41b7-8f4d-2eee38d7a756",
   "metadata": {},
   "source": [
    "## getting extra information about binary_c parameters\n",
    "There are several functions that can be used to get information about the parameters in binary_c:\n",
    "\n",
    "- `get_help(parameter)`: Function to get information about the specific input parameter. Prints the output on default but returns a dictionary containing the information. \n",
    "- `get_help_all(print_help=True)`: Function to get information about all the parameters. Prints the output on default but returns a dictionary containing the information. \n",
    "- `get_help_super()`:  Function to get even more information about all the parameters. Does not print the output on default but returns a dictionary containing the information. \n",
    "- `get_defaults()`: Function that will get all the default values for the parameters. Returns a dictionary"
   ]
  },
  {
   "cell_type": "code",
   "id": "7cfe1832-7fec-4817-b633-5b275c65667f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "parameter_name:\n",
      "\tM_1\n",
      "parameter_value_input_type:\n",
      "\tFloat\n",
      "description:\n",
      "\tThe initial mass of star one (in solar units, internally this is star index 0).\n",
      "default:\n",
      "\t0\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'parameter_name': 'M_1',\n",
       " 'parameter_value_input_type': 'Float',\n",
       " 'description': 'The initial mass of star one (in solar units, internally this is star index 0).',\n",
       " 'default': '0'}"
      ]
     },
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "get_help('M_1')"
   ]
  },
  {
   "cell_type": "code",
   "id": "af62a066-ef70-4b59-877e-2b5a6bafcfc2",
   "metadata": {},
   "outputs": [],
   "source": [
    "# get_help_all()"
   ]
  },
  {
   "cell_type": "code",
   "id": "b85f1956-ee69-444a-a212-cd7473007bf1",
   "metadata": {},
   "outputs": [],
   "source": [
    "# get_help_super()"
   ]
  },
  {
   "cell_type": "code",
   "id": "e22b7a47-2748-406e-bba4-e92825ea9b47",
   "metadata": {},
   "outputs": [],
   "source": [
    "# get_defaults()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c89ef423-82b9-49ed-8cf9-94c9ce41a82a",
   "metadata": {},
   "source": [
    "## Build information of binary_c\n",
    "Sometimes we want to know with which settings binary_c has been built. We can use the function `return_binary_c_version_info` for this.\n",
    "This function will parse the version info of binary_c and return a dictionary with all the settings."
   ]
  },
  {
   "cell_type": "code",
   "id": "4dae05bd-6a66-4b1f-be4a-d092627dfe37",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dict_keys(['networks', 'isotopes', 'argpairs', 'ensembles', 'ensemble_filters', 'macros', 'elements', 'dt_limits', 'nucleosynthesis_sources', 'miscellaneous'])\n"
     ]
    }
   ],
   "source": [
    "version_info_dict = return_binary_c_version_info(parsed=True)\n",
    "print(version_info_dict.keys())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "708c7253-9d9d-4705-969b-23f29695517d",
   "metadata": {},
   "source": [
    "## Example parse function\n",
    "TODO: In the functions module there is an example parse function that can be used in conjunction with run_system. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8656614a-09da-486f-b299-61cc6092187c",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "6fac26d0-a0d2-40c7-915d-0883247cd24d",
   "metadata": {},
   "source": [
    "## Dictionary modification\n",
    "- merge_dicts \n",
    "- update_dicts\n",
    "- multiply_values_dict\n",
    "\n",
    "TODO:"
David Hendriks's avatar
dd  
David Hendriks committed
  {
   "cell_type": "markdown",
   "id": "b3c259ef-9f89-4b26-9ce3-45af625bc398",
   "metadata": {},
   "source": [
David Hendriks's avatar
dd  
David Hendriks committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bf3c1e28-1662-47a7-abab-aa6fb0ef0882",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}