HITRAN ASCII到二进制转换工具:hitbin.f v1.20

需积分: 10 4 下载量 50 浏览量 更新于2024-09-22 收藏 93KB DOC 举报
"hitranhitran use - 转换HITRAN ASCII文件到二进制格式" HITRAN(High-resolution Transmission Molecular Absorption)是高分辨率分子吸收光谱数据库,广泛用于大气科学、天体物理学以及化学反应研究等领域。这个数据库包含了大量的分子光谱数据,包括各种气体在不同波长下的吸收系数,这些数据对于理解和模拟地球及其它行星的大气层至关重要。 hitbin.f(v1.20) 是一个程序,它的功能是将HITRAN的ASCII格式数据转换成二进制格式。这是一个更新版本(30JUN09),据称可以处理HITRAN2008中自展参数格式的变化(从F5.4变为F5.3)。然而,开发者指出他们尚未亲自验证这一新版本是否能正确处理这一变化。如果用户需要与早期HITRAN版本兼容的程序,可以使用旧版本hitbin_v1.10.f。 在使用hitbin.f(v1.20)时,用户需要通过Fortran编译器(如f77)编译源代码,命令为 "f77 hitbin.f -ohitbin"。之后,程序会提示用户进行以下操作: 1. **程序和版本标识**:运行程序时,会显示程序名称和版本号。 2. **输入HITRAN ASCII文件**:用户需要提供要转换的ASCII文件的完整路径和名称。 3. **波长范围**:用户可以选择转换数据的特定波长范围(cm-1),默认是使用文件中的全部波长范围。 4. **气体的HITRAN ID**:用户可以指定要包含或排除的气体。HITRAN ID在文件的附录E中有列出。若输入的是正数,则表示选择该气体;若输入负数,则排除。默认情况下,所有气体都会被包含。 转换过程完成后,用户会得到一个二进制文件,这种格式通常占用更小的存储空间,读取速度也更快,适合于需要高效处理大量光谱数据的应用场景。 hitranhitran use 是关于利用hitbin.f程序处理和转换HITRAN数据库ASCII数据的过程,这有助于科学家和研究人员更加便捷地处理和分析大气中的分子吸收数据。

public LoginRegisterApp() { setTitle("登录/注册"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(300, 200); setLayout(new GridLayout(3, 2)); JLabel usernameLabel = new JLabel("用户名:"); JLabel passwordLabel = new JLabel("密码:"); usernameField = new JTextField(); passwordField = new JPasswordField(); loginButton = new JButton("登录用户存档"); registerButton = new JButton("创建用户存档"); loginButton.addActionListener(e -> { String username = usernameField.getText(); String password = passwordField.getText(); System.out.println(username); String sql = "SELECT * FROM `use` WHERE useName = ? && usePassword = ?"; Use use = (Use) DBUtil.getObject(Use.class, sql, username, password); // 在这里执行登录操作 if (use != null) { JOptionPane.showMessageDialog(LoginRegisterApp.this, "存档成功"); dispose(); } else { JOptionPane.showMessageDialog(LoginRegisterApp.this, "用户不存在,请重新登录!"); } }); registerButton.addActionListener(e -> { String username = usernameField.getText(); String password = passwordField.getText(); String sql = "SELECT * FROM `use` WHERE useName = ?"; Use use = (Use) DBUtil.getObject(Use.class, sql, username); // 在这里执行注册操作 if (use != null) { JOptionPane.showMessageDialog(LoginRegisterApp.this, "该用户已存在,请重新操作!"); } else { if (passwordField.getText().isEmpty()) { DBUtil.executeUpdate("INSERT INTO `use`(useName)VALUES(?)", username); } else { DBUtil.executeUpdate("INSERT INTO `use`(useName,usePassword)VALUES(?,?)", username, password); } JOptionPane.showMessageDialog(LoginRegisterApp.this, "存档成功"); dispose(); } }); add(usernameLabel); add(usernameField); add(passwordLabel); add(passwordField); add(loginButton); add(registerButton); setVisible(true); }如何在另一个函数中得到use对象

2023-07-16 上传