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 11845 for NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_algo_ncar.F90 – NEMO

Ignore:
Timestamp:
2019-11-04T11:11:58+01:00 (4 years ago)
Author:
laurent
Message:

Improving syntax consistency

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_algo_ncar.F90

    r11631 r11845  
    4242   PRIVATE 
    4343 
    44    PUBLIC ::   TURB_NCAR   ! called by sbcblk.F90 
    45     
    46    INTEGER , PARAMETER ::   nb_itt = 4        ! number of itterations 
     44   PUBLIC :: TURB_NCAR   ! called by sbcblk.F90 
     45 
     46   INTEGER , PARAMETER ::   nb_itt = 5        ! number of itterations 
    4747 
    4848   !!---------------------------------------------------------------------- 
     
    5252      &                  Cd, Ch, Ce, t_zu, q_zu, U_blk,      & 
    5353      &                  Cdn, Chn, Cen                       ) 
    54       !!---------------------------------------------------------------------------------- 
     54      !!---------------------------------------------------------------------- 
    5555      !!                      ***  ROUTINE  turb_ncar  *** 
    5656      !! 
     
    6464      !! ------- 
    6565      !!    *  zt   : height for temperature and spec. hum. of air            [m] 
    66       !!    *  zu   : height for wind speed (generally 10m)                   [m] 
    67       !!    *  U_zu : scalar wind speed at 10m                                [m/s] 
    68       !!    *  sst  : SST                                                     [K] 
     66      !!    *  zu   : height for wind speed (usually 10m)                     [m] 
     67      !!    *  sst  : bulk SST                                                [K] 
    6968      !!    *  t_zt : potential air temperature at zt                         [K] 
    7069      !!    *  ssq  : specific humidity at saturation at SST                  [kg/kg] 
    7170      !!    *  q_zt : specific humidity of air at zt                          [kg/kg] 
     71      !!    *  U_zu : scalar wind speed at zu                                 [m/s] 
    7272      !! 
    7373      !! 
     
    7979      !!    *  t_zu   : pot. air temperature adjusted at wind height zu       [K] 
    8080      !!    *  q_zu   : specific humidity of air        //                    [kg/kg] 
    81       !!    *  U_blk  : bulk wind speed at 10m                                [m/s] 
     81      !!    *  U_blk  : bulk wind speed at zu                                 [m/s] 
    8282      !! 
    8383      !! 
     
    8989      REAL(wp), INTENT(in   ), DIMENSION(jpi,jpj) ::   t_zt     ! potential air temperature              [Kelvin] 
    9090      REAL(wp), INTENT(in   ), DIMENSION(jpi,jpj) ::   ssq      ! sea surface specific humidity           [kg/kg] 
    91       REAL(wp), INTENT(in   ), DIMENSION(jpi,jpj) ::   q_zt     ! specific air humidity                   [kg/kg] 
     91      REAL(wp), INTENT(in   ), DIMENSION(jpi,jpj) ::   q_zt     ! specific air humidity at zt             [kg/kg] 
    9292      REAL(wp), INTENT(in   ), DIMENSION(jpi,jpj) ::   U_zu     ! relative wind module at zu                [m/s] 
    9393      REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   Cd       ! transfer coefficient for momentum         (tau) 
     
    9696      REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   t_zu     ! pot. air temp. adjusted at zu               [K] 
    9797      REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   q_zu     ! spec. humidity adjusted at zu           [kg/kg] 
    98       REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   U_blk    ! bulk wind at 10m                          [m/s] 
     98      REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   U_blk    ! bulk wind speed at zu                     [m/s] 
    9999      REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   Cdn, Chn, Cen ! neutral transfer coefficients 
    100100      ! 
     
    111111      ! 
    112112      l_zt_equal_zu = .FALSE. 
    113       IF( ABS(zu - zt) < 0.01 )   l_zt_equal_zu = .TRUE.    ! testing "zu == zt" is risky with double precision 
     113      IF( ABS(zu - zt) < 0.01_wp )   l_zt_equal_zu = .TRUE.    ! testing "zu == zt" is risky with double precision 
    114114 
    115115      U_blk = MAX( 0.5_wp , U_zu )   !  relative wind speed at zu (normally 10m), we don't want to fall under 0.5 m/s 
     
    143143      t_zu = t_zt   ;   q_zu = q_zt 
    144144 
    145       !!  * Now starting iteration loop 
    146       DO j_itt=1, nb_itt 
     145      !! ITERATION BLOCK 
     146      DO j_itt = 1, nb_itt 
    147147         ! 
    148148         ztmp1 = t_zu - sst   ! Updating air/sea differences 
     
    217217         Ce  = Cx_n10*ztmp2 / ztmp1  ! L&Y 2004 eq. (10c) 
    218218         ENDIF 
    219          ! 
    220       END DO 
    221       ! 
     219 
     220      END DO !DO j_itt = 1, nb_itt 
     221 
    222222   END SUBROUTINE turb_ncar 
    223223 
     
    265265      !! Universal profile stability function for momentum 
    266266      !!    !! Psis, L&Y 2004 eq. (8c), (8d), (8e) 
    267       !!      
    268       !! pzet0 : stability paramenter, z/L where z is altitude measurement                                           
     267      !! 
     268      !! pzeta : stability paramenter, z/L where z is altitude measurement 
    269269      !!         and L is M-O length 
    270270      !! 
    271       !! ** Author: L. Brodeau, june 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) 
    272       !!---------------------------------------------------------------------------------- 
    273       REAL(wp), DIMENSION(jpi,jpj), INTENT(in) ::   pzeta 
    274       REAL(wp), DIMENSION(jpi,jpj)             ::   psi_m 
    275       ! 
    276       INTEGER  ::   ji, jj         ! dummy loop indices 
     271      !! ** Author: L. Brodeau, June 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) 
     272      !!---------------------------------------------------------------------------------- 
     273      REAL(wp), DIMENSION(jpi,jpj) :: psi_m 
     274      REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta 
     275      ! 
     276      INTEGER  ::   ji, jj    ! dummy loop indices 
    277277      REAL(wp) :: zx2, zx, zstab   ! local scalars 
    278278      !!---------------------------------------------------------------------------------- 
    279       ! 
    280279      DO jj = 1, jpj 
    281280         DO ji = 1, jpi 
     
    291290         END DO 
    292291      END DO 
    293       ! 
    294292   END FUNCTION psi_m 
    295293 
     
    300298      !!    !! Psis, L&Y 2004 eq. (8c), (8d), (8e) 
    301299      !! 
    302       !! pzet0 : stability paramenter, z/L where z is altitude measurement                                           
     300      !! pzeta : stability paramenter, z/L where z is altitude measurement 
    303301      !!         and L is M-O length 
    304302      !! 
    305       !! ** Author: L. Brodeau, june 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) 
    306       !!---------------------------------------------------------------------------------- 
     303      !! ** Author: L. Brodeau, June 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) 
     304      !!---------------------------------------------------------------------------------- 
     305      REAL(wp), DIMENSION(jpi,jpj) :: psi_h 
    307306      REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta 
    308       REAL(wp), DIMENSION(jpi,jpj)             :: psi_h 
    309       ! 
    310       INTEGER  ::   ji, jj    ! dummy loop indices 
     307      ! 
     308      INTEGER  ::   ji, jj     ! dummy loop indices 
    311309      REAL(wp) :: zx2, zstab  ! local scalars 
    312310      !!---------------------------------------------------------------------------------- 
     
    323321         END DO 
    324322      END DO 
    325       ! 
    326323   END FUNCTION psi_h 
    327324 
Note: See TracChangeset for help on using the changeset viewer.