Outcfg.out general : Différence entre versions

Un article de Informaticiens département des sciences de la Terre et l'atmosphère
Aller à: navigation, charcher
(Page créée avec « == General description of the file '''outcdf.out''' == ______________________________________________________________________________ *... »)
 
m (2) Set flags in outcfg.out)
 
(19 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1: Ligne 1:
 
== General description of the file '''outcdf.out''' ==
 
== General description of the file '''outcdf.out''' ==
  
______________________________________________________________________________
+
===== General information =====
*                                                                            |
+
 
Example outcfg.out                                                         |
+
First one needs to define at least one type of '''grid''', one set of '''levels''', and one set of '''steps'''.
*                                                                            |
+
These will then get used in the '''sortie''' (for dynamic fields) resp. '''sortie_p''' (for physics fields) declarations.
* grid=1,model;                                                              |
+
                                                                           
* levels=1,eta,-1;                                                           |
+
===== Example outcfg.out =====                                               
* levels=3,pres,[1000.,850.];                                                |
+
                                                                           
* steps=1,hour,0.;                                                            |
+
grid=1,model;                                                               
* steps=2,step,<0.,6.,1.>;                                                    |
+
levels=1,eta,-1;                                                            
*                                                                            |
+
levels=2,pres,[1000.,850.];                                                 
* sortie  ([ME,PN,P0,PT]                      ,grid, 1, levels, 1, steps, 2)  |
+
steps=1,hour,0.;                                                             
* sortie_p([MF,MY,MG,ALVIS,DLAT,DLON,WFLUX]  ,grid, 1, levels, 1, steps, 1) |
+
steps=2,step,<0.,6.,1.>;                                                     
*                                                                            |
+
                                                                           
*_____________________________________________________________________________|
+
sortie  ([ME,PN,P0,PT]                      ,grid, 1, levels, 1, steps, 2)   
* Output GRID definitions                                                     |
+
sortie_p([MF,MY,MG,ALVIS,DLAT,DLON,WFLUX]  ,grid, 1, levels, 1, steps, 1)
*                                                                            |
+
 
* examples:                                                                  |
+
===== Output GRID definitions =====
* grid=4,model;                                                              |
+
                                                   
* grid=2,core;                                                               |
+
Examples:                                                                   
* grid=1,reduc,4,10,4,10,2                                                    |
+
grid=1,model;                                                               
* grid=3,reduc,4,10,4,10                                                      |
+
grid=2,core;  
* grid=5,reduc,"NEW",2,11,2,15                                                |
+
grid=3,free;                                                                                  
* grid=7,core,"CO";                                                           |
+
 
*                                                                            |
+
General syntax:                                                              
* general syntax                                                              |
+
grid=gridid,[model/core/free];       
* grid=gridid,[model/core/reduc],["etik"],[gridx0,gridx1,gridy0,gridy1];      |
+
                                                                           
*                                                                            |
+
      gridid  - number to identify gridset to relate to sortie statement     
*      gridid  - number to identify gridset to relate to sortie statement    |
+
      model  - total grid of the model     
*      model  - total grid of the model,in LAM, this includes pilot area     |
+
      core  - in LAM: model grid minus the pilot region
*      core  - only the uniform part of the grid, in LAM, excludes pilot are|
+
      free   - in LAM: only the free area, excluding blending (Davies sponge) and pilot area         
*      reduc   - reduced grid from the model defined as follows              |
+
 
*      gridx0 - starting I value along X                                    |
+
IMPORTANT NOTE:                                                             
*      gridx1 - ending  I value along X                                    |
+
    Limit the number of definitions for "grid" to improve the efficiency     
*      gridy0 - starting J value along X                                    |
+
    in the output routines. The maximum number of definitions is 4.         
*      gridy1 - ending  J value along X                                    |
+
 
* IMPORTANT NOTE:                                                            |
+
 
*    Limit the number of definitions for "grid" to improve the efficiency    |
+
===== Output LEVEL definitions =====
*    in the output routines. The maximum number of definitions is 4.        |
+
                                                                                                                               
*                                                                            |
+
Examples:                                                                   
*_____________________________________________________________________________|
+
levels=1,eta,-1;                                                            
* Output LEVEL definitions                                                   |
+
levels=2,eta,0;                                                             
*                                                                            |
+
levels=6,eta,<1,12,2>;                                                       
* examples:                                                                  |
+
levels=5,pres,[1000.,850.,700.,500.];                                       
* levels=1,eta,-1;                                                           |
+
 
* levels=2,eta,0;                                                            |
+
General syntax                                                               
* levels=6,eta,<1,12,2>;                                                      |
+
    levels=levelid , pres/eta,{list}                                         
* levels=5,pres,[1000.,850.,700.,500.];                                      |
+
                                                                           
*                                                                            |
+
    levelid  - number to identify levelset to relate to sortie statement     
* general syntax                                                              |
+
      eta - model levels (eta)                                               
*    levels=levelid , pres/eta,{list}                                        |
+
          - the integer corresponds to the "nth" defined model level thus     
*                                                                            |
+
            make sure that the largest digit <= # of elements defined in  hyb
*    levelid  - number to identify levelset to relate to sortie statement    |
+
      pres- pressure levels                                                   
*      eta - model levels (eta)                                              |
+
      '-1' with "eta" levels will give all model levels.                     
*          - the integer corresponds to the "nth" defined model level thus    |
+
      '0'  with "eta" levels will give the ground "G_nk" level               
*            make sure that the largest digit <= # of elements defined in  hyb|
+
      [a,b,c] means level a,b and c are requested                             
*      pres- pressure levels                                                  |
+
      <a,b,c> means levels a to b, every c are requested                     
*      '-1' with "eta" levels will give all model levels.                    |
+
 
*      '0'  with "eta" levels will give the ground "G_nk" level              |
+
IMPORTANT NOTE:                                                             
*      [a,b,c] means level a,b and c are requested                            |
+
    Limit the number of definitions for "level" to improve the efficiency   
*      <a,b,c> means levels a to b, every c are requested                    |
+
    the output routines. The maximum number of definitions is 32.           
*                                                                            |
+
    The maximum number of levels defined in each "level" command is 201
* IMPORTANT NOTE:                                                            |
+
 
*    Limit the number of definitions for "level" to improve the efficiency  |
+
===== Output FREQUENCY definitions =====                                                
*    the output routines. The maximum number of definitions is 32.          |
+
                                                                           
*    The maximum number of levels defined in each "level" command is 201     |
+
Examples:                                                                   
* VERY IMPORTANT NOTE:                                                        |
+
steps=1,step,-1;                                                             
*    No physics variable output on PRESSURE levels                          |
+
steps=2,hour,0.,3.,6.,12.,24.,48.;                                           
*                                                                            |
+
steps=3,hour,<0.,48.,3.>;                                                   
*-----------------------------------------------------------------------------|
+
steps=4,init,hour,<0.,6.,1.>;                                               
* Output FREQUENCY definitions                                                |
+
steps=5,hour,<0.,24.,3.>,<24.,48.,6.>;                                       
*                                                                            |
+
steps=6,step,<0,5,1>,[6,12,18];                                             
* examples:                                                                  |
+
 
* steps=1,step,-1;                                                            |
+
General syntax                                                               
* steps=2,hour,0.,3.,6.,12.,24.,48.;                                          |
+
steps=stepid,  [init],step/hour,{list};                                     
* steps=3,hour,<0.,48.,3.>;                                                  |
+
                                                                           
* steps=4,init,hour,<0.,6.,1.>;                                              |
+
    stepid  - number to identify stepset  to relate to sortie statement     
* steps=5,hour,<0.,24.,3.>,<24.,48.,6.>;                                      |
+
      'init' - means this command only applies to output during the           
* steps=6,step,<0,5,1>,[6,12,18];                                            |
+
              initialization period                                         
*                                                                            |
+
      'hour' - output in hours                                               
* general syntax                                                              |
+
      'step' - output in timesteps in the model                               
* steps=stepid,  [init],step/hour,{list};                                    |
+
      '-1' with "step" will give every timestep of the model                 
*                                                                            |
+
      [a,b,c] means a,b and c are requested                                   
*    stepid  - number to identify stepset  to relate to sortie statement    |
+
      <a,b,c> means a to b, incrementing every c are requested              
*      'init' - means this command only applies to output during the          |
+
 
*              initialization period                                        |
+
IMPORTANT NOTE:                                                             
*      'hour' - output in hours                                              |
+
    Limit the number of definitions for "steps" to improve the efficiency   
*      'step' - output in timesteps in the model                              |
+
    the output routines. It can really make a huge difference!!!
*      '-1' with "step" will give every timestep of the model                |
+
    The maximum number of definitions is 32.           
*      [a,b,c] means a,b and c are requested                                  |
+
    The maximum number of step/hour defined in each "steps" command is 50000
*      <a,b,c> means a to b, incrementing every c are requested               |
+
 
* IMPORTANT NOTE:                                                            |
+
== Accumulators & averages/min/max fields ==
*    Limit the number of definitions for "steps" to improve the efficiency  |
+
 
*    the output routines. The maximum number of definitions is 32.          |
+
When running GEM there are two ways to trigger the resetting of accumulators and min/max fields. They cannot be mixed! You need to use either one way or the other for all variables.
*    The maximum number of step/hour defined in each "steps" command is 50000|
+
 
*-----------------------------------------------------------------------------|
+
===== 1) Use moyhr & acchr =====
 +
