Make.com using gfortran

74 views
Skip to first unread message

abdossamad rahnemania

unread,
Jun 20, 2016, 9:45:30 AM6/20/16
to HYCOM.org Forum
hi hycom expert
i am new player in hycom and follow the hycom quick start's guide by alexndra bozec
when i run Make.com in hycom/ATLb2.00/src_2.2.18_22_one error occur as follow:
ARCH =  gfortran   TYPE =  one   is not supported
my machine is gfortran
in hycom/ATLb2.00/config there is no gfortran_one
can i create gfortran_one
is gfortran sufficient for run hycom?
thanks in advance

Stephen Woodbridge

unread,
Jun 20, 2016, 9:51:21 AM6/20/16
to fo...@hycom.org
I'm using Ubuntu 14.04 and gfortran. Here is a patch file that I applied
to a clean copy of the source code so I could compile on that.

https://gist.github.com/woodbri/2b29a46cc5c931b21122d265779eab53

Maybe it will help you also.

-Steve

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

abdossamad rahnemania

unread,
Jun 20, 2016, 10:18:09 AM6/20/16
to HYCOM.org Forum

my os is centos 7

Alan

unread,
Jun 20, 2016, 10:22:49 AM6/20/16
to HYCOM.org Forum
Use ARCH = intelGF

Note that ../config/IntelGF_one is relatively old, and we now use:

FCFFLAGS      = -fPIC -fno-second-underscore -O2 -march=native -mavx -m64 -mcmodel=medium -fdefault-real-8 -fdefault-double-8

I have attached the intelGF config files with .txt added to the filenames.

Alan.
intelGF_one.txt
intelGF_omp.txt
intelGF_mpi.txt

abdossamad rahnemania

unread,
Jun 20, 2016, 11:19:46 AM6/20/16
to HYCOM.org Forum

thanks
after i use intelGF_one and run Make.com the output is :
cd /home/samad/hycom/ATLb2.00/src_2.2.18_22_one
setenv ARCH intelGF
setenv TYPE `echo $cwd | awk -F"_" '{print $NF}'`
awk -F_ {print $NF}
echo /home/samad/hycom/ATLb2.00/src_2.2.18_22_one
if ( ! -e ../config/intelGF_one ) then
if ( one == esmf ) then
make hycom ARCH=intelGF TYPE=one
gfortran -DIA32 -DREAL8 -DENDIAN_IO -DTIMER -fPIC -fno-second-underscore -O2 -fno-aggressive-loop-optimizations -march=native -m64 -mcmodel=medium -fdefault-real-8 -fdefault-double-8 -c mod_dimensions.F
gfortran -DIA32 -DREAL8 -DENDIAN_IO -DTIMER -fPIC -fno-second-underscore -O2 -fno-aggressive-loop-optimizations -march=native -m64 -mcmodel=medium -fdefault-real-8 -fdefault-double-8 -c mod_xc.F
gfortran -DIA32 -DREAL8 -DENDIAN_IO -DTIMER -fPIC -fno-second-underscore -O2 -fno-aggressive-loop-optimizations -march=native -m64 -mcmodel=medium -fdefault-real-8 -fdefault-double-8 -c mod_za.F
gfortran -DIA32 -DREAL8 -DENDIAN_IO -DTIMER -fPIC -fno-second-underscore -O2 -fno-aggressive-loop-optimizations -march=native -m64 -mcmodel=medium -fdefault-real-8 -fdefault-double-8 -c mod_pipe.F
gfortran -DIA32 -DREAL8 -DENDIAN_IO -DTIMER -fPIC -fno-second-underscore -O2 -fno-aggressive-loop-optimizations -march=native -m64 -mcmodel=medium -fdefault-real-8 -fdefault-double-8 -c mod_incupd.F
gfortran -DIA32 -DREAL8 -DENDIAN_IO -DTIMER -fPIC -fno-second-underscore -O2 -fno-aggressive-loop-optimizations -march=native -m64 -mcmodel=medium -fdefault-real-8 -fdefault-double-8 -c mod_floats.F
mod_floats.F:2571.23:

        iseed1 = iabs (iseed1)                                         
                       1
Error: Type of argument 'a' in call to 'iabs' at (1) should be INTEGER(4), not INTEGER(2)
mod_floats.F:2578.23:

        iseed2 = iabs (iseed1)                                         
                       1
Error: Type of argument 'a' in call to 'iabs' at (1) should be INTEGER(4), not INTEGER(2)
mod_floats.F:2592.30:

        rtab(ic,1) =  udev_rt(iseed1)                                  
                              1
Warning: Type mismatch in argument 'iseed' at (1); passed INTEGER(2) to INTEGER(4)
mod_floats.F:2593.30:

        rtab(ic,2) = grand_rt(iseed2)                                  
                              1
Warning: Type mismatch in argument 'idum' at (1); passed INTEGER(2) to INTEGER(4)
make: *** [mod_floats.o] Error 1
if ( intelGF == Asp5 || intelGF == sp5 ) then




how to decoding some error?
thanks in advnace

Alan

unread,
Jun 20, 2016, 1:17:23 PM6/20/16
to HYCOM.org Forum
In mod_floats.F, change all occurances of iabs to abs, of udev_rt(iseed1) to udev_rt(int(iseed1)), and of grand_rt(iseed2) to grand_rt(int(iseed2))

Alan.
Reply all
Reply to author
Forward
0 new messages