Changeset 519 for trunk/NEMO
- Timestamp:
- 2006-10-11T15:49:05+02:00 (18 years ago)
- Location:
- trunk/NEMO/OPA_SRC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DIA/diaptr.F90
r508 r519 241 241 v_atl , v_ipc, & 242 242 vt_atl, vt_pac, vt_ind, & 243 vs_atl, vs_pac, vs_ind, & 244 zv_eiv 243 vs_atl, vs_pac, vs_ind 245 244 INTEGER :: inum ! temporary logical unit 246 245 !!---------------------------------------------------------------------- … … 252 251 zggram = 1.e-6 253 252 254 # if defined key_diaeiv255 zv_eiv(:,:,:) = v_eiv(:,:,:)256 # else257 zv_eiv(:,:,:) = 0.e0258 # endif259 260 253 ! "zonal" mean temperature and salinity at V-points 261 254 tn_jk(:,:) = ptr_vtjk( tn(:,:,:) ) * surf_jk_r(:,:) … … 279 272 DO ji = 1, jpi 280 273 ! basin separated velocity 281 v_atl(ji,jj,:) = (vn(ji,jj,:)+zv_eiv(ji,jj,:))*abasin(ji,jj)282 v_ipc(ji,jj,:) = (vn(ji,jj,:)+zv_eiv(ji,jj,:))*(pbasin(ji,jj)+ibasin(ji,jj))274 v_atl(ji,jj,:) = vn(ji,jj,:)*abasin(ji,jj) 275 v_ipc(ji,jj,:) = vn(ji,jj,:)*(pbasin(ji,jj)+ibasin(ji,jj)) 283 276 284 277 ! basin separated T times V on T points 285 vt_ind(ji,jj,:) = tn(ji,jj,:) * & 286 & ( (vn (ji,jj,:) + vn (ji,jj-1,:))*0.5 & 287 & + (zv_eiv(ji,jj,:) + zv_eiv(ji,jj-1,:))*0.5 ) 278 vt_ind(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 288 279 vt_atl(ji,jj,:) = vt_ind(ji,jj,:) * abasin(ji,jj) 289 280 vt_pac(ji,jj,:) = vt_ind(ji,jj,:) * pbasin(ji,jj) … … 291 282 292 283 ! basin separated S times V on T points 293 vs_ind(ji,jj,:) = sn(ji,jj,:) * & 294 & ( (vn (ji,jj,:) + vn (ji,jj-1,:))*0.5 & 295 & + (zv_eiv(ji,jj,:) + zv_eiv(ji,jj-1,:))*0.5 ) 284 vs_ind(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 296 285 vs_atl(ji,jj,:) = vs_ind(ji,jj,:) * abasin(ji,jj) 297 286 vs_pac(ji,jj,:) = vs_ind(ji,jj,:) * pbasin(ji,jj) -
trunk/NEMO/OPA_SRC/TRA/traadv.F90
r503 r519 97 97 CASE (-1 ) ! esopa: test all possibility with control print 98 98 ; CALL tra_adv_cen2 ( kt, zun, zvn, zwn ) 99 ; CALL prt_ctl( tab3d_1=ta, clinfo1=' ldf0 - Ta: ', mask1=tmask, &99 ; CALL prt_ctl( tab3d_1=ta, clinfo1=' adv0 - Ta: ', mask1=tmask, & 100 100 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 101 101 ; CALL tra_adv_cen2_jki( kt, zun, zvn, zwn ) 102 ; CALL prt_ctl( tab3d_1=ta, clinfo1=' ldf1 - Ta: ', mask1=tmask, &102 ; CALL prt_ctl( tab3d_1=ta, clinfo1=' adv1 - Ta: ', mask1=tmask, & 103 103 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 104 104 ; CALL tra_adv_tvd ( kt, zun, zvn, zwn ) 105 ; CALL prt_ctl( tab3d_1=ta, clinfo1=' ldf2 - Ta: ', mask1=tmask, &105 ; CALL prt_ctl( tab3d_1=ta, clinfo1=' adv2 - Ta: ', mask1=tmask, & 106 106 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 107 107 ; CALL tra_adv_muscl ( kt, zun, zvn, zwn ) 108 ; CALL prt_ctl( tab3d_1=ta, clinfo1=' ldf3 - Ta: ', mask1=tmask, &108 ; CALL prt_ctl( tab3d_1=ta, clinfo1=' adv3 - Ta: ', mask1=tmask, & 109 109 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 110 110 ; CALL tra_adv_muscl2 ( kt, zun, zvn, zwn ) 111 ; CALL prt_ctl( tab3d_1=ta, clinfo1=' ldf4 - Ta: ', mask1=tmask, &111 ; CALL prt_ctl( tab3d_1=ta, clinfo1=' adv4 - Ta: ', mask1=tmask, & 112 112 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 113 113 ; CALL tra_adv_ubs ( kt, zun, zvn, zwn ) -
trunk/NEMO/OPA_SRC/TRA/traadv_ubs.F90
r503 r519 47 47 !! and add it to the general trend of passive tracer equations. 48 48 !! 49 !! ** Method : ??? 49 !! ** Method : The upstream biased third (UBS) is order scheme based 50 !! on an upstream-biased parabolic interpolation (Shchepetkin and McWilliams 2005) 51 !! It is only used in the horizontal direction. 52 !! For example the i-component of the advective fluxes are given by : 53 !! ! e1u e3u un ( mi(Tn) - zltu(i ) ) if un(i) >= 0 54 !! zwx = ! or 55 !! ! e1u e3u un ( mi(Tn) - zltu(i+1) ) if un(i) < 0 56 !! where zltu is the second derivative of the before temperature field: 57 !! zltu = 1/e3t di[ e2u e3u / e1u di[Tb] ] 58 !! This results in a dissipatively dominant (i.e. hyper-diffusive) 59 !! truncation error. The overall performance of the advection scheme 60 !! is similar to that reported in (Farrow and Stevens, 1995). 61 !! For stability reasons, the first term of the fluxes which corresponds 62 !! to a second order centered scheme is evaluated using the now velocity 63 !! (centered in time) while the second term which is the diffusive part 64 !! of the scheme, is evaluated using the before velocity (forward in time). 65 !! Note that UBS is not positive. Do not use it on passive tracers. 66 !! On the vertical, the advection is evaluated using a TVD scheme, as 67 !! the UBS have been found to be too diffusive. 50 68 !! 51 69 !! ** Action : - update (ta,sa) with the now advective tracer trends 70 !! 71 !! Reference : Shchepetkin, A. F., J. C. McWilliams, 2005, Ocean Modelling, 9, 347-404. 72 !! Farrow, D.E., Stevens, D.P., 1995, J. Phys. Ocean. 25, 1731Ð1741. 52 73 !!---------------------------------------------------------------------- 53 74 USE oce, ONLY : zwx => ua ! use ua as workspace -
trunk/NEMO/OPA_SRC/TRA/trabbl_adv.h90
r503 r519 93 93 !!---------------------------------------------------------------------- 94 94 95 96 95 IF( kt == nit000 ) CALL tra_bbl_init ! initialization at first time-step 97 98 IF( l_trdtra ) THEN ! Save ta and sa trends99 ztrdt(:,:,:) = ta(:,:,:)100 ztrds(:,:,:) = sa(:,:,:)101 ENDIF102 96 103 97 ! 1. 2D fields of bottom temperature and salinity, and bottom slope … … 342 336 END DO 343 337 344 ! save the trends for diagnostic345 ! BBL lateral advection tracers trends346 IF( l_trdtra ) THEN347 ztrdt(:,:,:) = ta(:,:,:) - ztrdt(:,:,:)348 ztrds(:,:,:) = sa(:,:,:) - ztrds(:,:,:)349 CALL trd_mod(ztrdt, ztrds, jptra_trd_bbl, 'TRA', kt)350 ENDIF351 352 338 IF(ln_ctl) CALL prt_ctl( tab3d_1=ta, clinfo1=' bbl - Ta: ', mask1=tmask, & 353 339 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' )
Note: See TracChangeset
for help on using the changeset viewer.