I4dvar compilation error in new version about get_hash.f90

Discussion about tangent linear and adjoint models, variational data assimilation, and other related issues.

Moderators: arango, robertson

Post Reply
Message
Author
MIKESHEN
Posts: 4
Joined: Mon Jan 22, 2018 6:15 pm
Location: Zhejiang University

I4dvar compilation error in new version about get_hash.f90

#1 Post by MIKESHEN »

Hello, i upgrade ROMS to the new version:
run the build_roms_4dvshc.csh file. (gfortran and openmpi)
I have made the libarpack.a and libparpack.a, also have checked my bash.csh .h and .mk files. But still with some trouble like this:
cd /research/home/wuting/test2/Tscompile/Build_roms; /research/home/wuting/software/openmpi-1.6.5/openmpi/bin/mpif90 -c -frepack-arrays -O3 -ffast-math get_hash.f90
get_hash.f90:187.19:

k=IEOR(SHIFTR(k, 1), -306674912_i8b)
1
Error: Function 'shiftr' at (1) has no IMPLICIT type
get_hash.f90:189.14:

k=SHIFTR(k, 1_i8b)
1
Error: Function 'shiftr' at (1) has no IMPLICIT type
get_hash.f90:162.18:

hash=IEOR(SHIFTR(hash, 8_i8b), &
1
Error: Function 'shiftr' at (1) has no IMPLICIT type

By the way, I can't find the ROMS/Utility/get_hash.f90 in the Past version
Any help or suggestion will be highly appreciated.
Attachments
wc13.h
(4.96 KiB) Downloaded 6 times
Linux-gfortran.mk
(11.9 KiB) Downloaded 6 times

User avatar
arango
Site Admin
Posts: 1151
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

Re: I4dvar compilation error in new version about get_hash.f90

#2 Post by arango »

Yes, your Fortran compiler is too old and not supporting updates to the standard. The intrinsic function SHIFTR was introduced more than a decade ago in the Fortran 2008 Standard. What compiler are you using?

It is highly recommended to keep Fortran compilers up-to-date. Models nowadays use Object Oriented Programming (OOP) and libraries need such updates to be efficient.

MIKESHEN
Posts: 4
Joined: Mon Jan 22, 2018 6:15 pm
Location: Zhejiang University

Re: I4dvar compilation error in new version about get_hash.f90

#3 Post by MIKESHEN »

Thanks a lot for your fast answer!
my gfortran compiler version is too old.
Thank you !

Post Reply