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 15548 for NEMO/branches/2021/ticket2632_r14588_theta_sbcblk/src/ICE/icedyn_rdgrft.F90 – NEMO

Ignore:
Timestamp:
2021-11-28T18:59:49+01:00 (3 years ago)
Author:
gsamson
Message:

update branch to the head of the trunk (r15547); ticket #2632

Location:
NEMO/branches/2021/ticket2632_r14588_theta_sbcblk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/ticket2632_r14588_theta_sbcblk

    • Property svn:externals
      •  

        old new  
        99 
        1010# SETTE 
        11 ^/utils/CI/sette@14244        sette 
         11^/utils/CI/sette@HEAD        sette 
         12 
  • NEMO/branches/2021/ticket2632_r14588_theta_sbcblk/src/ICE/icedyn_rdgrft.F90

    r14072 r15548  
    5757   ! 
    5858   ! ** namelist (namdyn_rdgrft) ** 
    59    LOGICAL  ::   ln_str_H79       ! ice strength parameterization (Hibler79) 
    60    REAL(wp) ::   rn_pstar         ! determines ice strength, Hibler JPO79 
    6159   REAL(wp) ::   rn_csrdg         ! fraction of shearing energy contributing to ridging 
    6260   LOGICAL  ::   ln_partf_lin     ! participation function linear (Thorndike et al. (1975)) 
     
    162160      npti = 0   ;   nptidx(:) = 0 
    163161      ipti = 0   ;   iptidx(:) = 0 
    164       DO_2D( 1, 1, 1, 1 ) 
     162      DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    165163         IF ( at_i(ji,jj) > epsi10 ) THEN 
    166164            npti           = npti + 1 
     
    272270 
    273271      ! controls 
    274       IF( sn_cfctl%l_prtctl )   CALL ice_prt3D   ('icedyn_rdgrft')                                                        ! prints 
     272      IF( sn_cfctl%l_prtctl )   CALL ice_prt3D('icedyn_rdgrft')                                                           ! prints 
    275273      IF( ln_icectl    )   CALL ice_prt     (kt, iiceprt, jiceprt,-1, ' - ice dyn rdgrft - ')                             ! prints 
    276274      IF( ln_icediachk )   CALL ice_cons_hsm(1, 'icedyn_rdgrft', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) ! conservation 
     
    520518      ! 
    521519      INTEGER , DIMENSION(jpij) ::   itest_rdg, itest_rft   ! test for conservation 
     520      LOGICAL , DIMENSION(jpij) ::   ll_shift         ! logical for doing calculation or not 
    522521      !!------------------------------------------------------------------- 
    523522      ! 
     
    540539         DO ji = 1, npti 
    541540 
    542             IF( apartf(ji,jl1) > 0._wp .AND. closing_gross(ji) > 0._wp ) THEN   ! only if ice is ridging 
     541            ! set logical to true when ridging 
     542            IF( apartf(ji,jl1) > 0._wp .AND. closing_gross(ji) > 0._wp ) THEN   ;   ll_shift(ji) = .TRUE. 
     543            ELSE                                                                ;   ll_shift(ji) = .FALSE. 
     544            ENDIF 
     545             
     546            IF( ll_shift(ji) ) THEN   ! only if ice is ridging 
    543547 
    544548               IF( a_i_2d(ji,jl1) > epsi10 ) THEN   ;   z1_ai(ji) = 1._wp / a_i_2d(ji,jl1) 
     
    630634         DO jk = 1, nlay_s 
    631635            DO ji = 1, npti 
    632                IF( apartf(ji,jl1) > 0._wp .AND. closing_gross(ji) > 0._wp ) THEN 
     636               IF( ll_shift(ji) ) THEN 
    633637                  ! Compute ridging /rafting fractions 
    634638                  afrdg = aridge(ji,jl1) * closing_gross(ji) * rDt_ice * z1_ai(ji) 
     
    651655         DO jk = 1, nlay_i 
    652656            DO ji = 1, npti 
    653                IF( apartf(ji,jl1) > 0._wp .AND. closing_gross(ji) > 0._wp ) THEN 
     657               IF( ll_shift(ji) ) THEN 
    654658                  ! Compute ridging /rafting fractions 
    655659                  afrdg = aridge(ji,jl1) * closing_gross(ji) * rDt_ice * z1_ai(ji) 
     
    674678            DO ji = 1, npti 
    675679 
    676                IF( apartf(ji,jl1) > 0._wp .AND. closing_gross(ji) > 0._wp ) THEN 
     680               IF( ll_shift(ji) ) THEN 
    677681 
    678682                  ! Compute the fraction of ridged ice area and volume going to thickness category jl2 
     
    731735            DO jk = 1, nlay_s 
    732736               DO ji = 1, npti 
    733                   IF( apartf(ji,jl1) > 0._wp .AND. closing_gross(ji) > 0._wp )   & 
     737                  IF( ll_shift(ji) )   & 
    734738                     &   ze_s_2d(ji,jk,jl2) = ze_s_2d(ji,jk,jl2) + ( esrdg(ji,jk) * rn_fsnwrdg * fvol(ji)  +  & 
    735739                     &                                               esrft(ji,jk) * rn_fsnwrft * zswitch(ji) ) 
     
    740744            DO jk = 1, nlay_i 
    741745               DO ji = 1, npti 
    742                   IF( apartf(ji,jl1) > 0._wp .AND. closing_gross(ji) > 0._wp )   & 
     746                  IF( ll_shift(ji) )   & 
    743747                     &   ze_i_2d(ji,jk,jl2) = ze_i_2d(ji,jk,jl2) + eirdg(ji,jk) * fvol(ji) + eirft(ji,jk) * zswitch(ji) 
    744748               END DO 
Note: See TracChangeset for help on using the changeset viewer.