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.
#1690 (unallocated array hit when using bdy + LIM2) – NEMO

Opened 8 years ago

Closed 5 years ago

#1690 closed Bug (wontfix)

unallocated array hit when using bdy + LIM2

Reported by: molines Owned by: vancop
Priority: low Milestone: Unscheduled
Component: BDY Version:
Severity: minor Keywords: LIM2,
Cc: vancop

Description (last modified by nicolasmartin)

Description

  • nemo_3_6_STABLE : key_bdy, key_lim2
  • run time error :
    forrtl: severe (408): fort: (2): 
    Subscript #2 of the array FRLD has value 15 which
     is greater than the upper bound of -1  [ bdydta.f90 l 219 ] 
    

Analysis

  • when using nn_ice_lim_dta = 0 [ debuging purpose ], in bdy_dta array frld(:,:) is used, but not already allocated.
  • In step.F90, the actual sequence is :
    ...
    108       IF( lk_bdy     )  THEN
    109          IF( ln_apr_dyn) CALL sbc_apr( kstp )   ! bdy_dta needs ssh_ib 
    110                          CALL bdy_dta ( kstp, time_offset=+1 )   ! update dynamic & tracer data at open boundaries
    111       ENDIF
    112                          CALL sbc    ( kstp )         ! Sea Boundary Condition (including sea-ice)
    113                                                       ! clem: moved here for bdy ice purpose
    114       !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    
  • Note Clem's comment ! : in fact, frld is allocated in first call to sbc (and other lim arrays too ).
    • in the actual step.F90 call to sbc is done after call to bdy_dta, hence the problem.

Recommendation

  • understand why this call was moved here by Clem ?
  • for LIM2, it works if the call to sbc is done before the call to bdy_dta

Commit History (0)

(No commits)

Change History (10)

comment:1 Changed 8 years ago by molines

Comments

  • In fact the proposed fix only work when using initial data for the bdy_ice.
    • Moving sbc call before bdy_dta when using data in files produce an error, because a call to bdy_ice_lim is done, using unitialized data for frld, hicif and hsnif (with eventual random high values).
  • Therefore, the good fix will be (probably) to move allocation of lim2 array out of the sbc routine.
    • ==> still to be done !

comment:2 Changed 8 years ago by nicolasmartin

  • Keywords 2015 nemo_v3_6* added

comment:3 Changed 7 years ago by clevy

  • Owner changed from nemo to vancop

comment:4 Changed 7 years ago by clevy

  • Cc vancop added
  • Status changed from new to assigned

comment:5 Changed 7 years ago by nicolasmartin

  • Description modified (diff)

comment:6 Changed 6 years ago by nemo

  • Keywords release-3.6* added; nemo_v3_6* removed

comment:7 Changed 6 years ago by nemo

  • Keywords release-3.6* removed

comment:8 Changed 6 years ago by nicolasmartin

  • Keywords LIM2 added; 2015 removed
  • Milestone changed from 2015 nemo_v3_6_STABLE to Unscheduled
  • Severity set to minor

comment:9 Changed 5 years ago by jchanut

  • Component changed from OCE to BDY

comment:10 Changed 5 years ago by vancop

  • Resolution set to wontfix
  • Status changed from assigned to closed
  • Version v3.6 deleted
Note: See TracTickets for help on using tickets.