Changeset 2433 in lmdz_wrf


Ignore:
Timestamp:
Apr 11, 2019, 7:31:13 PM (6 years ago)
Author:
lfita
Message:

Fixing 'datetimeStr_conversion' for `cfTimeCal' output

Location:
trunk/tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/generic.py

    r2432 r2433  
    202202        newvals.append(vals[0])
    203203        newvals.append(vals[1]+','+vals[2])
    204         if vals[2] == 'cfTime': newvals.append(vals[3]+','+vals[4].replace('!',' '))
    205         vals = list(newvals)
     204        if vals[2] == 'cfTime':
     205            newvals.append(vals[3]+','+vals[4].replace('!',' '))
     206        else:
     207            newvals.append(vals[2])
    206208    elif vals[1] == 'cfTimeCal':
    207209        newvals.append(vals[0])
     
    209211        if vals[2] == 'cfTimeCal': newvals.append(vals[3] + ',' +                    \
    210212          vals[4].replace('!',' ')+','+vals[5])
    211         vals = list(newvals)
     213        else:
     214            newvals.append(vals[4])
    212215    if vals[2] == 'cfTime':
    213216        newvals.append(vals[0])
    214217        newvals.append(vals[1])
    215218        newvals.append(vals[2]+','+vals[3].replace('!',' '))
    216         vals = list(newvals)
    217219    elif vals[2] == 'cfTimeCal':
    218220        newvals.append(vals[0])
    219221        newvals.append(vals[1])
    220         if vals[2] == 'cfTimeCal': newvals.append(vals[2] + ',' +                    \
    221           vals[3].replace('!',' ')+','+vals[4])
     222        newvals.append(vals[2] + ',' + vals[3].replace('!',' ')+','+vals[4])
     223    if len(newvals) > 0:
    222224        vals = list(newvals)
     225
    223226    if len(vals) != Nvals:
    224227        print errormsg
  • trunk/tools/generic_tools.py

    r2428 r2433  
    755755            newdate = refdate + dt.timedelta(hours=float(timeval))
    756756        elif tunits == 'minutes':
    757             print 'Lluis here ', removeleap, calendar
    758757            if removeleap: timeval = timeval + 1.*24.*60.*Nleapd
    759758            newdate = refdate + dt.timedelta(minutes=float(timeval))
     
    858857        quit(-1)
    859858
    860     if typeSo[0:6] == 'cfTime':
     859    if typeSo[0:6] == 'cfTime' and typeSo[0:9] != 'cfTimeCal':
    861860        tunits = typeSo.split(',')[1].split(' ')[0]
    862861        Srefdate = typeSo.split(',')[1].split(' ')[2]
     
    886885            refdate = datetimeStr_datetime( yrref + '-' + monref + '-' + dayref +    \
    887886              '_00:00:00')
     887
    888888        datei = dt.datetime(yr, mo, da, ho, mi, se)
    889889        difft = datei - refdate
     
    913913        dateYmdHMS = cfdt
    914914       
    915     elif typeSo[0:6] == 'cfTimeCal':
     915    elif typeSo[0:9] == 'cfTimeCal':
    916916        tunits = typeSo.split(',')[1].split(' ')[0]
    917917        Srefdate = typeSo.split(',')[1].split(' ')[2]
    918918        calendar = typeSo.split(',')[2]
    919919
    920         if not gen.searchInlist(availcalendar , calendar):
     920        if not searchInlist(availcalendar , calendar):
    921921            print errormsg
    922922            print '  ' + fname + ": calendar '" + + "' not ready !!"
     
    958958        if calendar == 'noleap' or calendar == '365d':
    959959            removeleap = False
    960             if days_month(newdate.year,2) == 29:
     960            if int(yrref) <= datei.year:
     961                Nleapd = leapdays(int(yrref), datei.year)
     962            else:
     963                Nleapd = leapdays(datei.year, int(yrref))
     964            removeleap = True
     965            totsecs = totsecs-Nleapd*24*3600.
     966
     967        if calendar == 'noleap' or calendar == '365d':
     968            removeleap = False
     969            if days_month(datei.year,2) == 29:
    961970                if datei.month == 2 and datei.day == 28:
    962971                    totsecs = totsecs - 24.*3600.
Note: See TracChangeset for help on using the changeset viewer.