#DEFINITIONS: -*-sh-*- # ARTS setup file for DOIT calculations. # # This is a control file specifies various Agendas necessary for DOIT # calculations, and also provides some alternatives. Arts2 { # Main agenda for DOIT calculation # ---------------------------------------------------------------------- # # Input: incoming field on the cloudbox boundary # Ouput: the scattered field on the cloudbox boundary AgendaSet( doit_mono_agenda ){ # Prepare scattering data for DOIT calculation (Optimized method): DoitScatteringDataPrepare Ignore( f_grid ) # Alternative method: # no optimization of scattering angle grids (needs less memory): #scat_data_monoCalc # Perform iterations: 1. scattering integral. 2. RT calculations with # fixed scattering integral field, 3. convergence test doit_i_field_monoIterate # Write the radiation field inside the cloudbox: # WriteXML( output_file_format, doit_i_field ) } # Definitions for methods used in *i_fieldIterate*: #-------------------------------------------------- # 1. Scattering integral # ---------------------- # Calculation of the phase matrix AgendaSet( pha_mat_spt_agenda ){ # Optimized option: pha_mat_sptFromDataDOITOpt # Alternative option: #pha_mat_sptFromMonoData } AgendaSet( doit_scat_field_agenda ){ doit_scat_fieldCalcLimb # Alternative: use the same za grids in RT part and scattering integral part #doit_scat_fieldCalc } # 2. Radiative transfer with fixed scattering integral term # --------------------------------------------------------- AgendaSet( doit_rte_agenda ){ # Sequential update for 1D doit_i_fieldUpdateSeq1D # Alternatives: # Plane parallel approximation for determination of propagation path steps: #doit_i_fieldUpdateSeq1DPP # Without sequential update (not efficient): #doit_i_fieldUpdate1D # 3D atmosphere: #doit_i_fieldUpdateSeq3D # Sequential update for 1D with normalizing the scattered field: #doit_i_fieldUpdateSeq1D( normalize=1 ) } # Calculate opticle properties of particles and add particle absorption # and extinction to the gaseous properties to get total extinction and # absorption: AgendaSet( spt_calc_agenda ){ opt_prop_sptFromMonoData } # 3. Convergence test # -------------------- AgendaSet( doit_conv_test_agenda ){ # Give limits for all Stokes components in BT: doit_conv_flagAbsBT( #epsilon=[0.1, 0.01, 0.01, 0.01] ) # for stokes dim 4 epsilon=[0.1]) # for stokes dim 1 # Alternative: Give limits in radiances #doit_conv_flagAbs( epsilon=[0.1e-15, 0.1e-18, 0.1e-18, 0.1e-18] ) # # If you want to investigate several iteration fields, for example # to investigate the convergence behavior, you can use # the following method: #DoitWriteIterationFields( iterations=[2, 4]) #} } Copy( iy_cloudbox_agenda, iy_cloudbox_agenda__LinInterpField ) } # End main-----------------------------------------------------------------