- Timestamp:
- 2015-09-24T08:31:40+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf.F90
r5385 r5758 19 19 USE sbc_oce ! surface boundary condition: ocean 20 20 USE dynspg_oce 21 ! 22 USE ldftra ! lateral diffusion: eddy diffusivity 23 USE ldfslp ! lateral diffusion: iso-neutral slope 21 24 USE trazdf_exp ! vertical diffusion: explicit (tra_zdf_exp routine) 22 25 USE trazdf_imp ! vertical diffusion: implicit (tra_zdf_imp routine) 23 USE ldftra_oce ! ocean active tracers: lateral physics26 ! 24 27 USE trd_oce ! trends: ocean variables 25 28 USE trdtra ! trends manager: tracers … … 45 48 # include "vectopt_loop_substitute.h90" 46 49 !!---------------------------------------------------------------------- 47 !! NEMO/OPA 3.7 , NEMO Consortium (201 4)50 !! NEMO/OPA 3.7 , NEMO Consortium (2015) 48 51 !! $Id$ 49 52 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 88 91 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 89 92 END SELECT 93 !!gm WHY here ! and I don't like that ! 90 94 ! DRAKKAR SSS control { 91 95 ! JMM avoid negative salinities near river outlet ! Ugly fix 92 96 ! JMM : restore negative salinities to small salinities: 93 97 WHERE ( tsa(:,:,:,jp_sal) < 0._wp ) tsa(:,:,:,jp_sal) = 0.1_wp 98 !!gm 94 99 95 100 IF( l_trdtra ) THEN ! save the vertical diffusive trends for further diagnostics … … 98 103 ztrds(:,:,jk) = ( ( tsa(:,:,jk,jp_sal) - tsb(:,:,jk,jp_sal) ) / r2dtra(jk) ) - ztrds(:,:,jk) 99 104 END DO 105 !!gm this should be moved in trdtra.F90 and done on all trends 100 106 CALL lbc_lnk( ztrdt, 'T', 1. ) 101 107 CALL lbc_lnk( ztrds, 'T', 1. ) 108 !!gm 102 109 CALL trd_tra( kt, 'TRA', jp_tem, jptra_zdf, ztrdt ) 103 110 CALL trd_tra( kt, 'TRA', jp_sal, jptra_zdf, ztrds ) … … 123 130 !! nzdf = 0 explicit (time-splitting) scheme (ln_zdfexp=T) 124 131 !! = 1 implicit (euler backward) scheme (ln_zdfexp=F) 125 !! NB: rotation of lateral mixing operator or TKE or KPP scheme,126 !! theimplicit scheme is required.132 !! NB: rotation of lateral mixing operator or TKE & GLS schemes, 133 !! an implicit scheme is required. 127 134 !!---------------------------------------------------------------------- 128 135 USE zdftke 129 136 USE zdfgls 130 USE zdfkpp131 137 !!---------------------------------------------------------------------- 132 138 … … 137 143 138 144 ! Force implicit schemes 139 IF( lk_zdftke .OR. lk_zdfgls .OR. lk_zdfkpp ) nzdf = 1 ! TKE, GLS or KPPphysics140 IF( ln_traldf_iso ) nzdf = 1! iso-neutral lateral physics141 IF( ln_traldf_hor .AND. ln_sco ) nzdf = 1! horizontal lateral physics in s-coordinate145 IF( lk_zdftke .OR. lk_zdfgls ) nzdf = 1 ! TKE, or GLS physics 146 IF( ln_traldf_iso ) nzdf = 1 ! iso-neutral lateral physics 147 IF( ln_traldf_hor .AND. ln_sco ) nzdf = 1 ! horizontal lateral physics in s-coordinate 142 148 IF( ln_zdfexp .AND. nzdf == 1 ) CALL ctl_stop( 'tra_zdf : If using the rotation of lateral mixing operator', & 143 & ' TKE or KPPscheme, the implicit scheme is required, set ln_zdfexp = .false.' )149 & ' GLS or TKE scheme, the implicit scheme is required, set ln_zdfexp = .false.' ) 144 150 145 151 ! Test: esopa
Note: See TracChangeset
for help on using the changeset viewer.