# An example ARTS controlfile that calculates absorption # coefficients. # SAB 16.06.2000 Arts2 { INCLUDE "general.arts" INCLUDE "continua.arts" # --------------------< A specific method >-------------------- # ------------------- # Read the spectroscopic line data from the ARTS catalogue and # create the workspace variable `lines'. abs_linesReadFromArts( abs_lines, "lines.xml", 1e9, 200e9 ) # This test catalogue was generated from the HITRAN catalogue in the # following way: #abs_linesReadFromHitran( abs_lines, # "PATH_TO_ARTS-DATA/spectroscopy/hitran96/hitran96_lowfreq.par", # 1e9, # 200e9 ) VectorNLogSpace( p_grid, 10, 100000, 10 ) # This defines the list of absorption species. # Spectral lines will be assigned to the species in the order as the species # are specified here. That means if you do ["H2O-181","H2O"], the last # group H2O gets assigned all the H2O lines that do not fit in the # first group. # # The continuum tags are special, since continua are not added by # default. Thus, just selecting "H2O" will give you no continuum. SpeciesSet( abs_species, [ "H2O-PWR98", "O2-PWR93", "N2-SelfContStandardType" ] ) # Alternatively select all species that we can find in the scenario: #abs_speciesDefineAllInScenario( abs_species, "../atmosphere_data/tropical" ) # Atmospheric profiles AtmRawRead( t_field_raw, z_field_raw, vmr_field_raw, abs_species, "../atmosphere_data/tropical" ) # This separates the lines into the different tag groups and creates # the workspace variable `abs_lines_per_species': abs_lines_per_speciesCreateFromLines # Now interpolate all the raw atmospheric input onto the pressure # grid and create the atmospheric variables `t_field', `z_field', `vmr_field' AtmFieldsCalc # Initialize the input variables of abs_coefCalc from the Atm fields: AbsInputFromAtmFields # Create the frequency grid `f_grid': VectorNLinSpace( f_grid, 100, 50e9, 150e9 ) # Calculate absorption coefficients, both total (`abs_coef') and # separately for each tag group (`abs_coef_per_species'): #abs_coefCalc # Select species for non-linear treatment in lookup table: SpeciesSet( abs_nls, [] ) #SpeciesSet( abs_nls, ["H2O-PWR98", "O2-PWR93"] ) # Set tempertature perturbation vector for lookup table: VectorSet( abs_t_pert, [] ) #VectorLinSpace( abs_t_pert, -10, 10, 1 ) # Set non-linear species VMR perturbation vector for lookup table: VectorSet( abs_nls_pert, [] ) #VectorNLogSpace( abs_nls_pert, 5, 0.01, 10 ) abs_lookupCreate # Optionally write these to files: #WriteXML( output_file_format, abs_t ) #WriteXML( output_file_format, vmrs ) # Write absorption coefficients to files: #WriteXML( output_file_format, abs_coef ) #WriteXML( output_file_format, abs_coef_per_species ) # Write absorption lookup table to file: WriteXML ( output_file_format, abs_lookup ) }