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.
#263 (Allocatable arrays in fldread) – NEMO

Opened 16 years ago

Closed 15 years ago

#263 closed Bug (fixed)

Allocatable arrays in fldread

Reported by: charris Owned by: nemo
Priority: normal Milestone:
Component: OCE Version: v3.0
Severity: Keywords:
Cc:

Description

I can't get the vn3 code to compile on our NEC (using sxf90/360). This is mentioned in [1200] and is associated with the ALLOCATABLE nature of fnow and fdta (which the compiler says is a Fortran2003 function). I've tried using -f2003 but this throws up errors elsewhere with calls to lbclnk.

Commit History (0)

(No commits)

Change History (4)

comment:1 follow-up: Changed 16 years ago by rblod

Hi Chris
Thanks for your feedback. One fix could be to replace in fldread the ALLOCATABLE statements for fnow and fdta to POINTER. But I do not totally trust the NEC compiler about the treatment of pointers.
Could enter a bit more into specifics about
-cpp keys
-compilation option

  • error message after adding f2003 option

Rachid

comment:2 Changed 16 years ago by charris

  • Version changed from trunk to v3.0

comment:3 in reply to: ↑ 1 Changed 16 years ago by charris

Hi Rachid,

I've done some more investigations of this. Using "-f2003 nocbind noopt_ieee" as in [1205] (or alternatively making the the POINTER change you suggest) allows the code to compile but it then fails at run-time with a loop-count error in fld_read (regardless of how large loopcnt is set in the compile options).

I've managed to stop the loop-count error by also using "-Wf,-pvctl vwork=stack" in my compile options, so I now have something which compiles and runs OK. However the "noopt_ieee" option seems to slow the libmpp routines down by almost an order of magnitude so I'm just using "-f2003 nocbind" instead.

Anyway, with these options it does compile and run, so I think as far as I am concerned the problem is solved.

Chris

Replying to rblod:

Hi Chris
Thanks for your feedback. One fix could be to replace in fldread the ALLOCATABLE statements for fnow and fdta to POINTER. But I do not totally trust the NEC compiler about the treatment of pointers.
Could enter a bit more into specifics about
-cpp keys
-compilation option

  • error message after adding f2003 option

Rachid

comment:4 Changed 15 years ago by rblod

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.