Changeset 910 for trunk/NEMO
- Timestamp:
- 2008-04-25T10:41:08+02:00 (16 years ago)
- Location:
- trunk/NEMO/TOP_SRC
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/TOP_SRC/TRP/trcadv_cen2.F90
r888 r910 9 9 !! and vertical advection trends using a 2nd order 10 10 !! centered finite difference scheme 11 !! ups_orca_set : allow mixed upstream/centered scheme in specific 12 !! area (set for orca 2 and 4 only) 11 13 !!---------------------------------------------------------------------- 12 14 !! * Modules used … … 15 17 USE trcbbl ! advective passive tracers in the BBL 16 18 USE prtctl_trc 19 USE sbcrnf ! river runoffs 20 USE closea ! closed sea 17 21 18 22 IMPLICIT NONE … … 21 25 !! * Accessibility 22 26 PUBLIC trc_adv_cen2 ! routine called by trcstp.F90 27 PUBLIC ups_orca_set ! routine used by trcadv_cen2.F90 28 29 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: upsmsk !: mixed upstream/centered scheme near some straits 30 ! ! and in closed seas (orca 2 and 4 configurations) 23 31 24 32 !! * Substitutions … … 144 152 145 153 zbtr2(:,:) = 1. / ( e1t(:,:) * e2t(:,:) ) 154 ! 155 upsmsk(:,:) = 0.e0 ! not upstream by default 156 IF( cp_cfg == "orca" ) CALL ups_orca_set ! set mixed Upstream/centered scheme near some straits 157 ! ! and in closed seas (orca2 and orca4 only) 158 ! 146 159 ENDIF 147 160 … … 162 175 DO jj = 1, jpj 163 176 DO ji = 1, jpi 164 zind(ji,jj,jk) = MAX ( upsrnfh(ji,jj) * upsrnfz(jk), & ! changing advection scheme near runoff165 & ups adv(ji,jj) & ! in the vicinity of some straits177 zind(ji,jj,jk) = MAX ( rnfmsk(ji,jj) * rnfmsk_z(jk), & ! changing advection scheme near runoff 178 & upsmsk(ji,jj) & ! in the vicinity of some straits 166 179 #if defined key_lim3 || defined key_lim2 167 180 & , tmask(ji,jj,jk) & ! half upstream tracer fluxes … … 332 345 333 346 END SUBROUTINE trc_adv_cen2 347 348 SUBROUTINE ups_orca_set 349 !!---------------------------------------------------------------------- 350 !! *** ROUTINE ups_orca_set *** 351 !! 352 !! ** Purpose : add a portion of upstream scheme in area where the 353 !! centered scheme generates too strong overshoot 354 !! 355 !! ** Method : orca (R4 and R2) confiiguration setting. Set upsmsk 356 !! array to nozero value in some straith. 357 !! 358 !! ** Action : - upsmsk set to 1 at some strait, 0 elsewhere for orca 359 !!---------------------------------------------------------------------- 360 INTEGER :: ii0, ii1, ij0, ij1 ! temporary integers 361 !!---------------------------------------------------------------------- 362 363 ! mixed upstream/centered scheme near river mouths 364 ! ------------------------------------------------ 365 SELECT CASE ( jp_cfg ) 366 ! ! ======================= 367 CASE ( 4 ) ! ORCA_R4 configuration 368 ! ! ======================= 369 ! ! Gibraltar Strait 370 ii0 = 70 ; ii1 = 71 371 ij0 = 52 ; ij1 = 53 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.50 372 ! 373 ! ! ======================= 374 CASE ( 2 ) ! ORCA_R2 configuration 375 ! ! ======================= 376 ! ! Gibraltar Strait 377 ij0 = 102 ; ij1 = 102 378 ii0 = 138 ; ii1 = 138 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.20 379 ii0 = 139 ; ii1 = 139 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.40 380 ii0 = 140 ; ii1 = 140 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.50 381 ij0 = 101 ; ij1 = 102 382 ii0 = 141 ; ii1 = 141 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.50 383 ! ! Bab el Mandeb Strait 384 ij0 = 87 ; ij1 = 88 385 ii0 = 164 ; ii1 = 164 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.10 386 ij0 = 88 ; ij1 = 88 387 ii0 = 163 ; ii1 = 163 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.25 388 ii0 = 162 ; ii1 = 162 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.40 389 ii0 = 160 ; ii1 = 161 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.50 390 ij0 = 89 ; ij1 = 89 391 ii0 = 158 ; ii1 = 160 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.25 392 ij0 = 90 ; ij1 = 90 393 ii0 = 160 ; ii1 = 160 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.25 394 ! ! Sound Strait 395 ij0 = 116 ; ij1 = 116 396 ii0 = 144 ; ii1 = 144 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.25 397 ii0 = 145 ; ii1 = 147 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.50 398 ii0 = 148 ; ii1 = 148 ; upsmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.25 399 ! 400 END SELECT 401 402 ! mixed upstream/centered scheme over closed seas 403 ! ----------------------------------------------- 404 CALL clo_ups( upsmsk(:,:) ) 405 ! 406 END SUBROUTINE ups_orca_set 407 334 408 #else 335 409 … … 342 416 WRITE(*,*) 'trc_adv_cen2: You should not have seen this print! error?', kt 343 417 END SUBROUTINE trc_adv_cen2 418 SUBROUTINE ups_orca_set 419 END SUBROUTINE ups_orca_set 344 420 #endif 345 421 !!====================================================================== -
trunk/NEMO/TOP_SRC/oce_trc.F90
r719 r910 208 208 209 209 !! wind speed 210 USE taumod , ONLY : & 211 taux => taux , & !: i-surface stress component 212 tauy => tauy !: j-surface stress component 210 USE sbc_oce , ONLY : & 211 taux => utau , & !: i-surface stress component 212 tauy => vtau , & !: j-surface stress component 213 qsr => qsr , & !: penetrative solar radiation (w m-2) 214 emp => emp , & !: evaporation minus precipitation (kg m-2 s-2) 215 emps => emps !: evaporation minus precipitation (kg m-2 s-2) 216 213 217 214 218 #if defined key_trabbl_dif || defined key_trabbl_adv … … 252 256 ln_qsr_sms => ln_qsr_sms !: flag to use or not the biological fluxes for light 253 257 254 !! surface fluxes255 USE ocesbc , ONLY : &256 qt => qt , & !: total surface heat flux (w m-2)257 qsr => qsr , & !: penetrative solar radiation (w m-2)258 emp => emp , & !: evaporation minus precipitation (kg m-2 s-2)259 emps => emps !: evaporation minus precipitation (kg m-2 s-2)260 261 258 !! freezing area 262 259 USE ocfzpt , ONLY : & … … 283 280 284 281 !! ocean forcings runoff 285 USE flxrnf , ONLY : & 286 upsrnfh => upsrnfh , & !: mixed adv scheme in runoffs vicinity (hori.) 287 upsrnfz => upsrnfz , & !: mixed adv scheme in runoffs vicinity (vert.) 288 upsadv => upsadv !: mixed adv scheme in straits vicinity (hori.) 282 USE sbcrnf , ONLY : & 283 upsrnfh => rnfmsk , & !: mixed adv scheme in runoffs vicinity (hori.) 284 upsrnfz => rnfmsk_z !: mixed adv scheme in runoffs vicinity (vert.) 289 285 290 286 END MODULE oce_trc
Note: See TracChangeset
for help on using the changeset viewer.