Changeset 1531 for trunk/NEMO/OPA_SRC/ZDF/zdftke2.F90
- Timestamp:
- 2009-07-24T08:48:42+02:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/ZDF/zdftke2.F90
r1492 r1531 1 MODULE zdftke 21 MODULE zdftke 2 2 !!====================================================================== 3 !! *** MODULE zdftke 2***3 !! *** MODULE zdftke *** 4 4 !! Ocean physics: vertical mixing coefficient computed from the tke 5 5 !! turbulent closure parameterization … … 27 27 !! ! + cleaning of the parameters + bugs correction 28 28 !!---------------------------------------------------------------------- 29 #if defined key_zdftke 2|| defined key_esopa29 #if defined key_zdftke || defined key_esopa 30 30 !!---------------------------------------------------------------------- 31 !! 'key_zdftke 2'TKE vertical physics31 !! 'key_zdftke' TKE vertical physics 32 32 !!---------------------------------------------------------------------- 33 !! zdf_tke 2: update momentum and tracer Kz from a tke scheme33 !! zdf_tke : update momentum and tracer Kz from a tke scheme 34 34 !! tke_tke : tke time stepping: update tke at now time step (en) 35 35 !! tke_avn : compute mixing length scale and deduce avm and avt 36 36 !! tke_init : initialization, namelist read, and parameters control 37 !! tke 2_rst: read/write tke restart in ocean restart file37 !! tke_rst : read/write tke restart in ocean restart file 38 38 !!---------------------------------------------------------------------- 39 39 USE oce ! ocean dynamics and active tracers … … 53 53 PRIVATE 54 54 55 PUBLIC zdf_tke 2! routine called in step module56 PUBLIC tke 2_rst! routine called in step module57 58 LOGICAL , PUBLIC, PARAMETER :: lk_zdftke 2= .TRUE. !: TKE vertical mixing flag55 PUBLIC zdf_tke ! routine called in step module 56 PUBLIC tke_rst ! routine called in step module 57 58 LOGICAL , PUBLIC, PARAMETER :: lk_zdftke = .TRUE. !: TKE vertical mixing flag 59 59 60 60 #if defined key_c1d … … 99 99 100 100 REAL(wp), DIMENSION(jpi,jpj) :: htau ! depth of tke penetration (nn_htau) 101 REAL(wp), DIMENSION(jpi,jpj) :: avtb_2d ! set in tke 2_init, for other modif than ice101 REAL(wp), DIMENSION(jpi,jpj) :: avtb_2d ! set in tke_init, for other modif than ice 102 102 REAL(wp), DIMENSION(jpi,jpj,jpk) :: en ! now turbulent kinetic energy [m2/s2] 103 103 REAL(wp), DIMENSION(jpi,jpj,jpk) :: dissl ! now mixing lenght of dissipation … … 114 114 CONTAINS 115 115 116 SUBROUTINE zdf_tke 2( kt )116 SUBROUTINE zdf_tke( kt ) 117 117 !!---------------------------------------------------------------------- 118 !! *** ROUTINE zdf_tke 2***118 !! *** ROUTINE zdf_tke *** 119 119 !! 120 120 !! ** Purpose : Compute the vertical eddy viscosity and diffusivity … … 168 168 CALL tke_avn ! now avt, avm, avmu, avmv 169 169 ! 170 END SUBROUTINE zdf_tke 2170 END SUBROUTINE zdf_tke 171 171 172 172 … … 627 627 SUBROUTINE tke_init 628 628 !!---------------------------------------------------------------------- 629 !! *** ROUTINE zdf_tke2_init ***629 !! *** ROUTINE tke_init *** 630 630 !! 631 631 !! ** Purpose : Initialization of the vertical eddy diffivity and … … 654 654 IF(lwp) THEN !* Control print 655 655 WRITE(numout,*) 656 WRITE(numout,*) 'zdf_tke 2: tke turbulent closure scheme - initialisation'656 WRITE(numout,*) 'zdf_tke : tke turbulent closure scheme - initialisation' 657 657 WRITE(numout,*) '~~~~~~~~' 658 658 WRITE(numout,*) ' Namelist namtke : set tke mixing parameters' … … 738 738 dissl(:,:,:) = 1.e-12 739 739 ! !* read or initialize all required files 740 CALL tke 2_rst( nit000, 'READ' )740 CALL tke_rst( nit000, 'READ' ) 741 741 ! 742 742 END SUBROUTINE tke_init 743 743 744 744 745 SUBROUTINE tke 2_rst( kt, cdrw )745 SUBROUTINE tke_rst( kt, cdrw ) 746 746 !!--------------------------------------------------------------------- 747 !! *** ROUTINE t s_rst ***747 !! *** ROUTINE tke_rst *** 748 748 !! 749 749 !! ** Purpose : Read or write TKE file (en) in restart file … … 785 785 en (:,:,:) = rn_emin * tmask(:,:,:) 786 786 CALL tke_avn ! recompute avt, avm, avmu, avmv and dissl (approximation) 787 DO jit = nit000 + 1, nit000 + 10 ; CALL zdf_tke 2( jit ) ; END DO787 DO jit = nit000 + 1, nit000 + 10 ; CALL zdf_tke( jit ) ; END DO 788 788 ENDIF 789 789 ELSE !* Start from rest … … 799 799 ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN ! Create restart file 800 800 ! ! ------------------- 801 IF(lwp) WRITE(numout,*) '---- tke 2-rst ----'801 IF(lwp) WRITE(numout,*) '---- tke-rst ----' 802 802 CALL iom_rstput( kt, nitrst, numrow, 'en' , en ) 803 803 CALL iom_rstput( kt, nitrst, numrow, 'avt' , avt ) … … 809 809 ENDIF 810 810 ! 811 END SUBROUTINE tke 2_rst811 END SUBROUTINE tke_rst 812 812 813 813 #else … … 815 815 !! Dummy module : NO TKE scheme 816 816 !!---------------------------------------------------------------------- 817 LOGICAL, PUBLIC, PARAMETER :: lk_zdftke 2= .FALSE. !: TKE flag817 LOGICAL, PUBLIC, PARAMETER :: lk_zdftke = .FALSE. !: TKE flag 818 818 CONTAINS 819 SUBROUTINE zdf_tke 2( kt ) ! Empty routine820 WRITE(*,*) 'zdf_tke 2: You should not have seen this print! error?', kt821 END SUBROUTINE zdf_tke 2822 SUBROUTINE tke 2_rst( kt, cdrw )819 SUBROUTINE zdf_tke( kt ) ! Empty routine 820 WRITE(*,*) 'zdf_tke: You should not have seen this print! error?', kt 821 END SUBROUTINE zdf_tke 822 SUBROUTINE tke_rst( kt, cdrw ) 823 823 CHARACTER(len=*) :: cdrw 824 WRITE(*,*) 'tke 2_rst: You should not have seen this print! error?', kt, cdwr825 END SUBROUTINE tke 2_rst824 WRITE(*,*) 'tke_rst: You should not have seen this print! error?', kt, cdwr 825 END SUBROUTINE tke_rst 826 826 #endif 827 827 828 828 !!====================================================================== 829 END MODULE zdftke 2829 END MODULE zdftke
Note: See TracChangeset
for help on using the changeset viewer.