Outcfg.out general

Un article de Informaticiens département des sciences de la Terre et l'atmosphère
Aller à: navigation, charcher

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)