       program model
       implicit none
       integer ii
       integer m8bit, icont
       real low_scale_m, r_lg, r_q
       integer contains_f(0:255), gmab_f(0:255), yn(0:255)
       real energy0(0:255), energym(0:255), energyf(0:255)
       real econt, low_scale,  t1, t2
       data low_scale /400.0/
       data m8bit/255/
       print *,'enter scale for lg channel '
*       accept 222, low_scale_m
       low_scale_m=400.0
       r_lg = low_scale
       r_q  = 2.5  
222    format(F10.4)
       do 100 ii=0,m8bit
        energy0(ii) = ((float(ii)-0.5)*low_scale)/(float(m8bit +1))
        energym(ii) = ((float(ii)-0.5)*low_scale_m)/(float(m8bit +1))
        contains_f(ii) = INT((low_scale_m/low_scale)*float(ii) + 0.5)
        IF(contains_f(ii) .ge. m8bit)contains_f(ii) = m8bit
        gmab_f(ii)  = INT(contains_f(ii)*low_scale/50.00 +.5)
        IF(gmab_f(ii) .ge. m8bit)gmab_f(ii) = m8bit
        IF(energym(ii) .le. r_q)THEN
            yn(ii) = INT((11.0/r_q)*energym(ii) + 0.0)
          ELSE
            yn(ii) = INT(62.0 + (51.0/(LOG(r_lg/r_q)))
     x                   *(LOG(energym(ii)/r_lg)) + 0.0)
          endif
        IF(yn(ii) .ge. 63) Yn(ii) = 63
100     continue
        do 101 ii = 0,m8bit
        IF(yn(ii) .le. 11)then
           energyf(ii) = ((2.5/11.0) * yn(ii))
          ELSE
           energyf(ii) = EXP(((LOG(r_lg) - (LOG(2.5)))
     x  * (yn(ii) - 62.0)/51.0) + (LOG(r_lg)))
        endif
        print 1453,ii, energym(ii), energy0(ii), contains_f(ii),
     x  gmab_f(ii),yn(ii),energyf(ii),(energym(ii)-energyf(ii))
        write(55,1453)ii, energym(ii), energy0(ii), contains_f(ii), 
     x    gmab_f(ii),yn(ii),energyf(ii),(energym(ii)-energyf(ii))
101     continue
1453    format(i5,2F10.4,3i5,2F10.4)
        stop
        end
        
        

