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.
Yolande, > I cannot find any FORTRAN documentation on #define that uses it in > quite the way it is used in udunits.inc. The only way I've seen it > used is for example, > > #define VAR 1 > > to define VAR with a specific value. I'm wondering if this is just > not standard FORTRAN? C preprocessor directives like "#define VAR 1" are definitely not standard Fortran: they are directives to the C preprocessor which the Fortran compiler uses on it's input files before compiling them. > I tried compiling the code with gfortran > instead of g77 and got the same error: > > [cassava:~/code2/quikscatjpl] serra% gfortran -ffixed-line-length-132 > -I/sw/include -I/usr/local/hdf4/include qscat3_tropics.f > read_qscat3_subprg.f handle_err.f get_time.f -L/usr/local/hdf4/lib - > lmfhdf -ldf -L/sw/lib -lnetcdf -ludunits -ljpeg -lsz -lz -lm -o > qscat3_tropics > Warning: udunits.inc:25: Illegal preprocessor directive > udunits.inc:33.6: > Included at qscat3_tropics.f:7: > > UD_POINTER utmake > 1 > Error: Unclassifiable statement at (1) > [cassava:~/code2/quikscatjpl] serra% > > In this case gfortran also complains about line 25. I suspect that the file "qscat3_tropics.f" uses directives like include 'udunits.inc' rather than directives like #include "udunits.inc" The former might be valid g77(1) but it is not standard Fortran because there is no standard Fortran for including header-files. The best that can be done is to use C preprocessor directives instead of any Fortran "include" statements. Try changing the directives to the C-form and see what happens. Regards, Steve Emmerson Ticket Details =================== Ticket ID: QKV-165487 Department: Support UDUNITS Priority: Normal Status: On Hold