-
Notifications
You must be signed in to change notification settings - Fork 465
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
Regression test and OpenFAST updates #42
Merged
Merged
Changes from 107 commits
Commits
Show all changes
115 commits
Select commit
Hold shift + click to select a range
6d617c1
add test_plot.py to /reg_tests/lib for graphically comparing two test…
dae13a0
ignore .DS_Store
rafmudaf 02c1e99
better contrast between series, save plot to test dir
rafmudaf 6ce0a6f
add a general use rtestlib
rafmudaf 603df7a
rework pass_fail script as a module
rafmudaf b682d47
use rtestlib for general use functions
rafmudaf d23ac5a
use rtestlib for general use functions
rafmudaf 8345616
plot the solutions differences for all channels in failing cases
rafmudaf d872435
plot only the failing channels
rafmudaf 8f4f432
bug fix for adding the lib/ directory to python path
rafmudaf 344765f
update chart style, remove %diff chart
rafmudaf f232e03
update the plotting script to a module and improve plots
rafmudaf 1a65c2f
add a helper method to validate a directory or make it
rafmudaf 5ce1753
initialize the plots directory with a plot list md
rafmudaf 90802a6
change markdown to html for viewing in browser
rafmudaf 5a2e8b1
update the regression test for directory structure updates in r-test
rafmudaf 0fb2047
replace unicode with ascii characters in output
rafmudaf 20310a7
fix for bug introduced in testing
rafmudaf b8a4a08
add better formatting for the plot html
rafmudaf 0469203
update the servodyn controller paths for new r-test structure
rafmudaf d30a34f
use a non interactive backend for mpl plotting
rafmudaf 80392e2
remove outdated comments
rafmudaf a19ef0a
bug fix for choosing a default baseline type
rafmudaf 9e11fd8
update ctest config for latest directory structure update
rafmudaf fda2215
plotting is now an optional flag in cmake
rafmudaf 7488ebb
use argparse for argument handling
rafmudaf a347728
add a default to the map getter call
rafmudaf ac93590
handle argument parsing with argparse module
rafmudaf ee50361
improve the argument metavar's for better help messages
rafmudaf 2c411c7
add the optional plotting flag to the manual regression test script
rafmudaf 44fe240
improve the console logging when executing the regression test manually
rafmudaf 44ce18f
rotational velocity vector is now double precision
70ab728
always use R8Ki in BeamDyn_Driver
01f2a55
use ReKi in OrcaDyn_Driver to support single prec
737e0f5
Use double prec in ED CoordSys on trig functions
dbb4aa2
update r-test subdmodule to latest HEAD
rafmudaf d3a0d1c
print useful info
rafmudaf 4ef03d9
cleanup module, print useful info
rafmudaf 1504ee6
update input arguments and add verbose flag
rafmudaf a96d8a4
add verbose mode and single case execution
rafmudaf bd04f4e
update the results output formatting
rafmudaf 92dc8d1
add time to pack series
rafmudaf 32a52f4
import plotting resources only if plotting is turned on
rafmudaf ca0a5e9
improved syntax for calculating the norm
rafmudaf 06ccce5
update variable names
rafmudaf ebed7be
remove code from development
rafmudaf ab697dd
update solution parsing in plotting for latest api
rafmudaf c58a4ac
add a `sphinx-html` target to bypass doxygen build
rafmudaf 0572497
Updating the reading and writing of number of time steps to the veloc…
gantech f0cbcc0
Updating OpenFOAM.f90 to be more robust when interpolating chord to t…
gantech e43f448
Update install instructions and provide sample scripts for configurat…
gantech 19f84d6
Updating install script
gantech d8f90a7
FAST CXX: Update CMake directives for Spack HDF5 compilation
sayerhs bd99e8d
Updating instructions for building OpenFAST manually and using spack.
gantech 5a22064
fix links and formatting
4726391
Remove reference to MacOS 10.12 in the install instructions
gantech 810c9cd
list dependencies before build instructions, keep cmake together
rafmudaf 552ae67
update spack instructions
rafmudaf 7fd109f
add openfast to spack packages
rafmudaf 519c194
rm extraneous code
rafmudaf f576199
update beamdyn regression test script with new api’s
rafmudaf 9115e31
status format update
rafmudaf 8447ab9
support ascii output files in the output plotting
rafmudaf 9d9dd92
enable regression test without actually running the cases
rafmudaf 2f763d7
add max norm in the error quanitification
rafmudaf bbfc944
fix plot layout problems
rafmudaf 42f22ca
add a summary section with norm info for each case
rafmudaf f9a5ed4
distinguish private from public functions
rafmudaf a37f73a
deprecate individual driver scripts in favor of a generic openfast dr…
rafmudaf ea1a9dc
use consistent input arguments
rafmudaf d398323
use the new generic case driver
rafmudaf b041dd3
write the case summary html
rafmudaf 8151673
add and improve html export tools
rafmudaf 63eca17
improve the results reporting
rafmudaf 1be3427
bug fix when generating plots but not running the case
rafmudaf 55b1765
add cell styling to max norms and failure cases
rafmudaf 017400c
bug fix for deriving the log file name
rafmudaf e2b2752
add cmake functions for managing git status
rafmudaf fd02c81
create a git hash make variable to pass during compile
rafmudaf 02b3c5e
add a subroutine to parse and compile program metadata
rafmudaf eb6e26f
update the version and program info header
rafmudaf bfe9509
test the cmake functions for including git info
rafmudaf fd15396
add git commit to version string
rafmudaf 1261d5a
update the structured program metadata log
rafmudaf 99bd62c
read only 8 bytes of the git commit hash
rafmudaf f666599
code cleanup
rafmudaf 1038e40
only return the ‘name’ in name - version - date
rafmudaf ca3ec0d
clean up the log data
rafmudaf 968a36f
suppress inflow wind success logs
rafmudaf ec99853
add a * to the commit hash when the local repo is dirty
rafmudaf 58de4cc
update log file name
rafmudaf f639d97
update regression test criteria: diff/channel range
rafmudaf 1e39981
add more clear implementation of the new normalized norm
rafmudaf fcb744e
improve the norm calculation
rafmudaf dc586c7
normalize based on 1 instead of tolerance
rafmudaf d0ebdb4
add option and support for unpacked binary output file
rafmudaf b602082
update doc strings in all python scripts and libraries
rafmudaf 5d11b42
README and docstring updates
rafmudaf 015b48b
readthedocs updates
rafmudaf ed2975f
remove unused code
rafmudaf 5aaa4b4
update reg_tests README
rafmudaf d72acb3
append “-dirty” to the git info if there are local changes
rafmudaf ebb104f
get latest commits from r-test submodule
rafmudaf a2d443e
update the license file path and include license version in log state…
rafmudaf e7d5265
include a link to the original source for outside files
rafmudaf 2340dc4
remove versions and date from the ProgDesc’s
rafmudaf 5ff6f6c
bug fix for plot labels
rafmudaf 787e85a
linux compiling instructions update
rafmudaf d183751
use git describe for greater consistency and flexibility
rafmudaf 7913cac
update the version string format
rafmudaf 3f646f9
Updating install instructions and scripts to clarify use of LAPACK li…
gantech b07f20c
Merging pull request branch to be upto date with latest dev
gantech 5dabaae
remove a debug statement
rafmudaf 220550d
plot the local over the baseline, use max norm instead of absolute norm
rafmudaf 1754331
add visual studio handling of git info
rafmudaf File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -35,4 +35,5 @@ install/* | |
ctest-build/* | ||
|
||
vs-build | ||
build | ||
build | ||
.DS_Store |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,171 @@ | ||
# - Returns a version string from Git | ||
# | ||
# These functions force a re-configure on each git commit so that you can | ||
# trust the values of the variables in your build system. | ||
# | ||
# get_git_head_revision(<refspecvar> <hashvar> [<additional arguments to git describe> ...]) | ||
# | ||
# Returns the refspec and sha hash of the current head revision | ||
# | ||
# git_describe(<var> [<additional arguments to git describe> ...]) | ||
# | ||
# Returns the results of git describe on the source tree, and adjusting | ||
# the output so that it tests false if an error occurs. | ||
# | ||
# git_get_exact_tag(<var> [<additional arguments to git describe> ...]) | ||
# | ||
# Returns the results of git describe --exact-match on the source tree, | ||
# and adjusting the output so that it tests false if there was no exact | ||
# matching tag. | ||
# | ||
# git_local_changes(<var>) | ||
# | ||
# Returns either "CLEAN" or "DIRTY" with respect to uncommitted changes. | ||
# Uses the return code of "git diff-index --quiet HEAD --". | ||
# Does not regard untracked files. | ||
# | ||
# Requires CMake 2.6 or newer (uses the 'function' command) | ||
# | ||
# Obtained from https://github.com/rpavlik/cmake-modules/blob/master/GetGitRevisionDescription.cmake | ||
# on August 29 2017 | ||
# | ||
# Original Author: | ||
# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> | ||
# http://academic.cleardefinition.com | ||
# Iowa State University HCI Graduate Program/VRAC | ||
# | ||
# Copyright Iowa State University 2009-2010. | ||
# Distributed under the Boost Software License, Version 1.0. | ||
# (See accompanying file LICENSE_1_0.txt or copy at | ||
# http://www.boost.org/LICENSE_1_0.txt) | ||
|
||
if(__get_git_revision_description) | ||
return() | ||
endif() | ||
set(__get_git_revision_description YES) | ||
|
||
# We must run the following at "include" time, not at function call time, | ||
# to find the path to this module rather than the path to a calling list file | ||
get_filename_component(_gitdescmoddir ${CMAKE_CURRENT_LIST_FILE} PATH) | ||
|
||
function(get_git_head_revision _refspecvar _hashvar) | ||
set(GIT_PARENT_DIR "${CMAKE_CURRENT_SOURCE_DIR}") | ||
set(GIT_DIR "${GIT_PARENT_DIR}/.git") | ||
while(NOT EXISTS "${GIT_DIR}") # .git dir not found, search parent directories | ||
set(GIT_PREVIOUS_PARENT "${GIT_PARENT_DIR}") | ||
get_filename_component(GIT_PARENT_DIR ${GIT_PARENT_DIR} PATH) | ||
if(GIT_PARENT_DIR STREQUAL GIT_PREVIOUS_PARENT) | ||
# We have reached the root directory, we are not in git | ||
set(${_refspecvar} "GITDIR-NOTFOUND" PARENT_SCOPE) | ||
set(${_hashvar} "GITDIR-NOTFOUND" PARENT_SCOPE) | ||
return() | ||
endif() | ||
set(GIT_DIR "${GIT_PARENT_DIR}/.git") | ||
endwhile() | ||
# check if this is a submodule | ||
if(NOT IS_DIRECTORY ${GIT_DIR}) | ||
file(READ ${GIT_DIR} submodule) | ||
string(REGEX REPLACE "gitdir: (.*)\n$" "\\1" GIT_DIR_RELATIVE ${submodule}) | ||
get_filename_component(SUBMODULE_DIR ${GIT_DIR} PATH) | ||
get_filename_component(GIT_DIR ${SUBMODULE_DIR}/${GIT_DIR_RELATIVE} ABSOLUTE) | ||
endif() | ||
set(GIT_DATA "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data") | ||
if(NOT EXISTS "${GIT_DATA}") | ||
file(MAKE_DIRECTORY "${GIT_DATA}") | ||
endif() | ||
|
||
if(NOT EXISTS "${GIT_DIR}/HEAD") | ||
return() | ||
endif() | ||
set(HEAD_FILE "${GIT_DATA}/HEAD") | ||
configure_file("${GIT_DIR}/HEAD" "${HEAD_FILE}" COPYONLY) | ||
|
||
configure_file("${_gitdescmoddir}/GetGitRevisionDescription.cmake.in" | ||
"${GIT_DATA}/grabRef.cmake" | ||
@ONLY) | ||
include("${GIT_DATA}/grabRef.cmake") | ||
|
||
set(${_refspecvar} "${HEAD_REF}" PARENT_SCOPE) | ||
set(${_hashvar} "${HEAD_HASH}" PARENT_SCOPE) | ||
endfunction() | ||
|
||
function(git_describe _var) | ||
if(NOT GIT_FOUND) | ||
find_package(Git QUIET) | ||
endif() | ||
get_git_head_revision(refspec hash) | ||
if(NOT GIT_FOUND) | ||
set(${_var} "GIT-NOTFOUND" PARENT_SCOPE) | ||
return() | ||
endif() | ||
if(NOT hash) | ||
set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE) | ||
return() | ||
endif() | ||
|
||
# TODO sanitize | ||
#if((${ARGN}" MATCHES "&&") OR | ||
# (ARGN MATCHES "||") OR | ||
# (ARGN MATCHES "\\;")) | ||
# message("Please report the following error to the project!") | ||
# message(FATAL_ERROR "Looks like someone's doing something nefarious with git_describe! Passed arguments ${ARGN}") | ||
#endif() | ||
|
||
#message(STATUS "Arguments to execute_process: ${ARGN}") | ||
|
||
execute_process(COMMAND | ||
"${GIT_EXECUTABLE}" | ||
describe | ||
${hash} | ||
${ARGN} | ||
WORKING_DIRECTORY | ||
"${CMAKE_CURRENT_SOURCE_DIR}" | ||
RESULT_VARIABLE | ||
res | ||
OUTPUT_VARIABLE | ||
out | ||
ERROR_QUIET | ||
OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
if(NOT res EQUAL 0) | ||
set(out "${out}-${res}-NOTFOUND") | ||
endif() | ||
|
||
set(${_var} "${out}" PARENT_SCOPE) | ||
endfunction() | ||
|
||
function(git_get_exact_tag _var) | ||
git_describe(out --exact-match ${ARGN}) | ||
set(${_var} "${out}" PARENT_SCOPE) | ||
endfunction() | ||
|
||
function(git_local_changes _var) | ||
if(NOT GIT_FOUND) | ||
find_package(Git QUIET) | ||
endif() | ||
get_git_head_revision(refspec hash) | ||
if(NOT GIT_FOUND) | ||
set(${_var} "GIT-NOTFOUND" PARENT_SCOPE) | ||
return() | ||
endif() | ||
if(NOT hash) | ||
set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE) | ||
return() | ||
endif() | ||
|
||
execute_process(COMMAND | ||
"${GIT_EXECUTABLE}" | ||
diff-index --quiet HEAD -- | ||
WORKING_DIRECTORY | ||
"${CMAKE_CURRENT_SOURCE_DIR}" | ||
RESULT_VARIABLE | ||
res | ||
OUTPUT_VARIABLE | ||
out | ||
ERROR_QUIET | ||
OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
if(res EQUAL 0) | ||
set(${_var} "CLEAN" PARENT_SCOPE) | ||
else() | ||
set(${_var} "DIRTY" PARENT_SCOPE) | ||
endif() | ||
endfunction() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same issue with this file. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. see above |
||
# Internal file for GetGitRevisionDescription.cmake | ||
# | ||
# Requires CMake 2.6 or newer (uses the 'function' command) | ||
# | ||
# Obtained from https://github.com/rpavlik/cmake-modules/blob/master/GetGitRevisionDescription.cmake.in | ||
# on August 29 2017 | ||
# | ||
# Original Author: | ||
# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> | ||
# http://academic.cleardefinition.com | ||
# Iowa State University HCI Graduate Program/VRAC | ||
# | ||
# Copyright Iowa State University 2009-2010. | ||
# Distributed under the Boost Software License, Version 1.0. | ||
# (See accompanying file LICENSE_1_0.txt or copy at | ||
# http://www.boost.org/LICENSE_1_0.txt) | ||
|
||
set(HEAD_HASH) | ||
|
||
file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024) | ||
|
||
string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS) | ||
if(HEAD_CONTENTS MATCHES "ref") | ||
# named branch | ||
string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}") | ||
if(EXISTS "@GIT_DIR@/${HEAD_REF}") | ||
configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) | ||
else() | ||
configure_file("@GIT_DIR@/packed-refs" "@GIT_DATA@/packed-refs" COPYONLY) | ||
file(READ "@GIT_DATA@/packed-refs" PACKED_REFS) | ||
if(${PACKED_REFS} MATCHES "([0-9a-z]*) ${HEAD_REF}") | ||
set(HEAD_HASH "${CMAKE_MATCH_1}") | ||
endif() | ||
endif() | ||
else() | ||
# detached HEAD | ||
configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY) | ||
endif() | ||
|
||
if(NOT HEAD_HASH) | ||
file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 8) | ||
string(STRIP "${HEAD_HASH}" HEAD_HASH) | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible to add the original repo from where you got this file? Also are the licensing terms of the original repo/file compatible with moving it into OpenFAST repo?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sayerhs good point. that file is from this widely used github repo: https://github.com/rpavlik/cmake-modules. It is licensed under Boost Version 1.0. The original author and a link to the license are included in the docstring of the files included in our repo so I think we are in the clear legally. For reference, the first paragraph of the license is included below. And I'll add a link to the repo in that file's docstring.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rafaelmudafort Let's add a link to the git repo in the CMake file comments. That should suffice.