JuliaDynamics / CriticalTransitions.jl

A Julia package for critical transitions in dynamical systems with time-dependent forcing
https://juliadynamics.github.io/CriticalTransitions.jl/dev/
MIT License
18 stars 2 forks source link

Streamline export #43

Open oameye opened 3 months ago

oameye commented 3 months ago

We should decide what to export and what not?

reykboerner commented 3 months ago

Here are some comments from my side written in an excerpt of src/CriticalTransitions.jl:

# I guess it makes sense to reexport all of these
@reexport using DynamicalSystemsBase
@reexport using StaticArrays
@reexport using OrdinaryDiffEq
@reexport using StochasticDiffEq
@reexport using DiffEqNoiseProcess
@reexport using LinearAlgebra

# Core types
export StochSystem, State # Probably don't need State, can use StateSpaceSet from DynamicalSystemsBase instead

# Methods
export CoupledODEs, to_cds # to_cds not needed
export equilib, fixedpoints, basins, basinboundary, basboundary # keep equilib but others are covered by Attractors.jl
export simulate, relax
export transition, transitions
export langevinmcmc
export langevinmcmc_not_every_step # we should probably just have one langevinmcmc function
export fw_integrand, fw_action, om_action, action, geometric_action
export min_action_method, geometric_min_action_method
export edgetracking, bisect_to_edge, attractor_mapper, bisect_to_edge2 # not sure why we have bisect_to_edge2, will check
export idfunc, idfunc!
export gauss
export drift, is_iip
export make_jld2, make_h5, sys_string, sys_info, intervals_to_box # we can discuss whether such convenience functions should exist
export anorm, subnorm

# Systems
# can probably simplify things here
export fitzhugh_nagumo, fitzhugh_nagumo!, fhn_ϵσ, fhn_ϵσ_backward
export modifiedtruscottbrindley, modifiedtruscottbrindley!, modtb_αξσ, modtb_αξσ1, modtb_αξσ_backward
export rampedmodifiedtruscottbrindley, modifiedtruscottbrindley!, rmodtb_ξvTtrTraσ
export originaltruscottbrindley, originaltruscottbrindley!, origtb_rσ
export rampedoriginaltruscottbrindley, rampedoriginaltruscottbrindley!, rorigtb_vTtrTraσ
export originaltruscottbrindley1, originaltruscottbrindley1!, origtb1_rσ
export rampedoriginaltruscottbrindley1, rampedoriginaltruscottbrindley1!, rorigtb1_vTtrTraσ
export rivals!, rivals, rivals_ϵσ
export rooth_smooth, stommel, cessi

# Development
export transition2, transitions2 # these should be merged with transition, transitions
export residence_time2, residence_times2
export saddles_idx, repellers_idx, attractors_idx
export additive_idx, additive_idx!
export multiplicative_idx, multiplicative_idx!
export FitzHughNagumoSPDE, fhn_pathspace_sampling # not needed once langevin_mcmc works well
export langevinmcmc_spde, symbolise_spde, stochastic_bridge 
export jacobian
export residence_time, residence_times, ResTimes, temporal, runandsavetimes, get_res_times # can be simplified?
export exit_time, exit_times
export RateSystem, fL, stochtorate