Skip to content
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

Refactor CTDCAL modules #63

Open
10 tasks
Klankers opened this issue Jun 14, 2024 · 0 comments
Open
10 tasks

Refactor CTDCAL modules #63

Klankers opened this issue Jun 14, 2024 · 0 comments
Assignees
Labels
cleanup enhancement New feature or request
Milestone

Comments

@Klankers
Copy link
Contributor

Klankers commented Jun 14, 2024

Following discussion, CTDCAL should be refactored in a way described below for the most straightforward organization for the scientific community at large.

Known issues related to this:

  • Refactoring T/C
  • Consolidating settings
  • File structure
  • Reducing function scope and improving modularity

For all of this development, we want to have full implementation of numpy/xarray/and netCDF 4.

Things to consider from pruned TODOs:

  • using directory structure to support multiple same-type instruments (ctds, etc)
  • user-defined flagging parameters in cfg
  • common file import and export routines
  • make flagging methods modular (outliers, etc)
  • think about common handling for parameters used by all of our modules and functions
  • move oxy hysteresis to a common module, generalize it so it can be called at different times (is that why ctdcal currently has two functions for this in two different modules?)
  • When parsing/retrieving cal coeffs (ala xmlcon), can these be referenced by SN (one file) instead of by cast (many files)?
  • replace hard-coded filenames, directories, user constants, etc with values from user config file
  • moving cast details log, bottom/depth log, etc to reporting modules
  • load user configs in user script and pass the parameters (or the whole cfg dict?) to funcs in other modules that need them, instead of loading configs in each module

Includes aspects of #48

Include intermediate files.

As discussed 20240612:

  • Between parsing and assmebly
  • Before fitting
  • Before analysis

The final products will be the exported data, which would be similar to the "before analysis" stage (though binned and returning fewer derived variables)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cleanup enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants