Changeset 1819 in lmdz_wrf
- Timestamp:
- Mar 19, 2018, 8:50:34 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/tools/nc_var_tools.py ¶
r1818 r1819 18071 18071 'WRFt': for WRF temperature 18072 18072 'WRFu': for WRF x-wind de-staggered 18073 'WRFuer': for WRF x-wind de-staggered Earth-rotated 18073 18074 'WRFv': for WRF y-wind de-staggered 18075 'WRFver': for WRF y-wind de-staggered Earth-rotated 18074 18076 """ 18075 18077 import module_ForInt as fin … … 18471 18473 newvarattr['long_name'] = varattrs[4].replace('|',' ') 18472 18474 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] 18473 18501 elif vn == 'WRFv': 18474 18502 ovarin = onc.variables['V'] … … 18483 18511 isgeop = False 18484 18512 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') 18485 18539 CFvn = varattrs[0] 18486 18540 newvarattr['standard_name'] = varattrs[1]
Note: See TracChangeset
for help on using the changeset viewer.