New URL for NEMO forge!

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.
#2154 (WAD bug in limiting SBC fluxes in 'dry' cells) – NEMO

Opened 4 years ago

Closed 3 years ago

Last modified 5 months ago

#2154 closed Bug (fixed)

WAD bug in limiting SBC fluxes in 'dry' cells

Reported by: deazer Owned by: deazer
Priority: low Milestone: 2018 release-4.0
Component: SBC Version: trunk
Severity: minor Keywords: SBC WAD v4.0

Description (last modified by deazer)



Bug in WAD code concerning limiting surface fluxes in and near dry cells.
Currently this is only partly done in TRA/trasbc.F90

other small output bugs concerning output of SSH, require use of WAD reference level
simple 1 line fixes for those.


Purpose is to limit surface fluxes as dry limit in WAD is approached
this is not entirely done at present and can lead to model blow ups
in realistic configurations


Fix is simple.
a) remove current approach in TRA/trasbc.F90

b) replace with zeroing in SBC/sbcmod.F90 as:

        CALL lbc_lnk( emp, 'T', 1. )
     IF ( ll_wd ) THEN     ! If near WAD point limit the flux for now
      WHERE( sshn(:,:) + ht_0(:,:) <= rn_wdmin1 )
              utau(:,:) = 0.0
              vtau(:,:) = 0.0
              qns (:,:) = 0.0
              qsr (:,:) = 0.0
              emp (:,:) = min(emp(:,:),0.0) !can allow puddles to grow u not shrink
              sfx (:,:) = 0.0
  ! Taper the flux switch off in areas approaching WAD limit (here arbitrarily set at 5m)
      WHERE( sshn(:,:) + ht_0(:,:) >  rn_wdmin1  .and. sshn(:,:) + ht_0(:,:)  - rn_wdmin1<   5.0 ) ) 
              qsr  (:,:) =  qsr(:,:)  * (tanh(0.75_wp*( ( sshn(:,:) + ht_0(:,:) -  rn_wdmin1 )*1.0 )))  
              qns  (:,:) =  qns(:,:)  * (tanh(0.75_wp*( ( sshn(:,:) + ht_0(:,:) -  rn_wdmin1 )*1.0 ))) 
              utau (:,:) =  utau(:,:) * (tanh(0.75_wp*( ( sshn(:,:) + ht_0(:,:) -  rn_wdmin1 )*1.0 ))) 
              vtau (:,:) =  vtau(:,:) * (tanh(0.75_wp*( ( sshn(:,:) + ht_0(:,:) -  rn_wdmin1 )*1.0 ))) 
              emp  (:,:) =  emp(:,:)  * (tanh(0.75_wp*( ( sshn(:,:) + ht_0(:,:) -  rn_wdmin1 )*1.0 ))) 
        IF( kt == nit000 ) THEN

Other minor ssh output bugs are trivial just need ssh_ref in ll_wd cases e.g. change DIA/diatmb.F90 etc to

       IF( ll_wd ) THEN
           CALL iom_put( "sshnmasked", (sshn(:,:)+ssh_ref)*tmask(:,:,1) + zmdi*(1.0 - tmask(:,:,1)) )
           CALL iom_put( "sshnmasked", sshn(:,:)*tmask(:,:,1) + zmdi*(1.0 - tmask(:,:,1)) )

Commit History (2)


Deleting branch after resolved #2154


Fix ticket #2154

Change History (6)

comment:1 Changed 3 years ago by deazer

  • Description modified (diff)

comment:2 Changed 3 years ago by mathiot

  • Owner changed from systeam to deazer
  • Status changed from new to assigned

Thank you Enda for the fix.

In addition to the work suggested here, documentation on WAD has been updated, sanity check on rn_wd_sbcfra and cosmetic changes.

I agree with the changes you made. You can merge the head of your branch UKMO/dev_10448_WAD_SBC_BUGFIX back to the trunk, then close the ticket and delete your branch.

comment:3 Changed 3 years ago by deazer

In 10499:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:4 Changed 3 years ago by deazer

  • Resolution set to fixed
  • Status changed from assigned to closed

comment:5 Changed 3 years ago by deazer

In 10503:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:6 Changed 5 months ago by nemo

  • Keywords v4.0 added
Note: See TracTickets for help on using tickets.