Changeset 4825 for branches/2014/dev_r4822_INGV_WAVE
- Timestamp:
- 2014-10-24T18:28:42+02:00 (10 years ago)
- Location:
- branches/2014/dev_r4822_INGV_WAVE/NEMOGCM
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/CONFIG/SHARED/namelist_ref
r4773 r4825 635 635 rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) 636 636 ln_bfrimp = .true. ! implicit bottom friction (requires ln_zdfexp = .false. if true) 637 ln_zdfqiao = .false. ! Enhanced wave vertical mixing Qiao (2010) 637 638 / 638 639 !----------------------------------------------------------------------- … … 1177 1178 sn_usd = 'sdw_wave' , 1 , 'u_sd2d' , .true. , .false. , 'daily' , '' , '' , '' 1178 1179 sn_vsd = 'sdw_wave' , 1 , 'v_sd2d' , .true. , .false. , 'daily' , '' , '' , '' 1180 sn_swh = 'sdw_wave' , 1 , 'hs' , .true. , .false. , 'daily' , '' , '' , '' 1181 sn_wmp = 'sdw_wave' , 1 , 'wmp' , .true. , .false. , 'daily' , '' , '' , '' 1179 1182 sn_wn = 'sdw_wave' , 1 , 'wave_num' , .true. , .false. , 'daily' , '' , '' , '' 1180 1183 ! -
branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90
r4486 r4825 9 9 !! - ! 2010-09 (D.Storkey and E.O'Dea) bug fixes for BDY module 10 10 !! 3.3 ! 2011-10 (M. Leclair) split former ssh_wzv routine and remove all vvl related work 11 !! 3.6 ! 2014-10 (E. Clementi, P. Oddo) add wave contribution to surface vertical velocity 11 12 !!---------------------------------------------------------------------- 12 13 … … 42 43 USE wrk_nemo ! Memory Allocation 43 44 USE timing ! Timing 45 USE sbcwave, ONLY: usd2dt, vsd2dt,wsd3d 44 46 45 47 IMPLICIT NONE … … 172 174 INTEGER :: ji, jj, jk ! dummy loop indices 173 175 REAL(wp) :: z1_2dt ! local scalars 176 ! 177 REAL(wp), ALLOCATABLE, DIMENSION(:,: ) :: sshnu, sshnv, dsshnu,dsshnv 174 178 !!---------------------------------------------------------------------- 175 179 … … 220 224 END DO 221 225 ENDIF 226 ! 227 ! In case ln_wave and ln_sdw the surface vertical velocity is modified 228 ! accounting for Sokes Drift velocity 229 IF ( ln_sdw ) THEN 230 ALLOCATE(sshnu(jpi,jpj),sshnv(jpi,jpj),dsshnu(jpi,jpj),dsshnv(jpi,jpj)) 231 sshnu (:,:) = 0._wp 232 sshnv (:,:) = 0._wp 233 dsshnu(:,:) = 0._wp 234 dsshnv(:,:) = 0._wp 235 ! sshn interpolated on U-V grid 236 !--------------------------------- 237 DO jj = 1 , jpjm1 238 DO ji = 1 , jpim1 239 sshnu(ji,jj) = 0.5 * ( 2. - umask(ji,jj,1) ) * & 240 & ( sshn(ji ,jj) * tmask(ji ,jj,1) & 241 & + sshn(ji+1,jj) * tmask(ji+1,jj,1) ) 242 sshnv(ji,jj) = 0.5 * ( 2. - vmask(ji,jj,1) ) * & 243 & ( sshn(ji,jj ) * tmask(ji,jj ,1) & 244 & + sshn(ji,jj+1) * tmask(ji,jj+1,1) ) 245 ENDDO 246 ENDDO 247 ! Compute d(ssh)/dx and d(ssh)/dy 248 !--------------------------------- 249 DO jj = 1 , jpjm1 250 DO ji = 1 , jpim1 251 dsshnu(ji,jj) = ( sshnu(ji+1,jj) - sshnu(ji,jj) ) / e1u(ji,jj) 252 dsshnv(ji,jj) = ( sshnv(ji,jj+1) - sshnv(ji,jj) ) / e2v(ji,jj) 253 ENDDO 254 ENDDO 255 ! Compute the surface vertical velocity accounting for the Stokes Drift 256 !--------------------------------------------------------------------- 257 wn(:,:,1) = wn(:,:,1) + usd2dt(:,:) * dsshnu(:,:) & 258 & + vsd2dt(:,:) * dsshnv(:,:) & 259 & - ( wsd3d (:,:,1) ) * tmask(:,:,1) 260 ENDIF 261 ! 222 262 223 263 #if defined key_bdy -
branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/ZDF/zdf_oce.F90
r4147 r4825 35 35 INTEGER , PUBLIC :: nn_npc !: non penetrative convective scheme call frequency 36 36 INTEGER , PUBLIC :: nn_npcp !: non penetrative convective scheme print frequency 37 LOGICAL , PUBLIC :: ln_zdfqiao !: Enhanced wave vertical mixing Qiao(2010) formulation flag 37 38 38 39 -
branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfini.F90
r4677 r4825 53 53 INTEGER :: ios 54 54 !! 55 NAMELIST/namzdf/ rn_avm0, rn_avt0, nn_avb, nn_havtb, ln_zdfexp, nn_zdfexp, & 56 & ln_zdfevd, nn_evdm, rn_avevd, ln_zdfnpc, nn_npc, nn_npcp 55 NAMELIST/namzdf/ rn_avm0, rn_avt0, nn_avb, nn_havtb, ln_zdfexp, nn_zdfexp, & 56 & ln_zdfevd, nn_evdm, rn_avevd, ln_zdfnpc, nn_npc, nn_npcp, & 57 & ln_zdfqiao 57 58 !!---------------------------------------------------------------------- 58 59 … … 83 84 WRITE(numout,*) ' npc call frequency nn_npc = ', nn_npc 84 85 WRITE(numout,*) ' npc print frequency nn_npcp = ', nn_npcp 86 WRITE(numout,*) ' Qiao formulation flag ln_zdfqiao=', ln_zdfqiao 85 87 ENDIF 86 88 -
branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/step.F90
r4760 r4825 25 25 !! 3.4 ! 2011-04 (G. Madec, C. Ethe) Merge of dtatem and dtasal 26 26 !! ! 2012-07 (J. Simeon, G. Madec. C. Ethe) Online coarsening of outputs 27 !! 3.6 ! 2014-10 (E. Clementi, P. Oddo) Add Qiao vertical mixing in case of waves 27 28 !!---------------------------------------------------------------------- 28 29 … … 70 71 !! -8- Outputs and diagnostics 71 72 !!---------------------------------------------------------------------- 72 INTEGER :: j k ! dummy loop indice73 INTEGER :: ji,jj,jk ! dummy loop indice 73 74 INTEGER :: indic ! error indicator if < 0 74 75 INTEGER :: kcall ! optional integer argument (dom_vvl_sf_nxt) … … 116 117 IF( lk_zdfgls ) CALL zdf_gls( kstp ) ! GLS closure scheme for Kz 117 118 IF( lk_zdfkpp ) CALL zdf_kpp( kstp ) ! KPP closure scheme for Kz 119 IF( ln_zdfqiao ) THEN 120 CALL zdf_qiao(kstp ) ! Qiao vertical mixing 121 DO jk = 1, jpkm1 122 DO jj = 1, jpj 123 DO ji = 1, jpi 124 avmu(ji,jj,jk) = (avmu(ji,jj,jk) + QBvu(ji,jj,jk)) * umask(ji,jj,jk) 125 avmv(ji,jj,jk) = (avmv(ji,jj,jk) + QBvv(ji,jj,jk)) * vmask(ji,jj,jk) 126 avt( ji,jj,jk) = (avt( ji,jj,jk) + QBv(ji,jj,jk)) * tmask(ji,jj,jk) 127 END DO 128 END DO 129 END DO 130 ENDIF 131 118 132 IF( lk_zdfcst ) THEN ! Constant Kz (reset avt, avm[uv] to the background value) 119 133 avt (:,:,:) = rn_avt0 * tmask(:,:,:) … … 121 135 avmv(:,:,:) = rn_avm0 * vmask(:,:,:) 122 136 ENDIF 137 ! 123 138 IF( ln_rnf_mouth ) THEN ! increase diffusivity at rivers mouths 124 139 DO jk = 2, nkrnf ; avt(:,:,jk) = avt(:,:,jk) + 2.e0 * rn_avt_rnf * rnfmsk(:,:) * tmask(:,:,jk) ; END DO -
branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/step_oce.F90
r4328 r4825 80 80 USE zdfric ! Richardson vertical mixing (zdf_ric routine) 81 81 USE zdfmxl ! Mixed-layer depth (zdf_mxl routine) 82 USE zdfqiao !Qiao module wave induced mixing (zdf_qiao routine) 82 83 83 84 USE zpshde ! partial step: hor. derivative (zps_hde routine)
Note: See TracChangeset
for help on using the changeset viewer.