New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
#1416 (ORCA2_LIM3 does not compile on Met Office IBM) – NEMO

Opened 9 years ago

Closed 9 years ago

Last modified 6 years ago

#1416 closed Bug (fixed)

ORCA2_LIM3 does not compile on Met Office IBM

Reported by: timgraham Owned by: nemo
Priority: normal Milestone:
Component: LIM3 Version: trunk
Severity: Keywords: LIM*
Cc:

Description

There are some problems in the LIM3 code meaning it won't compile on our system at r4879 (i.e. the revision being used for the merge).

The first bug is in NEMOGCM/NEMO/LIM_SRC_3/limistate.F90. At line 302 the extra commas in the write statements cause a syntax error:

      IF(lwp) THEN
	         WRITE(numout,*), ' ztests : ', ztests
	         IF ( ztests .NE. 4 ) THEN
	            WRITE(numout,*)
	            WRITE(numout,*), ' !!!! ALERT                  !!! '
	            WRITE(numout,*), ' !!!! Something is wrong in the LIM3 initialization procedure '
	            WRITE(numout,*)
	            WRITE(numout,*), ' *** ztests is not equal to 4 '
	            WRITE(numout,*), ' *** ztest_i (i=1,4) = ', ztest_1, ztest_2, ztest_3, ztest_4
	            WRITE(numout,*), ' zat_i_ini : ', zat_i_ini(i_hemis)
	            WRITE(numout,*), ' zht_i_ini : ', zht_i_ini(i_hemis)
	         ENDIF ! ztests .NE. 4
	ENDIF

After fixing this error I've come across the following error:
ORCA2LIM3_LONG/BLD/ppsrc/nemo/limdiahsb.f90", line 89.40: 1513-041 (S) Arguments of the wrong type were specified for the INTRINSIC procedure "sign".

I'm investigating this now.

Commit History (3)

ChangesetAuthorTimeChangeLog
4911timgraham2014-11-28T10:23:19+01:00

Bug fix so the ORCA2_LIM3 will compile with IBM xlf compiler (see ticket #1416)

4909timgraham2014-11-28T10:20:18+01:00

Bug fix so that ORCA2_LIM3 will compile qith IBM XLF compiler (see ticket #1416)

4908timgraham2014-11-28T09:53:28+01:00

Bug fixes in LIM3 (ticket #1416)

Change History (4)

comment:1 Changed 9 years ago by timgraham

The problem arises because the arguments to SIGN have different types. At line 79,

     zinda = MAX( 0.d0 , SIGN( 1.d0 , glob_sum( area(:,:) * tms(:,:) ) - epsi06 ) )

the first argument is double precision but the second is not. The same is true for the MAX function which also fails.

I can get this to compile by changing 1.d0 and 0.d0 to 1.0 and 0.0 but is this an acceptable fix? Any suggestions welcome.

comment:2 Changed 9 years ago by clem

It seems that SIGN is not treated the same way depending on the machine (ok on IBM ifort compiler). Your fix seems ok to me, but Gurvan will confirm (?).

comment:3 Changed 9 years ago by timgraham

  • Resolution set to fixed
  • Status changed from new to closed

I've made a slight improvement to the fix above by changing the line to

zinda = MAX( 0._wp , SIGN( 1._wp , glob_sum( area(:,:) * tms(:,:) ) - epsi06 ) )

in r4908.

We will need to pick up these changes in our branches next week if we want to test ORCA2_LIM3 on the Met Office IBM.

comment:4 Changed 6 years ago by nemo

  • Keywords LIM* added
Note: See TracTickets for help on using tickets.