Changeset 794 in lmdz_wrf
- Timestamp:
- Jun 1, 2016, 4:18:16 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/generic_tools.py
r787 r794 6323 6323 return ni,xi,nj,xj 6324 6324 6325 def significant_decomposition(num,minpot): 6326 """ Function to decompose a given number by its signifcant potencies 6327 returns: [numPot], [Potlist], [Diglist] 6328 [numPot]: number of potencies 6329 [Potlist]: list of potencies 6330 [Diglist]: list of digits 6331 Thus: 6332 num <> np.sum([Diglist]*10.**[Potlist]) 6333 6334 num= number to decompose 6335 minpot= minumum potence to decompose 6336 >>> significant_decomposition(np.pi,5) 6337 7, [0.0, -1.0, -2.0, -3.0, -4.0, -5.0, -6.0], [3, 1, 4, 1, 5, 9, 2] 6338 """ 6339 fname = 'significant_decomposition' 6340 6341 potencies = [] 6342 potval = [] 6343 6344 anum = np.abs(num) 6345 diff = anum*1. 6346 iipot = 1 6347 while diff > 0.: 6348 pot = np.floor(np.log10(diff)) 6349 potv = np.int(diff/(10.**pot)) 6350 # print 'Lluis:',np.log10(diff), pot,':',10.**pot,':',diff/(10.**pot),'.',potv,'.',potv*10.**pot,diff 6351 diff = diff - potv*10.**pot 6352 potencies.append(pot) 6353 potval.append(potv) 6354 if pot < -minpot: break 6355 iipot = iipot + 1 6356 6357 return iipot, potencies, potval
Note: See TracChangeset
for help on using the changeset viewer.