Skip to content

Re-organize PEcAn packages to have more precise purposes #1191

@ashiklom

Description

@ashiklom

I think that we currently have too few packages that each do too many things. So I wanted to start a discussion about specific functionality from certain packages that can and should be isolated. Here are some initial ideas:

  • Put all logger.* functions to a pecan.logger package
  • Create a small set of date-related functions, and put them in a pecan.dates package that can be used by met.process and other date-related packages.
  • Pull functions related to MCMC analysis (e.g. convergence checking, burnin calculation, distributions) out of the rtm, assim.batch, and utils packages (and wherever else they are hiding) into a pecan.mcmctools package.

From Hadley's package recommendations...

I believe that packages that have a wide audience should strive to do one thing and do it well. All functions in a package should be related to a single problem (or a set of closely related problems).

From the UNIX philosophy:

Write programs that do one thing and do it well.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions