Rerunning an old ProDiMo model¶
It is often required and valuable to re-run an old ProDiMo model. There are mainly two cases.
- try to reproduce the results
- use an old model with a newer ProDiMo version to further develop this model
Rerunning to reproduce results¶
In that case, we recommend actually using the same ProDiMo version as was used to run the model in the first place. The version number used for the model can usually be found in the log output for that model (at the top of the file), which is hopefully part of the model directory. The version or revision number can be from Git (either a version tag, or a Git commit COMMITSHA), or if the model was run with a code version before 17.12.2021, it will be a Subversion revision number. To switch to the particular version, see Choose your ProDiMo version.
After you switch to the desired code version, you need to recompile ProDiMo, and it might be necessary to adapt the makefile, or potentially there could be issues with newer compilers. Those issues will be listed here if we encounter them.
Rerunning a model with a newer code version¶
Although this way is supported by ProDiMo, it might not always work out of the box. Depending on the age of the model, there might be necessary adaptations to the input Parameters to make it run again (see below). Also, in that case, it is likely that the results will be different. This can be because bugs have been fixed or new features become the default features (e.g., a better method to do radiative transfer is now used by default). For the latter case, it might be possible to switch back to the "older" method, but that can be complex and likely requires the help of a ProDiMo expert. But this really depends on the particular model, and what you want to achieve by rerunning it.
However, there can also be issues that prevent you from rerunning the model at all. In the following, we list certain issues that were encountered so far if one tried to rerun an old model. Those issues don't occur all the time, and it really depends on the model. And for many models, there will be no problems.
ERROR: xx regridding failed!¶
If you see this message in the log output, it means the new methods to build the radial grid failed for this old model. The output should also indicate what you should do. One example is to change the Parameter NnewWall to a lower number.
ERROR: could not find transition 276 228¶
This can happen if, in the model, the Line Transfer is activated. The log output should also tell you which molecule is affected (e.g. in that case, OH_H). This can happen if the line lists (transitions) of this molecule have changed (e.g. more of them); in this case, the numbers used to identify a particular line might also change. This can be quite challenging; here, we provide an example of how to possibly resolve this situation.
- First, check your
LineTransferList.inand find the according line (so here OH_H) and the transition numbers -
go to your old model output and try something like this (to find the line, the second grep are the transition numbers)
cat FlineEstimates.out | grep OH_H | more | grep "276 228"That should give you one line output and the actual wavelength of that transition (second column). Alternatively, you can try something similar but with the File
LineList.out- go back to your new model. There should be a file calledLineList.out. Open it and try to find your molecule and then the wavelength you have identified before. In this line you will find the new transition numbers (here 254 -> 207) e.g.376 254 -> 207 lam[mic]= 2.739351E+01 Eu[K]= 2.906E+03 Aul[1/s]= 1.958E+01 Ncr[cm^-2]= 1.872E+12 ... -
update your
LineTransferList.inin the new model with those numbers. - run ProDiMo again and possibly repeat
- once you are done, check the log output
INIT_LINE_TRANSFERand check if the newly selected lines look okay (e.g. compare with the old log file)