This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Steve, Following our phone conversation where you mentioned that the naming of grid functions within the GD programs using the '//' syntax for further use within the program was known to be broken after the programs were rewritten in 5.6.E to use the file template sequences, I have made the following changes in my 5.6.F release: 1) dgmfil.f (and new file dgctmp.f) I have added a check to determine if an open file matches the template file|dattim in the list of input files. This allows current open files to remain open when the user is using a template rather than a specific file name. Without this check, the old file is always closed and then reopened later which loses the savflg information for functions that the user has named with the '//' attribute. The dg_ctmp code could be included within the dgmfil.f code, but I pulled it out to make things easier to see. 2) Most of the GD programs use the DG_CLAL() routine to close all open grid files at the end of every plot (eg within the dynamic tutor do loop). The DG_CLAL routine calls DG_CLOS for each open file which resets all the savflg array values to .false. which prevents the user named '//' gfunc values from being found later. This also defeats the purpose of DG_MFIL looking for existing open files in the user input list. I moved the DG_CLAL call outside the main "DO" loop of the programs since the template call to DG_MFIL will first check the user input files against the open file list and close those files which are not needed. DG_CLAL is only called as the program is exiting. (If I'm missing something here please let me know). I created a directory in the upc account on hp1 called patch5.6.f_changes which has the dg_ library routines. I also placed the GD program routines with the DG_CLAL call relocated in the directory. I left gdstat.f and gdtser.f unchanged. Let me know if you have any questions/comments Thanks, Steve