Skip to content
Snippets Groups Projects
Commit 97212be8 authored by rink's avatar rink
Browse files

use numpy logical funcs to remove inefficient for loop counter

parent d23adae6
No related branches found
No related tags found
No related merge requests found
import os
import numpy
# Import CODA definitions
# Older dates
......@@ -8,7 +9,7 @@ os.putenv('CODA_DEFINITION', '/data/Personal/stevew/AEOLUS/CODA/share/coda/defin
# Newer dates
#os.putenv('CODA_DEFINITION', '/home/huiliu/CODA/share/coda/definitions/AEOLUS-20190611.codadef')
from numpy import vstack, zeros, linspace, where
from numpy import vstack, zeros, linspace, where, logical_and
import sys
# Tell python scripts where to find CODA (next import coda) --------
......@@ -161,29 +162,20 @@ for n, filename in enumerate(files):
min = timestep.strftime('%M')
sec = timestep.strftime('%S') #klukens
totlevs = 0
for m in range(nlevm):
if rid[i, m] > 0:
if mie_err[i, m] < wind_err_thresh:
if mie_valid[i, m] > 0.0:
totlevs = totlevs + 1
totlevs = numpy.sum(logical_and(mie_valid[i, :] > 0, logical_and(rid[i, :] > 0, mie_err[i, :] < wind_err_thresh)))
if totlevs > 0:
if typ_id[i] == 1:
# cloudy type Mie winds
# print >>f60, yyyy, mm, dd, hh, min, sec, '%7.2f %7.2f %2i' %(float(lonrid[i]), float(latrid[i]), int(totlevs))
print(yyyy, mm, dd, hh, min, sec, '%7.2f %7.2f %2i' %(float(lonrid[i]), float(latrid[i]), int(totlevs)), file=f60)
print(yyyy, mm, dd, hh, min, sec, '%7.2f %7.2f %2i' % (float(lonrid[i]), float(latrid[i]), int(totlevs)), file=f60)
for m in range(nlevm):
# keep consistent with the lines of totlevs above !!!
if rid[i, m] > 0:
if mie_err[i, m] < wind_err_thresh:
if mie_valid[i, m] > 0.0:
# print >>f60, '%2i %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f' %(int(m+1), \
# mie_hhh[i,m], mie_hht[i,m], mie_hhb[i,m], mie_err[i,m], \
# mie_azimuth[i,m], mie_wind[i,m], mie_length[i,m])
print('%2i %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f' %(int(m+1),
print('%2i %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f' % (int(m+1),
mie_hhh[i,m], mie_hht[i,m], mie_hhb[i,m], mie_err[i,m],
mie_azimuth[i,m], mie_wind[i,m], mie_length[i,m]), file=f60)
......@@ -275,25 +267,21 @@ for n, filename in enumerate(files):
if ray_valid[i, m] > 0.0:
totlevs = totlevs + 1
totlevs = numpy.sum(logical_and(ray_valid[i, :] > 0, logical_and(rid[i, :] > 0, ray_err[i, :] < wind_err_thresh)))
# for clear sky Rayleigh winds ----------
if totlevs > 0:
if typ_id[i] == 2:
# print >>f66, yyyy, mm, dd, hh, min, sec, '%7.2f %7.2f %2i' %(float(lonrid[i]), float(latrid[i]), int(totlevs))
print(yyyy, mm, dd, hh, min, sec, '%7.2f %7.2f %2i' %(float(lonrid[i]), float(latrid[i]), int(totlevs)), file=f66)
print(yyyy, mm, dd, hh, min, sec, '%7.2f %7.2f %2i' % (float(lonrid[i]), float(latrid[i]), int(totlevs)), file=f66)
for m in range(nlev):
# keep consistent with the lines of totlevs above !!!
if rid[i, m] > 0:
if ray_err[i,m] < wind_err_thresh:
if ray_valid[i, m] > 0.0:
# print >>f66, '%2i %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f' \
# %(int(m+1), ray_hhh[i,m], ray_hht[i,m], ray_hhb[i,m],\
# ray_err[i,m], ray_azimuth[i,m], ray_wind[i,m],\
# ref_temp[i,m]*0.01, ref_pppp[i,m], wind_sens_T[i,m],\
# wind_sens_P[i,m], ray_sratio [i,m], ray_length[i,m])
print('%2i %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f %7.2f'
%(int(m+1), ray_hhh[i,m], ray_hht[i,m], ray_hhb[i,m],
% (int(m+1), ray_hhh[i,m], ray_hht[i,m], ray_hhb[i,m],
ray_err[i,m], ray_azimuth[i,m], ray_wind[i,m],
ref_temp[i,m]*0.01, ref_pppp[i,m], wind_sens_T[i,m],
wind_sens_P[i,m], ray_sratio [i,m], ray_length[i,m]), file=f66)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment