Source code for ptr.agm.simulation

"""AGM simulation module."""

from pathlib import Path

from .api import agm_api
from .results import AGMResults


[docs]def agm_simulation(metakernel, ptr, endpoint, cache=True) -> AGMResults: """ESA Attitude Generator Module simulation. Parameters ---------- metakernel: str Metakernel id. ptr: str or pathlib.Path Pointing Timeline Request content or file. endpoint: str, optional AGM endpoint simulator. It can be an explicit API URL endpoint or an implicit API keyword, eg. ``'JUICE_API'``. cache: bool, optional Use cache the result of the simulation. Note ---- Currently, AGM API requests is supported. Usage of locally installed AGM instance is envision in the future. See Also -------- ptr.agm.api.agm_api, ptr.agm.AGM_CACHE """ ptr_content = str(ptr).strip() if not ptr_content.startswith('<'): ptr_content = Path(ptr).read_text(encoding='utf-8').strip() return agm_api(metakernel, ptr_content, endpoint, cache=cache)