Index: /NEMO/branches/2019/ENHANCE-02_ISF_nemo/cfgs/SHARED/field_def_nemo-oce.xml
===================================================================
--- /NEMO/branches/2019/ENHANCE-02_ISF_nemo/cfgs/SHARED/field_def_nemo-oce.xml (revision 11907)
+++ /NEMO/branches/2019/ENHANCE-02_ISF_nemo/cfgs/SHARED/field_def_nemo-oce.xml (revision 11908)
@@ -264,7 +264,6 @@
-
-
-
+
+
Index: /NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfcpl.F90
===================================================================
--- /NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfcpl.F90 (revision 11907)
+++ /NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfcpl.F90 (revision 11908)
@@ -61,5 +61,5 @@
! check presence of variable needed for coupling
! iom_varid return 0 if not found
- id = 0
+ id = 1
id = id * iom_varid(numror, 'ssmask', ldstop = .false.)
id = id * iom_varid(numror, 'tmask' , ldstop = .false.)
@@ -145,5 +145,5 @@
!!----------------------------------------------------------------------
!!
- INTEGER :: ji, jj, jd !! loop index
+ INTEGER :: ji, jj, jd, jk !! loop index
INTEGER :: jip1, jim1, jjp1, jjm1
!!
@@ -195,4 +195,12 @@
!
! recompute the vertical scale factor, depth and water thickness
+ IF(lwp) write(numout,*) 'isfcpl_ssh : recompute scale factor from sshn (new wet cell)'
+ IF(lwp) write(numout,*) '~~~~~~~~~~~'
+ DO jk = 1, jpk
+ e3t_n(:,:,jk) = e3t_0(:,:,jk) * ( ht_0(:,:) + sshn(:,:) ) &
+ & / ( ht_0(:,:) + 1._wp - ssmask(:,:) ) * tmask(:,:,jk) &
+ & + e3t_0(:,:,jk) * (1._wp -tmask(:,:,jk))
+ END DO
+ e3t_b(:,:,:) = e3t_n(:,:,:)
CALL dom_vvl_zgr()
!
Index: /NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/TRA/traisf.F90
===================================================================
--- /NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/TRA/traisf.F90 (revision 11907)
+++ /NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/TRA/traisf.F90 (revision 11908)
@@ -68,10 +68,13 @@
! ensure 0 trend due to unconservation of the ice shelf coupling
IF ( ln_isfcpl_cons ) CALL tra_isf_cpl(risfcpl_cons_tsc, tsa)
+
+ IF ( ln_isfdebug ) THEN
+ CALL debug('tra_isf: risfcpl_tsc T',risfcpl_tsc(:,:,1))
+ CALL debug('tra_isf: risfcpl_tsc S',risfcpl_tsc(:,:,2))
+ END IF
!
END IF
!
IF ( ln_isfdebug ) THEN
- CALL debug('tra_isf: risfcpl_tsc T',risfcpl_tsc(:,:,1))
- CALL debug('tra_isf: risfcpl_tsc S',risfcpl_tsc(:,:,2))
CALL debug('tra_isf: tsa T' ,tsa(:,:,:,1))
CALL debug('tra_isf: tsa S' ,tsa(:,:,:,2))
Index: /NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/isfstp.F90
===================================================================
--- /NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/isfstp.F90 (revision 11907)
+++ /NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/isfstp.F90 (revision 11908)
@@ -145,5 +145,5 @@
!---------------------------------------------------------------------------------------------------------------------
! initialisation ice sheet coupling
- IF( ln_isfcpl ) CALL isfcpl_init()
+ IF ( ln_isfcpl ) CALL isfcpl_init()
!
END IF
Index: /NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/sbcfwb.F90
===================================================================
--- /NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/sbcfwb.F90 (revision 11907)
+++ /NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/sbcfwb.F90 (revision 11908)
@@ -84,4 +84,5 @@
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 == 4 ) WRITE(numout,*) ' instantaneously set to zero with heat and salt flux correction (ISOMIP+)'
ENDIF
!
@@ -120,6 +121,8 @@
zcoef = z_fwf * rcp
emp(:,:) = emp(:,:) - z_fwf * tmask(:,:,1) ! (Eq. 34 AD2015)
- qns(:,:) = qns(:,:) + zcoef * ( -1.9 ) * tmask(:,:,1) ! (Eq. 35 AD2015) ! could be sst_m if we don't want any bouyancy fluxes
- sfx(:,:) = sfx(:,:) + z_fwf * ( 33.8 ) * tmask(:,:,1) ! (Eq. 36 AD2015) ! could be sss_m if we don't want any bouyancy fluxes
+ qns(:,:) = qns(:,:) + zcoef * sst_m(:,:) * tmask(:,:,1) ! (Eq. 35 AD2015) ! could be sst_m if we don't want any bouyancy fluxes
+ sfx(:,:) = sfx(:,:) + z_fwf * sss_m(:,:) * tmask(:,:,1) ! (Eq. 36 AD2015) ! could be sss_m if we don't want any bouyancy fluxes
+ !qns(:,:) = qns(:,:) + zcoef * ( -1.9 ) * tmask(:,:,1) ! (Eq. 35 AD2015) ! could be sst_m if we don't want any bouyancy fluxes
+ !sfx(:,:) = sfx(:,:) + z_fwf * ( 33.8 ) * tmask(:,:,1) ! (Eq. 36 AD2015) ! could be sss_m if we don't want any bouyancy fluxes
ENDIF
!