Joerg
Thanks for taking a look. Changing the flag doesn't make a difference. I
should have also stated that this program runs as-is on the system where it
was created- so I assume that all of the flags/syntax are correct. That
said, I did change the -M flag to -B since the Gfortran (g95) compiler does
not use the same flag. Otherwise the only thing I changed were the
environmental variables such that they point to the correct locations for my
NetCDF install.
hope that helps
thanks
David
On Thu, May 5, 2011 at 11:51 AM, Kaduk, Joerg (Dr.) <jk61@xxxxxxxxxxxxxxx>wrote:
> Hello
>
> could it be that you are nevertheless be just missing an include in the
> compile:
>
>
>
> f95 -O $F90FLAGS -B$NETCDF_ROOT dataread_batch.f95 -L /usr/local/lib -l
> netcdf -I/usr/local/include $LINK_F90
>
>
>
> NB this is meant to be a capital -I not a lower case -l:
> -I/usr/local/include
>
> this is where your netcdf.mod should live.
>
>
>
> Cheers,
>
> Joerg
>
>
>
> --
> Jörg Kaduk
> Lecturer
> Department of Geography J.Kaduk@xxxxxxxxxxxxxxx
> University of Leicester joerg@xxxxxxxxxxxxxxxxxxx
> UK - Leicester LE1 7RH Tel: + 44 (0)116 2523848
> http://www.le.ac.uk/geography/staff/academic_kaduk.html
>
>
>
> *From:* netcdfgroup-bounces@xxxxxxxxxxxxxxxx [mailto:
> netcdfgroup-bounces@xxxxxxxxxxxxxxxx] *On Behalf Of *David La Puma
> *Sent:* 05 May 2011 16:42
> *To:* *Subject:* [netcdfgroup] problems installing NetCDF on Ubuntu Linux
> 10.10
>
>
>
> *First of all, I apologize in advance for the abundance of code I'm
> pasting here. i'm new to Fortran.
>
> I'm running into some issues with a custom piece of software that has to
> access the NetCDF module. The program was originally built on a Sun Unix
> server using the Solstudio C Compiler (cc) and Fortran 95 compiler (f95). I
> have tried to use both these compilers, and the Gnu equivalents (gcc and
> gfortran's g95) to build NetCDF on my machine and have run into a few
> problems (and as a result, the program doesn't seem to be able to find or
> read the NETCDF.mod file).
>
> I will try and provide some background here.* *
>
> For the Gnu version, I built ZLIB, then MDF5 (--with-zlib --include-fortran
> --include-cxx) and then NetCDF (--with-mdf5 and --with-zlib). Everything in
> the make check looks good for each installation. Still, when I try and run
> my program which includes the following python code:*
>
>
> def legacy_netcdf2ascii(self):
> #------netcdf2ascii------------------------
> #Loop through daily netcdf folders for the season
>
> iofs = {'filelist': os.path.join(self.curdir.get(),
> 'netcdf_filelist.txt'),
> 'runoutput': os.path.join(self.curdir.get(),
> 'dataread_runoutput.txt'),
> 'aout': os.path.join(self.curdir.get(), 'a.out')}
>
> for io in iofs:
> if os.path.isfile(iofs[io]):
> os.remove(iofs[io])
>
> # call fortran
> f95n = "f95 -O $F90FLAGS -B$NETCDF_ROOT" \
> +"dataread_batch.f95 " \
> +"-L /usr/local/lib -l netcdf " \
> +"$LINK_F90 "
>
> os.system(f95n)
>
> //--snip--//
> *
> and the dataread_batch.95 code:
> *
> PROGRAM AWESOME
> USE netcdf
> IMPLICIT NONE
>
> //--snip--//
>
> *I get these errors:*
>
> USE netcdf
> ^
> "dataread_batch.f95", Line = 13, Column = 7: ERROR: "NETCDF" is specified
> as the module name on a USE statement, but the compiler cannot find it.
>
> status = nf90_open(path=TRIM(inpath)//'
>
> /'//TRIM(ncfilename),mode=nf90_nowrite,ncid=ncid)
>
> ^
>
> "dataread_batch.f95", Line = 86, Column = 16: ERROR: IMPLICIT NONE is
> specified in the local scope, therefore an explicit type must be specified
> for function "NF90_OPEN".
>
> ^
> "dataread_batch.f95", Line = 86, Column = 30: ERROR: An actual argument
> keyword is being used when an explicit interface is not known.
>
> ^
> "dataread_batch.f95", Line = 86, Column = 71: ERROR: An actual argument
> keyword is being used when an explicit interface is not known.
>
> ^
> "dataread_batch.f95", Line = 86, Column = 72: ERROR: IMPLICIT NONE is
> specified in the local scope, therefore an explicit type must be specified
> for data object "NF90_NOWRITE".
>
> ^
> "dataread_batch.f95", Line = 86, Column = 89: ERROR: An actual argument
> keyword is being used when an explicit interface is not known.
>
> if (status /= nf90_noerr) WRITE(6,*)'open error = ',
> TRIM(nf90_strerror(status))
>
> ^
> "dataread_batch.f95", Line = 87, Column = 21: ERROR: IMPLICIT NONE is
> specified in the local scope, therefore an explicit type must be specified
> for data object "NF90_NOERR".
>
> ^
> "dataread_batch.f95", Line = 87, Column = 65: ERROR: IMPLICIT NONE is
> specified in the local scope, therefore an explicit type must be specified
> for function "NF90_STRERROR".
>
> status = nf90_inq_dimid(ncid, "scanR", scanR_ID)
> ^
> "dataread_batch.f95", Line = 90, Column = 16: ERROR: IMPLICIT NONE is
> specified in the local scope, therefore an explicit type must be specified
> for function "NF90_INQ_DIMID".
>
> status = nf90_inquire_dimension(ncid, scanR_ID, len = scanR)
> ^
> "dataread_batch.f95", Line = 98, Column = 16: ERROR: IMPLICIT NONE is
> specified in the local scope, therefore an explicit type must be specified
> for function "NF90_INQUIRE_DIMENSION".
> ^
> "dataread_batch.f95", Line = 98, Column = 59: ERROR: An actual argument
> keyword is being used when an explicit interface is not known.
>
> status = nf90_inquire_dimension(ncid, gateR_ID, len = gateR)
> ^
> "dataread_batch.f95", Line = 100, Column = 59: ERROR: An actual argument
> keyword is being used when an explicit interface is not known.
>
> status = nf90_inquire_dimension(ncid, radR_ID, len = radialR)
> ^
> "dataread_batch.f95", Line = 102, Column = 58: ERROR: An actual argument
> keyword is being used when an explicit interface is not known.
>
> status = nf90_inq_varid(ncid, "Reflectivity",reflect_ID)
> ^
> "dataread_batch.f95", Line = 110, Column = 16: ERROR: IMPLICIT NONE is
> specified in the local scope, therefore an explicit type must be specified
> for function "NF90_INQ_VARID".
>
> status = nf90_get_att(ncid, nf90_global, "time_coverage_start",
> baseT)
>
> ^
> "dataread_batch.f95", Line = 122, Column = 16: ERROR: IMPLICIT NONE is
> specified in the local scope, therefore an explicit type must be specified
> for function "NF90_GET_ATT".
>
> ^
> "dataread_batch.f95", Line = 122, Column = 35: ERROR: IMPLICIT NONE is
> specified in the local scope, therefore an explicit type must be specified
> for data object "NF90_GLOBAL".
>
> status = nf90_get_var(ncid, reflect_Id, ref)
> ^
> "dataread_batch.f95", Line = 126, Column = 16: ERROR: IMPLICIT NONE is
> specified in the local scope, therefore an explicit type must be specified
> for function "NF90_GET_VAR".
>
> status = nf90_close(ncid)
> ^
> "dataread_batch.f95", Line = 262, Column = 16: ERROR: IMPLICIT NONE is
> specified in the local scope, therefore an explicit type must be specified
> for function "NF90_CLOSE".
>
> f90comp: 276 SOURCE LINES
> f90comp: 18 ERRORS, 0 WARNINGS, 0 OTHER MESSAGES, 0 ANSI
> /home/woodcreeper/birdprog/Data/DOX/ascii/2008/20080820
> sh: ./a.out: not found
> Exception in Tkinter callback
> Traceback (most recent call last):
> File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 1413, in __call__
> return self.func(*args)
> File "BIRDS_gui.py", line 344, in output
> a= self.legacycallback()
> File "BIRDS_gui.py", line 356, in legacycallback
> i.legacy_netcdf2ascii(self)
> File "/home/woodcreeper/birdprog/input_class.py", line 87, in
> legacy_netcdf2ascii
> os.chmod(iofs['runoutput'], 0775)
> OSError: [Errno 2] No such file or directory:
> '/home/woodcreeper/birdprog/dataread_runoutput.txt'
>
> -----
>
> *I have the correct paths pointing to the netcdf.mod file- so that
> shouldn't be a problem. I'm wondering, though, where I can tell if the
> netcdf.mod file was compiled correctly by viewing its contents.
> Here is a bit of it:
> *
> ------------------
>
> G95 module created on Thu Apr 28 15:41:30 2011 from netcdf4.f90
> If you edit this, you'll get what you deserve.
> module-version 9
> (() () () () () () () () () () () () () () () () () () () () ())
>
> ()
>
> (('nf90_def_var' 2 3 4) ('nf90_get_att' 5 6 7 8 9 10 11 12 13 14 15 16
> 17) ('nf90_get_var' 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
> 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
> 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73) ('nf90_put_att' 74 75 76
> 77 78 79 80 81 82 83 84 85 86) ('nf90_put_var' 87 88 89 90 91 92 93 94
> 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
> 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
> 132 133 134 135 136 137 138 139 140 141 142))
>
> ()
>
> ()
>
> (143 'nf90_64bit_offset' 'netcdf' 1 ((PARAMETER UNKNOWN UNKNOWN UNKNOWN
> NONE NONE) (INTEGER 4) 0 0 () (CONSTANT (INTEGER 4) 0 '512') () () '' ()
> ())
> 144 'nf90_abort' 'netcdf' 1 ((PROCEDURE UNKNOWN MODULE-PROC DECL NONE
> NONE FUNCTION) (INTEGER 4) 0 0 (145 NONE) () () '' () ())
> 146 'nf90_align_chunk' 'netcdf' 1 ((PARAMETER UNKNOWN UNKNOWN UNKNOWN
> NONE NONE) (INTEGER 4) 0 0 () (CONSTANT (INTEGER 4) 0 '-1') () () '' ()
> ())
> 147 'nf90_byte' 'netcdf' 1 ((PARAMETER UNKNOWN UNKNOWN UNKNOWN NONE NONE)
> (INTEGER 4) 0 0 () (CONSTANT (INTEGER 4) 0 '1') () () '' () ())
> 148 'nf90_char' 'netcdf' 1 ((PARAMETER UNKNOWN UNKNOWN UNKNOWN NONE NONE)
> (INTEGER 4) 0 0 () (CONSTANT (INTEGER 4) 0 '2') () () '' () ())
>
> -------------------------------
>
>
>