#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 |
Cc: |
Description (last modified by deazer)
Branch: http://forge.ipsl.jussieu.fr/nemo/browser/NEMO/branches/UKMO/dev_10448_WAD_SBC_BUGFIX
Context
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.
Analysis
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
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 END WHERE ! ! 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 ))) END WHERE ENDIF ! 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)) ) ELSE CALL iom_put( "sshnmasked", sshn(:,:)*tmask(:,:,1) + zmdi*(1.0 - tmask(:,:,1)) ) ENDIF
Commit History (2)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
10503 | deazer | 2019-01-11T14:32:41+01:00 | Deleting branch after resolved #2154 |
10499 | deazer | 2019-01-10T16:12:24+01:00 | Fix ticket #2154 |
Change History (6)
comment:1 Changed 5 years ago by deazer
- Description modified (diff)
comment:2 Changed 5 years ago by mathiot
- Owner changed from systeam to deazer
- Status changed from new to assigned
comment:3 Changed 5 years ago by deazer
In 10499:
comment:4 Changed 5 years ago by deazer
- Resolution set to fixed
- Status changed from assigned to closed
comment:5 Changed 5 years ago by deazer
In 10503:
comment:6 Changed 20 months ago by nemo
- Keywords v4.0 added
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.