One can set 'moyhr' and 'acchr' in the physics_cfgs namelist of the gem_settings.nml to the time in hours at which one would like to reset all(!) average/min/max fields resp. all(!) accumulators.
 +
 
 +
===== 2) Set flags in outcfg.out =====
 +
Averages, accumulators, averages of accumulators, minimum and maximum fields can now be defined as such in the file ‘outcfg.out’.<br>
 +
'''When running the UQAM version of GEM these fields have to be reset this way.'''<br>
 +
To define one of the above fields as such one has to add the specific “type” to ‘sortie_p’. There are five different options:
 +
 
 +
  average :  Average (devides field by number of time steps since last output and sets it to zero after each output)
 +
  accum :  Accumulator (sets field to zero after each output)
 +
  avgacc  :  Average of an accumulator (devides field by the output interval in seconds and sets it to zero after each output)
 +
  min :  Minimum (sets field to +1.E+36 after each output)
 +
  max :  Maximum (sets field to -1.E+36 after each output)
 +
 
 +
The difference between ‘accum’ and ‘avgacc’ is that with ‘avgacc’ the accumulator gets divided by the output time step Δt. The unit of the accumulators will therefore an an additional [1/s]. For example, then using ‘accum’ PR will be in [m], but when using ‘avgacc’ PR will be in '[m/s].<br>
 +
 
 +
