Changeset 15078
- Timestamp:
- 2021-07-05T12:10:35+02:00 (3 years ago)
- Location:
- NEMO/branches/UKMO/NEMO_r4.2RC_GO8_package/src
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_r4.2RC_GO8_package/src/ICE/icevar.F90
r14997 r15078 341 341 !!------------------------------------------------------------------- 342 342 INTEGER :: ji, jj, jk, jl ! dummy loop index 343 REAL(wp) :: z sal, z1_dS344 REAL(wp) :: z argtemp, zs0, zs343 REAL(wp) :: z1_dS 344 REAL(wp) :: ztmp1, ztmp2, zs0, zs 345 345 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: z_slope_s, zalpha ! case 2 only 346 346 REAL(wp), PARAMETER :: zsi0 = 3.5_wp … … 409 409 DO jl = 1, jpl 410 410 DO jk = 1, nlay_i 411 zargtemp = ( REAL(jk,wp) - 0.5_wp ) * r1_nlay_i 412 sz_i(:,:,jk,jl) = 1.6_wp * ( 1._wp - COS( rpi * zargtemp**(0.407_wp/(0.573_wp+zargtemp)) ) ) 411 ztmp1 = ( REAL(jk,wp) - 0.5_wp ) * r1_nlay_i 412 ztmp2 = 1.6_wp * ( 1._wp - COS( rpi * ztmp1**(0.407_wp/(0.573_wp+ztmp1)) ) ) 413 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 414 sz_i(ji,jj,jk,jl) = ztmp2 415 END_2D 413 416 END DO 414 417 END DO … … 427 430 !!------------------------------------------------------------------- 428 431 INTEGER :: ji, jk ! dummy loop indices 429 REAL(wp) :: z argtemp, zsal, z1_dS ! local scalars432 REAL(wp) :: ztmp1, ztmp2, z1_dS ! local scalars 430 433 REAL(wp) :: zs, zs0 ! - - 431 434 ! … … 480 483 !!gm cf remark in ice_var_salprof routine, CASE( 3 ) 481 484 DO jk = 1, nlay_i 482 z argtemp= ( REAL(jk,wp) - 0.5_wp ) * r1_nlay_i483 z sal = 1.6_wp * ( 1._wp - COS( rpi * zargtemp**( 0.407_wp / ( 0.573_wp + zargtemp) ) ) )485 ztmp1 = ( REAL(jk,wp) - 0.5_wp ) * r1_nlay_i 486 ztmp2 = 1.6_wp * ( 1._wp - COS( rpi * ztmp1**( 0.407_wp / ( 0.573_wp + ztmp1 ) ) ) ) 484 487 DO ji = 1, npti 485 sz_i_1d(ji,jk) = z sal488 sz_i_1d(ji,jk) = ztmp2 486 489 END DO 487 490 END DO -
NEMO/branches/UKMO/NEMO_r4.2RC_GO8_package/src/OCE/DOM/domqco.F90
r15014 r15078 125 125 ! dom_qco_r3c defines over [nn_hls, nn_hls-1, nn_hls, nn_hls-1] 126 126 IF( nn_hls == 2 ) CALL lbc_lnk( 'dom_qco_zgr', r3u(:,:,Kbb), 'U', 1._wp, r3v(:,:,Kbb), 'V', 1._wp, & 127 & r3u(:,:,Kmm), 'U', 1._wp, r3v(:,:,Kmm), 'V', 1._wp )128 ! 127 & r3u(:,:,Kmm), 'U', 1._wp, r3v(:,:,Kmm), 'V', 1._wp, r3f(:,:), 'F', 1._wp ) 128 ! ! r3f is needed for agrif 129 129 END SUBROUTINE dom_qco_zgr 130 130 … … 184 184 ! ! no 'key_qcoTest_FluxForm' : surface weighted ssh average 185 185 186 DO_2D_OVR( nn_hls -1, nn_hls-1, nn_hls-1, nn_hls-1 )186 DO_2D_OVR( nn_hls, nn_hls-1, nn_hls, nn_hls-1 ) 187 187 ! round brackets added to fix the order of floating point operations 188 188 ! needed to ensure halo 1 - halo 2 compatibility … … 197 197 !!st ELSE !- Flux Form (simple averaging) 198 198 #else 199 DO_2D_OVR( nn_hls -1, nn_hls-1, nn_hls-1, nn_hls-1 )199 DO_2D_OVR( nn_hls, nn_hls-1, nn_hls, nn_hls-1 ) 200 200 ! round brackets added to fix the order of floating point operations 201 201 ! needed to ensure halo 1 - halo 2 compatibility -
NEMO/branches/UKMO/NEMO_r4.2RC_GO8_package/src/OCE/OBS/diaobs.F90
r15062 r15078 97 97 TYPE(obs_prof), PUBLIC, POINTER, DIMENSION(:) :: profdataqc !: Profile data after quality control 98 98 99 CHARACTER(len= 8), PUBLIC, DIMENSION(:), ALLOCATABLE :: cobstypesprof, cobstypessurf !: Profile & surface obs types99 CHARACTER(len=lca), PUBLIC, DIMENSION(:), ALLOCATABLE :: cobstypesprof, cobstypessurf !: Profile & surface obs types 100 100 101 101 # include "domzgr_substitute.h90" … … 1026 1026 INTEGER, DIMENSION(ntypes), INTENT(OUT) :: & 1027 1027 & ifiles ! Out number of files for each type 1028 CHARACTER(len= 8), DIMENSION(ntypes), INTENT(IN) :: &1028 CHARACTER(len=lca), DIMENSION(ntypes), INTENT(IN) :: & 1029 1029 & cobstypes ! List of obs types 1030 1030 CHARACTER(len=128), DIMENSION(ntypes, jpmaxnfiles), INTENT(IN) :: & -
NEMO/branches/UKMO/NEMO_r4.2RC_GO8_package/src/OCE/TRA/traadv.F90
r15060 r15078 175 175 ! 176 176 CASE ( np_CEN ) ! Centered scheme : 2nd / 4th order 177 CALL tra_adv_cen ( kt, nit000, 'TRA', zuu, zvv, zww, Kmm, pts, jpts, Krhs, nn_cen_h, nn_cen_v)177 CALL tra_adv_cen ( kt, nit000, 'TRA', zuu, zvv, zww, Kmm, pts, jpts, Krhs, nn_cen_h, nn_cen_v ) 178 178 CASE ( np_FCT ) ! FCT scheme : 2nd / 4th order 179 CALL tra_adv_fct 179 CALL tra_adv_fct ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, nn_fct_h, nn_fct_v ) 180 180 CASE ( np_MUS ) ! MUSCL 181 CALL tra_adv_mus ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, ln_mus_ups)181 CALL tra_adv_mus( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, ln_mus_ups ) 182 182 CASE ( np_UBS ) ! UBS 183 CALL tra_adv_ubs ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, nn_ubs_v )183 CALL tra_adv_ubs ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, nn_ubs_v ) 184 184 CASE ( np_QCK ) ! QUICKEST 185 CALL tra_adv_qck ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs )185 CALL tra_adv_qck ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs ) 186 186 ! 187 187 END SELECT -
NEMO/branches/UKMO/NEMO_r4.2RC_GO8_package/src/OCE/TRA/traadv_ubs_lf.F90
r14834 r15078 130 130 ! ! =========== 131 131 ! !== horizontal laplacian of before tracer ==! 132 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) ! Second derivative (divergence)132 DO_3D( 1, 0, 1, 0, 1, jpkm1 ) ! Second derivative (divergence) 133 133 ! First derivative (masked gradient) 134 zeeu_im1 = e2_e1u(ji-1,jj ) * e3u(ji-1,jj,jk,Kmm) * umask(ji-1,jj,jk)135 zeeu = e2_e1u(ji,jj) * e3u(ji,jj,jk,Kmm) * umask(ji,jj,jk)136 zeeu_ip1 = e2_e1u(ji+1,jj ) * e3u(ji+1,jj,jk,Kmm) * umask(ji+1,jj,jk)137 zeev_jm1 = e1_e2v(ji ,jj-1) * e3v(ji,jj-1,jk,Kmm) * vmask(ji,jj-1,jk)138 zeev = e1_e2v(ji,jj) * e3v(ji,jj,jk,Kmm) * vmask(ji,jj,jk)139 zeev_jp1 = e1_e2v(ji ,jj+1) * e3v(ji,jj+1,jk,Kmm) * vmask(ji,jj+1,jk)140 ! 141 zztu_im1 = zeeu_im1 * ( pt(ji ,jj,jk,jn,Kbb) - pt(ji-1,jj,jk,jn,Kbb) )142 zztu = zeeu * ( pt(ji+1,jj,jk,jn,Kbb) - pt(ji,jj,jk,jn,Kbb) )134 zeeu_im1 = e2_e1u(ji-1,jj ) * e3u(ji-1,jj ,jk,Kmm) * umask(ji-1,jj ,jk) 135 zeeu = e2_e1u(ji ,jj ) * e3u(ji ,jj ,jk,Kmm) * umask(ji ,jj ,jk) 136 zeeu_ip1 = e2_e1u(ji+1,jj ) * e3u(ji+1,jj ,jk,Kmm) * umask(ji+1,jj ,jk) 137 zeev_jm1 = e1_e2v(ji ,jj-1) * e3v(ji ,jj-1,jk,Kmm) * vmask(ji ,jj-1,jk) 138 zeev = e1_e2v(ji ,jj ) * e3v(ji ,jj ,jk,Kmm) * vmask(ji ,jj ,jk) 139 zeev_jp1 = e1_e2v(ji ,jj+1) * e3v(ji ,jj+1,jk,Kmm) * vmask(ji ,jj+1,jk) 140 ! 141 zztu_im1 = zeeu_im1 * ( pt(ji ,jj,jk,jn,Kbb) - pt(ji-1,jj,jk,jn,Kbb) ) 142 zztu = zeeu * ( pt(ji+1,jj,jk,jn,Kbb) - pt(ji ,jj,jk,jn,Kbb) ) 143 143 zztu_ip1 = zeeu_ip1 * ( pt(ji+2,jj,jk,jn,Kbb) - pt(ji+1,jj,jk,jn,Kbb) ) 144 144 ! 145 zztv_jm1 = zeev_jm1 * ( pt(ji,jj ,jk,jn,Kbb) - pt(ji,jj-1,jk,jn,Kbb) )146 zztv = zeev * ( pt(ji ,jj+1,jk,jn,Kbb) - pt(ji,jj,jk,jn,Kbb) )145 zztv_jm1 = zeev_jm1 * ( pt(ji,jj ,jk,jn,Kbb) - pt(ji,jj-1,jk,jn,Kbb) ) 146 zztv = zeev * ( pt(ji,jj+1,jk,jn,Kbb) - pt(ji,jj ,jk,jn,Kbb) ) 147 147 zztv_jp1 = zeev_jp1 * ( pt(ji,jj+2,jk,jn,Kbb) - pt(ji,jj+1,jk,jn,Kbb) ) 148 148 ! Second derivative (divergence) 149 zcoef = 1._wp / ( 6._wp * e3t(ji,jj,jk,Kmm) )150 zcoef_ip1 = 1._wp / ( 6._wp * e3t(ji+1,jj ,jk,Kmm) )151 zcoef_jp1 = 1._wp / ( 6._wp * e3t(ji ,jj+1,jk,Kmm) )152 ! 153 zzltu = ( zztu- zztu_im1 ) * zcoef154 zzltu_ip1 = ( zztu_ip1 - zztu ) * zcoef_ip1155 zzltv = ( zztv- zztv_jm1 ) * zcoef156 zzltv_jp1 = ( zztv_jp1 - zztv ) * zcoef_jp1149 zcoef = 1._wp / ( 6._wp * e3t(ji ,jj ,jk,Kmm) ) 150 zcoef_ip1 = 1._wp / ( 6._wp * e3t(ji+1,jj ,jk,Kmm) ) 151 zcoef_jp1 = 1._wp / ( 6._wp * e3t(ji ,jj+1,jk,Kmm) ) 152 ! 153 zzltu = ( zztu - zztu_im1 ) * zcoef 154 zzltu_ip1 = ( zztu_ip1 - zztu ) * zcoef_ip1 155 zzltv = ( zztv - zztv_jm1 ) * zcoef 156 zzltv_jp1 = ( zztv_jp1 - zztv ) * zcoef_jp1 157 157 ! 158 158 ! !== Horizontal advective fluxes ==! (UBS) -
NEMO/branches/UKMO/NEMO_r4.2RC_GO8_package/src/OCE/ZDF/zdfgls.F90
r14967 r15078 327 327 END_3D 328 328 ! 329 zdiag(:,:,jpk) = 1._wp 330 ! 331 ! Set surface condition on zwall_psi (1 at the bottom) 332 zwall_psi(:,:, 1 ) = zwall_psi(:,:,2) 333 zwall_psi(:,:,jpk) = 1._wp 329 DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 330 zdiag(ji,jj,jpk) = 1._wp 331 ! 332 ! Set surface condition on zwall_psi (1 at the bottom) 333 zwall_psi(ji,jj, 1 ) = zwall_psi(ji,jj,2) 334 zwall_psi(ji,jj,jpk) = 1._wp 335 END_2D 334 336 ! 335 337 ! Surface boundary condition on tke … … 501 503 ! ---------------------------------------------------------- 502 504 ! 503 DO_3D ( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1505 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 504 506 zdiag(ji,jj,jk) = zdiag(ji,jj,jk) - zd_lw(ji,jj,jk) * zd_up(ji,jj,jk-1) / zdiag(ji,jj,jk-1) 505 507 END_3D 506 DO_3D ( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1508 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 507 509 zd_lw(ji,jj,jk) = en(ji,jj,jk) - zd_lw(ji,jj,jk) / zdiag(ji,jj,jk-1) * zd_lw(ji,jj,jk-1) 508 510 END_3D … … 590 592 END_3D 591 593 ! 592 zdiag(:,:,jpk) = 1._wp 593 594 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 595 zdiag(ji,jj,jpk) = 1._wp 596 END_2D 597 594 598 ! Surface boundary condition on psi 595 599 ! --------------------------------- … … 858 862 ! Lines below are useless if GOTM style Dirichlet conditions are used 859 863 860 zstm(:,:,1) = zstm(:,:,2) 861 862 ! default value, in case jpk > mbkt(ji,jj)+1. Not needed but avoid a bug when looking for undefined values (-fpe0) 863 zstm(:,:,jpk) = 0. 864 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 865 zstm(ji,jj,1) = zstm(ji,jj,2) 866 zstm(ji,jj,jpk) = 0. ! default value, in case jpk > mbkt(ji,jj)+1 867 ! ! Not needed but avoid a bug when looking for undefined values (-fpe0) 868 END_2D 864 869 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! update bottom with good values 865 870 zstm(ji,jj,mbkt(ji,jj)+1) = zstm(ji,jj,mbkt(ji,jj)) -
NEMO/branches/UKMO/NEMO_r4.2RC_GO8_package/src/OCE/ZDF/zdftke.F90
r14985 r15078 428 428 ! 429 429 ! !* Matrix inversion from level 2 (tke prescribed at level 1) 430 DO_3D ( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1430 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 431 431 zdiag(ji,jj,jk) = zdiag(ji,jj,jk) - zd_lw(ji,jj,jk) * zd_up(ji,jj,jk-1) / zdiag(ji,jj,jk-1) 432 432 END_3D … … 435 435 ! zd_lw(ji,jj,2) = en(ji,jj,2) - zd_lw(ji,jj,2) * en(ji,jj,1) ! Surface boudary conditions on tke 436 436 ! END_2D 437 DO_3D ( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 )437 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 438 438 zd_lw(ji,jj,jk) = en(ji,jj,jk) - zd_lw(ji,jj,jk) / zdiag(ji,jj,jk-1) *zd_lw(ji,jj,jk-1) 439 439 END_3D -
NEMO/branches/UKMO/NEMO_r4.2RC_GO8_package/src/TOP/TRP/trcadv.F90
r14834 r15078 60 60 INTEGER, PARAMETER :: np_QCK = 5 ! QUICK scheme 61 61 62 !! * Substitutions 63 # include "do_loop_substitute.h90" 62 64 # include "domzgr_substitute.h90" 63 65 !!---------------------------------------------------------------------- … … 80 82 REAL(wp), DIMENSION(jpi,jpj,jpk,jptra,jpt), INTENT(inout) :: ptr ! passive tracers and RHS of tracer equation 81 83 ! 82 INTEGER :: j k ! dummy loop index84 INTEGER :: ji, jj, jk ! dummy loop index 83 85 CHARACTER (len=22) :: charout 84 86 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zuu, zvv, zww ! effective velocity … … 89 91 ! !== effective transport ==! 90 92 IF( l_offline ) THEN 91 zuu(:,:,:) = uu(:,:,:,Kmm) ! already in (uu(Kmm),vv(Kmm),ww) 92 zvv(:,:,:) = vv(:,:,:,Kmm) 93 zww(:,:,:) = ww(:,:,:) 93 DO_3D( nn_hls, nn_hls-1, nn_hls, nn_hls-1, 1, jpk ) 94 zuu(ji,jj,jk) = uu(ji,jj,jk,Kmm) ! already in (uu(Kmm),vv(Kmm),ww) 95 zvv(ji,jj,jk) = vv(ji,jj,jk,Kmm) 96 END_3D 97 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpk ) 98 zww(ji,jj,jk) = ww(ji,jj,jk) 99 END_3D 94 100 ELSE ! build the effective transport 95 zuu(:,:,jpk) = 0._wp 96 zvv(:,:,jpk) = 0._wp 97 zww(:,:,jpk) = 0._wp 101 DO_2D( nn_hls, nn_hls-1, nn_hls, nn_hls-1 ) 102 zuu(ji,jj,jpk) = 0._wp 103 zvv(ji,jj,jpk) = 0._wp 104 END_2D 105 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 106 zww(ji,jj,jpk) = 0._wp 107 END_2D 98 108 IF( ln_wave .AND. ln_sdw ) THEN 99 DO jk = 1, jpkm1 ! eulerian transport + Stokes Drift 100 zuu(:,:,jk) = e2u (:,:) * e3u(:,:,jk,Kmm) * ( uu(:,:,jk,Kmm) + usd(:,:,jk) ) 101 zvv(:,:,jk) = e1v (:,:) * e3v(:,:,jk,Kmm) * ( vv(:,:,jk,Kmm) + vsd(:,:,jk) ) 102 zww(:,:,jk) = e1e2t(:,:) * ( ww(:,:,jk) + wsd(:,:,jk) ) 103 END DO 109 DO_3D( nn_hls, nn_hls-1, nn_hls, nn_hls-1, 1, jpkm1 ) ! eulerian transport + Stokes Drift 110 zuu(ji,jj,jk) = e2u (ji,jj) * e3u(ji,jj,jk,Kmm) * ( uu(ji,jj,jk,Kmm) + usd(ji,jj,jk) ) 111 zvv(ji,jj,jk) = e1v (ji,jj) * e3v(ji,jj,jk,Kmm) * ( vv(ji,jj,jk,Kmm) + vsd(ji,jj,jk) ) 112 END_3D 113 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) 114 zww(ji,jj,jk) = e1e2t(ji,jj) * ( ww(ji,jj,jk) + wsd(ji,jj,jk) ) 115 END_3D 104 116 ELSE 105 DO jk = 1, jpkm1 106 zuu(:,:,jk) = e2u (:,:) * e3u(:,:,jk,Kmm) * uu(:,:,jk,Kmm) ! eulerian transport 107 zvv(:,:,jk) = e1v (:,:) * e3v(:,:,jk,Kmm) * vv(:,:,jk,Kmm) 108 zww(:,:,jk) = e1e2t(:,:) * ww(:,:,jk) 109 END DO 117 DO_3D( nn_hls, nn_hls-1, nn_hls, nn_hls-1, 1, jpkm1 ) 118 zuu(ji,jj,jk) = e2u (ji,jj) * e3u(ji,jj,jk,Kmm) * uu(ji,jj,jk,Kmm) ! eulerian transport 119 zvv(ji,jj,jk) = e1v (ji,jj) * e3v(ji,jj,jk,Kmm) * vv(ji,jj,jk,Kmm) 120 END_3D 121 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) 122 zww(ji,jj,jk) = e1e2t(ji,jj) * ww(ji,jj,jk) 123 END_3D 110 124 ENDIF 111 125 ! 112 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN ! add z-tilde and/or vvl corrections 113 zuu(:,:,:) = zuu(:,:,:) + un_td(:,:,:) 114 zvv(:,:,:) = zvv(:,:,:) + vn_td(:,:,:) 126 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN ! add z-tilde and/or vvl corrections 127 DO_3D( nn_hls, nn_hls-1, nn_hls, nn_hls-1, 1, jpkm1 ) 128 zuu(ji,jj,jk) = zuu(ji,jj,jk) + un_td(ji,jj,jk) 129 zvv(ji,jj,jk) = zvv(ji,jj,jk) + vn_td(ji,jj,jk) 130 END_3D 115 131 ENDIF 116 132 ! … … 125 141 ! 126 142 CASE ( np_CEN ) ! Centered : 2nd / 4th order 127 CALL tra_adv_cen ( kt, nittrc000,'TRC', zuu, zvv, zww, Kmm, ptr, jptra, Krhs, nn_cen_h, nn_cen_v )143 CALL tra_adv_cen ( kt, nittrc000,'TRC', zuu, zvv, zww, Kmm, ptr, jptra, Krhs, nn_cen_h, nn_cen_v ) 128 144 CASE ( np_FCT ) ! FCT : 2nd / 4th order 129 145 CALL tra_adv_fct( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_fct_h, nn_fct_v ) 130 146 CASE ( np_MUS ) ! MUSCL 131 CALL tra_adv_mus( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, ln_mus_ups )147 CALL tra_adv_mus( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, ln_mus_ups ) 132 148 CASE ( np_UBS ) ! UBS 133 CALL tra_adv_ubs ( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_ubs_v )149 CALL tra_adv_ubs ( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_ubs_v ) 134 150 CASE ( np_QCK ) ! QUICKEST 135 CALL tra_adv_qck ( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs )151 CALL tra_adv_qck ( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs ) 136 152 ! 137 153 END SELECT -
NEMO/branches/UKMO/NEMO_r4.2RC_GO8_package/src/TOP/trc.F90
r14558 r15078 80 80 REAL(wp) , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: trc_ice_ratio !: ice-ocean tracer ratio 81 81 REAL(wp) , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: trc_ice_prescr !: prescribed ice trc cc 82 CHARACTER(len=2), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: cn_trc_o !: choice of ocean tracer cc 82 83 CHARACTER(len=lca), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: cn_trc_o !: choice of ocean tracer cc 83 84 84 85 !! Information for the optics module … … 104 105 END TYPE PTRACER 105 106 ! 106 CHARACTER(len= 20), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: ctrcnm !: tracer name107 CHARACTER(len= 80), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: ctrcln !: trccer field long name108 CHARACTER(len= 20), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: ctrcun !: tracer unit107 CHARACTER(len=lca), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: ctrcnm !: tracer name 108 CHARACTER(len=lca), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: ctrcln !: trccer field long name 109 CHARACTER(len=lca), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: ctrcun !: tracer unit 109 110 ! 110 111 TYPE, PUBLIC :: DIAG !: Passive trcacer ddditional diagnostic type
Note: See TracChangeset
for help on using the changeset viewer.