New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 13149 for NEMO/branches/UKMO/NEMO_4.0_mirror_SI3_GPU/src/ICE/icedyn_adv_umx.F90 – NEMO

Ignore:
Timestamp:
2020-06-24T09:03:45+02:00 (4 years ago)
Author:
andmirek
Message:

Ticket #2482: Dissable restart and use allocatable arrays

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0_mirror_SI3_GPU/src/ICE/icedyn_adv_umx.F90

    r11081 r13149  
    4848   REAL(wp)           ::   z1_120 = 1._wp / 120._wp   ! =1/120 
    4949   ! 
    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 
    5162   ! 
    5263   !! * Substitutions 
     
    93104      REAL(wp) ::   zdt, zvi_cen 
    94105      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 
    106141      ! 
    107142      ! --- Record max of the surrounding 9-pts ice thick. (for call Hbig) --- ! 
     
    421456      INTEGER  ::   ji, jj, jl       ! dummy loop indices   
    422457      REAL(wp) ::   ztra             ! local scalar 
    423       REAL(wp), DIMENSION(jpi,jpj,jpl) ::   zfu_ho , zfv_ho , zpt 
    424       REAL(wp), DIMENSION(jpi,jpj,jpl) ::   zfu_ups, zfv_ups, zt_ups 
     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 
    425460      !!---------------------------------------------------------------------- 
    426461      ! 
     
    537572      INTEGER  ::   ji, jj, jl    ! dummy loop indices 
    538573      REAL(wp) ::   ztra          ! local scalar 
    539       REAL(wp), DIMENSION(jpi,jpj,jpl) ::   zpt 
     574!     REAL(wp), DIMENSION(jpi,jpj,jpl) ::   zpt 
    540575      !!---------------------------------------------------------------------- 
    541576 
     
    653688      INTEGER  ::   ji, jj, jl    ! dummy loop indices 
    654689      REAL(wp) ::   ztra          ! local scalar 
    655       REAL(wp), DIMENSION(jpi,jpj,jpl) ::   zpt 
     690!     REAL(wp), DIMENSION(jpi,jpj,jpl) ::   zpt 
    656691      !!---------------------------------------------------------------------- 
    657692      ! 
     
    771806      ! 
    772807      INTEGER  ::   ji, jj, jl    ! dummy loop indices 
    773       REAL(wp), DIMENSION(jpi,jpj,jpl) ::   zt_u, zt_v, zpt 
     808!     REAL(wp), DIMENSION(jpi,jpj,jpl) ::   zt_u, zt_v, zpt 
    774809      !!---------------------------------------------------------------------- 
    775810      ! 
     
    858893      INTEGER  ::   ji, jj, jl             ! dummy loop indices 
    859894      REAL(wp) ::   zcu, zdx2, zdx4        !   -      - 
    860       REAL(wp), DIMENSION(jpi,jpj,jpl) ::   ztu1, ztu2, ztu3, ztu4 
     895!     REAL(wp), DIMENSION(jpi,jpj,jpl) ::   ztu1, ztu2, ztu3, ztu4 
    861896      !!---------------------------------------------------------------------- 
    862897      ! 
     
    10151050      INTEGER  ::   ji, jj, jl         ! dummy loop indices 
    10161051      REAL(wp) ::   zcv, zdy2, zdy4    !   -      - 
    1017       REAL(wp), DIMENSION(jpi,jpj,jpl) ::   ztv1, ztv2, ztv3, ztv4 
     1052!     REAL(wp), DIMENSION(jpi,jpj,jpl) ::   ztv1, ztv2, ztv3, ztv4 
    10181053      !!---------------------------------------------------------------------- 
    10191054      ! 
     
    11691204      REAL(wp) ::   zpos, zneg, zbig, zup, zdo, z1_dt              ! local scalars 
    11701205      REAL(wp) ::   zau, zbu, zcu, zav, zbv, zcv, zcoef, zzt       !   -      - 
    1171       REAL(wp), DIMENSION(jpi,jpj    ) :: zbup, zbdo 
    1172       REAL(wp), DIMENSION(jpi,jpj,jpl) :: zbetup, zbetdo, zti_ups, ztj_ups 
     1206!     REAL(wp), DIMENSION(jpi,jpj    ) :: zbup, zbdo 
     1207!     REAL(wp), DIMENSION(jpi,jpj,jpl) :: zbetup, zbetdo, zti_ups, ztj_ups 
    11731208      !!---------------------------------------------------------------------- 
    11741209      zbig = 1.e+40_wp 
     
    13391374      REAL(wp) ::   Cr, Rjm, Rj, Rjp, uCFL, zpsi, zh3, zlimiter, Rr 
    13401375      INTEGER  ::   ji, jj, jl    ! dummy loop indices 
    1341       REAL(wp), DIMENSION (jpi,jpj,jpl) ::   zslpx       ! tracer slopes  
     1376!     REAL(wp), DIMENSION (jpi,jpj,jpl) ::   zslpx       ! tracer slopes  
    13421377      !!---------------------------------------------------------------------- 
    13431378      ! 
     
    14341469      REAL(wp) ::   Cr, Rjm, Rj, Rjp, vCFL, zpsi, zh3, zlimiter, Rr 
    14351470      INTEGER  ::   ji, jj, jl    ! dummy loop indices 
    1436       REAL(wp), DIMENSION (jpi,jpj,jpl) ::   zslpy       ! tracer slopes  
    14371471      !!---------------------------------------------------------------------- 
    14381472      ! 
     
    15411575      INTEGER  ::   ji, jj, jk, jl         ! dummy loop indices 
    15421576      REAL(wp) ::   z1_dt, zhip, zhi, zhs, zvs_excess, zfra 
    1543       REAL(wp), DIMENSION(jpi,jpj) ::   zswitch 
     1577!     REAL(wp), DIMENSION(jpi,jpj) ::   zswitch 
    15441578      !!------------------------------------------------------------------- 
    15451579      ! 
Note: See TracChangeset for help on using the changeset viewer.