Changeset 1054 in lmdz_wrf for trunk


Ignore:
Timestamp:
Aug 27, 2016, 9:40:33 AM (9 years ago)
Author:
lfita
Message:

Adding `CF' file in 'pinterp' (not tested!)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/nc_var_tools.py

    r1053 r1054  
    1622016220          'lat', 'time_counter']
    1622116221        MODvardims = ['lon', 'lat', 'time_counter']
     16222    else:
     16223        modname = 'CF'
     16224        print warnmsg
     16225        print '  ' + fname + ": gessing that file '" + ncfile + "' comes from '" +   \
     16226          modname + "' !!"
     16227
     16228        # Variables to interpolate
     16229        MODdims = ['time', 'pres', 'lat', 'lon']
     16230        newMODdims = ['time', 'pres', 'lat', 'lon']
     16231        notCHK = []
     16232        MODvarrequired = ['p', 'ps', 'z', 'orog', 'ta', 'hus', 'lon', 'lat', 'time']
     16233        MODvardims = ['lon', 'lat', 'time']
    1622216234
    1622316235    varns = gen.str_list(variables, ',')
     
    1627416286        CFdimvs = {'time': dimt, 'presnivs': dimz, 'lat': dimy, 'lon': dimx}
    1627516287        unstaggerDIM = 'lon'
     16288    else:
     16289        ovar1 = onc.variables['p']
     16290        pres = ovar1[:].astype('float64')
     16291        dimx = pres.shape[3]
     16292        dimy = pres.shape[2]
     16293        dimz = pres.shape[1]
     16294        dimt = pres.shape[0]
     16295        MODdimvs = {'time':dimt, 'pres':dimz, 'lat':dimy, 'lon': dimx}
     16296        CFdimvs = {'time': dimt, 'pres': dimz, 'lat': dimy, 'lon': dimx}
     16297        unstaggerDIM = 'lon'
    1627616298
    1627716299    # sfc pressure
     
    1628116303    elif modname == 'LMDZ':
    1628216304        ovar1 = onc.variables['psol']
     16305        psfc = ovar1[:].astype('float64')
     16306    else:
     16307        ovar1 = onc.variables['ps']
    1628316308        psfc = ovar1[:].astype('float64')
    1628416309
     
    1629516320        ovar1 = onc.variables['geop']
    1629616321        geop = ovar1[:].astype('float64')
     16322    else:
     16323        ovar1 = onc.variables['z']
     16324        geop = ovar1[:].astype('float64')
    1629716325
    1629816326    # terrain height
     
    1630416332        ovar1 = onc.variables['phis']
    1630516333        hgt = (ovar1[0,:,:]/grav).astype('float64')
     16334    else:
     16335        ovar1 = onc.variables['orog']
     16336        hgt = ovar1[:].astype('float64')
    1630616337
    1630716338    # water vapour mixing ratio
     
    1631116342    elif modname == 'LMDZ':
    1631216343        ovar1 = onc.variables['ovap']
     16344        qv = ovar1[:].astype('float64')
     16345    else:
     16346        ovar1 = onc.variables['hus']
    1631316347        qv = ovar1[:].astype('float64')
    1631416348
     
    1632316357    elif modname == 'LMDZ':
    1632416358        ovar1 = onc.variables['temp']
     16359        temp = ovar1[:].astype('float64')
     16360    else:
     16361        ovar1 = onc.variables['ta']
    1632516362        temp = ovar1[:].astype('float64')
    1632616363
     
    1633716374        newdim = onewnc.createDimension('pres', len(interplevs))
    1633816375        newdim = onewnc.createDimension('time_counter', None)
     16376    else:
     16377        newdim = onewnc.createDimension('lon', dimx)
     16378        newdim = onewnc.createDimension('lat', dimy)
     16379        newdim = onewnc.createDimension('pres', len(interplevs))
     16380        newdim = onewnc.createDimension('time', None)
    1633916381
    1634016382# Creation of variable dimensions
Note: See TracChangeset for help on using the changeset viewer.