Exemplo n.º 1
0
print len(isos),'isotopologues for molec', molec_id

transitions = Trans.objects.filter(iso__in=isos).all()
ntrans = len(transitions)
last_pc = 0
for i, trans in enumerate(transitions):
    prms = trans.prm_set
    #for prm_name in ('Sw', 'A', 'gamma_air', 'gamma_self', 'n_air',
    #                 'delta_air'):
    #    exec('trans.%s = prms.get(name="%s")' % (prm_name, prm_name))

    Ierr = trans.par_line[127:133]
    Iref = trans.par_line[133:145]

    this_trans = HITRANTransition()
    this_trans.par_line = trans.par_line
    this_trans.molec_id = molec_id
    this_trans.iso_id = trans.iso.isoID
    this_trans.nu = HITRANParam(val=prms.get(name="nu").val,
        ref=int(Iref[:2]), name='nu', ierr=int(Ierr[0]))

    this_trans.Sw = HITRANParam(val=prms.get(name="Sw").val,
        ref=int(Iref[2:4]), name='Sw', ierr=int(Ierr[1]), relative=True)
    this_trans.A = HITRANParam(val=prms.get(name="A").val,
        ref=int(Iref[2:4]), name='Sw', ierr=int(Ierr[1]), relative=True)
    this_trans.gamma_air = HITRANParam(val=prms.get(name="gamma_air").val,
                ref=int(Iref[4:6]), name='gamma_air', ierr=int(Ierr[2]),
                relative=True)
    try:
        this_trans.gamma_self = HITRANParam(
            val=prms.get(name="gamma_self").val,
Exemplo n.º 2
0
print len(isos), 'isotopologues for molec', molec_id

transitions = Trans.objects.filter(iso__in=isos).all()
ntrans = len(transitions)
last_pc = 0
for i, trans in enumerate(transitions):
    prms = trans.prm_set
    #for prm_name in ('Sw', 'A', 'gamma_air', 'gamma_self', 'n_air',
    #                 'delta_air'):
    #    exec('trans.%s = prms.get(name="%s")' % (prm_name, prm_name))

    Ierr = trans.par_line[127:133]
    Iref = trans.par_line[133:145]

    this_trans = HITRANTransition()
    this_trans.par_line = trans.par_line
    this_trans.molec_id = molec_id
    this_trans.iso_id = trans.iso.isoID
    this_trans.nu = HITRANParam(val=prms.get(name="nu").val,
                                ref=int(Iref[:2]),
                                name='nu',
                                ierr=int(Ierr[0]))

    this_trans.Sw = HITRANParam(val=prms.get(name="Sw").val,
                                ref=int(Iref[2:4]),
                                name='Sw',
                                ierr=int(Ierr[1]),
                                relative=True)
    this_trans.A = HITRANParam(val=prms.get(name="A").val,
                               ref=int(Iref[2:4]),
                               name='Sw',
Exemplo n.º 3
0
    fields = line.split(',')
    for i, output_field in enumerate(trans_fields):
        this_trans.set_param(output_field.name, fields[i], output_field.fmt)
    #print this_trans.stateIDp, this_trans.stateIDpp
    this_trans.statep = get_state(this_trans.stateIDp)
    this_trans.statepp = get_state(this_trans.stateIDpp)
    this_trans.case_module = hitran_meta.get_case_module(this_trans.molec_id,
                        this_trans.local_iso_id)

    # OH (A-X) system is a special case:
    if this_trans.statep.global_iso_id == 48 and s_qns[15]=='A':
        this_trans.case_module = hcase_OHAX

    if not this_trans.validate_as_par():
        this_trans.old_par_line = this_trans.par_line
        this_trans.par_line = correct_par(this_trans)
        if this_trans.validate_as_par():
            print >>co, '%d-%s' % (line_no, this_trans.old_par_line)
            print >>co, '%d+%s' % (line_no, this_trans.par_line)
            ncorrections += 1
        else:
            print this_trans.par_line,'\nfailed to validate! I produced:'
            print this_trans.get_par_str()
            sys.exit(1)
    trans.append(this_trans)
co.close()
print '%d transitions read in.' % (len(trans))

end_time = time.time()
print '%d transitions and %d states in %s' % (len(trans), len(states),
             xn_utils.timed_at(end_time - start_time))