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 8587 – NEMO

Changeset 8587


Ignore:
Timestamp:
2017-10-04T09:46:35+02:00 (7 years ago)
Author:
clem
Message:

bug fixes

Location:
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icevar.F90

    r8565 r8587  
    134134         END DO 
    135135         ! 
     136         !                           ! put rt0 where there is no ice 
     137         WHERE( at_i(:,:)<=epsi20 ) 
     138            tm_su(:,:) = rt0 
     139            tm_si(:,:) = rt0 
     140            tm_i (:,:) = rt0 
     141         END WHERE 
     142 
    136143         DEALLOCATE( z1_at_i , z1_vt_i ) 
    137144      ENDIF 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk.F90

    r8585 r8587  
    10761076      REAL(wp) ::   zChn_skin_ice, zChn_form_ice 
    10771077      REAL(wp) ::   z0w, z0i, zfmi, zfmw, zfhi, zfhw 
     1078      REAL(wp) ::   zCdn_form_tmp 
    10781079      !!---------------------------------------------------------------------- 
    1079       ! 
     1080 
     1081      ! Momentum Neutral Transfert Coefficients (should be a constant) 
     1082      zCdn_form_tmp = zce10 * ( LOG( 10._wp / z0_form_ice + 1._wp ) / LOG( rn_zu / z0_form_ice + 1._wp ) )**2   ! Eq. 40 
     1083      zCdn_skin_ice = ( vkarmn                                      / LOG( rn_zu / z0_skin_ice + 1._wp ) )**2   ! Eq. 7 
     1084      zCdn_ice      = zCdn_skin_ice   ! Eq. 7 (cf Lupkes email for details) 
     1085      !zCdn_ice     = 1.89e-3         ! old ECHAM5 value (cf Eq. 32) 
     1086 
     1087      ! Heat Neutral Transfert Coefficients 
     1088      zChn_skin_ice = vkarmn**2 / ( LOG( rn_zu / z0_ice + 1._wp ) * LOG( rn_zu * z1_alpha / z0_skin_ice + 1._wp ) )   ! Eq. 50 + Eq. 52 (cf Lupkes email for details) 
     1089      
    10801090      ! Atmospheric and Surface Variables 
    10811091      zst(:,:)     = sst_m(:,:) + rt0                                       ! convert SST from Celcius to Kelvin 
     
    10831093      zqi_sat(:,:) = 0.98_wp * q_sat( tm_su(:,:), sf(jp_slp)%fnow(:,:,1) )  ! saturation humidity over ice   [kg/kg] 
    10841094      ! 
    1085       DO jj = 2, jpjm1 
    1086          DO ji = fs_2, fs_jpim1 
     1095!!      DO jj = 2, jpjm1 
     1096!!         DO ji = fs_2, fs_jpim1 
     1097      DO jj = 1, jpj 
     1098         DO ji = 1, jpi 
    10871099            ! Virtual potential temperature [K] 
    10881100            zthetav_os = zst(ji,jj)   * ( 1._wp + rctv0 * zqo_sat(ji,jj) )   ! over ocean 
     
    10941106            zrib_i = grav / zthetav_is * ( zthetav_zu - zthetav_is ) * rn_zu / MAX( 0.5, wndm_ice(ji,jj) )**2   ! over ice 
    10951107             
    1096             ! Momentum Neutral Transfert Coefficients (should be a constant) 
    1097             zCdn_skin_ice =         ( vkarmn                              / LOG( rn_zu / z0_skin_ice + 1._wp ) )**2      ! Eq. 7 
    1098             zCdn_form_ice = zce10 * ( LOG( 10._wp / z0_form_ice + 1._wp ) / LOG( rn_zu / z0_form_ice + 1._wp ) )**2   &  ! Eq. 40 
    1099                &                  * at_i_b(ji,jj) * ( 1._wp - at_i_b(ji,jj) )**zbeta 
    1100             zCdn_ice      = zCdn_skin_ice   ! Eq. 7 (cf Lupkes email for details) 
    1101             !zCdn_ice     = 1.89e-3         ! old ECHAM5 value (cf Eq. 32) 
    1102  
    1103             ! Heat Neutral Transfert Coefficients 
    1104             zChn_skin_ice = vkarmn**2 / ( LOG( rn_zu / z0_ice + 1._wp ) * LOG( rn_zu * z1_alpha / z0_skin_ice + 1._wp ) )   ! Eq. 50 + Eq. 52 (cf Lupkes email for details) 
     1108            ! Momentum and Heat Neutral Transfert Coefficients 
     1109            zCdn_form_ice = zCdn_form_tmp * at_i_b(ji,jj) * ( 1._wp - at_i_b(ji,jj) )**zbeta  ! Eq. 40 
    11051110            zChn_form_ice = zCdn_form_ice / ( 1._wp + ( LOG( z1_alphaf ) / vkarmn ) * SQRT( zCdn_form_ice ) )               ! Eq. 53  
    11061111                        
     
    11101115            IF( zrib_o <= 0._wp ) THEN 
    11111116               zfmw = 1._wp - zam * zrib_o / ( 1._wp + 3._wp * zc2 * Cdn_oce(ji,jj) * SQRT( -zrib_o * ( rn_zu / z0w + 1._wp ) ) )  ! Eq. 10 
    1112                zfhw = ( 1._wp + ( zbetah * ( zthetav_os - zthetav_zu )**r1_3 / ( Chn_oce(ji,jj) * wndm(ji,jj) )   &                ! Eq. 26 
     1117               zfhw = ( 1._wp + ( zbetah * ( zthetav_os - zthetav_zu )**r1_3 / ( Chn_oce(ji,jj) * MAX(0.01, wndm(ji,jj)) )   &     ! Eq. 26 
    11131118                  &             )**zgamma )**z1_gamma 
    11141119            ELSE 
     
    11351140         END DO 
    11361141      END DO 
    1137       CALL lbc_lnk_multi( Cd, 'T',  1., Ch, 'T', 1. ) 
     1142!!      CALL lbc_lnk_multi( Cd, 'T',  1., Ch, 'T', 1. ) 
    11381143      ! 
    11391144   END SUBROUTINE Cdn10_Lupkes2015 
Note: See TracChangeset for help on using the changeset viewer.