- Timestamp:
- 2020-06-24T09:03:45+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0_mirror_SI3_GPU/src/ICE/icedyn_adv_umx.F90
r11081 r13149 48 48 REAL(wp) :: z1_120 = 1._wp / 120._wp ! =1/120 49 49 ! 50 INTEGER, ALLOCATABLE, DIMENSION(:,:,:) :: imsk_small, jmsk_small 50 INTEGER, ALLOCATABLE, DIMENSION(:,:,:) :: imsk_small, jmsk_small 51 REAL(wp), ALLOCATABLE, DIMENSION(:, :, :) :: zfu_ho , zfv_ho , zpt 52 REAL(wp), ALLOCATABLE, DIMENSION(:, :, :) :: zfu_ups, zfv_ups, zt_ups 53 REAL(wp), ALLOCATABLE, DIMENSION(:, :, :) :: ztu1, ztu2, ztu3, ztu4 54 REAL(wp), ALLOCATABLE, DIMENSION(:, :, :) :: ztv1, ztv2, ztv3, ztv4 55 REAL(wp), ALLOCATABLE, DIMENSION(:, :) :: zswitch 56 REAL(wp), ALLOCATABLE, DIMENSION(:, :, :) :: zslpy ! tracer slopes 57 REAL(wp), ALLOCATABLE, DIMENSION(:, :, :) :: zslpx ! tracer slopes 58 REAL(wp), ALLOCATABLE, DIMENSION(:, : ) :: zbup, zbdo 59 REAL(wp), ALLOCATABLE, DIMENSION(:, :, :) :: zbetup, zbetdo, zti_ups, ztj_ups 60 REAL(wp), ALLOCATABLE, DIMENSION(:, :, :) :: zt_u, zt_v 61 51 62 ! 52 63 !! * Substitutions … … 93 104 REAL(wp) :: zdt, zvi_cen 94 105 REAL(wp), DIMENSION(1) :: zcflprv, zcflnow ! for global communication 95 REAL(wp), DIMENSION(jpi,jpj) :: zudy, zvdx, zcu_box, zcv_box 96 REAL(wp), DIMENSION(jpi,jpj) :: zati1, zati2 97 REAL(wp), DIMENSION(jpi,jpj,jpl) :: zu_cat, zv_cat 98 REAL(wp), DIMENSION(jpi,jpj,jpl) :: zua_ho, zva_ho, zua_ups, zva_ups 99 REAL(wp), DIMENSION(jpi,jpj,jpl) :: z1_ai , z1_aip, zhvar 100 REAL(wp), DIMENSION(jpi,jpj,jpl) :: zhi_max, zhs_max, zhip_max 101 ! 102 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zuv_ho, zvv_ho, zuv_ups, zvv_ups, z1_vi, z1_vs 103 !!---------------------------------------------------------------------- 104 ! 105 IF( kt == nit000 .AND. lwp ) WRITE(numout,*) '-- ice_dyn_adv_umx: Ultimate-Macho advection scheme' 106 ! REAL(wp), DIMENSION(jpi,jpj) :: zudy, zvdx, zcu_box, zcv_box 107 ! REAL(wp), DIMENSION(jpi,jpj) :: zati1, zati2 108 ! REAL(wp), DIMENSION(jpi,jpj,jpl) :: zu_cat, zv_cat 109 ! REAL(wp), DIMENSION(jpi,jpj,jpl) :: zua_ho, zva_ho, zua_ups, zva_ups 110 ! REAL(wp), DIMENSION(jpi,jpj,jpl) :: z1_ai , z1_aip, zhvar 111 ! REAL(wp), DIMENSION(jpi,jpj,jpl) :: zhi_max, zhs_max, zhip_max 112 REAL(wp), ALLOCATABLE, DIMENSION(:, :) :: zudy, zvdx, zcu_box, zcv_box 113 REAL(wp), ALLOCATABLE, DIMENSION(:, :) :: zati1, zati2 114 REAL(wp), ALLOCATABLE, DIMENSION(:, :, :) :: zu_cat, zv_cat 115 REAL(wp), ALLOCATABLE, DIMENSION(:, :, :) :: zua_ho, zva_ho, zua_ups, zva_ups 116 REAL(wp), ALLOCATABLE, DIMENSION(:, :, :) :: z1_ai , z1_aip, zhvar 117 REAL(wp), ALLOCATABLE, DIMENSION(:, :, :) :: zhi_max, zhs_max, zhip_max 118 ! 119 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zuv_ho, zvv_ho, zuv_ups, zvv_ups, z1_vi, z1_vs 120 !!---------------------------------------------------------------------- 121 ! 122 IF( kt == nit000) THEN 123 IF( lwp ) WRITE(numout,*) '-- ice_dyn_adv_umx: Ultimate-Macho advection scheme' 124 ALLOCATE( zudy(jpi,jpj), zvdx(jpi,jpj), zcu_box(jpi,jpj), zcv_box(jpi,jpj) ) 125 ALLOCATE( zati1(jpi,jpj), zati2(jpi,jpj) ) 126 ALLOCATE( zu_cat(jpi,jpj,jpl), zv_cat(jpi,jpj,jpl) ) 127 ALLOCATE( zua_ho(jpi,jpj,jpl), zva_ho(jpi,jpj,jpl), zua_ups(jpi,jpj,jpl), zva_ups(jpi,jpj,jpl) ) 128 ALLOCATE( z1_ai(jpi,jpj,jpl), z1_aip(jpi,jpj,jpl), zhvar(jpi,jpj,jpl) ) 129 ALLOCATE( zhi_max(jpi,jpj,jpl), zhs_max(jpi,jpj,jpl), zhip_max(jpi,jpj,jpl) ) 130 ALLOCATE( zfu_ho(jpi,jpj,jpl), zfv_ho(jpi,jpj,jpl), zpt(jpi,jpj,jpl)) 131 ALLOCATE( zfu_ups(jpi,jpj,jpl), zfv_ups(jpi,jpj,jpl), zt_ups(jpi,jpj,jpl)) 132 ALLOCATE( ztu1(jpi,jpj,jpl), ztu2(jpi,jpj,jpl), ztu3(jpi,jpj,jpl), ztu4(jpi,jpj,jpl)) 133 ALLOCATE( ztv1(jpi,jpj,jpl), ztv2(jpi,jpj,jpl), ztv3(jpi,jpj,jpl), ztv4(jpi,jpj,jpl)) 134 ALLOCATE( zswitch(jpi,jpj)) 135 ALLOCATE( zslpy(jpi,jpj,jpl)) 136 ALLOCATE( zslpx(jpi,jpj,jpl)) 137 ALLOCATE( zbup(jpi,jpj), zbdo(jpi,jpj)) 138 ALLOCATE( zbetup(jpi,jpj,jpl), zbetdo(jpi,jpj,jpl), zti_ups(jpi,jpj,jpl), ztj_ups(jpi,jpj,jpl)) 139 ALLOCATE( zt_u(jpi,jpj,jpl), zt_v(jpi,jpj,jpl)) 140 ENDIF 106 141 ! 107 142 ! --- Record max of the surrounding 9-pts ice thick. (for call Hbig) --- ! … … 421 456 INTEGER :: ji, jj, jl ! dummy loop indices 422 457 REAL(wp) :: ztra ! local scalar 423 424 458 ! REAL(wp), DIMENSION(jpi,jpj,jpl) :: zfu_ho , zfv_ho , zpt 459 ! REAL(wp), DIMENSION(jpi,jpj,jpl) :: zfu_ups, zfv_ups, zt_ups 425 460 !!---------------------------------------------------------------------- 426 461 ! … … 537 572 INTEGER :: ji, jj, jl ! dummy loop indices 538 573 REAL(wp) :: ztra ! local scalar 539 574 ! REAL(wp), DIMENSION(jpi,jpj,jpl) :: zpt 540 575 !!---------------------------------------------------------------------- 541 576 … … 653 688 INTEGER :: ji, jj, jl ! dummy loop indices 654 689 REAL(wp) :: ztra ! local scalar 655 690 ! REAL(wp), DIMENSION(jpi,jpj,jpl) :: zpt 656 691 !!---------------------------------------------------------------------- 657 692 ! … … 771 806 ! 772 807 INTEGER :: ji, jj, jl ! dummy loop indices 773 808 ! REAL(wp), DIMENSION(jpi,jpj,jpl) :: zt_u, zt_v, zpt 774 809 !!---------------------------------------------------------------------- 775 810 ! … … 858 893 INTEGER :: ji, jj, jl ! dummy loop indices 859 894 REAL(wp) :: zcu, zdx2, zdx4 ! - - 860 895 ! REAL(wp), DIMENSION(jpi,jpj,jpl) :: ztu1, ztu2, ztu3, ztu4 861 896 !!---------------------------------------------------------------------- 862 897 ! … … 1015 1050 INTEGER :: ji, jj, jl ! dummy loop indices 1016 1051 REAL(wp) :: zcv, zdy2, zdy4 ! - - 1017 1052 ! REAL(wp), DIMENSION(jpi,jpj,jpl) :: ztv1, ztv2, ztv3, ztv4 1018 1053 !!---------------------------------------------------------------------- 1019 1054 ! … … 1169 1204 REAL(wp) :: zpos, zneg, zbig, zup, zdo, z1_dt ! local scalars 1170 1205 REAL(wp) :: zau, zbu, zcu, zav, zbv, zcv, zcoef, zzt ! - - 1171 1172 1206 ! REAL(wp), DIMENSION(jpi,jpj ) :: zbup, zbdo 1207 ! REAL(wp), DIMENSION(jpi,jpj,jpl) :: zbetup, zbetdo, zti_ups, ztj_ups 1173 1208 !!---------------------------------------------------------------------- 1174 1209 zbig = 1.e+40_wp … … 1339 1374 REAL(wp) :: Cr, Rjm, Rj, Rjp, uCFL, zpsi, zh3, zlimiter, Rr 1340 1375 INTEGER :: ji, jj, jl ! dummy loop indices 1341 1376 ! REAL(wp), DIMENSION (jpi,jpj,jpl) :: zslpx ! tracer slopes 1342 1377 !!---------------------------------------------------------------------- 1343 1378 ! … … 1434 1469 REAL(wp) :: Cr, Rjm, Rj, Rjp, vCFL, zpsi, zh3, zlimiter, Rr 1435 1470 INTEGER :: ji, jj, jl ! dummy loop indices 1436 REAL(wp), DIMENSION (jpi,jpj,jpl) :: zslpy ! tracer slopes1437 1471 !!---------------------------------------------------------------------- 1438 1472 ! … … 1541 1575 INTEGER :: ji, jj, jk, jl ! dummy loop indices 1542 1576 REAL(wp) :: z1_dt, zhip, zhi, zhs, zvs_excess, zfra 1543 1577 ! REAL(wp), DIMENSION(jpi,jpj) :: zswitch 1544 1578 !!------------------------------------------------------------------- 1545 1579 !
Note: See TracChangeset
for help on using the changeset viewer.