- Timestamp:
- 2015-11-30T20:55:41+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5151_UKMO_ISF/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf.F90
r4990 r5956 9 9 10 10 !!---------------------------------------------------------------------- 11 !! dyn_zdf : Update the momentum trend with the vertical diffusion12 !! dyn_zdf_init : initializations of the vertical diffusion scheme11 !! dyn_zdf : Update the momentum trend with the vertical diffusion 12 !! dyn_zdf_init : initializations of the vertical diffusion scheme 13 13 !!---------------------------------------------------------------------- 14 USE oce ! ocean dynamics and tracers variables 15 USE dom_oce ! ocean space and time domain variables 16 USE zdf_oce ! ocean vertical physics variables 17 18 USE dynzdf_exp ! vertical diffusion: explicit (dyn_zdf_exp routine) 19 USE dynzdf_imp ! vertical diffusion: implicit (dyn_zdf_imp routine) 20 21 USE ldfdyn_oce ! ocean dynamics: lateral physics 22 USE trd_oce ! trends: ocean variables 23 USE trddyn ! trend manager: dynamics 24 USE in_out_manager ! I/O manager 25 USE lib_mpp ! MPP library 26 USE prtctl ! Print control 27 USE wrk_nemo ! Memory Allocation 28 USE timing ! Timing 14 USE oce ! ocean dynamics and tracers variables 15 USE dom_oce ! ocean space and time domain variables 16 USE zdf_oce ! ocean vertical physics variables 17 USE dynzdf_exp ! vertical diffusion: explicit (dyn_zdf_exp routine) 18 USE dynzdf_imp ! vertical diffusion: implicit (dyn_zdf_imp routine) 19 USE ldfdyn ! lateral diffusion: eddy viscosity coef. 20 USE trd_oce ! trends: ocean variables 21 USE trddyn ! trend manager: dynamics 22 ! 23 USE in_out_manager ! I/O manager 24 USE lib_mpp ! MPP library 25 USE prtctl ! Print control 26 USE wrk_nemo ! Memory Allocation 27 USE timing ! Timing 29 28 30 29 IMPLICIT NONE … … 61 60 !!--------------------------------------------------------------------- 62 61 ! 63 IF( nn_timing == 1 ) CALL timing_start('dyn_zdf')62 IF( nn_timing == 1 ) CALL timing_start('dyn_zdf') 64 63 ! 65 64 ! ! set time step … … 79 78 CASE ( 1 ) ; CALL dyn_zdf_imp( kt, r2dt ) ! implicit scheme 80 79 ! 81 CASE ( -1 ) ! esopa: test all possibility with control print82 CALL dyn_zdf_exp( kt, r2dt )83 CALL prt_ctl( tab3d_1=ua, clinfo1=' zdf0 - Ua: ', mask1=umask, &84 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )85 CALL dyn_zdf_imp( kt, r2dt )86 CALL prt_ctl( tab3d_1=ua, clinfo1=' zdf1 - Ua: ', mask1=umask, &87 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )88 80 END SELECT 89 81 … … 96 88 ! ! print mean trends (used for debugging) 97 89 IF(ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' zdf - Ua: ', mask1=umask, & 98 &tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )99 !100 IF( nn_timing == 1 ) CALL timing_stop('dyn_zdf')90 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 91 ! 92 IF( nn_timing == 1 ) CALL timing_stop('dyn_zdf') 101 93 ! 102 94 END SUBROUTINE dyn_zdf … … 114 106 USE zdftke 115 107 USE zdfgls 116 USE zdfkpp117 108 !!---------------------------------------------------------------------- 118 109 ! … … 123 114 ! 124 115 ! Force implicit schemes 125 IF( lk_zdftke .OR. lk_zdfgls .OR. lk_zdfkpp ) nzdf = 1 ! TKE, GLS or KPP physics 126 IF( ln_dynldf_iso ) nzdf = 1 ! iso-neutral lateral physics 127 IF( ln_dynldf_hor .AND. ln_sco ) nzdf = 1 ! horizontal lateral physics in s-coordinate 128 ! 129 IF( lk_esopa ) nzdf = -1 ! Esopa key: All schemes used 116 IF( lk_zdftke .OR. lk_zdfgls ) nzdf = 1 ! TKE or GLS physics 117 IF( ln_dynldf_iso ) nzdf = 1 ! iso-neutral lateral physics 118 IF( ln_dynldf_hor .AND. ln_sco ) nzdf = 1 ! horizontal lateral physics in s-coordinate 130 119 ! 131 120 IF(lwp) THEN ! Print the choice … … 133 122 WRITE(numout,*) 'dyn_zdf_init : vertical dynamics physics scheme' 134 123 WRITE(numout,*) '~~~~~~~~~~~' 135 IF( nzdf == -1 ) WRITE(numout,*) ' ESOPA test All scheme used'136 124 IF( nzdf == 0 ) WRITE(numout,*) ' Explicit time-splitting scheme' 137 125 IF( nzdf == 1 ) WRITE(numout,*) ' Implicit (euler backward) scheme'
Note: See TracChangeset
for help on using the changeset viewer.