### ### This is a template to calculate the absorption and spectra corresponding ### to a Q. The following fields of QE must exist: ### ### QE.ABS_SAVE flag to save abs ### QE.ABS_EXIT flag to exit after doing absorption ### Spectroscopy: ############################################################ IF isempty(Q.OTHER_TAGS) tgsDefine { [$Q.RETRIEVAL_TAGS$] } ELSE tgsDefine { [$Q.RETRIEVAL_TAGS$,$Q.OTHER_TAGS$] } END wfs_tgsDefine { [] } lineshapeDefine { shape = "$Q.LINESHAPE$" normalizationfactor = "$Q.LINESHAPE_FACTOR$" cutoff = $Q.LINESHAPE_CUTOFF$ } linesReadFromArts { filename = "$Q.SPECTRO_DIR$$Q.FILESEP$$Q.LINEFILE$" fmin = 0 fmax = 10e18 } lines_per_tgCreateFromLines { } # @qpi_continua ### p_abs #################################################################### VectorReadAscii( p_abs ) { "$Q.CALCGRIDS_DIR$$Q.FILESEP$$Q.P_ABS$" } ### Monochromatic frequency grid ############################################# VectorReadAscii( f_mono ) { "$Q.CALCGRIDS_DIR$$Q.FILESEP$$Q.F_MONO$" } ### The atmosphere ########################################################### MatrixReadAscii ( raw_ptz ) { filename = "$Q.APRIORI_PTZ$" } raw_vmrsReadFromScenario { basename = "$Q.APRIORI_VMR$" } AtmFromRaw {} h2o_absSet { } n2_absSet { } ### The geoid ############################################################### r_geoidStd { } ### Hydrostatic eq. ########################################################### IF Q.HSE_IN_ON hseSet{ pref = $Q.HSE_PREF$ zref = $Q.HSE_ZREF$ g0 = 9.81 niter = 2 } hseCalc{} ELSE hseOff{} END ### The ground ############################################################### groundSet{ z = $Q.GROUND_ALTITUDE$ e = $Q.GROUND_EMISSION$ } ### Absorption ################################################################ absCalc { } IF QE.ABS_SAVE MatrixWriteBinary( abs ) { "" } END IF QE.ABS_EXIT Exit{} END abs_per_tgReduce { } ### Refraction ################################################################ IF Q.REFRACTION_ON refrSet{ on = 1 model = "$Q.REFR_METHOD$" lfac = $Q.REFR_LFAC$ } ELSE refrOff{} END refrCalc{} ### Emission ################################################################# IndexSet( emission ) { value = $Q.EMISSION_ON$ } ### Observation geometry ###################################################### NumericSet ( z_plat ) { value = $Q.PLATFORM_ALTITUDE$ } VectorReadAscii ( za_pencil ) { "$Q.CALCGRIDS_DIR$$Q.FILESEP$$Q.ZA_PENCIL$" } NumericSet ( l_step ) { value = $Q.STEPLENGTH_RTE$ } ### LOS and RTE ############################################################## y_spaceStd { "cbgr" } losCalc {} sourceCalc {} transCalc {} yCalc {} VectorWriteBinary( y ) { "" } IF Q.EMISSION_ON ### Convert to RJ temperatures. ############################################## yTRJ {} END ### Save ##################################################################### VectorWriteBinary( y ) { "" } VectorWriteBinary( p_abs ) { "" } VectorWriteBinary( t_abs ) { "" } VectorWriteBinary( z_abs ) { "" } MatrixWriteBinary( vmrs ) { "" }