Opened 6 years ago

Closed 6 years ago

Last modified 3 years ago

#1349 closed Bug (fixed)

Bug in limrst.F90

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

Description

In case of constant ice salinity, this passage is missing in limrst.F90 in order to do a restart :

DO jl = 1, jpl

CALL lbc_lnk( smv_i(:,:,jl) , 'T' ,  1. )
CALL lbc_lnk( v_i  (:,:,jl) , 'T' ,  1. )
CALL lbc_lnk( a_i  (:,:,jl) , 'T' ,  1. )

END DO

! we first with bulk ice salinity
DO jl = 1, jpl

DO jj = 1, jpj

DO ji = 1, jpi

zindb          = MAX( 0.0 , SIGN( 1.0 , v_i(ji,jj,jl) - 1.0e-4 ) )
sm_i(ji,jj,jl) = smv_i(ji,jj,jl) / MAX(v_i(ji,jj,jl),1.0e-6) * zindb
ht_i(ji,jj,jl) = v_i(ji,jj,jl)   / MAX(a_i(ji,jj,jl),1.0e-6) * zindb

END DO

END DO

END DO

DO jk = 1, nlay_i

s_i(:,:,jk,:) = sm_i(:,:,:)

END DO

Commit History (0)

(No commits)

Change History (3)

comment:1 Changed 6 years ago by clem

Ok, in the case of constant salinity in the ice (num_sal=1, and only in that case), it seems necessary to redefine sm_i and s_i = bulk_sal in limrst.F90, otherwise the restart crashes.
I am not sure to understand why but it might be due to an inconsistency in the main code when num_sal=1. The fix will be included in the next large commit of LIM3 (coming soon). A quick fix is to add those lines at the end of lim_rst_read:

IF( num_sal == 1 ) THEN

DO jl = 1, jpl

sm_i(:,:,jl) = bulk_sal
DO jk = 1, nlay_i

s_i(:,:,jk,jl) = bulk_sal

END DO

END DO

ENDIF

comment:2 Changed 6 years ago by clem

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

comment:3 Changed 3 years ago by nemo

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