- Timestamp:
- 2019-09-12T18:41:17+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfhdiv.F90
r11529 r11541 20 20 !! *** SUBROUTINE isf_hdiv *** 21 21 !! 22 !! ** Purpose : 22 !! ** Purpose : update the horizontal divergence with the ice shelf contribution 23 !! (parametrisation, explicit, ice sheet coupling conservation 24 !! increment) 23 25 !! 24 !! ** Method :25 !!26 !! ** Action : phdiv decreased by the fwf inflow (isf melt in this case)27 26 !!---------------------------------------------------------------------- 28 27 REAL(wp), DIMENSION(:,:,:), INTENT( inout ) :: phdiv ! horizontal divergence … … 38 37 IF ( ln_isfpar_mlt ) CALL isf_hdiv_mlt(misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par, fwfisf_par, fwfisf_par_b, phdiv) 39 38 ! 40 END IF41 !42 ! ice sheet coupling contribution (if conservation needed)43 IF ( ll_isfcpl ) THEN44 39 ! 45 ! correct divergence only for the first time step 46 IF ( kt == nit000 ) CALL isf_hdiv_cpl(risfcpl_vol, phdiv) 47 ! 48 ! correct divergence every time step to remove any trend due to coupling 49 IF ( ll_isfcpl_cons ) CALL isf_hdiv_cpl(risfcpl_cons_vol, phdiv) 40 ! ice sheet coupling contribution 41 IF ( ln_isfcpl ) THEN 42 ! 43 ! correct divergence only for the first time step 44 IF ( kt == nit000 ) CALL isf_hdiv_cpl(risfcpl_vol , phdiv) 45 IF ( kt == nit000+1 ) CALL isf_hdiv_cpl(risfcpl_vol*0.5_wp, phdiv) 46 ! 47 ! correct divergence every time step to remove any trend due to coupling 48 ! conservation option 49 IF ( ln_isfcpl_cons ) CALL isf_hdiv_cpl(risfcpl_cons_vol, phdiv) 50 ! 51 END IF 50 52 ! 51 53 END IF … … 57 59 !! *** SUBROUTINE sbc_isf_div *** 58 60 !! 59 !! ** Purpose : update the horizontal divergence with the runoff inflow61 !! ** Purpose : update the horizontal divergence with the ice shelf inflow 60 62 !! 61 !! ** Method : 62 !! CAUTION : risf_tsc(:,:,jp_sal) is negative (outflow) increase the 63 !! divergence and expressed in m/s 63 !! ** Method : pfwf is positive (outflow) and expressed as kg/m2/s 64 !! increase the divergence 64 65 !! 65 !! ** Action : phdivn decreased by the runoff inflow66 !! ** Action : phdivn increased by the ice shelf outflow 66 67 !!---------------------------------------------------------------------- 67 68 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: phdiv … … 73 74 INTEGER :: ji, jj, jk ! dummy loop indices 74 75 INTEGER :: ikt, ikb 75 REAL(wp), DIMENSION(jpi,jpj) :: z qvol,ztmp76 REAL(wp), DIMENSION(jpi,jpj) :: zhdiv 76 77 !!---------------------------------------------------------------------- 77 78 ! … … 79 80 ! 80 81 ! compute integrated divergence correction 81 z qvol(:,:) = 0.5_wp * ( pfwf(:,:) + pfwf_b(:,:) ) * r1_rau0 / phtbl(:,:)82 zhdiv(:,:) = 0.5_wp * ( pfwf(:,:) + pfwf_b(:,:) ) * r1_rau0 / phtbl(:,:) 82 83 ! 83 84 ! update divergence at each level affected by ice shelf top boundary layer … … 88 89 ! level fully include in the ice shelf boundary layer 89 90 DO jk = ikt, ikb - 1 90 phdiv(ji,jj,jk) = phdiv(ji,jj,jk) + z qvol(ji,jj)91 phdiv(ji,jj,jk) = phdiv(ji,jj,jk) + zhdiv(ji,jj) 91 92 END DO 92 93 ! level partially include in ice shelf boundary layer 93 phdiv(ji,jj,ikb) = phdiv(ji,jj,ikb) + z qvol(ji,jj) * pfrac(ji,jj)94 phdiv(ji,jj,ikb) = phdiv(ji,jj,ikb) + zhdiv(ji,jj) * pfrac(ji,jj) 94 95 END DO 95 96 END DO … … 101 102 !! *** SUBROUTINE isf_hdiv_cpl *** 102 103 !! 103 !! ** Purpose : 104 !! ** Purpose : update the horizontal divergence with the ice shelf 105 !! coupling conservation increment 104 106 !! 105 !! ** Method : 107 !! ** Method : pqvol is positive (outflow) and expressed as m3/s 108 !! increase the divergence 106 109 !! 107 !! ** Action : 110 !! ** Action : phdivn increased by the ice shelf outflow 111 !! 108 112 !!---------------------------------------------------------------------- 109 113 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: phdiv
Note: See TracChangeset
for help on using the changeset viewer.