Ignore:
Timestamp:
10/24/17 11:27:52 (7 years ago)
Author:
ymipsl
Message:

Add 2 new spatial transformations :

  • reduce_scalar_to_scalar : global reduction between scalar
  • duplicate_scalar_to_axis : a scalar value is duplicated on each level of the axis.

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/XIOS_DEV_CMIP6/src/generate_fortran_interface.cpp

    r1301 r1314  
    4747  CExtractAxisToScalar extractAxisToScalar; 
    4848  CReduceDomainToScalar reduceDomainToScalar; 
     49  CDuplicateScalarToAxis duplicateScalarToAxis; 
     50  CReduceScalarToScalar reduceScalarToScalar; 
    4951   
    5052  ostringstream oss; 
     
    344346  file.close(); 
    345347  
    346   file.open((path+"reduce_domain_to_axis_interface_attr.F90").c_str()); 
    347   reduceDomainToAxis.generateFortran2003Interface(file); 
    348   file.close(); 
    349  
    350348  file.open((path+"icreduce_domain_to_axis_attr.cpp").c_str()); 
    351349  reduceDomainToAxis.generateCInterface(file); 
     
    360358  file.close(); 
    361359  
    362   file.open((path+"reduce_axis_to_axis_interface_attr.F90").c_str()); 
    363   reduceAxisToAxis.generateFortran2003Interface(file); 
    364   file.close(); 
    365  
    366360  file.open((path+"icreduce_axis_to_axis_attr.cpp").c_str()); 
    367361  reduceAxisToAxis.generateCInterface(file); 
     
    376370  file.close(); 
    377371 
     372  file.open((path+"icextract_domain_to_axis_attr.cpp").c_str()); 
     373  extractDomainToAxis.generateCInterface(file); 
     374  file.close(); 
     375 
     376  file.open((path+"iextract_domain_to_axis_attr.F90").c_str()); 
     377  extractDomainToAxis.generateFortranInterface(file); 
     378  file.close(); 
     379 
     380 
    378381  file.open((path+"temporal_splitting_interface_attr.F90").c_str()); 
    379382  temporalSplitting.generateFortran2003Interface(file); 
    380383  file.close(); 
    381384 
    382   file.open((path+"icextract_domain_to_axis_attr.cpp").c_str()); 
    383   extractDomainToAxis.generateCInterface(file); 
    384   file.close(); 
    385  
    386385  file.open((path+"ictemporal_splitting_attr.cpp").c_str()); 
    387386  temporalSplitting.generateCInterface(file); 
    388387  file.close(); 
    389388 
    390   file.open((path+"iextract_domain_to_axis_attr.F90").c_str()); 
    391   extractDomainToAxis.generateFortranInterface(file); 
    392   file.close(); 
    393  
    394389  file.open((path+"itemporal_splitting_attr.F90").c_str()); 
    395390  temporalSplitting.generateFortranInterface(file); 
     
    397392 
    398393 
     394  file.open((path+"duplicate_scalar_to_axis_interface_attr.F90").c_str()); 
     395  duplicateScalarToAxis.generateFortran2003Interface(file); 
     396  file.close(); 
     397   
     398  file.open((path+"icduplicate_scalar_to_axis_attr.cpp").c_str()); 
     399  duplicateScalarToAxis.generateCInterface(file); 
     400  file.close(); 
     401   
     402  file.open((path+"iduplicate_scalar_to_axis_attr.F90").c_str()); 
     403  duplicateScalarToAxis.generateFortranInterface(file); 
     404  file.close(); 
    399405  /*! 
    400406    Scalar transformations 
     
    424430  file.close(); 
    425431 
     432 
    426433  file.open((path+"reduce_domain_to_scalar_interface_attr.F90").c_str()); 
    427434  reduceDomainToScalar.generateFortran2003Interface(file); 
    428435  file.close(); 
    429436 
    430   file.open((path+"temporal_splitting_interface_attr.F90").c_str()); 
    431   temporalSplitting.generateFortran2003Interface(file); 
    432   file.close(); 
    433  
    434437  file.open((path+"icreduce_domain_to_scalar_attr.cpp").c_str()); 
    435438  reduceDomainToScalar.generateCInterface(file); 
     
    440443  file.close(); 
    441444 
     445 
     446  file.open((path+"reduce_scalar_to_scalar_interface_attr.F90").c_str()); 
     447  reduceScalarToScalar.generateFortran2003Interface(file); 
     448  file.close(); 
     449 
     450  file.open((path+"icreduce_scalar_to_scalar_attr.cpp").c_str()); 
     451  reduceScalarToScalar.generateCInterface(file); 
     452  file.close(); 
     453 
     454  file.open((path+"ireduce_scalar_to_scalar_attr.F90").c_str()); 
     455  reduceScalarToScalar.generateFortranInterface(file); 
     456  file.close(); 
     457 
     458 
     459 
     460 
     461 
    442462  file.open((path+"context_interface_attr.F90").c_str()); 
    443463  context->generateFortran2003Interface(file); 
Note: See TracChangeset for help on using the changeset viewer.