File: nasa_daymet_test.py

package info (click to toggle)
python-ulmo 0.8.5%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,056 kB
  • sloc: python: 6,550; makefile: 144
file content (46 lines) | stat: -rw-r--r-- 1,721 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import numpy as np
import pandas

from ulmo import util
from ulmo.nasa import daymet

import test_util

def test_get_variables():
    variables = daymet.get_variables()
    assert type(variables) == dict
    for var in ['srad', 'tmin', 'tmax', 'swe', 'vp', 'dayl', 'prcp']:
        assert var in variables.keys()


test_pixels = [
    {'latitude':35.0,
     'longitude':-110.0,
     'variables':['tmax', 'tmin', 'prcp'],
     'years':[1980]},
    {'latitude':28.5,
     'longitude':-81.5,
     'variables':['srad', 'tmin', 'tmax', 'swe', 'vp', 'dayl', 'prcp'],
     'years':[2014, 2015]},]

def test_get_data_as_dataframes():
    for test_pixel_kwargs in test_pixels:
        pixel_data = daymet.get_daymet_singlepixel(**test_pixel_kwargs)
        assert pixel_data.shape == (len(test_pixel_kwargs['years'])*365, len(test_pixel_kwargs['variables'])+2)
        assert pixel_data.iloc[0].year == test_pixel_kwargs['years'][0]
        assert pixel_data.iloc[-1].year == test_pixel_kwargs['years'][-1]
        for var in test_pixel_kwargs['variables']:
            assert var in pixel_data.keys()


def test_get_data_as_dicts():
    for test_pixel_kwargs in test_pixels:
        test_pixel_kwargs['as_dataframe'] = False
        pixel_data = daymet.get_daymet_singlepixel(**test_pixel_kwargs)
        assert len(pixel_data.keys()) ==  len(test_pixel_kwargs['variables'])
        assert "{}-01-01".format(test_pixel_kwargs['years'][0]) in pixel_data[test_pixel_kwargs['variables'][0]].keys()
        assert "{}-12-30".format(test_pixel_kwargs['years'][-1]) in pixel_data[test_pixel_kwargs['variables'][0]].keys()
        for var in test_pixel_kwargs['variables']:
            assert var in pixel_data.keys()