Changeset 2048 for branches/DEV_r1784_GLS/NEMO
- Timestamp:
- 2010-08-13T10:11:50+02:00 (14 years ago)
- Location:
- branches/DEV_r1784_GLS/NEMO/OPA_SRC
- Files:
-
- 1 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DEV_r1784_GLS/NEMO/OPA_SRC/DYN/dynzdf.F90
r1533 r2048 107 107 USE zdftke_old 108 108 USE zdftke 109 USE zdfgls 109 110 USE zdfkpp 110 111 !!---------------------------------------------------------------------- … … 116 117 117 118 ! Force implicit schemes 118 IF( lk_zdftke_old .OR. lk_zdftke .OR. lk_zdf kpp ) nzdf = 1 ! TKEor KPP physics119 IF( ln_dynldf_iso ) nzdf = 1 ! iso-neutral lateral physics120 IF( ln_dynldf_hor .AND. ln_sco ) nzdf = 1 ! horizontal lateral physics in s-coordinate119 IF( lk_zdftke_old .OR. lk_zdftke .OR. lk_zdfgls .OR. lk_zdfkpp ) nzdf = 1 ! TKE, GLS or KPP physics 120 IF( ln_dynldf_iso ) nzdf = 1 ! iso-neutral lateral physics 121 IF( ln_dynldf_hor .AND. ln_sco ) nzdf = 1 ! horizontal lateral physics in s-coordinate 121 122 122 123 IF( lk_esopa ) nzdf = -1 ! Esopa key: All schemes used -
branches/DEV_r1784_GLS/NEMO/OPA_SRC/DYN/dynzdf_imp.F90
r1662 r2048 24 24 USE phycst ! physical constants 25 25 USE in_out_manager ! I/O manager 26 #if defined key_zdfgls 27 USE zdfbfr, ONLY : bfrua, bfrva, wbotu, wbotv ! bottom stresses 28 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 29 #endif 26 30 27 31 IMPLICIT NONE … … 75 79 REAL(wp) :: zzwi ! temporary scalars 76 80 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zwi ! temporary workspace arrays 81 #if defined key_zdfgls 82 INTEGER :: ikbu, ikbv, ikbum1, ikbvm1 83 REAL(wp) :: zcbcu, zcbcv 84 #endif 77 85 !!---------------------------------------------------------------------- 78 86 … … 173 181 END DO 174 182 END DO 183 184 #if defined key_zdfgls 185 ! Save bottom stress for next time step 186 DO jj = 2, jpjm1 187 DO ji = fs_2, fs_jpim1 ! vector opt. 188 ikbu = MIN( mbathy(ji+1,jj ), mbathy(ji,jj) ) 189 ikbum1 = MAX( ikbu-1, 1 ) 190 wbotu(ji,jj) = bfrua(ji,jj) * ua(ji,jj,ikbum1) * umask(ji,jj,ikbum1) 191 END DO 192 END DO 193 CALL lbc_lnk( wbotu(:,:), 'U', -1. ) 194 #endif 175 195 176 196 ! Normalization to obtain the general momentum trend ua … … 272 292 END DO 273 293 294 #if defined key_zdfgls 295 ! Save bottom stress for next time step 296 DO jj = 2, jpjm1 297 DO ji = fs_2, fs_jpim1 ! vector opt. 298 ikbv = MIN( mbathy(ji,jj+1), mbathy(ji,jj) ) 299 ikbvm1 = MAX( ikbv-1, 1 ) 300 wbotv(ji,jj) = bfrva(ji,jj) * va(ji,jj,ikbvm1) * vmask(ji,jj,ikbvm1) 301 END DO 302 END DO 303 CALL lbc_lnk( wbotv(:,:), 'V', -1. ) 304 #endif 305 274 306 ! Normalization to obtain the general momentum trend va 275 307 DO jk = 1, jpkm1 -
branches/DEV_r1784_GLS/NEMO/OPA_SRC/IOM/restart.F90
r1613 r2048 26 26 USE zdfmxl ! mixed layer depth 27 27 USE trdmld_oce ! ocean active mixed layer tracers trends variables 28 #if defined key_zdfgls 29 USE zdfbfr, ONLY : wbotu, wbotv ! bottom stresses 30 USE zdf_oce 31 #endif 28 32 29 33 IMPLICIT NONE … … 136 140 #endif 137 141 142 #if defined key_zdfgls 143 ! Save bottom stresses 144 CALL iom_rstput( kt, nitrst, numrow, 'wbotu' , wbotu ) 145 CALL iom_rstput( kt, nitrst, numrow, 'wbotv' , wbotv ) 146 #endif 147 138 148 IF( kt == nitrst ) THEN 139 149 CALL iom_close( numrow ) ! close the restart file (only at last time step) -
branches/DEV_r1784_GLS/NEMO/OPA_SRC/TRA/trazdf.F90
r1533 r2048 125 125 USE zdftke_old 126 126 USE zdftke 127 USE zdfgls 127 128 USE zdfkpp 128 129 !!---------------------------------------------------------------------- … … 139 140 140 141 ! Force implicit schemes 141 IF( lk_zdftke_old .OR. lk_zdftke .OR. lk_zdf kpp ) nzdf = 1 ! TKEor KPP physics142 IF( ln_traldf_iso ) nzdf = 1 ! iso-neutral lateral physics143 IF( ln_traldf_hor .AND. ln_sco ) nzdf = 1 ! horizontal lateral physics in s-coordinate142 IF( lk_zdftke_old .OR. lk_zdftke .OR. lk_zdfgls .OR. lk_zdfkpp ) nzdf = 1 ! TKE, GLS or KPP physics 143 IF( ln_traldf_iso ) nzdf = 1 ! iso-neutral lateral physics 144 IF( ln_traldf_hor .AND. ln_sco ) nzdf = 1 ! horizontal lateral physics in s-coordinate 144 145 145 146 IF( ln_zdfexp .AND. nzdf == 1 ) THEN -
branches/DEV_r1784_GLS/NEMO/OPA_SRC/ZDF/zdfbfr.F90
r1708 r2048 29 29 30 30 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: bfrua , bfrva !: Bottom friction coefficients set in zdfbfr 31 #if defined key_zdfgls 32 REAL(wp), PUBLIC :: rn_hbro = 0.003_wp ! Bottom roughness (m) 33 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: wbotu, wbotv ! Bottom stresses 34 #endif 31 35 32 36 ! !!* Namelist nambfr: bottom friction namelist * -
branches/DEV_r1784_GLS/NEMO/OPA_SRC/ZDF/zdfini.F90
r1601 r2048 20 20 USE zdftke_old ! TKE vertical mixing (old scheme) 21 21 USE zdftke ! TKE vertical mixing 22 USE zdfgls ! GLS vertical mixing 22 23 USE zdfkpp ! KPP vertical mixing 23 24 USE zdfddm ! double diffusion mixing … … 106 107 ioptio = ioptio+1 107 108 ENDIF 109 IF( lk_zdfgls ) THEN 110 IF(lwp) WRITE(numout,*) ' GLS dependent eddy coefficients' 111 ioptio = ioptio+1 112 ENDIF 108 113 IF( lk_zdfkpp ) THEN 109 114 IF(lwp) WRITE(numout,*) ' KPP dependent eddy coefficients' … … 128 133 IF(lwp) WRITE(numout,*) ' use the 1.5 turbulent closure' 129 134 ENDIF 135 IF( lk_zdfgls ) THEN 136 IF(lwp) WRITE(numout,*) ' use the GLS closure scheme' 137 ENDIF 130 138 IF( lk_zdfkpp ) THEN 131 139 IF(lwp) WRITE(numout,*) ' use the KPP closure scheme' … … 136 144 ENDIF 137 145 IF ( ioptio > 1 .AND. .NOT. lk_esopa ) CALL ctl_stop( ' chose between ln_zdfnpc and ln_zdfevd' ) 138 IF( ioptio == 0 .AND. .NOT.( lk_zdftke_old .OR. lk_zdftke .OR. lk_zdf kpp ) ) &139 CALL ctl_stop( ' except for TKE sor KPP physics, a convection scheme is', &146 IF( ioptio == 0 .AND. .NOT.( lk_zdftke_old .OR. lk_zdftke .OR. lk_zdfgls .OR. lk_zdfkpp ) ) & 147 CALL ctl_stop( ' except for TKE, GLS or KPP physics, a convection scheme is', & 140 148 & ' required: ln_zdfevd or ln_zdfnpc logicals' ) 141 149 -
branches/DEV_r1784_GLS/NEMO/OPA_SRC/step.F90
r1756 r2048 90 90 USE zdftke_old ! old TKE vertical mixing (zdf_tke_old routine) 91 91 USE zdftke ! TKE vertical mixing (zdf_tke routine) 92 USE zdfgls ! GLS vertical mixing (zdf_gls routine) 92 93 USE zdfkpp ! KPP vertical mixing (zdf_kpp routine) 93 94 USE zdfddm ! double diffusion mixing (zdf_ddm routine) … … 204 205 IF( lk_zdftke_old ) CALL zdf_tke_old( kstp ) ! TKE closure scheme for Kz (old scheme) 205 206 IF( lk_zdftke ) CALL zdf_tke ( kstp ) ! TKE closure scheme for Kz 207 IF( lk_zdfgls ) CALL zdf_gls ( kstp ) ! GLS closure scheme for Kz 206 208 IF( lk_zdfkpp ) CALL zdf_kpp ( kstp ) ! KPP closure scheme for Kz 207 209 IF( lk_zdfcst ) THEN ! Constant Kz (reset avt, avm[uv] to the background value) … … 223 225 ! write tke information in the restart file 224 226 IF( lrst_oce .AND. lk_zdftke ) CALL tke_rst( kstp, 'WRITE' ) 227 ! write gls information in the restart file 228 IF( lrst_oce .AND. lk_zdfgls ) CALL gls_rst( kstp, 'WRITE' ) 225 229 ! 226 230 ! LATERAL PHYSICS
Note: See TracChangeset
for help on using the changeset viewer.