| 1 |
dfer |
1.1 |
function [msk_SB,msk_LB] = CreateDDrmask(grdO); |
| 2 |
|
|
|
| 3 |
|
|
% function [msk_SB,msk_LB] = CreateDDrmask(grdO); |
| 4 |
|
|
% Create mask for Small and Large Basin of Double Drake |
| 5 |
|
|
|
| 6 |
|
|
nc=24; |
| 7 |
|
|
nr=length(grdO.drF); |
| 8 |
|
|
|
| 9 |
|
|
maskW=ceil(grdO.HFacW(1:6*nc,1:nc,:)); |
| 10 |
|
|
maskS=ceil(grdO.HFacS(1:6*nc,1:nc,:)); |
| 11 |
|
|
maskC=ceil(grdO.HFacC(1:6*nc,1:nc,:)); |
| 12 |
|
|
|
| 13 |
|
|
%%%% Southern most latitudes of walls |
| 14 |
|
|
%min(grdO.YC( find(grdO.HFacC(1:6*nc,1:nc,1) == 0) )) %% C-points |
| 15 |
|
|
%min(grdO.YC( find(grdO.HFacW(1:6*nc,1:nc,1) == 0) )) %% U-points |
| 16 |
|
|
%min(grdO.YG( find(grdO.HFacS(1:6*nc,1:nc,1) == 0) )) %% V-points |
| 17 |
|
|
|
| 18 |
|
|
%%%% Small-Basin Masks |
| 19 |
|
|
|
| 20 |
|
|
mskSB_G=ones(6*nc,nc); mskSB_G(grdO.XG(1:6*nc,1:nc) < 90 )=0; |
| 21 |
|
|
mskSB_C=ones(6*nc,nc); mskSB_C(grdO.XC(1:6*nc,1:nc) < 90 )=0; |
| 22 |
|
|
|
| 23 |
|
|
maskW_SB = maskW .* repmat(mskSB_G,[1 1 nr]); |
| 24 |
|
|
maskS_SB = maskS .* repmat(mskSB_C,[1 1 nr]); |
| 25 |
|
|
maskC_SB = maskC .* repmat(mskSB_C,[1 1 nr]); |
| 26 |
|
|
|
| 27 |
|
|
msk_SB.maskW=maskW_SB; |
| 28 |
|
|
msk_SB.maskS=maskS_SB; |
| 29 |
|
|
msk_SB.maskC=maskC_SB; |
| 30 |
|
|
|
| 31 |
|
|
%%%% Large-Basin Masks |
| 32 |
|
|
|
| 33 |
|
|
mskLB_G=ones(6*nc,nc); mskLB_G(grdO.XG(1:6*nc,1:nc) > 90 )=0; |
| 34 |
|
|
mskLB_C=ones(6*nc,nc); mskLB_C(grdO.XC(1:6*nc,1:nc) > 90 )=0; |
| 35 |
|
|
|
| 36 |
|
|
maskW_LB = maskW .* repmat(mskLB_G,[1 1 nr]); |
| 37 |
|
|
maskS_LB = maskS .* repmat(mskLB_C,[1 1 nr]); |
| 38 |
|
|
maskC_LB = maskC .* repmat(mskLB_C,[1 1 nr]); |
| 39 |
|
|
|
| 40 |
|
|
msk_LB.maskW=maskW_LB; |
| 41 |
|
|
msk_LB.maskS=maskS_LB; |
| 42 |
|
|
msk_LB.maskC=maskC_LB; |
| 43 |
|
|
|
| 44 |
|
|
return |