XIOS
1.0
Xml I/O Server
|
#include <field.hpp>
Types publics | |
enum | EEventId { EVENT_ID_UPDATE_DATA, EVENT_ID_READ_DATA, EVENT_ID_READ_DATA_READY, EVENT_ID_ADD_VARIABLE, EVENT_ID_ADD_VARIABLE_GROUP } |
typedef CFieldAttributes | RelAttributes |
typedef CFieldGroup | RelGroup |
Fonctions membres publiques | |
CField (void) | |
Constructeurs ///. Plus de détails... | |
CField (const StdString &id) | |
CField (const CField &field) | |
CField (const CField *const field) | |
CGrid * | getRelGrid (void) const |
Accesseurs ///. Plus de détails... | |
CFile * | getRelFile (void) const |
func::CFunctor::ETimeType | getOperationTimeType () const |
int | getNStep (void) const |
template<int N> | |
void | getData (CArray< double, N > &_data) const |
std::shared_ptr< COutputPin > | getInstantDataFilter () |
void | setRelFile (CFile *_file) |
Mutateur ///. Plus de détails... | |
void | incrementNStep (void) |
void | resetNStep (int nstep=0) |
void | resetNStepMax () |
std::map< int, StdSize > | getGridAttributesBufferSize (CContextClient *client, bool bufferForWriting=false) |
std::map< int, StdSize > | getGridDataBufferSize (CContextClient *client, bool bufferForWriting=false) |
void | setContextClient (CContextClient *newContextClient) |
CContextClient * | getContextClient () |
bool | isActive (bool atCurrentTimestep=false) const |
bool | wasWritten () const |
void | setWritten () |
bool | getUseCompressedOutput () const |
void | setUseCompressedOutput () |
void | solveGridReference (void) |
Traitements ///. Plus de détails... | |
void | solveServerOperation (void) |
void | solveCheckMaskIndex (bool doSendingIndex) |
void | solveAllReferenceEnabledField (bool doSending2Server) |
void | solveOnlyReferenceEnabledField (bool doSending2Server) |
void | generateNewTransformationGridDest () |
Generate a new grid destination if there are more than one grid source pointing to a same grid destination. Plus de détails... | |
void | updateRef (CGrid *grid) |
void | buildGridTransformationGraph () |
Build up graph of grids which plays role of destination and source in grid transformation This function should be called before solveGridReference() Plus de détails... | |
void | solveGridDomainAxisRef (bool checkAtt) |
void | solveTransformedGrid () |
void | solveGenerateGrid () |
void | solveGridDomainAxisBaseRef () |
void | solveAllEnabledFieldsAndTransform () |
Solve reference of all enabled fields even the source fields . Plus de détails... | |
void | checkGridOfEnabledFields () |
void | sendGridOfEnabledFields () |
void | sendGridComponentOfEnabledFields () |
void | checkTimeAttributes (CDuration *freqOp=NULL) |
Vérifications ///. Plus de détails... | |
void | buildFilterGraph (CGarbageCollector &gc, bool enableOutput) |
Constructs the graph filter for the field, enabling or not the data output. Plus de détails... | |
size_t | getGlobalWrittenSize (void) |
std::shared_ptr< COutputPin > | getFieldReference (CGarbageCollector &gc) |
Returns the filter needed to handle the field reference. Plus de détails... | |
std::shared_ptr< COutputPin > | getSelfReference (CGarbageCollector &gc) |
Returns the filter needed to handle a self reference in the field's expression. Plus de détails... | |
std::shared_ptr< COutputPin > | getTemporalDataFilter (CGarbageCollector &gc, CDuration outFreq) |
Returns the temporal filter corresponding to the field's temporal operation for the specified operation frequency. Plus de détails... | |
std::shared_ptr< COutputPin > | getSelfTemporalDataFilter (CGarbageCollector &gc, CDuration outFreq) |
Returns the temporal filter corresponding to the field's temporal operation for the specified operation frequency. Plus de détails... | |
virtual | ~CField (void) |
Destructeur ///. Plus de détails... | |
template<int N> | |
void | setData (const CArray< double, N > &_data) |
void | sendAllAttributesToServer (CContextClient *client) |
Send all Attributes to server. Plus de détails... | |
void | sendUpdateData (const CArray< double, 1 > &data) |
void | sendUpdateData (const CArray< double, 1 > &data, CContextClient *client) |
void | recvUpdateData (std::map< int, CBufferIn * > &rankBuffers) |
void | writeField (void) |
bool | sendReadDataRequest (const CDate &tsDataRequested) |
bool | sendReadDataRequestIfNeeded (void) |
Send request new data read from file if need be, that is the current data is out-of-date. Plus de détails... | |
void | recvReadDataRequest (void) |
Receive data request sent from client and process it Every time server receives this request, it will try to read data and sent read data back to client At the moment, this function is called by server level 1 In the future, this should (only) be done by the last level servers. Plus de détails... | |
EReadField | readField (void) |
Read field from a file. Plus de détails... | |
void | recvReadDataReady (vector< int > ranks, vector< CBufferIn * > buffers) |
Receive read data from server. Plus de détails... | |
void | checkForLateDataFromServer (void) |
void | checkIfMustAutoTrigger (void) |
void | autoTriggerIfNeeded (void) |
void | outputField (CArray< double, 3 > &fieldOut) |
void | outputField (CArray< double, 2 > &fieldOut) |
void | outputField (CArray< double, 1 > &fieldOut) |
void | inputField (CArray< double, 3 > &fieldOut) |
void | inputField (CArray< double, 2 > &fieldOut) |
void | inputField (CArray< double, 1 > &fieldOut) |
void | outputCompressedField (CArray< double, 1 > &fieldOut) |
void | scaleFactorAddOffset (double scaleFactor, double addOffset) |
void | invertScaleFactorAddOffset (double scaleFactor, double addOffset) |
void | parse (xml::CXMLNode &node) |
Plus de détails... | |
void | setVirtualVariableGroup (CVariableGroup *newVVariableGroup) |
CVariableGroup * | getVirtualVariableGroup (void) const |
vector< CVariable * > | getAllVariables (void) const |
virtual void | solveDescInheritance (bool apply, const CAttributeMap *const parent=0) |
Traitements ///. Plus de détails... | |
CVariable * | addVariable (const string &id="") |
CVariableGroup * | addVariableGroup (const string &id="") |
void | sendAddVariable (const string &id, CContextClient *client) |
void | sendAddVariableGroup (const string &id, CContextClient *client) |
void | recvAddVariable (CBufferIn &buffer) |
void | recvAddVariableGroup (CBufferIn &buffer) |
void | sendAddAllVariables (CContextClient *client) |
void | writeUpdateData (const CArray< double, 1 > &data) |
const std::vector< StdString > & | getRefDomainAxisIds () |
This function retrieves Id of corresponding domain_ref and axis_ref (if any) of a field. Plus de détails... | |
const string & | getExpression (void) |
Returns string arithmetic expression associated to the field. Plus de détails... | |
bool | hasExpression (void) const |
bool | hasGridMask (void) const |
template<int N> | |
CATCH_DUMP_ATTR void | getData (CArray< double, N > &_data) const TRY |
Fonctions membres publiques inherited from xios::CObjectTemplate< CField > | |
virtual StdString | toString (void) const |
Autres ///. Plus de détails... | |
virtual void | fromString (const StdString &str) |
virtual string | getName (void) const |
ENodeType | getType (void) const |
Accesseurs ///. Plus de détails... | |
virtual bool | hasChild (void) const |
Test ///. Plus de détails... | |
std::map< int, size_t > | getMinimumBufferSizeForAttributes (CContextClient *client) |
void | sendAttributToServer (const string &id) |
void | sendAttributToServer (const string &id, CContextClient *client) |
void | sendAttributToServer (CAttribute &attr) |
void | sendAttributToServer (CAttribute &attr, CContextClient *client) |
void | sendAllAttributesToServer () |
void | sendAllAttributesToServer (CContextClient *client) |
void | sendAddItem (const string &id, int itemType) |
void | sendAddItem (const string &id, int itemType, CContextClient *client) |
bool | isEqual (const string &id, const vector< StdString > &excludedAttrs) |
bool | isEqual (CField *obj, const vector< StdString > &excludedAttrs) |
virtual | ~CObjectTemplate (void) |
Destructeur ///. Plus de détails... | |
CField * | get (void) |
std::shared_ptr< CField > | getShared (void) |
void | generateCInterface (ostream &oss) |
void | generateFortran2003Interface (ostream &oss) |
void | generateFortranInterface (ostream &oss) |
Fonctions membres publiques inherited from xios::CObject | |
virtual | ~CObject (void) |
Destructeur ///. Plus de détails... | |
const StdString & | getId (void) const |
Accesseurs ///. Plus de détails... | |
virtual const StdString & | getIdServer () const |
virtual StdString | dumpClassAttributes (void) |
void | resetId (void) |
Mutateurs ///. Plus de détails... | |
void | setId (const StdString &id, bool idAutoGenerated=false) |
bool | hasId (void) const |
Tests ///. Plus de détails... | |
bool | hasAutoGeneratedId (void) const |
Fonctions membres publiques inherited from xios::CAttributeMap | |
bool | hasAttribute (const StdString &key) const |
Tests ///. Plus de détails... | |
CAttribute * | operator[] (const StdString &key) |
Accesseurs ///. Plus de détails... | |
void | setAttribute (const StdString &key, CAttribute *const attr) |
Mutateurs ///. Plus de détails... | |
void | setAttributes (const xml::THashAttributes &attributes) |
void | setAttributes (const CAttributeMap *const _parent, bool apply=true) |
Set attributes from a specific attributemap, considered parent. Plus de détails... | |
void | duplicateAttributes (const CAttributeMap *const _parent) |
Duplicate attribute map with a specific attribute map. Plus de détails... | |
void | clearAllAttributes (void) |
Plus de détails... | |
StdString | dumpXiosAttributes (void) const |
Plus de détails... | |
void | clearAttribute (const StdString &key) |
bool | isEqual (const CAttributeMap &another, const vector< StdString > &excludedAttrs) |
Compare two attribute maps. Plus de détails... | |
virtual | ~CAttributeMap (void) |
Destructeur ///. Plus de détails... | |
virtual void | generateCInterface (ostream &oss, const string &className) |
virtual void | generateFortran2003Interface (ostream &oss, const string &className) |
virtual void | generateFortranInterface_hdl_ (ostream &oss, const string &className) |
Plus de détails... | |
virtual void | generateFortranInterface_hdl (ostream &oss, const string &className) |
virtual void | generateFortranInterface_id (ostream &oss, const string &className) |
virtual void | generateFortranInterfaceGet_hdl_ (ostream &oss, const string &className) |
virtual void | generateFortranInterfaceGet_hdl (ostream &oss, const string &className) |
virtual void | generateFortranInterfaceGet_id (ostream &oss, const string &className) |
virtual void | generateFortranInterfaceIsDefined_hdl_ (ostream &oss, const string &className) |
virtual void | generateFortranInterfaceIsDefined_hdl (ostream &oss, const string &className) |
virtual void | generateFortranInterfaceIsDefined_id (ostream &oss, const string &className) |
Fonctions membres publiques statiques | |
static StdString | GetName (void) |
Accesseurs statiques ///. Plus de détails... | |
static StdString | GetDefName (void) |
static ENodeType | GetType (void) |
static bool | dispatchEvent (CEventServer &event) |
static void | recvUpdateData (CEventServer &event) |
static void | recvReadDataRequest (CEventServer &event) |
static void | recvReadDataReady (CEventServer &event) |
static void | recvAddVariable (CEventServer &event) |
static void | recvAddVariableGroup (CEventServer &event) |
Fonctions membres publiques statiques inherited from xios::CObjectTemplate< CField > | |
static void | ClearAllAttributes (void) |
Traitement statique ///. Plus de détails... | |
static void | recvAttributFromClient (CEventServer &event) |
static bool | dispatchEvent (CEventServer &event) |
static std::vector < std::shared_ptr< DerivedType > > & | GetAllVectobject (const StdString &contextId) |
Accesseur statique ///. Plus de détails... | |
static bool | has (const string &id) |
static bool | has (const string &contextId, const string &id) |
static CField * | get (const string &id) |
static CField * | get (const CField *ptr) |
static CField * | get (const string &contextId, const string &id) |
static std::shared_ptr< CField > | getShared (const CField *ptr) |
static CField * | create (const string &id=string("")) |
static const vector< CField * > | getAll () |
static const vector< CField * > | getAll (const string &contextId) |
Attributs publics | |
bool | hasOutputFile |
CVariableGroup * | vVariableGroup |
Propriétés privées ///. Plus de détails... | |
CGrid * | grid |
CFile * | file |
CDuration | freq_operation_srv |
CDuration | freq_write_srv |
bool | written |
int | nstep |
int | nstepMax |
bool | isEOF |
CDate | lastlast_Write_srv |
CDate | last_Write_srv |
CDate | last_operation_srv |
CDate | lastDataRequestedFromServer |
CDate | lastDataReceivedFromServer |
CDate | dateEOF |
bool | wasDataRequestedFromServer |
bool | wasDataAlreadyReceivedFromServer |
bool | mustAutoTrigger |
map< int, std::shared_ptr < func::CFunctor > > | foperation_srv |
CArray< double, 1 > | recvDataSrv |
std::shared_ptr< func::CFunctor > | recvFoperationSrv |
string | content |
std::vector< StdString > | domAxisScalarIds_ |
bool | useCompressedOutput |
bool | hasTimeInstant |
bool | hasTimeCentered |
Attributs publics inherited from std::map< K, T > | |
K | keys |
STL member. Plus de détails... | |
T | elements |
STL member. Plus de détails... | |
Types privés | |
enum | EReadField { RF_NODATA, RF_EOF, RF_DATA } |
typedef CObjectTemplate< CField > | SuperClass |
typedef /// Plus de détails... | |
typedef CFieldAttributes | SuperClassAttribute |
Attributs privés | |
CContextClient * | client |
bool | areAllReferenceSolved |
bool | isReferenceSolved |
bool | isReferenceSolvedAndTransformed |
bool | isGridChecked |
bool | nstepMaxRead |
func::CFunctor::ETimeType | operationTimeType |
The type of operation attached to the field. Plus de détails... | |
std::shared_ptr< COutputPin > | instantDataFilter |
The output pin of the filter providing the instant data for the field. Plus de détails... | |
std::map< CDuration, std::shared_ptr< COutputPin > , DurationFakeLessComparator > | temporalDataFilters |
The output pin of the filters providing the result of the field's temporal operation. Plus de détails... | |
std::shared_ptr< COutputPin > | selfReferenceFilter |
The output pin of the filter providing the instant data for self references. Plus de détails... | |
std::shared_ptr< CSourceFilter > | clientSourceFilter |
The source filter for data provided by the client. Plus de détails... | |
std::shared_ptr< CSourceFilter > | serverSourceFilter |
The source filter for data provided by the server. Plus de détails... | |
std::shared_ptr< CStoreFilter > | storeFilter |
The terminal filter which stores the instant data. Plus de détails... | |
std::shared_ptr < CFileWriterFilter > | fileWriterFilter |
The terminal filter which writes the data to file. Plus de détails... | |
std::shared_ptr < CFileServerWriterFilter > | fileServerWriterFilter |
The terminal filter which writes data to file. Plus de détails... | |
Amis | |
class | CFile |
friend /// Plus de détails... | |
Additional Inherited Members | |
Fonctions membres protégées inherited from xios::CObjectTemplate< CField > | |
CObjectTemplate (void) | |
Constructeurs ///. Plus de détails... | |
CObjectTemplate (const StdString &id) | |
CObjectTemplate (const CObjectTemplate< CField > &object, bool withAttrList=true, bool withId=true) | |
CObjectTemplate (const CObjectTemplate< CField > *const object) | |
Fonctions membres protégées inherited from xios::CObject | |
CObject (void) | |
Constructeurs ///. Plus de détails... | |
CObject (const StdString &id, bool idAutoGenerated=false) | |
CObject (const CObject &object) | |
CObject (const CObject *const object) | |
Fonctions membres protégées inherited from xios::CAttributeMap | |
CAttributeMap (void) | |
Constructeurs ///. Plus de détails... | |
CAttributeMap (const std::map< StdString, CAttribute * > &umap) | |
CAttributeMap (const std::map< StdString, CAttribute * > *const umap) | |
Attributs protégés statiques inherited from xios::CAttributeMap | |
static CAttributeMap * | Current = NULL |
Propriété statique ///. Plus de détails... | |
typedef CFieldAttributes xios::CField::RelAttributes |
typedef CFieldGroup xios::CField::RelGroup |
|
private |
|
private |
|
private |
xios::CField::CField | ( | void | ) |
Constructeurs ///.
////////////////////// Définitions ////////////////////// ///
Définition à la ligne 31 du fichier field.cpp.
Références xios::CObject::getId(), et setVirtualVariableGroup().
|
explicit |
Définition à la ligne 49 du fichier field.cpp.
Références xios::CObject::getId(), et setVirtualVariableGroup().
xios::CField::CField | ( | const CField & | field | ) |
xios::CField::CField | ( | const CField *const | field | ) |
|
virtual |
CATCH_DUMP_ATTR CVariable * xios::CField::addVariable | ( | const string & | id = "" | ) |
Définition à la ligne 1709 du fichier field.cpp.
Référencé par cxios_xml_tree_add_variabletofield().
CATCH CVariableGroup * xios::CField::addVariableGroup | ( | const string & | id = "" | ) |
Définition à la ligne 1716 du fichier field.cpp.
Référencé par cxios_xml_tree_add_variablegrouptofield().
CATCH_DUMP_ATTR void xios::CField::autoTriggerIfNeeded | ( | void | ) |
Définition à la ligne 653 du fichier field.cpp.
Références getCalendar(), xios::CContext::getCurrent(), mustAutoTrigger, et serverSourceFilter.
CATCH_DUMP_ATTR void xios::CField::buildFilterGraph | ( | CGarbageCollector & | gc, |
bool | enableOutput | ||
) |
Constructs the graph filter for the field, enabling or not the data output.
This method should not be called more than once with enableOutput equal to true.
gc | the garbage collector to use when building the filter graph |
enableOutput | must be true when the field data is to be read by the client or/and written to a file |
Définition à la ligne 1108 du fichier field.cpp.
Références xios::CSpatialTransformFilter::buildFilterGraph(), xios::CObjectTemplate< CField >::get(), xios::CContext::getCurrent(), grid, xios::CContext::hasClient, xios::CContext::hasServer, xios::CGrid::hasTransform(), xios::NoneDu, et xios::parseExpr().
Référencé par xios::CSpatialTransformFilter::buildFilterGraph(), getFieldReference(), getSelfReference(), getSelfTemporalDataFilter(), xios::CFilterFieldExprNode::reduce(), et xios::CFilterTemporalFieldExprNode::reduce().
CATCH_DUMP_ATTR void xios::CField::buildGridTransformationGraph | ( | ) |
Build up graph of grids which plays role of destination and source in grid transformation This function should be called before solveGridReference()
Définition à la ligne 797 du fichier field.cpp.
Références xios::CGrid::addTransGridSource(), xios::CContext::getCurrent(), grid, xios::CContext::hasClient, xios::CContext::hasServer, et xios::CGrid::isTransformed().
Référencé par solveAllEnabledFieldsAndTransform().
CATCH_DUMP_ATTR void xios::CField::checkForLateDataFromServer | ( | void | ) |
Définition à la ligne 611 du fichier field.cpp.
Références xios::CContext::checkBuffersAndListen(), xios::ERROR, file, xios::CContext::getCalendar(), xios::CTimer::getCumulatedTime(), xios::CContext::getCurrent(), isEOF, lastDataReceivedFromServer, xios::CXios::recvFieldTimeout, xios::CTimer::resume(), xios::CTimer::suspend(), wasDataAlreadyReceivedFromServer, et wasDataRequestedFromServer.
CATCH_DUMP_ATTR void xios::CField::checkGridOfEnabledFields | ( | ) |
Définition à la ligne 941 du fichier field.cpp.
Références isGridChecked, et solveCheckMaskIndex().
CATCH_DUMP_ATTR void xios::CField::checkIfMustAutoTrigger | ( | void | ) |
Définition à la ligne 646 du fichier field.cpp.
Références mustAutoTrigger, et serverSourceFilter.
CATCH_DUMP_ATTR void xios::CField::checkTimeAttributes | ( | CDuration * | freqOp = NULL | ) |
Vérifications ///.
Check on freq_off and freq_op attributes.
Définition à la ligne 1840 du fichier field.cpp.
Références xios::ERROR, xios::NoneDu, et xios::TimeStep.
Référencé par xios::CFile::sendEnabledFields().
|
static |
Définition à la ligne 103 du fichier field.cpp.
Références xios::ERROR.
Référencé par xios::CContextServer::dispatchEvent().
CATCH_DUMP_ATTR void xios::CField::generateNewTransformationGridDest | ( | ) |
Generate a new grid destination if there are more than one grid source pointing to a same grid destination.
Définition à la ligne 814 du fichier field.cpp.
Références xios::CGrid::cloneGrid(), xios::ERROR, xios::CGrid::generateId(), xios::CObjectTemplate< CGrid >::get(), xios::CContext::getCurrent(), xios::CGrid::getTransGridSource(), grid, xios::CObjectTemplate< CGrid >::has(), xios::CContext::hasClient, et xios::CContext::hasServer.
Définition à la ligne 86 du fichier field.cpp.
Références vVariableGroup.
Référencé par xios::CContext::prepareTimeseries(), et xios::CNc4DataOutput::writeField_().
CATCH_DUMP_ATTR CContextClient * xios::CField::getContextClient | ( | ) |
CATCH_DUMP_ATTR void xios::CField::getData | ( | CArray< double, N > & | _data | ) | const |
Définition à la ligne 33 du fichier field_impl.hpp.
Références xios::CDataPacket::END_OF_STREAM, xios::ERROR, getCalendar(), et xios::CContext::getCurrent().
template void xios::CField::getData< 7 > | ( | CArray< double, N > & | _data | ) | const |
|
static |
CATCH_DUMP_ATTR const string & xios::CField::getExpression | ( | void | ) |
CATCH_DUMP_ATTR std::shared_ptr< COutputPin > xios::CField::getFieldReference | ( | CGarbageCollector & | gc | ) |
Returns the filter needed to handle the field reference.
This method should only be called when building the filter graph corresponding to the field.
gc | the garbage collector to use |
Définition à la ligne 1224 du fichier field.cpp.
Références xios::CSpatialTransformFilter::buildFilterGraph(), buildFilterGraph(), xios::ERROR, xios::CObjectTemplate< CField >::get(), getInstantDataFilter(), grid, et xios::CGrid::hasTransform().
CATCH_DUMP_ATTR size_t xios::CField::getGlobalWrittenSize | ( | void | ) |
Définition à la ligne 1043 du fichier field.cpp.
Références xios::CGrid::getGlobalWrittenSize(), et grid.
CATCH_DUMP_ATTR std::map< int, StdSize > xios::CField::getGridAttributesBufferSize | ( | CContextClient * | client, |
bool | bufferForWriting = false |
||
) |
CATCH_DUMP_ATTR std::map< int, StdSize > xios::CField::getGridDataBufferSize | ( | CContextClient * | client, |
bool | bufferForWriting = false |
||
) |
CATCH_DUMP_ATTR std::shared_ptr< COutputPin > xios::CField::getInstantDataFilter | ( | ) |
Définition à la ligne 784 du fichier field.cpp.
Références instantDataFilter.
Référencé par xios::CSpatialTransformFilter::buildFilterGraph(), getFieldReference(), getSelfReference(), et xios::CFilterFieldExprNode::reduce().
|
static |
Accesseurs statiques ///.
Définition à la ligne 673 du fichier field.cpp.
Référencé par GetDefName().
CATCH int xios::CField::getNStep | ( | void | ) | const |
Définition à la ligne 695 du fichier field.cpp.
Références nstep.
Référencé par readField(), recvReadDataRequest(), et xios::CNc4DataOutput::writeFieldData_().
CATCH func::CFunctor::ETimeType xios::CField::getOperationTimeType | ( | ) | const |
Définition à la ligne 702 du fichier field.cpp.
Références operationTimeType.
Référencé par xios::CNc4DataOutput::writeField_(), xios::CNc4DataOutput::writeFieldData_(), et xios::CNc4DataOutput::writeTimeAxis_().
CATCH_DUMP_ATTR const std::vector< StdString > & xios::CField::getRefDomainAxisIds | ( | ) |
This function retrieves Id of corresponding domain_ref and axis_ref (if any) of a field.
In some cases, only domain exists but axis doesn't
Définition à la ligne 1677 du fichier field.cpp.
Références domAxisScalarIds_, xios::CGrid::getAxisList(), xios::CGrid::getDomainList(), getRelGrid(), et xios::CGrid::getScalarList().
Définition à la ligne 688 du fichier field.cpp.
Références file.
Référencé par readField(), writeField(), et xios::CNc4DataOutput::writeField_().
CGrid * xios::CField::getRelGrid | ( | void | ) | const |
Accesseurs ///.
Définition à la ligne 679 du fichier field.cpp.
Références grid.
Référencé par getRefDomainAxisIds().
CATCH_DUMP_ATTR std::shared_ptr< COutputPin > xios::CField::getSelfReference | ( | CGarbageCollector & | gc | ) |
Returns the filter needed to handle a self reference in the field's expression.
If the needed filter does not exist, it is created, otherwise it is reused. This method should only be called when building the filter graph corresponding to the field's expression.
gc | the garbage collector to use |
Définition à la ligne 1260 du fichier field.cpp.
Références buildFilterGraph(), xios::ERROR, xios::CObjectTemplate< CField >::get(), getInstantDataFilter(), et xios::NoneDu.
Référencé par xios::CFilterFieldExprNode::reduce().
CATCH_DUMP_ATTR std::shared_ptr< COutputPin > xios::CField::getSelfTemporalDataFilter | ( | CGarbageCollector & | gc, |
CDuration | outFreq | ||
) |
Returns the temporal filter corresponding to the field's temporal operation for the specified operation frequency.
gc | the garbage collector to use |
outFreq | the operation frequency, i.e. the frequency at which the output data will be computed |
Définition à la ligne 1351 du fichier field.cpp.
Références buildFilterGraph(), xios::ERROR, xios::CObjectTemplate< CField >::get(), getCalendar(), xios::CContext::getCurrent(), et getTemporalDataFilter().
Référencé par xios::CFilterTemporalFieldExprNode::reduce().
CATCH_DUMP_ATTR std::shared_ptr< COutputPin > xios::CField::getTemporalDataFilter | ( | CGarbageCollector & | gc, |
CDuration | outFreq | ||
) |
Returns the temporal filter corresponding to the field's temporal operation for the specified operation frequency.
The filter is created if it does not exist, otherwise it is reused.
gc | the garbage collector to use |
outFreq | the operation frequency, i.e. the frequency at which the output data will be computed |
Définition à la ligne 1315 du fichier field.cpp.
Références xios::ERROR, getCalendar(), et xios::CContext::getCurrent().
Référencé par getSelfTemporalDataFilter(), et xios::CFilterTemporalFieldExprNode::reduce().
|
static |
Définition à la ligne 675 du fichier field.cpp.
Références xios::eField.
Référencé par xios::CContextServer::dispatchEvent().
CATCH_DUMP_ATTR bool xios::CField::getUseCompressedOutput | ( | ) | const |
Définition à la ligne 768 du fichier field.cpp.
Références useCompressedOutput.
Référencé par xios::CNc4DataOutput::writeFieldData_().
CATCH CVariableGroup * xios::CField::getVirtualVariableGroup | ( | void | ) | const |
Définition à la ligne 79 du fichier field.cpp.
Références vVariableGroup.
CATCH_DUMP_ATTR bool xios::CField::hasExpression | ( | void | ) | const |
CATCH bool xios::CField::hasGridMask | ( | void | ) | const |
Définition à la ligne 1889 du fichier field.cpp.
Références grid, et xios::CGrid::hasMask().
Référencé par xios::CFileWriterFilter::onInputReady().
CATCH void xios::CField::incrementNStep | ( | void | ) |
Définition à la ligne 711 du fichier field.cpp.
Références nstep.
Référencé par readField(), et writeField().
void xios::CField::inputField | ( | CArray< double, 3 > & | fieldOut | ) |
void xios::CField::inputField | ( | CArray< double, 2 > & | fieldOut | ) |
CATCH_DUMP_ATTR void xios::CField::inputField | ( | CArray< double, 1 > & | fieldOut | ) |
CATCH_DUMP_ATTR void xios::CField::invertScaleFactorAddOffset | ( | double | scaleFactor, |
double | addOffset | ||
) |
CATCH_DUMP_ATTR bool xios::CField::isActive | ( | bool | atCurrentTimestep = false | ) | const |
Définition à la ligne 735 du fichier field.cpp.
Références xios::ERROR, getCalendar(), et xios::CContext::getCurrent().
CATCH_DUMP_ATTR void xios::CField::outputCompressedField | ( | CArray< double, 1 > & | fieldOut | ) |
Définition à la ligne 1640 du fichier field.cpp.
Référencé par xios::CNc4DataOutput::writeFieldData_().
void xios::CField::outputField | ( | CArray< double, 3 > & | fieldOut | ) |
Référencé par xios::CNc4DataOutput::writeFieldData_().
void xios::CField::outputField | ( | CArray< double, 2 > & | fieldOut | ) |
CATCH_DUMP_ATTR void xios::CField::outputField | ( | CArray< double, 1 > & | fieldOut | ) |
|
virtual |
Réimplémentée à partir de xios::CObjectTemplate< CField >.
CATCH_DUMP_ATTR CField::EReadField xios::CField::readField | ( | void | ) |
Read field from a file.
A field is read with the distribution of data on the server side
Définition à la ligne 485 du fichier field.cpp.
Références xios::CFile::checkReadFile(), xios::CGrid::computeWrittenIndex(), xios::CGrid::doGridHaveDataToWrite(), xios::CObjectTemplate< CField >::get(), xios::CContext::getCurrent(), xios::CFile::getDataInput(), getNStep(), getRelFile(), grid, incrementNStep(), xios::CFile::initRead(), xios::CContextServer::intraComm, nstepMax, nstepMaxRead, recvDataSrv, xios::CArray< ValueType, NumDims, Allocator >::resize(), RF_DATA, RF_EOF, RF_NODATA, xios::CContext::server, et xios::CGrid::storeIndex_client.
Référencé par recvReadDataRequest().
|
static |
Définition à la ligne 1797 du fichier field.cpp.
Références xios::CBufferIn::begin.
|
static |
Définition à la ligne 1817 du fichier field.cpp.
Références xios::CBufferIn::begin.
|
static |
Receive read data from server.
[in] | ranks | Ranks of sending processes |
[in] | buffers | buffers containing read data |
Définition à la ligne 571 du fichier field.cpp.
Références xios::CContext::getCalendar(), et xios::CContext::getCurrent().
|
static |
Définition à la ligne 380 du fichier field.cpp.
Références xios::CBufferIn::begin.
CATCH void xios::CField::recvReadDataRequest | ( | void | ) |
Receive data request sent from client and process it Every time server receives this request, it will try to read data and sent read data back to client At the moment, this function is called by server level 1 In the future, this should (only) be done by the last level servers.
Définition à la ligne 396 du fichier field.cpp.
Références client, xios::CContext::client, xios::CGrid::doGridHaveDataDistributed(), EVENT_ID_READ_DATA_READY, xios::CContext::getCurrent(), xios::CObject::getId(), getNStep(), xios::CContextClient::getRanksServerLeader(), xios::CObjectTemplate< CField >::getType(), grid, xios::CContextClient::isServerLeader(), xios::CGrid::nbReadSenders, xios::CGrid::outLocalIndexStoreOnClient, readField(), recvDataSrv, RF_DATA, RF_EOF, RF_NODATA, et xios::CContextClient::sendEvent().
|
static |
Définition à la ligne 204 du fichier field.cpp.
Références xios::CTimer::get(), xios::CTimer::resume(), et xios::CTimer::suspend().
Définition à la ligne 224 du fichier field.cpp.
Références xios::CContext::getCalendar(), xios::CContext::getCurrent(), et xios::CArray< ValueType, NumDims, Allocator >::resize().
CATCH_DUMP_ATTR void xios::CField::resetNStep | ( | int | nstep = 0 | ) |
Définition à la ligne 718 du fichier field.cpp.
Référencé par xios::CFile::initWrite(), et xios::CNc4DataOutput::writeFieldData_().
CATCH_DUMP_ATTR void xios::CField::resetNStepMax | ( | void | ) |
Définition à la ligne 725 du fichier field.cpp.
Références nstepMax, et nstepMaxRead.
CATCH_DUMP_ATTR void xios::CField::scaleFactorAddOffset | ( | double | scaleFactor, |
double | addOffset | ||
) |
Définition à la ligne 1602 du fichier field.cpp.
Référencé par xios::CNc4DataOutput::writeFieldData_().
CATCH void xios::CField::sendAddAllVariables | ( | CContextClient * | client | ) |
Définition à la ligne 1749 du fichier field.cpp.
Référencé par xios::CFile::sendEnabledFields().
CATCH_DUMP_ATTR void xios::CField::sendAddVariable | ( | const string & | id, |
CContextClient * | client | ||
) |
CATCH_DUMP_ATTR void xios::CField::sendAddVariableGroup | ( | const string & | id, |
CContextClient * | client | ||
) |
CATCH_DUMP_ATTR void xios::CField::sendAllAttributesToServer | ( | CContextClient * | client | ) |
Send all Attributes to server.
This method is overloaded, since only grid_ref attribute must be sent to server and not domain_ref/axis_ref/scalar_ref.
Définition à la ligne 1770 du fichier field.cpp.
Référencé par xios::CFile::sendEnabledFields().
CATCH_DUMP_ATTR void xios::CField::sendGridComponentOfEnabledFields | ( | ) |
Définition à la ligne 952 du fichier field.cpp.
Références solveGridDomainAxisRef().
CATCH_DUMP_ATTR void xios::CField::sendGridOfEnabledFields | ( | ) |
Définition à la ligne 960 du fichier field.cpp.
Références solveCheckMaskIndex().
CATCH_DUMP_ATTR bool xios::CField::sendReadDataRequest | ( | const CDate & | tsDataRequested | ) |
Définition à la ligne 320 du fichier field.cpp.
Références xios::CContext::client, xios::CContext::getCalendar(), xios::CContext::getCurrent(), xios::CContextClient::getRanksServerLeader(), xios::CContext::hasServer, xios::CContextClient::isServerLeader(), xios::CEventClient::push(), et xios::CContextClient::sendEvent().
Référencé par sendReadDataRequestIfNeeded().
CATCH_DUMP_ATTR bool xios::CField::sendReadDataRequestIfNeeded | ( | void | ) |
Send request new data read from file if need be, that is the current data is out-of-date.
Définition à la ligne 359 du fichier field.cpp.
Références file, xios::CContext::getCalendar(), xios::CContext::getCurrent(), xios::info, lastDataRequestedFromServer, et sendReadDataRequest().
Définition à la ligne 144 du fichier field.cpp.
Références xios::CContext::client, xios::CTimer::get(), xios::CContext::getCurrent(), xios::CContext::hasServer, xios::CContextClient::isServerLeader(), xios::CTimer::resume(), xios::CContextClient::sendEvent(), xios::CContextClient::serverSize, et xios::CTimer::suspend().
Référencé par xios::CFileWriterFilter::onInputReady().
void xios::CField::sendUpdateData | ( | const CArray< double, 1 > & | data, |
CContextClient * | client | ||
) |
CATCH void xios::CField::setContextClient | ( | CContextClient * | newContextClient | ) |
Définition à la ligne 1723 du fichier field.cpp.
Références xios::CContext::getCurrent(), xios::CContext::hasClient, et xios::CContext::hasServer.
void xios::CField::setData | ( | const CArray< double, N > & | _data | ) |
Définition à la ligne 18 du fichier field_impl.hpp.
Références xios::ERROR, getCalendar(), et xios::CContext::getCurrent().
CATCH_DUMP_ATTR void xios::CField::setRelFile | ( | CFile * | _file | ) |
CATCH void xios::CField::setUseCompressedOutput | ( | ) |
Définition à la ligne 775 du fichier field.cpp.
Références useCompressedOutput.
Référencé par xios::CNc4DataOutput::writeField_().
void xios::CField::setVirtualVariableGroup | ( | CVariableGroup * | newVVariableGroup | ) |
CATCH void xios::CField::setWritten | ( | ) |
Définition à la ligne 759 du fichier field.cpp.
Références written.
Référencé par xios::CNc4DataOutput::writeFieldData_().
CATCH_DUMP_ATTR void xios::CField::solveAllEnabledFieldsAndTransform | ( | ) |
Solve reference of all enabled fields even the source fields .
In this step, we do transformations.
Définition à la ligne 901 du fichier field.cpp.
Références buildGridTransformationGraph(), xios::CContext::getCurrent(), xios::CContext::hasClient, xios::CContext::hasServer, isReferenceSolvedAndTransformed, solveGenerateGrid(), solveGridDomainAxisRef(), solveGridReference(), solveServerOperation(), et solveTransformedGrid().
CATCH_DUMP_ATTR void xios::CField::solveAllReferenceEnabledField | ( | bool | doSending2Server | ) |
Définition à la ligne 997 du fichier field.cpp.
Références xios::CContext::getCurrent(), xios::CContext::hasClient, et xios::CContext::hasServer.
CATCH_DUMP_ATTR void xios::CField::solveCheckMaskIndex | ( | bool | doSendingIndex | ) |
Définition à la ligne 1495 du fichier field.cpp.
Référencé par checkGridOfEnabledFields(), et sendGridOfEnabledFields().
|
virtual |
Traitements ///.
Réimplémentée à partir de xios::CObjectTemplate< CField >.
CATCH_DUMP_ATTR void xios::CField::solveGenerateGrid | ( | ) |
Définition à la ligne 1554 du fichier field.cpp.
Références xios::CGrid::completeGrid(), grid, et xios::CGrid::isTransformed().
Référencé par solveAllEnabledFieldsAndTransform().
CATCH_DUMP_ATTR void xios::CField::solveGridDomainAxisBaseRef | ( | ) |
Définition à la ligne 1564 du fichier field.cpp.
Références grid, xios::CGrid::solveDomainAxisBaseRef(), et xios::CGrid::solveDomainAxisRef().
CATCH_DUMP_ATTR void xios::CField::solveGridDomainAxisRef | ( | bool | checkAtt | ) |
Définition à la ligne 1488 du fichier field.cpp.
Référencé par sendGridComponentOfEnabledFields(), et solveAllEnabledFieldsAndTransform().
CATCH_DUMP_ATTR void xios::CField::solveGridReference | ( | void | ) |
Traitements ///.
Définition à la ligne 1401 du fichier field.cpp.
Références xios::CAxis::createAxis(), xios::CDomain::createDomain(), xios::CGrid::createGrid(), xios::CScalar::createScalar(), xios::ERROR, xios::CGrid::generateId(), xios::CObjectTemplate< CScalar >::get(), xios::CObjectTemplate< CGrid >::get(), xios::CObjectTemplate< CAxis >::get(), xios::CObjectTemplate< CDomain >::get(), grid, xios::CObjectTemplate< CAxis >::has(), xios::CObjectTemplate< CGrid >::has(), xios::CObjectTemplate< CScalar >::has(), et xios::CObjectTemplate< CDomain >::has().
Référencé par solveAllEnabledFieldsAndTransform().
CATCH_DUMP_ATTR void xios::CField::solveOnlyReferenceEnabledField | ( | bool | doSending2Server | ) |
Définition à la ligne 968 du fichier field.cpp.
Références xios::CContext::getCurrent(), xios::CContext::hasClient, et xios::CContext::hasServer.
CATCH_DUMP_ATTR void xios::CField::solveServerOperation | ( | void | ) |
Définition à la ligne 1052 du fichier field.cpp.
Références xios::ERROR, file, freq_operation_srv, freq_write_srv, xios::CContext::getCalendar(), xios::CContext::getCurrent(), xios::CObject::getId(), hasOutputFile, xios::CContext::hasServer, last_operation_srv, last_Write_srv, lastlast_Write_srv, xios::NoneDu, operationTimeType, et xios::TimeStep.
Référencé par solveAllEnabledFieldsAndTransform().
CATCH_DUMP_ATTR void xios::CField::solveTransformedGrid | ( | ) |
Définition à la ligne 1502 du fichier field.cpp.
Références xios::count, xios::ERROR, xios::CObjectTemplate< CGrid >::get(), grid, xios::CObjectTemplate< CGrid >::has(), xios::CGrid::hasTransform(), xios::CGrid::isTransformed(), et xios::CGrid::transformGrid().
Référencé par solveAllEnabledFieldsAndTransform().
CATCH_DUMP_ATTR void xios::CField::updateRef | ( | CGrid * | grid | ) |
Définition à la ligne 872 du fichier field.cpp.
Références xios::ERROR.
CATCH bool xios::CField::wasWritten | ( | ) | const |
Définition à la ligne 752 du fichier field.cpp.
Références written.
Référencé par xios::CNc4DataOutput::writeFieldData_().
CATCH_DUMP_ATTR void xios::CField::writeField | ( | void | ) |
Définition à la ligne 298 du fichier field.cpp.
Références xios::CFile::checkWriteFile(), xios::CGrid::doGridHaveDataToWrite(), xios::CObjectTemplate< CField >::get(), xios::CFile::getDataOutput(), getRelFile(), grid, et incrementNStep().
CATCH_DUMP_ATTR void xios::CField::writeUpdateData | ( | const CArray< double, 1 > & | data | ) |
Définition à la ligne 268 du fichier field.cpp.
Références xios::CContext::getCalendar(), et xios::CContext::getCurrent().
Référencé par xios::CFileServerWriterFilter::onInputReady().
|
private |
Définition à la ligne 249 du fichier field.hpp.
Référencé par getContextClient(), et recvReadDataRequest().
|
private |
string xios::CField::content |
Définition à la ligne 236 du fichier field.hpp.
Référencé par getExpression(), et hasExpression().
std::vector<StdString> xios::CField::domAxisScalarIds_ |
Définition à la ligne 238 du fichier field.hpp.
Référencé par getRefDomainAxisIds().
CFile* xios::CField::file |
Définition à la ligne 218 du fichier field.hpp.
Référencé par checkForLateDataFromServer(), xios::CContext::findFieldsWithReadAccess(), getRelFile(), sendReadDataRequestIfNeeded(), solveServerOperation(), xios::CNc4DataOutput::writeField_(), xios::CNc4DataOutput::writeFieldData_(), et xios::CNc4DataOutput::writeTimeAxis_().
|
private |
|
private |
map<int,std::shared_ptr<func::CFunctor> > xios::CField::foperation_srv |
CDuration xios::CField::freq_operation_srv |
Définition à la ligne 220 du fichier field.hpp.
Référencé par solveServerOperation().
CDuration xios::CField::freq_write_srv |
Définition à la ligne 220 du fichier field.hpp.
Référencé par solveServerOperation().
CGrid* xios::CField::grid |
Définition à la ligne 217 du fichier field.hpp.
Référencé par buildFilterGraph(), buildGridTransformationGraph(), xios::CFile::createSubComFile(), xios::CAxisAlgorithmInterpolate::fillInAxisValue(), generateNewTransformationGridDest(), getFieldReference(), getGlobalWrittenSize(), getRelGrid(), hasGridMask(), xios::CFile::initWrite(), readField(), recvReadDataRequest(), solveGenerateGrid(), solveGridDomainAxisBaseRef(), solveGridReference(), solveTransformedGrid(), writeField(), xios::CNc4DataOutput::writeField_(), et xios::CNc4DataOutput::writeFieldData_().
bool xios::CField::hasOutputFile |
Définition à la ligne 111 du fichier field.hpp.
Référencé par solveServerOperation().
bool xios::CField::hasTimeCentered |
Définition à la ligne 243 du fichier field.hpp.
Référencé par xios::CNc4DataOutput::writeField_(), xios::CNc4DataOutput::writeFieldData_(), et xios::CNc4DataOutput::writeTimeAxis_().
bool xios::CField::hasTimeInstant |
Définition à la ligne 242 du fichier field.hpp.
Référencé par xios::CNc4DataOutput::writeField_(), xios::CNc4DataOutput::writeFieldData_(), et xios::CNc4DataOutput::writeTimeAxis_().
|
private |
The output pin of the filter providing the instant data for the field.
Définition à la ligne 262 du fichier field.hpp.
Référencé par getInstantDataFilter().
bool xios::CField::isEOF |
Définition à la ligne 224 du fichier field.hpp.
Référencé par checkForLateDataFromServer().
|
private |
Définition à la ligne 254 du fichier field.hpp.
Référencé par checkGridOfEnabledFields().
|
private |
Définition à la ligne 253 du fichier field.hpp.
Référencé par solveAllEnabledFieldsAndTransform().
CDate xios::CField::last_operation_srv |
Définition à la ligne 225 du fichier field.hpp.
Référencé par solveServerOperation().
CDate xios::CField::last_Write_srv |
Définition à la ligne 225 du fichier field.hpp.
Référencé par solveServerOperation(), et xios::CNc4DataOutput::writeFieldData_().
CDate xios::CField::lastDataReceivedFromServer |
Définition à la ligne 226 du fichier field.hpp.
Référencé par checkForLateDataFromServer().
CDate xios::CField::lastDataRequestedFromServer |
Définition à la ligne 226 du fichier field.hpp.
Référencé par sendReadDataRequestIfNeeded().
CDate xios::CField::lastlast_Write_srv |
Définition à la ligne 225 du fichier field.hpp.
Référencé par solveServerOperation(), et xios::CNc4DataOutput::writeFieldData_().
bool xios::CField::mustAutoTrigger |
Définition à la ligne 228 du fichier field.hpp.
Référencé par autoTriggerIfNeeded(), et checkIfMustAutoTrigger().
int xios::CField::nstep |
Définition à la ligne 223 du fichier field.hpp.
Référencé par getNStep(), et incrementNStep().
int xios::CField::nstepMax |
Définition à la ligne 223 du fichier field.hpp.
Référencé par readField(), et resetNStepMax().
|
private |
Définition à la ligne 255 du fichier field.hpp.
Référencé par readField(), et resetNStepMax().
|
private |
The type of operation attached to the field.
Définition à la ligne 259 du fichier field.hpp.
Référencé par getOperationTimeType(), et solveServerOperation().
CArray<double,1> xios::CField::recvDataSrv |
Définition à la ligne 233 du fichier field.hpp.
Référencé par readField(), et recvReadDataRequest().
std::shared_ptr<func::CFunctor> xios::CField::recvFoperationSrv |
|
private |
|
private |
The source filter for data provided by the server.
Définition à la ligne 270 du fichier field.hpp.
Référencé par autoTriggerIfNeeded(), et checkIfMustAutoTrigger().
|
private |
|
private |
bool xios::CField::useCompressedOutput |
Définition à la ligne 239 du fichier field.hpp.
Référencé par getUseCompressedOutput(), et setUseCompressedOutput().
CVariableGroup* xios::CField::vVariableGroup |
Propriétés privées ///.
Définition à la ligne 215 du fichier field.hpp.
Référencé par getAllVariables(), et getVirtualVariableGroup().
bool xios::CField::wasDataAlreadyReceivedFromServer |
Définition à la ligne 227 du fichier field.hpp.
Référencé par checkForLateDataFromServer().
bool xios::CField::wasDataRequestedFromServer |
Définition à la ligne 227 du fichier field.hpp.
Référencé par checkForLateDataFromServer().
bool xios::CField::written |
Définition à la ligne 222 du fichier field.hpp.
Référencé par setWritten(), et wasWritten().