# # Check functionality of Toolbox spectroscopic line data and consistency of # these with HITRAN spectroscopic catalogues. # # Tests are done using Fascod atmospheric field data for tropical conditions. # However, not all spectroscopic species included in the catalogue have profiles # available with Fascod. For those which do not have, we do the cross-section # calculation assuming a constant, same for all species profile. For simplicity, # the procedure is done separately for the Fascode and non-Fascod species (in # the latter case including O2, N2, H2O as well as those are the relevant # broadening gases). # # This is the core controlfile shared (i.e. used as an include file) by both versions. # # CAUTION: # - HITRAN data is NOT included in the toolbox! Hence, for running the part # that uses HITRAN it is required that the user gets his/her own copy of # the HITRAN catalogue (and adapt path to the catalogue accordingly). # # Jana Mendrok 2013-02-26 Arts2 { ####### # 0a) basic settings ####### # some auxiliary creating and setting for output files StringCreate( outname ) StringCreate( xmlext ) StringSet( xmlext, ".xml" ) AtmosphereSet1D IndexSet( stokes_dim, 1 ) # use abs LUT Copy( propmat_clearsky_agenda, propmat_clearsky_agenda__LookUpTable ) Copy( abs_xsec_agenda, abs_xsec_agenda__noCIA ) # set the source for catalogues StringCreate( hitranfile ) StringSet( hitranfile, "/storage5/data/catalogue/hitran/hitran2008/HITRAN08.par" ) StringCreate( catfolder ) StringSet( catfolder, "spectroscopy/Perrin/" ) ####### # 0b) define atm scenario and species, p_grid, f_grid ####### # frequency grid (full toolbox range) #VectorLinSpace( f_grid, 0e9, 3000e9, 1.e9 ) VectorLinSpace( f_grid, fstart, fend, fspace ) #WriteXML( "ascii", f_grid ) # set the pressure grids VectorNLogSpace( p_grid, 31, 1000e2, 0.1 ) # read and grid-prepare atmospheric data AtmRawRead( basename = atmcase ) AtmFieldsCalc atmfields_checkedCalc ####### # 1a) Get HITRAN catalogue and do LUT calc ####### # read HITRAN08 data up to 3THz and preprocess abs_linesReadFromHitran( abs_lines, hitranfile, 0., 3000e9 ) abs_lines_per_speciesCreateFromLines # create the LUT abs_lookupSetup #WriteXML( "ascii", abs_p ) abs_xsec_agenda_checkedCalc abs_lookupCalc StringSet( outname, "ARTS3-from-HITRAN08_LUT_" ) Append( outname, ext ) Append( outname, xmlext ) WriteXML( "ascii", abs_lookup, outname ) ####### # 1b) convert HITRAN data from ARTS-3 to ARTS-4 catalogue format, then repeat # LUT calc ####### # convert catalogue format abs_linesArtscat4FromArtscat3 abs_lines_per_speciesCreateFromLines # create the LUT abs_lookupSetup abs_xsec_agenda_checkedCalc abs_lookupCalc StringSet( outname, "ARTS4-from-HITRAN08_LUT_" ) Append( outname, ext ) Append( outname, xmlext ) WriteXML( "ascii", abs_lookup, outname ) ####### # 2) Get spectroscopic data from toolbox (Perrin catalogue), do LUT calc ####### # read toolbox catalogue abs_linesReadFromSplitArtscat( abs_lines, abs_species, catfolder, 0., 3000e9 ) abs_lines_per_speciesCreateFromLines # create the LUT abs_lookupSetup abs_xsec_agenda_checkedCalc abs_lookupCalc StringSet( outname, "Perrin_LUT_" ) Append( outname, ext ) Append( outname, xmlext ) WriteXML( "ascii", abs_lookup, outname ) }