Changeset 1819 in lmdz_wrf


Ignore:
Timestamp:
Mar 19, 2018, 8:50:34 PM (7 years ago)
Author:
lfita
Message:

Adding WRFuer', WRFver' on 'pinterp':

  • 'WRFuer': for WRF x-wind de-staggered Earth-rotated
  • 'WRFver': for WRF y-wind de-staggered Earth-rotated
File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/tools/nc_var_tools.py

    r1818 r1819  
    1807118071        'WRFt': for WRF temperature
    1807218072        'WRFu': for WRF x-wind de-staggered
     18073        'WRFuer': for WRF x-wind de-staggered Earth-rotated
    1807318074        'WRFv': for WRF y-wind de-staggered
     18075        'WRFver': for WRF y-wind de-staggered Earth-rotated
    1807418076    """
    1807518077    import module_ForInt as fin
     
    1847118473                newvarattr['long_name'] = varattrs[4].replace('|',' ')
    1847218474                newvarattr['units'] = varattrs[5]
     18475            elif vn == 'WRFuer':
     18476                ovarin = onc.variables['U']
     18477                ovarin2 = onc.variables['V']
     18478                # Earth-rotating
     18479                osina =  onc.variables['SINALPHA']
     18480                ocosa =  onc.variables['COSALPHA']
     18481                print infmsg
     18482                print '  ' + fname + ': De-staggering x-wind variable & Earth rotating!!'
     18483                print '    from:', ovarin.shape, 'to', (dimt, dimz, dimy, dimx)
     18484                if isFR64:
     18485                    varin0 = np.zeros((dimt, dimz, dimy, dimx), dtype=np.float64)
     18486                else:
     18487                    varin0 = np.zeros((dimt, dimz, dimy, dimx), dtype=np.float)
     18488                # Not pro, but less memory problems!
     18489                for it in range(dimt):
     18490                    varin0[it,:,::] = 0.5*(ovarin[it,:,:,0:dimx] + ovarin[it,:,:,1:dimx+1])
     18491                    varin02[it,:,::] = 0.5*(ovarin2[it,:,0:dimy,:] + ovarin2[it,:,1:dimy+1,:])
     18492                for iz in range(dimz):
     18493                    varin[:,iz,:,:] = varin0[:,iz,:,:]*ocosa[:] - varin02[:,iz,:,:]*osina[:]
     18494
     18495                isgeop = False
     18496                varattrs = gen.variables_values('ua')
     18497                CFvn = varattrs[0]
     18498                newvarattr['standard_name'] = varattrs[1]
     18499                newvarattr['long_name'] = varattrs[4].replace('|',' ')
     18500                newvarattr['units'] = varattrs[5]
    1847318501            elif vn == 'WRFv':
    1847418502                ovarin = onc.variables['V']
     
    1848318511                isgeop = False
    1848418512                varattrs = gen.variables_values('va')
     18513                CFvn = varattrs[0]
     18514                newvarattr['standard_name'] = varattrs[1]
     18515                newvarattr['long_name'] = varattrs[4].replace('|',' ')
     18516                newvarattr['units'] = varattrs[5]
     18517            elif vn == 'WRFver':
     18518                ovarin = onc.variables['U']
     18519                ovarin2 = onc.variables['V']
     18520                # Earth-rotating
     18521                osina =  onc.variables['SINALPHA']
     18522                ocosa =  onc.variables['COSALPHA']
     18523                print infmsg
     18524                print '  ' + fname + ': De-staggering y-wind variable & Earth rotating!!'
     18525                print '    from:', ovarin.shape, 'to', (dimt, dimz, dimy, dimx)
     18526                if isFR64:
     18527                    varin0 = np.zeros((dimt, dimz, dimy, dimx), dtype=np.float64)
     18528                else:
     18529                    varin0 = np.zeros((dimt, dimz, dimy, dimx), dtype=np.float)
     18530                # Not pro, but less memory problems!
     18531                for it in range(dimt):
     18532                    varin0[it,:,::] = 0.5*(ovarin[it,:,:,0:dimx] + ovarin[it,:,:,1:dimx+1])
     18533                    varin02[it,:,::] = 0.5*(ovarin2[it,:,0:dimy,:] + ovarin2[it,:,1:dimy+1,:])
     18534                for iz in range(dimz):
     18535                    varin[:,iz,:,:] = varin0[:,iz,:,:]*osina[:] + varin02[:,iz,:,:]*ocosa[:]
     18536
     18537                isgeop = False
     18538                varattrs = gen.variables_values('ua')
    1848518539                CFvn = varattrs[0]
    1848618540                newvarattr['standard_name'] = varattrs[1]
Note: See TracChangeset for help on using the changeset viewer.