`Produces a table of GM as a function of roll period and draft.
`Uses formulas found in the GHS manual, ROLL command.

proj ROLLPD

READ TANKER.GF

VARIABLE B=15.60, L=95.0 `SHIP BEAM & LENGTH
VARIABLE NRP=20, RP1=4.0, DRP=0.2 `ROLL PERIODS: COUNT, FIRST, INCREMENT
VARIABLE NDR=5, DR1=2.0, DDR=0.5 `DAFTS: COUNT, FIRST, INCREMENT

VARIABLE UF1=2.0, UF2=100.0
IF "{LUNIT}"<>"METERS" THEN SET UF1=1.108, UF2=328.08

REPORT

MACRO ROLL2 `%1 - DRAFT
SET BD1=0.023 TIMES {B} DIV %1
SET C = 0.373 PLUS {BD1} MINUS {L1} TIMES {UF1}
SET I={I} PLUS 1
VARIABLE GM{I}
SET GM{I}={C} TIMES {B} DIV {TS} POW 2
/

MACRO ROLL1 `%1 - ROLL PERIOD, %2 - DRAFTS
SET TS=%1, I=0
.ROLL2 %2
\ { TS:1} { GM1:3} { GM2:3} { GM3:3} { GM4:3} { GM5:3}
/

MACRO ROLLD
SET RD1=%1
SET RD="{RD} { RD1:3}"
/

MACRO ROLL `%1 - ROLL PERIODS, %2 - DRAFTS
VARIABLE BD1,L1,C,TS,I,RD1
VARIABLE (STR) RD
SET L1=0.043 TIMES {L} DIV {UF2}
\GM FOR VARIOUS ROLL PERIODS\
.ROLLD %2
\ DRAFT:{RD}
.ROLL1 %1, "%2"
/

.ROLL "({NRP},{DRP}) {RP1}", "({NDR},{DDR}) {DR1}"

PRINT PREVIEW
REPORT OFF
END