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

Ignore:
Timestamp:
2019-10-23T16:41:52+02:00 (4 years ago)
Author:
laurent
Message:

LB: solid updates+improvements of cool-skin/warm-layer capabilty of COARE and ECMWF bulk algorithms!

File:
1 edited

Legend:

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

    r11772 r11775  
    189189                  &        + 0.45*12.82*(1-EXP(-zHwl/12.82)) ) / zHwl 
    190190               zQabs = zfr*pQsw(ji,jj) + pQnsol(ji,jj) ! first guess of tot. heat flux absorbed in warm layer !LOLO: depends of zfr, which is wild guess... Wrong!!! 
    191                PRINT *, '#LBD:  Initial Qsw & Qnsol:', NINT(pQsw(ji,jj)), NINT(pQnsol(ji,jj)) 
    192                PRINT *, '#LBD:       =>Qabs:', zQabs,' zfr=', zfr 
     191               !PRINT *, '#LBD:  Initial Qsw & Qnsol:', NINT(pQsw(ji,jj)), NINT(pQnsol(ji,jj)) 
     192               !PRINT *, '#LBD:       =>Qabs:', zQabs,' zfr=', zfr 
    193193 
    194194               IF ( (ABS(zdTwl) < 1.E-6_wp) .AND. (zQabs <= 0._wp) ) THEN 
     
    196196                  ! since zQabs <= 0._wp 
    197197                  ! => no need to go further 
    198                   PRINT *, '#LBD: we have not started to to build a WL yet (dT==0)' 
    199                   PRINT *, '#LBD: and theres no way it can occur now since zQabs=', zQabs 
    200                   PRINT *, '#LBD: => leaving without changing anything...' 
     198                  !PRINT *, '#LBD: we have not started to to build a WL yet (dT==0)' 
     199                  !PRINT *, '#LBD: and theres no way it can occur now since zQabs=', zQabs 
     200                  !PRINT *, '#LBD: => leaving without changing anything...' 
    201201                  l_exit = .TRUE. 
    202202               END IF 
     
    207207            !LOLO: remove??? has a strong influence !!! 
    208208            IF ( (.NOT.(l_exit)) .AND. (Qnt_ac(ji,jj) + zQabs*rdt <= 0._wp) ) THEN 
    209                PRINT *, '#LBD: Oh boy! Next Qnt_ac looking weak! =>', Qnt_ac(ji,jj) + zQabs*rdt 
    210                PRINT *, '#LBD:  => time to destroy the warm-layer!' 
     209               !PRINT *, '#LBD: Oh boy! Next Qnt_ac looking weak! =>', Qnt_ac(ji,jj) + zQabs*rdt 
     210               !PRINT *, '#LBD:  => time to destroy the warm-layer!' 
    211211               l_exit       = .TRUE. 
    212212               l_destroy_wl = .TRUE. 
     
    220220               ! 2/ Regardless of WL formed (dT==0 or dT>0), we are in the process to initiate one or warm further it ! 
    221221 
    222                PRINT *, '#LBD:======================================================' 
    223                PRINT *, '#LBD: WL action makes sense now! => zQabs,dT_wl=', REAL(zQabs,4), REAL(zdTwl,4) 
    224                PRINT *, '#LBD:======================================================' 
    225                PRINT *, '#LBD: current values for Qac and Tac=', REAL(Qnt_ac(ji,jj),4), REAL(Tau_ac(ji,jj),4) 
     222               !PRINT *, '#LBD:======================================================' 
     223               !PRINT *, '#LBD: WL action makes sense now! => zQabs,dT_wl=', REAL(zQabs,4), REAL(zdTwl,4) 
     224               !PRINT *, '#LBD:======================================================' 
     225               !PRINT *, '#LBD: current values for Qac and Tac=', REAL(Qnt_ac(ji,jj),4), REAL(Tau_ac(ji,jj),4) 
    226226 
    227227               ztac = Tau_ac(ji,jj) + MAX(.002_wp , pTau(ji,jj))*rdt      ! updated momentum integral 
    228                PRINT *, '#LBD: updated value for Tac=',  REAL(ztac,4) 
     228               !PRINT *, '#LBD: updated value for Tac=',  REAL(ztac,4) 
    229229 
    230230               !! We update the value of absorbtion and zQabs: 
     
    238238                  zHwl = MAX( MIN( Hwl_max , zcd1*ztac/SQRT(zqac)) , 0.1_wp ) ! Warm-layer depth 
    239239               END DO 
    240                PRINT *, '#LBD: updated absorption and WL depth=',  REAL(zfr,4), REAL(zHwl,4) 
    241                PRINT *, '#LBD: updated value for Qabs=',  REAL(zQabs,4), 'W/m2' 
    242                PRINT *, '#LBD: updated value for Qac =',  REAL(zqac,4), 'J' 
     240               !PRINT *, '#LBD: updated absorption and WL depth=',  REAL(zfr,4), REAL(zHwl,4) 
     241               !PRINT *, '#LBD: updated value for Qabs=',  REAL(zQabs,4), 'W/m2' 
     242               !PRINT *, '#LBD: updated value for Qac =',  REAL(zqac,4), 'J' 
    243243 
    244244               IF ( zqac <= 0._wp ) THEN 
     
    247247               ELSE 
    248248                  zdTwl = zcd2*zqac**1.5/ztac * MAX(zqac/ABS(zqac),0._wp)  !! => IF(zqac>0._wp): zdTwl=zcd2*zqac**1.5/ztac ; ELSE: zdTwl=0. / ! normally: zqac > 0 ! 
    249                   PRINT *, '#LBD: updated preliminary value for dT_wl=',  REAL(zdTwl,4) 
     249                  !PRINT *, '#LBD: updated preliminary value for dT_wl=',  REAL(zdTwl,4) 
    250250                  ! Warm layer correction 
    251251                  flg = 0.5_wp + SIGN( 0.5_wp , gdept_1d(1)-zHwl )               ! => 1 when gdept_1d(1)>zHwl (zdTwl = zdTwl) | 0 when gdept_1d(1)<zHwl (zdTwl = zdTwl*gdept_1d(1)/zHwl) 
     
    263263            END IF 
    264264 
    265             PRINT *, '#LBD: exit values for Qac & Tac:', REAL(zqac,4), REAL(ztac,4) 
     265            !PRINT *, '#LBD: exit values for Qac & Tac:', REAL(zqac,4), REAL(ztac,4) 
    266266 
    267267            IF ( iwait == 0 ) THEN 
     
    269269               dT_wl(ji,jj)  = zdTwl 
    270270               Hz_wl(ji,jj)  = zHwl 
    271                PRINT *, '#LBD: FINAL EXIT values for dT_wl & Hz_wl:', REAL(dT_wl(ji,jj),4), REAL(Hz_wl(ji,jj),4) 
     271               !PRINT *, '#LBD: FINAL EXIT values for dT_wl & Hz_wl:', REAL(dT_wl(ji,jj),4), REAL(Hz_wl(ji,jj),4) 
    272272               Qnt_ac(ji,jj) = zqac ! Updating Qnt_ac, heat integral 
    273273               Tau_ac(ji,jj) = ztac 
    274                PRINT *, '#LBD: FINAL EXIT values for Qac & Tac:', REAL(Qnt_ac(ji,jj),4), REAL(Tau_ac(ji,jj),4) 
    275                PRINT *, '#LBD' 
     274               !PRINT *, '#LBD: FINAL EXIT values for Qac & Tac:', REAL(Qnt_ac(ji,jj),4), REAL(Tau_ac(ji,jj),4) 
     275               !PRINT *, '#LBD' 
    276276            END IF 
    277277 
Note: See TracChangeset for help on using the changeset viewer.