- Timestamp:
- 2015-06-08T12:47:17+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC/TRA/tranxt.F90
r5336 r5373 143 143 ELSE ! Leap-Frog + Asselin filter time stepping 144 144 ! 145 IF( lk_vvl ) THEN ; CALL tra_nxt_vvl( kt, nit000, rdttra, 'TRA', tsb, tsn, tsa, jpts ) ! variable volume level (vvl) 145 IF( lk_vvl ) THEN ; CALL tra_nxt_vvl( kt, nit000, rdttra, 'TRA', tsb, tsn, tsa, & 146 & sbc_tsc, sbc_tsc_b, jpts ) ! variable volume level (vvl) 146 147 ELSE ; CALL tra_nxt_fix( kt, nit000, 'TRA', tsb, tsn, tsa, jpts ) ! fixed volume level 147 148 ENDIF … … 241 242 242 243 243 SUBROUTINE tra_nxt_vvl( kt, kit000, p2dt, cdtype, ptb, ptn, pta, kjpt )244 SUBROUTINE tra_nxt_vvl( kt, kit000, p2dt, cdtype, ptb, ptn, pta, psbc_tc, psbc_tc_b, kjpt ) 244 245 !!---------------------------------------------------------------------- 245 246 !! *** ROUTINE tra_nxt_vvl *** … … 265 266 !! - (ta,sa) time averaged (t,s) (ln_dynhpg_imp = T) 266 267 !!---------------------------------------------------------------------- 267 INTEGER , INTENT(in ) :: kt ! ocean time-step index 268 INTEGER , INTENT(in ) :: kit000 ! first time step index 269 REAL(wp) , INTENT(in ), DIMENSION(jpk) :: p2dt ! time-step 270 CHARACTER(len=3), INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 271 INTEGER , INTENT(in ) :: kjpt ! number of tracers 272 REAL(wp) , INTENT(inout), DIMENSION(jpi,jpj,jpk,kjpt) :: ptb ! before tracer fields 273 REAL(wp) , INTENT(inout), DIMENSION(jpi,jpj,jpk,kjpt) :: ptn ! now tracer fields 274 REAL(wp) , INTENT(inout), DIMENSION(jpi,jpj,jpk,kjpt) :: pta ! tracer trend 268 INTEGER , INTENT(in ) :: kt ! ocean time-step index 269 INTEGER , INTENT(in ) :: kit000 ! first time step index 270 REAL(wp) , INTENT(in ), DIMENSION(jpk) :: p2dt ! time-step 271 CHARACTER(len=3), INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 272 INTEGER , INTENT(in ) :: kjpt ! number of tracers 273 REAL(wp) , INTENT(inout), DIMENSION(jpi,jpj,jpk,kjpt) :: ptb ! before tracer fields 274 REAL(wp) , INTENT(inout), DIMENSION(jpi,jpj,jpk,kjpt) :: ptn ! now tracer fields 275 REAL(wp) , INTENT(inout), DIMENSION(jpi,jpj,jpk,kjpt) :: pta ! tracer trend 276 REAL(wp) , INTENT(in ), DIMENSION(jpi,jpj,kjpt) :: psbc_tc ! surface tracer content 277 REAL(wp) , INTENT(in ), DIMENSION(jpi,jpj,kjpt) :: psbc_tc_b ! before surface tracer content 278 275 279 !! 276 LOGICAL :: ll_tra , ll_tra_hpg, ll_traqsr ! local logical280 LOGICAL :: ll_tra_hpg, ll_traqsr ! local logical 277 281 INTEGER :: ji, jj, jk, jn ! dummy loop indices 278 282 REAL(wp) :: zfact1, ztc_a , ztc_n , ztc_b , ztc_f , ztc_d ! local scalar … … 287 291 ! 288 292 IF( cdtype == 'TRA' ) THEN 289 ll_tra = .TRUE. ! active tracers case290 293 ll_tra_hpg = ln_dynhpg_imp ! active tracers case and semi-implicit hpg 291 294 ll_traqsr = ln_traqsr ! active tracers case and solar penetration 292 295 ELSE 293 ll_tra = .FALSE. ! passive tracers case294 296 ll_tra_hpg = .FALSE. ! passive tracers case or NO semi-implicit hpg 295 297 ll_traqsr = .FALSE. ! active tracers case and NO solar penetration … … 317 319 ! 318 320 IF( jk == 1 ) THEN ! first level 319 320 IF( ll_tra ) ztc_f = ztc_f - zfact1 * ( sbc_tsc(ji,jj,jn) - sbc_tsc_b(ji,jj,jn) )321 ze3t_f = ze3t_f - zfact2 * ( emp_b(ji,jj) - emp(ji,jj) ) 322 ztc_f = ztc_f - zfact1 * ( psbc_tc(ji,jj,jn) - psbc_tc_b(ji,jj,jn) ) 321 323 ENDIF 322 324 IF( ll_traqsr .AND. jn == jp_tem .AND. jk <= nksr ) & ! solar penetration (temperature only)
Note: See TracChangeset
for help on using the changeset viewer.