Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Conversation

reykboerner
Copy link
Collaborator

This branch will be used to write and submit the paper describing v1.0 to JOSS (see https://joss.readthedocs.io/en/latest/submitting.html).

@ryandeeley
Copy link
Collaborator

ryandeeley commented Aug 21, 2025

Hi, are the figures 1 - 3 still to do? And is the best way of reading this to "view" the paper.md file and then going to preview mode?

@reykboerner
Copy link
Collaborator Author

Yes!

@ryandeeley
Copy link
Collaborator

ryandeeley commented Aug 22, 2025

Hello, I will perhaps directly push these minor changes at the end of the day but am just listing them here as I go for now:

Title page section:

  • I would add "nonautonomous dynamics" to the tags if there is room.

Summary section:

  • Possibly change “a key element of metastable behavior are…” to “a key association with metastable behavior is …”. For me this sounds a little like you are trying to define metastability with respect to critical transitions, although the meaning of metastability is not unanimously accepted. I personally don’t think you need critical transitions to say that metastability is present in a system, but rather that the presence of metastability becomes relevant once you can attain an alternative (metastable) state via a critical transition through external forcing.

Statement of need section:

  • I stumbled a little over the sentence “Research problems are often not tractable analytically, requiring numerical techniques for applying dynamical systems theory.” Maybe I would say: “Research problems are often not tractable analytically and (rather) require numerical techniques to apply concepts from dynamical systems theory.”
  • I would change “proposed” to “developed”.
  • Change “had not been implemented” to “have not been implemented”.
  • I personally would remove the commas around sometimes and/or change to “in some cases” - I think “in some cases” adds clarity to what I think you mean by this (in the case of some algorithms) and I think the commas are unnecessary and cause people to slip up during the sentence and lose the meaning.

I very much like the way you've introduced the utilities of SciML.jl and DifferentialEquations.jl and said that DynamicalSystems.jl applies these to create an ecosystem for analysing autonomous, deterministic dynamical systems, and then proceeded to say that a similar ecosystem for forced systems is missing. I think this makes very clear why there is a "need" for CriticalTransitions.jl and what it provides!

Concept section:

  • Suggestion: change "evolves the deterministic drift \bm f and stochastic forcing described by a noise function \bm g and..." to "evolves the deterministic drift \bm f (vector-valued) and stochastic forcing described by a noise function \bm g (vector- or matrix-valued) and...". Not totally necessary but might help with clarity over flexibility.
  • I would change “DifferentialEquations.jl’s SDEProblem” to “SDEProblem of/from DifferentialEquations.jl”. A little more formal.
  • Suggestion: change “conveniently defined…” to “conveniently and flexibly defined…”.
  • Change “calculate action functionals and most probable…” to “evaluate action functionals and calculate most probable …”.
  • Suggestion: change “Here the question is whether the forcing protocol induces critical behavior…” to “Here the question is whether changing the forcing protocol induces critical behavior…”. I interpret “critical” behavior as the existence of some sort of boundary between two types of response (in this context tracking or tipping), which in this context you “move through” by changing the forcing protocol. If by critical behavior you rather mean “sudden high-impact changes”, then I don’t think you need this addition of “changing”. But do you see the two different possible interpretations of “critical”?
  • Maybe I would change “to study rate-induced tipping…” to “to assess rate-induced tipping”, because it is an applied examination rather than a theoretical study. But this is a small point.

Otherwise very nicely compressed while still getting across the versatility! Like the inclusion of "classic problem settings" in the last sentence.

Example section:

  • Any reason why you’ve changed notation from (u,v) -> (x,y) and from \varepsilon -> \nu? If there’s no real reason then I would suggest sticking with the original notation from the cited paper.
  • Suggestion: change “I = 0” to “I \equiv 0”, which indicates that there is still this notion of time although in this case the parameter is constant (or “equivalent” to 0) throughout time.
  • Suggestion: we haven’t mentioned noise yet, so I would change “after considering the stochastically forced case with …” to “after considering a stochastically forced case with…”.
  • Possibly change “we also consider non-autonomous forcing I(t)” to “we also consider non-autonomous forcing with I(t)”. Consistent with the first half of the sentence and a little less compressed.
  • Do you think scaling the noise by the timescale separation parameter in addition is too complicated to present here? I don’t think I am against it… One advantage of doing such is that it could nicely illustrate the kind of flexibility one has in creating an SDE, since to do this one could additionally specify “g(x,p,t) = [\sqrt{\nu},1]” and pass this to CoupledSDEs in the final line. If I understand things correctly, it could also be done by instead saying “\Sigma = [\nu; \sqrt{\nu}/3; \sqrt{\nu}/3, 2]”, but this doesn’t illustrate the possible utility/role of g. You could attach the following to the tail end of the sentence starting "First suppose the system...": ", which is subsequently scaled by a noise function to incorporate a timescale separation that remains balanced with respect to that of the deterministic drift as \nu\rightarrow 0."; or more simply but less descriptive: ", which is subsequently scaled by a noise function which accounts for the timescale separation of the deterministic drift.".
  • Visually, are the questions starting with “Starting from \bm x_A, how long…” going to be in bold or marking a new section? Just to make clear that the following passages which follow are providing answers to these questions.
  • Is there going to be an output of what the transitions function - for instance - returns? To illustrate for instance the mean exit time, the mean transition time and the rareness value?
  • Small suggestion: change “between iterations of the minimization…” to “between successive iterations of the minimization…”.
  • I like the idea to present the results of the transitions and geometric_min_action function in one joint figure!
  • I would break up the first sentence in the R-tipping section into two sentences because it is a lot to absorb, and suggest a slight change in the contents. Rather than “... where the rate parameter r determines…”, I would change to “... Here, the rate parameter r scales how rapidly the forcing changes relative to the fixed internal timescales of the FitzHugh-Nagumo model.”.
  • Slight typo in the creation of I in the code: it should be “+ I_min” at the end. Do we want to use I_min and I_max or I_- and I_+?
  • Suggestion: change “change the equilibria of the system?” rather to “change the quasi-static equilibria of the system?”.
  • Suggestion: change “which return the result shown in Fig. 2” to “which returns the branches of equilibria displayed in Figure 2.”
  • Suggestion: change “but the positions of the stable fixed points change as a function of I(t)” to “but the positions of the fixed points and (the spatial configuration of) their basins of attraction change as a function of I(t)”. Want to say this because of course the movement of the quasi-static saddle point and its stable manifold is the key thing here determining whether the system end-point tracks or not! But also want to keep the conciseness…
  • We previously defined \bm x_A and \bm x_B for the autonomous case with I = 0, so I would be careful about so freely using them again and hoping the reader follows what is meant here…This is my attempt at adding hopefully a little clarity while maintaining mostly conciseness: “Let \bm x_A^{-/+} and \bm x_B^{-/+} denote the stable equilibria of the autonomous FitzHughNagumo system with I = I_- = I_min and I = I_+ = I_max respectively [we can also label them as this in Figure 2…]. If the non-autonomous system is initialized at \bm x_A^- in the far past at time t = -100, will it continue tracking the associated moving branch of fixed points or rather transition in the future towards \bm x_B^+ as a result of the parameter change?”.
  • RE “if r < r_c, the trajectory tracks \bm x_A”: see above, \bm x_A is not exactly well-defined here. I would suggest changing to “tracks the original branch, …” or introducing notation to denote time-dependent quasi-static equilibria, such as \bm x_A^I”.
  • Suggestion: change “Lastly, we can also use CriticalTransitions.jl to study…” to “Lastly, one can also use CriticalTransitions.jl to study…” to highlight that this is for people beyond ourselves!
  • Agree with Raphael that adding a figure to show the ensemble splitting would be great and nicely illustrative!

Generally, I think this story line is very nice and the sections build well and clearly on previous ones.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.