- Timestamp:
- 2019-08-05T19:14:52+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/TRA/traisf.F90
r11395 r11403 1 1 MODULE traisf 2 2 !!============================================================================== 3 !! *** MODULE tra sbc***4 !! Ocean active tracers: surfaceboundary condition3 !! *** MODULE traisf *** 4 !! Ocean active tracers: ice shelf boundary condition 5 5 !!============================================================================== 6 6 !! History : 4.0 ! 2019-09 (P. Mathiot) original file … … 38 38 SUBROUTINE tra_isf ( kt ) 39 39 !!---------------------------------------------------------------------- 40 !! *** ROUTINE tra_ sbc***40 !! *** ROUTINE tra_isf *** 41 41 !! 42 !! ** Purpose : Compute the tracer surface boundary condition trend of 43 !! (flux through the interface, concentration/dilution effect) 44 !! and add it to the general trend of tracer equations. 42 !! ** Purpose : Compute the temperature trend due to the ice shelf melting (qhoce + qhc) 45 43 !! 46 !! ** Method : The (air+ice)-sea flux has two components: 47 !! (1) Fext, external forcing (i.e. flux through the (air+ice)-sea interface); 48 !! (2) Fwe , tracer carried with the water that is exchanged with air+ice. 49 !! The input forcing fields (emp, rnf, sfx, isf) contain Fext+Fwe, 50 !! they are simply added to the tracer trend (tsa). 51 !! In linear free surface case (ln_linssh=T), the volume of the 52 !! ocean does not change with the water exchanges at the (air+ice)-sea 53 !! interface. Therefore another term has to be added, to mimic the 54 !! concentration/dilution effect associated with water exchanges. 55 !! 56 !! ** Action : - Update tsa with the surface boundary condition trend 57 !! - send trends to trdtra module for further diagnostics(l_trdtra=T) 44 !! ** Action : - update tsa for cav, par and cpl case 58 45 !!---------------------------------------------------------------------- 59 46 INTEGER, INTENT(in) :: kt ! ocean time-step index … … 62 49 IF( ln_timing ) CALL timing_start('tra_sbc') 63 50 ! 64 !---------------------------------------- 65 ! Ice Shelf effects (ISF) 66 ! tbl treated as in Losh (2008) JGR 67 !---------------------------------------- 51 ! cavity case 68 52 IF ( ln_isfcav_mlt ) CALL tra_isf_mlt(misfkt_cav, misfkb_cav, rhisf_tbl_cav, rfrac_tbl_cav, risf_cav_tsc, risf_cav_tsc_b, tsa) 53 ! 54 ! parametrisation case 69 55 IF ( ln_isfpar_mlt ) CALL tra_isf_mlt(misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par, risf_par_tsc, risf_par_tsc_b, tsa) 70 56 ! 57 ! ice sheet coupling case 71 58 !CALL tra_isf_cpl() 72 59 ! … … 77 64 SUBROUTINE tra_isf_mlt(ktop, kbot, phtbl, pfrac, ptsc, ptsc_b, pts) 78 65 !!---------------------------------------------------------------------- 66 !! *** ROUTINE tra_isf_mlt *** 67 !! 68 !! *** Purpose : Compute the temperature trend due to the ice shelf melting (qhoce + qhc) for cav or par case 69 !! 70 !! *** Action :: Update tsa with the surface boundary condition trend 71 !! 72 !!---------------------------------------------------------------------- 79 73 REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(inout) :: pts 80 74 !!---------------------------------------------------------------------- … … 82 76 REAL(wp), DIMENSION(jpi,jpj) , INTENT(in ) :: phtbl, pfrac 83 77 REAL(wp), DIMENSION(jpi,jpj,jpts), INTENT(in ) :: ptsc , ptsc_b 78 REAL(wp), DIMENSION(jpi,jpj) :: ztc 79 !!---------------------------------------------------------------------- 80 INTEGER :: ji,jj,jk ! loop index 81 INTEGER :: ikt, ikb ! top and bottom level of the tbl 82 REAL(wp), DIMENSION(jpi,jpj) :: ztc ! total ice shelf tracer trend 84 83 !!---------------------------------------------------------------------- 85 84 ! 86 INTEGER :: ji, jj, jk, jn ! dummy loop indices87 INTEGER :: ikt, ikb ! local integers88 REAL(wp) :: zeps = 1.e-2089 REAL(wp), DIMENSION(jpi,jpj) :: ztc90 !!----------------------------------------------------------------------91 !92 !----------------------------------------93 ! Ice Shelf effects (ISF)94 ! tbl treated as in Losh (2008) JGR95 !----------------------------------------96 !97 85 ! compute 2d total trend due to isf 98 86 ztc(:,:) = 0.5_wp * ( ptsc(:,:,jp_tem) + ptsc_b(:,:,jp_tem) ) / phtbl(:,:)
Note: See TracChangeset
for help on using the changeset viewer.