[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A question
- Subject: Re: A question
- Date: Thu, 24 Feb 1994 10:21:28 -0700
> Organization: NOAA/FSL
> Keywords: 199402241656.AA21418
Hi Barry,
> I just discovered something very interesting in the FORTRAN interface
> with the netCDF software. It is something I should have noticed a long
> time ago. When you make a call to NCOPN (to open a netCDF file),
> if the file does not exist, the calling FORTRAN program bombs, i.e.,
> the program terminates with out allowing transfer control to
> somewhere else. This is a HUGE problem if you want to run a job
> "operationally", because the process manager sftware cannot have
> a job bombing without transfer of control. In addition, this does not
> allow for the program to say, search somewhere else, for a file
> to open. In VMS this is no problem because one would:
>
> open(unit=10,file=input_file,status=old,err=100)
>
> If the file is not found, transfer of control sends you to line 100
> and you continue. Why then does the netCDF FORTRAN interface have
> an error code returned, but you can't do anything with it since the
> calling program crashes? Are we using the software incorrectly?
This is not really a problem. It's covered in the section of the NetCDF
User's Guide on Error Handling at the end of Chapter 4. There it says:
In the FORTRAN interface, the error options described above can be
accessed by using the routines NCPOPT and NCGOPT. The default error-
handling behavior is equivalent to the statement
CALL NCPOPT(NCVERBOS+NCFATAL)
where the values of NCVERBOS and NCFATAL are pre-defined constants from
the FORTRAN include file `netcdf.inc'. If you want error messages, but
do not wish errors to be fatal, turn off the fatal error flag with:
CALL NCPOPT(NCVERBOS)
If you want neither error messages nor fatal errors, turn off both flags
with:
CALL NCPOPT(0)
To get the current value of the error options, use:
CALL NCGOPT(NCOPTS)
> Another problem. When I compile a FORTRAN program using the netCDF
> software I need to have an "include netcdf.inc" statement at the top of
> the code. Anyway, when I compile without the -g option (in unix)
> it works just fine. However, if I compile the code with the -g option
> (f77 mycode.f -g I get an error that says something like:
>
> no triple block
>
> referring to the netcdf.inc statement. Any clue of what this is all
> about.
Typically the "-g" option goes before the source file, but i've never seen
such an error message. It sounds like a compiler problem. What hardware,
operating system, and compiler produces this error?
> Oh, somehow I remember that perhaps you aren't the person
> to contact about this, so if you can, please remind me where I can send
> these questions to or forward for me please. Thanks!
If you send netCDF questions to address@hidden, they will get
answered even if I am on vacation or out of town.
__________________________________________________________________________
Russ Rew UCAR Unidata Program
address@hidden P.O. Box 3000
(303)497-8645 Boulder, Colorado 80307-3000