plot.py 文件源码

python
阅读 50 收藏 0 点赞 0 评论 0

项目:WRF-Projects 作者: aerler 项目源码 文件源码
def stationInfo(stnds, varname, name, titlestr=None, alttitle=None, lflatten=False, lmon=False,):
  ''' helper to generate an axes title with station info '''
  if stnds.hasAxis('station'): nstn = len(stnds.axes['station']) # number of stations        
  else: nstn = 1 # single station
  if stnds.name[:3].lower() == 'obs' and varname in stnds:
      ec = stnds[varname] # some variables are not present everywhere
      if ec.hasAxis('time') and ec.time.units[:3].lower() == 'mon': units = 'mon.'
      elif ec.hasAxis('year') and ec.year.units.lower() == 'year': units = 'yrs.'
      else: units = 'mon.' if lmon else 'yrs.'
      mask = ec.data_array.mask if isinstance(ec.data_array,np.ma.MaskedArray) else np.isnan(ec.data_array) 
      if lflatten: rec_len = (ec.data_array.size - mask.sum()) # valid years in obs/EC
      else: rec_len = int(np.round(ec.data_array.shape[-1] - mask.sum(axis=-1).mean())) # valid years in obs/EC
      if titlestr: axtitle = titlestr.format(name,nstn,rec_len) # axes label
      else: axtitle = "{:s} (#{:d}, {:d} {:s})".format(name,nstn,rec_len,units) # axes label
  else:
      if alttitle: axtitle = alttitle.format(name,nstn) # axes label
      elif titlestr: axtitle = titlestr.format(name,nstn) # axes label
      else: axtitle = "{:s} (#{:d}, WRF only)".format(name,nstn) # axes label
  return axtitle

# function to compute some statistics and print them
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号