-
Notifications
You must be signed in to change notification settings - Fork 97
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
ROSCO v2.9.1 #314
Merged
ROSCO v2.9.1 #314
Conversation
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
* Allow defaults for AeroDyn inputs * Allow AeroDyn inputs to be floats, too
* remove interpolation of blade chord and twist * rename aerodynblade inputs * Update surface and DISCON.INs * Fix performance table paths * Add proportional control and cleanup IPC * Add IPC and filtered RootMyc to registry * Better logic for filtering RootMOOP and fix notch filter slopes bug * Add cyclic flap conrol * Fix comments in ColemanTransformInverse * Addd IPC_KP to DISCON.IN * Error checking foro flp or ipc * add mutichannel plotting with tuples * add CMakeFiles to gitignore * Add IPC_KP to api changes * numerical qualifiers for error handling * add IPC gains to schema for pass-through ability * fix variable names * fix ipc gain printing bug * make sure IPC_KP is positive * Update Polars to point to coord files * ignore dbg2 files * Add IEA15MW_OL.yaml * update coord reader/writer * expand pitch_initial to 30 degrees * Add example 13 for IPC * Update cp surfaces and DISCONS * add examples to readme * cleanup and streaamline run_examples * Add IPC tuning vars * Allow IPC to command pitch value below peak shaving saturation limit * shorten simulation time * Fix Material parameter path * Update DISCONs again * Fix OL_Input reading * Set wind speed, rotor speed IC in example 14 * Debug OL reading * Add more debugging lines * Add more debugging lines 2 * Clean up, hone in on debug call * Disable logging level * Update discons - resolve conflict * Print when finished with ROSCO * add control packageg * Use PriPath and RootName to name dbg files * Print AvrSWAP * Revert "Use PriPath and RootName to name dbg files" This reverts commit 062fcaa. * Disable other examples * Print OL inputs * Allow logging level 3 * Print OL inputs * Make example shorter * Print more stuf * Print shape * Revert "Print OL inputs" This reverts commit 8e2a642. * Update ROSCO Simulink model with IPC example * refactor flap tuning for normalization methods * improved flap controller filtering * delete extra F_FlpCornerFrerq * Update inputs, reader, and writer for OF 3.1.0 * Make sigma default interp type for multi_sigma * Use openfast 3.1.0 in CI * Fix leak...maybe * Use OF 3.1.0 in testing * Use gfotran for compile * Clean up print statements * Re-enable all examples * Update NREL-5MW AD file * Only check airfoil controls if more than one table * Update BAR models * Revert "Use gfotran for compile" This reverts commit 5a6e2b7. * Install pyFAST for CI * Fix some paths in ex12 * Disable example 12 * Fix example 12 linear path, re-enable * Skip compilers install for mac * Try gfortran-9, no compilers * Try gfortran-10, no compilers * Skip windows compile in pytools * Re-enable windows, use gfortran as FC * Unset FC in windows * Set environment for windows when dependencies installed * Try setting environment in installation * Put conditional env setting in correct place * Try in setup again * Break up tasks: Windows vs. not * Update DISCONs * Update docs with new variables * Add example documentation * Update ROSCO Simulink model for 3.1.0 * Make IEA model float again * Reduce IEA timestep * Match DT to checkpoint time Co-authored-by: dzalkind <dzalkind@nrel.gov>
* Added image of Bladed control screen setup * Delete Bladed control screen.png * Adding image of Bladed control screen * Add files via upload * Minor edit 1 * Minor change 2 * Minor change 3 * Minor change 4 * Change 6 * Change 7 * Change 8 * Minor change 9 Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com>
* Added image of Bladed control screen setup * Delete Bladed control screen.png * Adding image of Bladed control screen * Add files via upload * Minor edit 1 * Minor change 2 * Minor change 3 * Minor change 4 * Change 6 * Change 7 * Change 8 * Minor change 9 * Tinker with characters in bladed instructions * Add bladed instructions to index * Change bladed toctree label * Do underline stuff * Make toctree label same as file * Remove colons from headers Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com>
* cleanup api change table * Update inverted notch to move frequency properly * Saturate inv notch corner frequency at 0 * add sigma function * Use IPC_Vramp for IPC cut-in * Add IPC_Vramp DISCON inputs * update registry * Update DISCONs * Update docs for API change * Fix IPC_Vramp data type * update comments Co-authored-by: dzalkind <dzalkind@nrel.gov>
* Convert WE saved variables to WE type * Put restart flag in localvars * Use saved filter params from LocalVar * save pitcomt last * Move IPC saved variables to localvars * Saved pi controller variables to localvar * Save RootMyb_Last to localvar * ROSCO_IO - initial commit. Include restart and debug functions * Use ROSCO IO and call restart functions * Remove debug from function.f90 * Save ACC Infile info * update for restart capabilities * add rosco_io with restart and debug functions * cleanup debug call * use registry generate types and IO * delete DFController * fix timestep mismatch * remove unnecessaray istatus check * close files * add reg test for restart * add restart option to run_openfast * add testing to CI, ignore generate files * fix fastcall * remove extra commas * specify gfortran-10 * testing flag cleanup * Use lv_strings to generate debug output * Revert "testing flag cleanup" This reverts commit 6f29556. * Revert "specify gfortran-10" This reverts commit 4c31544. * minor cleanup * Use kind from constants * Add some comments for clarity * put debug in if statements * separate reg tests from oother tests * Fl_Mode>0 * Remove hard coded values * Add filtered signals and WE_Vw to debug varrs * cd for regtest * Check logging level before calling debug * add fl_pitcom and pc_minpit to debugvars * Turn runFAST into a class * Refactor/simplify CaseLibrary * Implement initial pitch actuator * Set up steps case * Add actuator variable * Print first time step in debug outs * Fix FOCAL yaml * Set actuator to 0.25 Hz bandwidth * ROSCO 2.5.0 (#115) * FOCAL Updates (#64) * Update headers * fix bullets * make uppercase * Update turbine.py (#56) * Update turbine.py This add several lines for fixing the problem of repeated maximum values in the performance tables. This will cause the error (' the length of x and y is different.') of 'interpolate.interp1d.' * Add comments and catch when there are multiple optimal pitch angles Co-authored-by: dzalkind <dzalkind@nrel.gov> * increment version * Update for OpenFAST v3.0.0 * Update for OpenFAST v3.0.0 * Install OF3.0.0 for tests * update for OF v3.0.0 * add publish to pypi on release * Update to ROSCO v2.3.0 * Update Testing (#58) * Update scripts to run on eagle * Update IEA-15MW semi example: use peak shaving w/ ps_percen=0.8 * Add comparison plots to testing scripts * Update submit script for testing * Update for latest eagle runs * Add future to install dependencies * add TMax to self, define tmin in print_results * run tests in CI * generic ROSCO path * default to overwrite * fix path * import platform * separate run_testing * cleanup, specify lite test * don't run testing in after examples, oops. Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> * increment version * Update for OpenFAST v3.0.0 * Install OF3.0.0 for tests * update for OF v3.0.0 * add publish to pypi on release * Update to ROSCO v2.3.0 * Increment Version, OF3.0 (#57) * increment version * Update for OpenFAST v3.0.0 * Install OF3.0.0 for tests * update for OF v3.0.0 * add publish to pypi on release * Update to ROSCO v2.3.0 * increment version * Update for OpenFAST v3.0.0 * Install OF3.0.0 for tests * update for OF v3.0.0 * add publish to pypi on release * Update to ROSCO v2.3.0 * add ROSCO without submodule * move ROSCO source to ROSCO folder * Move cmake-related files to ROSCO * Add back pesky ErrVar * Remove parameters_files * Merge ROSCO and _toolbox gitignore * Fix .gitignore * Remove Examples/DISCON.IN from git * Fix and point example_01 to Tune_Cases/ * Update verbiage around using ofTools vs. weis * Fix and point example_04 to Tune_Cases/ * Clean up example_06 * Clean up example_07 * Only check FlpCornerFreq if using Flp control, fixes example 05 * Make example_04 consistent with others * Let example_05 run independently from 04 * Clean up example_05, wind files * Add schema and update empty tuning yaml inputs, not connected yet * Integrate schema into turbine, controller, and examples * Only check Fl filter parameters if Fl_Mode > 0, fix example_05 * bump version to 2.3 * Compile ROSCO from ROSCO dir * Rename to CI_rosco * Add omega vs. windspeed functionality * Fix tests: 5MW U_pc and 06 example dir * Make _Toolbox vs_minspeed in rotor frame to match ROSCO * Revert ServoDyn change * change rotor speed constraint to be epsilon * rename for clarity * docs major refresh * fix FA_AccF units in debug file * docs that build locally * Deallocate arrays in ROSCO, check in example_05 * Clean up comments * remove gitmodules * furo theme * furo in requirements * move readthedocs config file, remove furo import in conf.py * add docs requirements file * typo * move index out of source folder * trying to get furo to work * import date * fix versions and titles, cleanup readthedocs requirements * typo fix, remove extras * more cleanup * bump version * no furo extension, "hack" to load RT version * proper toctree paths * specify method * add mock modules * fix typos * update python install requirements * running locally * move index to main docs dir again * update to build locally * error during warnings * automated version * cleanup * remove old docs * re-add docs * simplify * fix figure path * try alabaster * remove archived docs * Add omega vs. windspeed functionality * Fix tests: 5MW U_pc and 06 example dir * more detailed sp.optimize settings * run MBC3 in parallel * restructure driver, run initialization doe for tuning * Try new dlclose function * Update example_05 to run simple simulation twice and check result * Revert deallocation stuff * Close discon library after every sim run * Test examples on macOS and windows * Run examples instead of testing on other platforms * Skip examples in windows for now * update paths and yaml load funciton * Skip mac testing of examples * provide default U_pc for single omega/zeta case * allow for float or list-like pc tuning inputs * Change name in setup.py * WE_Vw unit fix * Pass through kp_float, if desired * Minor fixes: schema error and InputReader defaults * cleeanup for improved stability * check for doe_logs as string in load_DOE * major restructure for rsched_driver class * cleanup verbosity * run serial by default * load_parallel as linturb_option * specific IEA15MW yaml for multi omega * remove unused module imports * fix error message types * lin_file as input * add comments on inputs to LinearTurbineModel init method * remove relative file paths * provide OpenFAST linearizations for IEA15MW UMaineSemi * put plotting in specific function * fix WE_lambda units * add self in on a few necessary variables * creaete example 12 for robust scheduling * try a few mbc3 locations for import * allow list-like or numpy arrays for omega_pc and zeta_pc schedules * create and use recorder setup function * Pass Through Kp_float (#57) * Pass through kp_float, if desired * Minor fixes: schema error and InputReader defaults * fix setup_recorder to work for optimization driver too * Allow pass through of Kp_float = 0 * cleanup om problems, update om0 calc * doe levels as input * negative k_float to account for OF conventions * cleanup print statements * variable name cleanup, use calculated k_float * Add defaults to omega_,zeta_ pc and vs, allow to be numbers * use standard tuning k_float as IC * formatting update * update problem setup methods * cleanup add_dv, enable adding design variables after problem is setup * change optimization step size * more setup restructure * update verbosity * use sphinx-rtd-theme * master doc and sphinx rtd theme * index back to root folder * only ignore install folders * remove hidden toctree * furo theme * update paths * convert rt version to string * update sphinx settings * move conf * furo theme * Mostly a docs update (#61) * rename for clarity * docs major refresh * fix FA_AccF units in debug file * docs that build locally * remove gitmodules * furo theme * furo in requirements * move readthedocs config file, remove furo import in conf.py * add docs requirements file * typo * move index out of source folder * trying to get furo to work * import date * fix versions and titles, cleanup readthedocs requirements * typo fix, remove extras * more cleanup * bump version * no furo extension, "hack" to load RT version * proper toctree paths * specify method * add mock modules * fix typos * update python install requirements * running locally * move index to main docs dir again * update to build locally * error during warnings * automated version * cleanup * remove old docs * re-add docs * simplify * fix figure path * try alabaster * remove archived docs * use sphinx-rtd-theme * master doc and sphinx rtd theme * index back to root folder * only ignore install folders * remove hidden toctree * furo theme * update paths * convert rt version to string * update sphinx settings * move conf * furo theme * Pass through Kp_float = 0 (#59) * Pass through kp_float, if desired * Minor fixes: schema error and InputReader defaults * Allow pass through of Kp_float = 0 * Add flp parameters to schema * Change Fl_Mode default to 0 * Add defaults to omega_,zeta_ pc and vs, allow to be numbers * Allow single pitch tuning values in code, default U_pc to 0 * use nac acceleration for floating feedback * Fix TSR saturation for region 2.5operation * Modify system for constant power operation * Only modify pole for constant power above-rated * Remove GenEff from K calc * Update tuning, use constant power * use load_rosco_yaml * constant power * Fix broken tests * Include Fl_Mode=2 for nacelle pitching feedback * Add FOCAL inputs - hpf on floating feedback - lpf on wind speed estimator - associated schema updates * Set notch and check frequencies when Fl_Mode = 1 (fixes bug) * Skip filter step if there's an error * Update IEA-15MW test case DISCON with focal inputs * Allow Fl_Mode = 2 in ROSCO * Pass through lpf frequency * Add FOCAL tuning yaml * Set Cp contour number of levels * Add FOCAL params to various writers * Update/tune focal yaml * Add scripts for running FAST, tuning various parameters and cases * Add notebook for FAST plotting * Set up step case for testing * Change doubles to C_doubles * Define real and integer kinds, assign to all of ROSCO * Add ADJUSTL to DISCON error message * Fix Fl_Mode == 2 * Fix Fl_Mode == 2 again * Call yaw, flap, and debug only if enabled in DISOCN.IN * Make avrSWAP a ReKi and set constant kinds * Add DISCONs for testing - revert this later * Fix DISCON comparison, before DISCON's were overwritten by model * Rename DEBUG2.dbg to RootName.dbg2 * Update TestCase DISCONs to new input file * Add API change page in docs * Add link to API change on main page * Fix table headers * Fix title underlines * Fix tables again * Fix tables again * Fix version numbering in docs * Simplify FAST_directory in run_FAST * Versioning (#65) * use sphinx-rtd-theme * master doc and sphinx rtd theme * index back to root folder * only ignore install folders * remove hidden toctree * furo theme * update paths * convert rt version to string * update sphinx settings * move conf * furo theme * remove git versioning from cmake * use hard coded rosco_version * update intro write method * set nowrap for intel compilers * Add transfer of error message and clear message after each call * update install instructions * Catch nans in ROSCO at end of WSE * fix conda install typo * cleanup docs * Rename DEBUG2.dbg to RootName.dbg2 * Fix Fl_Mode == 2 * Fix Fl_Mode == 2 again * Allow Fl_Mode = 2 in ROSCO * Set notch and check frequencies when Fl_Mode = 1 (fixes bug) * Update FOCAL tuning yaml * Update TSR * Clean up and doc fix * Remove publish to pypi * Define all constant inputs to functions with kind typing * Generate Test_Case/ inputs automatically * Fix IEA15 DISCON path * Fix example 11 paths * Auto-generate tuning input yaml using schema * Add toolbox_input to doc index * Add toctree * Re-name title of toolbox_input Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> Co-authored-by: Xianping Du <38188001+Seager1989@users.noreply.github.com> Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> * update listcheck method for numpy arrays * Open Loop Control (#98) * create rosco types yaml * Add more descriptions, add integer_c default, cleanup * updates for allocatability and shapes * python scripts to write ROSCO_types.f90 * reemove superfulous modules * use types from ROSCO registry * create rosco types yaml * Add more descriptions, add integer_c default, cleanup * updates for allocatability and shapes * python scripts to write ROSCO_types.f90 * reemove superfulous modules * use types from ROSCO registry * Saturate inputs to WSE. Needs some TLC, but seems to work * Reduce saturation limits on speed, torque * Re-organize, set saturation limits. Working at 3 m/s * Initial add of OL control to ROSCO: builds * Update DISCONs with open loop inputs * Fix file reading for OL_Filename * Add open loop control generation and file writing * Use DISCON_dict for more manageable DISCON file writing * Add open loop example, fix constant timeseries * Make open loop example generate power * Handle relative paths and calling from outside the run directory: - Some helper functions borrowed from OpenFAST, f/ext_control - Updated file writing * Clean up: versions, print statements * Fix SysFiles paths in CMakeLists * Tidy up Ext_DLL names * More Ext_DLL name tidying * Test write_registry.py * Update for OL Control * Move preprocessor lines * add zenodo DOI * Regenerated Types * fix shape * revert filepath change * give all types a size, ProcAddr size = 3 * update types * test registry in compile step * specify default shell * update write_registry path * remove default shell * Document API changes, provide OL input example * Fix example 14 (yaw input) * Add error catching to yaw control * Tidy up OL_Input Reading: error catching, generalize * More yaw control fixes, to model * Checkout develop CMakeLists for ROSCO * Update DISCON.INs for TestCases/ * Revert "Checkout develop CMakeLists for ROSCO" This reverts commit 87a4913. * Revert windows cmake stuff to develop * Fix CMake again * Revert "Revert windows cmake stuff to develop" This reverts commit 39df122. * Make last cmake fix - hopefully Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> * Restart & registry (#99) * Convert WE saved variables to WE type * Put restart flag in localvars * Use saved filter params from LocalVar * save pitcomt last * Move IPC saved variables to localvars * Saved pi controller variables to localvar * Save RootMyb_Last to localvar * ROSCO_IO - initial commit. Include restart and debug functions * Use ROSCO IO and call restart functions * Remove debug from function.f90 * Save ACC Infile info * update for restart capabilities * add rosco_io with restart and debug functions * cleanup debug call * use registry generate types and IO * delete DFController * fix timestep mismatch * remove unnecessaray istatus check * close files * add reg test for restart * add restart option to run_openfast * add testing to CI, ignore generate files * fix fastcall * remove extra commas * specify gfortran-10 * testing flag cleanup * Use lv_strings to generate debug output * Revert "testing flag cleanup" This reverts commit 6f29556. * Revert "specify gfortran-10" This reverts commit 4c31544. * minor cleanup * Use kind from constants * Add some comments for clarity * put debug in if statements * separate reg tests from oother tests * Fl_Mode>0 * Remove hard coded values * Add filtered signals and WE_Vw to debug varrs * cd for regtest * Check logging level before calling debug * add fl_pitcom and pc_minpit to debugvars Co-authored-by: dzalkind <dzalkind@nrel.gov> * Break up if statement in open loop pitch (#100) * Break up if statement in open loop pitch * Make torque and yaw consistent with pitch: can start after some time * add bld edgewise freq to robust dict_inputs * Fix ccrotor inputs (#104) * remove interpolation of blade chord and twist * rename aerodynblade inputs * Update surface and DISCON.INs * Fix performance table paths * Allow default inputs (#110) * Allow defaults for AeroDyn inputs * Allow AeroDyn inputs to be floats, too * ipc (#105) * remove interpolation of blade chord and twist * rename aerodynblade inputs * Update surface and DISCON.INs * Fix performance table paths * Add proportional control and cleanup IPC * Add IPC and filtered RootMyc to registry * Better logic for filtering RootMOOP and fix notch filter slopes bug * Add cyclic flap conrol * Fix comments in ColemanTransformInverse * Addd IPC_KP to DISCON.IN * Error checking foro flp or ipc * add mutichannel plotting with tuples * add CMakeFiles to gitignore * Add IPC_KP to api changes * numerical qualifiers for error handling * add IPC gains to schema for pass-through ability * fix variable names * fix ipc gain printing bug * make sure IPC_KP is positive * Update Polars to point to coord files * ignore dbg2 files * Add IEA15MW_OL.yaml * update coord reader/writer * expand pitch_initial to 30 degrees * Add example 13 for IPC * Update cp surfaces and DISCONS * add examples to readme * cleanup and streaamline run_examples * Add IPC tuning vars * Allow IPC to command pitch value below peak shaving saturation limit * shorten simulation time * Fix Material parameter path * Update DISCONs again * Fix OL_Input reading * Set wind speed, rotor speed IC in example 14 * Debug OL reading * Add more debugging lines * Add more debugging lines 2 * Clean up, hone in on debug call * Disable logging level * Update discons - resolve conflict * Print when finished with ROSCO * add control packageg * Use PriPath and RootName to name dbg files * Print AvrSWAP * Revert "Use PriPath and RootName to name dbg files" This reverts commit 062fcaa. * Disable other examples * Print OL inputs * Allow logging level 3 * Print OL inputs * Make example shorter * Print more stuf * Print shape * Revert "Print OL inputs" This reverts commit 8e2a642. * Update ROSCO Simulink model with IPC example * refactor flap tuning for normalization methods * improved flap controller filtering * delete extra F_FlpCornerFrerq * Update inputs, reader, and writer for OF 3.1.0 * Make sigma default interp type for multi_sigma * Use openfast 3.1.0 in CI * Fix leak...maybe * Use OF 3.1.0 in testing * Use gfotran for compile * Clean up print statements * Re-enable all examples * Update NREL-5MW AD file * Only check airfoil controls if more than one table * Update BAR models * Revert "Use gfotran for compile" This reverts commit 5a6e2b7. * Install pyFAST for CI * Fix some paths in ex12 * Disable example 12 * Fix example 12 linear path, re-enable * Skip compilers install for mac * Try gfortran-9, no compilers * Try gfortran-10, no compilers * Skip windows compile in pytools * Re-enable windows, use gfortran as FC * Unset FC in windows * Set environment for windows when dependencies installed * Try setting environment in installation * Put conditional env setting in correct place * Try in setup again * Break up tasks: Windows vs. not * Update DISCONs * Update docs with new variables * Add example documentation * Update ROSCO Simulink model for 3.1.0 * Make IEA model float again * Reduce IEA timestep * Match DT to checkpoint time Co-authored-by: dzalkind <dzalkind@nrel.gov> * Increment version number * Bladed docs (#116) * Added image of Bladed control screen setup * Delete Bladed control screen.png * Adding image of Bladed control screen * Add files via upload * Minor edit 1 * Minor change 2 * Minor change 3 * Minor change 4 * Change 6 * Change 7 * Change 8 * Minor change 9 Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com> * Update version in API change docs * Bladed readthedocs (#117) * Added image of Bladed control screen setup * Delete Bladed control screen.png * Adding image of Bladed control screen * Add files via upload * Minor edit 1 * Minor change 2 * Minor change 3 * Minor change 4 * Change 6 * Change 7 * Change 8 * Minor change 9 * Tinker with characters in bladed instructions * Add bladed instructions to index * Change bladed toctree label * Do underline stuff * Make toctree label same as file * Remove colons from headers Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com> * Update docs to reflect CI process Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> Co-authored-by: Xianping Du <38188001+Seager1989@users.noreply.github.com> Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com> * Fixed wrong formatting of list items (#122) extra newline required between list elements * Regenerate types, IO with registry * Update registry so first timestep is printed * Update inverted notch to move frequency properly * Saturate inv notch corner frequency at 0 * Add tower damper mode flag * Flip Ct and Cq table allocation * Regen types * Remove print statements used for debugging * Update input files: IEA model has pitch actuator * Add back flap control (no idea when it was deleted) * Update discons, docs with API change Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> Co-authored-by: Xianping Du <38188001+Seager1989@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com> Co-authored-by: Gustavo Hylander <74593034+ghylander@users.noreply.github.com>
* Convert WE saved variables to WE type * Put restart flag in localvars * Use saved filter params from LocalVar * save pitcomt last * Move IPC saved variables to localvars * Saved pi controller variables to localvar * Save RootMyb_Last to localvar * ROSCO_IO - initial commit. Include restart and debug functions * Use ROSCO IO and call restart functions * Remove debug from function.f90 * Save ACC Infile info * update for restart capabilities * add rosco_io with restart and debug functions * cleanup debug call * use registry generate types and IO * delete DFController * fix timestep mismatch * remove unnecessaray istatus check * close files * add reg test for restart * add restart option to run_openfast * add testing to CI, ignore generate files * fix fastcall * remove extra commas * specify gfortran-10 * testing flag cleanup * Use lv_strings to generate debug output * Revert "testing flag cleanup" This reverts commit 6f29556. * Revert "specify gfortran-10" This reverts commit 4c31544. * minor cleanup * Use kind from constants * Add some comments for clarity * put debug in if statements * separate reg tests from oother tests * Fl_Mode>0 * Remove hard coded values * Add filtered signals and WE_Vw to debug varrs * cd for regtest * Check logging level before calling debug * add fl_pitcom and pc_minpit to debugvars * Turn runFAST into a class * Refactor/simplify CaseLibrary * Implement initial pitch actuator * Set up steps case * Add actuator variable * Print first time step in debug outs * Fix FOCAL yaml * Set actuator to 0.25 Hz bandwidth * ROSCO 2.5.0 (#115) * FOCAL Updates (#64) * Update headers * fix bullets * make uppercase * Update turbine.py (#56) * Update turbine.py This add several lines for fixing the problem of repeated maximum values in the performance tables. This will cause the error (' the length of x and y is different.') of 'interpolate.interp1d.' * Add comments and catch when there are multiple optimal pitch angles Co-authored-by: dzalkind <dzalkind@nrel.gov> * increment version * Update for OpenFAST v3.0.0 * Update for OpenFAST v3.0.0 * Install OF3.0.0 for tests * update for OF v3.0.0 * add publish to pypi on release * Update to ROSCO v2.3.0 * Update Testing (#58) * Update scripts to run on eagle * Update IEA-15MW semi example: use peak shaving w/ ps_percen=0.8 * Add comparison plots to testing scripts * Update submit script for testing * Update for latest eagle runs * Add future to install dependencies * add TMax to self, define tmin in print_results * run tests in CI * generic ROSCO path * default to overwrite * fix path * import platform * separate run_testing * cleanup, specify lite test * don't run testing in after examples, oops. Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> * increment version * Update for OpenFAST v3.0.0 * Install OF3.0.0 for tests * update for OF v3.0.0 * add publish to pypi on release * Update to ROSCO v2.3.0 * Increment Version, OF3.0 (#57) * increment version * Update for OpenFAST v3.0.0 * Install OF3.0.0 for tests * update for OF v3.0.0 * add publish to pypi on release * Update to ROSCO v2.3.0 * increment version * Update for OpenFAST v3.0.0 * Install OF3.0.0 for tests * update for OF v3.0.0 * add publish to pypi on release * Update to ROSCO v2.3.0 * add ROSCO without submodule * move ROSCO source to ROSCO folder * Move cmake-related files to ROSCO * Add back pesky ErrVar * Remove parameters_files * Merge ROSCO and _toolbox gitignore * Fix .gitignore * Remove Examples/DISCON.IN from git * Fix and point example_01 to Tune_Cases/ * Update verbiage around using ofTools vs. weis * Fix and point example_04 to Tune_Cases/ * Clean up example_06 * Clean up example_07 * Only check FlpCornerFreq if using Flp control, fixes example 05 * Make example_04 consistent with others * Let example_05 run independently from 04 * Clean up example_05, wind files * Add schema and update empty tuning yaml inputs, not connected yet * Integrate schema into turbine, controller, and examples * Only check Fl filter parameters if Fl_Mode > 0, fix example_05 * bump version to 2.3 * Compile ROSCO from ROSCO dir * Rename to CI_rosco * Add omega vs. windspeed functionality * Fix tests: 5MW U_pc and 06 example dir * Make _Toolbox vs_minspeed in rotor frame to match ROSCO * Revert ServoDyn change * change rotor speed constraint to be epsilon * rename for clarity * docs major refresh * fix FA_AccF units in debug file * docs that build locally * Deallocate arrays in ROSCO, check in example_05 * Clean up comments * remove gitmodules * furo theme * furo in requirements * move readthedocs config file, remove furo import in conf.py * add docs requirements file * typo * move index out of source folder * trying to get furo to work * import date * fix versions and titles, cleanup readthedocs requirements * typo fix, remove extras * more cleanup * bump version * no furo extension, "hack" to load RT version * proper toctree paths * specify method * add mock modules * fix typos * update python install requirements * running locally * move index to main docs dir again * update to build locally * error during warnings * automated version * cleanup * remove old docs * re-add docs * simplify * fix figure path * try alabaster * remove archived docs * Add omega vs. windspeed functionality * Fix tests: 5MW U_pc and 06 example dir * more detailed sp.optimize settings * run MBC3 in parallel * restructure driver, run initialization doe for tuning * Try new dlclose function * Update example_05 to run simple simulation twice and check result * Revert deallocation stuff * Close discon library after every sim run * Test examples on macOS and windows * Run examples instead of testing on other platforms * Skip examples in windows for now * update paths and yaml load funciton * Skip mac testing of examples * provide default U_pc for single omega/zeta case * allow for float or list-like pc tuning inputs * Change name in setup.py * WE_Vw unit fix * Pass through kp_float, if desired * Minor fixes: schema error and InputReader defaults * cleeanup for improved stability * check for doe_logs as string in load_DOE * major restructure for rsched_driver class * cleanup verbosity * run serial by default * load_parallel as linturb_option * specific IEA15MW yaml for multi omega * remove unused module imports * fix error message types * lin_file as input * add comments on inputs to LinearTurbineModel init method * remove relative file paths * provide OpenFAST linearizations for IEA15MW UMaineSemi * put plotting in specific function * fix WE_lambda units * add self in on a few necessary variables * creaete example 12 for robust scheduling * try a few mbc3 locations for import * allow list-like or numpy arrays for omega_pc and zeta_pc schedules * create and use recorder setup function * Pass Through Kp_float (#57) * Pass through kp_float, if desired * Minor fixes: schema error and InputReader defaults * fix setup_recorder to work for optimization driver too * Allow pass through of Kp_float = 0 * cleanup om problems, update om0 calc * doe levels as input * negative k_float to account for OF conventions * cleanup print statements * variable name cleanup, use calculated k_float * Add defaults to omega_,zeta_ pc and vs, allow to be numbers * use standard tuning k_float as IC * formatting update * update problem setup methods * cleanup add_dv, enable adding design variables after problem is setup * change optimization step size * more setup restructure * update verbosity * use sphinx-rtd-theme * master doc and sphinx rtd theme * index back to root folder * only ignore install folders * remove hidden toctree * furo theme * update paths * convert rt version to string * update sphinx settings * move conf * furo theme * Mostly a docs update (#61) * rename for clarity * docs major refresh * fix FA_AccF units in debug file * docs that build locally * remove gitmodules * furo theme * furo in requirements * move readthedocs config file, remove furo import in conf.py * add docs requirements file * typo * move index out of source folder * trying to get furo to work * import date * fix versions and titles, cleanup readthedocs requirements * typo fix, remove extras * more cleanup * bump version * no furo extension, "hack" to load RT version * proper toctree paths * specify method * add mock modules * fix typos * update python install requirements * running locally * move index to main docs dir again * update to build locally * error during warnings * automated version * cleanup * remove old docs * re-add docs * simplify * fix figure path * try alabaster * remove archived docs * use sphinx-rtd-theme * master doc and sphinx rtd theme * index back to root folder * only ignore install folders * remove hidden toctree * furo theme * update paths * convert rt version to string * update sphinx settings * move conf * furo theme * Pass through Kp_float = 0 (#59) * Pass through kp_float, if desired * Minor fixes: schema error and InputReader defaults * Allow pass through of Kp_float = 0 * Add flp parameters to schema * Change Fl_Mode default to 0 * Add defaults to omega_,zeta_ pc and vs, allow to be numbers * Allow single pitch tuning values in code, default U_pc to 0 * use nac acceleration for floating feedback * Fix TSR saturation for region 2.5operation * Modify system for constant power operation * Only modify pole for constant power above-rated * Remove GenEff from K calc * Update tuning, use constant power * use load_rosco_yaml * constant power * Fix broken tests * Include Fl_Mode=2 for nacelle pitching feedback * Add FOCAL inputs - hpf on floating feedback - lpf on wind speed estimator - associated schema updates * Set notch and check frequencies when Fl_Mode = 1 (fixes bug) * Skip filter step if there's an error * Update IEA-15MW test case DISCON with focal inputs * Allow Fl_Mode = 2 in ROSCO * Pass through lpf frequency * Add FOCAL tuning yaml * Set Cp contour number of levels * Add FOCAL params to various writers * Update/tune focal yaml * Add scripts for running FAST, tuning various parameters and cases * Add notebook for FAST plotting * Set up step case for testing * Change doubles to C_doubles * Define real and integer kinds, assign to all of ROSCO * Add ADJUSTL to DISCON error message * Fix Fl_Mode == 2 * Fix Fl_Mode == 2 again * Call yaw, flap, and debug only if enabled in DISOCN.IN * Make avrSWAP a ReKi and set constant kinds * Add DISCONs for testing - revert this later * Fix DISCON comparison, before DISCON's were overwritten by model * Rename DEBUG2.dbg to RootName.dbg2 * Update TestCase DISCONs to new input file * Add API change page in docs * Add link to API change on main page * Fix table headers * Fix title underlines * Fix tables again * Fix tables again * Fix version numbering in docs * Simplify FAST_directory in run_FAST * Versioning (#65) * use sphinx-rtd-theme * master doc and sphinx rtd theme * index back to root folder * only ignore install folders * remove hidden toctree * furo theme * update paths * convert rt version to string * update sphinx settings * move conf * furo theme * remove git versioning from cmake * use hard coded rosco_version * update intro write method * set nowrap for intel compilers * Add transfer of error message and clear message after each call * update install instructions * Catch nans in ROSCO at end of WSE * fix conda install typo * cleanup docs * Rename DEBUG2.dbg to RootName.dbg2 * Fix Fl_Mode == 2 * Fix Fl_Mode == 2 again * Allow Fl_Mode = 2 in ROSCO * Set notch and check frequencies when Fl_Mode = 1 (fixes bug) * Update FOCAL tuning yaml * Update TSR * Clean up and doc fix * Remove publish to pypi * Define all constant inputs to functions with kind typing * Generate Test_Case/ inputs automatically * Fix IEA15 DISCON path * Fix example 11 paths * Auto-generate tuning input yaml using schema * Add toolbox_input to doc index * Add toctree * Re-name title of toolbox_input Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> Co-authored-by: Xianping Du <38188001+Seager1989@users.noreply.github.com> Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> * update listcheck method for numpy arrays * Open Loop Control (#98) * create rosco types yaml * Add more descriptions, add integer_c default, cleanup * updates for allocatability and shapes * python scripts to write ROSCO_types.f90 * reemove superfulous modules * use types from ROSCO registry * create rosco types yaml * Add more descriptions, add integer_c default, cleanup * updates for allocatability and shapes * python scripts to write ROSCO_types.f90 * reemove superfulous modules * use types from ROSCO registry * Saturate inputs to WSE. Needs some TLC, but seems to work * Reduce saturation limits on speed, torque * Re-organize, set saturation limits. Working at 3 m/s * Initial add of OL control to ROSCO: builds * Update DISCONs with open loop inputs * Fix file reading for OL_Filename * Add open loop control generation and file writing * Use DISCON_dict for more manageable DISCON file writing * Add open loop example, fix constant timeseries * Make open loop example generate power * Handle relative paths and calling from outside the run directory: - Some helper functions borrowed from OpenFAST, f/ext_control - Updated file writing * Clean up: versions, print statements * Fix SysFiles paths in CMakeLists * Tidy up Ext_DLL names * More Ext_DLL name tidying * Test write_registry.py * Update for OL Control * Move preprocessor lines * add zenodo DOI * Regenerated Types * fix shape * revert filepath change * give all types a size, ProcAddr size = 3 * update types * test registry in compile step * specify default shell * update write_registry path * remove default shell * Document API changes, provide OL input example * Fix example 14 (yaw input) * Add error catching to yaw control * Tidy up OL_Input Reading: error catching, generalize * More yaw control fixes, to model * Checkout develop CMakeLists for ROSCO * Update DISCON.INs for TestCases/ * Revert "Checkout develop CMakeLists for ROSCO" This reverts commit 87a4913. * Revert windows cmake stuff to develop * Fix CMake again * Revert "Revert windows cmake stuff to develop" This reverts commit 39df122. * Make last cmake fix - hopefully Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> * Restart & registry (#99) * Convert WE saved variables to WE type * Put restart flag in localvars * Use saved filter params from LocalVar * save pitcomt last * Move IPC saved variables to localvars * Saved pi controller variables to localvar * Save RootMyb_Last to localvar * ROSCO_IO - initial commit. Include restart and debug functions * Use ROSCO IO and call restart functions * Remove debug from function.f90 * Save ACC Infile info * update for restart capabilities * add rosco_io with restart and debug functions * cleanup debug call * use registry generate types and IO * delete DFController * fix timestep mismatch * remove unnecessaray istatus check * close files * add reg test for restart * add restart option to run_openfast * add testing to CI, ignore generate files * fix fastcall * remove extra commas * specify gfortran-10 * testing flag cleanup * Use lv_strings to generate debug output * Revert "testing flag cleanup" This reverts commit 6f29556. * Revert "specify gfortran-10" This reverts commit 4c31544. * minor cleanup * Use kind from constants * Add some comments for clarity * put debug in if statements * separate reg tests from oother tests * Fl_Mode>0 * Remove hard coded values * Add filtered signals and WE_Vw to debug varrs * cd for regtest * Check logging level before calling debug * add fl_pitcom and pc_minpit to debugvars Co-authored-by: dzalkind <dzalkind@nrel.gov> * Break up if statement in open loop pitch (#100) * Break up if statement in open loop pitch * Make torque and yaw consistent with pitch: can start after some time * add bld edgewise freq to robust dict_inputs * Fix ccrotor inputs (#104) * remove interpolation of blade chord and twist * rename aerodynblade inputs * Update surface and DISCON.INs * Fix performance table paths * Allow default inputs (#110) * Allow defaults for AeroDyn inputs * Allow AeroDyn inputs to be floats, too * ipc (#105) * remove interpolation of blade chord and twist * rename aerodynblade inputs * Update surface and DISCON.INs * Fix performance table paths * Add proportional control and cleanup IPC * Add IPC and filtered RootMyc to registry * Better logic for filtering RootMOOP and fix notch filter slopes bug * Add cyclic flap conrol * Fix comments in ColemanTransformInverse * Addd IPC_KP to DISCON.IN * Error checking foro flp or ipc * add mutichannel plotting with tuples * add CMakeFiles to gitignore * Add IPC_KP to api changes * numerical qualifiers for error handling * add IPC gains to schema for pass-through ability * fix variable names * fix ipc gain printing bug * make sure IPC_KP is positive * Update Polars to point to coord files * ignore dbg2 files * Add IEA15MW_OL.yaml * update coord reader/writer * expand pitch_initial to 30 degrees * Add example 13 for IPC * Update cp surfaces and DISCONS * add examples to readme * cleanup and streaamline run_examples * Add IPC tuning vars * Allow IPC to command pitch value below peak shaving saturation limit * shorten simulation time * Fix Material parameter path * Update DISCONs again * Fix OL_Input reading * Set wind speed, rotor speed IC in example 14 * Debug OL reading * Add more debugging lines * Add more debugging lines 2 * Clean up, hone in on debug call * Disable logging level * Update discons - resolve conflict * Print when finished with ROSCO * add control packageg * Use PriPath and RootName to name dbg files * Print AvrSWAP * Revert "Use PriPath and RootName to name dbg files" This reverts commit 062fcaa. * Disable other examples * Print OL inputs * Allow logging level 3 * Print OL inputs * Make example shorter * Print more stuf * Print shape * Revert "Print OL inputs" This reverts commit 8e2a642. * Update ROSCO Simulink model with IPC example * refactor flap tuning for normalization methods * improved flap controller filtering * delete extra F_FlpCornerFrerq * Update inputs, reader, and writer for OF 3.1.0 * Make sigma default interp type for multi_sigma * Use openfast 3.1.0 in CI * Fix leak...maybe * Use OF 3.1.0 in testing * Use gfotran for compile * Clean up print statements * Re-enable all examples * Update NREL-5MW AD file * Only check airfoil controls if more than one table * Update BAR models * Revert "Use gfotran for compile" This reverts commit 5a6e2b7. * Install pyFAST for CI * Fix some paths in ex12 * Disable example 12 * Fix example 12 linear path, re-enable * Skip compilers install for mac * Try gfortran-9, no compilers * Try gfortran-10, no compilers * Skip windows compile in pytools * Re-enable windows, use gfortran as FC * Unset FC in windows * Set environment for windows when dependencies installed * Try setting environment in installation * Put conditional env setting in correct place * Try in setup again * Break up tasks: Windows vs. not * Update DISCONs * Update docs with new variables * Add example documentation * Update ROSCO Simulink model for 3.1.0 * Make IEA model float again * Reduce IEA timestep * Match DT to checkpoint time Co-authored-by: dzalkind <dzalkind@nrel.gov> * Increment version number * Bladed docs (#116) * Added image of Bladed control screen setup * Delete Bladed control screen.png * Adding image of Bladed control screen * Add files via upload * Minor edit 1 * Minor change 2 * Minor change 3 * Minor change 4 * Change 6 * Change 7 * Change 8 * Minor change 9 Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com> * Update version in API change docs * Bladed readthedocs (#117) * Added image of Bladed control screen setup * Delete Bladed control screen.png * Adding image of Bladed control screen * Add files via upload * Minor edit 1 * Minor change 2 * Minor change 3 * Minor change 4 * Change 6 * Change 7 * Change 8 * Minor change 9 * Tinker with characters in bladed instructions * Add bladed instructions to index * Change bladed toctree label * Do underline stuff * Make toctree label same as file * Remove colons from headers Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com> * Update docs to reflect CI process Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> Co-authored-by: Xianping Du <38188001+Seager1989@users.noreply.github.com> Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com> * Fixed wrong formatting of list items (#122) extra newline required between list elements * Regenerate types, IO with registry * Update registry so first timestep is printed * Update inverted notch to move frequency properly * Saturate inv notch corner frequency at 0 * Add tower damper mode flag * Add Azimuth tracking controller in Simulink * Always enable GenDOF, add options for simp_step * Add sweep for IPC gains and FA damper * Fix NumCoords in FAST_writer * Add turbulent case to runFAST/CaseLibrary * Add peak shaving sweep function * Increase default IPC_IntSat, make input parameter in future * Flip Ct and Cq table allocation (#129) * Flip Ct and Cq table allocation * Regen types * Remove print statements used for debugging * Update input files: IEA model has pitch actuator * Add back flap control (no idea when it was deleted) * Update discons, docs with API change * Add user-defined hh case * Fix AddF0 and RayleighDamp in FAST_reader * Add max_torque_factor for constant power control, flexible upper limit * Make update discons relative to tuning yaml * Update AddF0 and NumCoords in FAST_reader/writer * Remove matlab/rotor position control stuff Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> Co-authored-by: Xianping Du <38188001+Seager1989@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com> Co-authored-by: Gustavo Hylander <74593034+ghylander@users.noreply.github.com>
* Convert WE saved variables to WE type * Put restart flag in localvars * Use saved filter params from LocalVar * save pitcomt last * Move IPC saved variables to localvars * Saved pi controller variables to localvar * Save RootMyb_Last to localvar * ROSCO_IO - initial commit. Include restart and debug functions * Use ROSCO IO and call restart functions * Remove debug from function.f90 * Save ACC Infile info * update for restart capabilities * add rosco_io with restart and debug functions * cleanup debug call * use registry generate types and IO * delete DFController * fix timestep mismatch * remove unnecessaray istatus check * close files * add reg test for restart * add restart option to run_openfast * add testing to CI, ignore generate files * fix fastcall * remove extra commas * specify gfortran-10 * testing flag cleanup * Use lv_strings to generate debug output * Revert "testing flag cleanup" This reverts commit 6f29556. * Revert "specify gfortran-10" This reverts commit 4c31544. * minor cleanup * Use kind from constants * Add some comments for clarity * put debug in if statements * separate reg tests from oother tests * Fl_Mode>0 * Remove hard coded values * Add filtered signals and WE_Vw to debug varrs * cd for regtest * Check logging level before calling debug * add fl_pitcom and pc_minpit to debugvars * Turn runFAST into a class * Refactor/simplify CaseLibrary * Implement initial pitch actuator * Set up steps case * Add actuator variable * Print first time step in debug outs * Fix FOCAL yaml * Set actuator to 0.25 Hz bandwidth * ROSCO 2.5.0 (#115) * FOCAL Updates (#64) * Update headers * fix bullets * make uppercase * Update turbine.py (#56) * Update turbine.py This add several lines for fixing the problem of repeated maximum values in the performance tables. This will cause the error (' the length of x and y is different.') of 'interpolate.interp1d.' * Add comments and catch when there are multiple optimal pitch angles Co-authored-by: dzalkind <dzalkind@nrel.gov> * increment version * Update for OpenFAST v3.0.0 * Update for OpenFAST v3.0.0 * Install OF3.0.0 for tests * update for OF v3.0.0 * add publish to pypi on release * Update to ROSCO v2.3.0 * Update Testing (#58) * Update scripts to run on eagle * Update IEA-15MW semi example: use peak shaving w/ ps_percen=0.8 * Add comparison plots to testing scripts * Update submit script for testing * Update for latest eagle runs * Add future to install dependencies * add TMax to self, define tmin in print_results * run tests in CI * generic ROSCO path * default to overwrite * fix path * import platform * separate run_testing * cleanup, specify lite test * don't run testing in after examples, oops. Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> * increment version * Update for OpenFAST v3.0.0 * Install OF3.0.0 for tests * update for OF v3.0.0 * add publish to pypi on release * Update to ROSCO v2.3.0 * Increment Version, OF3.0 (#57) * increment version * Update for OpenFAST v3.0.0 * Install OF3.0.0 for tests * update for OF v3.0.0 * add publish to pypi on release * Update to ROSCO v2.3.0 * increment version * Update for OpenFAST v3.0.0 * Install OF3.0.0 for tests * update for OF v3.0.0 * add publish to pypi on release * Update to ROSCO v2.3.0 * add ROSCO without submodule * move ROSCO source to ROSCO folder * Move cmake-related files to ROSCO * Add back pesky ErrVar * Remove parameters_files * Merge ROSCO and _toolbox gitignore * Fix .gitignore * Remove Examples/DISCON.IN from git * Fix and point example_01 to Tune_Cases/ * Update verbiage around using ofTools vs. weis * Fix and point example_04 to Tune_Cases/ * Clean up example_06 * Clean up example_07 * Only check FlpCornerFreq if using Flp control, fixes example 05 * Make example_04 consistent with others * Let example_05 run independently from 04 * Clean up example_05, wind files * Add schema and update empty tuning yaml inputs, not connected yet * Integrate schema into turbine, controller, and examples * Only check Fl filter parameters if Fl_Mode > 0, fix example_05 * bump version to 2.3 * Compile ROSCO from ROSCO dir * Rename to CI_rosco * Add omega vs. windspeed functionality * Fix tests: 5MW U_pc and 06 example dir * Make _Toolbox vs_minspeed in rotor frame to match ROSCO * Revert ServoDyn change * change rotor speed constraint to be epsilon * rename for clarity * docs major refresh * fix FA_AccF units in debug file * docs that build locally * Deallocate arrays in ROSCO, check in example_05 * Clean up comments * remove gitmodules * furo theme * furo in requirements * move readthedocs config file, remove furo import in conf.py * add docs requirements file * typo * move index out of source folder * trying to get furo to work * import date * fix versions and titles, cleanup readthedocs requirements * typo fix, remove extras * more cleanup * bump version * no furo extension, "hack" to load RT version * proper toctree paths * specify method * add mock modules * fix typos * update python install requirements * running locally * move index to main docs dir again * update to build locally * error during warnings * automated version * cleanup * remove old docs * re-add docs * simplify * fix figure path * try alabaster * remove archived docs * Add omega vs. windspeed functionality * Fix tests: 5MW U_pc and 06 example dir * more detailed sp.optimize settings * run MBC3 in parallel * restructure driver, run initialization doe for tuning * Try new dlclose function * Update example_05 to run simple simulation twice and check result * Revert deallocation stuff * Close discon library after every sim run * Test examples on macOS and windows * Run examples instead of testing on other platforms * Skip examples in windows for now * update paths and yaml load funciton * Skip mac testing of examples * provide default U_pc for single omega/zeta case * allow for float or list-like pc tuning inputs * Change name in setup.py * WE_Vw unit fix * Pass through kp_float, if desired * Minor fixes: schema error and InputReader defaults * cleeanup for improved stability * check for doe_logs as string in load_DOE * major restructure for rsched_driver class * cleanup verbosity * run serial by default * load_parallel as linturb_option * specific IEA15MW yaml for multi omega * remove unused module imports * fix error message types * lin_file as input * add comments on inputs to LinearTurbineModel init method * remove relative file paths * provide OpenFAST linearizations for IEA15MW UMaineSemi * put plotting in specific function * fix WE_lambda units * add self in on a few necessary variables * creaete example 12 for robust scheduling * try a few mbc3 locations for import * allow list-like or numpy arrays for omega_pc and zeta_pc schedules * create and use recorder setup function * Pass Through Kp_float (#57) * Pass through kp_float, if desired * Minor fixes: schema error and InputReader defaults * fix setup_recorder to work for optimization driver too * Allow pass through of Kp_float = 0 * cleanup om problems, update om0 calc * doe levels as input * negative k_float to account for OF conventions * cleanup print statements * variable name cleanup, use calculated k_float * Add defaults to omega_,zeta_ pc and vs, allow to be numbers * use standard tuning k_float as IC * formatting update * update problem setup methods * cleanup add_dv, enable adding design variables after problem is setup * change optimization step size * more setup restructure * update verbosity * use sphinx-rtd-theme * master doc and sphinx rtd theme * index back to root folder * only ignore install folders * remove hidden toctree * furo theme * update paths * convert rt version to string * update sphinx settings * move conf * furo theme * Mostly a docs update (#61) * rename for clarity * docs major refresh * fix FA_AccF units in debug file * docs that build locally * remove gitmodules * furo theme * furo in requirements * move readthedocs config file, remove furo import in conf.py * add docs requirements file * typo * move index out of source folder * trying to get furo to work * import date * fix versions and titles, cleanup readthedocs requirements * typo fix, remove extras * more cleanup * bump version * no furo extension, "hack" to load RT version * proper toctree paths * specify method * add mock modules * fix typos * update python install requirements * running locally * move index to main docs dir again * update to build locally * error during warnings * automated version * cleanup * remove old docs * re-add docs * simplify * fix figure path * try alabaster * remove archived docs * use sphinx-rtd-theme * master doc and sphinx rtd theme * index back to root folder * only ignore install folders * remove hidden toctree * furo theme * update paths * convert rt version to string * update sphinx settings * move conf * furo theme * Pass through Kp_float = 0 (#59) * Pass through kp_float, if desired * Minor fixes: schema error and InputReader defaults * Allow pass through of Kp_float = 0 * Add flp parameters to schema * Change Fl_Mode default to 0 * Add defaults to omega_,zeta_ pc and vs, allow to be numbers * Allow single pitch tuning values in code, default U_pc to 0 * use nac acceleration for floating feedback * Fix TSR saturation for region 2.5operation * Modify system for constant power operation * Only modify pole for constant power above-rated * Remove GenEff from K calc * Update tuning, use constant power * use load_rosco_yaml * constant power * Fix broken tests * Include Fl_Mode=2 for nacelle pitching feedback * Add FOCAL inputs - hpf on floating feedback - lpf on wind speed estimator - associated schema updates * Set notch and check frequencies when Fl_Mode = 1 (fixes bug) * Skip filter step if there's an error * Update IEA-15MW test case DISCON with focal inputs * Allow Fl_Mode = 2 in ROSCO * Pass through lpf frequency * Add FOCAL tuning yaml * Set Cp contour number of levels * Add FOCAL params to various writers * Update/tune focal yaml * Add scripts for running FAST, tuning various parameters and cases * Add notebook for FAST plotting * Set up step case for testing * Change doubles to C_doubles * Define real and integer kinds, assign to all of ROSCO * Add ADJUSTL to DISCON error message * Fix Fl_Mode == 2 * Fix Fl_Mode == 2 again * Call yaw, flap, and debug only if enabled in DISOCN.IN * Make avrSWAP a ReKi and set constant kinds * Add DISCONs for testing - revert this later * Fix DISCON comparison, before DISCON's were overwritten by model * Rename DEBUG2.dbg to RootName.dbg2 * Update TestCase DISCONs to new input file * Add API change page in docs * Add link to API change on main page * Fix table headers * Fix title underlines * Fix tables again * Fix tables again * Fix version numbering in docs * Simplify FAST_directory in run_FAST * Versioning (#65) * use sphinx-rtd-theme * master doc and sphinx rtd theme * index back to root folder * only ignore install folders * remove hidden toctree * furo theme * update paths * convert rt version to string * update sphinx settings * move conf * furo theme * remove git versioning from cmake * use hard coded rosco_version * update intro write method * set nowrap for intel compilers * Add transfer of error message and clear message after each call * update install instructions * Catch nans in ROSCO at end of WSE * fix conda install typo * cleanup docs * Rename DEBUG2.dbg to RootName.dbg2 * Fix Fl_Mode == 2 * Fix Fl_Mode == 2 again * Allow Fl_Mode = 2 in ROSCO * Set notch and check frequencies when Fl_Mode = 1 (fixes bug) * Update FOCAL tuning yaml * Update TSR * Clean up and doc fix * Remove publish to pypi * Define all constant inputs to functions with kind typing * Generate Test_Case/ inputs automatically * Fix IEA15 DISCON path * Fix example 11 paths * Auto-generate tuning input yaml using schema * Add toolbox_input to doc index * Add toctree * Re-name title of toolbox_input Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> Co-authored-by: Xianping Du <38188001+Seager1989@users.noreply.github.com> Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> * update listcheck method for numpy arrays * Open Loop Control (#98) * create rosco types yaml * Add more descriptions, add integer_c default, cleanup * updates for allocatability and shapes * python scripts to write ROSCO_types.f90 * reemove superfulous modules * use types from ROSCO registry * create rosco types yaml * Add more descriptions, add integer_c default, cleanup * updates for allocatability and shapes * python scripts to write ROSCO_types.f90 * reemove superfulous modules * use types from ROSCO registry * Saturate inputs to WSE. Needs some TLC, but seems to work * Reduce saturation limits on speed, torque * Re-organize, set saturation limits. Working at 3 m/s * Initial add of OL control to ROSCO: builds * Update DISCONs with open loop inputs * Fix file reading for OL_Filename * Add open loop control generation and file writing * Use DISCON_dict for more manageable DISCON file writing * Add open loop example, fix constant timeseries * Make open loop example generate power * Handle relative paths and calling from outside the run directory: - Some helper functions borrowed from OpenFAST, f/ext_control - Updated file writing * Clean up: versions, print statements * Fix SysFiles paths in CMakeLists * Tidy up Ext_DLL names * More Ext_DLL name tidying * Test write_registry.py * Update for OL Control * Move preprocessor lines * add zenodo DOI * Regenerated Types * fix shape * revert filepath change * give all types a size, ProcAddr size = 3 * update types * test registry in compile step * specify default shell * update write_registry path * remove default shell * Document API changes, provide OL input example * Fix example 14 (yaw input) * Add error catching to yaw control * Tidy up OL_Input Reading: error catching, generalize * More yaw control fixes, to model * Checkout develop CMakeLists for ROSCO * Update DISCON.INs for TestCases/ * Revert "Checkout develop CMakeLists for ROSCO" This reverts commit 87a4913. * Revert windows cmake stuff to develop * Fix CMake again * Revert "Revert windows cmake stuff to develop" This reverts commit 39df122. * Make last cmake fix - hopefully Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> * Restart & registry (#99) * Convert WE saved variables to WE type * Put restart flag in localvars * Use saved filter params from LocalVar * save pitcomt last * Move IPC saved variables to localvars * Saved pi controller variables to localvar * Save RootMyb_Last to localvar * ROSCO_IO - initial commit. Include restart and debug functions * Use ROSCO IO and call restart functions * Remove debug from function.f90 * Save ACC Infile info * update for restart capabilities * add rosco_io with restart and debug functions * cleanup debug call * use registry generate types and IO * delete DFController * fix timestep mismatch * remove unnecessaray istatus check * close files * add reg test for restart * add restart option to run_openfast * add testing to CI, ignore generate files * fix fastcall * remove extra commas * specify gfortran-10 * testing flag cleanup * Use lv_strings to generate debug output * Revert "testing flag cleanup" This reverts commit 6f29556. * Revert "specify gfortran-10" This reverts commit 4c31544. * minor cleanup * Use kind from constants * Add some comments for clarity * put debug in if statements * separate reg tests from oother tests * Fl_Mode>0 * Remove hard coded values * Add filtered signals and WE_Vw to debug varrs * cd for regtest * Check logging level before calling debug * add fl_pitcom and pc_minpit to debugvars Co-authored-by: dzalkind <dzalkind@nrel.gov> * Break up if statement in open loop pitch (#100) * Break up if statement in open loop pitch * Make torque and yaw consistent with pitch: can start after some time * add bld edgewise freq to robust dict_inputs * Fix ccrotor inputs (#104) * remove interpolation of blade chord and twist * rename aerodynblade inputs * Update surface and DISCON.INs * Fix performance table paths * Allow default inputs (#110) * Allow defaults for AeroDyn inputs * Allow AeroDyn inputs to be floats, too * ipc (#105) * remove interpolation of blade chord and twist * rename aerodynblade inputs * Update surface and DISCON.INs * Fix performance table paths * Add proportional control and cleanup IPC * Add IPC and filtered RootMyc to registry * Better logic for filtering RootMOOP and fix notch filter slopes bug * Add cyclic flap conrol * Fix comments in ColemanTransformInverse * Addd IPC_KP to DISCON.IN * Error checking foro flp or ipc * add mutichannel plotting with tuples * add CMakeFiles to gitignore * Add IPC_KP to api changes * numerical qualifiers for error handling * add IPC gains to schema for pass-through ability * fix variable names * fix ipc gain printing bug * make sure IPC_KP is positive * Update Polars to point to coord files * ignore dbg2 files * Add IEA15MW_OL.yaml * update coord reader/writer * expand pitch_initial to 30 degrees * Add example 13 for IPC * Update cp surfaces and DISCONS * add examples to readme * cleanup and streaamline run_examples * Add IPC tuning vars * Allow IPC to command pitch value below peak shaving saturation limit * shorten simulation time * Fix Material parameter path * Update DISCONs again * Fix OL_Input reading * Set wind speed, rotor speed IC in example 14 * Debug OL reading * Add more debugging lines * Add more debugging lines 2 * Clean up, hone in on debug call * Disable logging level * Update discons - resolve conflict * Print when finished with ROSCO * add control packageg * Use PriPath and RootName to name dbg files * Print AvrSWAP * Revert "Use PriPath and RootName to name dbg files" This reverts commit 062fcaa. * Disable other examples * Print OL inputs * Allow logging level 3 * Print OL inputs * Make example shorter * Print more stuf * Print shape * Revert "Print OL inputs" This reverts commit 8e2a642. * Update ROSCO Simulink model with IPC example * refactor flap tuning for normalization methods * improved flap controller filtering * delete extra F_FlpCornerFrerq * Update inputs, reader, and writer for OF 3.1.0 * Make sigma default interp type for multi_sigma * Use openfast 3.1.0 in CI * Fix leak...maybe * Use OF 3.1.0 in testing * Use gfotran for compile * Clean up print statements * Re-enable all examples * Update NREL-5MW AD file * Only check airfoil controls if more than one table * Update BAR models * Revert "Use gfotran for compile" This reverts commit 5a6e2b7. * Install pyFAST for CI * Fix some paths in ex12 * Disable example 12 * Fix example 12 linear path, re-enable * Skip compilers install for mac * Try gfortran-9, no compilers * Try gfortran-10, no compilers * Skip windows compile in pytools * Re-enable windows, use gfortran as FC * Unset FC in windows * Set environment for windows when dependencies installed * Try setting environment in installation * Put conditional env setting in correct place * Try in setup again * Break up tasks: Windows vs. not * Update DISCONs * Update docs with new variables * Add example documentation * Update ROSCO Simulink model for 3.1.0 * Make IEA model float again * Reduce IEA timestep * Match DT to checkpoint time Co-authored-by: dzalkind <dzalkind@nrel.gov> * Increment version number * Bladed docs (#116) * Added image of Bladed control screen setup * Delete Bladed control screen.png * Adding image of Bladed control screen * Add files via upload * Minor edit 1 * Minor change 2 * Minor change 3 * Minor change 4 * Change 6 * Change 7 * Change 8 * Minor change 9 Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com> * Update version in API change docs * Bladed readthedocs (#117) * Added image of Bladed control screen setup * Delete Bladed control screen.png * Adding image of Bladed control screen * Add files via upload * Minor edit 1 * Minor change 2 * Minor change 3 * Minor change 4 * Change 6 * Change 7 * Change 8 * Minor change 9 * Tinker with characters in bladed instructions * Add bladed instructions to index * Change bladed toctree label * Do underline stuff * Make toctree label same as file * Remove colons from headers Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com> * Update docs to reflect CI process Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> Co-authored-by: Xianping Du <38188001+Seager1989@users.noreply.github.com> Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com> * Fixed wrong formatting of list items (#122) extra newline required between list elements * Regenerate types, IO with registry * Update registry so first timestep is printed * Update inverted notch to move frequency properly * Saturate inv notch corner frequency at 0 * Add tower damper mode flag * Add Azimuth tracking controller in Simulink * Always enable GenDOF, add options for simp_step * Add sweep for IPC gains and FA damper * Fix NumCoords in FAST_writer * Add turbulent case to runFAST/CaseLibrary * Add peak shaving sweep function * Increase default IPC_IntSat, make input parameter in future * Flip Ct and Cq table allocation (#129) * Flip Ct and Cq table allocation * Regen types * Remove print statements used for debugging * Update input files: IEA model has pitch actuator * Add back flap control (no idea when it was deleted) * Update discons, docs with API change * Add user-defined hh case * Fix AddF0 and RayleighDamp in FAST_reader * Add max_torque_factor for constant power control, flexible upper limit * Make update discons relative to tuning yaml * Update AddF0 and NumCoords in FAST_reader/writer * Remove matlab/rotor position control stuff * Add initial DISCON pass through schema * Add TODO items for pull requests * Add initial pass through capability, example * Add PassThrough example yaml * Make cp filename relative to FAST_directory throughout * Remove brackets, regen input docs * Add to PassThrough example yaml * Add example 15 to testing, fix yaml * Tidy comments in CaseLibrary Co-authored-by: nikhar-abbas <40865984+nikhar-abbas@users.noreply.github.com> Co-authored-by: Nikhar Abbas <nikhar.abbas@colorado.edu> Co-authored-by: Xianping Du <38188001+Seager1989@users.noreply.github.com> Co-authored-by: WillC-DNV <100850534+WillC-DNV@users.noreply.github.com> Co-authored-by: Gustavo Hylander <74593034+ghylander@users.noreply.github.com>
* change default interp type * improve nested MPI handling * fix cl bug, sm calc more robust, allow single plant for interp * add load from pickle capabilites * add re-try logic * save v_above_rated to controller object * fix BAR cp_ct_cq surface path * update discons * remove rogue DISCON
* Add ExtControl manually from f/ext_control, compiling * Fix Cp plots * Update multiple discons * Make FAST_Directory relative to yaml * Set control to ROSCO, sweep max torque * Fix c_float type in registry, building * Update DISCON writer, fix reader * Add example for running Ext control, running * Max example actually call extdll, update inputs, running * Add ExtControl module! * Add ROSCO_Helpers, GetNewUnit, shorten ReadSetParameters, Functions * Update write_registry with GetNewUnit * Tidy up RootName: remove hard-coded index * Close Cp file, fixes checkpoint test * Clean up examples, add 16 to CI testing * Change regtest name in CI * Update DISCONs * Add API change documentation * Add summary of API changes, finish external interface * Tidy code, point to location for using ExtDLL
* cleanup api change table * zeromq client and f90 files - initia lcommit * add zmq install reqs * remove yaw-by-ipc * typo fix * add zeroMQ interface to registry and source - enable zeroMQ for yaw control * cleanup to compile, move ZMQ_Mode to flags, write DISCONS * only set ZMQ_Client if flag is enabled * fix bug in discons * minor updates and add sim with wind direction * change to dict inputs for control interface * add zmq example * Revert "remove yaw-by-ipc" This reverts commit 2ca2859. * Enable Yaw-by-ipc again * update and execute zeromq example * add zmq to dependencies * sudo for apt-get * libzmq3-dev typo * setup cmake * rename example 16 to 17 * read empty line * update types, regen discons * fix build path * remove non-ubuntu examples, type in cmake command * Set ROSCO=True * typo fix and update DISCONs * document API changes * newlines and in-text code * updated removed inputs, fix intext code syntax * run example 17 * Add description to example 17 * zeromq -> pyzmq, cleanup * better table for new/modified/removed * fix real(8) * cleanup zmqVar conventions and uses. Call zmq using a time period * Update DISCONS * run all examples * Fix Y_uSwitch description * update comm address example * execute with runpy instead of importlib * move zmq interface classes to control_interface * Properly shutdown ZMQ interface * add IEA15MW_ExtInterface.yaml * Incorporate runFAST stuff from WEIS, clean up * Remove specific rosco_dll * Publish artifacts from examples * Clean up examples following runFAST business * move archive artifacts * Fix build dir in example 17 * Switch install/develop in pytools CI * archive even if exampless fail * add zmq build instructions * cleanup and rename sim * Remove BITS_IN_ADDR stuff * Pass case_inputs and rosco_dll to runFAST object * Pass correct DLL_FileName for external control * Tidy example 15 commenting Co-authored-by: dzalkind <dzalkind@nrel.gov>
Exclusion zone
* Move Test and Tune_Cases into Examples * Move ROSCO controller and registry to controller * Remove _temp from rosco dir * Move ROSCO_Testing to rosco/test * Move ROSCO_toolbox into rosco/toolbox * Rename ROSCO_Toolbox throughout * Fix paths to tune yamls * Update library path * Update CI paths * Add python to registry call in CI * Add init in top rosco folder * Fix more paths * Update install paths * Update a few more paths * Update rosco walkthrough notebook * Change dir for testing, library location * Fix walkthrough notebook again
* Add Ext_Interface flag * Update rosco dylib dir * F_NumNotchFilts is not allowed to have a default value * Fix checkpoint testing paths * simplify and modernize the setup and test experience * fix path to zmq.c file * Update api_change.rst formatting slightly * Update version numbers * Add more descriptions to API docs * Update api_change.rst formatting * combine tests * trying with build directory * really think build issues should be fixed now. .. * see if cmake find is more robust * fix path to libdiscon in notebook * trying more robust package search * elevate pyzmq to be installed before extension is built, but also remove option and make it something that works if it is found * forgotten init file I think * testing build * fix environment file issue on windows * remove 3.12 * suppressing problem areas for now * update library path in examples * fixing case ambiguity * fix paths in servodyn files * still chasing paths in all of the files * hopefully find pyzmq libs better now * try that again * fix library link * add openfast_toolbox * remove imports of old pyFAST * restrict examples to ubuntu * fix typo * avoid circular dependecies with WEIS * renable tests for all platforms * make sure it works from any path * prep for pypi release * restrict full regression testing to linux * restricting further * Skip pip windows test for now --------- Co-authored-by: AbhineetGupta <abhineet.gupta@nrel.gov> Co-authored-by: Garrett Barter <garrett.barter@nrel.gov> Co-authored-by: Garrett Barter <gbarter@alum.mit.edu>
Switch to cmake-build-extension and logic for finding rosco library path
* Add more error checking in checkpoint file I/O * Don't check ZMQ period if no ZMQ_Mode * Update v2.9.0 documentation (#303) * Finalize v2.9.0 documentation * Add ruamel.yaml as a requirement in pyproject.toml * Re-add wisdem in pyproject.toml * Revise docs slightly * Add developer documentation * Fix small typo with documentation --------- Co-authored-by: dzalkind <dzalkind@nrel.gov> --------- Co-authored-by: Abhineet Gupta <abhineet.gupta@nrel.gov>
Fixed Identation and { bracket inconsistency
Check cp read
Ben-Mertz
added a commit
to Ben-Mertz/ROSCO
that referenced
this pull request
Oct 3, 2024
5168657 Check if subtree is being used 8daafb2 Merge commit '2e8477621a5f92b93c50b6f158f6b89d001406df' as 'ROSCO' 2e84776 Squashed 'ROSCO/' content from commit c137a8c REVERT: c137a8c Try to update flap controller REVERT: fdbb260 Merge pull request NREL#367 from NREL/improve_wfc REVERT: 4d553fb Merge branch 'develop' into improve_wfc REVERT: 84de003 Use more descriptive names and documentation for wfc_interface REVERT: ff27aaa Merge remote-tracking branch 'origin/main' into develop REVERT: d621956 Update control interface (NREL#366) REVERT: 72b2a6a Update .readthedocs.yaml (NREL#359) REVERT: 08ae7cf Update to latest scipy functions, other input fixes (NREL#363) REVERT: 8b85d7a Increment version (NREL#358) REVERT: f52bc4b Read damping from beamdyn input files (NREL#349) REVERT: c3c2296 Merge pull request NREL#354 from Bartdoekemeijer/feature/wfc_controller_as_class REVERT: 721164e Bug fixes and documentation updates (NREL#345) REVERT: 37788a5 Merge remote-tracking branch 'origin/develop' into feature/wfc_controller_as_class REVERT: cd3ec6d Turn wfc_controller into a class REVERT: 7deb583 Fixes to compilers and pypi (NREL#343) REVERT: e95511c Merge remote-tracking branch 'upstream/main' into develop REVERT: c760f88 Add intel llvm to compilers (NREL#338) REVERT: 0516123 Fix pypi (NREL#342) REVERT: a4a6a27 Increment version REVERT: 22f186f Add pkg-config to environment REVERT: 2a1c63a Add message about use case REVERT: 3ebe819 ROSCO v2.9.1 (NREL#314) REVERT: b994e4d ROSCO v2.9.0 (NREL#304) REVERT: e3b7db7 ROSCO v2.8.0 (NREL#237) REVERT: 41f2c00 Set minimum Python version to 3.8 REVERT: a70d374 ROSCO v2.7.0 (NREL#217) REVERT: 5162966 ROSCO 2.6.0 (NREL#162) REVERT: 77278f5 Flip Ct and Cq table allocation (NREL#129) REVERT: 5d20185 Fixed wrong formatting of list items (NREL#122) REVERT: ad15bcd ROSCO 2.5.0 (NREL#115) REVERT: 9646dbd Merge pull request NREL#90 from NREL/develop REVERT: de1a7f8 another typo! REVERT: 9650a58 fix install typo REVERT: 08a8c9f Merge pull request NREL#89 from nikhar-abbas/develop REVERT: feb5048 Merge remote-tracking branch 'upstream/main' into develop REVERT: a402e16 bump version number REVERT: 2821f72 RAAW Controller (NREL#84) REVERT: 277b637 Fix Docs and Minimum Rotor/Generator Speed (NREL#83) REVERT: 6f25429 Update CMakeLsits for VS and ifort compilation (NREL#85) REVERT: 5241886 Merge pull request NREL#87 from nikhar-abbas/fix_tests REVERT: 4d5adb1 cleanup, use setuptools REVERT: ecef7ae Combine ROSCO and the ROSCO_toolbox (NREL#54) (NREL#78) REVERT: b7f2592 Combine ROSCO and the ROSCO_toolbox (NREL#54) REVERT: 7e10015 Merge pull request NREL#51 from NREL/develop REVERT: 2a847f7 Fix compilation REVERT: f6b2cd7 Merge remote-tracking branch 'nja/develop' into develop REVERT: 65b315b Merge remote-tracking branch 'upstream/main' into develop REVERT: d08ca3f Develop (NREL#50) REVERT: 4aca5b7 increment version REVERT: 1129adc trap nans in low/stopped rotor speeds REVERT: fe71ce4 Merge pull request NREL#49 from NREL/develop REVERT: 72e7076 call shutdown routine last (NREL#48) REVERT: af9337b Merge pull request NREL#46 from dzalkind/error_catching REVERT: 8f0a93c Fix controller-breaking typo REVERT: 4ff5ad3 Merge remote-tracking branch 'upstream/develop' into error_catching REVERT: 6729e9f Re-organize ReadSetParameters REVERT: d5963fd Remove check on F_NotchBetaNumDen(1), not necessary REVERT: 398cb42 Don't check WE_CP, FA_HPFCornerFreq until API change REVERT: ce0510b Use unsaturated pitch command in setpoint smoother (NREL#45) REVERT: 008d34a Finish making error tracing consistent REVERT: c88f272 Make error tracing consistent: RoutineNames REVERT: 7fbfb86 Reorganize ROSCO file reading code REVERT: 8fdeeca Read Cp surface REVERT: 05879d5 Parse integer arrays REVERT: 97c7bcf Parse all double arrays, only read/parse lines if no error REVERT: 039389a Make Flp and Fl filter variables consistent with others Clean up parsing echo for arrays REVERT: d0fe8b1 Clean up array parsing REVERT: df32a55 Add array parsing, debug outputting, fix long string reading REVERT: 22b6508 Generator power in SS (NREL#44) REVERT: a275d37 Fix setpoint smoother to use last gen pwr (NREL#43) REVERT: 365d820 Merge pull request NREL#41 from nikhar-abbas/f/ci_tests REVERT: f928868 Add double and string input parsing REVERT: d12fbc1 Parse integer inputs, update CheckInputs REVERT: d5b7a4f Expand Assert function and rename to CheckInputs REVERT: 37838fb Add error variables, error catching for interp functions REVERT: e2eab81 pr template - initial commit REVERT: 9d3f2c0 mingw flag REVERT: 64a754f use conda environment REVERT: 05786d0 remove default shell REVERT: f20dcdb update compilers REVERT: 9c523dd testing initial commit REVERT: e53ff37 Merge pull request NREL#39 from NREL/develop REVERT: c010d71 Merge pull request NREL#40 from nikhar-abbas/develop REVERT: 062a3b9 Fix object instance bug in commanded pitch filter REVERT: cfb0a93 Merge pull request NREL#38 from nikhar-abbas/f/docs REVERT: 8eb65d9 Set install directory only if not previously defined (NREL#37) REVERT: e8beb58 Docs (NREL#36) REVERT: 91584f4 Update README.md REVERT: b79f362 Iterate version REVERT: e8564fc Update for readthedocs, new version REVERT: f98e887 Update print message, output file header (NREL#35) REVERT: b64ba17 Merge pull request NREL#30 from nikhar-abbas/compiler_updates REVERT: 4e3752b Merge pull request NREL#34 from nikhar-abbas/f/constant_power REVERT: 3b19c29 Filtered wind speed estimate for pitch saturation REVERT: 77989b1 re-order pitcomT saturation REVERT: f07ef66 Don't use filtered pitcom for Cp calc REVERT: 032b126 Initialize Cp_op so debug output is not ****** REVERT: 289dcec Add commanded pitch from PI controller to debug variablees REVERT: 3e33fea Use filtered collective pitch for gain schedule REVERT: 8ac68e5 Second order LPF for collective pitch feedback REVERT: 6f80ad5 Use rated pwr instead of max tq for setpoint smoothing REVERT: 467f52e filter blade pitch angle for gain scheduling REVERT: f4e946a Merge branch 'f/constant_power' of https://github.com/nikhar-abbas/ROSCO into f/constant_power REVERT: dbf0c3b Initialize max torque REVERT: f8c57b4 Use direct WSE for pitch saturation REVERT: 2c94dd7 Revert "Reduce WSE filter to 10s time constant" REVERT: 6f052fa Use max tq instead of rated tq for setpoint smoother REVERT: 1efed1d Ignore more temp files REVERT: 4cc00bc Add MaxTq to LocalVar REVERT: 1030f5c Reduce WSE filter to 10s time constant REVERT: d61e275 Change upper limit to max torque REVERT: 9b6392e Add initial constant power control with TSR tracking REVERT: 8f8a4e3 Update install and compile instructions REVERT: c953a5f set install directory REVERT: 1695348 ignore install folder REVERT: 584bc08 Cq matrix read bug fix REVERT: cffa234 Increment version REVERT: 60b6953 ignore vscode and build directories REVERT: fb42a26 Merge pull request NREL#29 from nikhar-abbas/hotfix/torque_bug REVERT: bad3531 Fix filter instance bug REVERT: e0d5d8c LPF wind speed w/ 30 second time constant REVERT: 1ed808e remove epsilon REVERT: 8742117 30 second time constant for WSE REVERT: 5b28c68 re-org REVERT: 452863d Add eps for torque output REVERT: 8ae3569 Change length scale back to 3D REVERT: d08f6b0 double precision REVERT: c266218 double precision REVERT: 80f28b9 Increment minor version REVERT: d5a900b Merge pull request NREL#22 from nikhar-abbas/u/WSE REVERT: 62c1a98 Bump version number, cleanup REVERT: 360ea76 30s time constant for wse filter REVERT: 4ac8302 Merge branch 'develop' into u/WSE REVERT: 2626c6f Update parameters, debugging REVERT: f7e3296 Fix jacobian bug REVERT: 25a9c31 Revert "Remove mean wind speed state in EKF" REVERT: 8a5fef0 Merge branch 'hotfix/DT_bug' into develop REVERT: c3a6222 Initialize WSE and measured wind speed REVERT: 229c281 Filter WSE by primary corner freq REVERT: a95e9df Remove mean wind speed state in EKF REVERT: a2b6921 Add endif, convert to double precision REVERT: 2efccb0 subroutine to function REVERT: ddb8d7d updated debugging REVERT: 4ecebdb Saturation bug fix REVERT: 7c76ca5 swicth to a few subroutines functions REVERT: 4452cdf compile in double precision REVERT: 0d9c3bf Update debugging REVERT: c9f00c4 Move pitch saturation filter, make minpitch a subroutine REVERT: d694143 Fix merge error REVERT: 66e620c WSE Cp bugfix, add debug var REVERT: 8df8cc8 Increment version REVERT: 1a07fd0 Merge pull request NREL#20 from NREL/develop REVERT: 940f611 WSE Cp bugfix, add debug var REVERT: 5eb7b5d Replace the hard coded build type setting with an optional parameter REVERT: 7ebc65e Add CMake install location for libraries REVERT: b3480e1 GB Ratio bug fix REVERT: 532b462 Region 1.5 bug fix REVERT: 84b7e3b Merge branch 'develop' of https://github.com/NREL/ROSCO into develop REVERT: 5f92876 Fix low wind speed pitch+torque saturation bug REVERT: b3df093 change debug file extension to dbg REVERT: 00608a4 Merge pull request NREL#19 from dzalkind/dev REVERT: 2cf093b Add generic WSE debug signal REVERT: a0ed80b Add WSE inputs to debug, force IMU filter to initialize at 0 and add HPF REVERT: d214f5a Remove tower-top velocity from pitch saturation block REVERT: dd841ae Merge remote-tracking branch 'upstream/develop' into pretty_debug REVERT: 4e383cf Wind Speed Estimator & Related Updates (NREL#10) REVERT: 4611014 WSE Cp bugfix, add debug var REVERT: 70ff9d0 Formatting and cleanup REVERT: 62ca692 minor bug fix and cleanup REVERT: cb9ab39 separate string from unit allocation REVERT: 9df6cd8 Save ROSCO debug as <RootName>.RO.out REVERT: a1b74db Saturate PI pitch to PC_MinPit REVERT: cfa717f Merge pull request NREL#16 from dzalkind/pretty_debug REVERT: 42a741d Remove HPF from floating feedback, save for future pull request REVERT: b9f1fd1 Revert avrSWAP writing & ROSCO info printing to original REVERT: 526eb12 Merge pull request NREL#14 from rafmudaf/master REVERT: 860bcfe Replace the hard coded build type setting with an optional parameter REVERT: 47a1344 Merge pull request NREL#13 from rafmudaf/master REVERT: 1107249 Add CMake install location for libraries REVERT: d6722bb Add pretty debug setup and output REVERT: 66bcc15 Merge pull request NREL#8 from davidheff/develop REVERT: 5d1f2f5 Add signals to debug REVERT: af089b2 Add to CMakeLists.txt to enable compilation on win32/mingw REVERT: 10bbbfb Merge branch 'master' into develop REVERT: 7ba7023 installation instructions bug fix REVERT: c1a7593 Merge branch 'develop' REVERT: f9bca81 Update for v2.0.1 REVERT: d0e89b7 Merge branch 'master' of https://github.com/NREL/ROSCO REVERT: 110ddf6 Merge pull request NREL#3 from NREL/develop REVERT: 4f6553c Merge branch 'develop' REVERT: 0955164 Move IEA paramter files to proper folder REVERT: faf70bf Merge pull request #2 from NREL/develop REVERT: 6513b9a Tag for version 2.0.0 REVERT: 809d69a Update parameter files REVERT: 2d52804 Cleanup REVERT: 43ea8d2 Remove old inputs REVERT: 67fcde0 Rate limit collective pitch command REVERT: f3f24ac Account for pitch saturation in vs statemachine REVERT: 6ea731f Remove initialization in prefilter for floating filters REVERT: 93af653 Typographical updates REVERT: 922f683 Use saturation from input file REVERT: 10b1729 Initialize flap controller REVERT: 27970ac Fix saturation bug REVERT: d17f9b8 Use second order LPF REVERT: 14183c7 Notch Filter cleanup REVERT: 9107e26 Remove sine pitch excitation for induction capabilities REVERT: 5920136 Saturation sign bug fix REVERT: c53a976 Merge branch 'f/flaps' into develop REVERT: cbc495e Flap max pitch at input REVERT: 2d94306 Fix filter instancing bug REVERT: 6eb92ae Band-pass filter platform pitch natural frequency REVERT: dd6e947 Update parameter file for flaps REVERT: 0af5391 Cleanup REVERT: 7b0adc7 Flag bug fix, process as radians REVERT: 427b85b Merge branch 'develop' into f/flaps REVERT: 9fd854e Merge pull request #1 from NREL/develop REVERT: d9c6fca bug fix - filter constant instances REVERT: 4114a46 Merge branch 'master' of https://github.com/NREL/ROSCO REVERT: 4bde81e Setup for version 1.0.0 REVERT: e7a3a7d Force PC_MinPitch REVERT: 063b062 Force PC_MinPitch REVERT: 2186682 Setup for version 1.0.0 REVERT: bddafd9 Merge branch 'master' of https://github.com/NREL/ROSCO REVERT: 00aefd9 Cleanup REVERT: 2cae46b Merge branch 'master' of https://github.com/NREL/ROSCO REVERT: d385eca Cleanup REVERT: 7a48d63 Cleanup REVERT: 3b25626 Include notch filter in twr f-a filter REVERT: f2cc92c Cleanup REVERT: c03fd9f Cleanup REVERT: eb5c2ba Merge branch 'master' of https://github.com/NREL/ROSCO REVERT: 55f5036 Cleanup REVERT: 80695e2 Cleanup REVERT: 4a15501 Include notch filter in twr f-a filter REVERT: e096e0f Cleanup REVERT: f2b0e50 Include blade root bending signal filter parameters REVERT: 39e0ec3 Merge branch 'develop' into f/flaps REVERT: dcbb2bc Cleanup REVERT: 2300380 Cleanup REVERT: 7a0fbc3 Include floating parameters REVERT: d89895f Floating feedback filter parameters as inputs REVERT: 4ea76e8 Include floating types REVERT: dbda8f2 Debug floating REVERT: e1a28ae Remove PI controller full saturation REVERT: c395418 Filter cleanup for clarity REVERT: 6bb1863 Low-pass filtered tower-top feedback for floating REVERT: 935a4eb Update saturation limit implementation REVERT: c2e72a1 Include floating feedback control signal REVERT: a8ae292 Merge branch 'master' into f/flaps REVERT: 13a78e4 Merge branch 'master' into f/floating REVERT: 9e53a23 Merge branch 'f/readDISCON' REVERT: 6e51b26 Load ServoDyn-defined DISCON input file REVERT: 461f6ec Update to read file REVERT: ff99949 Read input filename - initial commit REVERT: f043813 Bug fix and cleanup REVERT: a3d7990 Remove WSE filter REVERT: f0030cf Revert back to Torque based setpoint smoothing REVERT: 71ed9de Update WE LPF REVERT: 9e503dc Include PII flap control REVERT: a62bdd5 And PII controller REVERT: 60349e9 Add Flap PI inputs REVERT: c55dfe1 Debug floating REVERT: cc1c38f Add floating proportional control REVERT: c6bfdcf Remove deg2rad for flap inputs REVERT: ca63d61 Rename to pitch saturation REVERT: dea04f9 Define integer REVERT: 07c8292 Merge branch 'master' into f/flaps REVERT: 6c3ad82 Fix constant power above rated bug REVERT: ca9f165 Call Flap Controller REVERT: e8d0581 Merge branch 'develop' into f/flaps REVERT: 5692cd9 Include minimum refspeed for vs controller REVERT: 222dff1 Read shutdown and flap angle parameters from DISCON.IN REVERT: e02c411 No Flp_Angle from avrswap REVERT: 4a8e82f Remove buggy line REVERT: d8328ee Merge branch 'master' into f/flaps REVERT: 0347814 Update links REVERT: f086906 Update disclaimer REVERT: 3fda02a Update disclaimer REVERT: a8511ec Merge branch 'master' into f/flaps REVERT: 8e59452 Update to Apache Licensing and intro comments REVERT: a9865ec Merge branch 'develop' into f/flaps REVERT: b2d5870 Merge remote-tracking branch 'upstream_Nikhar/f/flaps' into f/flaps REVERT: 00859d3 Merge remote-tracking branch 'upstream_Nikhar/develop' into develop REVERT: af8d956 Merge remote-tracking branch 'upstream_DRC/development_ROSCO' into develop REVERT: b17fc2f Add Shutdown Mode REVERT: 902746a .gitignore update REVERT: 087ae5a Merge pull request NREL#8 from nikhar-abbas/develop REVERT: f53c3b7 Include steady state flap angle prescription REVERT: a600989 Merge remote-tracking branch 'upstream_DRC/master' into develop REVERT: bc7848a Update parameter file REVERT: c7bbbda Update acknowledgments REVERT: 2d05649 Sort out actuator ICs REVERT: 112ae00 PitCom for numerical stability, actually... REVERT: ef32cea Prescribe steady flap angles REVERT: b94073a Merge branch 'develop' into f/flaps REVERT: 70c8721 Update Parameters - VS_Rgn2K bug REVERT: 9d0c8a0 Bar flap parameter file REVERT: ace2cff Flap actuator control - initial commit REVERT: 2f0f2fb Read avrswap pitch signal for numerical stability REVERT: 524270f Added Visual studio project files, corrected double !DEC attributes line REVERT: 32ae97d Fix initial bld pitch bug REVERT: 8f2ce83 Merge pull request NREL#7 from nikhar-abbas/develop REVERT: 3573ae3 Update Acknowledgments REVERT: 20168d4 Merge pull request NREL#6 from nikhar-abbas/master REVERT: d393256 Free form for gfortran REVERT: 6554ecd Rename to have capital F, force preprocessor REVERT: 2e26ece Develop stage disclaimer REVERT: cae59de Update disclaimer REVERT: d784ffa Update for windows REVERT: c0cde02 Update parameter files for new controller updates REVERT: ec8c3a6 Clarity for DISCON.IN use REVERT: 04aa1ca Cleanup REVERT: 52f1615 Update Acknowledgments REVERT: 9986047 Update disclaimer REVERT: 746caab Fix links REVERT: 9a44756 Include information to run controller REVERT: e7d8258 Update referencing REVERT: 6a7a895 Update compile instructions REVERT: d67b643 Update for ROSCO REVERT: 982d276 Update compiler flags REVERT: a8ada99 Rename DRC_Types to ROSCO_Types REVERT: 8417059 Rename to ROSCO, update commenting REVERT: ec920f0 Update gitignore for cmake build dir REVERT: 8c6b5bf Contain Fortran .mod files in a single directory REVERT: f64f568 Add initial CMakeLists REVERT: fc99bbc Delete some and rename other files REVERT: 20ec624 Include NREL5MW Performance Tables REVERT: b9d67a5 Cleanup REVERT: fbb697f Update binaries REVERT: 2a24127 Debug Setpoint Smoother REVERT: 736e023 Saturate at VS_RefSpd, Initialize Torque REVERT: ad89ebf Normalize DelOmega REVERT: cdfedc0 Update binaries REVERT: fac36d7 Use previous pitch command instead of avrSWAP REVERT: 0ba7479 Rate limit pitch signal REVERT: e9c7f74 Cleanup Peak Shaving REVERT: 8673f3c Parameter updates REVERT: 5cb37e1 Merge branch 'dev_PeakShaving' REVERT: 1786a4a ignore .DS_Store REVERT: 580cb7b Update binaries REVERT: f784ae4 Comment Updates REVERT: b68998b Include towertop motion REVERT: 5b4c8bc Use ControllerBlocks REVERT: 82daa5f Move peak shaving to ControllerBlocks REVERT: 5b2bdd7 Update binaries REVERT: 7dc12fa Parameter updates REVERT: 3f4b5e0 Code Reorg REVERT: 26d3117 Include Peak Shaving REVERT: 0fac735 Update binaries REVERT: e559e9a Comment Updates REVERT: fb336d5 Algorithm update REVERT: a53f95c Comment updates REVERT: cb2b93f Add CpData for NREL 5MW REVERT: 4a87292 Update to use PerfData REVERT: 7cf4280 Read Cp data from input file REVERT: 1f111a3 Use updated Cp Lookup force real numbers REVERT: 60cfaf9 Add degrees to radians REVERT: 4461993 Add EKF wind speed estimator - stable, but poor REVERT: aa48706 Include matrix inverse and identity matrix, functions REVERT: 26d91e8 Merge branch 'dev_TorquePI' REVERT: 9c3acfe Comment updates REVERT: b99a486 Update binaries - still need SOME tuning REVERT: dc86fe1 Update wind speed filter cornering freq REVERT: b2e9d02 Saturate torque controller at rated torque REVERT: f32cf39 Debug TSR tracking controller REVERT: 1ca7f47 Comment cleanup REVERT: 4d9f4d5 Include TSR tracking VS torque controller REVERT: 67b3856 Cleanup for clarity REVERT: 9ee1c1b Comment Updates REVERT: 44cb23a Cleanup REVERT: f59093e WE_CornerFreq update REVERT: cfa8efe Cleanup for clarity REVERT: 91b0fd0 Update binaries REVERT: 066b118 Comment Cleanup REVERT: e68a2ee Debug wind speed estimator REVERT: cc017f8 Add filtered hub wind speed option to wind speed estimator REVERT: 593e30a Comment Cleanup REVERT: e1d77da Comment Cleanup REVERT: 34b09f3 Comment cleanup REVERT: a5d6748 Comment cleanup REVERT: 28f729f Add setpoint smoother inputs REVERT: 118bfdf Update binaries REVERT: c7856d7 Include setpoint smoother in input file REVERT: 67fe9ba Include PC_ControlMode REVERT: 9f410b7 Note as OUTDATED. Note: Fix to be same as NREL5MW REVERT: 66b1f84 Implement setpoint smoothing REVERT: 8b13796 Introduce pitch controller flag REVERT: d1af1f3 Comment updates REVERT: f009b17 Comment cleanup REVERT: a65d967 Include ControllerBlocks module REVERT: e4e0c3c Comment updates REVERT: a4eb203 Include SS_DelOmegaF in LocalVar REVERT: 677790f Comment updates REVERT: ba3c4da Reorg to compile Filters first REVERT: 28908df Call SetpointSmoother REVERT: 00b08ce Include SetpointSmoother - hard coded REVERT: 08ba4ab Re-org REVERT: 9a5fe1c Merge branch 'master' of https://github.com/nikhar-abbas/DRC_Fortran REVERT: 6efbb10 Updated binaries REVERT: 7632034 Update DISCON.IN REVERT: cd741dd Update DISCON.IN REVERT: dffc519 Updated binaries REVERT: 3cbd781 Update DISCON.IN REVERT: 39f2c76 Update DISCON.IN REVERT: 033b3e8 Merge pull request NREL#4 from nikhar-abbas/master REVERT: ebca4f2 Updated and compiled DTU 10MW Input file REVERT: 9711b78 Changed for 64 bit REVERT: cbbb097 Included command code for -i REVERT: 11f184b Updates for temp files, 64 bit unix machines REVERT: 007d5da Included command code for -i REVERT: b690f1b Updated for input file cleanup REVERT: 90e5046 Tabs to Spaces REVERT: 2f2f63e Updated binaries REVERT: c0900b8 Merge branch 'FilterSeparation' REVERT: 9e960fc Fixed a bug introduced in the wind speed estimator REVERT: 45e9888 Separated signal filtering, set point calc, added option for notch filter, renaming control constant, replacing tabs by spaces REVERT: 11c7e4a Complemented the parameter files with some more explanatory notes REVERT: 19df104 Updated binaries REVERT: 584fd41 And another referencing bug REVERT: 2d3c36c Fixed little bug, referencing to non-existing variable REVERT: 637c3c7 Merge branch 'SinusJoeri' REVERT: f2e1154 Included an option to include a first-order (actuator) phase delay on the IPC signal REVERT: af89063 Merge pull request NREL#3 from spmulders/patch-1 REVERT: 67584f9 Update compileDISCON_linux.bash REVERT: 3806f79 Implemented collective sine excitation on pitch REVERT: 52de815 Extended input file DTU10MW for sine excitation on pitch REVERT: a8d93e4 Fixed type in the filename of the DTU10MW parameter file REVERT: 9a9246a Fixed bug in writing debug file logging level 2 (reported by Thuesen Enevoldsen) REVERT: 1d8be73 Updated README.md REVERT: 609c927 Included a tower fore-aft damping controller REVERT: 2111e0a Updated binaries REVERT: d1c8eac Made some changes for compatibility with Bladed, updated README REVERT: d732951 Updated binaries REVERT: 9a0dc95 Merge branch 'WSest_dev' REVERT: 4874c87 Added parameters for ws estimator DTU10MW REVERT: 563b0de Update Functions.f90 REVERT: 4d19aa4 WS estimator bug fixed, need to update DTU10MW parameters REVERT: d3c5e58 Fully implemented WS estimator, with a little bug REVERT: 227a54d Implementing an effective wind speed estimator REVERT: b4eea60 Merge remote-tracking branch 'origin/master' REVERT: 8476424 Updated bash-compilation script to create DISCON folder in root REVERT: b9d82a5 Update LICENSE REVERT: 98265e9 Updated binaries (compiled controllers, x86 + x64) REVERT: 5281aed Edited GPLv3 to MIT license REVERT: e8c7720 Added 2P IPC for load reductions, some refactoring, updated parameter files REVERT: c6ca59c Edit .gitignore - 2 REVERT: 7d42e55 Edit .gitignore REVERT: 8982c96 Create README.md REVERT: 8a506a4 Clean-up of the repsoitory REVERT: fbe3a5a Updated parameter files, choice between 1/2-order LPF, REVERT: 57c442b A lot of refactoring REVERT: 44953ff Updates controller parameter files and deleted obsolete variables REVERT: 7fc5928 Added VS_GenEff to ControlParameters input files REVERT: 87e4a2f Updated NREL5MW baseline ControlParameter file, included a fix in constant power control + generator efficiency REVERT: 8953304 Minor fix in the state-machine REVERT: 8ac02e2 Updated .gitignore REVERT: 3e8d76b Created a separate state machine REVERT: dbd5387 Minor bugfixes REVERT: 1f7d186 Added simulation status every 10 seconds, objPIController, 64-bit controller REVERT: db87912 Added saturations on (yaw-by-)IPC contributions, updated ControllerParameter file. REVERT: 81635a0 Merge branch 'DevelopmentStateMachine' REVERT: 611f46e Complete modularization of the DRC code REVERT: a414224 Updated IPC subroutine to use types instead of separate variables REVERT: 762bc92 Cleaned up the IPC subroutine REVERT: 0a86bd3 Added type ObjectInstances, to enable object-oriented-like programming of filters possible REVERT: 096c996 Update compilation code for linux systems REVERT: 9d11f50 NREL parameter file needs to be updated (pending) REVERT: b5719fd Added an updates DTU10MW ControllerParameters.in file REVERT: 8388afd Collected all controller settings in a single parameter file, added derived types REVERT: 4891dce Merge remote-tracking branch 'origin/master' REVERT: d00387c Added Types.f90 REVERT: 7b61b0a Bugfixes: double use of a filter object (yaw-by-IPC) REVERT: a724e84 Fix small spelling typo REVERT: 26f4bd2 Merge pull request #1 from Bartdoekemeijer/master REVERT: 43ce979 Merge branch 'master' of https://github.com/TUDelft-DataDrivenControl/DISCON_Fortran REVERT: eb59581 Update compileDISCON to include right libraries, compile as single .so. Now tested with OpenFAST and seems to work... REVERT: 8553e77 Bugfixes regarding constant power control, updated controller tuning for DTU10MW turbine REVERT: 33ce609 Add code for compiling the DISCON file on a linux system. The .dll format becomes a .so format. REVERT: 23c7033 Added constant power contol mode, updated compiled binary, updated parameter files, made IPC more modular REVERT: c2711ac Added GNU GPLv3 license file REVERT: 19b3d1f Updated documentation REVERT: 267e6f5 Added parameter files for the DTU10MW turbine REVERT: 768e9c3 Updated PitchGains.In file REVERT: 590e008 Added notch filter in Filters.f90, added DFController in FunctionToolbox.f90 (derivative term with first order filter) REVERT: ff6e0d8 Separated pitch speed setpoint from generator speed setpoint REVERT: 421316b Made code even more modular REVERT: 675b940 Updated documentation REVERT: b1f7676 Updated documentation REVERT: d7300f8 Final changes: removed redundant variables/constants, switching between different yaw controllers from parameter file, made code more modular REVERT: fa15b4a Added gain-scheduled pitch control functionality by defining a pitch gain input file REVERT: 649fedb Added yaw-by-IPC functionality for NREL5MW REVERT: b25eec4 Additional code clean-up and added a rate saturation function REVERT: 14b0fca Added interp1d function, added functional yaw controller REVERT: a338198 Some code cleanup and refactoring REVERT: 30edc63 Working NREL5MW controller, with IPC, generator torque control, pitch control REVERT: 1e00e60 Fixed generator torque controller and pitch controller. REVERT: 585f33a Included a general PI controller with outpur saturations in the FunctionToolbox and implemented generator region 2.5 PI torque control *untested* REVERT: 72db4bd Started creation of a PI controller function for generator torque control in region 2.5 (unfinished!) REVERT: 16a7566 Updates documentation, defined NREL5MW ServoDyn constants for Bladed interface and solved a switching issue between pitch and torque control REVERT: 79be70f Initial upload to GitHub git-subtree-dir: ROSCO git-subtree-split: 5168657
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description and Purpose
Minor bug fix and clean up of branches.
Type of change
What types of change is it?
Select the appropriate type(s) that describe this PR
TODO Items General:
TODO Items API Change:
Github issues addressed, if one exists
Examples/Testing, if applicable