Download the R code.

Some testing, first

A model:

##           hrb1      hrb2      hrb3      hrb4
## hrb1 1.0000000 0.9431142 0.8915558 0.8163516
## hrb2 0.9431142 1.0000000 0.9466655 0.9012422
## hrb3 0.8915558 0.9466655 1.0000000 0.9533370
## hrb4 0.8163516 0.9012422 0.9533370 1.0000000
## lavaan (0.5-19) converged normally after 149 iterations
## 
##   Number of observations                           500
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic                6.426
##   Degrees of freedom                                 8
##   P-value (Chi-square)                           0.600
## 
## Parameter Estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
## Latent Variables:
##                    Estimate  Std.Err  Z-value  P(>|z|)   Std.lv  Std.all
##   i_hrb =~                                                              
##     hrb1              1.000                               4.999    0.980
##     hrb2              1.000                               4.999    0.965
##     hrb3              1.000                               4.999    0.915
##     hrb4              1.000                               4.999    0.844
##   s_hrb =~                                                              
##     hrb1              0.000                               0.000    0.000
##     hrb2              1.000                               1.042    0.201
##     hrb3              2.000                               2.083    0.381
##     hrb4              3.000                               3.125    0.528
## 
## Covariances:
##                    Estimate  Std.Err  Z-value  P(>|z|)   Std.lv  Std.all
##   i_hrb ~~                                                              
##     s_hrb            -0.122    0.259   -0.473    0.636   -0.024   -0.024
## 
## Intercepts:
##                    Estimate  Std.Err  Z-value  P(>|z|)   Std.lv  Std.all
##     hrb1              0.000                               0.000    0.000
##     hrb2              0.000                               0.000    0.000
##     hrb3              0.000                               0.000    0.000
##     hrb4              0.000                               0.000    0.000
##     i_hrb             5.300    0.227   23.373    0.000    1.060    1.060
##     s_hrb             0.350    0.051    6.891    0.000    0.336    0.336
## 
## Variances:
##                    Estimate  Std.Err  Z-value  P(>|z|)   Std.lv  Std.all
##     i_hrb   (ivar)   24.992    1.626   15.367    0.000    1.000    1.000
##     s_hrb   (svar)    1.085    0.082   13.216    0.000    1.000    1.000
##     hrb1    (rsds)    1.025    0.046   22.361    0.000    1.025    0.039
##     hrb2    (rsds)    1.025    0.046   22.361    0.000    1.025    0.038
##     hrb3    (rsds)    1.025    0.046   22.361    0.000    1.025    0.034
##     hrb4    (rsds)    1.025    0.046   22.361    0.000    1.025    0.029
## 
## Constraints:
##                                                |Slack|
##     ivar - 0                                    24.992
##     svar - 0                                     1.085

The scale is number of days in the past 30 days one has had a drink (range 0-30). From the freshman data, we start with an intercept of 5.25 days at wave 1, with an increase of .5 days per quarter. The variance of the intercept is 25 (SD=5) so that about 66% of the sample drinks between .25 and 10.25 days out of the last 30 at wave 1. The variance of the slope is 1 (SD=1), which means that about 66% of the sample has a slope between -0.5 and 1.5 days per quarter. There is a small negative quadratic effect which may or may not be realistic, and which has very little variance.