# An example ARTS controlfile that calculates absorption # coefficients. # SAB 16.06.2000 Main { output_file_formatSetAscii {} # --------------------< A specific method >-------------------- # ------------------- # Read the spectroscopic line data from the ARTS catalogue and # create the workspace variable `lines'. abs_linesReadFromArts { filename = "data/lines.ac" fmin = 1e9 fmax = 200e9 } # This test catalogue was generated from the HITRAN catalogue in the # following way: #abs_linesReadFromHitran { # filename = "PATH_TO_ARTS-DATA/spectroscopy/hitran96/hitran96_lowfreq.par" # fmin = 1e9 # fmax = 200e9 #} #linesWriteAscii{"lines.ac"} AtmosphereSet1D{} VectorNLogSpace(p_grid){ start = 100000 stop = 10 n = 10 } # This defines the list of tag groups (`tag_groups'). Absorption # coefficients will be calculated separately for each tag group. This # is necessary in order to calculate weighting functions later on. # The lines are assigned to the tag groups in the order as the groups # 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. abs_speciesSet{ [ "H2O", "O3", "N2" ] } # Alternatively select all species that we can find in the scenario: #abs_speciesDefineAllInScenario{"data/tropical"} # Atmospheric profiles AtmRawRead { basename = "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 {} # Set the physical H2O profile from the H2O profile in vmrs: abs_h2oSet {} # N2 likewise: abs_n2Set {} # Create the frequency grid `f_grid': VectorNLinSpace (f_grid) { start = 50e9 stop = 150e9 n = 100 } # set the lineshape function for all calculated tags abs_lineshapeDefine{ shape = "Voigt_Kuntz6" normalizationfactor = "linear" cutoff = -1 } # or set it separately for each tag #abs_lineshape_per_tgDefine{ # shape = [ "Voigt_Kuntz6", "no_shape", "Voigt_Kuntz6", "Voigt_Kuntz6" ] # normalizationfactor = [ "quadratic", "no_norm", "linear", "linear" ] # cutoff = [ -1, -1, -1, -1 ] #} # Formally, we also have to set ContDescription, even though we don't # have a continuum: abs_cont_descriptionInit {} # Calculate absorption coefficients, both total (`abs_coef') and # separately for each tag group (`abs_coef_per_species'): abs_coefCalc {} # Optionally write these to files: #WriteXML (abs_t) {"data/simpleAbs.abs_t.xml.generated"} #WriteXML (vmrs) {"data/simpleAbs.vmrs.xml.generated"} # This we definitely want to write to file! WriteXML (abs_coef) {"data/simpleAbs.abs_coef.xml.generated"} WriteXML (abs_coef_per_species) {"data/simpleAbs.abs_coef_per_species.xml.generated"} }