Emissions.hxx

00001 // Copyright (C) 2003-2007, ENPC - INRIA - EDF R&D
00002 // Author(s): Vivien Mallet
00003 //
00004 // This file is part of AtmoData library, a tool for data processing in
00005 // atmospheric sciences.
00006 //
00007 // AtmoData is developed in the INRIA - ENPC joint project-team CLIME and in
00008 // the ENPC - EDF R&D joint laboratory CEREA.
00009 //
00010 // AtmoData is free software; you can redistribute it and/or modify it under
00011 // the terms of the GNU General Public License as published by the Free
00012 // Software Foundation; either version 2 of the License, or (at your option)
00013 // any later version.
00014 //
00015 // AtmoData is distributed in the hope that it will be useful, but WITHOUT ANY
00016 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00017 // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
00018 // details.
00019 //
00020 // For more information, visit the AtmoData home page:
00021 //      http://cerea.enpc.fr/polyphemus/atmodata.html
00022 
00023 
00024 #ifndef ATMODATA_FILE_EMISSIONS_HXX
00025 
00026 #include <list>
00027 
00028 namespace AtmoData
00029 {
00030 
00031   template <class TL, class TD, class TEFI, class TEFT,
00032             class TEFN, class TI, class TT, class TN, class TG>
00033   void ComputeBiogenicRates(Data<TL, 3, TG>& LUC, Data<TD, 3, TG>& Density,
00034                             Data<TEFI, 1, TG>& EF_isoprene,
00035                             Data<TEFT, 1, TG>& EF_terpenes,
00036                             Data<TEFN, 1, TG>& EF_NO,
00037                             Data<TL, 3, TG>& Isoprene,
00038                             Data<TL, 3, TG>& Terpenes,
00039                             Data<TL, 3, TG>& NO);
00040 
00041   template <class TTemp, class TP, class TL, class TD, class TEFI, class TEFT,
00042             class TEFN, class TI, class TT, class TN, class TG>
00043   void ComputeBiogenicEmissions(Data<TTemp, 3, TG>& Temperature,
00044                                 Data<TP, 3, TG>& PAR,
00045                                 Data<TL, 3, TG>& LUC,
00046                                 Data<TD, 3, TG>& Density,
00047                                 Data<TEFI, 1, TG>& EF_isoprene,
00048                                 Data<TEFT, 1, TG>& EF_terpenes,
00049                                 Data<TEFN, 1, TG>& EF_NO,
00050                                 Data<TL, 3, TG>& Isoprene,
00051                                 Data<TL, 3, TG>& Terpenes,
00052                                 Data<TL, 3, TG>& NO);
00053 
00055   template <class T>
00056   class EmepCountryEmission
00057   {
00058   public:
00060     T emission_;
00062     int country_;
00063   public:
00064     EmepCountryEmission(T emission, int country);
00065   };
00066 
00068   class TimeZone
00069   {
00070 
00071   public:
00073     vector<int> countries_;
00075     vector<int> local_times_;
00076 
00077     TimeZone(int N);
00078     void Init(string file_name);
00079     int operator () (int i) const;
00080   };
00081 
00082 
00083 }  // namespace AtmoData.
00084 
00085 #define ATMODATA_FILE_EMISSIONS_HXX
00086 #endif

Generated on Tue Nov 17 11:51:45 2009 for AtmoData by  doxygen 1.5.1