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 9767 for NEMO/trunk/src/OCE/SBC/sbcblk.F90 – NEMO

Ignore:
Timestamp:
2018-06-08T12:11:32+02:00 (6 years ago)
Author:
clem
Message:

remove cp_ice_msh option in NEMO because the ice model is in C-grid and not anymore in B-grid (LIM2 type)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/SBC/sbcblk.F90

    r9752 r9767  
    719719      !    Wind module relative to the moving ice ( U10m - U_ice )   ! 
    720720      ! ------------------------------------------------------------ ! 
    721       SELECT CASE( cp_ice_msh ) 
    722       CASE( 'I' )                  ! B-grid ice dynamics :   I-point (i.e. F-point with sea-ice indexation) 
    723          !                           and scalar wind at T-point ( = | U10m - U_ice | ) (masked) 
    724          DO jj = 2, jpjm1 
    725             DO ji = 2, jpim1   ! B grid : NO vector opt 
    726                ! ... scalar wind at T-point (fld being at T-point) 
    727                zwndi_t = sf(jp_wndi)%fnow(ji,jj,1) - rn_vfac * 0.25 * (  u_ice(ji,jj+1) + u_ice(ji+1,jj+1)   & 
    728                   &                                                    + u_ice(ji,jj  ) + u_ice(ji+1,jj  )  ) 
    729                zwndj_t = sf(jp_wndj)%fnow(ji,jj,1) - rn_vfac * 0.25 * (  v_ice(ji,jj+1) + v_ice(ji+1,jj+1)   & 
    730                   &                                                    + v_ice(ji,jj  ) + v_ice(ji+1,jj  )  ) 
    731                wndm_ice(ji,jj) = SQRT( zwndi_t * zwndi_t + zwndj_t * zwndj_t ) * tmask(ji,jj,1) 
    732             END DO 
     721      ! C-grid ice dynamics :   U & V-points (same as ocean) 
     722      DO jj = 2, jpjm1 
     723         DO ji = fs_2, fs_jpim1   ! vect. opt. 
     724            zwndi_t = (  sf(jp_wndi)%fnow(ji,jj,1) - rn_vfac * 0.5 * ( u_ice(ji-1,jj  ) + u_ice(ji,jj) )  ) 
     725            zwndj_t = (  sf(jp_wndj)%fnow(ji,jj,1) - rn_vfac * 0.5 * ( v_ice(ji  ,jj-1) + v_ice(ji,jj) )  ) 
     726            wndm_ice(ji,jj) = SQRT( zwndi_t * zwndi_t + zwndj_t * zwndj_t ) * tmask(ji,jj,1) 
    733727         END DO 
    734          CALL lbc_lnk( wndm_ice, 'T',  1. ) 
    735          ! 
    736       CASE( 'C' )                  ! C-grid ice dynamics :   U & V-points (same as ocean) 
    737          DO jj = 2, jpjm1 
    738             DO ji = fs_2, fs_jpim1   ! vect. opt. 
    739                zwndi_t = (  sf(jp_wndi)%fnow(ji,jj,1) - rn_vfac * 0.5 * ( u_ice(ji-1,jj  ) + u_ice(ji,jj) )  ) 
    740                zwndj_t = (  sf(jp_wndj)%fnow(ji,jj,1) - rn_vfac * 0.5 * ( v_ice(ji  ,jj-1) + v_ice(ji,jj) )  ) 
    741                wndm_ice(ji,jj) = SQRT( zwndi_t * zwndi_t + zwndj_t * zwndj_t ) * tmask(ji,jj,1) 
    742             END DO 
    743          END DO 
    744          CALL lbc_lnk( wndm_ice, 'T',  1. ) 
    745          ! 
    746       END SELECT 
    747  
     728      END DO 
     729      CALL lbc_lnk( wndm_ice, 'T',  1. ) 
     730      ! 
    748731      ! Make ice-atm. drag dependent on ice concentration 
    749732      IF    ( ln_Cd_L12 ) THEN   ! calculate new drag from Lupkes(2012) equations 
     
    769752      !    Wind stress relative to the moving ice ( U10m - U_ice )   ! 
    770753      ! ------------------------------------------------------------ ! 
    771       SELECT CASE( cp_ice_msh ) 
    772       CASE( 'I' )                  ! B-grid ice dynamics :   I-point (i.e. F-point with sea-ice indexation) 
    773          DO jj = 2, jpjm1 
    774             DO ji = 2, jpim1   ! B grid : NO vector opt 
    775                ! ... scalar wind at I-point (fld being at T-point) 
    776                zwndi_f = 0.25 * (  sf(jp_wndi)%fnow(ji-1,jj  ,1) + sf(jp_wndi)%fnow(ji  ,jj  ,1)   & 
    777                   &              + sf(jp_wndi)%fnow(ji-1,jj-1,1) + sf(jp_wndi)%fnow(ji  ,jj-1,1)  ) - rn_vfac * u_ice(ji,jj) 
    778                zwndj_f = 0.25 * (  sf(jp_wndj)%fnow(ji-1,jj  ,1) + sf(jp_wndj)%fnow(ji  ,jj  ,1)   & 
    779                   &              + sf(jp_wndj)%fnow(ji-1,jj-1,1) + sf(jp_wndj)%fnow(ji  ,jj-1,1)  ) - rn_vfac * v_ice(ji,jj) 
    780                ! ... ice stress at I-point 
    781                zwnorm_f = zrhoa(ji,jj) * Cd_atm(ji,jj) * SQRT( zwndi_f * zwndi_f + zwndj_f * zwndj_f ) 
    782                utau_ice(ji,jj) = zwnorm_f * zwndi_f 
    783                vtau_ice(ji,jj) = zwnorm_f * zwndj_f 
    784             END DO 
     754      ! C-grid ice dynamics :   U & V-points (same as ocean) 
     755      DO jj = 2, jpjm1 
     756         DO ji = fs_2, fs_jpim1   ! vect. opt. 
     757            utau_ice(ji,jj) = 0.5 * zrhoa(ji,jj) * Cd_atm(ji,jj) * ( wndm_ice(ji+1,jj  ) + wndm_ice(ji,jj) )            & 
     758               &          * ( 0.5 * (sf(jp_wndi)%fnow(ji+1,jj,1) + sf(jp_wndi)%fnow(ji,jj,1) ) - rn_vfac * u_ice(ji,jj) ) 
     759            vtau_ice(ji,jj) = 0.5 * zrhoa(ji,jj) * Cd_atm(ji,jj) * ( wndm_ice(ji,jj+1  ) + wndm_ice(ji,jj) )            & 
     760               &          * ( 0.5 * (sf(jp_wndj)%fnow(ji,jj+1,1) + sf(jp_wndj)%fnow(ji,jj,1) ) - rn_vfac * v_ice(ji,jj) ) 
    785761         END DO 
    786          CALL lbc_lnk_multi( utau_ice, 'I', -1., vtau_ice, 'I', -1. ) 
    787          ! 
    788       CASE( 'C' )                  ! C-grid ice dynamics :   U & V-points (same as ocean) 
    789          DO jj = 2, jpjm1 
    790             DO ji = fs_2, fs_jpim1   ! vect. opt. 
    791                utau_ice(ji,jj) = 0.5 * zrhoa(ji,jj) * Cd_atm(ji,jj) * ( wndm_ice(ji+1,jj  ) + wndm_ice(ji,jj) )            & 
    792                   &          * ( 0.5 * (sf(jp_wndi)%fnow(ji+1,jj,1) + sf(jp_wndi)%fnow(ji,jj,1) ) - rn_vfac * u_ice(ji,jj) ) 
    793                vtau_ice(ji,jj) = 0.5 * zrhoa(ji,jj) * Cd_atm(ji,jj) * ( wndm_ice(ji,jj+1  ) + wndm_ice(ji,jj) )            & 
    794                   &          * ( 0.5 * (sf(jp_wndj)%fnow(ji,jj+1,1) + sf(jp_wndj)%fnow(ji,jj,1) ) - rn_vfac * v_ice(ji,jj) ) 
    795             END DO 
    796          END DO 
    797          CALL lbc_lnk_multi( utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 
    798          ! 
    799       END SELECT 
     762      END DO 
     763      CALL lbc_lnk_multi( utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 
     764      ! 
    800765      ! 
    801766      IF(ln_ctl) THEN 
Note: See TracChangeset for help on using the changeset viewer.