Examples:
 +
 
 +
  sortie_p([PR,SN,TRAF]       , grid, 1, levels, 1, steps, 2, avgacc)
 +
  sortie_p([T5]              , grid, 1, levels, 2, steps, 3, min)
 +
  sortie_p([T9]              , grid, 1, levels, 2, steps, 3, max)
 +
  sortie_p([TSAV]            , grid, 1, levels, 2, steps, 3, average)
 +
  sortie_p([TJ,TT2M,TSKN]    , grid, 1, levels, 2, steps, 2)

Version actuelle datée du 11 de septembre 2020 à 20:45

General description of the file outcdf.out

General information

First one needs to define at least one type of grid, one set of levels, and one set of steps. These will then get used in the sortie (for dynamic fields) resp. sortie_p (for physics fields) declarations.

Example outcfg.out
grid=1,model;                                                               
levels=1,eta,-1;                                                             
levels=2,pres,[1000.,850.];                                                 
steps=1,hour,0.;                                                            
steps=2,step,<0.,6.,1.>;                                                    
                                                                            
sortie  ([ME,PN,P0,PT]                      ,grid, 1, levels, 1, steps, 2)  
sortie_p([MF,MY,MG,ALVIS,DLAT,DLON,WFLUX]   ,grid, 1, levels, 1, steps, 1)
Output GRID definitions

Examples:

grid=1,model;                                                               
grid=2,core;   
grid=3,free;                                                                                    

General syntax:

grid=gridid,[model/core/free];      
                                                                            
     gridid  - number to identify gridset to relate to sortie statement     
      model  - total grid of the model     
      core   - in LAM: model grid minus the pilot region
      free   - in LAM: only the free area, excluding blending (Davies sponge) and pilot area          

