Changeset 1941 in lmdz_wrf


Ignore:
Timestamp:
Jul 17, 2018, 9:23:44 PM (7 years ago)
Author:
lfita
Message:

Update:

  • Consecutive time-steps
  • New individual 1D variables
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/UWyoming_snd_nc.py

    r1938 r1941  
    5454txtTXTvals = ['Station identifier', 'Observation time']
    5555
     56# Float values for global attributes:
     57floatTXTvals = ['Station elevation', 'Station longitude', 'Station latitude']
     58
    5659# Not lower pressure variables
    5760NOTlowpres = ['DWPT', 'RELH', 'MIXR', 'THTE']
     
    7376## MAIN
    7477    #######
     78
     79# Global attributes for the station
     80stngattrk = intTXTvals + txtTXTvals + floatTXTvals
    7581
    7682if opts.debug is None:
     
    213219        print ic, ':', txtvals[ic]
    214220
     221Tsoundings.append(stationdateS)
    215222soundings[stationdateS] = [pvals, txtvals]
    216223if len(soundings.keys()) == 1:
     
    263270    print sndvals
    264271
    265 # Removing not comoputed values
     272# Removing not computed values
     273statglobalattr = {}
    266274txtn = list(txtvals.keys())
     275snditS = Tsoundings[0]
     276sndvs = soundings[snditS]
     277sndc = sndvs[1]
     278
    267279for Sn in intTXTvals:
    268     if gen.searchInlist(txtn, Sn): txtn.remove(Sn)
     280    SnS = Sn.replace(' ','_')
     281    if gen.searchInlist(txtn, Sn):
     282        if sndc.has_key(Sn): statglobalattr[SnS] = int(sndc[Sn])
     283        else: statglobalattr[SnS] = '-'
     284        txtn.remove(Sn)
     285    else:
     286        if sndc.has_key(Sn): statglobalattr[SnS] = int(sndc[Sn])
     287        else: statglobalattr[SnS] = '-'
     288
    269289for Sn in txtTXTvals:
    270     if gen.searchInlist(txtn, Sn): txtn.remove(Sn)
     290    SnS = Sn.replace(' ','_')
     291    if gen.searchInlist(txtn, Sn):
     292        if sndc.has_key(Sn): statglobalattr[SnS] = sndc[Sn]
     293        else: statglobalattr[SnS] = '-'
     294        txtn.remove(Sn)
     295    else:
     296        if sndc.has_key(Sn): statglobalattr[SnS] = int(sndc[Sn])
     297        else: statglobalattr[SnS] = '-'
     298
     299for Sn in floatTXTvals:
     300    SnS = Sn.replace(' ','_')
     301    if gen.searchInlist(txtn, Sn):
     302        if sndc.has_key(Sn): statglobalattr[SnS] = np.float(sndc[Sn])
     303        else: statglobalattr[Sn] = '-'
     304        txtn.remove(Sn)
     305    else:
     306        if sndc.has_key(Sn): statglobalattr[SnS] = int(sndc[Sn])
     307        else: statglobalattr[SnS] = '-'
    271308
    272309Ncomp = len(txtn)
     
    291328# Creation of dimensions
    292329onewnc.createDimension('pres', Npres)
    293 onewnc.createDimension('cvals', Ncomp)
    294330onewnc.createDimension('time', None)
    295 onewnc.createDimension('Lstring', Lstring)
     331#onewnc.createDimension('cvals', Ncomp)
     332#onewnc.createDimension('Lstring', Lstring)
    296333
    297334# Creation of variable-dimensions
     
    300337ncvar.basicvardef(newvar, 'pres', 'pressure', varu['PRES'])
    301338
    302 newvar = onewnc.createVariable('cvals', 'c', ('cvals', 'Lstring'))
    303 ncvar.writing_str_nc(newvar, txtn, Lstring)
    304 ncvar.basicvardef(newvar, 'cvals', 'computed values from sounding data', 'hPa')
     339# No more computedvalues matrix !
     340#newvar = onewnc.createVariable('cvals', 'c', ('cvals', 'Lstring'))
     341#ncvar.writing_str_nc(newvar, txtn, Lstring)
     342#ncvar.basicvardef(newvar, 'cvals', 'computed values from sounding data', 'hPa')
    305343
    306344newvar = onewnc.createVariable('time', 'f8', ('time'))
     
    331369onewnc.sync()
    332370
    333 newvar = onewnc.createVariable('computedvals', 'f', ('time', 'cvals'),               \
    334   fill_value=gen.fillValueF)
    335 newvar[:] = compvals
    336 ncvar.basicvardef(newvar, 'computedvals', 'values computed from sounding data', '-')
    337 onewnc.sync()
     371# No more computedvalues matrix !
     372#newvar = onewnc.createVariable('computedvals', 'f', ('time', 'cvals'),               \
     373#  fill_value=gen.fillValueF)
     374#newvar[:] = compvals
     375#ncvar.basicvardef(newvar, 'computedvals', 'values computed from sounding data', '-')
     376#onewnc.sync()
     377
     378# Getting specific 1D values
     379for ic in range(len(txtn)):
     380    Sn = txtn[ic]
     381    CFvalues = gen.variables_values(Sn)
     382    newvar=onewnc.createVariable(CFvalues[0],'f', ('time'), fill_value=gen.fillValueF)
     383    newvar[:] = compvals[:,ic]
     384    ncvar.basicvardef(newvar, CFvalues[1], CFvalues[4].replace('|',' '), CFvalues[5])
     385    onewnc.sync()
    338386
    339387# Global attributes
    340 ncvar.add_global_PyNCplot(onewnc, main, '', '0.1')
     388ncvar.add_global_PyNCplot(onewnc, main, '', '0.2')
     389for atn in stngattrk:
     390    atnS = atn.replace(' ','_')
     391    onewnc.setncattr(atnS, statglobalattr[atnS])
    341392
    342393onewnc.close()
Note: See TracChangeset for help on using the changeset viewer.