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 11334 for NEMO/branches/2019/dev_r11265_ASINTER-01_Guillaume_ABL1D/src/OCE/SBC/sbcblk.F90 – NEMO

Ignore:
Timestamp:
2019-07-24T11:20:42+02:00 (5 years ago)
Author:
flemarie
Message:

Follow-on to the ABL implementation (see ticket #2131)

  • Modification of diawri.F90 to output ABL variables with IOIPSL (i.e. without key_iomput)
  • Modification of ice_var_agg in icevar.F90 to allow the use of tm_su in ABL and bulk
  • Error handling in case ln_abl = .true. and ABL sources were not compiled
  • ABL now works with SI3 considering an average over ice categories
  • Update reference namelist to avoid runtime warnings due to nam_tide
  • Sanity checks with ORCA2 for the following configurations :

1 - ABL src + ln_blk = .true.
2 - ABL src + ln_abl = .true.
3 - no ABL src + ln_blk = .true.

All configurations are MPP reproducible and configurations 1 and 3 results are identical

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11265_ASINTER-01_Guillaume_ABL1D/src/OCE/SBC/sbcblk.F90

    r11322 r11334  
    816816      ! 
    817817      INTEGER  ::   ji, jj    ! dummy loop indices 
    818       REAL(wp) ::   zwndi_t , zwndj_t            ! relative wind components at T-point 
     818      REAL(wp) ::   zwndi_t , zwndj_t, zootm_su, zztmp1, zztmp2 ! relative wind components at T-point 
    819819      REAL(wp), DIMENSION(jpi,jpj) ::   zrhoa     ! transfer coefficient for momentum      (tau) 
    820820      REAL(wp), DIMENSION(jpi,jpj) ::   zcd_dui     ! transfer coefficient for momentum      (tau) 
     
    855855      zcd_dui(:,:) = wndm_ice(:,:) * Cd_atm(:,:) 
    856856       
    857  !     IF( ln_blk ) THEN  
     857      IF( ln_blk ) THEN  
    858858         ! ------------------------------------------------------------ ! 
    859859         !    Wind stress relative to the moving ice ( U10m - U_ice )   ! 
     
    874874         IF(ln_ctl)   CALL prt_ctl( tab2d_1=putaui  , clinfo1=' blk_ice: putaui : '   & 
    875875            &                     , tab2d_2=pvtaui  , clinfo2='          pvtaui : ' ) 
    876  !     ELSE 
    877  !        DO jj = 1, jpj 
    878  !           DO ji = 1, jpi 
    879  !              pcd_dui(ji,jj) = zcd_dui(ji,jj) 
    880  !              pseni  (ji,jj) = wndm_ice(ji,jj) * Ch_atm(ji,jj) 
    881  !              pevpi  (ji,jj) = wndm_ice(ji,jj) * Ce_atm(ji,jj) 
    882  !              pssqi  (ji,jj) = 11637800.0_wp * EXP( -5897.8_wp / (ptsui(ji,jj)+rt0) ) / zrhoa(ji,jj) 
    883  !           END DO 
    884  !        END DO 
    885  !     ENDIF 
     876      ELSE 
     877         zztmp1 = 11637800.0_wp 
     878       zztmp2 =    -5897.8_wp 
     879       DO jj = 1, jpj 
     880            DO ji = 1, jpi 
     881               pcd_dui(ji,jj) = zcd_dui (ji,jj) 
     882               pseni  (ji,jj) = wndm_ice(ji,jj) * Ch_atm(ji,jj) 
     883               pevpi  (ji,jj) = wndm_ice(ji,jj) * Ce_atm(ji,jj) 
     884            zootm_su       = zztmp2 / ptsui(ji,jj)   ! ptsui is in K (it can't be zero ??) 
     885            pssqi  (ji,jj) = zztmp1 * EXP( zootm_su ) / zrhoa(ji,jj) 
     886            END DO 
     887         END DO 
     888      ENDIF 
    886889      ! 
    887890      IF(ln_ctl)  CALL prt_ctl(tab2d_1=wndm_ice  , clinfo1=' blk_ice: wndm_ice : ') 
     
    12481251      REAL(wp) ::   z0w, z0i, zfmi, zfmw, zfhi, zfhw 
    12491252      REAL(wp) ::   zCdn_form_tmp 
    1250       !!---------------------------------------------------------------------- 
    1251  
     1253      !!--------------------------------------------------------------------------- 
     1254      ! fl: global variable tm_su could be used directly instead of recomputing it  
     1255     ! 
    12521256      ! mean temperature 
    12531257      WHERE( at_i_b(:,:) > 1.e-20 )   ;   ztm_su(:,:) = SUM( t_su(:,:,:) * a_i_b(:,:,:) , dim=3 ) / at_i_b(:,:) 
Note: See TracChangeset for help on using the changeset viewer.