source: XIOS/trunk/src/transformation/domain_algorithm_zoom.hpp @ 631

Last change on this file since 631 was 631, checked in by mhnguyen, 9 years ago

Implementing zooming on a domain

+) Add algorithm to do zooming on a domain
+) Remove some redundant codes

Test
+) On Curie
+) test_complete and test_client are correct

File size: 1.1 KB
Line 
1/*!
2   \file domain_algorithm_zoom.hpp
3   \author Ha NGUYEN
4   \since 03 June 2015
5   \date 12 June 2015
6
7   \brief Algorithm for zooming on an domain.
8 */
9#ifndef __XIOS_DOMAIN_ALGORITHM_ZOOM_HPP__
10#define __XIOS_DOMAIN_ALGORITHM_ZOOM_HPP__
11
12#include "domain_algorithm_transformation.hpp"
13#include "zoom_domain.hpp"
14#include "domain.hpp"
15
16namespace xios {
17/*!
18  \class CDomainAlgorithmZoom
19  Implementing zoom on domain
20  A zoomed region can be considered as region that isnt masked.
21  Only this zoomed region is extracted to write on Netcdf.
22*/
23class CDomainAlgorithmZoom : public CDomainAlgorithmTransformation
24{
25public:
26  CDomainAlgorithmZoom(CDomain* domainDestination, CDomain* domainSource, CZoomDomain* zoomDomain);
27
28  virtual ~CDomainAlgorithmZoom() {}
29
30  virtual void computeIndexSourceMapping();
31
32private:
33  void updateDomainDestinationMask();
34  void updateZoom();
35
36private:
37  //! Global zoom begin on domain
38  int zoomIBegin_;
39  int zoomJBegin_;
40
41  //! Global zoom end on domain
42  int zoomIEnd_;
43  int zoomJEnd_;
44
45  //! Global zoom size on domain
46  int zoomNi_;
47  int zoomNj_;
48};
49
50}
51#endif // __XIOS_DOMAIN_ALGORITHM_ZOOM_HPP__
Note: See TracBrowser for help on using the repository browser.