| 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 |