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.
#1032 (Floating point exceptions in IOM (NetCDF)) – NEMO

Opened 11 years ago

Closed 11 years ago

Last modified 6 years ago

#1032 closed Bug (invalid)

Floating point exceptions in IOM (NetCDF)

Reported by: ufla Owned by: smasson
Priority: low Milestone:
Component: OCE Version: trunk
Severity: Keywords: IOM*
Cc: ufla

Description

While hunting other bugs, we have seen floating point exceptions occur in the iom_g[123]d subroutines, which are interface'd to iom_get. This meant that the code would crash when compiling with ifort plus the fpe0 flag. The actual FPE's occurred further down the call tree, in iom_nf90_get or the NetCDF lib, which seems to have a problem when the data array (pvar) arrives uninitialised.

Even though this might be dependent on the NetCDF implementation, it could be good style (and doesn't harm much) to initialise the pvar arrays in iom_g[123]d since they are intent(out). See the attached patch for suggestion.

Commit History (0)

(No commits)

Attachments (1)

iom.F90.patch (2.5 KB) - added by ufla 11 years ago.
Patch for iom.F90 adding initialisation for pvar in iom_g[123]d

Download all attachments as: .zip

Change History (10)

Changed 11 years ago by ufla

Patch for iom.F90 adding initialisation for pvar in iom_g[123]d

comment:1 Changed 11 years ago by clevy

  • Owner changed from NEMO team to smasson

comment:2 Changed 11 years ago by smasson

Uwe,

Our "philosophy" is to avoid any initialization that is not needed. We had bad experiences with "harmless" initializations that were in fact hiding problems. pvar should be completely initialized by iom_get_123d. If it is not the case, we have a bug and we must find it.

I don't really understand your problem. As far as I understand, it looks that nf90_get_var from your NetCDF library is not accepting non-initialized arrays? But this argument is declared as an intent(out) in nf90_get_var, so its initial values should not have any impact? If it is the case, I would say the problem is more coming from your netcvdf library than from NEMO, no?

Which version are you using? What is the revision number of your iom.F90 and lib_mpp.F90?

comment:3 Changed 11 years ago by smasson

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

comment:4 Changed 6 years ago by nemo

  • Keywords IOM* added; IOM removed

comment:5 Changed 6 years ago by nemo

  • Keywords Floating exceptions in point added

comment:6 Changed 6 years ago by nemo

  • Keywords point removed

comment:7 Changed 6 years ago by nemo

  • Keywords in removed

comment:8 Changed 6 years ago by nemo

  • Keywords exceptions removed

comment:9 Changed 6 years ago by nemo

  • Keywords Floating removed
Note: See TracTickets for help on using tickets.