Gorgan,
I believe that the statement "use netcdf" is misplaced. It should
be directly below the statement "subroutine write_3d_field", and
*not* below the module statement. Try that.
Dave Allured
CU/CIRES Climate Diagnostics Center (CDC)
http://cires.colorado.edu/science/centers/cdc/
NOAA/ESRL/PSD, Climate Analysis Branch (CAB)
http://www.cdc.noaa.gov/
Goran Georgievski wrote:
Hello,
I have some read/write modules written in free form fortran (Fortran 90)
and I have some fortran77 code that writes standard fortran binary
files. However, I would prefer to have output in netcdf format. The
question is if I can compile and link, fortran90 netcdf write module
with the fortran 77 code. The platform that I am working on is Linux
with Intel Fortran Compiler 8.1 and netcdf library version 3.6.0-p1.
ifort compiles the write netcdf module (f90 code), and it compiles the
main code (f77) if I comment the lines that calls netcdf write
subroutines. When I am trying to compile including these lines, ifort
complains that it cannot find the module for writing netcdf. (ERROR in
opening the Library module file [WRITE_3D_NETCDF_FIELD])
Below are the headers of my netcdf write module and headers of main code
that calls subroutine to write netcdf field, and the makefile that
compiles everything. If somebody could tell me what I am doing wrong and
point me to the solution, I would be the most thankful.
Goran
----netcdf write module f90 code, write_netcdf_3d_field.f90----
module write_netcdf_3d_field
use netcdf
implicit none
contains
subroutine write_3d_field(nx,x_axis,ny,y_axis,nz,z_axis,field1,
netcdf_outfile)
...
end subroutine write_3d_field
end module write_netcdf_3d_field
----main program f77 code, m_buildCLM201regionen_eval_oro.f----
PROGRAM m_buildCLM201regionen
USE write_netcdf_3d_field
IMPLICIT NONE
....
CALL write_3d_field(nxg,x_lon,nyg,y_lat,nzg,z_lev,mask,
>netcdf_file)
STOP
END
---- makefile ----
#
DEVDIR = /home/goran/clm/regiomask
REMDIR = /home/goran/clm/regiomask
EXECUTABLE = buildCLM201regionen_eval_oro.exe
CF = ifort
FFLAGS = -O3
NETCDFLIB = -L/usr/local/lib
NETCDFINC = -I/usr/local/include
#
#Objektdateien#########################################################
#
OBJFILES = m_buildCLM201regionen_eval_oro.o \
r_getcoord.o r_regiomask.o t_createmask.o w_regiomask.o \
hnioerr.o write_netcdf_3d_field.o
#
$(EXECUTABLE): $(OBJFILES)
$(CF) -o $(EXECUTABLE) $(OBJFILES) $(NETCDFLIB) -lnetcdf
##
m_buildCLM201regionen_eval_oro.o:
$(REMDIR)/m_buildCLM201regionen_eval_oro.f ($(CF) $(FFLAGS) -c
$(REMDIR)/m_buildCLM201regionen_eval_oro.f
r_getcoord.o: $(DEVDIR)/r_getcoord.f
($(CF) $(FFLAGS) -c $(DEVDIR)/r_getcoord.f)
r_regiomask.o: $(DEVDIR)/r_regiomask.f
($(CF) $(FFLAGS) -c $(DEVDIR)/r_regiomask.f)
t_createmask.o: $(REMDIR)/t_createmask.f
($(CF) $(FFLAGS) -c $(REMDIR)/t_createmask.f)
w_regiomask.o: $(DEVDIR)/w_regiomask.f
($(CF) $(FFLAGS) -c $(DEVDIR)/w_regiomask.f)
hnioerr.o : $(DEVDIR)/hnioerr.f90
($(CF) $(FFLAGS) -c $(DEVDIR)/hnioerr.f90 $(NETCDFINC))
write_netcdf_3d_field.o : $(DEVDIR)/write_netcdf_3d_field.f90
($(CF) $(FFLAGS) -c
$(DEVDIR)/write_netcdf_3d_field.f90 $(NETCDFINC))
_______________________________________________
netcdfgroup mailing list
netcdfgroup@xxxxxxxxxxxxxxxx
For list information or to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/