### ### A general purpose template for ARTS-1 calculations. ### ### ### The template can be used for the first iteration of CLS inversions. ### Q.KLEVELS shall then be set to 3. This explains the name of the template. ### ### The template can also be used to calculate Kb. If Se shall be calculated, ### Q.KLEVELS shall then be set to 2, while if an error characterization ### shall be done, Q.KLEVELS shall be set to 12. ### ### Spectroscopy: ############################################################ IF isempty(Q.OTHER_TAGS) tgsDefine { [$Q.RETRIEVAL_TAGS$] } END IF isempty(Q.RETRIEVAL_TAGS) tgsDefine { [$Q.OTHER_TAGS$] } END IF ~isempty(Q.OTHER_TAGS) & ~isempty(Q.RETRIEVAL_TAGS) tgsDefine { [$Q.RETRIEVAL_TAGS$,$Q.OTHER_TAGS$] } END IF ~isempty(Q.RETRIEVAL_TAGS) wfs_tgsDefine { [$Q.RETRIEVAL_TAGS$] } ELSE wfs_tgsDefine { [] } END 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 { } 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 {} ### K ######################################################################### IF Q.KLEVELS == 3 @qpi_K3 END IF Q.KLEVELS == 2 @qpi_K2 END IF Q.KLEVELS == 12 @qpi_K12 END IF Q.EMISSION_ON ### Convert to RJ temperatures ################################################ yTRJ {} END ### Variables always saved #################################################### VectorWriteBinary( y ) { "" } VectorWriteBinary( p_abs ) { "" } VectorWriteBinary( t_abs ) { "" } VectorWriteBinary( z_abs ) { "" } MatrixWriteBinary( vmrs ) { "" } VectorWriteBinary( z_tan ) { "" } VectorWriteBinary( za_pencil ) { "" } VectorWriteBinary( f_mono ) { "" } IF Q.DO_NONLIN ### Variables saved for any non-linear inversion ############################## VectorWriteBinary( y_space ) { "" } NumericWriteBinary( z_ground ) { "" } NumericWriteBinary( t_ground ) { "" } VectorWriteBinary( e_ground ) { "" } END IF Q.DO_NONLIN & ~Q.RECALC_ABS ### Saving for non-linear and no absorption recalculation ##################### MatrixWriteBinary( abs ) { "" } ArrayOfMatrixWriteBinary( abs_per_tg ) { "" } END