-
Notifications
You must be signed in to change notification settings - Fork 97
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
Possible non-closing of a file #251
Comments
Would you happen to have a non-AMRWind setup that I can test? The error messaging is certainly not what it should be, and it makes me wonder if there are other errors stopping ROSCO and preventing files from being closed. Also, it looks like the debug outputs are never closed. I would set |
Increasing the maximum unit number only had the effect of postponing the unit number issue. Unfortunately I don't have a non-AMRWind setup to test with. Perhaps it would be possible to run the IEA15 with OpenFAST and ROSCO and write out a checkpoint file every timestep (I'm not convinced this would actually show the problem though). As you mention, maybe the debug outputs are the issue here (I don't know what Coincidentally, this issue only appeared due to a bug whereby AMRWind requested checkpoints from OpenFAST at every timestep (we found a workaround for it). So it is somewhat unlikely that this issue would be a problem for most other use cases. |
Hi @andrew-platt, I finally got around to looking at this, and as you suspected, I haven't been able to reproduce the error using only OpenFAST and ROSCO. The unit number associated with the checkpoint file does not increase during the simulation. Given the long error message, I wonder if ROSCO cannot kill the simulation properly which leads to files not being closed. If there's a way to quickly run the AMRWind set up causing this issue, I could look into it more closely. Best, Dan |
Hi @andrew-platt, Best, |
Hi @abhineet-gupta, Unfortunately I don't have the input files for this AMR-Wind simulation (this was done by an intern during the summer). One other issue we discovered when using AMR-Wind was that it was requesting checkpoint files at every timestep. By changing the input file for AMR-Wind to only request checkpoint files every 99999999 steps, we were able to prevent the checkpoints from getting written and not trigger this issue. Andy |
Hi! |
Hi @momemo1996, The input for setting the checkpoint I was referring to is in the AMR-Wind input file (for AMR-Wind coupled to OpenFAST). For SOWFA coupled to OpenFAST, I'm not entirely certain where the checkpoint request is. Perhaps @mchurchf can give some guidance on how to set checkpoints with SOWFA? It's also possible that what you are seeing is a different issue. Which version of SOWFA and OpenFAST are you using? Regards, |
Hi @andrew-platt |
This issue keeps popping up when using AMR Wind and writing many checkpoint files. The current workaround is to reduce the number of checkpoint files that are being written. I have a hunch that the checkpoint file is not being written or read completely here, and there is no error catching in this part of the code to stop ROSCO and throw a meaningful error. We still don't have an easy way to reproduce this error, so if anyone can easily share that, it would be greatly appreciated. |
@andrew-platt |
When using the ROSCO controller with OpenFAST in AMR-Wind, we ran into an issue where ROSCO ran out of unit numbers when checkpoint files were written at every timestep. This was noticed by @shenpai35
Details:
observations
GetNewUnit()
subroutine has a limit of 99, theGetNewUnit
returns an error when trying to write checkpoint file 89.GetNewUnit()
subroutine has a limit of 1024, theGetNewUnit
returns an error when trying to write checkpoint file 1014.Error:
conclusion
Considering the above observations, I find it most likely that ROSCO is not closing some file.
OPEN
command returns non-zero for ErrStat, but actually opens the file. However that would result in nothing getting written to the file, but it appears most files have something in them. This might be a red herring.Interp1D
? I lean towards this possibility, but have not really looked into it (I'll take a quick look and see if anything is obvious and report if I find anything).Also one minor thing: the ErrMsg from line 35 of
ROSCO_IO.f90
never gets returned.The text was updated successfully, but these errors were encountered: