== Status: December 24, 2008 == If you have time and talent to take over any of the jobs below please contact the developers! == General points == * Complete checking of uvspec input variables * Better error handling. In uvspec.h have a list of appropriate error codes. But, be careful, this must agree with error codes in ascii.h etc. It would be nice to have standard error messages for each error code. * More documentation: * Use sdoc or similar tool to document all *.f and *.c files. * Document all stand-alone programs in the tools directory. * More configuration options for water and ice clouds, aerosols; e.g. wavelength dependent aerosol_gg_file, aerosol_tau_file, aerosol_ssa_file (matrix input format like densfile_sza) * More input options for time: LOC (local time), LAT (local apparent time), UTC; take function LAT from zenith and invert it. * More, but fast examples * User-friendly mechanism for adding of new absorbing gases * more flexible input of atmospheric constituents in atmosphere file * read profile of the new gas * absorption cross-sections in an external file * interphase to an line-by-line model and absorption data base (HITRAN) * More consistent treatment of scaling with mixing ratios, columns, and dens_files; e.g. mixing_ratio 5% will scale up a minor constituent unexpectedly to 4.8% = 0.05/(1.0+0.05); reduce all other constituents accordingly * Possibility to add more than one dens file (different trace gas profiles on different vertical grids) * include HDF library * read e.g. MODIS albedo in the original format * Allow output_user also for solver polradtran * Include more radiative transfer equation solvers in libRadtran. Of special interest are * successive order of scattering method to include Raman scattering. * codes that accounts for changes in the refractive index, i.e. at the atmosphere ocean boundary. * psndo from tuv * qdisort (Raman scattering) * fast and stable twostream approximation * More photodissociation stuff. * Include standard aerosols, standard clouds; e.g. it would be nice to simply select a 'wc_type stratocumulus' * Better o3 cross sections for the Chappuis band? * Improved solar zenith/azimuth angle calculation * Better extraterrestrial spectrum above 420nm? * Tool to create custom-made correlated-k tables and add support for a generic correlated-k approximation More information is available on request. == Specific things to be done == * Better checking for tau550 option: with e.g. correlated_k KATO, tau550 does not produce an error message if the lower wavelength is larger than 550nm; instead the optical thickness is set to 0; need to consider wvn_upper and wvn_lower here! * oceabrdf() returns values for arbitrary wavelengths; if the wavelength is larger than 4 micron, it is replaced by 4 micron; should either stop and return an error or provide a routine that calculates useful numbers in the IR. In general, there should be a warning e.g. if the albedo is larger than 0.1 in a thermal calculation. == Longterm visions == * Get radiative output for input: place here time now * libRadtran goes to space * radiative transfer for Mars, Jupiter ... * make input file for all constants of a planet gravitation_acceleration_surface, radius_planet, day/year duration, mass_planet, tilt of rotation axis * clean up every assumption, which assume Earth environment, especially atmosphere * libRadtran in the submarine region: underwater radiative transfer * Restructuring: change loop and memory structure of libRadtran to have optical properties for only one wavelength in memory at one time