- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This does not need to be an error in the makefile itself. The message simply means that whatever actions are to be taken in the building of the target "ibisnetcdf" have already been taken, so nothing needs to be done anymore.
If you think that is not correct, you might do:
make clean
and then:
make
or
make ibisnetcdf
The command "make clean" is meant (at least for makefiles that follow the ordinary conventions) to remove all object files, executables and other products, so that the next "make" command starts with a clean slate.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The makefile in Negar's model.zip does not have a make target with the name "ibisnetcdf"; that explains the message "nothing to be done...". Available targets are "ibis", "ibisabs", "clean" and "tardist".
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Actually, I created a blank file named ibisnetcdf, because before making this file I had this error (make: *** No rule to make target 'ibisnetcdf'. Stop). The manual, which I have sent here, has written that for making and running the model I should write make ibisnetcdf and ibisnetcdf ( I have highlighted this part). On the other hand, when I write make and ./ibis in the terminal the model run.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Well, in an somewhat unexpected way, that does explain the problem ;). make sees a file called "ibisnetcdf", so the same name as the target you gave it to build. There are no rules in the makefile to actually build it, so make concludes that there is nothing to be done.
What you need to do is add a target "ibisnetcdf" in the makefile itself. I saw two different targets in the existing makefile, with stat.o and stat-abs.o as the only difference (unless I overlooked something). The easiest way is to copy those lines and adjust the target name and the name of the output file from one of the two.
I do not know what should be different in the list of object files, but I guess you should know. (This is all based on the general workflow with make, not on any knowledge of the software you are working with)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Negar, the IBIS document that you attached to your post contains the instruction "The executable will be named 'ibisnetcdf'." This, however, is inconsistent with the makefile in your model.zip, which names the executable file as "ibis", not "ibisnetcdf".
Your artifice of creating a blank file with the same name as the executable is as bad as the old practice of "shooting oneself in the foot" or hacking off one's limb to "cure" an itch.
This project is simple enough that you can compile and link without using make and a makefile. In the directory containing the source files, remove or move the unneeded file io-absoft.f, and compile using the command:
gfortran -ffixed-line-length-0 *.f -lnetcdff -o ibis
Then you can run the executable:
./ibis
I built the program using Gfortran 9.3 under Cygwin-64 inside Windows 10, and the program output was:
****************************************
* IBIS: Integrated BIosphere Simulator *
* Version 2.6b3 *
* March 2002 *
****************************************
length of this simulation (years) : 10
year to begin using anomalies : 1961
model lon, lat resolution (degrees) : 0.50 0.50
model domain (nlon x nlat) : 720 by 360
number of iterations per day : 24
last year run in this sequence : 1970
RD_PARAM: Error opening parameter file params.can on unit 9
The needed data file params.can was not included in OP's posted file model.zip.
N.B.: As disclosed in the OP's earlier post, this topic is unrelated to the Intel Fortran compiler; she is using Gfortran.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
N.B.: As disclosed in the OP's earlier post, this topic is unrelated to the Intel Fortran compiler; she is using Gfortran. It was actually quite interesting to see the problem and the solution
But:
we can apply the simple principle and assist a fellow human --
No Man Is an Island
No man is an island,
Entire of itself;
Every man is a piece of the continent,
A part of the main.
If a clod be washed away by the sea,
Europe is the less,
As well as if a promontory were:
As well as if a manor of thy friend's
Or of thine own were.
Any man's death diminishes me,
Because I am involved in mankind.
And therefore never send to know for whom the bell tolls;
It tolls for thee.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When I run the model (./ibis), I have seen the following error:
Error in inifile
No such file or directory
Warning in inivar
NetCDF: Not a valid ID
Error in inivar
NetCDF: Not a valid ID
Error in writevar
NetCDF: Not a valid ID
Warning in writevar
No such file or directory
Error in writevar
NetCDF: Not a valid ID
ERROR in wmonthly, temp
Note: The following floating-point exceptions are signalling: IEEE_DIVIDE_BY_ZERO IEEE_UNDERFLOW_FLAG IEEE_DENORMAL
STOP 1
Could anybody help me with this error?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When I run the model (./ibis), I have seen the following error:
Error in inifile
No such file or directory
Warning in inivar
NetCDF: Not a valid ID
Error in inivar
NetCDF: Not a valid ID
Error in writevar
NetCDF: Not a valid ID
Warning in writevar
No such file or directory
Error in writevar
NetCDF: Not a valid ID
ERROR in wmonthly, temp
Note: The following floating-point exceptions are signalling: IEEE_DIVIDE_BY_ZERO IEEE_UNDERFLOW_FLAG IEEE_DENORMAL
STOP 1
Could anybody help me with this error?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
[Note: For some reason, Negar's post of 11 Nov did not appear until today (13 Nov), and she sent me the same message by private mail. Here is a summary of my reply.]
Before running the program, you have to check if some needed sub-directories exist, as explained in READMEnet.txt.
After creating these directories, I built (using gFortran) and ran the program. The output covered problem years 1961 to 1970. Apart from a few warning messages, it appeared to run correctly (as far as I can tell; I do not know anything about the Ibis model).
You can make it easier to diagnose and solve problems (such as directories not being present) by outputting more specific diagnostic messages. For example, you can change line 90 of ies-io.f from
print *, 'Error in inifile'
to
print *, 'Error in inifile 1 ',filen
and add a STOP after this print statement since there is no point in continuing after such a major error.
Similarly, you could add information to the dozens of "Error in infile" messages to help identify which one of those is triggered during a run. You could add a sequence number, such as "Error in infile 1" on line 90, "Error in infile 2" on line 105, and so on, or you could add text of your choice to each instance of "Error in infile".
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page