- Timestamp:
- 2017-09-13T18:46:56+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceadv_umx.F90
r8512 r8518 29 29 PRIVATE 30 30 31 PUBLIC ice_adv_umx ! routinecalled by iceadv.F9031 PUBLIC ice_adv_umx ! called by iceadv.F90 32 32 33 33 REAL(wp) :: z1_6 = 1._wp / 6._wp ! =1/6 … … 43 43 CONTAINS 44 44 45 SUBROUTINE ice_adv_umx( k t, pu_ice, pv_ice, &45 SUBROUTINE ice_adv_umx( k_order, kt, pu_ice, pv_ice, & 46 46 & pato_i, pv_i, pv_s, psmv_i, poa_i, pa_i, pa_ip, pv_ip, pe_s, pe_i ) 47 47 !!---------------------------------------------------------------------- … … 54 54 !! Reference : Leonard, B.P., 1991, Comput. Methods Appl. Mech. Eng., 88, 17-74. 55 55 !!---------------------------------------------------------------------- 56 INTEGER , INTENT(in ) :: k_order ! order of the scheme (1-5 or 20) 56 57 INTEGER , INTENT(in ) :: kt ! time step 57 58 REAL(wp), DIMENSION(:,:) , INTENT(in ) :: pu_ice ! ice i-velocity … … 112 113 !---------------! 113 114 DO jt = 1, initad 114 CALL adv_umx( k t, zdt, zudy, zvdx, zcu_box, zcv_box, pato_i(:,:) ) ! Open water area115 CALL adv_umx( k_order, kt, zdt, zudy, zvdx, zcu_box, zcv_box, pato_i(:,:) ) ! Open water area 115 116 DO jl = 1, jpl 116 CALL adv_umx( k t, zdt, zudy, zvdx, zcu_box, zcv_box, pa_i(:,:,jl) ) ! Ice area117 CALL adv_umx( k t, zdt, zudy, zvdx, zcu_box, zcv_box, pv_i(:,:,jl) ) ! Ice volume118 CALL adv_umx( k t, zdt, zudy, zvdx, zcu_box, zcv_box, psmv_i(:,:,jl) ) ! Salt content119 CALL adv_umx( k t, zdt, zudy, zvdx, zcu_box, zcv_box, poa_i (:,:,jl) ) ! Age content117 CALL adv_umx( k_order, kt, zdt, zudy, zvdx, zcu_box, zcv_box, pa_i(:,:,jl) ) ! Ice area 118 CALL adv_umx( k_order, kt, zdt, zudy, zvdx, zcu_box, zcv_box, pv_i(:,:,jl) ) ! Ice volume 119 CALL adv_umx( k_order, kt, zdt, zudy, zvdx, zcu_box, zcv_box, psmv_i(:,:,jl) ) ! Salt content 120 CALL adv_umx( k_order, kt, zdt, zudy, zvdx, zcu_box, zcv_box, poa_i (:,:,jl) ) ! Age content 120 121 DO jk = 1, nlay_i 121 CALL adv_umx( k t, zdt, zudy, zvdx, zcu_box, zcv_box, pe_i(:,:,jk,jl) ) ! Ice heat content122 END DO 123 CALL adv_umx( k t, zdt, zudy, zvdx, zcu_box, zcv_box, pv_s(:,:,jl) ) ! Snow volume124 CALL adv_umx( k t, zdt, zudy, zvdx, zcu_box, zcv_box, pe_s(:,:,1,jl) ) ! Snow heat content122 CALL adv_umx( k_order, kt, zdt, zudy, zvdx, zcu_box, zcv_box, pe_i(:,:,jk,jl) ) ! Ice heat content 123 END DO 124 CALL adv_umx( k_order, kt, zdt, zudy, zvdx, zcu_box, zcv_box, pv_s(:,:,jl) ) ! Snow volume 125 CALL adv_umx( k_order, kt, zdt, zudy, zvdx, zcu_box, zcv_box, pe_s(:,:,1,jl) ) ! Snow heat content 125 126 IF ( nn_pnd_scheme > 0 ) THEN 126 CALL adv_umx( k t, zdt, zudy, zvdx, zcu_box, zcv_box, pa_ip(:,:,jl) ) ! Melt pond fraction127 CALL adv_umx( k t, zdt, zudy, zvdx, zcu_box, zcv_box, pv_ip(:,:,jl) ) ! Melt pond volume127 CALL adv_umx( k_order, kt, zdt, zudy, zvdx, zcu_box, zcv_box, pa_ip(:,:,jl) ) ! Melt pond fraction 128 CALL adv_umx( k_order, kt, zdt, zudy, zvdx, zcu_box, zcv_box, pv_ip(:,:,jl) ) ! Melt pond volume 128 129 ENDIF 129 130 END DO … … 134 135 END SUBROUTINE ice_adv_umx 135 136 136 SUBROUTINE adv_umx( k t, pdt, puc, pvc, pubox, pvbox, ptc )137 SUBROUTINE adv_umx( k_order, kt, pdt, puc, pvc, pubox, pvbox, ptc ) 137 138 !!---------------------------------------------------------------------- 138 139 !! *** ROUTINE adv_umx *** … … 147 148 !! ** Action : - pt the after advective tracer 148 149 !!---------------------------------------------------------------------- 150 INTEGER , INTENT(in ) :: k_order ! order of the ULTIMATE scheme 149 151 INTEGER , INTENT(in ) :: kt ! number of iteration 150 152 REAL(wp) , INTENT(in ) :: pdt ! tracer time-step … … 189 191 ! High order (_ho) fluxes 190 192 ! ----------------------- 191 SELECT CASE( nn_UMx)193 SELECT CASE( k_order ) 192 194 CASE ( 20 ) ! centered second order 193 195 DO jj = 2, jpjm1 … … 199 201 ! 200 202 CASE ( 1:5 ) ! 1st to 5th order ULTIMATE-MACHO scheme 201 CALL macho( k t, nn_UMx, pdt, ptc, puc, pvc, pubox, pvbox, zt_u, zt_v )203 CALL macho( k_order, kt, pdt, ptc, puc, pvc, pubox, pvbox, zt_u, zt_v ) 202 204 ! 203 205 DO jj = 2, jpjm1 … … 240 242 241 243 242 SUBROUTINE macho( k t, k_order, pdt, ptc, puc, pvc, pubox, pvbox, pt_u, pt_v )244 SUBROUTINE macho( k_order, kt, pdt, ptc, puc, pvc, pubox, pvbox, pt_u, pt_v ) 243 245 !!--------------------------------------------------------------------- 244 246 !! *** ROUTINE ultimate_x *** … … 251 253 !! Reference : Leonard, B.P., 1991, Comput. Methods Appl. Mech. Eng., 88, 17-74. 252 254 !!---------------------------------------------------------------------- 255 INTEGER , INTENT(in ) :: k_order ! order of the ULTIMATE scheme 253 256 INTEGER , INTENT(in ) :: kt ! number of iteration 254 INTEGER , INTENT(in ) :: k_order ! order of the ULTIMATE scheme255 257 REAL(wp) , INTENT(in ) :: pdt ! tracer time-step 256 258 REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: ptc ! tracer fields
Note: See TracChangeset
for help on using the changeset viewer.