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

Changeset 1000


Ignore:
Timestamp:
2008-05-30T11:22:27+02:00 (16 years ago)
Author:
cetlod
Message:

computation of wind speed module, see ticket:164

Location:
trunk/NEMO/OPA_SRC/SBC
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/SBC/sbc_oce.F90

    r888 r1000  
    1616   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   utau      !: sea surface i-stress (ocean referential)     [N/m2] 
    1717   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   vtau      !: sea surface j-stress (ocean referential)     [N/m2] 
     18   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   wndm      !: 10m wind speed                               [m/s] 
    1819   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   qns       !: sea heat flux: non solar                     [W/m2] 
    1920   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   qsr       !: sea heat flux:     solar                     [W/m2] 
  • trunk/NEMO/OPA_SRC/SBC/sbcana.F90

    r920 r1000  
    3535   REAL(wp) ::   rn_qsr0   = 0.e0   !     solar heat flux 
    3636   REAL(wp) ::   rn_emp0   = 0.e0   ! net freshwater flux 
    37     
     37  
     38   REAL(wp) ::   rhoa  = 1.22         ! Air density kg/m3 
     39   REAL(wp) ::   cdrag    = 1.5e-3       ! drag coefficient 
     40   
    3841   !! * Substitutions 
    3942#  include "domzgr_substitute.h90" 
     
    6467      INTEGER, INTENT(in) ::   kt       ! ocean time step 
    6568      ! 
    66       REAL(wp)            ::   zfacto   ! local scalar 
     69      INTEGER             ::   ji, jj          ! dummy loop indices 
     70      REAL(wp)            ::   zfacto          ! local scalar 
     71      REAL(wp)            ::   ztx, zty, ztau  ! local scalar 
    6772      !!--------------------------------------------------------------------- 
    6873      NAMELIST/namsbc_ana/ nn_tau000, rn_utau0, rn_vtau0, rn_qns0, rn_qsr0, rn_emp0 
     
    98103         vtau(:,:) = zfacto * rn_vtau0 
    99104      ENDIF 
    100       !    
     105      ! 
     106    
     107      ! Estimation of wind speed as a function of wind stress 
     108!CDIR NOVERRCHK 
     109      DO jj = 1, jpj 
     110!CDIR NOVERRCHK 
     111         DO ji = 1, jpi 
     112            ztx  = utau(ji,jj) * umask(ji,jj,1) 
     113            zty  = vtau(ji,jj) * vmask(ji,jj,1) 
     114            ztau = SQRT( ztx * ztx + zty * zty ) 
     115            wndm(ji,jj) = SQRT ( ztau / ( rhoa * cdrag ) ) 
     116         ENDDO 
     117      ENDDO 
     118 
    101119   END SUBROUTINE sbc_ana 
    102120 
     
    133151      REAL(wp) ::   zcos_sais1, zcos_sais2, ztrp, zconv, t_star 
    134152      REAL(wp) ::   zsumemp, zsurf 
     153      REAL(wp) ::   ztx, zty 
    135154      !!--------------------------------------------------------------------- 
    136155          
     
    248267         END DO 
    249268      END DO 
     269 
     270      ! Estimation of wind speed as a function of wind stress 
     271!CDIR NOVERRCHK 
     272      DO jj = 1, jpj 
     273!CDIR NOVERRCHK 
     274         DO ji = 1, jpi 
     275            ztx  = utau(ji,jj) * umask(ji,jj,1) 
     276            zty  = vtau(ji,jj) * vmask(ji,jj,1) 
     277            ztau = SQRT( ztx * ztx + zty * zty ) 
     278            wndm(ji,jj) = SQRT ( ztau / ( rhoa * cdrag ) ) 
     279         ENDDO 
     280      ENDDO 
    250281 
    251282      ! ---------------------------------- ! 
  • trunk/NEMO/OPA_SRC/SBC/sbcblk_clio.F90

    r921 r1000  
    294294      END DO 
    295295 
     296      !------------------------------------! 
     297      !   store the wind speed  (wndm )    ! 
     298      !------------------------------------! 
     299!CDIR COLLAPSE 
     300      DO jj = 1 , jpj 
     301         DO ji = 1, jpi 
     302            wndm(ji,jj) = sf(jp_wndm)%fnow(ji,jj) 
     303         END DO 
     304      END DO 
     305 
     306 
    296307      !------------------------------------------------! 
    297308      !   Shortwave radiation for ocean and snow/ice   ! 
  • trunk/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r905 r1000  
    247247      !      0   Wind components and module at T-point relative to the moving ocean   ! 
    248248      ! ----------------------------------------------------------------------------- ! 
     249 
     250      ! Store the wind speed U10m 
     251!CDIR NOVERRCHK 
     252!CDIR COLLAPSE 
     253      DO jj = 1, jpj 
     254         DO ji = 1, jpi   ! vect. opt. 
     255            wndm(ji,jj) = SQRT(  sf(jp_wndi)%fnow(ji,jj) * sf(jp_wndi)%fnow(ji,jj)   & 
     256         &                     + sf(jp_wndj)%fnow(ji,jj) * sf(jp_wndj)%fnow(ji,jj) ) 
     257         ENDDO 
     258      ENDDO 
     259 
    249260      ! ... components ( U10m - U_oce ) at T-point (unmasked) 
    250261      zwnd_i(:,:) = 0.e0   
  • trunk/NEMO/OPA_SRC/SBC/sbcflx.F90

    r888 r1000  
    5050   TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf    ! structure of input fields (file informations, fields read) 
    5151 
     52   REAL(wp) ::   rhoa  = 1.22         ! Air density kg/m3 
     53   REAL(wp) ::   cdrag = 1.5e-3       ! drag coefficient 
     54 
    5255   !! * Substitutions 
    5356#  include "domzgr_substitute.h90" 
     
    9699      INTEGER  ::   ierror       ! return error code 
    97100      REAL(wp) ::   zfact        ! temporary scalar 
     101      REAL(wp) ::   ztx, zty, ztau 
    98102      !! 
    99103      CHARACTER(len=100) ::  cn_dir                               ! Root directory for location of flx files 
     
    179183      END DO 
    180184 
     185      ! Estimation of wind speed as a function of wind stress 
     186!CDIR NOVERRCHK 
     187      DO jj = 1, jpj 
     188!CDIR NOVERRCHK 
     189         DO ji = 1, jpi 
     190            ztx  = utau(ji,jj) * umask(ji,jj,1) 
     191            zty  = vtau(ji,jj) * vmask(ji,jj,1) 
     192            ztau = SQRT( ztx * ztx + zty * zty ) 
     193            wndm(ji,jj) = SQRT ( ztau / ( rhoa * cdrag ) ) 
     194         ENDDO 
     195      ENDDO 
     196 
    181197      ! control print (if less than 100 time-step asked) 
    182198      IF( nitend-nit000 <= 100 .AND. lwp ) THEN 
Note: See TracChangeset for help on using the changeset viewer.