juice-phs


Namejuice-phs JSON
Version 0.6.0 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2024-10-04 06:45:28
maintainerNone
docs_urlNone
authorJUICE SOC team
requires_python>=3.6
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 🪢 JUICE Planning Harmonisation System

juice-phs is a Python package that supports the Detailed Scenario Exercises during the Observation Plan,
Pointing and Instrument Timeline Harmonisation processes. It also includes number of routines to calculate the
geometry parameters that require spacecraft attitude information.


## 🛠️️ Prerequisites

   * A computer based on a 64-bit Unix operating system: Linux or Mac
   * Python 3.8 (or higher)


## ⎆ Python Installation

Install juice-phs with:

```sh
pip install [--upgrade] juice-phs
```

If you have a JUICE Git user, you can also install juice-phs locally from the repository:

```sh
git clone https://juigitlab.esac.esa.int/python/juice-phs
cd juice-phs
pip install .
```

## Using the library

After installing the library can be used with the Python Shell or with its CLI.

### Command line interface

The package has a number of CLI entry points:
  - `opl2otl` convert Observation Plan (`OPL`) to Observation Timeline (`OTL`).
  - `opl2otc` convert Observation Plan (`OPL`) to Observation Timeline Coverage (`OTC`).

Usage examples are provided hereunder. Using the following input Observation Plan:
```sh
RIME_PRIME_OBSERVATION,2032-07-02T16:09:54.000Z,2032-07-02T16:31:31.000Z,RIME_EUROPA_FLYBY_02,RIME
RPWI_OBSERVATION,2032-07-02T16:08:54.000Z,2032-07-02T16:32:31.000Z,RPWI_In_situ_slow_Radio_Full,RPWI
RPWI_OBSERVATION,2032-07-02T06:52:25.000Z,2032-07-02T14:52:25.000Z,RPWI_In_situ_normal_Radio_Full,RPWI
JANUS_PRIME_OBSERVATION,2032-07-02T04:18:40.000Z,2032-07-02T04:32:00.000Z,SJS0004C50A_UVS_SAT_STELL_OCC_A,JANUS
```

with:
```sh
opl2otl -h 

usage: opl2otl [-h] [-o OUTPUT] [-s SCENARIO] [-i ITERATION] [-u] csv

juice-itl: convert Observation Plan (OPL) to Observation Timeline (OTL).

positional arguments:
  csv                   Observation Plan (OPL) CSV input file.

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        Output directory (default: Current).
  -s SCENARIO, --scenario SCENARIO
                        Scenario Identifier (default: E001).
  -i ITERATION, --iteration ITERATION
                        Iteration reference (default: S01P00).
  -u, --utc             File times as UTC (default: Relative to events).
```

with the following arguments:
```sh
opl2otl opl_input.csv
```

generates the following directory structure:
```sh
.
|-- EVF_E001_01_SOC_S01P01.EVF
|-- EVF_E001_01_SOC_SXXPYY.EVF
|-- JANUS
|   |-- OTL_E001_01_JAN_S01P01.ITL
|   `-- OTL_E001_01_JAN_SXXPYY.ITL
|-- RIME
|   |-- OTL_E001_01_RIM_S01P01.ITL
|   `-- OTL_E001_01_RIM_SXXPYY.ITL
`-- RPWI
    |-- OTL_E001_01_RPW_S01P01.ITL
    `-- OTL_E001_01_RPW_SXXPYY.ITL

```

with the following content for `OTL_E001_01_RPW_SXXPYY.ITL`:
```sh
PTR_OBS_END    (COUNT =   1)   02:20:25  RPWI   OBS_START  RPWI_In_situ_normal_Radio_Full 
PTR_OBS_START  (COUNT =   2)  -01:17:29  RPWI   OBS_END    RPWI_In_situ_normal_Radio_Full

PTR_OBS_START  (COUNT =   2)  -00:01:00  RPWI   OBS_START  RPWI_In_situ_slow_Radio_Full 
PTR_OBS_END    (COUNT =   2)   00:01:00  RPWI   OBS_END    RPWI_In_situ_slow_Radio_Full
```

