![]() |
Punting (Raveem, Ian, Rosie, Alex) |
Wednesday, 11 June 2008
Saturday, 7 June 2008
IDL, IDL_PATH and SAVE files
I run IDL routinely on my Mac for atmospheric modelling/plotting, often making heavy use of pre-compiled .pro routines and arrays SAVEd to disk. After an install of IDL 7.0 and a thorough wipe of IDL 6.3, all my old programs were producing the most inexplicable errors:
- All kinds of references were popping up about .pro files not found in the rsi directory. This was especially bewildering since IDL now resides in the itt directory!
- The most routine calls to procedures prepackaged with IDL (map_set, etc.) were producing the Attempt to call undefined procedure/function: error.
- If, say, map_set was called as soon as IDL started, it compiled just fine. If, on the other hand, I ran my (previously perfectly working program), the above errors resulted.
After trying all sorts of snake oil, from wiping and reinstalling IDL afresh to deleting the .idl directory sitting in my home folder to numerous other apparent remedies, I finally puzzled out the solution to the conundrum:
- When I had IDL 6.3, I frequently used the save, /all command to keep a whole host of variables written to memory.
- This command also saves the idl_path!
- When using restore to recover the data, the perfectly functioning (IDL 7.0) idl_path is overwritten by the out of date (IDL 6.3) idl_path previously saved, thus dredging up all the perplexing errors mentioned above.
Note to self:
- Avoid using save, /all in future; it can create dependencies in otherwise platform independent code!
Monday, 2 June 2008
Subscribe to:
Posts (Atom)