def plot_drought_volume_deficit_mpl(scenario, quantile=0.1): flowdata = scenario.get_data() gap_attribute = scenario.get_gap_attribute_name() volume_deficit = flow_analysis.annual_volume_deficit( flowdata, gap_attribute ).abs() return plot_drought_deficit_mpl(scenario, volume_deficit, quantile)
def get_data(self, request, scenario_id): scenario = get_object_or_404(Scenario, pk=scenario_id) data = analysis.annual_volume_deficit( scenario.get_data(), scenario.get_gap_attribute_name(), analysis.CFS_TO_AFD ) return data.reset_index()
def plot_drought_volume_deficit(scenario, quantile=0.1): volume_deficit = flow_analysis.annual_volume_deficit( scenario.get_data(), scenario.get_gap_attribute_name()).abs() plot = plot_drought_deficit(scenario, volume_deficit, quantile) plot._yaxis.formatter = NumeralTickFormatter(format="0,0") plot._yaxis.axis_label = "Deficit (AF)" plot.title = "Volume deficit during drought" return plot
def project_deficit_stats_csv(request, project_id): project = get_object_or_404(Project, pk=project_id) monthly_result = __get_deficit_stats_comparison( project, lambda d, g, t: analysis.monthly_volume_deficit(d, g, CFS_TO_AFD).mean().abs(), "af") annual_result = __get_deficit_stats_comparison( project, lambda d, g, t: analysis.annual_volume_deficit(d, g, CFS_TO_AFD), "af").mean().abs() annual_result.name = "Annual Average" response = HttpResponse(content_type="text/csv") result = pd.concat([monthly_result, annual_result.to_frame().transpose()], axis=0) result.to_csv(response) return response
def project_deficit_stats_csv(request, project_id): project = get_object_or_404(Project, pk=project_id) monthly_result = __get_deficit_stats_comparison( project, lambda d, g, t: analysis.monthly_volume_deficit( d, g, CFS_TO_AFD).mean().abs(), "af") annual_result = __get_deficit_stats_comparison( project, lambda d, g, t: analysis.annual_volume_deficit(d, g, CFS_TO_AFD), "af").mean().abs() annual_result.name = "Annual Average" response = HttpResponse(content_type="text/csv") result = pd.concat( [monthly_result, annual_result.to_frame().transpose()], axis=0) result.to_csv(response) return response
def project_deficit_stats_annual_csv(request, project_id): return __dataframe_annual_csv_helper(request, project_id, lambda d, g, t: analysis.annual_volume_deficit(d, g, CFS_TO_AFD), "af")
def test_annual_volume_deficit_unit_convert(self): data = test_data() result = analysis.annual_volume_deficit(data, 0, unit_multiplier=2.0) self.assertItemsEqual([-46, -38], result)
def test_annual_volume_deficit(self): data = test_data() result = analysis.annual_volume_deficit(data, 0) self.assertItemsEqual([-23, -19], result)
def project_deficit_stats_annual_csv(request, project_id): return __dataframe_annual_csv_helper( request, project_id, lambda d, g, t: analysis.annual_volume_deficit(d, g, CFS_TO_AFD), "af")
def plot_drought_volume_deficit_mpl(scenario, quantile=0.1): flowdata = scenario.get_data() gap_attribute = scenario.get_gap_attribute_name() volume_deficit = flow_analysis.annual_volume_deficit( flowdata, gap_attribute).abs() return plot_drought_deficit_mpl(scenario, volume_deficit, quantile)