@@ -117,7 +117,7 @@ makAncRI2(XiB,"export"); // EXPORT input info
117117makAncCOL (RcoliB); // REPORTCOL input info for UDT reports
118118makAncCOL2 (XcoliB," exportCol" ); // EXPORTCOL input info for UDT exports
119119makAncIMPF (ImpfiB); // IMPORTFILE input info, 2-94
120- // holidays
120+
121121makAncHDAY (HdayiB); // HDAY input info
122122makAncDESCOND (DCiB); // DESCOND input info
123123
@@ -1544,11 +1544,20 @@ RC DUCTSEG::ds_Ckf()
15441544 RC rc=RCOK;
15451545
15461546 if (IsSet ( DUCTSEG_EXAREA))
1547- { rc |= disallow ( DUCTSEG_INAREA, " when dsExArea is given" );
1548- ignoreN ( " when dsExArea is given" , DUCTSEG_DIAM, DUCTSEG_LEN, 0 );
1547+ { // flat configuration: area is fixed
1548+ rc |= disallow ( DUCTSEG_INAREA, " when dsExArea is given" );
1549+ ignoreN ( " when dsExArea is given" , DUCTSEG_DIAM, DUCTSEG_LEN,
1550+ DUCTSEG_BRANCHCOUNT, DUCTSEG_BRANCHLEN, DUCTSEG_BRANCHCFA, DUCTSEG_AIRVELDS, 0 );
15491551 }
15501552 else
1551- { int dimCount = IsSet ( DUCTSEG_DIAM) + IsSet ( DUCTSEG_LEN) + IsSet ( DUCTSEG_INAREA);
1553+ { // round: many interdependent defaults
1554+ // # of branches: user-input branch count takes precedence
1555+ if (IsSet ( DUCTSEG_BRANCHCOUNT))
1556+ ignore ( DUCTSEG_BRANCHCFA, " when dsBranchCount is given" );
1557+ if (IsSet ( DUCTSEG_BRANCHLEN))
1558+ rc |= disallow ( DUCTSEG_LEN, " when dsBranchLen is given" );
1559+
1560+ int dimCount = IsSet ( DUCTSEG_DIAM) + IsSet ( DUCTSEG_LEN) + IsSet ( DUCTSEG_INAREA);
15521561 if (dimCount == 3 )
15531562 rc |= oer ( " at most 2 of dsDiameter, dsLength, and dsInArea are allowed" );
15541563 }
@@ -1595,10 +1604,14 @@ static CULT dsT[] = //------ DUCTSEG cmd RAT Entry table, used from RSys
15951604CULT ( " *" , STAR, 0 , 0 , 0 , 0 , 0 , 0 , 0 .f , N, &dsStarCkf),
15961605CULT ( " dsRSys" , DAT, DUCTSEG_OWNTI, NO_INP|RDFLIN,0 ,0 , TYREF, &RSiB, 0 , N, N),
15971606CULT ( " dsTy" , DAT, DUCTSEG_TY, RQD, 0 , VEOI, TYCH, 0 , -1 , N, N),
1607+ CULT ( " dsBranchLen" , DAT, DUCTSEG_BRANCHLEN,0 ,0 , VEOI, TYFL, 0 , -1 .f , N, N),
1608+ CULT ( " dsBranchCount" ,DAT, DUCTSEG_BRANCHCOUNT,0 ,0 ,VEOI, TYSI, 0 , -1 , N, N),
1609+ CULT ( " dsBranchCFA" , DAT, DUCTSEG_BRANCHCFA,0 ,0 , VEOI, TYFL, 0 , -1 , N, N),
1610+ CULT ( " dsAirVelDs" , DAT, DUCTSEG_AIRVELDS, 0 ,0 , VEOI, TYFL, 0 , -1 .f , N, N),
15981611CULT ( " dsExArea" , DAT, DUCTSEG_EXAREA,0 , 0 , VEOI, TYFL, 0 , 0 .f , N, N),
15991612CULT ( " dsInArea" , DAT, DUCTSEG_INAREA,0 , 0 , VEOI, TYFL, 0 , 0 .f , N, N),
16001613CULT ( " dsDiameter" , DAT, DUCTSEG_DIAM, 0 , 0 , VEOI, TYFL, 0 , 0 .f , N, N),
1601- CULT ( " dsLength" , DAT, DUCTSEG_LEN, 0 , 0 , VEOI, TYFL, 0 , 0 .f , N, N),
1614+ CULT ( " dsLength" , DAT, DUCTSEG_LEN, 0 , 0 , VEOI, TYFL, 0 , 0 .f , N, N),
16021615CULT ( " dsExCnd" , DAT, DUCTSEG_EXCND, 0 , 0 , 0 , TYCH, 0 , C_EXCNDCH_ADJZN, N, N),
16031616CULT ( " dsAdjZn" , DAT, DSBC ( ZI), 0 , 0 , VEOI, TYREF, &ZiB, 0 .f , N, N),
16041617CULT ( " dsExT" , DAT, DSBC ( TXA), 0 , 0 , VSUBHRLY, TYFL, 0 , 70 .f , N, N),
@@ -2420,15 +2433,19 @@ static CULT dcT[] =
24202433// ---------- ----- --------------- ------- -- ------ ------ ---- ---------- ---- ----
24212434CULT ( " *" , STAR, 0 , 0 , 0 , 0 , 0 , 0 , 0 .f , N, dcStarCkf),
24222435
2423- CULT ( " dcDay" , DAT, DESCOND_DAY , RQD, 0 , VEOI, TYDOY, 0 , 200 , N, N),
2436+ CULT ( " dcDay" , DAT, DESCOND_DOY , RQD, 0 , VEOI, TYDOY, 0 , 200 , N, N),
24242437
24252438CULT ( " dcDB" , DAT, DESCOND_DB, RQD, 0 , VEOI, TYFL, 0 , 0 .f , N, N),
24262439CULT ( " dcMCDBR" , DAT, DESCOND_MCDBR, RQD, 0 , VEOI, TYFL, 0 , 0 .f , N, N),
24272440CULT ( " dcMCWB" , DAT, DESCOND_MCWB, RQD, 0 , VEOI, TYFL, 0 , 0 .f , N, N),
24282441CULT ( " dcMCWBR" , DAT, DESCOND_MCWBR, RQD, 0 , VEOI, TYFL, 0 , 0 .f , N, N),
24292442CULT ( " dcWindSpeed" ,DAT, DESCOND_WNDSPD, RQD, 0 , VEOI, TYFL, 0 , 0 .f , N, N),
2430- CULT ( " dcTauB" , DAT, DESCOND_TAUB, RQD, 0 , VEOI, TYFL, 0 , 0 .f , N, N),
2431- CULT ( " dcTauD" , DAT, DESCOND_TAUD, RQD, 0 , VEOI, TYFL, 0 , 0 .f , N, N),
2443+ // Taub/Taud and Ebn/Ebh interact, see dc_TopDC
2444+ CULT ( " dcTauB" , DAT, DESCOND_TAUB, 0 , 0 , VEOI, TYFL, 0 , 0 .f , N, N),
2445+ CULT ( " dcTauD" , DAT, DESCOND_TAUD, 0 , 0 , VEOI, TYFL, 0 , 0 .f , N, N),
2446+ CULT ( " dcEbnSlrNoon" ,DAT, DESCOND_EBNSLRNOON,0 , 0 , VEOI, TYFL, 0 , 0 .f , N, N),
2447+ CULT ( " dcEdhSlrNoon" ,DAT, DESCOND_EDHSLRNOON,0 , 0 , VEOI, TYFL, 0 , 0 .f , N, N),
2448+
24322449
24332450CULT ( " endDesCond" , ENDER, 0 , 0 , 0 , 0 , 0 , 0 , 0 .f , N, N),
24342451CULT ()
0 commit comments