Changes between Version 15 and Version 16 of Documentation


Ignore:
Timestamp:
2012-03-25T21:32:30+02:00 (13 years ago)
Author:
maignan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentation

    v15 v16  
    5959== Technical Documentation == 
    6060 
    61 '''How to understand the operations performed on the variables when written in the history files''' 
    62  
    63 '''IOIPSL/src/histcom.f90'''[[BR]] 
     61=== How to understand the operations performed on the variables when written in the history files === 
     62 '''1. IOIPSL/src/histcom.f90'''[[BR]] 
    6463 
    6564First read more about the IOIPSL module that manages the history files here: 
    6665http://www.ipsl.jussieu.fr/~ioipsl/WWW2/index.html 
    6766 
    68 The main information useful for ORCHIDEE is reproduced below:[[BR]] 
    69  
    70 ''histdef'': The variables which will be written are declared and the following information is passed :[[BR]] 
    71  
    72 - name of variable [[BR]] 
    73  
    74 - title [[BR]] 
    75  
    76 - units [[BR]] 
    77  
    78 - size of the variable [[BR]] 
    79  
    80 - '''operation to be carried out on the variable before writing it''' [[BR]] 
    81  
    82 - frequency at which the operations need to be done (positive values are in units of seconds and negative values are in units of month.) [[BR]] 
    83  
    84 - frequency at which the resulting data need to be written into the file(positive values are in units of seconds and negative values are in units of month.) [[BR]] 
     67The main information __useful for ORCHIDEE__ is reproduced below:[[BR]] 
     68 
     69''histdef'': The variables which will be written are declared and the following information is passed: 
     70 * name of variable 
     71 * title  
     72 * units  
     73 * size of the variable  
     74 * '''operation to be carried out on the variable before writing it''' 
     75 * frequency at which the operations need to be done (positive values are in units of seconds and negative values are in units of month)  
     76 * frequency at which the resulting data need to be written into the file(positive values are in units of seconds and negative values are in units of month)  
    8577 
    8678'''Allowed operations'''[[BR]] 
    8779 
    88 In histdef the user may specify for each field that is going to be archived a number of operations. 3 types may be distinguished: Vector operations, vector-scalar operations and index operations on the vector. In the description of the operations to be carried out the vector will be represented by x. For instance a gather operation will be written "gather(x)". It must be noted that the indexing operations will use as index vector the one passed to histwrite. On top of this a time operation has to be chosen. There only one is allowed and it should be outer most operator. For instance the time averaging of the gather operation will be written as:  
    89 "ave(gather(x))". 
    90  
    91 Allowed time operations:[[BR]] 
    92  
    93 • ave time average of the field[[BR]] 
    94  
    95 • inst instantaneous values of the field is going to be written[[BR]] 
    96  
    97 • t_min the minimum value over the time period is going to be archived[[BR]] 
    98  
    99 • t_max the maximum value over the time period is going to be archived[[BR]] 
    100  
    101 • t_sum sums the variable over time[[BR]] 
    102  
    103 • once the field is written once on the file without any time axis[[BR]] 
    104  
    105 • never the field is never written[[BR]] 
    106  
    107  
    108 Allowed vector operations:[[BR]] 
    109  
    110 Usage: cels(x)[[BR]] 
    111  
    112 • cels transforms the field into degrees Celsius[[BR]] 
    113  
    114  
    115 Allowed vector-scalar operations:[[BR]] 
    116  
    117 Usage: scal*x[[BR]] 
    118  
    119 • * multiplication[[BR]] 
    120  
    121  
    122 Allowed indexing operations:[[BR]] 
    123  
    124 Usage: gather(x) [[BR]] 
    125  
    126 • gather Gathers from the input data all the points listed in index and puts them onto the file. Other points in the resulting array are going to labeled as missing. This operation could be used to reduce the resolution of  the history file.[[BR]] 
    127  
    128 • scatter Scatters from the input data onto the points which are listed in the index. Other points are going to be labeled as missing. This is used for instance to put a variable only available over oceans onto a global grid.[[BR]] 
    129  
     80In ''histdef'' the user may specify for each field that is going to be archived a number of operations. 3 types may be distinguished: Vector operations, vector-scalar operations and index operations on the vector. In the description of the operations to be carried out the vector will be represented by x. For instance a gather operation will be written "gather(x)". It must be noted that the indexing operations will use as index vector the one passed to histwrite. On top of this a time operation has to be chosen. There only one is allowed and it should be outer most operator. For instance the time averaging of the gather operation will be written as "ave(gather(x))". 
     81 
     82 * Allowed time operations: 
     83||ave||time average of the field|| 
     84||inst||instantaneous values of the field is going to be written|| 
     85||t_min||the minimum value over the time period is going to be archived|| 
     86||t_max||the maximum value over the time period is going to be archived|| 
     87||t_sum||sums the variable over time|| 
     88||once||the field is written once on the file without any time axis|| 
     89||never||the field is never written|| 
     90 
     91 * Allowed vector operations:[[BR]] 
     92Usage: cels(x) 
     93||cels||transforms the field into degrees Celsius|| 
     94 
     95 * Allowed vector-scalar operations:[[BR]] 
     96Usage: scal*x 
     97||*||multiplication|| 
     98 
     99 * Allowed indexing operations:[[BR]] 
     100Usage: gather(x) 
     101||gather||Gathers from the input data all the points listed in index and puts them onto the file. Other points in the resulting array are going to labeled as missing. This operation could be used to reduce the resolution of  the history file.|| 
     102||scatter||Scatters from the input data onto the points which are listed in the index. Other points are going to be labeled as missing. This is used for instance to put a variable only available over oceans onto a global grid.|| 
    130103 
    131104Examples:[[BR]] 
    132  
    133 ave(scatter(cels(X)) : Will average the variables (temperature for instance) in celsius and scatter it onto the grid. This could be used in an ocean model where all grid points are in a vector and cover only ocean points. Thus in the history file you will have the field placed correctly on the map. [[BR]] 
    134  
    135 ave(max(cels(x),0.)) : Average over time only the temperature (if that is the variable in Kelvin) which are above 0. [[BR]] 
    136  
    137 t_max(X) : Computes the maximum over the time between two writes of the variable. [[BR]] 
    138  
    139  
    140 '''src_sechiba/intersurf.f90'''[[BR]] 
     105 * ave(scatter(cels(X)): Will average the variables (temperature for instance) in celsius and scatter it onto the grid. This could be used in an ocean model where all grid points are in a vector and cover only ocean points. Thus in the history file you will have the field placed correctly on the map. 
     106 * ave(max(cels(x),0.)): Average over time only the temperature (if that is the variable in Kelvin) which are above 0. 
     107 * t_max(X): Computes the maximum over the time between two writes of the variable. 
     108 
     109 
     110 '''2. src_sechiba/intersurf.f90'''[[BR]] 
    141111 
    142112The ''histdef'' calls are made in the ''intsurf_history'' subroutine for the sechiba history file and similarly in the ''stom_define_history'' subroutine for the stomate history file.