AtmosModel.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #ifndef ATMOSPHERIC_MODEL_H
  2. #define ATMOSPHERIC_MODEL_H
  3. /* **********************************************************************c */
  4. /* idatm atmospheric model c */
  5. /* -------------------- c */
  6. /* c */
  7. /* c */
  8. /* you select one of the following standard atmosphere: idatm=0 to 6 c */
  9. /* 0 no gaseous absorption c */
  10. /* 1 tropical ) c */
  11. /* 2 midlatitude summer ) c */
  12. /* 3 midlatitude winter ) c */
  13. /* 4 subarctic summer ) from lowtran c */
  14. /* 5 subarctic winter ) c */
  15. /* 6 us standard 62 ) c */
  16. /* c */
  17. /* or you define your own atmospheric model idatm=7 or 8 c */
  18. /* 7 user profile (radiosonde data on 34 levels) c */
  19. /* enter altitude ( in km ) c */
  20. /* pressure ( in mb ) c */
  21. /* temperature ( in k ) c */
  22. /* h2o density (in g/m3) c */
  23. /* o3 density (in g/m3) c */
  24. /* c */
  25. /* for example, altitudes are from 0 to 25km step of 1km c */
  26. /* from 25 to 50km step of 5km c */
  27. /* and two values at 70km and 100km c */
  28. /* so you have 34*5 values to input. c */
  29. /* 8 enter water vapor and ozone contents c */
  30. /* uw (in g/cm2 ) c */
  31. /* uo3 (in cm-atm) c */
  32. /* profil is taken from us62 c */
  33. /* c */
  34. /* **********************************************************************c */
  35. struct AtmosModel
  36. {
  37. long int idatm; /* atmospheric model*/
  38. /* secondary */
  39. float uw;
  40. float uo3;
  41. /* primary */
  42. float z[34];
  43. float p[34];
  44. float t[34];
  45. float wh[34];
  46. float wo[34];
  47. private:
  48. /* methods to initialize each model */
  49. void us62();
  50. void tropic();
  51. void midsum();
  52. void midwin();
  53. void subsum();
  54. void subwin();
  55. void parse();
  56. public:
  57. void print();
  58. static AtmosModel Parse();
  59. };
  60. #endif /* ATMOSPHERIC_MODEL_H */