Conversation
* move simple workflow into package * ingest shots as positionals, allow choosing output file * remove quickstart from docs * add quickstart guide * more explicit multi-shot example * fix typo
* drop cache setting * drop pre filled shot data * further tweak some runner logic * fix typo * remove cache_setting from docs * drop method for manual cache
* simplify output settings * remove parameters for dropped SQL writeback
* slightly more general logged header * replace import of tests from main package * minor * log critical error if nothing to do * fixup! slightly more general logged header * fixup! log critical error if nothing to do
* handle critical timebases * make workflow resilient to all exceptions * improve some exception logs * fixup! handle critical timebases * slightly more generic MDSplus exceptions * avoid another warning after logging errors * better bad record exception
* drop scikit learn * lock deps
* cleanup! disruption_py/core/utils/enums.py * cleanup! disruption_py/core/utils/math.py * cleanup! disruption_py/core/utils/misc.py * cleanup! disruption_py/inout/sql.py * cleanup! disruption_py/settings/__init__.py * cleanup! disruption_py/settings/retrieval_settings.py * cleanup! examples/defaults.py * cleanup! tests/test_output_setting.py * cleanup! disruption_py/machine/tokamak.py * rename is_parametered_method to is_physics_method * remove interpolation_method * remove metadata from PhysicsMethodParams
* sourcery! use-fstring-for-concatenation * sourcery! remove-none-from-default-get * sourcery! remove-redundant-slice-index * sourcery! use-getitem-for-re-match-groups * sourcery! for-index-underscore * sourcery! hoist-repeated-if-condition * sourcery! invert-any-all * sourcery! list-comprehension * sourcery! remove-redundant-if * sourcery! remove-unused-enumerate * sourcery! remove-zero-from-range * sourcery! simplify-division * sourcery! simplify-len-comparison * sourcery! inline-immediately-returned-variable * minor fixes
* bump version as dev * lock deps
* Copy & paste changes in d3d docstrings from fix-references * Fix equations
* add isort to lint matrix * isort! disruption_py/machine/cmod/physics.py
* debug connections from each PID * close MDSplus trees at cleanup * more robust shot cleanup * fixup! close MDSplus trees at cleanup * fixup! debug connections from each PID * revamp get_shot_data for max resilience * fixup! revamp get_shot_data for max resilience * skip cleanup for failed connections * move reconnect into mds module * reconnect if method fails with MDSplusERROR * reimplement the buggy closeAllTrees * fixup! reimplement the buggy closeAllTrees * purge open_trees after reconnect
* do not publish dev package * allow build to complete for non-release events * fixup! do not publish dev package
* tweak readme * further tweaks * add Credits section * center image * help mkdocs by avoiding github-specific tags
* debug connections from each PID * close MDSplus trees at cleanup * more robust shot cleanup * fixup! close MDSplus trees at cleanup * fixup! debug connections from each PID * revamp get_shot_data for max resilience * fixup! revamp get_shot_data for max resilience * skip cleanup for failed connections * move reconnect into mds module * reconnect if method fails with MDSplusERROR * reimplement the buggy closeAllTrees * fixup! reimplement the buggy closeAllTrees * purge open_trees after reconnect * add xarray and netcdf4, remove pandas hdf5 extra * lock deps * convert 1st method to xr.dataset * revamp runner to convert dicts into datasets * revamp output setting * revamp output settings * fix linting * refactor into concat, use str as keys * add OutputTypes and tweak typing * fixup! add OutputTypes and tweak typing * add typing for to_disk * revamp get_temporary_folder * revamp output settings * revemo cruft * revamp test/folder fixtures * revamp some tests * fix non-fixture for non-pytest execution * remove double reconnect * harmonize cli and workflow output setting * tweak test_decorator.py * tweak test_retrieval_settings.py * tweak efit example * tweak docstring for default output setting * flip str/int conversion of data dict shot keys * drop variable for data length mismatch * fixup! drop variable for data length mismatch * reconnect only if MDSplusERROR, even during retrieval * drop protected_columns * add convenience method for coordinates * convert kappa_area to dataset for all machines * add to_tuple to utils * revamp to_coords into to_dataset * revamp all 3 get_kappa_area methods with new utils * rename console_log_level * rename log_file_path * rename file_log_level * have DataFrameOutputSetting subclass DatasetOutputSetting * minor docstring changes * change default to dataset * fix some typing issues * delete environment_vars.py * remove failure_ratio_string * remove safe_df_concat * minor * have get_kappa_area return a dict * revamp runner to use params.to_dataset for default dim idx * possibly better typing * return empty output if needed * remove write_database_table_name * drop unused max_processes * mark data length mismatch as error, add more info * fix f-string * check file existence before reading * remove changes to physics methods * remove changes to time_setting * revamp params to have to_coords
* revamp lock and update targets * lock deps
* Fix EAST get_mirnov_std method * Remove h98 from test column (output matches matlab script, wrong data in sql table) * Remove parea, pchisq, pconvergence, pkappa_area, pq0, pqstar from testing (signals not in table/all nulls, match MATLAB) * Move AXUV calibration factors to EastUtilMethods.get_axuv_calib_factors() * Add get_radiated_power method and get_raw_axuv_data function * Add notes to highlight difference between get_prad_peaking and get_radiated_power * Update get_radiated_power comment * Complete get_n_equal_1_data * Remove p_rad, add prad_peaking to XFAIL columns * Fix get_n1rms_n2rms. Remove signals from test * Add get_efit_gaps * Split get_efit_gaps into public and hidden methods. Add pupper_gap and plower_gap to public method outputs * Remove efit signals that are not in SQL table from test * Remove unnecessary newlines * minor corrections * Simplify unpacking * fix typo * Add fallback option for get_v_loop * Change get_raw_axuv_data to a private method * Remove some TODOs & NOTEs * Change TreeException to MdsException in get_v_loop * Simplify rad_input_frac & rad_loss_frac computations * Clean up comments * Fix bug introduced by github * fail-proof get_power * Fix logics, add additional logger * Chamge wmhd source from wplasm (all 0) to wmhd * Add XFAILs due to east/east_1 tree issues --------- Co-authored-by: Gregorio L. Trevisan <gtrevisan@users.noreply.github.com>
* Add EfitTimeSettting.d3d_times, and SignalTimeSetting parameter use_efit_time_range * D3D timebase unit conversion * unwind np.where outputs in time_settings.py * fix bug from previous commit * Add CMOD & EAST IpTimeSetting * Add use_efit_time_range option (default to False) to IpTimeSetting * Add wrapper in SignalTimeSetting to allow using tree_name='ptdata'. Move use_efit_time_range to a hidden method * Correct D3D IpTimeSetting tree_name * minor * Get the unit of the signal timebase and then perform unit conversion; does not work for d3d ptdata * Create machine-independent get_efit_times. Tested it on D3D. * Create MDSConnection.get_unit and get_unit_of_dim methods * fix line-too-long * Tested get_efit_times on EAST * Remove EfitTimeSetting d3d & east_times * drop the now-unused max_shot_time * Remove get_unit and get_unit_of_dim methods * Remove duplicated time points in SignalTimeSetting. Need more generalizable way to do this. * Make get_efit_times the default method in EfitTImeSetting. Tested on CMOD with individual pre- & post-2000 shots. * improve ugly line-too-long fix * Skip unnecessary [s]->[s] unit conversion * base class returns unique and ordered times * fixup! base class returns unique and ordered times * call unique for overridden methods, too * add SharedTimeSetting * add SharedTimeSetting logic to resolver * remove use_efit_time_range * add ip_efit as shortcut for a SharedTimeSetting * minor tweaks * add _postprocess utility for times * add typing for SharedTimeSetting * Implement unit test for time_setting * fix pylint errors * read tokamak from pytest fixtures * avoid unnecessary ValueErrors * skip DisruptionTimeSetting for C-MOD * revamp time setting setups with keyed dicts * fix test_disruption_time_setting bug * remove confusing disruption time setting * refactor time parameters into machine configs * remove test_disruption_time_setting * move other time parameters into machine configs * refactor time settings into time section * move time_const into time section * revamp test_time_setting to use test folders * minor bug fix * Refactor DisruptionTimeSetting * Update test_time_setting.py docstrings * refactor time config into method, add some type hints * remove cruft from settings * make _calculate_disruption_times a class method, tweak docstrings * shorten long docstring line * fixup! shorten long docstring line * other minor type hints * do not complain if .ssh exists --------- Co-authored-by: gtrevisan <gtrevisan@users.noreply.github.com>
crea-psfc
approved these changes
May 7, 2025
yumouwei
approved these changes
May 8, 2025
This file contains hidden or 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
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.
C-MOD
DIII-D
EAST
Framework
Automation
Documentation
Dependencies