Opened 8 years ago

Closed 7 years ago

#1139 closed Bug (fixed)

fr1_i0 and fr2_i0 not always properly allocated

Reported by: nemo_user Owned by: smasson
Priority: low Milestone:
Component: OCE Version: trunk
Severity: Keywords:
Cc: Branch review:
MP ready?: Task progress:

Description

File/routine : sbccpl.F90/sbc_cpl_init

NEMO crashes when compiled with ifort -check pointers. (LIM2 and coupled mode).

if key_lim2 and key_lim3 are not defined fr1_i0(:,:) and fr2_i0(:,:) are allocated by a call to function sbc_cpl_alloc just after the namelist reading.

When LIM is used, fr*_i0 are allocated by iceini[_2].f90/ice_init[_2]. But fr*_i0 are initialized to default values in sbccpl/sbc_cpl_init before the call of ice_init[_2].

I don't propose a fix, because I'm not sure to fully understand the surface boundary and coupling sequence. Sorry for that.

Olivier

Commit History (2)

ChangesetAuthorTimeChangeLog
4083smasson2013-10-21T12:08:54+02:00

v3_4_STABLE:bugfix in scccpl for sea-ice variable, see #1139

4082smasson2013-10-21T12:05:50+02:00

trunk: bugfix in scccpl for sea-ice vai-riable, see #1139

Change History (2)

comment:1 Changed 7 years ago by clevy

  • Owner changed from NEMO team to smasson

comment:2 Changed 7 years ago by smasson

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

I decided to bypass the bug by moving the initialization of fr1_i0 and fr2_i0 at the end of sbc_cpl_ice_flx. The idea is that :

  • this avoids tricky special cases related to the allocation of these variables
  • if one day we decide to receive the cloud cover to compute them as in sbcblk_clio (see #1165), their computation should be done in sbc_cpl_ice_flx
  • the cpu coast is minor

done in the trunk in r4082, done in v3_4_STABLE in r4083

Note: See TracTickets for help on using tickets.