Ocean Modeling Discussion

ROMS/TOMS

Search for:
It is currently Fri Jul 19, 2019 2:47 am




Post new topic Reply to topic  [ 6 posts ] 

All times are UTC

Author Message
PostPosted: Wed Apr 26, 2017 1:55 am 
Offline

Joined: Tue Aug 28, 2007 8:31 pm
Posts: 27
Location: CICESE
Hello,

I guess someone in this group has experienced this same problem. I'm compiling the model's last version with gfortran in Centos and I get this error (I include only the last part):

cd /home/ROMS_MODEL/RUN_ROMS/Build; /usr/bin/gfortran -c -frepack-arrays -fopenmp -O3 -ffast-math mod_eclight.f90
dateclock.f90:137.8:

DateNumber=Rclock.Dnumber+CurrentTime ! fractional days
1
Error: Unclassifiable statement at (1)
dateclock.f90:154.8:

DateNumber=Rclock.Dnumber+CurrentTime ! fractional days
1
Error: Unclassifiable statement at (1)
dateclock.f90:171.8:

DateNumber=Rclock.Dnumber+CurrentTime
1
Error: Unclassifiable statement at (1)
dateclock.f90:211.33:

IF (CurrentTime.ge.Rclock.Dnumber) THEN
1
Error: Syntax error in IF-expression at (1)
dateclock.f90:214.25:

jday=INT(Rclock.Dnumber+CurrentTime) ! Truncated Julian Day
1
Error: Syntax error in argument list at (1)
dateclock.f90:241.9:

END IF
1
Error: Expecting END SUBROUTINE statement at (1)
dateclock.f90:816.6:

Rclock.yday =yday
1
Error: Unclassifiable statement at (1)
dateclock.f90:817.6:

Rclock.year =iyear
1
Error: Unclassifiable statement at (1)
dateclock.f90:818.6:

Rclock.month =month
1
Error: Unclassifiable statement at (1)
dateclock.f90:819.6:

Rclock.day =iday
1
Error: Unclassifiable statement at (1)
dateclock.f90:820.6:

Rclock.hour =ihour
1
Error: Unclassifiable statement at (1)
dateclock.f90:821.6:

Rclock.minutes =minute
1
Error: Unclassifiable statement at (1)
dateclock.f90:822.6:

Rclock.seconds =isec
1
Error: Unclassifiable statement at (1)
dateclock.f90:823.6:

Rclock.base =r_time
1
Error: Unclassifiable statement at (1)
dateclock.f90:824.6:

Rclock.Dnumber =DateNumber(1)
1
Error: Unclassifiable statement at (1)
dateclock.f90:825.6:

Rclock.Snumber =DateNumber(2)
1
Error: Unclassifiable statement at (1)
dateclock.f90:826.6:

Rclock.string =string
1
Error: Unclassifiable statement at (1)
dateclock.f90:827.6:

Rclock.calendar=TRIM(calendar)
1
Error: Unclassifiable statement at (1)
dateclock.f90:888.6:

ClockTime=DateNumber(2)-Rclock.Snumber
1
Error: Unclassifiable statement at (1)
make: *** [/home/ROMS_MODEL/RUN_ROMS/Build/dateclock.o] Error 1
make: *** Waiting for unfinished jobs....


Any thought?
Thanks,

DAVID


Top
 Profile  
Reply with quote  
PostPosted: Wed Apr 26, 2017 5:06 am 
Offline
User avatar

Joined: Wed Jul 02, 2003 5:29 pm
Posts: 3633
Location: IMS/UAF, USA
Right you are - it fails with gfortran, compiles with ifort. Reading the errors, I don't understand why it doesn't compile.


Top
 Profile  
Reply with quote  
PostPosted: Wed Apr 26, 2017 10:42 am 
Offline

Joined: Fri Nov 19, 2010 2:33 pm
Posts: 52
Location: University of Aegean
Greetings

FYI I am also experiencing the same
problem after updating to version 841.
I am using gfortran 4.9.2 on Debian.

Giannis


Top
 Profile  
Reply with quote  
PostPosted: Wed Apr 26, 2017 6:17 pm 
Offline
User avatar

Joined: Wed Jul 02, 2003 5:29 pm
Posts: 3633
Location: IMS/UAF, USA
The correct syntax for structure components in Fortran is:
Code:
Rclock%Dnumber
not
Code:
Rclock.Dnumber
. Fixing that in dateclock.F allows it to compile, only to fail on:
Code:
diag.f90:355.55:

            WRITE (stdout,30) MOD(iic(ng)-1,10000000000), time_code(ng),&
                                                       1
Error: Integer too big for its kind at (1). This check can be disabled with the option -fno-range-check
make: *** [Build_up/diag.o] Error 1
It compiles with one less zero there.

There are other Rclock.xx things in def_*.F.


Top
 Profile  
Reply with quote  
PostPosted: Wed Apr 26, 2017 8:22 pm 
Offline
Site Admin
User avatar

Joined: Wed Feb 26, 2003 4:41 pm
Posts: 1078
Location: IMCS, Rutgers University
Yes, thank you for reporting this one. The weird thing is that I ran and debugged (TotalView) this version several times with the ifort compiler and didn't report any errors or warnings. It seems to be happy with the dot syntax. Of course, the correct syntax in Fortran is to use Rclock %. This happens for coding some of the functions in module dateclock.F in both Fortran and Matlab. The dot syntax is correct in Matlab.

Please update your code. Check the following :arrow: trak ticket for details.


Top
 Profile  
Reply with quote  
PostPosted: Wed Apr 26, 2017 10:16 pm 
Offline

Joined: Tue Aug 28, 2007 8:31 pm
Posts: 27
Location: CICESE
Thanks for your comments, guys. I replaced the newest version by the one I downloaded by the end of the last year and it's now working. I'll update it soon.
Regards,

David


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group