tudat-team / tudat-space

An introduction and guide to tudat-space.
https://tudat-space.readthedocs.io
14 stars 17 forks source link

Make list of available acceleration models more essential #19

Closed FilippoOggionni closed 2 years ago

FilippoOggionni commented 2 years ago

Connect the list of available acceleration models available here to the API and make it more essential.

FilippoOggionni commented 2 years ago

After a discussion with @jo11he, we think that leaving the code snippets is not so useful, but a link to the API should be sufficient (in addition to the acceleration model setup guide available here).

FilippoOggionni commented 2 years ago

@DominicDirkx I have started modifying the page until "Spherical Harmonic Gravity" (not included), so essentially the introduction and "Point Mass Gravity". I pushed to this branch, but I will attach a screenshot here. I am looking forward to hearing your feedback, so we can decide if/how to proceed 😄

Screen Shot 2021-10-21 at 12 57 14
FilippoOggionni commented 2 years ago

Just to add, the code snippets, which were appreciated by the students, will be moved from such webpage to the API, under each function's "Example" section. The API system is already equipped with that possibility, so we just need to add them to the yaml files. @jo11he and I already tested this and we can confirm it works.

The rationale for this is the following:

A more higher-level rationale backing up the bullet points above is the following distinction (still work-in-progress, but that's what we reached consensus about, if I am not mistaken):

  1. the API explains how single pieces of code (e.g., a function or a class) should be used, without explaining how these pieces of code go together
  2. the user guide tells the user how to put together these single pieces of code, without explaining how to use them, as it is already explained in the API and we want to avoid duplication of information. This is also the reason why, in our opinion, the user guide (and not the API) should contain information about requirements: e.g., the fact that, to have a point mass gravity model working properly, the user needs to define a gravity model for the central body

As a result of this, the user guide should be "essential" when listing a set of several models (e.g., acceleration) that are employed in the same way, but they just differ on the input parameter side. Hence, to keep it essential, examples should not be there, but somewhere else (API).

These can be personal views, so they are up for discussion, but we think it is important that we state clearly and agree on the different purposes of the user guide and the API in order to:

  1. Avoid duplicate information
  2. Make sure that the user is able to autonomously figure out how to set up a simulation, potentially using information from different tools
FilippoOggionni commented 2 years ago

Following a private Slack discussion with @DominicDirkx (link), we have agreed that the list of acceleration models should present all available accelerations and for each only the following content should be present:

FilippoOggionni commented 2 years ago

The following accelerations are in tudat-space but not in the API:

The following accelerations are in the API but not in tudat-space:

FilippoOggionni commented 2 years ago

Other TODO points (also written on the rst file here):

FilippoOggionni commented 2 years ago

@DominicDirkx I pushed here my changes so far.

I have also moved the examples from tudat-space to the API (in the yaml files), but there is a sphinx rendering error for code snippets, so I have not pushed those changes yet. Hopefully we can solve that together with @ggarrett13

FilippoOggionni commented 2 years ago

Update: syntax errors in example code blocks was solved (see pull request above).

FilippoOggionni commented 2 years ago

Besides the points listed below, the rest of the tasks was completed (see this pull request for the example snippets moved to the API and this pull request for the guide on tudat-space).