IMPORTANT NOTE:

    Limit the number of definitions for "grid" to improve the efficiency    
    in the output routines. The maximum number of definitions is 4.         


Output LEVEL definitions

Examples:

levels=1,eta,-1;                                                             
levels=2,eta,0;                                                             
levels=6,eta,<1,12,2>;                                                      
levels=5,pres,[1000.,850.,700.,500.];                                       

General syntax

   levels=levelid , pres/eta,{list}                                         
                                                                            
   levelid   - number to identify levelset to relate to sortie statement    
     eta - model levels (eta)                                               
         - the integer corresponds to the "nth" defined model level thus    
           make sure that the largest digit <= # of elements defined in  hyb
     pres- pressure levels                                                  
     '-1' with "eta" levels will give all model levels.                     
     '0'  with "eta" levels will give the ground "G_nk" level               
     [a,b,c] means level a,b and c are requested                            
     <a,b,c> means levels a to b, every c are requested                     

IMPORTANT NOTE:

    Limit the number of definitions for "level" to improve the efficiency   
    the output routines. The maximum number of definitions is 32.           
    The maximum number of levels defined in each "level" command is 201
Output FREQUENCY definitions

Examples:

steps=1,step,-1;                                                            
steps=2,hour,0.,3.,6.,12.,24.,48.;                                          
steps=3,hour,<0.,48.,3.>;                                                   
steps=4,init,hour,<0.,6.,1.>;                                               
steps=5,hour,<0.,24.,3.>,<24.,48.,6.>;                                      
steps=6,step,<0,5,1>,[6,12,18];                                             

General syntax

steps=stepid,  [init],step/hour,{list};                                     
                                                                            
    stepid  - number to identify stepset  to relate to sortie statement     
     'init' - means this command only applies to output during the          
              initialization period                                         
     'hour' - output in hours                                               
     'step' - output in timesteps in the model                              
     '-1' with "step" will give every timestep of the model                 
     [a,b,c] means a,b and c are requested                                  
     <a,b,c> means a to b, incrementing every c are requested                

IMPORTANT NOTE:

    Limit the number of definitions for "steps" to improve the efficiency   
    the output routines. It can really make a huge difference!!! 
    The maximum number of definitions is 32.           
    The maximum number of step/hour defined in each "steps" command is 50000

Accumulators & averages/min/max fields

When running GEM there are two ways to trigger the resetting of accumulators and min/max fields. They cannot be mixed! You need to use either one way or the other for all variables.

1) Use moyhr & acchr

One can set 'moyhr' and 'acchr' in the physics_cfgs namelist of the gem_settings.nml to the time in hours at which one would like to reset all(!) average/min/max fields resp. all(!) accumulators.

2) Set flags in outcfg.out

Averages, accumulators, averages of accumulators, minimum and maximum fields can now be defined as such in the file ‘outcfg.out’.
When running the UQAM version of GEM these fields have to be reset this way.
To define one of the above fields as such one has to add the specific “type” to ‘sortie_p’. There are five different options:

 average :  Average (devides field by number of time steps since last output and sets it to zero after each output)
 accum	 :  Accumulator (sets field to zero after each output)
 avgacc  :  Average of an accumulator (devides field by the output interval in seconds and sets it to zero after each output)
 min	 :  Minimum (sets field to +1.E+36 after each output)
 max	 :  Maximum (sets field to -1.E+36 after each output)

The difference between ‘accum’ and ‘avgacc’ is that with ‘avgacc’ the accumulator gets divided by the output time step Δt. The unit of the accumulators will therefore an an additional [1/s]. For example, then using ‘accum’ PR will be in [m], but when using ‘avgacc’ PR will be in '[m/s].

Examples:

 sortie_p([PR,SN,TRAF]       , grid, 1, levels, 1, steps, 2, avgacc) 
 sortie_p([T5]               , grid, 1, levels, 2, steps, 3, min) 
 sortie_p([T9]               , grid, 1, levels, 2, steps, 3, max) 
 sortie_p([TSAV]             , grid, 1, levels, 2, steps, 3, average) 
 sortie_p([TJ,TT2M,TSKN]     , grid, 1, levels, 2, steps, 2)