Changeset 850 for trunk/readexp.tcl


Ignore:
Timestamp:
Dec 4, 2009 5:13:07 PM (13 years ago)
Author:
toby
Message:

# on 2005/09/12 23:34:24, toby did:
change formatting of ODF records to match most recent GSAS release

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/readexp.tcl

    • Property rcs:date changed from 2005/03/24 21:59:06 to 2005/09/12 23:34:24
    • Property rcs:lines changed from +50 -16 to +81 -42
    • Property rcs:rev changed from 1.44 to 1.45
    r843 r850  
    8585    unset expmap
    8686    set expmap(Revision) $expmap_Revision
     87    # apply any updates to the .EXP file
     88    updateexpfile
    8789    # get the defined phases
    8890    set line [readexp " EXPR NPHAS"]
     
    186188    }
    187189}
     190
     191# this routine is called to update changes in the .EXP file
     192proc updateexpfile {} {
     193    global exparray
     194    # change "CRSx  ODFxxx" records to "CRSx  OD xxx" records
     195    # needed by the June 8, 2005 GSAS release
     196    set ODFlist [array names exparray "CRS?  ODF*"]
     197    if {[llength $ODFlist] > 0} {
     198        catch {incr ::expgui(changed)}
     199        foreach key $ODFlist {
     200            regsub "ODF" $key "OD " newkey
     201            set exparray($newkey) $exparray($key)
     202            unset exparray($key)
     203        }
     204    }
     205}
     206
    188207
    189208# return the value for a ISAM key
     
    597616
    598617        ODForder-get {
    599             set val [string trim [string range [readexp "CRS$phase  ODF"] 0 4]]
     618            set val [string trim [string range [readexp "CRS$phase  OD "] 0 4]]
    600619            if {$val == " "} {return 0}
    601620            return $val
     
    603622        ODForder-set {
    604623            if ![validint value 5] {return 0}
    605             setexp "CRS$phase  ODF" $value 1 5
     624            setexp "CRS$phase  OD " $value 1 5
    606625        }
    607626        ODFsym-get {
    608             set val [string trim [string range [readexp "CRS$phase  ODF"] 10 14]]
     627            set val [string trim [string range [readexp "CRS$phase  OD "] 10 14]]
    609628            if {$val == " "} {return 0}
    610629            return $val
     
    612631        ODFsym-set {
    613632            if ![validint value 5] {return 0}
    614             setexp "CRS$phase  ODF" $value 11 5
     633            setexp "CRS$phase  OD " $value 11 5
    615634        }
    616635        ODFdampA-get {
    617             set val [string range [readexp "CRS$phase  ODF"] 24 24]
     636            set val [string range [readexp "CRS$phase  OD "] 24 24]
    618637            if {$val == " "} {return 0}
    619638            return $val
    620639        }
    621640        ODFdampA-set {
    622             setexp "CRS$phase  ODF" $value 25 1
     641            setexp "CRS$phase  OD " $value 25 1
    623642        }
    624643        ODFdampC-get {
    625             set val [string range [readexp "CRS$phase  ODF"] 29 29]
     644            set val [string range [readexp "CRS$phase  OD "] 29 29]
    626645            if {$val == " "} {return 0}
    627646            return $val
    628647        }
    629648        ODFdampC-set {
    630             setexp "CRS$phase  ODF" $value 30 1
     649            setexp "CRS$phase  OD " $value 30 1
    631650        }
    632651        ODFomegaRef-get {
    633             if {[string toupper [string range [readexp "CRS$phase  ODF"] 16 16]] == "Y"} {
     652            if {[string toupper [string range [readexp "CRS$phase  OD "] 16 16]] == "Y"} {
    634653                return 1
    635654            }
     
    638657        ODFomegaRef-set {
    639658            if $value {
    640                 setexp "CRS$phase  ODF" "Y" 17 1
     659                setexp "CRS$phase  OD " "Y" 17 1
    641660            } else {
    642                 setexp "CRS$phase  ODF" "N" 17 1
     661                setexp "CRS$phase  OD " "N" 17 1
    643662            }       
    644663        }
    645664        ODFchiRef-get {
    646             if {[string toupper [string range [readexp "CRS$phase  ODF"] 17 17]] == "Y"} {
     665            if {[string toupper [string range [readexp "CRS$phase  OD "] 17 17]] == "Y"} {
    647666                return 1
    648667            }
     
    651670        ODFchiRef-set {
    652671            if $value {
    653                 setexp "CRS$phase  ODF" "Y" 18 1
     672                setexp "CRS$phase  OD " "Y" 18 1
    654673            } else {
    655                 setexp "CRS$phase  ODF" "N" 18 1
     674                setexp "CRS$phase  OD " "N" 18 1
    656675            }       
    657676        }
    658677        ODFphiRef-get {
    659             if {[string toupper [string range [readexp "CRS$phase  ODF"] 18 18]] == "Y"} {
     678            if {[string toupper [string range [readexp "CRS$phase  OD "] 18 18]] == "Y"} {
    660679                return 1
    661680            }
     
    664683        ODFphiRef-set {
    665684            if $value {
    666                 setexp "CRS$phase  ODF" "Y" 19 1
     685                setexp "CRS$phase  OD " "Y" 19 1
    667686            } else {
    668                 setexp "CRS$phase  ODF" "N" 19 1
     687                setexp "CRS$phase  OD " "N" 19 1
    669688            }       
    670689        }
     
    672691            regsub ODFcoef $parm {} term
    673692            set k [expr {($term+5)/6}]
    674             if {$k <= 9} {set k " $k"}
     693            if {$k <= 9} {
     694                set k "  $k"
     695            } elseif {$k <= 99} {
     696                set k " $k"
     697            }
    675698            set j [expr {(($term-1) % 6)+1}]
    676             set lineB [readexp "CRS$phase  ODF${k}B"]
     699            set lineB [readexp "CRS$phase  OD${k}B"]
    677700            set j0 [expr { ($j-1) *10}]
    678701            set j1 [expr {$j0 + 9}]
     
    685708            if ![validreal value 10 3] {return 0}
    686709            set k [expr {($term+5)/6}]
    687             if {$k <= 9} {set k " $k"}
     710            if {$k <= 9} {
     711                set k "  $k"
     712            } elseif {$k <= 99} {
     713                set k " $k"
     714            }
    688715            set j [expr {(($term-1) % 6)+1}]
    689716            set col [expr { ($j-1)*10 + 1}]
    690             setexp "CRS$phase  ODF${k}B" $value $col 10
     717            setexp "CRS$phase  OD${k}B" $value $col 10
    691718        }
    692719        ODFRefcoef-get {
    693             if {[string toupper [string range [readexp "CRS$phase  ODF"] 19 19]] == "Y"} {
     720            if {[string toupper [string range [readexp "CRS$phase  OD "] 19 19]] == "Y"} {
    694721                return 1
    695722            }
     
    698725        ODFRefcoef-set {
    699726            if $value {
    700                 setexp "CRS$phase  ODF" "Y" 20 1
     727                setexp "CRS$phase  OD " "Y" 20 1
    701728            } else {
    702                 setexp "CRS$phase  ODF" "N" 20 1
     729                setexp "CRS$phase  OD " "N" 20 1
    703730            }       
    704731        }
    705732        ODFomega-get {
    706            return [string trim [string range [readexp "CRS$phase  ODF"] 30 39]]
     733           return [string trim [string range [readexp "CRS$phase  OD "] 30 39]]
    707734        }
    708735        ODFchi-get {
    709            return [string trim [string range [readexp "CRS$phase  ODF"] 40 49]]
     736           return [string trim [string range [readexp "CRS$phase  OD "] 40 49]]
    710737        }
    711738        ODFphi-get {
    712            return [string trim [string range [readexp "CRS$phase  ODF"] 50 59]]
     739           return [string trim [string range [readexp "CRS$phase  OD "] 50 59]]
    713740        }
    714741        ODFomega-set {
    715742            if ![validreal value 10 4] {return 0}
    716             setexp "CRS$phase  ODF" $value 31 10
     743            setexp "CRS$phase  OD " $value 31 10
    717744        }
    718745        ODFchi-set {
    719746            if ![validreal value 10 4] {return 0}
    720             setexp "CRS$phase  ODF" $value 41 10
     747            setexp "CRS$phase  OD " $value 41 10
    721748        }
    722749        ODFphi-set {
    723750            if ![validreal value 10 4] {return 0}
    724             setexp "CRS$phase  ODF" $value 51 10
     751            setexp "CRS$phase  OD " $value 51 10
    725752        }
    726753
    727754        ODFterms-get {
    728755            set vallist {}
    729             set val [string trim [string range [readexp "CRS$phase  ODF"] 5 9]]
     756            set val [string trim [string range [readexp "CRS$phase  OD "] 5 9]]
    730757            for {set i 1} {$i <= $val} {incr i 6} {
    731758                set k [expr {1+($i-1)/6}]
    732                 if {$k <= 9} {set k " $k"}
    733                 set lineA [readexp "CRS$phase  ODF${k}A"]
     759                if {$k <= 9} {
     760                    set k "  $k"
     761                } elseif {$k <= 99} {
     762                    set k " $k"
     763                }
     764                set lineA [readexp "CRS$phase  OD${k}A"]
    734765                set k 0
    735766                for {set j $i} {$j <= $val && $j < $i+6} {incr j} {
     
    743774        }
    744775        ODFterms-set {
    745             set key "CRS$phase  ODF   "
     776            set key "CRS$phase  OD    "
    746777            if {![existsexp $key]} {
    747778                makeexprec $key
     
    759790                if {$j % 6 == 1} {
    760791                    incr k
    761                     if {$k <= 9} {set k " $k"}
     792                    if {$k <= 9} {
     793                        set k "  $k"
     794                    } elseif {$k <= 99} {
     795                        set k " $k"
     796                    }
    762797                    set col 1
    763                     set keyA "CRS$phase  ODF${k}A"
    764                     set keyB "CRS$phase  ODF${k}B"
     798                    set keyA "CRS$phase  OD${k}A"
     799                    set keyB "CRS$phase  OD${k}B"
    765800                    if {![existsexp $keyA]} {
    766801                        makeexprec $keyA
     
    779814                if {$j % 6 == 1} {
    780815                    incr k
    781                     if {$k <= 9} {set k " $k"}
     816                    if {$k <= 9} {
     817                        set k "  $k"
     818                    } elseif {$k <= 99} {
     819                        set k " $k"
     820                    }
    782821                    set col 1
    783                     set keyA "CRS$phase  ODF${k}A"
    784                     set keyB "CRS$phase  ODF${k}B"
     822                    set keyA "CRS$phase  OD${k}A"
     823                    set keyB "CRS$phase  OD${k}B"
    785824                    delexp $keyA
    786825                    delexp $keyB
Note: See TracChangeset for help on using the changeset viewer.