Changeset 711 for XIOS/trunk/src/node
- Timestamp:
- 09/29/15 14:17:42 (9 years ago)
- Location:
- XIOS/trunk/src/node
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/node/context.cpp
r697 r711 771 771 // Warning: This must be done after solving the inheritance and before the rest of post-processing 772 772 checkAxisDomainsGridsEligibilityForCompressedOutput(); 773 774 // Check if some automatic time series should be generated 775 // Warning: This must be done after solving the inheritance and before the rest of post-processing 776 prepareTimeseries(); 773 777 774 778 //Initialisation du vecteur 'enabledFiles' contenant la liste des fichiers à sortir. … … 895 899 } 896 900 901 //! Client side: Prepare the timeseries by adding the necessary files 902 void CContext::prepareTimeseries() 903 { 904 if (!hasClient) return; 905 906 const std::vector<CFile*> allFiles = CFile::getAll(); 907 for (size_t i = 0; i < allFiles.size(); i++) 908 { 909 CFile* file = allFiles[i]; 910 911 if (!file->timeseries.isEmpty() && file->timeseries != CFile::timeseries_attr::none) 912 { 913 StdString tsPrefix = !file->ts_prefix.isEmpty() ? file->ts_prefix : (!file->name.isEmpty() ? file->name : file->getId()); 914 915 const std::vector<CField*> allFields = file->getAllFields(); 916 for (size_t j = 0; j < allFields.size(); j++) 917 { 918 CField* field = allFields[j]; 919 920 if (!field->ts_enabled.isEmpty() && field->ts_enabled) 921 { 922 CFile* tsFile = CFile::create(); 923 tsFile->duplicateAttributes(file); 924 925 tsFile->name = tsPrefix + "_"; 926 if (!field->name.isEmpty()) 927 tsFile->name.get() += field->name; 928 else if (field->hasDirectFieldReference()) // We cannot use getBaseFieldReference() just yet 929 tsFile->name.get() += field->field_ref; 930 else 931 tsFile->name.get() += field->getId(); 932 933 if (!field->ts_split_freq.isEmpty()) 934 tsFile->split_freq = field->ts_split_freq; 935 936 CField* tsField = tsFile->addField(); 937 tsField->field_ref = field->getId(); 938 939 tsFile->solveFieldRefInheritance(true); 940 941 if (file->timeseries == CFile::timeseries_attr::exclusive) 942 field->enabled = false; 943 } 944 } 945 946 // Finally disable the original file is need be 947 if (file->timeseries == CFile::timeseries_attr::only) 948 file->enabled = false; 949 } 950 } 951 } 952 897 953 //! Client side: Send information of reference grid of active fields 898 954 void CContext::sendRefGrid() -
XIOS/trunk/src/node/context.hpp
r697 r711 110 110 void createFileHeader(void ); 111 111 void checkAxisDomainsGridsEligibilityForCompressedOutput(); 112 void prepareTimeseries(void); 112 113 void solveAllRefOfEnabledFields(bool sendToServer); 113 114 void buildFilterGraphOfEnabledFields();
Note: See TracChangeset
for help on using the changeset viewer.