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 8306 for branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90 – NEMO

Ignore:
Timestamp:
2017-07-10T12:18:03+02:00 (7 years ago)
Author:
clem
Message:

step1: remove LIM2 from the code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90

    r8030 r8306  
    3535   USE in_out_manager   ! I/O manager 
    3636   USE lib_mpp          ! MPP library 
    37 #if defined key_lim2 
    38    USE ice_2            ! LIM2 
     37#if defined key_lim3 
     38   USE ice,   ONLY: htm_i, at_i, pfrld, phicif 
    3939#endif 
    4040   USE sbc_oce          ! Surface boundary condition variables. 
     
    809809      INTEGER  ::   it 
    810810      REAL(wp) ::   zincwgt   ! IAU weight for current time step 
    811 #if defined key_lim2 
     811#if defined key_lim3 
    812812      REAL(wp), DIMENSION(jpi,jpj) ::   zofrld, zohicif, zseaicendg, zhicifinc  ! LIM 
    813813      REAL(wp) ::   zhicifmin = 0.5_wp      ! ice minimum depth in metres 
     
    831831            ENDIF 
    832832            ! 
    833             ! Sea-ice : LIM-3 case (to add) 
    834             ! 
    835 #if defined key_lim2 
    836             ! Sea-ice : LIM-2 case 
    837             zofrld (:,:) = frld(:,:) 
    838             zohicif(:,:) = hicif(:,:) 
    839             ! 
    840             frld  = MIN( MAX( frld (:,:) - seaice_bkginc(:,:) * zincwgt, 0.0_wp), 1.0_wp) 
    841             pfrld = MIN( MAX( pfrld(:,:) - seaice_bkginc(:,:) * zincwgt, 0.0_wp), 1.0_wp) 
    842             fr_i(:,:) = 1.0_wp - frld(:,:)        ! adjust ice fraction 
    843             ! 
    844             zseaicendg(:,:) = zofrld(:,:) - frld(:,:)   ! find out actual sea ice nudge applied 
     833            ! Sea-ice : LIM-3 case 
     834            ! 
     835#if defined key_lim3 
     836            zofrld (:,:) = 1._wp - at_i(:,:) 
     837            zohicif(:,:) = htm_i(:,:) 
     838            ! 
     839            at_i(:,:) = 1. - MIN( MAX( 1.-at_i(:,:) - seaice_bkginc(:,:) * zincwgt, 0.0_wp), 1.0_wp) 
     840            pfrld     =      MIN( MAX( pfrld(:,:)   - seaice_bkginc(:,:) * zincwgt, 0.0_wp), 1.0_wp) 
     841            fr_i(:,:) = at_i(:,:)        ! adjust ice fraction 
     842            ! 
     843            zseaicendg(:,:) = zofrld(:,:) - (1. - at_i(:,:))   ! find out actual sea ice nudge applied 
    845844            ! 
    846845            ! Nudge sea ice depth to bring it up to a required minimum depth 
    847             WHERE( zseaicendg(:,:) > 0.0_wp .AND. hicif(:,:) < zhicifmin )  
    848                zhicifinc(:,:) = (zhicifmin - hicif(:,:)) * zincwgt     
     846            WHERE( zseaicendg(:,:) > 0.0_wp .AND. htm_i(:,:) < zhicifmin )  
     847               zhicifinc(:,:) = (zhicifmin - htm_i(:,:)) * zincwgt     
    849848            ELSEWHERE 
    850849               zhicifinc(:,:) = 0.0_wp 
     
    852851            ! 
    853852            ! nudge ice depth 
    854             hicif (:,:) = hicif (:,:) + zhicifinc(:,:) 
     853            htm_i (:,:) = htm_i (:,:) + zhicifinc(:,:) 
    855854            phicif(:,:) = phicif(:,:) + zhicifinc(:,:)        
    856855            ! 
     
    882881            neuler = 0                    ! Force Euler forward step 
    883882            ! 
    884             ! Sea-ice : LIM-3 case (to add) 
    885             ! 
    886 #if defined key_lim2 
    887             ! Sea-ice : LIM-2 case. 
    888             zofrld(:,:)=frld(:,:) 
    889             zohicif(:,:)=hicif(:,:) 
     883            ! Sea-ice : LIM-3 case 
     884            ! 
     885#if defined key_lim3 
     886            zofrld (:,:) = 1._wp - at_i(:,:) 
     887            zohicif(:,:) = htm_i(:,:) 
    890888            !  
    891889            ! Initialize the now fields the background + increment 
    892             frld (:,:) = MIN( MAX( frld(:,:) - seaice_bkginc(:,:), 0.0_wp), 1.0_wp) 
    893             pfrld(:,:) = frld(:,:)  
    894             fr_i (:,:) = 1.0_wp - frld(:,:)                ! adjust ice fraction 
    895             zseaicendg(:,:) = zofrld(:,:) - frld(:,:)      ! find out actual sea ice nudge applied 
     890            at_i(:,:) = 1. - MIN( MAX( 1.-at_i(:,:) - seaice_bkginc(:,:), 0.0_wp), 1.0_wp) 
     891            pfrld(:,:) = 1.-at_i(:,:)  
     892            fr_i(:,:) = at_i(:,:)        ! adjust ice fraction 
     893            ! 
     894            zseaicendg(:,:) = zofrld(:,:) - (1. - at_i(:,:))   ! find out actual sea ice nudge applied 
    896895            ! 
    897896            ! Nudge sea ice depth to bring it up to a required minimum depth 
    898             WHERE( zseaicendg(:,:) > 0.0_wp .AND. hicif(:,:) < zhicifmin )  
    899                zhicifinc(:,:) = (zhicifmin - hicif(:,:)) * zincwgt     
     897            WHERE( zseaicendg(:,:) > 0.0_wp .AND. htm_i(:,:) < zhicifmin )  
     898               zhicifinc(:,:) = (zhicifmin - htm_i(:,:)) * zincwgt     
    900899            ELSEWHERE 
    901                zhicifinc(:,:) = 0._wp 
     900               zhicifinc(:,:) = 0.0_wp 
    902901            END WHERE 
    903902            ! 
    904903            ! nudge ice depth 
    905             hicif (:,:) = hicif (:,:) + zhicifinc(:,:) 
     904            htm_i (:,:) = htm_i (:,:) + zhicifinc(:,:) 
    906905            phicif(:,:) = phicif(:,:)        
    907906            ! 
     
    926925         ENDIF 
    927926 
    928 !#if defined defined key_lim2 || defined key_cice 
     927!#if defined defined key_lim3 || defined key_cice 
    929928! 
    930929!            IF (ln_seaicebal ) THEN        
Note: See TracChangeset for help on using the changeset viewer.