Open
Conversation
* So far have copied all of the command line arguments from RST that are relevant * Have yet to implement any functionality
* Added default arguments and types for some cli arguments * Adding structs for gridding * Adding RadarScan struct
* Partway through GridTable::map()
* Adding in rpos utilities * Finished GridTable::map() method, working through GridTable::add_beam()
* Using geodesy crate for coordinate transformations. * Including IGRF calls is going to be extremely tedious.
…Records. * Method used in the grid.rs binary.
* Added function to find the first record after a timestamp in an array of FitacfRecords * Added more functionality to bin_main() of grid.rs binary, up to calculating end_time for the grid.
* Need to iterate through GridPoints of Table and convert them to vectors suitable for GridRecord * Rounded out the rest of bin_main in bin/grid.rs, still lots of TODOs * Corrected RadarScan::reset_beams() after reviewing equivalent RST function * Updated dmap dependency
* Created new file utils/dmap.rs and put function there, as it will have shared usage by gridding.
* Updated dmap dependency to fix some types in GridRecord * Removed unused use statements * Fixed moved value errors in bin/grid.rs * Completed TODOs around filtering data from scans when gridding in bin/grid.rs * Still have to apply boxcar median filter, and load AACGM coefficients * Write the GridRecords to file once done looping through files
Started working on median filter kernel for gridding. * Still very much a work in progress, only about 1/8 implemented. * Updated dmap crate dependency to use new error_refactor branch
* Still untested, but IDE not throwing any warnings in the file.
* fieldpoint calculations now mostly added. Still have some functions to add but pretty close to complete.
* Still have some differences in numerical results vs. RST, working through those.
…` command. * Uses new DMAP API * Benchmarked faster than RST, 8x on my machine with 8 cores * Fixed clippy warnings * Made fit_fitacf3 arguments positional
* Created a convenience function to get the hdw info associated with a rawacf record, reducing copied code in bench and tests.
Update following `dmap` API change
* Removed Rust binary `fit_fitacf3`, exposed `fit_fitacf3` as a Python CLI tool using maturin. * Created another Python-available function `fitacf3` which takes a list of rawacf records, like what is read in by `dmap.read_rawacf()` * Created two rust functions, `fitacf3` and `par_fitacf3` which are single- and multi-threaded fitacf3 callers on `Vec<RawacfRecord>`, used in bench and test files and Python API functions.
* Avoids passing data through the Python-Rust interface
Python bindings for procDARN
Bring `develop` into `gridding` branch
… compilation errors to iron out.
* Now compiles, currently working through more bugs that cause errors at runtime.
* AACGM_v2_DAT_PREFIX not set - need to figure out how to get this from dependency, if possible.
* Currently, stumped at GridTable::map() panicking with an index error.
* median_filter calculated max number of beams correctly; skips averaging beams with no cells * Made all GridArgs members public; removed `old_aacgm_flag` member * Fixed some mixups between `no_limits_flag` and `op_param_flag` * let `end_time` be an Option; doesn't error out now if not specified * Gated some printing with `args.verbose` * Used `extended_mode_flag` to determine whether pwr + spectral width written to file * Fixed `RadarScan::add_beam()` so it initializes vectors of correct size * Handle partial records (no slist + other vectors in fitacf record) * Ran cargo fmt
* Testing shows differences vs. RST, but is able to produce files. Need to investigate where the differences arise.
* Added a suite of gridding tests, all passing so far. * Added structs for different coordinate systems.
* Now present two fit2grid functions - one for providing file paths, and another for providing FITACF records. * GridArgs no longer requires `infiles` or `outfile` - these are provided with `GridArgsCLI` struct that wraps `GridArgs` for exposed `fit2grid` binary.
Added RST's `make_grid`, calling it `fit2grid`
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.
Installation
pip install git+https://github.com/SuperDARNCanada/procDARN.git@developPython API
In-memory fitting
Use FITACF3 algorithm to fit a list of RAWACF records
Example
File-to-file fitting
Fit a RAWACF file into a FITACF file
Example
Rust API
procdarn::file_fitacf3(raw_file: PathBuf, fit_file: PathBuf) -> Result<(), Fitacf3Error>: Fits a RAWACF file into a FITACF fileprocdarn::fitting::fitacf3::fitacf_v3::fitacf3(Vec<RawacfRecord>) -> Result<Vec<FitacfRecord>, Fitacf3Error>: single-threaded FITACFv3 on collection ofRawacfRecords (fromdmapcrate)procdarn::fitting::fitacf3::fitacf_v3::par_fitacf3(Vec<RawacfRecord>) -> Result<Vec<FitacfRecord>, Fitacf3Error>: multi-threaded FITACFv3 implementationBinary
fit_fitacf3: Command-line tool for fitting a rawacf file