Changeset ca867de in flex_extract.git for source/python/mods/get_mars_data.py


Ignore:
Timestamp:
Oct 5, 2018, 3:35:18 PM (6 years ago)
Author:
Anne Philipp <anne.philipp@…>
Branches:
master, ctbto, dev
Children:
5bad6ec
Parents:
27fe969
Message:

refactored functions in EcFlexpart? and did some minor changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • source/python/mods/get_mars_data.py

    r27fe969 rca867de  
    4848import os
    4949import sys
    50 import datetime
    5150import inspect
     51from datetime import datetime, timedelta
     52
     53# software specific classes and modules from flex_extract
     54sys.path.append('../')
     55import _config
     56from tools import my_error, normal_exit, get_cmdline_arguments, read_ecenv
     57from classes.EcFlexpart import EcFlexpart
     58from classes.UioFiles import UioFiles
     59
    5260try:
    5361    ecapi = True
     
    5563except ImportError:
    5664    ecapi = False
    57 
    58 # software specific classes and modules from flex_extract
    59 import _config
    60 from tools import my_error, normal_exit, get_cmdline_arguments, read_ecenv
    61 from classes.EcFlexpart import EcFlexpart
    62 from classes.UioFiles import UioFiles
    6365# ------------------------------------------------------------------------------
    6466# FUNCTION
     
    147149    # allerdings ist das relevant und ersichtlich an den NICHT FLUSS DATEN
    148150
    149 
    150     # set start date of retrieval period
    151     start = datetime.date(year=int(c.start_date[:4]),
    152                           month=int(c.start_date[4:6]),
    153                           day=int(c.start_date[6:]))
    154     startm1 = start - datetime.timedelta(days=1)
    155 
    156     # set end date of retrieval period
    157     end = datetime.date(year=int(c.end_date[:4]),
    158                         month=int(c.end_date[4:6]),
    159                         day=int(c.end_date[6:]))
    160 
    161     # set time period for one single retrieval
    162     datechunk = datetime.timedelta(days=int(c.date_chunk))
     151    start = datetime.strptime(c.start_date, '%Y%m%d')
     152    end = datetime.strptime(c.end_date, '%Y%m%d')
     153    # time period for one single retrieval
     154    datechunk = timedelta(days=int(c.date_chunk))
    163155
    164156    if c.basetime == '00':
    165         start = startm1
     157        start = start - timedelta(days=1)
     158
     159    if c.maxstep <= 24:
     160        startm1 = start - timedelta(days=1)
    166161
    167162    if c.basetime == '00' or c.basetime == '12':
    168         # endp1 = end + datetime.timedelta(days=1)
     163        # endp1 = end + timedelta(days=1)
    169164        endp1 = end
    170165    else:
    171         # endp1 = end + datetime.timedelta(days=2)
    172         endp1 = end + datetime.timedelta(days=1)
     166        # endp1 = end + timedelta(days=2)
     167        endp1 = end + timedelta(days=1)
    173168
    174169    # --------------  flux data ------------------------------------------------
     
    243238    # we only need to add datechunk - 1 days to retrieval
    244239    # for a period
    245     delta_t_m1 = delta_t - datetime.timedelta(days=1)
     240    delta_t_m1 = delta_t - timedelta(days=1)
    246241
    247242    day = start
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG