Changeset 15004 for NEMO/trunk/src
- Timestamp:
- 2021-06-16T12:33:18+02:00 (3 years ago)
- Location:
- NEMO/trunk/src
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/BDY/bdyvol.F90
r12489 r15004 77 77 ! Calculate the cumulate surface Flux z_cflxemp (m3/s) over all the domain 78 78 ! ----------------------------------------------------------------------- 79 IF ( kc == 1 ) z_cflxemp = glob_sum( 'bdyvol', ( emp(:,:) - rnf(:,:) + fwfisf_cav(:,:) +fwfisf_par(:,:) ) * bdytmask(:,:) * e1e2t(:,:) ) / rho079 IF ( kc == 1 ) z_cflxemp = glob_sum( 'bdyvol', ( emp(:,:) - rnf(:,:) - fwfisf_cav(:,:) - fwfisf_par(:,:) ) * bdytmask(:,:) * e1e2t(:,:) ) / rho0 80 80 81 81 ! Compute bdy surface each cycle if non linear free surface -
NEMO/trunk/src/OCE/DIA/diahsb.F90
r14072 r15004 93 93 ! 1 - Trends due to forcing ! 94 94 ! ------------------------- ! 95 z_frc_trd_v = r1_rho0 * glob_sum( 'diahsb', - ( emp(:,:) - rnf(:,:) + fwfisf_cav(:,:) +fwfisf_par(:,:) ) * surf(:,:) ) ! volume fluxes95 z_frc_trd_v = r1_rho0 * glob_sum( 'diahsb', - ( emp(:,:) - rnf(:,:) - fwfisf_cav(:,:) - fwfisf_par(:,:) ) * surf(:,:) ) ! volume fluxes 96 96 z_frc_trd_t = glob_sum( 'diahsb', sbc_tsc(:,:,jp_tem) * surf(:,:) ) ! heat fluxes 97 97 z_frc_trd_s = glob_sum( 'diahsb', sbc_tsc(:,:,jp_sal) * surf(:,:) ) ! salt fluxes -
NEMO/trunk/src/OCE/DYN/dynspg_ts.F90
r14834 r15004 320 320 ! ! --------------------------------------------------- ! 321 321 IF (ln_bt_fw) THEN ! FORWARD integration: use kt+1/2 fluxes (NOW+1/2) 322 zssh_frc(:,:) = r1_rho0 * ( emp(:,:) - rnf(:,:) + fwfisf_cav(:,:) +fwfisf_par(:,:) )322 zssh_frc(:,:) = r1_rho0 * ( emp(:,:) - rnf(:,:) - fwfisf_cav(:,:) - fwfisf_par(:,:) ) 323 323 ELSE ! CENTRED integration: use kt-1/2 + kt+1/2 fluxes (NOW) 324 324 zztmp = r1_rho0 * r1_2 325 325 zssh_frc(:,:) = zztmp * ( emp(:,:) + emp_b(:,:) & 326 326 & - rnf(:,:) - rnf_b(:,:) & 327 & + fwfisf_cav(:,:) +fwfisf_cav_b(:,:) &328 & + fwfisf_par(:,:) +fwfisf_par_b(:,:) )327 & - fwfisf_cav(:,:) - fwfisf_cav_b(:,:) & 328 & - fwfisf_par(:,:) - fwfisf_par_b(:,:) ) 329 329 ENDIF 330 330 ! != Add Stokes drift divergence =! (if exist) -
NEMO/trunk/src/OCE/DYN/sshwzv.F90
r14834 r15004 305 305 & - zcoef * ( emp_b(:,:) - emp(:,:) & 306 306 & - rnf_b(:,:) + rnf(:,:) & 307 & + fwfisf_cav_b(:,:) -fwfisf_cav(:,:) &308 & + fwfisf_par_b(:,:) -fwfisf_par(:,:) ) * ssmask(:,:)307 & - fwfisf_cav_b(:,:) + fwfisf_cav(:,:) & 308 & - fwfisf_par_b(:,:) + fwfisf_par(:,:) ) * ssmask(:,:) 309 309 310 310 ! ice sheet coupling -
NEMO/trunk/src/OCE/ISF/isfcav.F90
r14995 r15004 60 60 !! - output 61 61 !! 62 !! ** Convention : all fluxes are from oce to isf ( > 0 out of the ocean )62 !! ** Convention : all fluxes are from isf to oce 63 63 !! 64 64 !!--------------------------------------------------------------------- 65 65 !!-------------------------- OUT -------------------------------------- 66 REAL(wp), DIMENSION(jpi,jpj) , INTENT(inout) :: pqfwf ! ice shelf melt (>0 out)66 REAL(wp), DIMENSION(jpi,jpj) , INTENT(inout) :: pqfwf ! ice shelf fwf 67 67 REAL(wp), DIMENSION(jpi,jpj,jpts), INTENT(inout) :: ptsc ! T & S ice shelf cavity contents 68 68 !!-------------------------- IN -------------------------------------- … … 127 127 END DO 128 128 ! 129 ! compute heat and water flux ( > 0 out)129 ! compute heat and water flux ( > 0 from isf to oce) 130 130 pqfwf(:,:) = pqfwf(:,:) * mskisf_cav(:,:) 131 131 zqoce(:,:) = zqoce(:,:) * mskisf_cav(:,:) 132 132 zqhc (:,:) = zqhc(:,:) * mskisf_cav(:,:) 133 133 ! 134 ! compute heat content flux ( > 0 out)134 ! compute heat content flux ( > 0 from isf to oce) 135 135 zqlat(:,:) = - pqfwf(:,:) * rLfusisf ! 2d latent heat flux (W/m2) 136 136 ! 137 ! total heat flux ( > 0 out)137 ! total heat flux ( > 0 from isf to oce) 138 138 zqh(:,:) = ( zqhc (:,:) + zqoce(:,:) ) 139 139 ! … … 145 145 ! 146 146 ! set temperature content 147 ptsc(:,:,jp_tem) = -zqh(:,:) * r1_rho0_rcp147 ptsc(:,:,jp_tem) = zqh(:,:) * r1_rho0_rcp 148 148 ! 149 149 ! write restart variables (qoceisf, qhcisf, fwfisf for now and before) -
NEMO/trunk/src/OCE/ISF/isfcavmlt.F90
r14995 r15004 9 9 10 10 !!---------------------------------------------------------------------- 11 !! isfcav_mlt : compute or read ice shelf fwf/heat fluxes in the ice shelf cavity 11 !! isfcav_mlt : compute or read ice shelf fwf/heat fluxes from isf 12 !! to oce 12 13 !!---------------------------------------------------------------------- 13 14 … … 114 115 CALL eos_fzp( pstbl(:,:), ztfrz(:,:), risfdep(:,:) ) 115 116 ! 116 ! read input file 117 ! read input file of fwf (from isf to oce; ie melt) 117 118 CALL fld_read ( kt, 1, sf_isfcav_fwf ) 118 119 ! 119 120 ! define fwf and qoce 120 121 ! ocean heat flux is assume to be equal to the latent heat 121 pqfwf(:,:) = - sf_isfcav_fwf(1)%fnow(:,:,1) ! fwf ( >0 out)122 pqoce(:,:) = - pqfwf(:,:) * rLfusisf ! ocean heat flux ( > 0 out)123 pqhc (:,:) = pqfwf(:,:) * ztfrz(:,:) * rcp ! heat content flux ( > 0 out)122 pqfwf(:,:) = sf_isfcav_fwf(1)%fnow(:,:,1) ! fwf ( > 0 from isf to oce) 123 pqoce(:,:) = - pqfwf(:,:) * rLfusisf ! ocean heat flux ( > 0 from isf to oce) 124 pqhc (:,:) = pqfwf(:,:) * ztfrz(:,:) * rcp ! heat content flux ( > 0 from isf to oce) 124 125 ! 125 126 ! output freezing point at the interface … … 163 164 ! 164 165 ! compute ocean-ice heat flux and then derive fwf assuming that ocean heat flux equal latent heat 165 pqfwf(:,:) = - pgt(:,:) * rho0_rcp * zthd(:,:) / rLfusisf ! fresh water flux ( > 0 out)166 pqoce(:,:) = - pqfwf(:,:) * rLfusisf ! ocea-ice flux ( > 0 out)167 pqhc (:,:) = pqfwf(:,:) * ztfrz(:,:) * rcp ! heat content flux ( > 0 out)166 pqfwf(:,:) = pgt(:,:) * rho0_rcp * zthd(:,:) / rLfusisf ! fresh water flux ( > 0 from isf to oce) 167 pqoce(:,:) = - pqfwf(:,:) * rLfusisf ! ocea-ice flux ( > 0 from isf to oce) 168 pqhc (:,:) = pqfwf(:,:) * ztfrz(:,:) * rcp ! heat content flux ( > 0 from isf to oce) 168 169 ! 169 170 ! output thermal driving and freezinpoint at the ice shelf interface … … 240 241 ! 241 242 ! compute the upward water and heat flux (eq. 24 and eq. 26) 242 pqfwf(ji,jj) = rho0 * pgs(ji,jj) * ( zsfrz - pstbl(ji,jj) ) / MAX(zsfrz,zeps) ! fresh water flux (> 0 out)243 pqoce(ji,jj) = rho0_rcp * pgt(ji,jj) * zthd (ji,jj) ! ocean-ice heat flux (> 0 out)244 pqhc (ji,jj) = rcp * pqfwf(ji,jj) * ztfrz(ji,jj) ! heat content flux (> 0 out)243 pqfwf(ji,jj) = - rho0 * pgs(ji,jj) * ( zsfrz - pstbl(ji,jj) ) / MAX(zsfrz,zeps) ! fresh water flux ( > 0 from isf to oce) 244 pqoce(ji,jj) = - rho0_rcp * pgt(ji,jj) * zthd (ji,jj) ! ocean-ice heat flux ( > 0 from isf to oce) 245 pqhc (ji,jj) = rcp * pqfwf(ji,jj) * ztfrz(ji,jj) ! heat content flux ( > 0 from isf to oce) 245 246 ! 246 247 zqcon(ji,jj) = zeps3 * ( ztfrz(ji,jj) - rtsurf ) … … 283 284 CALL eos_fzp( pstbl(:,:), ztfrz(:,:), risfdep(:,:) ) 284 285 ! 285 ! read input file 286 ! read input file of fwf from isf to oce 286 287 CALL fld_read ( kt, 1, sf_isfcav_fwf ) 287 288 ! 288 289 ! ice shelf 2d map 289 zfwf(:,:) = -sf_isfcav_fwf(1)%fnow(:,:,1)290 zfwf(:,:) = sf_isfcav_fwf(1)%fnow(:,:,1) 290 291 ! 291 292 ! compute glob sum from input file … … 302 303 ! define fwf and qoce 303 304 ! ocean heat flux is assume to be equal to the latent heat 304 pqfwf(:,:) = zfwf(:,:) ! fwf ( > 0 out)305 pqoce(:,:) = - pqfwf(:,:) * rLfusisf ! ocean heat flux ( > 0 out)306 pqhc (:,:) = pqfwf(:,:) * ztfrz(:,:) * rcp ! heat content flux ( > 0 out)305 pqfwf(:,:) = zfwf(:,:) ! fwf ( > 0 from isf to oce) 306 pqoce(:,:) = - pqfwf(:,:) * rLfusisf ! ocean heat flux ( > 0 from isf to oce) 307 pqhc (:,:) = pqfwf(:,:) * ztfrz(:,:) * rcp ! heat content flux ( > 0 from isf to oce) 307 308 ! 308 309 CALL iom_put('isftfrz_cav', ztfrz * mskisf_cav(:,:) ) -
NEMO/trunk/src/OCE/ISF/isfcpl.F90
r14433 r15004 685 685 !============================================================================== 686 686 ! 687 ! mask (>0 out)687 ! mask 688 688 risfcpl_cons_vol(:,:,: ) = risfcpl_cons_vol(:,:,: ) * tmask(:,:,:) 689 689 risfcpl_cons_tsc(:,:,:,jp_sal) = risfcpl_cons_tsc(:,:,:,jp_sal) * tmask(:,:,:) -
NEMO/trunk/src/OCE/ISF/isfdiags.F90
r13295 r15004 40 40 !! 41 41 !! ** Purpose : manage the 2d and 3d flux outputs of the ice shelf module 42 !! f wf, latent heat flux, heat content flux, oce->ice heat flux42 !! from isf to oce fwf, latent heat, heat content fluxes 43 43 !! 44 44 !!---------------------------------------------------------------------- … … 62 62 ! 63 63 ! output 2d melt rate, latent heat and heat content flux from the injected water 64 CALL iom_put( TRIM(cvarqfwf), pqfwf(:,:) ) ! mass flux ( > 0 out)65 CALL iom_put( TRIM(cvarqoce), pqoce(:,:) ) ! oce to ice flux ( > 0 out)66 CALL iom_put( TRIM(cvarqlat), pqlat(:,:) ) ! latent heat flux ( > 0 out)67 CALL iom_put( TRIM(cvarqhc) , pqhc (:,:) ) ! heat content flux ( > 0 out)64 CALL iom_put( TRIM(cvarqfwf), pqfwf(:,:) ) ! mass flux ( > 0 from isf to oce) 65 CALL iom_put( TRIM(cvarqoce), pqoce(:,:) ) ! oce to ice flux ( > 0 from isf to oce) 66 CALL iom_put( TRIM(cvarqlat), pqlat(:,:) ) ! latent heat flux ( > 0 from isf to oce) 67 CALL iom_put( TRIM(cvarqhc) , pqhc (:,:) ) ! heat content flux ( > 0 from isf to oce) 68 68 ! 69 69 ! output 3d Diagnostics -
NEMO/trunk/src/OCE/ISF/isfdynatf.F90
r14053 r15004 83 83 ! add the increment 84 84 DO jk = 1, jpkm1 85 pe3t_f(:,:,jk) = pe3t_f(:,:,jk) -tmask(:,:,jk) * zfwfinc(:,:) &85 pe3t_f(:,:,jk) = pe3t_f(:,:,jk) + tmask(:,:,jk) * zfwfinc(:,:) & 86 86 & * e3t(:,:,jk,Kmm) 87 87 END DO -
NEMO/trunk/src/OCE/ISF/isfhdiv.F90
r14834 r15004 107 107 ! level fully include in the ice shelf boundary layer 108 108 DO jk = ikt, ikb - 1 109 phdiv(ji,jj,jk) = phdiv(ji,jj,jk) +zhdiv(ji,jj)109 phdiv(ji,jj,jk) = phdiv(ji,jj,jk) - zhdiv(ji,jj) 110 110 END DO 111 111 ! level partially include in ice shelf boundary layer 112 phdiv(ji,jj,ikb) = phdiv(ji,jj,ikb) +zhdiv(ji,jj) * pfrac(ji,jj)112 phdiv(ji,jj,ikb) = phdiv(ji,jj,ikb) - zhdiv(ji,jj) * pfrac(ji,jj) 113 113 END_2D 114 114 ! -
NEMO/trunk/src/OCE/ISF/isfpar.F90
r14995 r15004 57 57 !! the name tbl was kept. 58 58 !! 59 !! ** Convention : all fluxes are from oce to isf ( > 0 out of the ocean )59 !! ** Convention : all fluxes are from isf to oce 60 60 !! 61 61 !!--------------------------------------------------------------------- … … 73 73 CALL isfpar_mlt( kt, Kmm, zqhc, zqoce, pqfwf ) 74 74 ! 75 ! compute heat and water flux ( > 0 out)75 ! compute heat and water flux (from isf to oce) 76 76 pqfwf(:,:) = pqfwf(:,:) * mskisf_par(:,:) 77 77 zqoce(:,:) = zqoce(:,:) * mskisf_par(:,:) 78 78 zqhc (:,:) = zqhc(:,:) * mskisf_par(:,:) 79 79 ! 80 ! compute latent heat flux ( > 0 out)80 ! compute latent heat flux (from isf to oce) 81 81 zqlat(:,:) = - pqfwf(:,:) * rLfusisf ! 2d latent heat flux (W/m2) 82 82 ! 83 ! total heat flux ( > 0 out)83 ! total heat flux (from isf to oce) 84 84 zqh(:,:) = ( zqhc (:,:) + zqoce(:,:) ) 85 85 ! … … 91 91 ! 92 92 ! set temperature content 93 ptsc(:,:,jp_tem) = -zqh(:,:) * r1_rho0_rcp93 ptsc(:,:,jp_tem) = zqh(:,:) * r1_rho0_rcp 94 94 ! 95 95 ! write restart variables (qoceisf, qhcisf, fwfisf for now and before) -
NEMO/trunk/src/OCE/ISF/isfparmlt.F90
r14995 r15004 102 102 !!-------------------------------------------------------------------- 103 103 ! 104 ! 0. ------------Read specified runoff104 ! 0. ------------Read specified fwf from isf to oce 105 105 CALL fld_read ( kt, 1, sf_isfpar_fwf ) 106 106 ! … … 112 112 CALL isf_tbl(Kmm, ztfrz3d, ztfrz, 'T', misfkt_par, rhisf_tbl_par, misfkb_par, rfrac_tbl_par ) 113 113 ! 114 pqfwf(:,:) = - sf_isfpar_fwf(1)%fnow(:,:,1) ! fresh water flux from the isf (fwfisf <0 mean melting) ( > 0 out)115 pqoce(:,:) = - pqfwf(:,:) * rLfusisf ! ocean/ice shelf flux assume to be equal to latent heat flux ( > 0 out)116 pqhc (:,:) = pqfwf(:,:) * ztfrz(:,:) * rcp ! heat content flux ( > 0 out)114 pqfwf(:,:) = sf_isfpar_fwf(1)%fnow(:,:,1) ! fresh water flux from the isf (fwfisf <0 mean melting) ( > 0 from isf to oce) 115 pqoce(:,:) = - pqfwf(:,:) * rLfusisf ! ocean/ice shelf flux assume to be equal to latent heat flux ( > 0 from isf to oce) 116 pqhc (:,:) = pqfwf(:,:) * ztfrz(:,:) * rcp ! heat content flux ( > 0 from isf to oce) 117 117 ! 118 118 CALL iom_put('isftfrz_par', ztfrz(:,:) * mskisf_par(:,:) ) … … 157 157 ! 158 158 ! 2. ------------Net heat flux and fresh water flux due to the ice shelf 159 pqfwf(:,:) = - rho0 * rcp * rn_isfpar_bg03_gt0 * risfLeff(:,:) * e1t(:,:) * (ztavg(:,:) - ztfrz(:,:) ) * r1_e1e2t(:,:) / rLfusisf ! ( > 0 out)160 pqoce(:,:) = - pqfwf(:,:) * rLfusisf ! ocean/ice shelf flux assume to be equal to latent heat flux ( > 0 out)161 pqhc (:,:) = pqfwf(:,:) * ztfrz(:,:) * rcp ! heat content flux ( > 0 out)159 pqfwf(:,:) = rho0 * rcp * rn_isfpar_bg03_gt0 * risfLeff(:,:) * e1t(:,:) * (ztavg(:,:) - ztfrz(:,:) ) * r1_e1e2t(:,:) / rLfusisf ! ( > 0 from isf to oce) 160 pqoce(:,:) = - pqfwf(:,:) * rLfusisf ! ocean/ice shelf flux assume to be equal to latent heat flux ( > 0 from isf to oce) 161 pqhc (:,:) = pqfwf(:,:) * ztfrz(:,:) * rcp ! heat content flux ( > 0 from isf to oce) 162 162 ! 163 163 ! 3. ------------BG03 output … … 207 207 ! 208 208 ! 2. ------------Scale isf melt pattern with total amount from oasis 209 ! ice shelf 2d map 210 zfwf(:,:) = -sf_isfpar_fwf(1)%fnow(:,:,1)209 ! ice shelf 2d map of fwf from isf to oce 210 zfwf(:,:) = sf_isfpar_fwf(1)%fnow(:,:,1) 211 211 ! 212 212 ! compute glob sum from input file … … 223 223 ! 3. -----------Define fwf and qoce 224 224 ! ocean heat flux is assume to be equal to the latent heat 225 pqfwf(:,:) = zfwf(:,:) ! fwf ( > 0 out)226 pqoce(:,:) = - pqfwf(:,:) * rLfusisf ! ocean heat flux ( > 0 out) (assumed to be the latent heat flux)227 pqhc (:,:) = pqfwf(:,:) * ztfrz(:,:) * rcp ! heat content flux ( > 0 out)225 pqfwf(:,:) = zfwf(:,:) ! fwf ( > 0 from isf to oce) 226 pqoce(:,:) = - pqfwf(:,:) * rLfusisf ! ocean heat flux ( > 0 from isf to oce) (assumed to be the latent heat flux) 227 pqhc (:,:) = pqfwf(:,:) * ztfrz(:,:) * rcp ! heat content flux ( > 0 from isf to oce) 228 228 ! 229 229 CALL iom_put('isftfrz_par', ztfrz ) -
NEMO/trunk/src/OCE/SBC/sbccpl.F90
r14995 r15004 1521 1521 ! ice shelf fwf 1522 1522 IF( srcv(jpr_isf)%laction ) THEN 1523 fwfisf_oasis(:,:) = - frcv(jpr_isf)%z3(:,:,1) ! fresh water flux from the isf (fwfisf <0 mean melting)1523 fwfisf_oasis(:,:) = frcv(jpr_isf)%z3(:,:,1) ! fresh water flux from the isf to the ocean ( > 0 = melting ) 1524 1524 END IF 1525 1525 … … 1862 1862 rnf(:,:) = rnf(:,:) + fwficb(:,:) 1863 1863 ENDIF 1864 IF( srcv(jpr_isf)%laction ) THEN ! iceshelf (fwfisf <0 mean melting)1865 fwfisf_oasis(:,:) = -frcv(jpr_isf)%z3(:,:,1)1864 IF( srcv(jpr_isf)%laction ) THEN ! iceshelf (fwfisf > 0 mean melting) 1865 fwfisf_oasis(:,:) = frcv(jpr_isf)%z3(:,:,1) 1866 1866 ENDIF 1867 1867 … … 1901 1901 !!$ rnf(:,:) = rnf(:,:) + fwficb(:,:) 1902 1902 !!$ ENDIF 1903 !!$ IF( srcv(jpr_isf)%laction ) THEN ! iceshelf (fwfisf <0 mean melting)1904 !!$ fwfisf_oasis(:,:) = -frcv(jpr_isf)%z3(:,:,1)1903 !!$ IF( srcv(jpr_isf)%laction ) THEN ! iceshelf (fwfisf >0 mean melting) 1904 !!$ fwfisf_oasis(:,:) = frcv(jpr_isf)%z3(:,:,1) 1905 1905 !!$ ENDIF 1906 1906 !!$ ! … … 1931 1931 ! note: runoff output is done in sbcrnf (which includes icebergs too) and iceshelf output is done in sbcisf 1932 1932 !! IF( srcv(jpr_rnf)%laction ) CALL iom_put( 'runoffs' , rnf(:,:) * tmask(:,:,1) ) ! runoff 1933 !! IF( srcv(jpr_isf)%laction ) CALL iom_put( 'iceshelf_cea', -fwfisf(:,:) * tmask(:,:,1) ) ! iceshelf1933 !! IF( srcv(jpr_isf)%laction ) CALL iom_put( 'iceshelf_cea', fwfisf(:,:) * tmask(:,:,1) ) ! iceshelf 1934 1934 ! 1935 1935 ! ! ========================= ! -
NEMO/trunk/src/OCE/SBC/sbcfwb.F90
r14718 r15004 117 117 ! 118 118 IF( MOD( kt-1, kn_fsbc ) == 0 ) THEN 119 y_fwfnow(1) = local_sum( e1e2t(:,:) * ( emp(:,:) - rnf(:,:) + fwfisf_cav(:,:) +fwfisf_par(:,:) - snwice_fmass(:,:) ) )119 y_fwfnow(1) = local_sum( e1e2t(:,:) * ( emp(:,:) - rnf(:,:) - fwfisf_cav(:,:) - fwfisf_par(:,:) - snwice_fmass(:,:) ) ) 120 120 CALL mpp_delay_sum( 'sbcfwb', 'fwb', y_fwfnow(:), z_fwfprv(:), kt == nitend - nn_fsbc + 1 ) 121 121 z_fwfprv(1) = z_fwfprv(1) / area … … 180 180 ztmsk_neg(:,:) = tmask_i(:,:) - ztmsk_pos(:,:) 181 181 ! ! fwf global mean (excluding ocean to ice/snow exchanges) 182 z_fwf = glob_sum( 'sbcfwb', e1e2t(:,:) * ( emp(:,:) - rnf(:,:) + fwfisf_cav(:,:) +fwfisf_par(:,:) - snwice_fmass(:,:) ) ) / area182 z_fwf = glob_sum( 'sbcfwb', e1e2t(:,:) * ( emp(:,:) - rnf(:,:) - fwfisf_cav(:,:) - fwfisf_par(:,:) - snwice_fmass(:,:) ) ) / area 183 183 ! 184 184 IF( z_fwf < 0._wp ) THEN ! spread out over >0 erp area to increase evaporation -
NEMO/trunk/src/OCE/TRA/traatf.F90
r14433 r15004 293 293 IF ( ll_rnf ) ze3t_f = ze3t_f + zfact2 * zscale * ( rnf_b(ji,jj) - rnf(ji,jj) ) 294 294 IF ( ll_isf ) THEN 295 IF ( ln_isfcav_mlt ) ze3t_f = ze3t_f -zfact2 * zscale * ( fwfisf_cav_b(ji,jj) - fwfisf_cav(ji,jj) )296 IF ( ln_isfpar_mlt ) ze3t_f = ze3t_f -zfact2 * zscale * ( fwfisf_par_b(ji,jj) - fwfisf_par(ji,jj) )295 IF ( ln_isfcav_mlt ) ze3t_f = ze3t_f + zfact2 * zscale * ( fwfisf_cav_b(ji,jj) - fwfisf_cav(ji,jj) ) 296 IF ( ln_isfpar_mlt ) ze3t_f = ze3t_f + zfact2 * zscale * ( fwfisf_par_b(ji,jj) - fwfisf_par(ji,jj) ) 297 297 ENDIF 298 298 ! -
NEMO/trunk/src/TOP/trcais.F90
r14118 r15004 184 184 DO_2D( 1, 1, 1, 1 ) 185 185 IF( ln_isfpar_mlt ) THEN 186 zcalv = -fwfisf_par(ji,jj) * r1_rho0 / rhisf_tbl_par(ji,jj)186 zcalv = fwfisf_par(ji,jj) * r1_rho0 / rhisf_tbl_par(ji,jj) 187 187 ikt = misfkt_par(ji,jj) 188 188 ikb = misfkb_par(ji,jj) … … 190 190 END IF 191 191 IF( ln_isfcav_mlt ) THEN 192 zcalv = -fwfisf_cav(ji,jj) * r1_rho0 / rhisf_tbl_cav(ji,jj)192 zcalv = fwfisf_cav(ji,jj) * r1_rho0 / rhisf_tbl_cav(ji,jj) 193 193 ikt = misfkt_cav(ji,jj) 194 194 ikb = misfkb_cav(ji,jj)
Note: See TracChangeset
for help on using the changeset viewer.