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 13214 for NEMO/trunk/src/OCE – NEMO

Changeset 13214 for NEMO/trunk/src/OCE


Ignore:
Timestamp:
2020-07-02T11:09:01+02:00 (4 years ago)
Author:
smasson
Message:

trunk: Mid-year merge, merge back dev_r12563_ASINTER-06_ABL_improvement

Location:
NEMO/trunk/src/OCE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/IOM/iom.F90

    r12649 r13214  
    11931193                           &         'we accept this case, even if there is a possible mix-up between z and time dimension' )    
    11941194                     idmspc = idmspc - 1 
    1195                   ELSE 
    1196                      CALL ctl_stop( TRIM(clinfo), 'To keep iom lisibility, when reading a '//clrankpv//'D array,'         ,   & 
    1197                         &                         'we do not accept data with '//cldmspc//' spatial dimensions',   & 
    1198                         &                         'Use ncwa -a to suppress the unnecessary dimensions' ) 
     1195                  !!GS: possibility to read 3D ABL atmopsheric forcing and use 1st level to force BULK simulation 
     1196                  !ELSE 
     1197                  !   CALL ctl_stop( TRIM(clinfo), 'To keep iom lisibility, when reading a '//clrankpv//'D array,',   & 
     1198                  !      &                         'we do not accept data with '//cldmspc//' spatial dimensions'  ,   & 
     1199                  !      &                         'Use ncwa -a to suppress the unnecessary dimensions' ) 
    11991200                  ENDIF 
    12001201            ENDIF 
  • NEMO/trunk/src/OCE/SBC/sbcblk.F90

    r13208 r13214  
    112112   REAL(wp)         ::   rn_zu     ! z(u)   : height of wind measurements 
    113113   ! 
    114    REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   Cd_ice , Ch_ice , Ce_ice   ! transfert coefficients over ice 
    115    REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   Cdn_oce, Chn_oce, Cen_oce  ! neutral coeffs over ocean (L15 bulk scheme) 
    116    REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   t_zu, q_zu                 ! air temp. and spec. hum. at wind speed height (L15 bulk scheme) 
     114   REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) ::   Cdn_oce, Chn_oce, Cen_oce  ! neutral coeffs over ocean (L15 bulk scheme and ABL) 
     115   REAL(wp),         ALLOCATABLE, DIMENSION(:,:) ::   Cd_ice , Ch_ice , Ce_ice   ! transfert coefficients over ice 
     116   REAL(wp),         ALLOCATABLE, DIMENSION(:,:) ::   t_zu, q_zu                 ! air temp. and spec. hum. at wind speed height (L15 bulk scheme) 
    117117 
    118118   LOGICAL  ::   ln_skin_cs     ! use the cool-skin (only available in ECMWF and COARE algorithms) !LB 
     
    121121   LOGICAL  ::   ln_humi_dpt    ! humidity read in files ("sn_humi") is dew-point temperature [K] if .true. !LB 
    122122   LOGICAL  ::   ln_humi_rlh    ! humidity read in files ("sn_humi") is relative humidity     [%] if .true. !LB 
     123   LOGICAL  ::   ln_tpot        !!GS: flag to compute or not potential temperature 
    123124   ! 
    124125   INTEGER  ::   nhumi          ! choice of the bulk algorithm 
     
    181182         &                 ln_NCAR, ln_COARE_3p0, ln_COARE_3p6, ln_ECMWF,             &   ! bulk algorithm 
    182183         &                 cn_dir , rn_zqt, rn_zu,                                    & 
    183          &                 rn_pfac, rn_efac, ln_Cd_L12, ln_Cd_L15,                    & 
     184         &                 rn_pfac, rn_efac, ln_Cd_L12, ln_Cd_L15, ln_tpot,           & 
    184185         &                 ln_crt_fbk, rn_stau_a, rn_stau_b,                          &   ! current feedback 
    185186         &                 ln_skin_cs, ln_skin_wl, ln_humi_sph, ln_humi_dpt, ln_humi_rlh  ! cool-skin / warm-layer !LB 
     
    626627         !#LB: because AGRIF hates functions that return something else than a scalar, need to 
    627628         !     use scalar version of gamma_moist() ... 
    628          DO_2D_11_11 
    629             ztpot(ji,jj) = ptair(ji,jj) + gamma_moist( ptair(ji,jj), zqair(ji,jj) ) * rn_zqt 
    630          END_2D 
     629         IF( ln_tpot ) THEN 
     630            DO_2D_11_11 
     631               ztpot(ji,jj) = ptair(ji,jj) + gamma_moist( ptair(ji,jj), zqair(ji,jj) ) * rn_zqt 
     632            END_2D 
     633         ELSE 
     634            ztpot = ptair(:,:) 
     635         ENDIF 
    631636      ENDIF 
    632637 
     
    970975         IF(sn_cfctl%l_prtctl)  CALL prt_ctl( tab2d_1=putaui  , clinfo1=' blk_ice: putaui : '   & 
    971976            &                               , tab2d_2=pvtaui  , clinfo2='          pvtaui : ' ) 
    972       ELSE 
     977      ELSE ! ln_abl 
    973978         zztmp1 = 11637800.0_wp 
    974979         zztmp2 =    -5897.8_wp 
Note: See TracChangeset for help on using the changeset viewer.