Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TROPO PGE Stub Implementation #586

Closed
9 tasks done
collinss-jpl opened this issue Feb 18, 2025 · 1 comment
Closed
9 tasks done

TROPO PGE Stub Implementation #586

collinss-jpl opened this issue Feb 18, 2025 · 1 comment
Assignees
Labels
must have Feature is a must have pge.er.01 PGE Engineering Release 01 pge.sprint.r06.05 Sprint 05 for PGE Release 06 pge.sprint.r06.06 Sprint 06 for PGE Release 06

Comments

@collinss-jpl
Copy link
Collaborator

collinss-jpl commented Feb 18, 2025

The Interface delivery for the R3 TROPO SAS was made on Feb 11, meaning we can begin work on the "stub" implementation of the PGE code that will form the baseline for the first Engineering Release.

Development of the following must be included for a fully functional "stub" implementation:

  • Create the src/opera/pge/tropo/tropo_pge.py module
    • The initial module should only define the barebones versions of the pre/post-processor mixins and executor class that simply inherit from the implementations in base_pge.py. See the dswx-ni version for an example
  • Create the src/opera/pge/tropo/schema/tropo_sas_schema.yaml file
    • The tropo repo models its runconfig schema as Pydantic code, which can be found here. We will need to convert this to the corresponding Yamale-format schema. An example runconfig that conforms to this schema can be found here
  • Update the PGE_NAME_MAP in src/opera/scripts/pge_main.py to include an entry mapping TROPO_PGE to the TropoExecutor class
  • Create the src/opera/test/pge/tropo/test_tropo_pge.py suite
    • This should also be a barebones test suite that only contains a single test_tropo_pge_execution function. See the dswx-ni example
  • Create the src/opera/test/data/test_tropo_config.yaml file for use with test_tropo_pge.py
    • The sample runconfig from the tropo repo linked above can be used as sensible sample settings for the SAS section of the our test runconfig
  • Create the .ci/docker/Dockerfile_tropo file
    • This will essentially be a copy of our other existing Dockerfiles, but with the following settings:
    • ARG PGE_DEST_DIR=/home/ops
    • tropo_user:tropo_user should be used where ever the user/group is referenced, for example: COPY --chown=tropo_user:tropo_user ${PGE_SOURCE_DIR} ${PGE_DEST_DIR}
  • Create the .ci/scripts/tropo/build_tropo.sh file
    • This can also essentially be a cut/paste of a previous build script, with the following modifications:
    • Default value for SAS_IMAGE argument should be SAS_IMAGE="artifactory-fn.jpl.nasa.gov:16001/gov/nasa/jpl/opera/adt/tropo:interface_0.1"
    • Ensure Dockerfile_tropo is referenced within the docker build command
  • Create the .ci/scripts/tropo/test_tropo.sh file
    • See the example for disp-s1
    • Ensure CONTAINER_HOME="/home/ops"
  • Update the .ci/scripts/util/build_all_images.sh and .ci/scripts/util/test_all_images.sh scripts to include the new build/test scripts for TROPO
@collinss-jpl collinss-jpl added must have Feature is a must have pge.er.01 PGE Engineering Release 01 pge.sprint.r06.05 Sprint 05 for PGE Release 06 pge.sprint.r06.06 Sprint 06 for PGE Release 06 labels Feb 18, 2025
@collinss-jpl
Copy link
Collaborator Author

Closed by #592

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
must have Feature is a must have pge.er.01 PGE Engineering Release 01 pge.sprint.r06.05 Sprint 05 for PGE Release 06 pge.sprint.r06.06 Sprint 06 for PGE Release 06
Projects
None yet
Development

No branches or pull requests

2 participants