Last change
on this file since 1686 was
1653,
checked in by oabramkina, 5 years ago
|
Developments for visualization of XIOS workflow.
Branch is spawned from trunk r1649.
Boost library is used for producing Graphviz DOT files. Current results: a DOT file representing a static workflow. For a complete proof of concept, DOT files for each timestamp should be generated. The necessary information has been collected by XIOS, it only requires rearranging the information for graphing (changes in classes CWorkflowGraph and CGraphviz).
|
-
Property copyright set to
Software name : XIOS (Xml I/O Server) http://forge.ipsl.jussieu.fr/ioserver Creation date : January 2009 Licence : CeCCIL version2 see license file in root directory : Licence_CeCILL_V2-en.txt or http://www.cecill.info/licences/Licence_CeCILL_V2-en.html Holder : CEA/LSCE (Laboratoire des Sciences du CLimat et de l'Environnement) CNRS/IPSL (Institut Pierre Simon Laplace) Project Manager : Yann Meurdesoif yann.meurdesoif@cea.fr
|
File size:
1.6 KB
|
Line | |
---|
1 | |
---|
2 | #ifndef __FIELD_IMPL_HPP__ |
---|
3 | #define __FIELD_IMPL_HPP__ |
---|
4 | |
---|
5 | #include "xios_spl.hpp" |
---|
6 | #include "field.hpp" |
---|
7 | #include "context.hpp" |
---|
8 | #include "grid.hpp" |
---|
9 | #include "timer.hpp" |
---|
10 | #include "array_new.hpp" |
---|
11 | #include "source_filter.hpp" |
---|
12 | #include "store_filter.hpp" |
---|
13 | |
---|
14 | |
---|
15 | namespace xios { |
---|
16 | |
---|
17 | template <int N> |
---|
18 | void CField::setData(const CArray<double, N>& _data) |
---|
19 | TRY |
---|
20 | { |
---|
21 | if (clientSourceFilter) |
---|
22 | { |
---|
23 | if (check_if_active.isEmpty() || (!check_if_active.isEmpty() && (!check_if_active) || isActive(true))) |
---|
24 | clientSourceFilter->streamData(CContext::getCurrent()->getCalendar()->getCurrentDate(), _data); |
---|
25 | } |
---|
26 | else if (instantDataFilter) |
---|
27 | ERROR("void CField::setData(const CArray<double, N>& _data)", |
---|
28 | << "Impossible to receive data from the model for a field [ id = " << getId() << " ] with a reference or an arithmetic operation."); |
---|
29 | } |
---|
30 | CATCH_DUMP_ATTR |
---|
31 | |
---|
32 | template <int N> |
---|
33 | void CField::getData(CArray<double, N>& _data) const |
---|
34 | TRY |
---|
35 | { |
---|
36 | if (storeFilter) |
---|
37 | { |
---|
38 | CDataPacket::StatusCode status = storeFilter->getData(CContext::getCurrent()->getCalendar()->getCurrentDate(), _data); |
---|
39 | |
---|
40 | if (status == CDataPacket::END_OF_STREAM) |
---|
41 | ERROR("void CField::getData(CArray<double, N>& _data) const", |
---|
42 | << "Impossible to access field data, all the records of the field [ id = " << getId() << " ] have been already read."); |
---|
43 | } |
---|
44 | else |
---|
45 | { |
---|
46 | ERROR("void CField::getData(CArray<double, N>& _data) const", |
---|
47 | << "Impossible to access field data, the field [ id = " << getId() << " ] does not have read access."); |
---|
48 | } |
---|
49 | } |
---|
50 | CATCH |
---|
51 | } // namespace xios |
---|
52 | |
---|
53 | #endif |
---|
Note: See
TracBrowser
for help on using the repository browser.