#DEFINITIONS: -*-sh-*- #This control file demonstrates how to do a scattering (here: DOIT) calculation # with all atmospheric fields (clearsky and cloud/precip) taken from model data, # and particle number density fields calculated from these model atmospheric # fields (setups done in indivfieldsatmo_setup.arts). #The case applies data equivalent to the first scenario used in TestDoitBatch # (folder doitbatch). Therefore, results are checked against the TestDoitBatch # reference results for that scenario. Also, the absorption lookup table from # doitbatch is applied. # # Author: Jana Mendrok # Arts2 { INCLUDE "indivfieldsatmo_setup.arts" # Set cloudbox limits # --------------------------------------------------------------------- cloudboxSetAutomatically( particle_field=scat_species_mass_density_field ) cloudboxSetAutomatically( particle_field=scat_species_mass_flux_field, cloudbox_limits_old=cloudbox_limits ) cloudboxSetAutomatically( particle_field=scat_species_number_density_field, cloudbox_limits_old=cloudbox_limits ) cloudboxSetAutomatically( particle_field=scat_species_mean_mass_field, cloudbox_limits_old=cloudbox_limits ) # Particle Number Density field calculation # ----------------------------------------- pnd_fieldCalcFromscat_speciesFields # 7. DOIT settings------------------------------------------------------- #------------------------------------------------------------------------ INCLUDE "general/agendasDOIT.arts" # Check the include file to see the setting of Agendas and if needed, # overwrite them by re-setting the agendas here. # Select zenith angle interpolation method ('linear' or 'polynomial'): # -------------------------------------------------------------------- # If "polynomial" is selected one has to use an optimized grid. Please # use *doit_za_grid_optCalc* to optimize the grid. doit_za_interpSet( doit_za_interp, atmosphere_dim, "linear" ) # Sets the angular grids for DOIT calculation # -------------------------------------------------------------------- # For down- and up-looking geometries. DOAngularGridsSet( doit_za_grid_size, scat_aa_grid, scat_za_grid, 19, 37, "" ) AgendaSet( doit_conv_test_agenda ){ # Give limits for all Stokes components in BT: doit_conv_flagAbsBT( epsilon=[0.1], max_iterations=100, nonconv_return_nan=1) } # 8. The RT calculation-------------------------------------------------- #------------------------------------------------------------------------ # Consistency checks atmfields_checkedCalc atmgeom_checkedCalc cloudbox_checkedCalc scat_data_checkedCalc sensor_checkedCalc # Initialize Doit variables DoitInit # Calculate incoming radiation field on cloudbox boundaries DoitGetIncoming # Set first guess field doit_i_fieldSetClearsky # Executes doit_mono_agenda for all frequencies DoitCalc # Calculate complete measurement vector yCalc #WriteXML( output_file_format, y ) # Verify results ArrayOfVectorCreate( ybatch_ref ) ReadXML( ybatch_ref, "../doitbatch/TestDOITBatch.ybatch.ref.xml" ) VectorCreate( y_ref ) Extract( y_ref, ybatch_ref, 0 ) Compare( y, y_ref, 0.01, "Total BT should be close to the reference values") #==================stop========================== } # End of Main