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

Maximal number of output points #1433

Closed
PavelBal opened this issue Jan 7, 2022 · 7 comments
Closed

Maximal number of output points #1433

PavelBal opened this issue Jan 7, 2022 · 7 comments
Assignees

Comments

@PavelBal
Copy link
Member

PavelBal commented Jan 7, 2022

The number of output points (in the OutputSchema) is restricted to 5000. This value is a great limitation when simulating months (or even years). I think this value should be increased (or even exposed as an input parameter).

@msevestre
Copy link
Member

This value is set in core not in simmodel I believe

@Yuri05
Copy link
Member

Yuri05 commented Jan 7, 2022

Yes, it's in core. SimModel does not have any restrictions regarding the number of points

public int NumberOfTimePoints
{
get
{
if (StartTime == EndTime)
return Constants.MIN_NUMBER_OF_POINTS_PER_INTERVAL; //just a single point
return Math.Min(
Math.Max(Constants.MIN_NUMBER_OF_POINTS_PER_INTERVAL, (int) Math.Round(Resolution * (EndTime - StartTime)) + 1),
Constants.MAX_NUMBER_OF_POINTS_PER_INTERVAL);
}
}

@Yuri05 Yuri05 transferred this issue from Open-Systems-Pharmacology/OSPSuite.SimModel Jan 7, 2022
@PavelBal
Copy link
Member Author

PavelBal commented Jan 7, 2022

Constants.MIN_NUMBER_OF_POINTS_PER_INTERVAL should be an input parameter in solver settings. What do you think?

@msevestre
Copy link
Member

Yep. I like it

@Yuri05
Copy link
Member

Yuri05 commented Jan 8, 2022

MAX_NUMBER_OF_POINTS_PER_INTERVAL 😉

The restriction of 5000 points was introduced long time ago - before we had the possibility to restrict the number of stored time courses, before different memory optimizations (e.g. storing constant time courses with just 1 value) and having the total memory limit of 2 GB per application. Now with all those improvements the 5000 points limit can be drastically increased.

I would not define max number of points as an additional parameter. Instead I would either

  • drop this limitation completely
  • or set it as per default to a much higher value. When simulating over 1 year with the standard resolution 4 pts/h you would end up with ca. 35000 points. Thus if we set the limit to 100000 - you could simulate over almost 3 years with the standard resolution. If you need longer simulation time - either you accept lower resolution (is it really required to simulate with 4pts/h over 20 years?) or you could split your simulation time interval into several subintervals (each subinterval up to 3 years).

@msevestre
Copy link
Member

Fine with me too

@msevestre
Copy link
Member

Let's just remove it. PR coming

@msevestre msevestre self-assigned this Jan 11, 2022
msevestre added a commit that referenced this issue Jan 11, 2022
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

No branches or pull requests

3 participants