ESA.enkf.run_desc_m
index
/home/lfeng/otool/ESA/enkf/run_desc_m.py

Class for decoding ensemble run description 
 
Authors: L. Feng, Edinburgh University
History: v0.9, 2012.06.28
History: v0.95, 2013.02.15
 
Classes:
=================================================
1. enr_desc_cl:  Information about ensemble runs

 
Modules
       
ESA.util.message_m
numpy
ESA.util.otool_descfile_io
ESA.util.otool_obj
ESA.util.otool_var_io
ESA.enkf.run_desc_file_m
ESA.util.time_module

 
Classes
       
enr_desc_cl

 
class enr_desc_cl
    Information about ensemble runs    
 
Members:
==========================================
# current time 
 
1.  yyyy:<int>: year
2.  mm: <int>: month
3.  dd: <int>: day 
 
4.  flnm_ems_lst:<list, t:list>: list of emission file names
5.  flnm_mod_lst:<list, t:list>: list of tracer file names
 
# current coverage 
 
6.  step_lst:<list, t:int>: steps
7.  st_year_lst:<list, t:int>: starting year 
8.  end_year_lst:<list, t:int>: ending year
 
9.  st_doy_lst:<list, t:int>: starting day of year 
10.  end_doy_lst:<list, t:int>: ending day of year
 
11.  st_no_lst:<list, t:int>:  first ensemble member  
12. end_no_lst:<list, t:int>: last ensemble member 
13. nset: set of the number 
14. attr_dict:<dict>: attributes
 
15. enr_table_lst:<list>: list of ensemble run  description tables
 
# file access
16. fdesc: file descript for ensemble run description 
17. fopen: open ensemble run description file 
18. fread: read ensemble run description  file 
19. fget:  get description table lis for current time 
 
Functions:
===========================================================
1. __init__:initialization
2. load_enr_table: read description table 
3. get_enr_table_list: check (or add in) description table for given time  (such as year)
 
4. extract_coverage:  get ensemble runs covering a given time 
        
5. copy: make a copy of itself
 
  Methods defined here:
__init__(self, flnm, datapath, yyyy, mm, dd, fopen=<function open_enr_desc_file>, fread=<function read_enr_desc_file>, fclose=<function close_enr_desc_file>, fget=<function get_enr_desc_table>, fio_keywords={}, **keywords)
1.  yyyy:<int>: year
2.  mm: <int>: month
3.  dd: <int>: day 
4.  enr_table_lst:<list, t:recarray>: configure table for ensemble runs 
 
---required columns for each members
--->year_st:<int>: starting year
--->doy_st:<int>: starting doy 
--->year_end:<int>: end year
--->doy_end:<int>: end doy
--->mem_st:<int>: the first ensemble no 
--->mem_end:<int>: the last ensemble no
extract_coverage(self, yyyy, mm, dd, enr_table_lst=None)
extract informations for runs covering given time 
 
Inputs:
---------------------------------------------
1. yyyy, mm, dd:<int>: time 
2. enr_table_lst:<list, t:recarray>: configure table for ensemble runs 
 
---required columns for each members
--->year_st:<int>: starting year
--->doy_st:<int>: starting doy 
--->year_end:<int>: end year
--->doy_end:<int>: end doy
--->mem_st:<int>: the first ensemble no 
--->mem_end:<int>: the last ensemble no 
 
Returns:
----------------------------------------------
1. self.nsets:<int>: number of the 
 
Notes:
extract_current_time_step(self, yyyy, mm, dd)
extract informations for runs covering given time 
 
Inputs:
---------------------------------------------
1. yyyy, mm, dd:<int>: time 
 
Returns:
---------------------------------------
1. st_yyyy, st_doy, end_yyyy, end_doy:<list, t>:starting year, doy and ending year, doy
get_enr_table(self, yyyy, mm, dd, **fio_keywords)
check ensemble run description file 
 
Inputs:
-----------------------------------------------
1. yyyy, mm, dd:<int>: time 
 
Returns:
-----------------------------------------------
1. enr_table:<recarray>: description table for ensemble runs 
which covers given date.
load_enr_table(self, **fio_keywords)
Read ensemble description files into fdesc
 
Inputs:
=================================
1. fio_keywords:<dict>: keywords for fio