setupopac.f
95 lines · 1 definitions · on GitHub (7be4133)
Python version: setupopac.py, 42 lines, on the right (switch to Python above the code).
Purpose
Reads the opacity tables chosen for the run and sets up their interpolation. Its comment: "THIS SUBROUTINE READS IN SPECIFIED OPACITY TABLES AND SET UP SPLINES FOR THE TABLES. WHEN LZRAMP=T OR LDIFZ=T THEN READ IN SECOND SET OF OPACITY TABLES AT DIFFERENT Z."
How it fits
- Who calls it:
SETUPS, once per run; the file names are passed through (MHP 8/25). - What it calls, by the namelist switches in
NMLPAR_MOD: - interior tables: OPAL95,
LL95TBLthenOP95XTAB(LOPAL95); the pure-Z table,RDZLAOLthenZSULAOL(LPUREZ); - low-temperature tables: Ferguson et al. 2005,
READALEX06(LALEX06). - Inputs:
XENV(the envelope's $X$, for the tables built at fixed composition) and the file namesFALEX06,FLIV95,FPUREZ. SetsL2Z=LZRAMPorLDIFZ(both namelist parameters) inNEWOPAC_MOD(line 64↗); despite the header's comment, no reader reads it, and onlyGETOPACdoes, in its single-table test (getopac.f, lines 140–141↗; settled from the code, Nov 9, 2026). - Output: the tables, in the modules of the routines called. They are used at run time by
GETOPAC.
From YREC's documentation
Control Options (Input files): FALEX06 is the molecular opacity table (Ferguson et al. 2005, with LALEX06, recommended), FLIV95 the atomic one (OP/OPAL format, with LOPAL95, recommended), and FPUREZ the pure Y/Z table (with LPUREZ).
Definitions
subroutineSETUPOPAC
Uses modules NEWOPAC_MOD, NMLPAR_MOD
Called by SETUPS
Flowchart of its calls, in order (5)
Change log
The changes since rp_1
Changed since rp_1. The OPAL92 (SETLLO, LL4TH), LAOL89 (RDLAOL, SULAOL), Alexander 1995 (ALXTBL, ALX8TH) and Kurucz 1990 (SETKRZ) tables are removed (all removed since rp_1), with their file-name arguments and the argument V; this settles former question 1 (several interior tables at once), since OPAL95 is now the only interior table; COMMON blocks to modules, IMPLICIT NONE.