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 3294 for trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate.F90 – NEMO

Ignore:
Timestamp:
2012-01-28T17:44:18+01:00 (12 years ago)
Author:
rblod
Message:

Merge of 3.4beta into the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate.F90

    r2715 r3294  
    3535   USE prtctl           ! Print control 
    3636   USE lbclnk           ! lateral boundary condition - MPP exchanges 
     37   USE wrk_nemo         ! work arrays 
    3738 
    3839   IMPLICIT NONE 
     
    8586      REAL(wp) ::   z_prescr_hi, zat_i_old, ztmelts, ze_s 
    8687 
    87       LOGICAL , DIMENSION(jpi,jpj,jpl) ::  internal_melt 
    88       REAL(wp), DIMENSION(jkmax) ::   zthick0, zqm0      ! thickness of the layers and heat contents for 
     88      INTEGER , POINTER, DIMENSION(:,:,:) ::  internal_melt 
     89      REAL(wp), POINTER, DIMENSION(:) ::   zthick0, zqm0      ! thickness of the layers and heat contents for 
    8990      !!------------------------------------------------------------------- 
     91 
     92      CALL wrk_alloc( jpi,jpj,jpl, internal_melt )   ! integer 
     93      CALL wrk_alloc( jkmax, zthick0, zqm0 ) 
    9094 
    9195      IF( ln_nicep ) THEN   
     
    456460      ! 2.3) Melt of an internal layer 
    457461      !--------------------------------- 
    458       internal_melt(:,:,:) = .false. 
     462      internal_melt(:,:,:) = 0 
    459463 
    460464      DO jl = 1, jpl 
     
    471475                     !                    WRITE(numout,*) ' e_i : ', e_i(ji,jj,jk,jl) 
    472476                     !                    WRITE(numout,*) ' v_i : ', v_i(ji,jj,jl) 
    473                      internal_melt(ji,jj,jl) = .true. 
     477                     internal_melt(ji,jj,jl) = 1 
    474478                  ENDIF 
    475479               END DO ! ji 
     
    481485         DO jj = 1, jpj  
    482486            DO ji = 1, jpi 
    483                IF( internal_melt(ji,jj,jl) ) THEN 
     487               IF( internal_melt(ji,jj,jl) == 1 ) THEN 
    484488                  ! initial ice thickness 
    485489                  !----------------------- 
     
    576580      ENDIF 
    577581 
    578       internal_melt(:,:,:) = .false. 
     582      internal_melt(:,:,:) = 0 
    579583 
    580584      ! Melt of snow 
     
    589593               ! If snow energy of melting smaller then Lf 
    590594               ! Then all snow melts and meltwater, heat go to the ocean 
    591                IF ( ze_s .LE. rhosn * lfus ) internal_melt(ji,jj,jl) = .true. 
     595               IF ( ze_s .LE. rhosn * lfus ) internal_melt(ji,jj,jl) = 1 
    592596 
    593597               IF( ln_nicep ) THEN   
     
    611615         DO jj = 1, jpj  
    612616            DO ji = 1, jpi 
    613                IF ( internal_melt(ji,jj,jl) ) THEN 
     617               IF ( internal_melt(ji,jj,jl) == 1 ) THEN 
    614618                  v_s(ji,jj,jl)   = 0.0 
    615619                  e_s(ji,jj,1,jl) = 0.0 
     
    10271031      ENDIF 
    10281032 
    1029       !--------------------- 
     1033      CALL wrk_dealloc( jpi,jpj,jpl, internal_melt )   ! integer 
     1034      CALL wrk_dealloc( jkmax, zthick0, zqm0 ) 
    10301035 
    10311036   END SUBROUTINE lim_update 
Note: See TracChangeset for help on using the changeset viewer.