Opened 8 years ago
Closed 8 years ago
#1853 closed Bug (fixed)
Land Suppression in mppini_2.h90 not working
Reported by: | jamesharle | Owned by: | jamesharle |
---|---|---|---|
Priority: | low | Milestone: | |
Component: | OCE | Version: | trunk |
Severity: | Keywords: | ||
Cc: |
Description
Context
I was just testing a simple 13x13 decomposition and wanted to suppress the land cells (about 30% of the domain), but got an ERROR telling me that jpnij should equal 169.
Analysis
Land suppression in mppini_2.h90 appears to be redundant as the conditional
WHERE( zbot(:,:) - ztop(:,:) + 1 > 0 ) ; imask(:,:) = 1
is never realised.
I'm not too sure I can think of an example where ztop(:,:) would be greater than zbot(:,:)? I guess the +1 was put there incase there was only 1 wet cell (i.e. zbot=ztop=1) or some under ice feature. The problem being there is also the case where zbot=ztop=0 (i.e. it's land).
Just from an ocean only run point of view I would have thought just defining the land suppression mask using zbot alone would be sufficient (i.e. where zbot > 0 there is a wet point) - but I may have missed some subtlety in the code somewhere (probably in relation to ice). Please confirm!
Fix
102c102 < WHERE( zbot(:,:) - ztop(:,:) + 1 > 0 ) ; imask(:,:) = 1 --- > WHERE( zbot(:,:) > 0 ) ; imask(:,:) = 1
Commit History (1)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
7832 | jamesharle | 2017-03-24T13:49:13+01:00 | Fixes to reading in arrays from domain_cfg.nc and bdy_msk.nc, and updates to landsupression mask (see tickets #1853 and #1854). |
Change History (3)
comment:1 Changed 8 years ago by mathiot
comment:2 Changed 8 years ago by jamesharle
- Owner changed from nemo to jamesharle
comment:3 Changed 8 years ago by jamesharle
- Resolution set to fixed
- Status changed from new to closed
You are right, your analysis is correct. ztop (top_level) cannot be greater than zbot (bottom_level). If we assume "top_level" = 0 over land and grounded ice and "bottom_level" = 0 over land and where ice is expected grounded all run long, your fix should do the job: