Commit Graph

2119 Commits

Author SHA1 Message Date
ddj116
9099792947
Integrate MonteCarloGenerate capability from EG CML and associated TrickOps enhancements (#1415)
* Provide MonteCarloGenerate capability

Intermediate commit, this squash represents all of Isaac Reaves' work
during his Fall 2022 Pathways internship tour

[skip ci]

* TrickOps: Add phase, [min-max] range, and overhaul YAML verification

* Add new "phase:" mechanism to TrickOps Runs and Builds to support
  project-specific constraints on build and run ordering
  - phase defaults to zero if not specified and must be between -1000
    and 1000 if given.
  - jobs can now optionally be requested by their phase or phase range
  - See trickops/README.md for details
* Add [min-max] notation capability to run: entries and compare: entries
  - [min-max] ranges provide definition of a set of runs using a common
    numbering scheme in the YAML file, greatly reducing YAML file size
    for monte-carlo and other zero-padded run numbering use cases
  - See trickops/README.md for details
* YAML parsing changes
  - Overhaul the logic which verifies YAML files for the expected
    TrickOps format. This is now done in TrickWorkflowYamlVerifier and
    provides much more robust error checking than previous approach
  - .yaml_requirements.yml now provides the required types, ranges, and
    default values as applicable to expected entries in YAML files
  - valgrind: is now an sub-option to run: entries, not its own section
    Users should now list their runs normallly and define their flags in
    in that run's valgrind: subsection
  - parallel_safety is now a per-sim parameter and not global. Users
    should move their global config to the sim layer
  - self.config_errors is now a list of errors. Users should now
    check for empty list when using instead of True/False
* Robustify the get_koviz_report_jobs unit test to work whether koviz
  exists on PATH or not
* Adjust trickops.py to use the new phase and range features
   - Make it more configurable on the command-line via argparse
   - Move SIM_mc_generation tests into test_sims.yml

[skip ci]

* Code review and cleanup from PR #1389

Documentation:

* Adjust documentation to fit suggested symlinked approach. Also
  cleaned up duplicate images and old documentation.
* Moved the verification section out of markdown and into a PDF since it
  heavily leverages formatting not available in markdown.
* Clarify a couple points on the Darwin Trick install guide
* Update wiki to clarify that data recording strings is not supported

MCG Code:

* Replace MonteCarloVariableRandomNormal::is_near_equal with new
  Trick::dbl_is_near from trick team

MCG Testing:

* Reduce the set of SIM_mc_generation comparisons. After discussion
  the trick team, we are choosing to remove all comparisons to
  verif_data/ which contain random-generated numbers since
  these tests cannot pass across all supported trick platforms.
* Fix the wrong rule on exlcuding -Werror for Darwin builds
  of SIM_mc_generation
* Remove data recording of strings in SIM_mc_generation

Trickops:

* Replace build_command with build_args per discussion w/ Trick team
  Since we only support arguments to trick-CP, replace the build_command
  yaml entry with build_args
* Disable var server connection by default in SingleRun if TrickWorkflow.quiet
  is True
* Guard against multiple Job starts
* Remove SimulationJob inheritance layer since old monte-carlo wasn't
  and never will be supported by TrickOps
* Ignore IOError raise from variable_server that looks like "The remote
  endpoint has closed the connection". This appears to occur when
  SingleRun jobs attempt to connect to the var server for a sim that
  terminates very early

[skip ci]

* Adjust phasing of old/new MCG initialize functions

* Clarify failure message in generate_dispersions if new/old MC are both
  used.
* Adjust the phasing order of MCG intialize method to be before
  legacy MC initialized. Without this, monte-carlo dry run completes with
  success before the check in generate_dispersions() can run
* Add -Wno-stringop-truncation to S_override.mk for SIM_mc_generation
  since gcc 8+ warns about SWIG generated content in top.cpp

* Introduce MonteCarloGenerationHelper python class

This new class provides an easy-to-use interface for MCG sim-module
users:

1. Run generation
2. Getting an sbatch array job suitable for SLURM
3. Getting a list of SingleRun() instances for generated runs, to be
   executed locally if desired

---------

Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>
2023-03-06 09:25:50 -06:00
jmpenn
9b3e6aac51
Update README.md
Fix title of Trick::flt_is_near
2023-03-03 13:30:52 -06:00
John M. Penn
3b630c33dc markdown render fix. 2023-03-01 17:16:29 -06:00
John M. Penn
4999b076f4 Typos. 2023-03-01 16:58:35 -06:00
John M. Penn
0573bcfaea Merge branch 'master' of https://github.com/nasa/trick 2023-03-01 16:11:03 -06:00
jmpenn
6e272c4b9e
Add a HOWTO: How-To-Containerize-Trick-with-Docker. (#1462)
* Add a HOWTO: How-To-Containerize-Trick-with-Docker.

* describe operating the cannon graohics client.

* Fix review issues.
2023-03-01 15:44:46 -06:00
John M. Penn
539989469c Fix sprintf problem in SIM_sun. #1464 2023-03-01 14:45:23 -06:00
Jacqueline Deans
5f6a5de070
Expand SIM_test_varserver (#1459)
* Add tests for alternate ways to open VS port

* Don't connect to varserv when quiet=true in trickops

* Add print to try to help debug hanging trickops test

* Handle multicast connect failures gracefully

* Multicast is disabled by default on mac

* Forgot an important return value

* Take away retries

* Fix issue with restart test

* Revert trickops debugging changes

* Remove debugging accidentally left in [no ci]

* whoops

* Allow retries

* Update trickops.py

* sim test adjustments

* Add docs [no ci]

* wording [no ci]

* Cleanup

* Remove large messages, test that one in unit tests
2023-02-24 14:44:55 -06:00
Mrockwell2
29fb20c2eb
SIM_aircraft Graphics Client View Menu (#1457)
* Set up a waypoint system that reads waypoints from an input file.

On branch aircraftUpdate
Changes to be committed:
    new file:   trick_sims/SIM_aircraft/Modified_data/default.waypoints
	modified:   trick_sims/SIM_aircraft/RUN_test/input.py
	modified:   trick_sims/SIM_aircraft/models/Aircraft/include/Aircraft.hh
	modified:   trick_sims/SIM_aircraft/models/Aircraft/src/Aircraft.cpp
	modified:   trick_sims/SIM_aircraft/models/graphics/src/trick/AircraftDisplay.java

* Fixed the Segmentation Fault and completed the waypoint configuration.

On branch aircraftUpdate
Changes to be committed:
	modified:   trick_sims/SIM_aircraft/RUN_test/input.py
	modified:   trick_sims/SIM_aircraft/models/Aircraft/include/Aircraft.hh
	modified:   trick_sims/SIM_aircraft/models/Aircraft/src/Aircraft.cpp

* Created README.md to document recent changes

* Adding in ability to set icons for waypoints.
  On branch aircraftUpdate_WaypointIcons
  Changes to be committed:
	modified:   trick_sims/SIM_aircraft/Modified_data/default.waypoints
	new file:   trick_sims/SIM_aircraft/images/CompassRose.png
	new file:   trick_sims/SIM_aircraft/images/Figure1.png
	new file:   trick_sims/SIM_aircraft/images/Figure2.png
	new file:   trick_sims/SIM_aircraft/images/cheese_64x64.png
	new file:   trick_sims/SIM_aircraft/images/mouse_128x128.png
	new file:   trick_sims/SIM_aircraft/images/strawberry_64x64.png
	new file:   trick_sims/SIM_aircraft/images/twoWheelRover.png
	new file:   trick_sims/SIM_aircraft/images/wp0.png
	new file:   trick_sims/SIM_aircraft/images/wp1.png
	new file:   trick_sims/SIM_aircraft/images/wp10.png
	new file:   trick_sims/SIM_aircraft/images/wp11.png
	new file:   trick_sims/SIM_aircraft/images/wp2.png
	new file:   trick_sims/SIM_aircraft/images/wp3.png
	new file:   trick_sims/SIM_aircraft/images/wp4.png
	new file:   trick_sims/SIM_aircraft/images/wp5.png
	new file:   trick_sims/SIM_aircraft/images/wp6.png
	new file:   trick_sims/SIM_aircraft/images/wp7.png
	new file:   trick_sims/SIM_aircraft/images/wp8.png
	new file:   trick_sims/SIM_aircraft/images/wp9.png
	modified:   trick_sims/SIM_aircraft/models/graphics/src/trick/AircraftDisplay.java

* Reformatted the README file

* Updating the build process to use Maven

* Updating the README file

* Finalized the implementation for adding icons for each waypoint.

* Removed commented code that will not be used.

* Updated the SIM_aircraft documentation to include the waypoint icon implementation.

* Created a menu bar for the GUI

* Minor README fix and file cleanup

* Implemented a view menu to hide and show the info on the map

* Cleared out commented code.

* Last minute code cleanup and update of the documentation.

* Updated the View menu with more options and updated documentation.
2023-02-21 10:49:00 -06:00
Jacqueline Deans
a8c9572186
Correct check for unsupported types in data recording (#1458) 2023-02-16 16:27:47 -06:00
Jacqueline Deans
2fa5cdfc77
Fix checkpointing of empty string array - 1399 patch (#1456) 2023-02-14 09:33:42 -06:00
Mrockwell2
28d5ecfa84
SIM_aircraft Waypoint Update (#1453)
* Set up a waypoint system that reads waypoints from an input file.

On branch aircraftUpdate
Changes to be committed:
    new file:   trick_sims/SIM_aircraft/Modified_data/default.waypoints
	modified:   trick_sims/SIM_aircraft/RUN_test/input.py
	modified:   trick_sims/SIM_aircraft/models/Aircraft/include/Aircraft.hh
	modified:   trick_sims/SIM_aircraft/models/Aircraft/src/Aircraft.cpp
	modified:   trick_sims/SIM_aircraft/models/graphics/src/trick/AircraftDisplay.java

* Fixed the Segmentation Fault and completed the waypoint configuration.

On branch aircraftUpdate
Changes to be committed:
	modified:   trick_sims/SIM_aircraft/RUN_test/input.py
	modified:   trick_sims/SIM_aircraft/models/Aircraft/include/Aircraft.hh
	modified:   trick_sims/SIM_aircraft/models/Aircraft/src/Aircraft.cpp

* Created README.md to document recent changes

* Adding in ability to set icons for waypoints.
  On branch aircraftUpdate_WaypointIcons
  Changes to be committed:
	modified:   trick_sims/SIM_aircraft/Modified_data/default.waypoints
	new file:   trick_sims/SIM_aircraft/images/CompassRose.png
	new file:   trick_sims/SIM_aircraft/images/Figure1.png
	new file:   trick_sims/SIM_aircraft/images/Figure2.png
	new file:   trick_sims/SIM_aircraft/images/cheese_64x64.png
	new file:   trick_sims/SIM_aircraft/images/mouse_128x128.png
	new file:   trick_sims/SIM_aircraft/images/strawberry_64x64.png
	new file:   trick_sims/SIM_aircraft/images/twoWheelRover.png
	new file:   trick_sims/SIM_aircraft/images/wp0.png
	new file:   trick_sims/SIM_aircraft/images/wp1.png
	new file:   trick_sims/SIM_aircraft/images/wp10.png
	new file:   trick_sims/SIM_aircraft/images/wp11.png
	new file:   trick_sims/SIM_aircraft/images/wp2.png
	new file:   trick_sims/SIM_aircraft/images/wp3.png
	new file:   trick_sims/SIM_aircraft/images/wp4.png
	new file:   trick_sims/SIM_aircraft/images/wp5.png
	new file:   trick_sims/SIM_aircraft/images/wp6.png
	new file:   trick_sims/SIM_aircraft/images/wp7.png
	new file:   trick_sims/SIM_aircraft/images/wp8.png
	new file:   trick_sims/SIM_aircraft/images/wp9.png
	modified:   trick_sims/SIM_aircraft/models/graphics/src/trick/AircraftDisplay.java

* Reformatted the README file

* Updating the build process to use Maven

* Updating the README file

* Finalized the implementation for adding icons for each waypoint.

* Removed commented code that will not be used.

* Updated the SIM_aircraft documentation to include the waypoint icon implementation.

* Minor README fix and file cleanup
2023-02-13 16:45:15 -06:00
Deans
407ba1f308 Sit out SIM_checkpoint_data_record tests until fixed 2023-02-13 09:37:13 -06:00
jmpenn
9478b6a442
Fix mm_mutex locking and unlocking fiasco in clear_all_vars. #1452 (#1455) 2023-02-10 14:06:27 -06:00
John M. Penn
b2aa92ae81 Rename Trick17_Tutorial_Review to Trick_Tutorial_Review. 2023-02-09 15:06:00 -06:00
John M. Penn
096881a6be Remove old Trick 13 Tutorial Review. 2023-02-09 14:59:06 -06:00
Jacqueline Deans
9c7becb4ff
Handle thread shutdown gracefully and test (#1448)
---------

Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>
2023-02-08 17:58:59 -06:00
Jacqueline Deans
930dfbc683
Add check and warning for unsupported types in data recording (#1441) 2023-02-07 16:41:53 -06:00
Jacqueline Deans
8be3e30f7a
Fix Mac pipeline (#1454) 2023-02-07 15:35:22 -06:00
Jacqueline Deans
fb25ea70d2
Fix undefined behavior in vs_format_ascii (#1446) 2023-02-07 13:11:51 -06:00
Alex Lin
a48b39bfc1
Make ICG compatible with clang/llvm 15 #1449 (#1450)
Made a couple of changes in ICG source code to handle clang API differences.  Encapsulated
differences in ifdefs.  Added libclangSupport to ICG link line.
2023-02-07 12:46:34 -06:00
jmpenn
afbc78c5e7
Initial commit of compareFloatingPoint utils. (#1443)
* Initial commit of compareFloatingPoint utils.

* Update .gitignore to properly ignore unittest executables.
2023-02-01 15:54:31 -06:00
John M. Penn
917cd84dfc Merge branch 'master' of https://github.com/nasa/trick 2023-02-01 14:46:42 -06:00
John M. Penn
2b308bd89c Add README to SIM_aircraft. 2023-02-01 14:46:14 -06:00
Jacqueline Deans
7131204e09
Add workflow_dispatch option for code_coverage 2023-01-25 14:49:47 -06:00
jmpenn
4879bcfc51
Use Maven to build AircraftDisplay.jar instead of directly from Makefile. (#1435) 2023-01-24 17:19:19 -06:00
Jacqueline Deans
26baac2088
Fix broken link in docs 2023-01-23 15:46:55 -06:00
Jacqueline Deans
8821bac18a
Handle empty PYTHON_MODULE in header comment (#1432) 2023-01-23 08:50:13 -06:00
Jacqueline Deans
e11ff83051 Add documentation on running Trick with sanitizers 2023-01-20 17:33:35 -06:00
Jacqueline Deans
5ff52a01c5
Add option to terminate sim on python event error (#1434) 2023-01-20 15:46:10 -06:00
jmpenn
1b2203b867
Merge Sim aircraft into master (#1429)
* Initial commit of SIM_aircraft

* Add SIM_aircraft variable server client  (#1394)

* Add control panel

* Remove comments

* Add Makefile

Co-authored-by: Zero Nelson <zeronelson13@gmail.com>

Co-authored-by: zeronelson <95947013+zeronelson@users.noreply.github.com>
Co-authored-by: Zero Nelson <zeronelson13@gmail.com>
2023-01-18 11:49:09 -06:00
Jacqueline Deans
807161b19c
Fix 32 bit pipeline (#1430) 2023-01-16 15:54:23 -06:00
Jacqueline Deans
77fa8d78b0
Time tic precision fix and test (#1428) 2023-01-16 08:29:41 -06:00
Jacqueline Deans
97cf685b6a
Parser and test for var_binary (#1425) 2023-01-11 09:27:30 -06:00
Jacqueline Deans
a8daf4514c
Improvements to SIM_test_varserv (#1414)
* Add freeze test to SIM_test_varserv; make mode test more comprehensive
2022-12-15 12:53:39 -06:00
Jacqueline Deans
48f6f76ef3
Fix various issues in scheduled CI jobs (#1419)
- Update S_overrides.mk for SIM_test_varserv so it links correctly in 32 bit (why did only that one have a problem? the world will never know)
- Stop testing Debian Bookworm on python2.7 since support was removed
- Fix some TrickOps unit tests
2022-12-14 17:04:09 -06:00
Jacqueline Deans
75b05a865f
Correct function names in Variable-Server.md 2022-12-06 13:37:32 -06:00
Jacqueline Deans
90b5cdcb3c
Variable Server Integration Test (#1406)
* Added restart to trickops script; updated varserver integration test
2022-12-05 15:24:20 -06:00
Cody Martin
3870dc73b6
Improve tutorial documentation (#1408) 2022-12-02 14:55:40 -06:00
Jacqueline Deans
0933228dd5 Fix links in documentation 2022-11-30 13:18:56 -06:00
Jacqueline Deans
cb89e4dd7e Update version numbers to prerelease 19.6.0-beta 2022-11-29 16:58:30 -06:00
Jacqueline Deans
0f4ca88da6 Update version numbers for Trick Simulation Environment 19.5.1 2022-11-29 16:56:55 -06:00
jmpenn
d1288e3bcf
Update How-To-Make-A-Release.md
Change the word "postfix" to "suffix" in three places to make the meaning clearer.
2022-11-29 16:32:35 -06:00
Jacqueline Deans
86b0bc9d39
Fix undefined behavior in vs_format_ascii (#1409) 2022-11-29 16:29:54 -06:00
Scott Fennell
fb0a760a71
Add GitHub GUI reports to macOS, More Linux, and Linux Python 2 (#1405)
closes #1404
2022-11-22 13:03:03 -06:00
Scott Fennell
8611d7c40e
Refactor workflow distros and workflow python matrix (#1400) (#1401)
closes #1400
2022-11-21 15:25:08 -06:00
Jacqueline Deans
1b394e9386
Add test sim for interaction between data recording and checkpointing (#1398)
* Add test sim and documentation for interaction between data recording and checkpointing
* Dump failing logs from first phase jobs
2022-11-21 11:57:19 -06:00
Jacqueline Deans
d0f679b31a update version numbers to prerelease 19.6.0-beta 2022-11-17 16:00:00 -06:00
Jacqueline Deans
e86e7fd968 update version numbers for Trick Simulation Environment 19.5.0 2022-11-17 15:54:02 -06:00
Scott Fennell
a32befb71a
Update Developer-Docs-Home.md 2022-11-17 15:52:02 -06:00