with :
```sh
opl2qlc -h

usage: opl2otc [-h] [-o OUTPUT] csv

juice-itl: convert Observation Plan (OPL) to Observation Timeline Coverage (OTC).

positional arguments:
  csv                   Quick-Look Coverage input CSV input file.

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        Output file (default: qlc_output.csv at current directory).
```

with the following arguments:
```sh
opl2otc opl_input.csv -o otc_output.csv
```

generates the following output file:
```sh
RIME_EUROPA_FLYBY_02,2032-07-02T16:09:54.000Z,2032-07-02T16:31:31.000Z,0,RIME
RPWI_In_situ_slow_Radio_Full,2032-07-02T16:08:54.000Z,2032-07-02T16:32:31.000Z,0,RPWI
RPWI_In_situ_normal_Radio_Full,2032-07-02T06:52:25.000Z,2032-07-02T14:52:25.000Z,0,RPWI
SJS0004C50A_UVS_SAT_STELL_OCC_A,2032-07-02T04:18:40.000Z,2032-07-02T04:32:00.000Z,0,JANUS
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "juice-phs",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": "JUICE SOC team",
    "author_email": "juice_soc@cosmos.esa.int",
    "download_url": null,
    "platform": null,
    "description": "# \ud83e\udea2 JUICE Planning Harmonisation System\n\njuice-phs is a Python package that supports the Detailed Scenario Exercises during the Observation Plan,\nPointing and Instrument Timeline Harmonisation processes. It also includes number of routines to calculate the\ngeometry parameters that require spacecraft attitude information.\n\n\n## \ud83d\udee0\ufe0f\ufe0f Prerequisites\n\n   * A computer based on a 64-bit Unix operating system: Linux or Mac\n   * Python 3.8 (or higher)\n\n\n## \u2386 Python Installation\n\nInstall juice-phs with:\n\n```sh\npip install [--upgrade] juice-phs\n```\n\nIf you have a JUICE Git user, you can also install juice-phs locally from the repository:\n\n```sh\ngit clone https://juigitlab.esac.esa.int/python/juice-phs\ncd juice-phs\npip install .\n```\n\n## Using the library\n\nAfter installing the library can be used with the Python Shell or with its CLI.\n\n### Command line interface\n\nThe package has a number of CLI entry points:\n  - `opl2otl` convert Observation Plan (`OPL`) to Observation Timeline (`OTL`).\n  - `opl2otc` convert Observation Plan (`OPL`) to Observation Timeline Coverage (`OTC`).\n\nUsage examples are provided hereunder. Using the following input Observation Plan:\n```sh\nRIME_PRIME_OBSERVATION,2032-07-02T16:09:54.000Z,2032-07-02T16:31:31.000Z,RIME_EUROPA_FLYBY_02,RIME\nRPWI_OBSERVATION,2032-07-02T16:08:54.000Z,2032-07-02T16:32:31.000Z,RPWI_In_situ_slow_Radio_Full,RPWI\nRPWI_OBSERVATION,2032-07-02T06:52:25.000Z,2032-07-02T14:52:25.000Z,RPWI_In_situ_normal_Radio_Full,RPWI\nJANUS_PRIME_OBSERVATION,2032-07-02T04:18:40.000Z,2032-07-02T04:32:00.000Z,SJS0004C50A_UVS_SAT_STELL_OCC_A,JANUS\n```\n\nwith:\n```sh\nopl2otl -h \n\nusage: opl2otl [-h] [-o OUTPUT] [-s SCENARIO] [-i ITERATION] [-u] csv\n\njuice-itl: convert Observation Plan (OPL) to Observation Timeline (OTL).\n\npositional arguments:\n  csv                   Observation Plan (OPL) CSV input file.\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -o OUTPUT, --output OUTPUT\n                        Output directory (default: Current).\n  -s SCENARIO, --scenario SCENARIO\n                        Scenario Identifier (default: E001).\n  -i ITERATION, --iteration ITERATION\n                        Iteration reference (default: S01P00).\n  -u, --utc             File times as UTC (default: Relative to events).\n```\n\nwith the following arguments:\n```sh\nopl2otl opl_input.csv\n```\n\ngenerates the following directory structure:\n```sh\n.\n|-- EVF_E001_01_SOC_S01P01.EVF\n|-- EVF_E001_01_SOC_SXXPYY.EVF\n|-- JANUS\n|   |-- OTL_E001_01_JAN_S01P01.ITL\n|   `-- OTL_E001_01_JAN_SXXPYY.ITL\n|-- RIME\n|   |-- OTL_E001_01_RIM_S01P01.ITL\n|   `-- OTL_E001_01_RIM_SXXPYY.ITL\n`-- RPWI\n    |-- OTL_E001_01_RPW_S01P01.ITL\n    `-- OTL_E001_01_RPW_SXXPYY.ITL\n\n```\n\nwith the following content for `OTL_E001_01_RPW_SXXPYY.ITL`:\n```sh\nPTR_OBS_END    (COUNT =   1)   02:20:25  RPWI   OBS_START  RPWI_In_situ_normal_Radio_Full \nPTR_OBS_START  (COUNT =   2)  -01:17:29  RPWI   OBS_END    RPWI_In_situ_normal_Radio_Full\n\nPTR_OBS_START  (COUNT =   2)  -00:01:00  RPWI   OBS_START  RPWI_In_situ_slow_Radio_Full \nPTR_OBS_END    (COUNT =   2)   00:01:00  RPWI   OBS_END    RPWI_In_situ_slow_Radio_Full\n```\n\nwith :\n```sh\nopl2qlc -h\n\nusage: opl2otc [-h] [-o OUTPUT] csv\n\njuice-itl: convert Observation Plan (OPL) to Observation Timeline Coverage (OTC).\n\npositional arguments:\n  csv                   Quick-Look Coverage input CSV input file.\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -o OUTPUT, --output OUTPUT\n                        Output file (default: qlc_output.csv at current directory).\n```\n\nwith the following arguments:\n```sh\nopl2otc opl_input.csv -o otc_output.csv\n```\n\ngenerates the following output file:\n```sh\nRIME_EUROPA_FLYBY_02,2032-07-02T16:09:54.000Z,2032-07-02T16:31:31.000Z,0,RIME\nRPWI_In_situ_slow_Radio_Full,2032-07-02T16:08:54.000Z,2032-07-02T16:32:31.000Z,0,RPWI\nRPWI_In_situ_normal_Radio_Full,2032-07-02T06:52:25.000Z,2032-07-02T14:52:25.000Z,0,RPWI\nSJS0004C50A_UVS_SAT_STELL_OCC_A,2032-07-02T04:18:40.000Z,2032-07-02T04:32:00.000Z,0,JANUS\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": null,
    "version": "0.6.0",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "11713941744cc7f034f78ba436e812d2e24c9f34964cd16dc0683331f3699a8e",
                "md5": "1d6a91a5d6638a11dfdec39b73f97f0b",
                "sha256": "ac2a4d6232633895e9a5098a3fc79f42c7113d06cd3c792d68d5f6d4d6b2082a"
            },
            "downloads": -1,
            "filename": "juice_phs-0.6.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1d6a91a5d6638a11dfdec39b73f97f0b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 42218,
            "upload_time": "2024-10-04T06:45:28",
            "upload_time_iso_8601": "2024-10-04T06:45:28.704680Z",
            "url": "https://files.pythonhosted.org/packages/11/71/3941744cc7f034f78ba436e812d2e24c9f34964cd16dc0683331f3699a8e/juice_phs-0.6.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-04 06:45:28",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "juice-phs"
}
        
Elapsed time: 0.46800s