Changeset 5457
 Timestamp:
 20150622T12:36:03+02:00 (9 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/cfg.txt
r4690 r5457 1 1 GYRE_PISCES OPA_SRC TOP_SRC 2 2 ORCA2_LIM_CFC_C14b OPA_SRC LIM_SRC_2 NST_SRC TOP_SRC 3 GYRE OPA_SRC4 3 GYRE_XIOS OPA_SRC 5 4 ORCA2_OFF_PISCES OPA_SRC OFF_SRC TOP_SRC … … 11 10 ORCA2_LIM_PISCES OPA_SRC LIM_SRC_2 NST_SRC TOP_SRC 12 11 ORCA2_LIM3 OPA_SRC LIM_SRC_3 NST_SRC 12 GYRE OPA_SRC 
branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90
r4825 r5457 227 227 ! In case ln_wave and ln_sdw the surface vertical velocity is modified 228 228 ! accounting for Sokes Drift velocity 229 IF ( ln_ sdw ) THEN229 IF ( ln_wave .AND. ln_sdw ) THEN 230 230 ALLOCATE(sshnu(jpi,jpj),sshnv(jpi,jpj),dsshnu(jpi,jpj),dsshnv(jpi,jpj)) 231 231 sshnu (:,:) = 0._wp 
branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90
r4306 r5457 52 52 LOGICAL , PUBLIC :: ln_cdgw !: true if neutral drag coefficient from wave model 53 53 LOGICAL , PUBLIC :: ln_sdw !: true if 3d stokes drift from wave model 54 LOGICAL , PUBLIC :: ln_tauoc !: true if normalized stress from wave is used 54 55 ! 55 56 LOGICAL , PUBLIC :: ln_icebergs !: Icebergs 
branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r4822 r5457 84 84 NAMELIST/namsbc/ nn_fsbc , ln_ana , ln_flx, ln_blk_clio, ln_blk_core, ln_cpl, & 85 85 & ln_blk_mfs, ln_apr_dyn, nn_ice, nn_ice_embd, ln_dm2dc , ln_rnf, & 86 & ln_ssr , nn_fwb , ln_cdgw , ln_wave , ln_sdw, nn_lsm, cn_iceflx 86 & ln_ssr , nn_fwb , ln_cdgw , ln_wave , ln_sdw, ln_tauoc, & 87 & nn_lsm, cn_iceflx 87 88 INTEGER :: ios 88 89 !! … … 337 338 CALL sbc_cpl_rcv ( kt, nn_fsbc, nn_ice ) ! 338 339 END SELECT 339 340 IF (ln_wave .AND. ln_tauoc) THEN 341 utau(:,:) = utau(:,:)*tauoc_wave(:,:) 342 vtau(:,:) = vtau(:,:)*tauoc_wave(:,:) 343 taum(:,:) = taum(:,:)*tauoc_wave(:,:) 344 ! 345 SELECT CASE( nsbc ) 346 CASE( 0,1,2,3,5,1 ) ; 347 IF(lwp) WRITE(numout,*) 'WARNING: You are subtracting the wave stress to the ocean. & 348 & If not requested select ln_tauoc=.false' 349 END SELECT 350 ! 351 END IF 340 352 ! !== Misc. Options ==! 341 353 
branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90
r4962 r5457 35 35 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_sd ! structure of input fields (file informations, fields read) Stokes Drift 36 36 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_wn ! structure of input fields (file informations, fields read) wave number for Qiao 37 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_tauoc ! structure of input fields (file informations, fields read) normalized wave stress into the ocean 37 38 REAL(wp),PUBLIC,ALLOCATABLE,DIMENSION (:,:) :: cdn_wave 38 39 REAL(wp),ALLOCATABLE,DIMENSION (:,:) :: usd2d,vsd2d … … 40 41 REAL(wp),PUBLIC,ALLOCATABLE,DIMENSION (:,:) :: usd2dt,vsd2dt,tsd2d 41 42 REAL(wp),PUBLIC,ALLOCATABLE,DIMENSION (:,:,:) :: usd3d,vsd3d,wsd3d 43 REAL(wp),PUBLIC,ALLOCATABLE,DIMENSION (:,:) :: tauoc_wave 42 44 LOGICAL, PUBLIC :: ln_stcor = .FALSE. 43 45 … … 84 86 CHARACTER(len=100) :: cn_dir ! Root directory for location of drag coefficient files 85 87 TYPE(FLD_N) :: sn_cdg, sn_usd, sn_vsd, & 86 & sn_swh, sn_wmp, sn_wnum 87 !! 88 NAMELIST/namsbc_wave/ sn_cdg, cn_dir, sn_usd, sn_vsd, sn_swh, sn_wmp, sn_wnum, ln_stcor 88 & sn_swh, sn_wmp, sn_wnum, sn_tauoc ! informations about the fields to be read 89 !! 90 NAMELIST/namsbc_wave/ sn_cdg, cn_dir, sn_usd, sn_vsd, sn_swh, sn_wmp, sn_wnum, ln_stcor, sn_tauoc 89 91 !! 90 92 … … 115 117 cdn_wave(:,:) = 0.0 116 118 ENDIF 117 119 ! 120 IF ( ln_tauoc ) THEN 121 ALLOCATE( sf_tauoc(1), STAT=ierror ) !* allocate and fill sf_wave with sn_tauoc 122 IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_wave: unable to allocate sf_wave structure' ) 123 ! 124 ALLOCATE( sf_tauoc(1)%fnow(jpi,jpj,1) ) 125 IF( sn_cdg%ln_tint ) ALLOCATE( sf_tauoc(1)%fdta(jpi,jpj,1,2) ) 126 CALL fld_fill( sf_tauoc, (/ sn_tauoc /), cn_dir, 'sbc_wave', 'Wave module', 'namsbc_wave' ) 127 ALLOCATE( tauoc_wave(jpi,jpj) ) 128 tauoc_wave(:,:) = 0.0 129 ENDIF 130 ! 118 131 IF ( ln_sdw ) THEN 119 132 slf_i(jp_usd) = sn_usd ; slf_i(jp_vsd) = sn_vsd; … … 152 165 cdn_wave(:,:) = sf_cd(1)%fnow(:,:,1) 153 166 ENDIF 167 ! 168 IF ( ln_tauoc ) THEN 169 CALL fld_read( kt, nn_fsbc, sf_tauoc ) !* read wave norm stress from external forcing 170 tauoc_wave(:,:) = sf_tauoc(1)%fnow(:,:,1) 171 ENDIF 172 ! 154 173 IF ( ln_sdw ) THEN 155 174 CALL fld_read( kt, nn_fsbc, sf_sd ) !* read wave parameters from external forcing … … 214 233 CALL lbc_lnk( vsd3d(:,:,:), 'V', 1. ) 215 234 216 217 235 CALL wrk_alloc( jpi,jpj,jpk,udummy,vdummy,hdivdummy,rotdummy) 218 236 ! 
branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90
r4624 r5457 7 7 !! 3.3 ! 201009 (C. Ethe, G. Madec) merge TRCTRA + switch from velocity to transport 8 8 !! 4.0 ! 201106 (G. Madec) Addition of Mixed Layer Eddy parameterisation 9 !! 3.6 ! 201506 (E. Clementi) Addition of Stokes drift in case of wave coupling 9 10 !! 10 11 … … 32 33 USE wrk_nemo ! Memory Allocation 33 34 USE timing ! Timing 34 35 USE sbcwave ! wave module 36 USE sbc_oce ! surface boundary condition: ocean 35 37 36 38 IMPLICIT NONE … … 80 82 ! 81 83 CALL wrk_alloc( jpi, jpj, jpk, zun, zvn, zwn ) 84 ! 85 zun(:,:,:) = 0.0 86 zvn(:,:,:) = 0.0 87 zwn(:,:,:) = 0.0 82 88 ! ! set time step 83 89 IF( neuler == 0 .AND. kt == nit000 ) THEN ! at nit000 … … 89 95 IF( nn_cla == 1 .AND. cp_cfg == 'orca' .AND. jp_cfg == 2 ) CALL cla_traadv( kt ) !== Cross Land Advection ==! (hor. advection) 90 96 ! 91 ! !== effective transport ==! 92 DO jk = 1, jpkm1 93 zun(:,:,jk) = e2u(:,:) * fse3u(:,:,jk) * un(:,:,jk) ! eulerian transport only 94 zvn(:,:,jk) = e1v(:,:) * fse3v(:,:,jk) * vn(:,:,jk) 95 zwn(:,:,jk) = e1t(:,:) * e2t(:,:) * wn(:,:,jk) 96 END DO 97 IF (ln_wave .AND. ln_sdw) THEN 98 DO jk = 1, jpkm1 99 zun(:,:,jk) = e2u(:,:) * fse3u(:,:,jk) * & 100 & ( un(:,:,jk) + usd3d(:,:,jk) ) !eulerian transport + Stokes Drift 101 zvn(:,:,jk) = e1v(:,:) * fse3v(:,:,jk) * & 102 & ( vn(:,:,jk) + vsd3d(:,:,jk) ) 103 zwn(:,:,jk) = e1t(:,:) * e2t(:,:) * & 104 & ( wn(:,:,jk) + wsd3d(:,:,jk) ) 105 END DO 106 ELSE 107 DO jk = 1, jpkm1 108 zun(:,:,jk) = e2u(:,:) * fse3u(:,:,jk) * un(:,:,jk) ! eulerian transport only 109 zvn(:,:,jk) = e1v(:,:) * fse3v(:,:,jk) * vn(:,:,jk) 110 zwn(:,:,jk) = e1t(:,:) * e2t(:,:) * wn(:,:,jk) 111 END DO 112 ENDIF 97 113 ! 98 114 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN
Note: See TracChangeset
for help on using the changeset viewer.