class Meta: model = InputDataInformation exclude = ('impact_model', ) widgets = { 'climate_variables_info': MyTextInput(textarea=True), 'additional_input_data_sets': MyTextInput(textarea=True), }
class Meta: model = ImpactModel exclude = ('base_model', 'public', 'simulation_round') widgets = { 'version': MyTextInput(), 'main_reference_paper': RefPaperWidget(), 'other_references': RefPaperWidget(), 'responsible_person': MyTextInput(), }
class Meta: model = ImpactModel exclude = ('base_model', 'public', 'simulation_round', 'dataset_history') widgets = { 'version': MyTextInput(), 'main_reference_paper': RefPaperWidget(), 'other_references': RefPaperWidget(), 'responsible_person': MyTextInput(), 'model_license': forms.TextInput(attrs={'readonly': 'readonly'}) }
class Meta: model = TechnicalInformation exclude = ('impact_model', ) widgets = { 'spatial_resolution': MyMultiSelect(allowcustom=True), 'spatial_resolution_info': MyTextInput(textarea=True), 'temporal_resolution_climate': MyMultiSelect(allowcustom=True), 'temporal_resolution_co2': MyMultiSelect(allowcustom=True), 'temporal_resolution_land': MyMultiSelect(allowcustom=True), 'temporal_resolution_soil': MyMultiSelect(allowcustom=True), 'temporal_resolution_info': MyTextInput(textarea=True), }
class Meta: model = Attachment exclude = ('impact_model', ) widgets = { 'attachment1': ClearableFileInput, 'attachment1_description': MyTextInput(), 'attachment2': ClearableFileInput, 'attachment2_description': MyTextInput(), 'attachment3': ClearableFileInput, 'attachment3_description': MyTextInput(), 'attachment4': ClearableFileInput, 'attachment4_description': MyTextInput(), 'attachment5': ClearableFileInput, 'attachment5_description': MyTextInput(), }
def __init__(self, *args, **kwargs): instance = kwargs.get('instance', None) super(BaseSectorForm, self).__init__(*args, **kwargs) if instance: sector = instance.impact_model.base_model.sector self.generic_groups = [] for group in SectorInformationGroup.objects.filter(sector=sector): fields = [] for field in group.fields.all(): fields.append(field.unique_identifier) self.generic_fields.append(field.unique_identifier) self.fields[field.unique_identifier] = forms.CharField( widget=MyTextInput(textarea=True), label=field.name, help_text=field.help_text, required=False, initial='') if instance.data and field.unique_identifier in instance.data: field_initial = instance.data[field.unique_identifier] if field_initial: self.fields[ field. unique_identifier].initial = field_initial self.generic_groups.append({ 'name': group.name, 'fields': fields, 'description': group.description })
class Meta: model = MarineEcosystems exclude = ('impact_model', ) widgets = { 'defining_features': MyTextInput(textarea=True), 'spatial_scale': MyTextInput(), 'spatial_resolution': MyTextInput(), 'temporal_scale': MyTextInput(), 'temporal_resolution': MyTextInput(), 'taxonomic_scope': MyTextInput(), 'vertical_resolution': MyTextInput(), 'spatial_dispersal_included': MyTextInput(), 'fishbase_used_for_mass_length_conversion': MyTextInput(), }
class Meta: model = OtherInformation exclude = ('impact_model', ) widgets = { 'exceptions_to_protocol': MyTextInput(textarea=True), 'spin_up': MyBooleanSelect(nullable=False), 'spin_up_design': MyTextInput(textarea=True), 'natural_vegetation_partition': MyTextInput(textarea=True), 'natural_vegetation_dynamics': MyTextInput(textarea=True), 'natural_vegetation_cover_dataset': MyTextInput(), 'management': MyTextInput(textarea=True), 'extreme_events': MyTextInput(textarea=True), 'anything_else': MyTextInput(textarea=True), }
class Meta: model = WaterRegional exclude = ('impact_model', ) widgets = { "methods_evapotranspiration": MyTextInput(textarea=True), 'methods_snowmelt': MyTextInput(textarea=True), 'vegetation': MyBooleanSelect(nullable=True), 'vegetation_approach_used': MyTextInput(textarea=True), 'vegetation_representation': MyMultiSelect(allowcustom=False), 'routing': MyTextInput(textarea=True), 'routing_data': MyTextInput(textarea=True), 'calibration': MyBooleanSelect(nullable=True), 'calibration_model_evaluated': MyBooleanSelect(nullable=True), 'calibration_periods': MyTextInput(textarea=True), 'calibration_methods': MyTextInput(textarea=True), }
class Meta: model = Biodiversity exclude = ('impact_model', ) widgets = { 'model_algorithm': MyMultiSelect(allowcustom=False), 'explanatory_variables': MyTextInput(textarea=True), 'response_variable': MyMultiSelect(allowcustom=False), 'additional_information_response_variable': MyTextInput(textarea=True), 'distribution_response_variable': MyMultiSelect(allowcustom=False), 'parameters': MyTextInput(textarea=True), 'additional_info_parameters': MyTextInput(textarea=True), 'software_function': MyMultiSelect(allowcustom=False), 'software_package': MyMultiSelect(allowcustom=False), 'software_program': MyTextInput(textarea=True), 'additional_info_model_output': MyTextInput(textarea=True), }
class Meta: model = Biomes exclude = ('impact_model', ) widgets = { 'output': MyTextInput(textarea=True), 'output_per_pft': MyTextInput(), 'considerations': MyTextInput(textarea=True), 'dynamic_vegetation': MyTextInput(textarea=True), 'nitrogen_limitation': MyTextInput(textarea=True), 'co2_effects': MyTextInput(textarea=True), 'light_interception': MyTextInput(textarea=True), 'light_utilization': MyTextInput(textarea=True), 'phenology': MyTextInput(textarea=True), 'water_stress': MyTextInput(textarea=True), 'heat_stress': MyTextInput(textarea=True), 'evapotranspiration_approach': MyTextInput(textarea=True), 'rooting_depth_differences': MyTextInput(textarea=True), 'root_distribution': MyTextInput(textarea=True), 'permafrost': MyTextInput(textarea=True), 'closed_energy_balance': MyTextInput(textarea=True), 'soil_moisture_surface_temperature_coupling': MyTextInput(textarea=True), 'latent_heat': MyTextInput(textarea=True), 'sensible_heat': MyTextInput(textarea=True), 'mortality_age': MyTextInput(textarea=True), 'mortality_fire': MyTextInput(textarea=True), 'mortality_drought': MyTextInput(textarea=True), 'mortality_insects': MyTextInput(textarea=True), 'mortality_storm': MyTextInput(textarea=True), 'mortality_stochastic_random_disturbance': MyTextInput(textarea=True), 'mortality_other': MyTextInput(textarea=True), 'mortality_remarks': MyTextInput(textarea=True), 'nbp_fire': MyTextInput(textarea=True), 'nbp_landuse_change': MyTextInput(textarea=True), 'nbp_harvest': MyTextInput(textarea=True), 'nbp_other': MyTextInput(textarea=True), 'nbp_comments': MyTextInput(textarea=True), 'list_of_pfts': MyTextInput(textarea=True), 'pfts_comments': MyTextInput(textarea=True), 'compute_soil_carbon': MyTextInput(textarea=True), 'seperate_soil_carbon': MyTextInput(textarea=True), 'harvest_npp_crops': MyTextInput(textarea=True), 'treat_biofuel_npp': MyTextInput(textarea=True), 'npp_litter_output': MyTextInput(textarea=True), 'simulate_bioenergy': MyTextInput(textarea=True), 'transition_cropland': MyTextInput(textarea=True), 'simulate_pasture': MyTextInput(textarea=True), }
class Meta: model = Water exclude = ('impact_model', ) widgets = { 'technological_progress': MyTextInput(textarea=True), 'soil_layers': MyTextInput(textarea=True), 'water_use': MyTextInput(textarea=True), 'water_sectors': MyTextInput(textarea=True), 'routing': MyTextInput(textarea=True), 'routing_data': MyTextInput(textarea=True), 'land_use': MyTextInput(textarea=True), 'dams_reservoirs': MyTextInput(textarea=True), 'calibration': MyBooleanSelect(nullable=True), 'calibration_years': MyTextInput(), 'calibration_dataset': MyTextInput(), 'calibration_catchments': MyTextInput(), 'vegetation': MyBooleanSelect(nullable=True), 'vegetation_representation': MyTextInput(textarea=True), "methods_evapotranspiration": MyTextInput(textarea=True), 'methods_snowmelt': MyTextInput(textarea=True), }
class Meta: model = Energy exclude = ('impact_model', ) widgets = { 'model_type': MyTextInput(textarea=True), 'temporal_extent': MyTextInput(textarea=True), 'temporal_resolution': MyTextInput(textarea=True), 'data_format_for_input': MyTextInput(textarea=True), 'impact_types_energy_demand': MyTextInput(textarea=True), 'impact_types_temperature_effects_on_thermal_power': MyTextInput(textarea=True), 'impact_types_weather_effects_on_renewables': MyTextInput(textarea=True), 'impact_types_water_scarcity_impacts': MyTextInput(textarea=True), 'impact_types_other': MyTextInput(textarea=True), 'output_energy_demand': MyTextInput(textarea=True), 'output_energy_supply': MyTextInput(textarea=True), 'output_water_scarcity': MyTextInput(textarea=True), 'output_economics': MyTextInput(textarea=True), 'output_other': MyTextInput(textarea=True), 'variables_not_directly_from_GCMs': MyTextInput(textarea=True), 'response_function_of_energy_demand_to_HDD_CDD': MyTextInput(textarea=True), 'factor_definition_and_calculation': MyTextInput(textarea=True), 'biomass_types': MyTextInput(textarea=True), 'maximum_potential_assumption': MyTextInput(textarea=True), 'bioenergy_supply_costs': MyTextInput(textarea=True), 'socioeconomic_input': MyTextInput(textarea=True), }
class Meta: model = Fire exclude = ('impact_model', ) widgets = { 'output': MyTextInput(textarea=True), 'output_per_pft': MyTextInput(), 'considerations': MyTextInput(textarea=True), 'dynamic_vegetation': MyTextInput(textarea=True), 'nitrogen_limitation': MyTextInput(textarea=True), 'co2_effects': MyTextInput(textarea=True), 'light_interception': MyTextInput(textarea=True), 'light_utilization': MyTextInput(textarea=True), 'phenology': MyTextInput(textarea=True), 'water_stress': MyTextInput(textarea=True), 'heat_stress': MyTextInput(textarea=True), 'evapotranspiration_approach': MyTextInput(textarea=True), 'rooting_depth_differences': MyTextInput(textarea=True), 'root_distribution': MyTextInput(textarea=True), 'permafrost': MyTextInput(textarea=True), 'closed_energy_balance': MyTextInput(textarea=True), 'soil_moisture_surface_temperature_coupling': MyTextInput(textarea=True), 'latent_heat': MyTextInput(textarea=True), 'sensible_heat': MyTextInput(textarea=True), 'mortality_age': MyTextInput(textarea=True), 'mortality_fire': MyTextInput(textarea=True), 'mortality_drought': MyTextInput(textarea=True), 'mortality_insects': MyTextInput(textarea=True), 'mortality_storm': MyTextInput(textarea=True), 'mortality_stochastic_random_disturbance': MyTextInput(textarea=True), 'mortality_other': MyTextInput(textarea=True), 'mortality_remarks': MyTextInput(textarea=True), 'nbp_fire': MyTextInput(textarea=True), 'nbp_landuse_change': MyTextInput(textarea=True), 'nbp_harvest': MyTextInput(textarea=True), 'nbp_other': MyTextInput(textarea=True), 'nbp_comments': MyTextInput(textarea=True), 'list_of_pfts': MyTextInput(textarea=True), 'pfts_comments': MyTextInput(textarea=True), 'compute_soil_carbon': MyTextInput(textarea=True), 'seperate_soil_carbon': MyTextInput(textarea=True), 'harvest_npp_crops': MyTextInput(textarea=True), 'treat_biofuel_npp': MyTextInput(textarea=True), 'npp_litter_output': MyTextInput(textarea=True), 'simulate_bioenergy': MyTextInput(textarea=True), 'transition_cropland': MyTextInput(textarea=True), 'simulate_pasture': MyTextInput(textarea=True), 'main_components_burnt_area': MyTextInput(textarea=True), 'sources_of_ignition': MyTextInput(textarea=True), 'fire_ignition_implemented': MyTextInput(textarea=True), 'natural_ignition_implemented': MyTextInput(textarea=True), 'human_ignition': MyTextInput(textarea=True), 'human_ignition_conditions': MyTextInput(textarea=True), 'how_does_fire_spread': MyTextInput(textarea=True), 'fire_duration_computed': MyTextInput(textarea=True), 'model_compute_fuel_load': MyTextInput(textarea=True), 'list_of_fuel_classes': MyTextInput(textarea=True), 'fuel_moisture_linked': MyTextInput(textarea=True), 'carbon_pools_combusted': MyTextInput(textarea=True), 'combustion_completeness': MyTextInput(textarea=True), 'min_max_burned_area_grid': MyTextInput(textarea=True), 'land_cover_classes_allowed': MyTextInput(textarea=True), 'burned_area_computed_separately': MyTextInput(textarea=True), 'peatland_fires_included': MyTextInput(textarea=True), 'deforestation_or_clearing_included': MyTextInput(textarea=True), 'pastures_represented': MyTextInput(textarea=True), 'cropland_burn_differ': MyTextInput(textarea=True), 'pasture_burn_differ': MyTextInput(textarea=True), 'vegetation_fire_mortality': MyTextInput(textarea=True), }
class Meta: model = BaseImpactModel exclude = ('owners', 'public', 'sector', 'name', 'drkz_folder_name') widgets = { 'short_description': MyTextInput(textarea=True), }
class Meta: model = Forests exclude = ('impact_model', ) widgets = { # Forest Model Set-up Specifications 'initialize_model': MyTextInput(textarea=True), 'data_profound_db': MyTextInput(textarea=True), 'management_implementation': MyTextInput(textarea=True), 'harvesting_simulated': MyTextInput(textarea=True), 'regenerate': MyTextInput(textarea=True), 'unmanaged_simulations': MyTextInput(textarea=True), 'noco2_scenario': MyTextInput(textarea=True), 'leap_years': MyTextInput(textarea=True), 'simulate_minor_tree': MyTextInput(textarea=True), 'nitrogen_simulation': MyTextInput(textarea=True), 'soil_depth': MyTextInput(textarea=True), 'upload_parameter_list': MyTextInput(textarea=True), 'minimum_diameter_tree': MyTextInput(textarea=True), 'model_historically_calibrated': MyTextInput(textarea=True), 'stochastic_element': MyTextInput(textarea=True), # Forest Model Output Specifications 'initial_state': MyTextInput(textarea=True), 'total_calculation': MyTextInput(textarea=True), 'output_dbh_class': MyTextInput(textarea=True), 'output': MyTextInput(textarea=True), 'output_per_pft': MyTextInput(), 'considerations': MyTextInput(textarea=True), 'dynamic_vegetation': MyTextInput(textarea=True), 'nitrogen_limitation': MyTextInput(textarea=True), 'co2_effects': MyTextInput(textarea=True), 'light_interception': MyTextInput(textarea=True), 'light_utilization': MyTextInput(textarea=True), 'phenology': MyTextInput(textarea=True), 'water_stress': MyTextInput(textarea=True), 'heat_stress': MyTextInput(textarea=True), 'evapotranspiration_approach': MyTextInput(textarea=True), 'rooting_depth_differences': MyTextInput(textarea=True), 'root_distribution': MyTextInput(textarea=True), 'permafrost': MyTextInput(textarea=True), 'closed_energy_balance': MyTextInput(textarea=True), 'soil_moisture_surface_temperature_coupling': MyTextInput(textarea=True), 'latent_heat': MyTextInput(textarea=True), 'sensible_heat': MyTextInput(textarea=True), 'mortality_age': MyTextInput(textarea=True), 'mortality_fire': MyTextInput(textarea=True), 'mortality_drought': MyTextInput(textarea=True), 'mortality_insects': MyTextInput(textarea=True), 'mortality_storm': MyTextInput(textarea=True), 'mortality_stochastic_random_disturbance': MyTextInput(textarea=True), 'mortality_other': MyTextInput(textarea=True), 'mortality_remarks': MyTextInput(textarea=True), 'nbp_fire': MyTextInput(textarea=True), 'nbp_landuse_change': MyTextInput(textarea=True), 'nbp_harvest': MyTextInput(textarea=True), 'nbp_other': MyTextInput(textarea=True), 'nbp_comments': MyTextInput(textarea=True), 'list_of_pfts': MyTextInput(textarea=True), 'pfts_comments': MyTextInput(textarea=True), 'assimilation': MyTextInput(textarea=True), 'respiration': MyTextInput(textarea=True), 'carbon_allocation': MyTextInput(textarea=True), 'regeneration_planting': MyTextInput(textarea=True), 'soil_water_balance': MyTextInput(textarea=True), 'carbon_nitrogen_balance': MyTextInput(textarea=True), 'feedbacks_considered': MyTextInput(textarea=True), }
class ForestsForm(BaseSectorForm): template = 'edit_forests.html' upload_parameter_list = forms.CharField( widget=MyTextInput(textarea=True), required=False, label=mark_safe( 'Please upload a list of your parameters as an attachment (Section 7). The list should include species-specific parameters and other parameters not depending on initialization data including the following information: short name, long name, short explanation, unit, value, see here for an example (<a href="http://www.pik-potsdam.de/4c/web_4c/theory/parameter_table_0514.pdf" target="_blank">parameter_table_0514.pdf</a>)' )) class Meta: model = Forests exclude = ('impact_model', ) widgets = { # Forest Model Set-up Specifications 'initialize_model': MyTextInput(textarea=True), 'data_profound_db': MyTextInput(textarea=True), 'management_implementation': MyTextInput(textarea=True), 'harvesting_simulated': MyTextInput(textarea=True), 'regenerate': MyTextInput(textarea=True), 'unmanaged_simulations': MyTextInput(textarea=True), 'noco2_scenario': MyTextInput(textarea=True), 'leap_years': MyTextInput(textarea=True), 'simulate_minor_tree': MyTextInput(textarea=True), 'nitrogen_simulation': MyTextInput(textarea=True), 'soil_depth': MyTextInput(textarea=True), 'upload_parameter_list': MyTextInput(textarea=True), 'minimum_diameter_tree': MyTextInput(textarea=True), 'model_historically_calibrated': MyTextInput(textarea=True), 'stochastic_element': MyTextInput(textarea=True), # Forest Model Output Specifications 'initial_state': MyTextInput(textarea=True), 'total_calculation': MyTextInput(textarea=True), 'output_dbh_class': MyTextInput(textarea=True), 'output': MyTextInput(textarea=True), 'output_per_pft': MyTextInput(), 'considerations': MyTextInput(textarea=True), 'dynamic_vegetation': MyTextInput(textarea=True), 'nitrogen_limitation': MyTextInput(textarea=True), 'co2_effects': MyTextInput(textarea=True), 'light_interception': MyTextInput(textarea=True), 'light_utilization': MyTextInput(textarea=True), 'phenology': MyTextInput(textarea=True), 'water_stress': MyTextInput(textarea=True), 'heat_stress': MyTextInput(textarea=True), 'evapotranspiration_approach': MyTextInput(textarea=True), 'rooting_depth_differences': MyTextInput(textarea=True), 'root_distribution': MyTextInput(textarea=True), 'permafrost': MyTextInput(textarea=True), 'closed_energy_balance': MyTextInput(textarea=True), 'soil_moisture_surface_temperature_coupling': MyTextInput(textarea=True), 'latent_heat': MyTextInput(textarea=True), 'sensible_heat': MyTextInput(textarea=True), 'mortality_age': MyTextInput(textarea=True), 'mortality_fire': MyTextInput(textarea=True), 'mortality_drought': MyTextInput(textarea=True), 'mortality_insects': MyTextInput(textarea=True), 'mortality_storm': MyTextInput(textarea=True), 'mortality_stochastic_random_disturbance': MyTextInput(textarea=True), 'mortality_other': MyTextInput(textarea=True), 'mortality_remarks': MyTextInput(textarea=True), 'nbp_fire': MyTextInput(textarea=True), 'nbp_landuse_change': MyTextInput(textarea=True), 'nbp_harvest': MyTextInput(textarea=True), 'nbp_other': MyTextInput(textarea=True), 'nbp_comments': MyTextInput(textarea=True), 'list_of_pfts': MyTextInput(textarea=True), 'pfts_comments': MyTextInput(textarea=True), 'assimilation': MyTextInput(textarea=True), 'respiration': MyTextInput(textarea=True), 'carbon_allocation': MyTextInput(textarea=True), 'regeneration_planting': MyTextInput(textarea=True), 'soil_water_balance': MyTextInput(textarea=True), 'carbon_nitrogen_balance': MyTextInput(textarea=True), 'feedbacks_considered': MyTextInput(textarea=True), }
class Meta: model = Agriculture exclude = ('impact_model', ) widgets = { 'crops': MyTextInput(textarea=True), 'land_coverage': MyTextInput(textarea=True), 'planting_date_decision': MyTextInput(textarea=True), 'planting_density': MyTextInput(textarea=True), 'crop_cultivars': MyTextInput(textarea=True), 'fertilizer_application': MyTextInput(textarea=True), 'irrigation': MyTextInput(textarea=True), 'crop_residue': MyTextInput(textarea=True), 'initial_soil_water': MyTextInput(textarea=True), 'initial_soil_nitrate_and_ammonia': MyTextInput(textarea=True), 'initial_soil_C_and_OM': MyTextInput(textarea=True), 'initial_crop_residue': MyTextInput(textarea=True), 'lead_area_development': MyTextInput(textarea=True), 'light_interception': MyTextInput(textarea=True), 'light_utilization': MyTextInput(textarea=True), 'yield_formation': MyTextInput(textarea=True), 'crop_phenology': MyTextInput(textarea=True), 'root_distribution_over_depth': MyTextInput(textarea=True), 'stresses_involved': MyTextInput(textarea=True), 'type_of_water_stress': MyTextInput(textarea=True), 'type_of_heat_stress': MyTextInput(textarea=True), 'water_dynamics': MyTextInput(textarea=True), 'evapo_transpiration': MyTextInput(textarea=True), 'soil_CN_modeling': MyTextInput(textarea=True), 'co2_effects': MyTextInput(textarea=True), 'parameters_number_and_description': MyTextInput(textarea=True), 'calibrated_values': MyTextInput(textarea=True), 'output_variable_and_dataset': MyTextInput(textarea=True), 'spatial_scale_of_calibration_validation': MyTextInput(textarea=True), 'temporal_scale_of_calibration_validation': MyTextInput(textarea=True), 'criteria_for_evaluation': MyTextInput(textarea=True), }