4
\ begingroup美元

我使用源计算每小时的紫外线指数在一天(从早7点至晚7点)。和使用pysolar模块的太阳天顶角。下面的方程是:

从pysolar。太阳从数学进口因为进口进口* datetime dobj = datetime.datetime(0) 1 2017年,7日,8日sza =浮动(90)-get_altitude (42.57952, 1.65362, dobj)臭氧= 300 raw_uvi = 12.50 *战俘(cos (sza), 2.42) *战俘(浮动(臭氧)/ 300、-1.23)打印(raw_uvi)

输出:0.4850283419701262 + 1.8890606693266203 j

我的问题是当cos (sza) -它会给一个复数作为输出,我如何处理这个问题?另外,7点钟紫外线指数的结果9.232276464148745这是错误的。我遗漏了什么东西?或者我的解释算法是错误的?

\ endgroup美元

    1回答1

    2
    \ begingroup美元

    这只是解决标题问题

    你是对的,在某种程度上。我建议你设置一个if语句等

    如果因为(sza) > = 0: raw_uvi = 12.50 *战俘(cos (sza), 2.42) *战俘(浮动(臭氧)/ 300、-1.23)其他:raw_uvi = 0.0

    这使它这样,当太阳在地平线之下,太阳不是“收回”的能量

    \ endgroup美元

      你的答案

      通过点击“发布你的答案”,你同意我们服务条款并承认您已阅读并理解我们的隐私政策的行为准则

      不是你要找的答案?浏览其他问题标记问你自己的问题