Changeset 10519 for NEMO/trunk
- Timestamp:
- 2019-01-15T18:41:40+01:00 (5 years ago)
- Location:
- NEMO/trunk/src/ICE
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/ICE/icedyn_adv_umx.F90
r10512 r10519 14 14 !! ultimate_x(_y) : compute a tracer value at velocity points using ULTIMATE scheme at various orders 15 15 !! macho : ??? 16 !! nonosc 16 !! nonosc_ice : compute monotonic tracer fluxes by a non-oscillatory algorithm 17 17 !!---------------------------------------------------------------------- 18 18 USE phycst ! physical constant … … 35 35 REAL(wp) :: z1_120 = 1._wp / 120._wp ! =1/120 36 36 37 ! limiter: 1=nonosc , 2=superbee, 3=h3(rachid)37 ! limiter: 1=nonosc_ice, 2=superbee, 3=h3(rachid) 38 38 INTEGER :: kn_limiter = 1 39 39 … … 223 223 !! - calculate tracer H at u and v points (Ultimate) 224 224 !! - calculate the high order fluxes using alterning directions (Macho?) 225 !! - apply a limiter on the fluxes (nonosc )225 !! - apply a limiter on the fluxes (nonosc_ice) 226 226 !! - convert this tracer flux to a tracer content flux (uH -> uV) 227 227 !! - calculate the high order solution for tracer content V … … 229 229 !! ** Action : solve 2 equations => a) da/dt = -div(ua) 230 230 !! b) dV/dt = -div(uV) using dH/dt = -u.grad(H) 231 !! in eq. b), - fluxes uH are evaluated (with UMx) and limited (with nonosc ). This step is necessary to get a good H.231 !! in eq. b), - fluxes uH are evaluated (with UMx) and limited (with nonosc_ice). This step is necessary to get a good H. 232 232 !! - then we convert this flux to a "volume" flux this way => uH*ua/u 233 233 !! where ua is the flux from eq. a) … … 485 485 ! 486 486 IF ( kn_limiter == 1 ) THEN 487 CALL nonosc ( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho )487 CALL nonosc_ice( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho ) 488 488 ELSEIF( kn_limiter == 2 .OR. kn_limiter == 3 ) THEN 489 489 CALL limiter_x( pdt, pu, pt, pfu_ups, pfu_ho ) … … 558 558 559 559 ENDIF 560 IF( kn_limiter == 1 ) CALL nonosc ( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho )560 IF( kn_limiter == 1 ) CALL nonosc_ice( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho ) 561 561 562 562 ENDIF … … 650 650 ENDIF 651 651 652 IF( kn_limiter == 1 ) CALL nonosc ( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho )652 IF( kn_limiter == 1 ) CALL nonosc_ice( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho ) 653 653 ! 654 654 END SUBROUTINE macho … … 964 964 965 965 966 SUBROUTINE nonosc ( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho )966 SUBROUTINE nonosc_ice( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho ) 967 967 !!--------------------------------------------------------------------- 968 !! *** ROUTINE nonosc ***968 !! *** ROUTINE nonosc_ice *** 969 969 !! 970 970 !! ** Purpose : compute monotonic tracer fluxes from the upstream 971 !! scheme and the before field by a non oscillatory algorithm971 !! scheme and the before field by a non-oscillatory algorithm 972 972 !! 973 973 !! ** Method : ... … … 1143 1143 !! & ) * tmask(ji,jj,1) 1144 1144 !! IF( zzt < -epsi20 ) THEN 1145 !! WRITE(numout,*) 'T<0 nonosc ',zzt1145 !! WRITE(numout,*) 'T<0 nonosc_ice',zzt 1146 1146 !! ENDIF 1147 1147 !! END DO … … 1150 1150 END DO 1151 1151 ! 1152 END SUBROUTINE nonosc 1152 END SUBROUTINE nonosc_ice 1153 1153 1154 1154 -
NEMO/trunk/src/ICE/icestp.F90
r10425 r10519 226 226 !!---------------------------------------------------------------------- 227 227 IF(lwp) WRITE(numout,*) 228 IF(lwp) WRITE(numout,*) 'ice_init: Arrays allocation & Initialization off all routines & init state' 228 IF(lwp) WRITE(numout,*) 'Sea Ice Model: SI3 (Sea Ice modelling Integrated Initiative)' 229 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~' 230 IF(lwp) WRITE(numout,*) 231 IF(lwp) WRITE(numout,*) 'ice_init: Arrays allocation & Initialization of all routines & init state' 229 232 IF(lwp) WRITE(numout,*) '~~~~~~~~' 230 233 !
Note: See TracChangeset
for help on using the changeset viewer.