Opened 22 months ago

Closed 18 months ago

Last modified 18 months ago

#2137 closed Bug (invalid)

wrong formulae for Lupkes 2012 ?

Reported by: cbricaud Owned by: systeam
Priority: low Milestone:
Component: SBC Version: trunk
Severity: minor Keywords:
Cc:

Description (last modified by nicolasmartin)

Context

      REAL(wp), DIMENSION(:,:), INTENT(inout) ::   Cd
      REAL(wp), PARAMETER ::   zCe   = 2.23e-03_wp
      REAL(wp), PARAMETER ::   znu   = 1._wp
      REAL(wp), PARAMETER ::   zmu   = 1._wp
      REAL(wp), PARAMETER ::   zbeta = 1._wp
      REAL(wp)            ::   zcoef
      !!----------------------------------------------------------------------
      zcoef = znu + 1._wp / ( 10._wp * zbeta )

   
      ! ice-atm drag
      Cd(:,:) = Cd_ice +  &                                                         ! pure ice drag
         &      zCe    * ( 1._wp - at_i_b(:,:) )**zcoef * at_i_b(:,:)**(zmu-1._wp)  ! change due to sea-ice morphology

 so 
 Cd(:,:) = Cd_ice +  2.23e-03 * ( 1._wp - A )**1.1 * A**0

but in the paper ( https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2012JD017630 ) whe have:

Cd(:,:) =   2.23e-03 * ( 1._wp - A )**1.1 * A

so whe shoud have in the code:

Cd(:,:) = Cd_ice +  &                                                         ! pure ice drag
         &      zCe    * ( 1._wp - at_i_b(:,:) )**zcoef * at_i_b(:,:)**zmu    ! change due to sea-ice morphology

Commit History (0)

(No commits)

Change History (2)

comment:1 Changed 22 months ago by nicolasmartin

  • Description modified (diff)

comment:2 Changed 18 months ago by cbricaud

  • Resolution set to invalid
  • Status changed from new to closed

Cd is used to compute utau_ice/vtau_ice and they are multiplied by the ice fraction after:

ice_update :

    DO jj = 2, jpjm1                                !* update the stress WITHOUT an ice-ocean rotation angle
         DO ji = fs_2, fs_jpim1   ! Vect. Opt.   
            ! ice area at u and v-points 
            zat_u  = ( at_i(ji,jj) * tmask(ji,jj,1) + at_i (ji+1,jj    ) * tmask(ji+1,jj  ,1) )  &
               &     / MAX( 1.0_wp , tmask(ji,jj,1) + tmask(ji+1,jj  ,1) )
            zat_v  = ( at_i(ji,jj) * tmask(ji,jj,1) + at_i (ji  ,jj+1  ) * tmask(ji  ,jj+1,1) )  &
               &     / MAX( 1.0_wp , tmask(ji,jj,1) + tmask(ji  ,jj+1,1) )
            !                                                   ! linearized quadratic drag formulation
            zutau_ice   = 0.5_wp * ( tmod_io(ji,jj) + tmod_io(ji+1,jj) ) * ( u_ice(ji,jj) - pu_oce(ji,jj) )
            zvtau_ice   = 0.5_wp * ( tmod_io(ji,jj) + tmod_io(ji,jj+1) ) * ( v_ice(ji,jj) - pv_oce(ji,jj) )
            !                                                   ! stresses at the ocean surface
            utau(ji,jj) = ( 1._wp - zat_u ) * utau_oce(ji,jj) + zat_u * zutau_ice
            vtau(ji,jj) = ( 1._wp - zat_v ) * vtau_oce(ji,jj) + zat_v * zvtau_ice
         END DO
Last edited 18 months ago by nemo (previous) (diff)
Note: See TracTickets for help on using tickets.