Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [applmgr] dev-simeng2aws01:~/SimEngAPI> ./manage.py test -v3 simengapi_app.tests.test_layouts_requests_simulate
- Creating test database for alias 'default' ('test_simengapi')...
- Operations to perform:
- Synchronize unmigrated apps: staticfiles, messages, rest_framework_swagger, rest_framework, storages, crispy_forms
- Apply all migrations: admin, contenttypes, simengapi_app, auth, sessions
- Synchronizing apps without migrations:
- Running pre-migrate handlers for application admin
- Running pre-migrate handlers for application auth
- Running pre-migrate handlers for application contenttypes
- Running pre-migrate handlers for application sessions
- Running pre-migrate handlers for application simengapi_app
- Running pre-migrate handlers for application rest_framework
- Running pre-migrate handlers for application rest_framework_swagger
- Running pre-migrate handlers for application crispy_forms
- Creating tables...
- Running deferred SQL...
- Installing custom SQL...
- Loading 'initial_data' fixtures...
- Checking '/home/applmgr/SimEngAPI' for fixtures...
- No fixture 'initial_data' in '/home/applmgr/SimEngAPI'.
- Loading 'initial_data' fixtures...
- Checking '/home/applmgr/SimEngAPI' for fixtures...
- No fixture 'initial_data' in '/home/applmgr/SimEngAPI'.
- Loading 'initial_data' fixtures...
- Checking '/home/applmgr/SimEngAPI' for fixtures...
- No fixture 'initial_data' in '/home/applmgr/SimEngAPI'.
- Loading 'initial_data' fixtures...
- Checking '/home/applmgr/SimEngAPI' for fixtures...
- No fixture 'initial_data' in '/home/applmgr/SimEngAPI'.
- Loading 'initial_data' fixtures...
- Checking '/home/applmgr/SimEngAPI' for fixtures...
- No fixture 'initial_data' in '/home/applmgr/SimEngAPI'.
- Loading 'initial_data' fixtures...
- Checking '/home/applmgr/SimEngAPI' for fixtures...
- No fixture 'initial_data' in '/home/applmgr/SimEngAPI'.
- Installed 0 object(s) from 0 fixture(s)
- Installed 0 object(s) from 0 fixture(s)
- Installed 0 object(s) from 0 fixture(s)
- Installed 0 object(s) from 0 fixture(s)
- Installed 0 object(s) from 0 fixture(s)
- Installed 0 object(s) from 0 fixture(s)
- Running migrations:
- Rendering model states... DONE (2.127s)
- Applying contenttypes.0001_initial... OK (0.067s)
- Applying auth.0001_initial... OK (0.139s)
- Applying admin.0001_initial... OK (0.045s)
- Applying contenttypes.0002_remove_content_type_name... OK (0.051s)
- Applying auth.0002_alter_permission_name_max_length... OK (0.027s)
- Applying auth.0003_alter_user_email_max_length... OK (0.020s)
- Applying auth.0004_alter_user_username_opts... OK (0.018s)
- Applying auth.0005_alter_user_last_login_null... OK (0.019s)
- Applying auth.0006_require_contenttypes_0002... OK (0.004s)
- Applying sessions.0001_initial... OK (0.022s)
- Applying simengapi_app.0001_initial... OK (0.387s)
- Applying simengapi_app.0002_auto_20160405_2218... OK (0.029s)
- Applying simengapi_app.0003_auto_20160411_1943... OK (0.252s)
- Applying simengapi_app.0004_auto_20160413_2220... OK (0.370s)
- Applying simengapi_app.0005_auto_20160421_2153... OK (0.177s)
- Applying simengapi_app.0006_auto_20160426_1744... OK (0.339s)
- Applying simengapi_app.0007_mountingsystem... OK (0.038s)
- Applying simengapi_app.0008_auto_20160428_2230... OK (0.368s)
- Applying simengapi_app.0009_auto_20160503_2017... OK (0.097s)
- Applying simengapi_app.0010_auto_20160505_2042... OK (0.129s)
- Applying simengapi_app.0011_auto_20160505_2045... OK (0.048s)
- Applying simengapi_app.0012_auto_20160526_1613... OK (0.269s)
- Applying simengapi_app.0013_auto_20160607_2003... OK (0.033s)
- Applying simengapi_app.0014_auto_20160621_1920... OK (0.952s)
- Applying simengapi_app.0015_auto_20160722_2229... OK (0.211s)
- Applying simengapi_app.0016_auto_20160727_2155... OK (0.399s)
- Applying simengapi_app.0017_auto_20160830_1257... OK (0.082s)
- Applying simengapi_app.0018_auto_20160913_2133... OK (0.194s)
- Applying simengapi_app.0019_auto_20160921_1524... OK (0.130s)
- Applying simengapi_app.0020_auto_20160921_1802... OK (0.101s)
- Applying simengapi_app.0021_mountingsystem_gcrlist... OK (0.047s)
- Running post-migrate handlers for application admin
- Adding permission 'admin | log entry | Can add log entry'
- Adding permission 'admin | log entry | Can change log entry'
- Adding permission 'admin | log entry | Can delete log entry'
- Running post-migrate handlers for application auth
- Adding permission 'auth | permission | Can add permission'
- Adding permission 'auth | permission | Can change permission'
- Adding permission 'auth | permission | Can delete permission'
- Adding permission 'auth | group | Can add group'
- Adding permission 'auth | group | Can change group'
- Adding permission 'auth | group | Can delete group'
- Adding permission 'auth | user | Can add user'
- Adding permission 'auth | user | Can change user'
- Adding permission 'auth | user | Can delete user'
- Running post-migrate handlers for application contenttypes
- Adding permission 'contenttypes | content type | Can add content type'
- Adding permission 'contenttypes | content type | Can change content type'
- Adding permission 'contenttypes | content type | Can delete content type'
- Running post-migrate handlers for application sessions
- Adding permission 'sessions | session | Can add session'
- Adding permission 'sessions | session | Can change session'
- Adding permission 'sessions | session | Can delete session'
- Running post-migrate handlers for application simengapi_app
- Adding permission 'simengapi_app | Manufacturer | Can add Manufacturer'
- Adding permission 'simengapi_app | Manufacturer | Can change Manufacturer'
- Adding permission 'simengapi_app | Manufacturer | Can delete Manufacturer'
- Adding permission 'simengapi_app | Module | Can add Module'
- Adding permission 'simengapi_app | Module | Can change Module'
- Adding permission 'simengapi_app | Module | Can delete Module'
- Adding permission 'simengapi_app | Inverter | Can add Inverter'
- Adding permission 'simengapi_app | Inverter | Can change Inverter'
- Adding permission 'simengapi_app | Inverter | Can delete Inverter'
- Adding permission 'simengapi_app | request | Can add request'
- Adding permission 'simengapi_app | request | Can change request'
- Adding permission 'simengapi_app | request | Can delete request'
- Adding permission 'simengapi_app | MountingSystem | Can add MountingSystem'
- Adding permission 'simengapi_app | MountingSystem | Can change MountingSystem'
- Adding permission 'simengapi_app | MountingSystem | Can delete MountingSystem'
- Adding permission 'simengapi_app | inverter list constraint | Can add inverter list constraint'
- Adding permission 'simengapi_app | inverter list constraint | Can change inverter list constraint'
- Adding permission 'simengapi_app | inverter list constraint | Can delete inverter list constraint'
- Adding permission 'simengapi_app | Assembly | Can add Assembly'
- Adding permission 'simengapi_app | Assembly | Can change Assembly'
- Adding permission 'simengapi_app | Assembly | Can delete Assembly'
- Adding permission 'simengapi_app | BalanceofSystemLossScheme | Can add BalanceofSystemLossScheme'
- Adding permission 'simengapi_app | BalanceofSystemLossScheme | Can change BalanceofSystemLossScheme'
- Adding permission 'simengapi_app | BalanceofSystemLossScheme | Can delete BalanceofSystemLossScheme'
- Adding permission 'simengapi_app | BalanceofSystemLossSchemeType | Can add BalanceofSystemLossSchemeType'
- Adding permission 'simengapi_app | BalanceofSystemLossSchemeType | Can change BalanceofSystemLossSchemeType'
- Adding permission 'simengapi_app | BalanceofSystemLossSchemeType | Can delete BalanceofSystemLossSchemeType'
- Adding permission 'simengapi_app | MountingSystemBOSScheme | Can add MountingSystemBOSScheme'
- Adding permission 'simengapi_app | MountingSystemBOSScheme | Can change MountingSystemBOSScheme'
- Adding permission 'simengapi_app | MountingSystemBOSScheme | Can delete MountingSystemBOSScheme'
- Adding permission 'simengapi_app | weather | Can add weather'
- Adding permission 'simengapi_app | weather | Can change weather'
- Adding permission 'simengapi_app | weather | Can delete weather'
- Adding permission 'simengapi_app | linke turbidity | Can add linke turbidity'
- Adding permission 'simengapi_app | linke turbidity | Can change linke turbidity'
- Adding permission 'simengapi_app | linke turbidity | Can delete linke turbidity'
- Adding permission 'simengapi_app | Rain and Snow Data | Can add Rain and Snow Data'
- Adding permission 'simengapi_app | Rain and Snow Data | Can change Rain and Snow Data'
- Adding permission 'simengapi_app | Rain and Snow Data | Can delete Rain and Snow Data'
- Adding permission 'simengapi_app | Simulation | Can add Simulation'
- Adding permission 'simengapi_app | Simulation | Can change Simulation'
- Adding permission 'simengapi_app | Simulation | Can delete Simulation'
- Running post-migrate handlers for application rest_framework
- Running post-migrate handlers for application rest_framework_swagger
- Running post-migrate handlers for application crispy_forms
- [DEBUG] 2016-10-08 06:01:47,149 (MainProcess) (MainThread)
- > mfg #10:
- {u'parent_organization_id': None, u'manufacturer_id': 10, u'display_name': u'SunPower', u'full_name': u'SunPower Corporation'}
- [DEBUG] 2016-10-08 06:01:47,153 (MainProcess) (MainThread)
- > inverter #899:
- {u'elevationAtPacoDerate': 0.0, u'MPPTHi': 600.0, u'PacoElevationDerate': 0.0, u'modelName': u'SB5000TL-US-22-240', u'Pso': 21.6, u'vintage': datetime.date(2013, 1, 1), u'Pnt': 1.0, u'TambMax': 60.0, u'Idcmax': 24.0, u'Pdco': 5186.1, u'C3': -0.0004522382, u'C2': 0.0010235466, u'C1': -5.32e-05, u'C0': -3.57e-06, u'DataSource': u'MFG', u'MPPTLow': 125.0, u'isInverterElevationDerated': False, u'Vdcmax': 600.0, u'Vdco': 400.0, u'Paco': 5000.0, u'manufacturer': <Manufacturer: SunPower Corporation>, u'TambMin': -40.0, u'alias': u'SB5000TL-US-22-240', u'TambPacoDerate': [0.0, 0.0], u'PacoTempDerate': [0.0, 0.0], u'Vaco': 240.0, u'numberMPPTChannels': 2, u'pvsim_id': 899, u'isInverterTemperatureDerated': False}
- [DEBUG] 2016-10-08 06:01:47,155 (MainProcess) (MainThread)
- > created inverter #899:
- <PVInverter: SunPower Corporation SB5000TL-US-22-240 [240.0] (2013)>
- [DEBUG] 2016-10-08 06:01:47,155 (MainProcess) (MainThread)
- > module #587:
- {u'aIsc': 0.000395, u'A0': 0.957, u'shortTermDegOffset': 0.0, u'Diode0': 0.0, u'aModuleTempCoefficient': -3.46, u'Ixo': 6.2995, u'degradationF': 2300.0, u'mBVmp': 0.0, u'mBVoc': 0.0, u'RthB': 0.0, u'aImp': -0.00023, u'height': 1.559, u'flashAdjustmentOffset': 0.0, u'Ixxo': 4.4907, u'degradationRateLowerLimit': 0.0025, u'SCells': 96, u'effectiveCellArea': 0.0, u'degradationD0': 0.0003, u'LID_rate': 0.0, u'BeamAOI3': -2.175e-06, u'cells_per_wafer': 1, u'BeamAOI1': -0.000213, u'BeamAOI0': 1.0002, u'BeamAOI4': 5.2796e-08, u'BeamAOI5': -4.4351e-10, u'RthD': 0.0, u'modelName': u'SPR-E20-327', u'degradationD1': 0.0014, u'bModuleTempCoefficient': -0.07599, u'stringsPerModule': 1, u'vintage': datetime.date(2013, 1, 1), u'degradationC0': -1.0, u'A1': 0.0402, u'width': 1.046, u'A3': 0.0007141, u'A2': -0.008515, u'A4': -2.132e-05, u'C3': -7.224183, u'C2': 0.218474, u'Isco': 6.5623, u'BVmpo': -0.1938, u'C7': -0.0869, u'C6': 1.0869, u'C5': 0.0109, u'C4': 0.9891, u'vintageEstimated': False, u'parent': None, u'Voco': 64.9695, u'RthC': 0.0, u'BVoco': -0.186, u'diffuseFraction': 1.0, u'RthA': 0.0, u'Vmpo': 54.2828, u'Impo': 6.1345, u'manufacturer': <Manufacturer: SunPower Corporation>, u'DeltaTCell': 3.0, u'C0': 1.0115, u'BeamAOI2': 3.63416e-05, u'nameplate': 327.0, u'Diode5': 0.0, u'Diode4': 0.0, u'Diode7': 0.0, u'Diode6': 0.0, u'Diode1': 0.0, u'flash_test_ratio': 1.0, u'Diode3': 0.0, u'nDF': 1.011, u'alias': u'SPR-E20-327', u'DataSource': u'EST', u'Diode2': 0.0, u'cellTech': u'c-Si', u'C1': -0.0115, u'pvsim_id': 587}
- [DEBUG] 2016-10-08 06:01:47,157 (MainProcess) (MainThread)
- > created pvmodule #587:
- <PVModule: SunPower Corporation SPR-E20-327 (2013)>
- test_layout_data_serializer (simengapi_app.tests.test_layouts_requests_simulate.SerializerTest) ... [DEBUG] 2016-10-08 06:01:47,158 (MainProcess) (MainThread)
- > serializer:
- LayoutDataSerializer(data={u'CustomMountingSystem': None, u'HeightAboveGround': 4, u'ModuleCountPerString': 8, u'UseShadingCalculation': False, u'AxisTiltAngle': 0, u'IsOverrideLID': False, u'SiteShadingLoss': 0, u'ModuleLID': None, u'TrackerMisalignmentLoss': 0, u'IsSmartMount': False, u'MonthlyShading': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], u'MountingSurfaceSlope': 25, u'GCR': {u'GCRNS': 1, u'GCREW': 1}, u'ModuleOrientation': u'Portrait', u'UseBacktracking': False, u'IsOverrideFlashRating': False, u'ModuleFlashRating': None, u'PVModuleId': 587, u'SystemAzimuth': 0, u'FieldLayout': u'Rows', u'GroundSlopeAzimuth': 0, u'ParallelStringCount': 2, u'MountingSystemId': 1, u'StandOff': 0.0762}):
- MountingSurfaceSlope = FloatField(label='Mounting Surface Slope [degrees]', max_value=90, min_value=-90)
- SystemAzimuth = FloatField(help_text='Relative to south, east is positive, west is negative.', label='System Azimuth [degrees]', max_value=180, min_value=-180)
- GroundSlopeAzimuth = FloatField(help_text='Relative to south, east is positive, west is negative.', label='Ground Slope Azimuth [degrees]', max_value=180, min_value=-180)
- HeightAboveGround = FloatField(label='Height Above Ground [m]', min_value=0)
- GCR = GCRDataSerializer(default={'GCRNS': 0, 'GCREW': 0}, label='GCR', required=False):
- GCREW = FloatField(help_text='Ground coverage ratio in East-West direction as fraction', label='GCREW', max_value=1, min_value=0)
- GCRNS = FloatField(help_text='Ground coverage ratio in North-South direction as fraction', label='GCRNS', max_value=1, min_value=0)
- FieldLayout = ChoiceField(choices=['Soldier', 'Rows', 'Hexagonal'], default='Rows', label='Field Layout', required=False)
- ModuleOrientation = ChoiceField(choices=['Landscape', 'Portrait'], default='Portrait', label='Module Orientation', required=False)
- ModuleCountPerString = IntegerField(label='Module Count Per String', min_value=0)
- ParallelStringCount = IntegerField(label='Parallel String Count', min_value=0)
- PVModuleId = PrimaryKeyRelatedField(label='PV Module ID', queryset=[<PVModule: SunPower Corporation SPR-E20-327 (2013)>])
- MountingSystemId = ChoiceField(choices=((1, 'Residential Retrofit'), (2, 'Residential SunTile'), (3, 'PowerGuard'), (4, 'T10'), (5, 'T5'), (6, 'T0 Tracker'), (7, 'T20 V2.1'), (8, 'T20 V2.2'), (9, 'T20 V2.3'), (10, 'Custom 2-Axis Tracker'), (11, 'Custom Stationary Fixed Tilt (Ground)'), (12, 'Custom Single-Axis Tracker'), (13, 'Custom Polar-Axis Tracker'), (14, 'Custom Stationary Fixed Tilt (Roof)'), (15, 'Oasis C1'), (16, 'ACPV v1'), (17, 'C7'), (18, 'ACPV v2'), (19, 'BIPV'), (20, 'S10'), (21, 'D10')), label='Mounting System ID')
- AxisTiltAngle = FloatField(label='Axis Tilt Angle [degrees]', max_value=180, min_value=-180)
- IsSmartMount = BooleanField(label='Smart Mount')
- StandOff = FloatField(label='Standoff [m]')
- UseBacktracking = BooleanField(label='Backtracking')
- UseShadingCalculation = BooleanField(label='Calculate Shading')
- MonthlyShading = CustomListField(child=FloatField(max_value=1, min_value=0), label='Monthly Shading', validators=[<django.core.validators.MinLengthValidator object>, <django.core.validators.MaxLengthValidator object>])
- CustomMountingSystem = CustomMountingSystemDataSerializer(allow_null=True, default={'ModuleTiltMax': 0, 'AxisRotationMin': 0, 'ModuleTiltMin': 0, 'AxisRotationMax': 0}, label='Custom Mounting System', required=False):
- ModuleTiltMin = FloatField(label='Minimum Module Tilt [degrees]', max_value=0, min_value=-180)
- ModuleTiltMax = FloatField(label='Maximum Module Tilt [degrees]', max_value=180, min_value=0)
- AxisRotationMin = FloatField(label='Minimum Axis Rotation [degrees]', max_value=0, min_value=-180)
- AxisRotationMax = FloatField(label='Maximum Axis Rotation [degrees]', max_value=180, min_value=0)
- TrackerMisalignmentLoss = FloatField(label='Tracker Misalignment Loss', max_value=1, min_value=0)
- SiteShadingLoss = FloatField(label='Site Shading Loss', max_value=1, min_value=0)
- IsOverrideFlashRating = BooleanField(label='Override Flash Rating')
- ModuleFlashRating = FloatField(allow_null=True, default=0, label='Module Flash Rating [W]', min_value=0, required=False)
- IsOverrideLID = BooleanField(label='Override Module LID')
- ModuleLID = FloatField(allow_null=True, default=0, label='Module LID', min_value=0, required=False)
- [DEBUG] 2016-10-08 06:01:47,178 (MainProcess) (MainThread)
- > is valid: True
- [DEBUG] 2016-10-08 06:01:47,178 (MainProcess) (MainThread)
- > errors:
- {}
- [DEBUG] 2016-10-08 06:01:47,178 (MainProcess) (MainThread)
- > field: u'SiteShadingLoss'
- [DEBUG] 2016-10-08 06:01:47,178 (MainProcess) (MainThread)
- > field: u'HeightAboveGround'
- [DEBUG] 2016-10-08 06:01:47,178 (MainProcess) (MainThread)
- > field: u'ModuleCountPerString'
- [DEBUG] 2016-10-08 06:01:47,178 (MainProcess) (MainThread)
- > field: u'FieldLayout'
- [DEBUG] 2016-10-08 06:01:47,179 (MainProcess) (MainThread)
- > field: u'AxisTiltAngle'
- [DEBUG] 2016-10-08 06:01:47,179 (MainProcess) (MainThread)
- > field: u'IsOverrideLID'
- [DEBUG] 2016-10-08 06:01:47,179 (MainProcess) (MainThread)
- > field: u'CustomMountingSystem'
- [DEBUG] 2016-10-08 06:01:47,179 (MainProcess) (MainThread)
- > field: u'ModuleLID'
- [DEBUG] 2016-10-08 06:01:47,179 (MainProcess) (MainThread)
- > field: u'TrackerMisalignmentLoss'
- [DEBUG] 2016-10-08 06:01:47,179 (MainProcess) (MainThread)
- > field: u'IsSmartMount'
- [DEBUG] 2016-10-08 06:01:47,179 (MainProcess) (MainThread)
- > field: u'MonthlyShading'
- [DEBUG] 2016-10-08 06:01:47,179 (MainProcess) (MainThread)
- > field: u'MountingSurfaceSlope'
- [DEBUG] 2016-10-08 06:01:47,179 (MainProcess) (MainThread)
- > field: u'GCR'
- [DEBUG] 2016-10-08 06:01:47,179 (MainProcess) (MainThread)
- > class: <class 'simengapi_app.serializers.GCRData'>
- [DEBUG] 2016-10-08 06:01:47,180 (MainProcess) (MainThread)
- > field: u'GCRNS'
- [DEBUG] 2016-10-08 06:01:47,180 (MainProcess) (MainThread)
- > field: u'GCREW'
- [DEBUG] 2016-10-08 06:01:47,180 (MainProcess) (MainThread)
- > class attribute values:
- <simengapi_app.serializers.GCRData object at 0x6461c10>
- [DEBUG] 2016-10-08 06:01:47,180 (MainProcess) (MainThread)
- > field: u'ModuleOrientation'
- [DEBUG] 2016-10-08 06:01:47,180 (MainProcess) (MainThread)
- > field: u'UseBacktracking'
- [DEBUG] 2016-10-08 06:01:47,180 (MainProcess) (MainThread)
- > field: u'IsOverrideFlashRating'
- [DEBUG] 2016-10-08 06:01:47,180 (MainProcess) (MainThread)
- > field: u'ModuleFlashRating'
- [DEBUG] 2016-10-08 06:01:47,180 (MainProcess) (MainThread)
- > field: u'PVModuleId'
- [DEBUG] 2016-10-08 06:01:47,180 (MainProcess) (MainThread)
- > field: u'SystemAzimuth'
- [DEBUG] 2016-10-08 06:01:47,180 (MainProcess) (MainThread)
- > field: u'UseShadingCalculation'
- [DEBUG] 2016-10-08 06:01:47,181 (MainProcess) (MainThread)
- > field: u'GroundSlopeAzimuth'
- [DEBUG] 2016-10-08 06:01:47,181 (MainProcess) (MainThread)
- > field: u'ParallelStringCount'
- [DEBUG] 2016-10-08 06:01:47,181 (MainProcess) (MainThread)
- > field: u'MountingSystemId'
- [DEBUG] 2016-10-08 06:01:47,181 (MainProcess) (MainThread)
- > field: u'StandOff'
- [DEBUG] 2016-10-08 06:01:47,181 (MainProcess) (MainThread)
- > layout data:
- {'SiteShadingLoss': 0.0, 'HeightAboveGround': 4.0, 'ModuleCountPerString': 8, 'FieldLayout': 'Rows', 'AxisTiltAngle': 0.0, 'IsOverrideLID': False, 'CustomMountingSystem': None, 'ModuleLID': None, 'TrackerMisalignmentLoss': 0.0, 'IsSmartMount': False, 'MonthlyShading': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], 'MountingSurfaceSlope': 25.0, 'GCR': OrderedDict([('GCREW', 1.0), ('GCRNS', 1.0)]), 'ModuleOrientation': 'Portrait', 'UseBacktracking': False, 'IsOverrideFlashRating': False, 'ModuleFlashRating': None, 'PVModuleId': 587, 'SystemAzimuth': 0.0, 'UseShadingCalculation': False, 'GroundSlopeAzimuth': 0.0, 'ParallelStringCount': 2, 'MountingSystemId': 1, 'StandOff': 0.0762}
- [DEBUG] 2016-10-08 06:01:47,182 (MainProcess) (MainThread)
- > simulate obj:
- <simengapi_app.serializers.LayoutData object at 0x44f8ad0>
- [DEBUG] 2016-10-08 06:01:47,182 (MainProcess) (MainThread)
- > serializer:
- LayoutDataSerializer(<simengapi_app.serializers.LayoutData object>):
- MountingSurfaceSlope = FloatField(label='Mounting Surface Slope [degrees]', max_value=90, min_value=-90)
- SystemAzimuth = FloatField(help_text='Relative to south, east is positive, west is negative.', label='System Azimuth [degrees]', max_value=180, min_value=-180)
- GroundSlopeAzimuth = FloatField(help_text='Relative to south, east is positive, west is negative.', label='Ground Slope Azimuth [degrees]', max_value=180, min_value=-180)
- HeightAboveGround = FloatField(label='Height Above Ground [m]', min_value=0)
- GCR = GCRDataSerializer(default={'GCRNS': 0, 'GCREW': 0}, label='GCR', required=False):
- GCREW = FloatField(help_text='Ground coverage ratio in East-West direction as fraction', label='GCREW', max_value=1, min_value=0)
- GCRNS = FloatField(help_text='Ground coverage ratio in North-South direction as fraction', label='GCRNS', max_value=1, min_value=0)
- FieldLayout = ChoiceField(choices=['Soldier', 'Rows', 'Hexagonal'], default='Rows', label='Field Layout', required=False)
- ModuleOrientation = ChoiceField(choices=['Landscape', 'Portrait'], default='Portrait', label='Module Orientation', required=False)
- ModuleCountPerString = IntegerField(label='Module Count Per String', min_value=0)
- ParallelStringCount = IntegerField(label='Parallel String Count', min_value=0)
- PVModuleId = PrimaryKeyRelatedField(label='PV Module ID', queryset=[<PVModule: SunPower Corporation SPR-E20-327 (2013)>])
- MountingSystemId = ChoiceField(choices=((1, 'Residential Retrofit'), (2, 'Residential SunTile'), (3, 'PowerGuard'), (4, 'T10'), (5, 'T5'), (6, 'T0 Tracker'), (7, 'T20 V2.1'), (8, 'T20 V2.2'), (9, 'T20 V2.3'), (10, 'Custom 2-Axis Tracker'), (11, 'Custom Stationary Fixed Tilt (Ground)'), (12, 'Custom Single-Axis Tracker'), (13, 'Custom Polar-Axis Tracker'), (14, 'Custom Stationary Fixed Tilt (Roof)'), (15, 'Oasis C1'), (16, 'ACPV v1'), (17, 'C7'), (18, 'ACPV v2'), (19, 'BIPV'), (20, 'S10'), (21, 'D10')), label='Mounting System ID')
- AxisTiltAngle = FloatField(label='Axis Tilt Angle [degrees]', max_value=180, min_value=-180)
- IsSmartMount = BooleanField(label='Smart Mount')
- StandOff = FloatField(label='Standoff [m]')
- UseBacktracking = BooleanField(label='Backtracking')
- UseShadingCalculation = BooleanField(label='Calculate Shading')
- MonthlyShading = CustomListField(child=FloatField(max_value=1, min_value=0), label='Monthly Shading', validators=[<django.core.validators.MinLengthValidator object>, <django.core.validators.MaxLengthValidator object>])
- CustomMountingSystem = CustomMountingSystemDataSerializer(allow_null=True, default={'ModuleTiltMax': 0, 'AxisRotationMin': 0, 'ModuleTiltMin': 0, 'AxisRotationMax': 0}, label='Custom Mounting System', required=False):
- ModuleTiltMin = FloatField(label='Minimum Module Tilt [degrees]', max_value=0, min_value=-180)
- ModuleTiltMax = FloatField(label='Maximum Module Tilt [degrees]', max_value=180, min_value=0)
- AxisRotationMin = FloatField(label='Minimum Axis Rotation [degrees]', max_value=0, min_value=-180)
- AxisRotationMax = FloatField(label='Maximum Axis Rotation [degrees]', max_value=180, min_value=0)
- TrackerMisalignmentLoss = FloatField(label='Tracker Misalignment Loss', max_value=1, min_value=0)
- SiteShadingLoss = FloatField(label='Site Shading Loss', max_value=1, min_value=0)
- IsOverrideFlashRating = BooleanField(label='Override Flash Rating')
- ModuleFlashRating = FloatField(allow_null=True, default=0, label='Module Flash Rating [W]', min_value=0, required=False)
- IsOverrideLID = BooleanField(label='Override Module LID')
- ModuleLID = FloatField(allow_null=True, default=0, label='Module LID', min_value=0, required=False)
- [DEBUG] 2016-10-08 06:01:47,204 (MainProcess) (MainThread)
- > is valid: True
- [DEBUG] 2016-10-08 06:01:47,204 (MainProcess) (MainThread)
- > errors:
- {}
- ok
- test_make_request (simengapi_app.tests.test_layouts_requests_simulate.SerializerTest) ... [DEBUG] 2016-10-08 06:01:47,219 (MainProcess) (MainThread)
- > field: u'Elevation'
- [DEBUG] 2016-10-08 06:01:47,219 (MainProcess) (MainThread)
- > field: u'ArraySettingsType'
- [DEBUG] 2016-10-08 06:01:47,219 (MainProcess) (MainThread)
- > field: u'Losses'
- [DEBUG] 2016-10-08 06:01:47,219 (MainProcess) (MainThread)
- > class: <class 'simengapi_app.serializers.LossesData'>
- [DEBUG] 2016-10-08 06:01:47,219 (MainProcess) (MainThread)
- > field: u'DynamicSoiling'
- [DEBUG] 2016-10-08 06:01:47,220 (MainProcess) (MainThread)
- > class: <class 'simengapi_app.serializers.DynamicSoilingData'>
- [DEBUG] 2016-10-08 06:01:47,220 (MainProcess) (MainThread)
- > field: u'LastCleanedDate'
- [DEBUG] 2016-10-08 06:01:47,220 (MainProcess) (MainThread)
- > field: u'NumberOfWashes'
- [DEBUG] 2016-10-08 06:01:47,220 (MainProcess) (MainThread)
- > field: u'SoilingRateMultiplier'
- [DEBUG] 2016-10-08 06:01:47,220 (MainProcess) (MainThread)
- > field: u'ManualWashingDates'
- [DEBUG] 2016-10-08 06:01:47,220 (MainProcess) (MainThread)
- > field: u'CalculateWashingDates'
- [DEBUG] 2016-10-08 06:01:47,220 (MainProcess) (MainThread)
- > class attribute values:
- <simengapi_app.serializers.DynamicSoilingData object at 0x52ba3d0>
- [DEBUG] 2016-10-08 06:01:47,220 (MainProcess) (MainThread)
- > field: u'CustomLossScheme'
- [DEBUG] 2016-10-08 06:01:47,220 (MainProcess) (MainThread)
- > class: <class 'simengapi_app.serializers.CustomLossSchemeData'>
- [DEBUG] 2016-10-08 06:01:47,221 (MainProcess) (MainThread)
- > field: u'TransformerNighttimeLoss'
- [DEBUG] 2016-10-08 06:01:47,221 (MainProcess) (MainThread)
- > field: u'SystemAvailability'
- [DEBUG] 2016-10-08 06:01:47,221 (MainProcess) (MainThread)
- > field: u'DCCablingLoss'
- [DEBUG] 2016-10-08 06:01:47,221 (MainProcess) (MainThread)
- > field: u'DCMismatchLoss'
- [DEBUG] 2016-10-08 06:01:47,221 (MainProcess) (MainThread)
- > field: u'TransformerDaytimeLoss'
- [DEBUG] 2016-10-08 06:01:47,221 (MainProcess) (MainThread)
- > field: u'ACWiringLoss'
- [DEBUG] 2016-10-08 06:01:47,221 (MainProcess) (MainThread)
- > field: u'ACAuxiliaryLoss'
- [DEBUG] 2016-10-08 06:01:47,221 (MainProcess) (MainThread)
- > class attribute values:
- <simengapi_app.serializers.CustomLossSchemeData object at 0x476a410>
- [DEBUG] 2016-10-08 06:01:47,221 (MainProcess) (MainThread)
- > field: u'NumberOfSnowDays'
- [DEBUG] 2016-10-08 06:01:47,221 (MainProcess) (MainThread)
- > field: u'CalculateSnowLoss'
- [DEBUG] 2016-10-08 06:01:47,222 (MainProcess) (MainThread)
- > class attribute values:
- <simengapi_app.serializers.LossesData object at 0x4b0eb10>
- [DEBUG] 2016-10-08 06:01:47,222 (MainProcess) (MainThread)
- > field: u'Longitude'
- [DEBUG] 2016-10-08 06:01:47,222 (MainProcess) (MainThread)
- > field: u'GroundAlbedo'
- [DEBUG] 2016-10-08 06:01:47,222 (MainProcess) (MainThread)
- > field: u'Inverters'
- [DEBUG] 2016-10-08 06:01:47,222 (MainProcess) (MainThread)
- > nested class: <class 'simengapi_app.serializers.InverterData'>
- [DEBUG] 2016-10-08 06:01:47,222 (MainProcess) (MainThread)
- > field: u'Layouts'
- [DEBUG] 2016-10-08 06:01:47,222 (MainProcess) (MainThread)
- > nested class: <class 'simengapi_app.serializers.LayoutData'>
- [DEBUG] 2016-10-08 06:01:47,222 (MainProcess) (MainThread)
- > field: u'SiteShadingLoss'
- [DEBUG] 2016-10-08 06:01:47,223 (MainProcess) (MainThread)
- > field: u'HeightAboveGround'
- [DEBUG] 2016-10-08 06:01:47,223 (MainProcess) (MainThread)
- > field: u'ModuleCountPerString'
- [DEBUG] 2016-10-08 06:01:47,223 (MainProcess) (MainThread)
- > field: u'FieldLayout'
- [DEBUG] 2016-10-08 06:01:47,223 (MainProcess) (MainThread)
- > field: u'AxisTiltAngle'
- [DEBUG] 2016-10-08 06:01:47,223 (MainProcess) (MainThread)
- > field: u'IsOverrideLID'
- [DEBUG] 2016-10-08 06:01:47,223 (MainProcess) (MainThread)
- > field: u'CustomMountingSystem'
- [DEBUG] 2016-10-08 06:01:47,223 (MainProcess) (MainThread)
- > field: u'ModuleLID'
- [DEBUG] 2016-10-08 06:01:47,223 (MainProcess) (MainThread)
- > field: u'TrackerMisalignmentLoss'
- [DEBUG] 2016-10-08 06:01:47,223 (MainProcess) (MainThread)
- > field: u'IsSmartMount'
- [DEBUG] 2016-10-08 06:01:47,223 (MainProcess) (MainThread)
- > field: u'MonthlyShading'
- [DEBUG] 2016-10-08 06:01:47,224 (MainProcess) (MainThread)
- > field: u'MountingSurfaceSlope'
- [DEBUG] 2016-10-08 06:01:47,224 (MainProcess) (MainThread)
- > field: u'GCR'
- [DEBUG] 2016-10-08 06:01:47,224 (MainProcess) (MainThread)
- > class: <class 'simengapi_app.serializers.GCRData'>
- [DEBUG] 2016-10-08 06:01:47,224 (MainProcess) (MainThread)
- > field: u'GCRNS'
- [DEBUG] 2016-10-08 06:01:47,224 (MainProcess) (MainThread)
- > field: u'GCREW'
- [DEBUG] 2016-10-08 06:01:47,224 (MainProcess) (MainThread)
- > class attribute values:
- <simengapi_app.serializers.GCRData object at 0x4f6d190>
- [DEBUG] 2016-10-08 06:01:47,224 (MainProcess) (MainThread)
- > field: u'ModuleOrientation'
- [DEBUG] 2016-10-08 06:01:47,224 (MainProcess) (MainThread)
- > field: u'UseBacktracking'
- [DEBUG] 2016-10-08 06:01:47,224 (MainProcess) (MainThread)
- > field: u'IsOverrideFlashRating'
- [DEBUG] 2016-10-08 06:01:47,224 (MainProcess) (MainThread)
- > field: u'ModuleFlashRating'
- [DEBUG] 2016-10-08 06:01:47,225 (MainProcess) (MainThread)
- > field: u'PVModuleId'
- [DEBUG] 2016-10-08 06:01:47,225 (MainProcess) (MainThread)
- > field: u'SystemAzimuth'
- [DEBUG] 2016-10-08 06:01:47,225 (MainProcess) (MainThread)
- > field: u'UseShadingCalculation'
- [DEBUG] 2016-10-08 06:01:47,225 (MainProcess) (MainThread)
- > field: u'GroundSlopeAzimuth'
- [DEBUG] 2016-10-08 06:01:47,225 (MainProcess) (MainThread)
- > field: u'ParallelStringCount'
- [DEBUG] 2016-10-08 06:01:47,225 (MainProcess) (MainThread)
- > field: u'MountingSystemId'
- [DEBUG] 2016-10-08 06:01:47,225 (MainProcess) (MainThread)
- > field: u'StandOff'
- [DEBUG] 2016-10-08 06:01:47,225 (MainProcess) (MainThread)
- > nested class attribute values:
- [<simengapi_app.serializers.LayoutData object at 0x4f6d3d0>]
- [DEBUG] 2016-10-08 06:01:47,225 (MainProcess) (MainThread)
- > field: u'IsGCEInverter'
- [DEBUG] 2016-10-08 06:01:47,225 (MainProcess) (MainThread)
- > field: u'GCEInverter'
- [DEBUG] 2016-10-08 06:01:47,226 (MainProcess) (MainThread)
- > field: u'InverterCount'
- [DEBUG] 2016-10-08 06:01:47,226 (MainProcess) (MainThread)
- > field: u'StandardInverterId'
- [DEBUG] 2016-10-08 06:01:47,226 (MainProcess) (MainThread)
- > nested class attribute values:
- [<simengapi_app.serializers.InverterData object at 0x52b7f10>]
- [DEBUG] 2016-10-08 06:01:47,226 (MainProcess) (MainThread)
- > field: u'Latitude'
- [DEBUG] 2016-10-08 06:01:47,226 (MainProcess) (MainThread)
- > elevation: 14[m]
- [DEBUG] 2016-10-08 06:01:47,226 (MainProcess) (MainThread)
- > simulate data request:
- {'maxNegativeRotation': [None], 'useSmartmount': [False], 'XfmrEffNight': 1.0, 'minModuleTilt': [None], 'backtracking': [False], 'NumberOfDaysWithSnow': 0, 'snowMode': False, 'UserSpecifiedSoilingRateMultiplier': 1.0, 'moduleOrientation': [1], 'MonthlyShading': [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], 'isOverrideFlashRating': [False], 'mountingSystemID': [1], 'LossDCWiring': 0.01, 'maxPositiveRotation': [None], 'fieldLayout': [1], 'LossDCMismatch': 0.008, 'trackerMisalignmentLoss': [0.0], 'name': 'test', 'mountingSurfaceHeight': [4.0], 'LossSiteShading': [0.0], 'locationType': 'urban', 'mountingSurfaceSlope': [0.43633231299858238], 'Availability': 0.99, 'maxModuleTilt': [None], 'moduleFlashRating': [None], 'efficiencyGCE': [None], 'LossACWiring': 0.002, 'modulesPerStringEW': [8], 'moduleLID': [None], 'mountingSurfaceAzimuth': [0.0], 'EWGCR': [1.0], 'numberManualWashes': 0, 'lastCleanedDate': datetime.date(2015, 1, 1), 'PacoGCE': [None], 'manualWashDays': [datetime.date(2015, 1, 1)], 'albedo': 0.2, 'LossAuxLoad': 0.0, 'calculateShading': [False], 'NSGCR': [1.0], 'modulesPerStringNS': [1], 'isOverrideLID': [False], 'systemAzimuth': [0.0], 'InverterIndex': [0], 'soilingPct': None, 'inverterCount': [1], 'isInverterGCE': [False], 'inverterID': [899], 'axisTilt': [0.0], 'parallelStringsPerInverter': [2], 'XfmrEffDay': 1.0, 'moduleID': [587], 'standoff': [0.0762]}
- ok
- test_simulate_data_serializer (simengapi_app.tests.test_layouts_requests_simulate.SerializerTest) ... [DEBUG] 2016-10-08 06:01:47,232 (MainProcess) (MainThread)
- > serializer:
- SimulateDataSerializer(data={u'Elevation': 14, u'ArraySettingsType': u'Urban', u'Losses': {u'DynamicSoiling': {u'LastCleanedDate': u'2015-01-01', u'ManualWashingDates': [u'2015-01-01'], u'CalculateWashingDates': False, u'SoilingRateMultiplier': 1, u'NumberOfWashes': 0, u'CalculateSnowLoss': True}, u'CustomLossScheme': {u'TransformerNighttimeLoss': 0, u'SystemAvailability': 0.99, u'ACWiringLoss': 0.002, u'DCMismatchLoss': 0.008, u'TransformerDaytimeLoss': 0, u'DCCablingLoss': 0.01, u'ACAuxiliaryLoss': 0}, u'NumberOfSnowDays': 0}, u'Longitude': -122.358185, u'GroundAlbedo': 0.2, u'Inverters': [{u'StandardInverterId': 899, u'Layouts': [{u'CustomMountingSystem': None, u'HeightAboveGround': 4, u'ModuleCountPerString': 8, u'UseShadingCalculation': False, u'AxisTiltAngle': 0, u'IsOverrideLID': False, u'SiteShadingLoss': 0, u'ModuleLID': None, u'TrackerMisalignmentLoss': 0, u'IsSmartMount': False, u'MonthlyShading': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], u'MountingSurfaceSlope': 25, u'GCR': {u'GCRNS': 1, u'GCREW': 1}, u'ModuleOrientation': u'Portrait', u'UseBacktracking': False, u'IsOverrideFlashRating': False, u'ModuleFlashRating': None, u'PVModuleId': 587, u'SystemAzimuth': 0, u'FieldLayout': u'Rows', u'GroundSlopeAzimuth': 0, u'ParallelStringCount': 2, u'MountingSystemId': 1, u'StandOff': 0.0762}], u'InverterCount': 1, u'GCEInverter': None, u'IsGCEInverter': False}], u'Latitude': 37.911211}):
- ArraySettingsType = ChoiceField(choices=['Urban', 'OpenSpace'], help_text='Type of array settings: Urban | Open Space', label='Array Settings Type')
- Latitude = FloatField(help_text='[degrees]', max_value=90, min_value=-90, required=False)
- Longitude = FloatField(help_text='[degrees]', max_value=180, min_value=-180, required=False)
- Elevation = FloatField(help_text='[meters]')
- GroundAlbedo = FloatField(label='Ground Albedo', max_value=1, min_value=0)
- WeatherDataHeaderId = IntegerField(allow_null=True, label='Weather Data Header ID', min_value=1, required=False)
- RainfallDataHeaderId = IntegerField(allow_null=True, label='Rainfall Data Header ID', min_value=1, required=False)
- SnowDataHeaderId = IntegerField(allow_null=True, label='Snow Data Header ID', min_value=1, required=False)
- Inverters = InverterDataSerializer(many=True, style={'base_template': 'textarea.html'}):
- StandardInverterId = PrimaryKeyRelatedField(label='Standard Inverter ID', queryset=[<PVInverter: SunPower Corporation SB5000TL-US-22-240 [240] (2013)>], required=False)
- IsGCEInverter = BooleanField(help_text='Specifies whether inverter is Generic Constant Efficiency (GCE) inverter', label='GCE Inverter')
- GCEInverter = GCEInverterDataSerializer(allow_null=True, default={'Paco': 0, 'EfficiencyRating': 0}, label='GCE Inverter', required=False):
- EfficiencyRating = FloatField(label='Efficiency Rating', max_value=1, min_value=0)
- Paco = FloatField(help_text='Inverter AC capacity in watts', label='Pac0 [W]', min_value=0)
- InverterCount = IntegerField(label='Inverter Count', min_value=0)
- Layouts = LayoutDataSerializer(many=True, style={'base_template': 'textarea.html'}):
- MountingSurfaceSlope = FloatField(label='Mounting Surface Slope [degrees]', max_value=90, min_value=-90)
- SystemAzimuth = FloatField(help_text='Relative to south, east is positive, west is negative.', label='System Azimuth [degrees]', max_value=180, min_value=-180)
- GroundSlopeAzimuth = FloatField(help_text='Relative to south, east is positive, west is negative.', label='Ground Slope Azimuth [degrees]', max_value=180, min_value=-180)
- HeightAboveGround = FloatField(label='Height Above Ground [m]', min_value=0)
- GCR = GCRDataSerializer(default={'GCRNS': 0, 'GCREW': 0}, label='GCR', required=False):
- GCREW = FloatField(help_text='Ground coverage ratio in East-West direction as fraction', label='GCREW', max_value=1, min_value=0)
- GCRNS = FloatField(help_text='Ground coverage ratio in North-South direction as fraction', label='GCRNS', max_value=1, min_value=0)
- FieldLayout = ChoiceField(choices=['Soldier', 'Rows', 'Hexagonal'], default='Rows', label='Field Layout', required=False)
- ModuleOrientation = ChoiceField(choices=['Landscape', 'Portrait'], default='Portrait', label='Module Orientation', required=False)
- ModuleCountPerString = IntegerField(label='Module Count Per String', min_value=0)
- ParallelStringCount = IntegerField(label='Parallel String Count', min_value=0)
- PVModuleId = PrimaryKeyRelatedField(label='PV Module ID', queryset=[<PVModule: SunPower Corporation SPR-E20-327 (2013)>])
- MountingSystemId = ChoiceField(choices=((1, 'Residential Retrofit'), (2, 'Residential SunTile'), (3, 'PowerGuard'), (4, 'T10'), (5, 'T5'), (6, 'T0 Tracker'), (7, 'T20 V2.1'), (8, 'T20 V2.2'), (9, 'T20 V2.3'), (10, 'Custom 2-Axis Tracker'), (11, 'Custom Stationary Fixed Tilt (Ground)'), (12, 'Custom Single-Axis Tracker'), (13, 'Custom Polar-Axis Tracker'), (14, 'Custom Stationary Fixed Tilt (Roof)'), (15, 'Oasis C1'), (16, 'ACPV v1'), (17, 'C7'), (18, 'ACPV v2'), (19, 'BIPV'), (20, 'S10'), (21, 'D10')), label='Mounting System ID')
- AxisTiltAngle = FloatField(label='Axis Tilt Angle [degrees]', max_value=180, min_value=-180)
- IsSmartMount = BooleanField(label='Smart Mount')
- StandOff = FloatField(label='Standoff [m]')
- UseBacktracking = BooleanField(label='Backtracking')
- UseShadingCalculation = BooleanField(label='Calculate Shading')
- MonthlyShading = CustomListField(child=FloatField(max_value=1, min_value=0), label='Monthly Shading', validators=[<django.core.validators.MinLengthValidator object>, <django.core.validators.MaxLengthValidator object>])
- CustomMountingSystem = CustomMountingSystemDataSerializer(allow_null=True, default={'ModuleTiltMax': 0, 'AxisRotationMin': 0, 'ModuleTiltMin': 0, 'AxisRotationMax': 0}, label='Custom Mounting System', required=False):
- ModuleTiltMin = FloatField(label='Minimum Module Tilt [degrees]', max_value=0, min_value=-180)
- ModuleTiltMax = FloatField(label='Maximum Module Tilt [degrees]', max_value=180, min_value=0)
- AxisRotationMin = FloatField(label='Minimum Axis Rotation [degrees]', max_value=0, min_value=-180)
- AxisRotationMax = FloatField(label='Maximum Axis Rotation [degrees]', max_value=180, min_value=0)
- TrackerMisalignmentLoss = FloatField(label='Tracker Misalignment Loss', max_value=1, min_value=0)
- SiteShadingLoss = FloatField(label='Site Shading Loss', max_value=1, min_value=0)
- IsOverrideFlashRating = BooleanField(label='Override Flash Rating')
- ModuleFlashRating = FloatField(allow_null=True, default=0, label='Module Flash Rating [W]', min_value=0, required=False)
- IsOverrideLID = BooleanField(label='Override Module LID')
- ModuleLID = FloatField(allow_null=True, default=0, label='Module LID', min_value=0, required=False)
- Losses = LossesDataSerializer():
- ConstantSoilingLoss = FloatField(allow_null=True, label='Constant Soiling Loss', max_value=1, min_value=0, required=False)
- DynamicSoiling = DynamicSoilingDataSerializer(label='Dynamic Soiling', required=False):
- SoilingRateMultiplier = FloatField(label='Soiling Rate Multiplier')
- NumberOfWashes = IntegerField(label='Number Of Washes', min_value=0)
- CalculateWashingDates = BooleanField(label='Calculate Washing Dates')
- LastCleanedDate = DateField(label='Last Cleaned Date')
- ManualWashingDates = CustomListField(child=DateField(), label='Manual Washing Dates', required=False, validators=[<django.core.validators.MinLengthValidator object>, <django.core.validators.MaxLengthValidator object>])
- StandardLossesSchemeId = IntegerField(allow_null=True, label='Standard Losses Scheme ID', required=False)
- CustomLossScheme = CustomLossSchemeData(label='Custom Loss Scheme', required=False):
- DCCablingLoss = FloatField(label='DC Cabling Loss', max_value=1, min_value=0)
- DCMismatchLoss = FloatField(label='DC Mismatch Loss', max_value=1, min_value=0)
- TransformerDaytimeLoss = FloatField(label='Transformer Daytime Loss', max_value=1, min_value=0)
- TransformerNighttimeLoss = FloatField(label='Transformer Nighttime Loss', max_value=1, min_value=0)
- ACWiringLoss = FloatField(label='AC Wiring Loss', max_value=1, min_value=0)
- ACAuxiliaryLoss = FloatField(label='AC Auxiliary Loss', max_value=1, min_value=0)
- SystemAvailability = FloatField(label='System Availability', max_value=1, min_value=0)
- CalculateSnowLoss = BooleanField(default=False, label='Calculate Snow Loss', required=False)
- NumberOfSnowDays = IntegerField(label='Number of Snow Days', min_value=0, required=False)
- [DEBUG] 2016-10-08 06:01:47,267 (MainProcess) (MainThread)
- > is valid: True
- [DEBUG] 2016-10-08 06:01:47,268 (MainProcess) (MainThread)
- > errors:
- {}
- [DEBUG] 2016-10-08 06:01:47,268 (MainProcess) (MainThread)
- > field: u'Elevation'
- [DEBUG] 2016-10-08 06:01:47,268 (MainProcess) (MainThread)
- > field: u'ArraySettingsType'
- [DEBUG] 2016-10-08 06:01:47,268 (MainProcess) (MainThread)
- > field: u'Losses'
- [DEBUG] 2016-10-08 06:01:47,268 (MainProcess) (MainThread)
- > class: <class 'simengapi_app.serializers.LossesData'>
- [DEBUG] 2016-10-08 06:01:47,268 (MainProcess) (MainThread)
- > field: u'DynamicSoiling'
- [DEBUG] 2016-10-08 06:01:47,268 (MainProcess) (MainThread)
- > class: <class 'simengapi_app.serializers.DynamicSoilingData'>
- [DEBUG] 2016-10-08 06:01:47,269 (MainProcess) (MainThread)
- > field: u'LastCleanedDate'
- [DEBUG] 2016-10-08 06:01:47,269 (MainProcess) (MainThread)
- > field: u'NumberOfWashes'
- [DEBUG] 2016-10-08 06:01:47,269 (MainProcess) (MainThread)
- > field: u'SoilingRateMultiplier'
- [DEBUG] 2016-10-08 06:01:47,269 (MainProcess) (MainThread)
- > field: u'ManualWashingDates'
- [DEBUG] 2016-10-08 06:01:47,269 (MainProcess) (MainThread)
- > field: u'CalculateWashingDates'
- [DEBUG] 2016-10-08 06:01:47,269 (MainProcess) (MainThread)
- > class attribute values:
- <simengapi_app.serializers.DynamicSoilingData object at 0x4b20a90>
- [DEBUG] 2016-10-08 06:01:47,269 (MainProcess) (MainThread)
- > field: u'CustomLossScheme'
- [DEBUG] 2016-10-08 06:01:47,269 (MainProcess) (MainThread)
- > class: <class 'simengapi_app.serializers.CustomLossSchemeData'>
- [DEBUG] 2016-10-08 06:01:47,269 (MainProcess) (MainThread)
- > field: u'TransformerNighttimeLoss'
- [DEBUG] 2016-10-08 06:01:47,269 (MainProcess) (MainThread)
- > field: u'SystemAvailability'
- [DEBUG] 2016-10-08 06:01:47,270 (MainProcess) (MainThread)
- > field: u'DCCablingLoss'
- [DEBUG] 2016-10-08 06:01:47,270 (MainProcess) (MainThread)
- > field: u'DCMismatchLoss'
- [DEBUG] 2016-10-08 06:01:47,270 (MainProcess) (MainThread)
- > field: u'TransformerDaytimeLoss'
- [DEBUG] 2016-10-08 06:01:47,270 (MainProcess) (MainThread)
- > field: u'ACWiringLoss'
- [DEBUG] 2016-10-08 06:01:47,270 (MainProcess) (MainThread)
- > field: u'ACAuxiliaryLoss'
- [DEBUG] 2016-10-08 06:01:47,270 (MainProcess) (MainThread)
- > class attribute values:
- <simengapi_app.serializers.CustomLossSchemeData object at 0x4b20250>
- [DEBUG] 2016-10-08 06:01:47,270 (MainProcess) (MainThread)
- > field: u'NumberOfSnowDays'
- [DEBUG] 2016-10-08 06:01:47,270 (MainProcess) (MainThread)
- > field: u'CalculateSnowLoss'
- [DEBUG] 2016-10-08 06:01:47,270 (MainProcess) (MainThread)
- > class attribute values:
- <simengapi_app.serializers.LossesData object at 0x4b20a10>
- [DEBUG] 2016-10-08 06:01:47,270 (MainProcess) (MainThread)
- > field: u'Longitude'
- [DEBUG] 2016-10-08 06:01:47,271 (MainProcess) (MainThread)
- > field: u'GroundAlbedo'
- [DEBUG] 2016-10-08 06:01:47,271 (MainProcess) (MainThread)
- > field: u'Inverters'
- [DEBUG] 2016-10-08 06:01:47,271 (MainProcess) (MainThread)
- > nested class: <class 'simengapi_app.serializers.InverterData'>
- [DEBUG] 2016-10-08 06:01:47,271 (MainProcess) (MainThread)
- > field: u'Layouts'
- [DEBUG] 2016-10-08 06:01:47,271 (MainProcess) (MainThread)
- > nested class: <class 'simengapi_app.serializers.LayoutData'>
- [DEBUG] 2016-10-08 06:01:47,271 (MainProcess) (MainThread)
- > field: u'SiteShadingLoss'
- [DEBUG] 2016-10-08 06:01:47,271 (MainProcess) (MainThread)
- > field: u'HeightAboveGround'
- [DEBUG] 2016-10-08 06:01:47,271 (MainProcess) (MainThread)
- > field: u'ModuleCountPerString'
- [DEBUG] 2016-10-08 06:01:47,271 (MainProcess) (MainThread)
- > field: u'FieldLayout'
- [DEBUG] 2016-10-08 06:01:47,271 (MainProcess) (MainThread)
- > field: u'AxisTiltAngle'
- [DEBUG] 2016-10-08 06:01:47,272 (MainProcess) (MainThread)
- > field: u'IsOverrideLID'
- [DEBUG] 2016-10-08 06:01:47,272 (MainProcess) (MainThread)
- > field: u'CustomMountingSystem'
- [DEBUG] 2016-10-08 06:01:47,272 (MainProcess) (MainThread)
- > field: u'ModuleLID'
- [DEBUG] 2016-10-08 06:01:47,272 (MainProcess) (MainThread)
- > field: u'TrackerMisalignmentLoss'
- [DEBUG] 2016-10-08 06:01:47,272 (MainProcess) (MainThread)
- > field: u'IsSmartMount'
- [DEBUG] 2016-10-08 06:01:47,272 (MainProcess) (MainThread)
- > field: u'MonthlyShading'
- [DEBUG] 2016-10-08 06:01:47,272 (MainProcess) (MainThread)
- > field: u'MountingSurfaceSlope'
- [DEBUG] 2016-10-08 06:01:47,272 (MainProcess) (MainThread)
- > field: u'GCR'
- [DEBUG] 2016-10-08 06:01:47,272 (MainProcess) (MainThread)
- > class: <class 'simengapi_app.serializers.GCRData'>
- [DEBUG] 2016-10-08 06:01:47,272 (MainProcess) (MainThread)
- > field: u'GCRNS'
- [DEBUG] 2016-10-08 06:01:47,273 (MainProcess) (MainThread)
- > field: u'GCREW'
- [DEBUG] 2016-10-08 06:01:47,273 (MainProcess) (MainThread)
- > class attribute values:
- <simengapi_app.serializers.GCRData object at 0x52b7b10>
- [DEBUG] 2016-10-08 06:01:47,273 (MainProcess) (MainThread)
- > field: u'ModuleOrientation'
- [DEBUG] 2016-10-08 06:01:47,273 (MainProcess) (MainThread)
- > field: u'UseBacktracking'
- [DEBUG] 2016-10-08 06:01:47,273 (MainProcess) (MainThread)
- > field: u'IsOverrideFlashRating'
- [DEBUG] 2016-10-08 06:01:47,273 (MainProcess) (MainThread)
- > field: u'ModuleFlashRating'
- [DEBUG] 2016-10-08 06:01:47,273 (MainProcess) (MainThread)
- > field: u'PVModuleId'
- [DEBUG] 2016-10-08 06:01:47,273 (MainProcess) (MainThread)
- > field: u'SystemAzimuth'
- [DEBUG] 2016-10-08 06:01:47,274 (MainProcess) (MainThread)
- > field: u'UseShadingCalculation'
- [DEBUG] 2016-10-08 06:01:47,274 (MainProcess) (MainThread)
- > field: u'GroundSlopeAzimuth'
- [DEBUG] 2016-10-08 06:01:47,274 (MainProcess) (MainThread)
- > field: u'ParallelStringCount'
- [DEBUG] 2016-10-08 06:01:47,274 (MainProcess) (MainThread)
- > field: u'MountingSystemId'
- [DEBUG] 2016-10-08 06:01:47,274 (MainProcess) (MainThread)
- > field: u'StandOff'
- [DEBUG] 2016-10-08 06:01:47,274 (MainProcess) (MainThread)
- > nested class attribute values:
- [<simengapi_app.serializers.LayoutData object at 0x52b79d0>]
- [DEBUG] 2016-10-08 06:01:47,274 (MainProcess) (MainThread)
- > field: u'IsGCEInverter'
- [DEBUG] 2016-10-08 06:01:47,274 (MainProcess) (MainThread)
- > field: u'GCEInverter'
- [DEBUG] 2016-10-08 06:01:47,274 (MainProcess) (MainThread)
- > field: u'InverterCount'
- [DEBUG] 2016-10-08 06:01:47,274 (MainProcess) (MainThread)
- > field: u'StandardInverterId'
- [DEBUG] 2016-10-08 06:01:47,275 (MainProcess) (MainThread)
- > nested class attribute values:
- [<simengapi_app.serializers.InverterData object at 0x4b20dd0>]
- [DEBUG] 2016-10-08 06:01:47,275 (MainProcess) (MainThread)
- > field: u'Latitude'
- [DEBUG] 2016-10-08 06:01:47,276 (MainProcess) (MainThread)
- > simulate data:
- {'SnowDataHeaderId': None, 'Elevation': 14.0, 'ArraySettingsType': 'Urban', 'Losses': OrderedDict([('ConstantSoilingLoss', None), ('DynamicSoiling', OrderedDict([('SoilingRateMultiplier', 1.0), ('NumberOfWashes', 0), ('CalculateWashingDates', False), ('LastCleanedDate', '2015-01-01'), ('ManualWashingDates', ['2015-01-01'])])), ('StandardLossesSchemeId', None), ('CustomLossScheme', OrderedDict([('DCCablingLoss', 0.01), ('DCMismatchLoss', 0.008), ('TransformerDaytimeLoss', 0.0), ('TransformerNighttimeLoss', 0.0), ('ACWiringLoss', 0.002), ('ACAuxiliaryLoss', 0.0), ('SystemAvailability', 0.99)])), ('CalculateSnowLoss', False), ('NumberOfSnowDays', 0)]), 'GroundAlbedo': 0.2, 'RainfallDataHeaderId': None, 'Longitude': -122.358185, 'Inverters': [OrderedDict([('StandardInverterId', 899), ('IsGCEInverter', False), ('GCEInverter', None), ('InverterCount', 1), ('Layouts', [OrderedDict([('MountingSurfaceSlope', 25.0), ('SystemAzimuth', 0.0), ('GroundSlopeAzimuth', 0.0), ('HeightAboveGround', 4.0), ('GCR', OrderedDict([('GCREW', 1.0), ('GCRNS', 1.0)])), ('FieldLayout', 'Rows'), ('ModuleOrientation', 'Portrait'), ('ModuleCountPerString', 8), ('ParallelStringCount', 2), ('PVModuleId', 587), ('MountingSystemId', 1), ('AxisTiltAngle', 0.0), ('IsSmartMount', False), ('StandOff', 0.0762), ('UseBacktracking', False), ('UseShadingCalculation', False), ('MonthlyShading', [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), ('CustomMountingSystem', None), ('TrackerMisalignmentLoss', 0.0), ('SiteShadingLoss', 0.0), ('IsOverrideFlashRating', False), ('ModuleFlashRating', None), ('IsOverrideLID', False), ('ModuleLID', None)])])])], 'Latitude': 37.911211, 'WeatherDataHeaderId': None}
- [DEBUG] 2016-10-08 06:01:47,276 (MainProcess) (MainThread)
- > simulate obj:
- <simengapi_app.serializers.SimulateData object at 0x52b7890>
- [DEBUG] 2016-10-08 06:01:47,276 (MainProcess) (MainThread)
- > serializer:
- SimulateDataSerializer(<simengapi_app.serializers.SimulateData object>):
- ArraySettingsType = ChoiceField(choices=['Urban', 'OpenSpace'], help_text='Type of array settings: Urban | Open Space', label='Array Settings Type')
- Latitude = FloatField(help_text='[degrees]', max_value=90, min_value=-90, required=False)
- Longitude = FloatField(help_text='[degrees]', max_value=180, min_value=-180, required=False)
- Elevation = FloatField(help_text='[meters]')
- GroundAlbedo = FloatField(label='Ground Albedo', max_value=1, min_value=0)
- WeatherDataHeaderId = IntegerField(allow_null=True, label='Weather Data Header ID', min_value=1, required=False)
- RainfallDataHeaderId = IntegerField(allow_null=True, label='Rainfall Data Header ID', min_value=1, required=False)
- SnowDataHeaderId = IntegerField(allow_null=True, label='Snow Data Header ID', min_value=1, required=False)
- Inverters = InverterDataSerializer(many=True, style={'base_template': 'textarea.html'}):
- StandardInverterId = PrimaryKeyRelatedField(label='Standard Inverter ID', queryset=[<PVInverter: SunPower Corporation SB5000TL-US-22-240 [240] (2013)>], required=False)
- IsGCEInverter = BooleanField(help_text='Specifies whether inverter is Generic Constant Efficiency (GCE) inverter', label='GCE Inverter')
- GCEInverter = GCEInverterDataSerializer(allow_null=True, default={'Paco': 0, 'EfficiencyRating': 0}, label='GCE Inverter', required=False):
- EfficiencyRating = FloatField(label='Efficiency Rating', max_value=1, min_value=0)
- Paco = FloatField(help_text='Inverter AC capacity in watts', label='Pac0 [W]', min_value=0)
- InverterCount = IntegerField(label='Inverter Count', min_value=0)
- Layouts = LayoutDataSerializer(many=True, style={'base_template': 'textarea.html'}):
- MountingSurfaceSlope = FloatField(label='Mounting Surface Slope [degrees]', max_value=90, min_value=-90)
- SystemAzimuth = FloatField(help_text='Relative to south, east is positive, west is negative.', label='System Azimuth [degrees]', max_value=180, min_value=-180)
- GroundSlopeAzimuth = FloatField(help_text='Relative to south, east is positive, west is negative.', label='Ground Slope Azimuth [degrees]', max_value=180, min_value=-180)
- HeightAboveGround = FloatField(label='Height Above Ground [m]', min_value=0)
- GCR = GCRDataSerializer(default={'GCRNS': 0, 'GCREW': 0}, label='GCR', required=False):
- GCREW = FloatField(help_text='Ground coverage ratio in East-West direction as fraction', label='GCREW', max_value=1, min_value=0)
- GCRNS = FloatField(help_text='Ground coverage ratio in North-South direction as fraction', label='GCRNS', max_value=1, min_value=0)
- FieldLayout = ChoiceField(choices=['Soldier', 'Rows', 'Hexagonal'], default='Rows', label='Field Layout', required=False)
- ModuleOrientation = ChoiceField(choices=['Landscape', 'Portrait'], default='Portrait', label='Module Orientation', required=False)
- ModuleCountPerString = IntegerField(label='Module Count Per String', min_value=0)
- ParallelStringCount = IntegerField(label='Parallel String Count', min_value=0)
- PVModuleId = PrimaryKeyRelatedField(label='PV Module ID', queryset=[<PVModule: SunPower Corporation SPR-E20-327 (2013)>])
- MountingSystemId = ChoiceField(choices=((1, 'Residential Retrofit'), (2, 'Residential SunTile'), (3, 'PowerGuard'), (4, 'T10'), (5, 'T5'), (6, 'T0 Tracker'), (7, 'T20 V2.1'), (8, 'T20 V2.2'), (9, 'T20 V2.3'), (10, 'Custom 2-Axis Tracker'), (11, 'Custom Stationary Fixed Tilt (Ground)'), (12, 'Custom Single-Axis Tracker'), (13, 'Custom Polar-Axis Tracker'), (14, 'Custom Stationary Fixed Tilt (Roof)'), (15, 'Oasis C1'), (16, 'ACPV v1'), (17, 'C7'), (18, 'ACPV v2'), (19, 'BIPV'), (20, 'S10'), (21, 'D10')), label='Mounting System ID')
- AxisTiltAngle = FloatField(label='Axis Tilt Angle [degrees]', max_value=180, min_value=-180)
- IsSmartMount = BooleanField(label='Smart Mount')
- StandOff = FloatField(label='Standoff [m]')
- UseBacktracking = BooleanField(label='Backtracking')
- UseShadingCalculation = BooleanField(label='Calculate Shading')
- MonthlyShading = CustomListField(child=FloatField(max_value=1, min_value=0), label='Monthly Shading', validators=[<django.core.validators.MinLengthValidator object>, <django.core.validators.MaxLengthValidator object>])
- CustomMountingSystem = CustomMountingSystemDataSerializer(allow_null=True, default={'ModuleTiltMax': 0, 'AxisRotationMin': 0, 'ModuleTiltMin': 0, 'AxisRotationMax': 0}, label='Custom Mounting System', required=False):
- ModuleTiltMin = FloatField(label='Minimum Module Tilt [degrees]', max_value=0, min_value=-180)
- ModuleTiltMax = FloatField(label='Maximum Module Tilt [degrees]', max_value=180, min_value=0)
- AxisRotationMin = FloatField(label='Minimum Axis Rotation [degrees]', max_value=0, min_value=-180)
- AxisRotationMax = FloatField(label='Maximum Axis Rotation [degrees]', max_value=180, min_value=0)
- TrackerMisalignmentLoss = FloatField(label='Tracker Misalignment Loss', max_value=1, min_value=0)
- SiteShadingLoss = FloatField(label='Site Shading Loss', max_value=1, min_value=0)
- IsOverrideFlashRating = BooleanField(label='Override Flash Rating')
- ModuleFlashRating = FloatField(allow_null=True, default=0, label='Module Flash Rating [W]', min_value=0, required=False)
- IsOverrideLID = BooleanField(label='Override Module LID')
- ModuleLID = FloatField(allow_null=True, default=0, label='Module LID', min_value=0, required=False)
- Losses = LossesDataSerializer():
- ConstantSoilingLoss = FloatField(allow_null=True, label='Constant Soiling Loss', max_value=1, min_value=0, required=False)
- DynamicSoiling = DynamicSoilingDataSerializer(label='Dynamic Soiling', required=False):
- SoilingRateMultiplier = FloatField(label='Soiling Rate Multiplier')
- NumberOfWashes = IntegerField(label='Number Of Washes', min_value=0)
- CalculateWashingDates = BooleanField(label='Calculate Washing Dates')
- LastCleanedDate = DateField(label='Last Cleaned Date')
- ManualWashingDates = CustomListField(child=DateField(), label='Manual Washing Dates', required=False, validators=[<django.core.validators.MinLengthValidator object>, <django.core.validators.MaxLengthValidator object>])
- StandardLossesSchemeId = IntegerField(allow_null=True, label='Standard Losses Scheme ID', required=False)
- CustomLossScheme = CustomLossSchemeData(label='Custom Loss Scheme', required=False):
- DCCablingLoss = FloatField(label='DC Cabling Loss', max_value=1, min_value=0)
- DCMismatchLoss = FloatField(label='DC Mismatch Loss', max_value=1, min_value=0)
- TransformerDaytimeLoss = FloatField(label='Transformer Daytime Loss', max_value=1, min_value=0)
- TransformerNighttimeLoss = FloatField(label='Transformer Nighttime Loss', max_value=1, min_value=0)
- ACWiringLoss = FloatField(label='AC Wiring Loss', max_value=1, min_value=0)
- ACAuxiliaryLoss = FloatField(label='AC Auxiliary Loss', max_value=1, min_value=0)
- SystemAvailability = FloatField(label='System Availability', max_value=1, min_value=0)
- CalculateSnowLoss = BooleanField(default=False, label='Calculate Snow Loss', required=False)
- NumberOfSnowDays = IntegerField(label='Number of Snow Days', min_value=0, required=False)
- [DEBUG] 2016-10-08 06:01:47,317 (MainProcess) (MainThread)
- > is valid: True
- [DEBUG] 2016-10-08 06:01:47,317 (MainProcess) (MainThread)
- > errors:
- {}
- ok
- ----------------------------------------------------------------------
- Ran 3 tests in 0.170s
- OK
- Destroying test database for alias 'default' ('test_simengapi')...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement