Index: /NEMO/branches/2020/ticket2377/cfgs/SHARED/namelist_ref
===================================================================
--- /NEMO/branches/2020/ticket2377/cfgs/SHARED/namelist_ref	(revision 13093)
+++ /NEMO/branches/2020/ticket2377/cfgs/SHARED/namelist_ref	(revision 13094)
@@ -407,4 +407,9 @@
    !           !                         !  (if <0  months)  !   name    !   (logical) !  (T/F) ! 'monthly' !                  ! pairing  !    filename   !
    sn_ice      ='ice_cover_clim.nc'      ,        -12.       ,'ice_cover',   .true.    , .true.  , 'yearly'  ,   ''            ,   ''     ,   ''
+/
+!-----------------------------------------------------------------------
+&namsbc_fwb    !   freshwater budget adjustment                         (nn_fwb > 0)
+!-----------------------------------------------------------------------
+   rn_fwb0     = 0.0          ! Initial freshwater adjustment flux [kg/m2/s] (nn_fwb = 2)
 /
 !-----------------------------------------------------------------------
Index: /NEMO/branches/2020/ticket2377/src/OCE/SBC/sbcfwb.F90
===================================================================
--- /NEMO/branches/2020/ticket2377/src/OCE/SBC/sbcfwb.F90	(revision 13093)
+++ /NEMO/branches/2020/ticket2377/src/OCE/SBC/sbcfwb.F90	(revision 13094)
@@ -35,4 +35,5 @@
    PUBLIC   sbc_fwb    ! routine called by step
 
+   REAL(wp) ::   rn_fwb0   ! initial freshwater adjustment flux [kg/m2/s] (nn_fwb = 2 only)
    REAL(wp) ::   a_fwb     ! annual domain averaged freshwater budget from the
                            ! previous year
@@ -65,5 +66,5 @@
       INTEGER, INTENT( in ) ::   Kmm      ! ocean time level index
       !
-      INTEGER  ::   inum, ikty, iyear     ! local integers
+      INTEGER  ::   ios, inum, ikty       ! local integers
       REAL(wp) ::   z_fwf, z_fwf_nsrf, zsum_fwf, zsum_erp                ! local scalars
       REAL(wp) ::   zsurf_neg, zsurf_pos, zsurf_tospread, zcoef          !   -      -
@@ -72,7 +73,14 @@
       REAL(wp)   ,DIMENSION(1) ::   z_fwfprv  
       COMPLEX(wp),DIMENSION(1) ::   y_fwfnow  
+      !
+      NAMELIST/namsbc_fwb/rn_fwb0
       !!----------------------------------------------------------------------
       !
       IF( kt == nit000 ) THEN
+         READ( numnam_ref, namsbc_fwb, IOSTAT = ios, ERR = 901 )
+901      IF( ios /= 0 ) CALL ctl_nam( ios, 'namsbc_fwb in reference namelist'     )
+         READ( numnam_cfg, namsbc_fwb, IOSTAT = ios, ERR = 902 )
+902      IF( ios >  0 ) CALL ctl_nam( ios, 'namsbc_fwb in configuration namelist' )
+         IF(lwm) WRITE( numond, namsbc_fwb )
          IF(lwp) THEN
             WRITE(numout,*)
@@ -80,6 +88,11 @@
             WRITE(numout,*) '~~~~~~~'
             IF( kn_fwb == 1 )   WRITE(numout,*) '          instantaneously set to zero'
-            IF( kn_fwb == 2 )   WRITE(numout,*) '          adjusted from previous year budget'
             IF( kn_fwb == 3 )   WRITE(numout,*) '          fwf set to zero and spread out over erp area'
+            IF( kn_fwb == 2 ) THEN
+               WRITE(numout,*) '          adjusted from previous year budget'
+               WRITE(numout,*)
+               WRITE(numout,*) '   Namelist namsbc_fwb'
+               WRITE(numout,*) '      Initial freshwater adjustment flux [kg/m2/s] = ', rn_fwb0
+            END IF
          ENDIF
          !
@@ -113,18 +126,15 @@
       CASE ( 2 )                             !==  fw adjustment based on fw budget at the end of the previous year  ==!
          !
-         IF( kt == nit000 ) THEN                      ! initialisation
-            !                                         ! read the fw adjustment (a_fwb)
-            IF ( ln_rstart .AND. iom_varid( numror, 'a_fwb',   ldstop = .FALSE. ) > 0 ) THEN
+         IF( kt == nit000 ) THEN                                                                    ! initialisation
+            !                                                                                       ! set the fw adjustment (a_fwb)
+            IF ( ln_rstart .AND. iom_varid( numror, 'a_fwb',   ldstop = .FALSE. ) > 0 ) THEN        !    as read from restart file
                IF(lwp) WRITE(numout,*) 'sbc_fwb : reading FW-budget adjustment from restart file'
                CALL iom_get( numror, 'a_fwb',   a_fwb,   ldxios = lrxios )
-            ELSE
-               CALL ctl_opn( inum, 'EMPave_old.dat', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
-               READ ( inum, "(24X,I8,2ES24.16)" ) iyear, a_fwb
-               CLOSE( inum )
+            ELSE                                                                                    !    as specified in namelist
+               a_fwb = rn_fwb0
             END IF
             !
             IF(lwp)WRITE(numout,*)
-            IF(lwp)WRITE(numout,*)'sbc_fwb : year = ',iyear  , ' freshwater budget correction = ', a_fwb
-            IF(lwp)WRITE(numout,*)'          year = ',iyear-1, ' freshwater budget read       = ', a_fwb
+            IF(lwp)WRITE(numout,*)'sbc_fwb : initial freshwater-budget adjustment = ', a_fwb, 'kg/m2/s'
             !
             IF( lwxios ) THEN                         ! Activate output of restart variables
@@ -157,9 +167,5 @@
          END IF
          !
-         IF( kt == nitend .AND. lwm ) THEN            ! save a_fwb value in a file (only one required)
-            CALL ctl_opn( inum, 'EMPave.dat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE., narea )
-            WRITE( inum, "(24X,I8,2ES24.16)" ) nyear, a_fwb
-            CLOSE( inum )
-         ENDIF
+         IF( kt == nitend .AND. lwp ) WRITE(numout,*) 'sbc_fwb : final freshwater-budget adjustment = ', a_fwb, 'kg/m2/s'
          !
       CASE ( 3 )                             !==  global fwf set to zero and spread out over erp area  ==!
