AerosolConcentration.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /***************************************************************************
  2. AerosolConcentration.h - description
  3. -------------------
  4. begin : Mon Jan 13 2003
  5. copyright : (C) 2003 by Christo Zietsman
  6. email : 13422863@sun.ac.za
  7. ***************************************************************************/
  8. #ifndef AEROSOLCONCENTRATION_H
  9. #define AEROSOLCONCENTRATION_H
  10. /**********************************************************************c
  11. c aerosol model (concentration) c
  12. c ---------------------------- c
  13. c c
  14. c c
  15. c v if you have an estimate of the meteorological c
  16. c parameter: the visibility v, enter directly the c
  17. c value of v in km (the aerosol optical depth will c
  18. c be computed from a standard aerosol profile) c
  19. c c
  20. c v=0, taer55 if you have an estimate of aerosol optical depth , c
  21. c enter v=0 for the visibility and enter the aerosol c
  22. c optical depth at 550 c
  23. c c
  24. c v=-1 warning: if iaer=0, enter v=-1 c
  25. c c
  26. c**********************************************************************/
  27. struct AtmosModel;
  28. struct AerosolConcentration
  29. {
  30. /* aerosol concentration parameters */
  31. float taer55;
  32. private:
  33. long int iaer;
  34. float v;
  35. void parse(const long int iaer, const AtmosModel &atms);
  36. void oda550(const float v, const AtmosModel &atms);
  37. public:
  38. /* Set the visibility, this will overide any previous estimates of taer55 */
  39. void set_visibility (const float vis, const AtmosModel &atms) { if(vis > 0) oda550(vis, atms); }
  40. void print();
  41. static AerosolConcentration Parse(const long int iaer, const AtmosModel &atms);
  42. };
  43. #endif /* AEROSOLCONCENTRATION_H */