├── .gitattributes
├── .github
└── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── AutoUpdater.xml
├── Code_of_Conduct.md
├── Contributing.md
├── License.md
├── README.md
├── ReadMe
├── AreaSource.png
├── Building.png
├── ConcentrationMaps.png
├── DiurnalMeanWindVelocity.png
├── DiurnalWindDirectionFrequency.png
├── Items.md
├── LineSource.png
├── LocalStabilityClasses.png
├── Maps.md
├── PointSource.png
├── PortalSource.png
├── ReceptorPoints.png
├── SectionWindVectors.png
├── Vegetation.png
├── Walls.png
├── WindAnalysis.md
├── WindRoseAtMap.png
├── WindRoseBiasCorrection.png
├── WindRoseNoBiasCorrection.png
├── WindRoseStability.png
├── WindRoseVelocity.png
├── WindVectorsAbsoluteHeight.png
├── WindVectorsRelativeHeightAboveGround.png
└── WindVerticalProfiles.png
├── SampleProjects
├── AscendingBridge.png
├── AscendingBridge
│ ├── Computation
│ │ ├── 00001.grz
│ │ ├── 00004.grz
│ │ ├── 00007.grz
│ │ ├── 00008.grz
│ │ ├── 00009.grz
│ │ ├── 00010.grz
│ │ ├── 00011.grz
│ │ ├── 00012.grz
│ │ ├── 00014.grz
│ │ ├── 00015.grz
│ │ ├── 00017.grz
│ │ ├── 00018.grz
│ │ ├── 00020.grz
│ │ ├── 00021.grz
│ │ ├── 00023.grz
│ │ ├── 00315.gff
│ │ ├── 00315.scl
│ │ ├── 00315.wnd
│ │ ├── 00320.gff
│ │ ├── 00320.scl
│ │ ├── 00320.wnd
│ │ ├── 00325.gff
│ │ ├── 00325.scl
│ │ ├── 00325.wnd
│ │ ├── 00330.gff
│ │ ├── 00330.scl
│ │ ├── 00330.wnd
│ │ ├── 00366.gff
│ │ ├── 00366.scl
│ │ ├── 00366.wnd
│ │ ├── 00371.gff
│ │ ├── 00371.scl
│ │ ├── 00371.wnd
│ │ ├── 00644.gff
│ │ ├── 00644.scl
│ │ ├── 00644.wnd
│ │ ├── 00649.gff
│ │ ├── 00649.scl
│ │ ├── 00649.wnd
│ │ ├── 00654.gff
│ │ ├── 00654.scl
│ │ ├── 00654.wnd
│ │ ├── 00659.gff
│ │ ├── 00659.scl
│ │ ├── 00659.wnd
│ │ ├── Buildings.txt
│ │ ├── DispNr.txt
│ │ ├── GRAL.geb
│ │ ├── GRAL_FlowFields.txt
│ │ ├── GRAL_Topography.txt
│ │ ├── GRAL_Trans_Conc_Threshold.txt
│ │ ├── GRAL_Vert_Conc.txt
│ │ ├── GRAL_geometries.txt
│ │ ├── GRAL_topofile.txt
│ │ ├── GRAMM.geb
│ │ ├── GRAMMin.dat
│ │ ├── IIN.dat
│ │ ├── Integrationtime.txt
│ │ ├── Logfile_GRAMM.txt
│ │ ├── Max_Proc.txt
│ │ ├── Percent.txt
│ │ ├── Pollutant.txt
│ │ ├── Receptor.dat
│ │ ├── Receptor_GRAMM.dat
│ │ ├── Vertical_Concentrations.txt
│ │ ├── building_heights.txt
│ │ ├── buildings.dat
│ │ ├── emissions001.dat
│ │ ├── emissions_timeseries.txt
│ │ ├── ggeom.asc
│ │ ├── in.dat
│ │ ├── landuse.asc
│ │ ├── line.dat
│ │ ├── meteopgt.all
│ │ ├── mettimeseries.dat
│ │ └── windfeld.txt
│ ├── Emissions
│ │ ├── Asources.txt
│ │ ├── Buildings.txt
│ │ ├── LineSourceData.txt
│ │ ├── Lsources.txt
│ │ ├── Portalsources.txt
│ │ ├── Psources.txt
│ │ ├── Vegetation.txt
│ │ └── Walls.txt
│ ├── Maps
│ │ ├── 20200324_083644_77410_GeoTIFF.tfw
│ │ ├── 20200324_083644_77410_GeoTIFF.tif
│ │ ├── Mean_Sample_NOx_Highway_3m.txt
│ │ ├── Mean_Sample_NOx_total_3m.txt
│ │ ├── albedo.txt
│ │ ├── conductivity.txt
│ │ ├── density.txt
│ │ ├── emissivity.txt
│ │ ├── ggeom.txt
│ │ ├── moisture.txt
│ │ └── roughness.txt
│ └── Settings
│ │ ├── Landuse.txt
│ │ ├── Meteorology.txt
│ │ ├── NOX.lay
│ │ ├── Pollutant.txt
│ │ ├── Settings1.ini
│ │ ├── Settings2.ini
│ │ ├── Sourcegroups.txt
│ │ ├── Topography.txt
│ │ ├── diurnal_emissionmod.txt
│ │ ├── emissionmodulations.txt
│ │ ├── seasonal_emissionmod.txt
│ │ └── sections.txt
├── PointSourceProject.png
├── PointSourceProject
│ ├── Computation
│ │ ├── GRAL.geb
│ │ ├── GRAMMin.dat
│ │ ├── Max_Proc.txt
│ │ ├── emissions001.dat
│ │ ├── in.dat
│ │ ├── meteopgt.all
│ │ ├── mettimeseries.dat
│ │ └── point.dat
│ ├── Emissions
│ │ └── Psources.txt
│ ├── Maps
│ │ ├── Background.jpg
│ │ ├── Background.jpgw
│ │ ├── Mean_Original_NOx_stack-source_3m.txt
│ │ └── Mean_Original_NOx_total_3m.txt
│ ├── Metfiles
│ │ └── Meteo.met
│ └── Settings
│ │ ├── Pollutant.txt
│ │ ├── Settings.ini
│ │ ├── Settings2.ini
│ │ ├── Sourcegroups.txt
│ │ ├── diurnal_emissionmod.txt
│ │ ├── emissionmodulations.txt
│ │ └── seasonal_emissionmod.txt
└── README.md
├── _config.yml
├── runtimeconfig.template.json
└── src
├── .vscode
├── launch.json
└── tasks.json
├── GRAL3DFunctions
├── X_3D_MeshExtensions.cs
├── X_3D_Win.xaml
└── X_3D_Win.xaml.cs
├── GRALBackgroundworkers
├── BackgroundWorker.Designer.cs
├── BackgroundWorker.cs
├── BackgroundWorker.resx
├── BackgroundWorkerData.cs
├── Background_Allinout.cs
├── Background_Compost.cs
├── Background_EvalTimeSeries.cs
├── Background_GRALMeteoFile.cs
├── Background_GRAMMExport.cs
├── Background_Gen_MeteoFile.cs
├── Background_HighPercentiles.cs
├── Background_Mean.cs
├── Background_MeanMaxDaymax.cs
├── Background_MeanWindVelocity.cs
├── Background_OdourHours.cs
├── Background_OdourHoursTransient.cs
├── Background_RasterOperations.cs
├── Background_ReceptorConcentration.cs
├── Background_Reorder.cs
├── CheckZipCRC23.cs
└── Point3DData.cs
├── GRALConcentrationVarianceModel
├── Concentration_Variance_Model.cs
└── GAMMA_Function.cs
├── GRALData
├── BaseMapData.cs
├── ContourPolygons.cs
├── DecayRates.cs
├── DomainArea.cs
├── DouglasPeucker.cs
├── DrawingObject.cs
├── Enumerations.cs
├── EventArgsCoors.cs
├── GuiSettingsData.cs
├── PGTAll.cs
├── PointDStruct.cs
├── PointD_3d.cs
├── ProjectSettings.cs
├── SelectedPointNumber.cs
├── TopoModifyData.cs
├── WindData.cs
└── WindRoseSettings.cs
├── GRALDomForms
├── AnimatedGIF.cs
├── CreateAnimatedGIFs.Designer.cs
├── CreateAnimatedGIFs.cs
├── CreateAnimatedGIFs.resx
├── DialogCreateMeteoStation.Designer.cs
├── DialogCreateMeteoStation.cs
├── DialogCreateMeteoStation.resx
├── DialogModifyGRALTopography.Designer.cs
├── DialogModifyGRALTopography.cs
├── DialogModifyGRALTopography.resx
├── Dialog_3D.Designer.cs
├── Dialog_3D.cs
├── Dialog_3D.resx
├── Dispersionsituation.Designer.cs
├── Dispersionsituation.cs
├── Dispersionsituation.resx
├── DomainWindRoseDialog.Designer.cs
├── DomainWindRoseDialog.cs
├── DomainWindRoseDialog.resx
├── Georeference1.Designer.cs
├── Georeference1.cs
├── Georeference1.resx
├── Georeference2.Designer.cs
├── Georeference2.cs
├── Georeference2.resx
├── Infobox.Designer.cs
├── Infobox.cs
├── Infobox.resx
├── InputCoordinates.Designer.cs
├── InputCoordinates.cs
├── InputCoordinates.resx
├── MapScaleInput.Designer.cs
├── MapScaleInput.cs
├── MapScaleInput.resx
├── MatchMultipleObservations.Designer.cs
├── MatchMultipleObservations.cs
├── MatchMultipleObservations.resx
├── MatchMultipleObservationsAutoTune.cs
├── MatchMultipleObservationsData.cs
├── MatchMultipleObservationsTuning.cs
├── MathrasterNOxConversion.Designer.cs
├── MathrasterNOxConversion.cs
├── MathrasterNOxConversion.resx
├── Mathrasteroperation.Designer.cs
├── Mathrasteroperation.cs
├── Mathrasteroperation.resx
├── MeteoInput_Matchlocalobs.Designer.cs
├── MeteoInput_Matchlocalobs.cs
├── MeteoInput_Matchlocalobs.resx
├── Piediagram.Designer.cs
├── Piediagram.cs
├── Piediagram.resx
├── Search_Item.Designer.cs
├── Search_Item.cs
├── Search_Item.resx
├── SectionDrawing.Designer.cs
├── SectionDrawing.Designer1.cs
├── SectionDrawing.cs
├── SectionDrawing.resx
├── SelectItem.Designer.cs
├── SelectItem.cs
├── SelectItem.resx
├── SelectMultiplePoints.Designer.cs
├── SelectMultiplePoints.cs
├── SelectMultiplePoints.resx
├── VerticalProfileConcentration.Designer.cs
├── VerticalProfileConcentration.cs
├── VerticalProfileConcentration.resx
├── VerticalProfile_Dynamic.Designer.cs
├── VerticalProfile_Dynamic.cs
├── VerticalProfile_Dynamic.resx
├── VerticalProfile_Static.Designer.cs
├── VerticalProfile_Static.cs
├── VerticalProfile_Static.resx
├── ViewFrameSaveAndLoad.Designer.cs
├── ViewFrameSaveAndLoad.cs
├── ViewFrameSaveAndLoad.resx
├── WindFileData.cs
└── WindfieldSectionDrawing.cs
├── GRALDomain
├── Domain.Designer.cs
├── Domain.cs
├── Domain.resx
├── DomainGrammOnline.cs
├── Domain_CloseForm.cs
├── Domain_ContourCreateMap.cs
├── Domain_ContourSimpleContour.cs
├── Domain_Contour_LoadRasterMaps.cs
├── Domain_Domain_Load.cs
├── Domain_Domain_Load_GRAMMOnline.cs
├── Domain_EditAndSaveAreaSources.cs
├── Domain_EditAndSaveBuildings.cs
├── Domain_EditAndSaveLineSources.cs
├── Domain_EditAndSavePointSources.cs
├── Domain_EditAndSavePortalSources.cs
├── Domain_EditAndSaveReceptors.cs
├── Domain_EditAndSaveVegetation.cs
├── Domain_EditAndSaveWalls.cs
├── Domain_Evaluate_3DConcentration.cs
├── Domain_GRAMM_Export.cs
├── Domain_Georeferencing.cs
├── Domain_LoadWindDataMatchProcess.cs
├── Domain_Match.cs
├── Domain_Meteo.cs
├── Domain_PostmapCalculate.cs
├── Domain_SearchItems.cs
├── Domain_Settings_Load_Save.cs
├── Domain_Vectors_LoadRasterMaps.cs
├── Domain_Write_Esri.cs
├── DrawMap
│ ├── Domain_DrawAreaSources.cs
│ ├── Domain_DrawBaseMap.cs
│ ├── Domain_DrawBuildings.cs
│ ├── Domain_DrawColorScales.cs
│ ├── Domain_DrawConcentrationValues.cs
│ ├── Domain_DrawContourMap.cs
│ ├── Domain_DrawItemInfos.cs
│ ├── Domain_DrawLineSources.cs
│ ├── Domain_DrawPointSources.cs
│ ├── Domain_DrawPortalSources.cs
│ ├── Domain_DrawPostMap.cs
│ ├── Domain_DrawRaster.cs
│ ├── Domain_DrawReceptors.cs
│ ├── Domain_DrawRubberLines.cs
│ ├── Domain_DrawScaleBar.cs
│ ├── Domain_DrawShapeMap.cs
│ ├── Domain_DrawVectorMap.cs
│ ├── Domain_DrawVegetation.cs
│ ├── Domain_DrawWalls.cs
│ ├── Domain_DrawWindrose.cs
│ └── Domain_Draw_Map.cs
└── PictureboxMouseAndKeys
│ ├── DomainItemMoveEdgePoint.cs
│ ├── DomainItemSetEdgePoint.cs
│ ├── DomainPictureboxKeyDown.cs
│ ├── DomainPictureboxMouseDown.cs
│ ├── DomainPictureboxMouseDownLeft.cs
│ ├── DomainPictureboxMouseDownRight.cs
│ ├── DomainPictureboxMouseMove.cs
│ ├── DomainRightClickArea.cs
│ ├── DomainRightClickBuilding.cs
│ ├── DomainRightClickLine.cs
│ ├── DomainRightClickPoint.cs
│ ├── DomainRightClickPortal.cs
│ ├── DomainRightClickReceptor.cs
│ ├── DomainRightClickVegetation.cs
│ └── DomainRightClickWall.cs
├── GRALDomainImportFiles
├── Domain_Import_AreaSources.cs
├── Domain_Import_Buildings.cs
├── Domain_Import_LineSources.cs
├── Domain_Import_PointSources.cs
├── Domain_Import_PortalSources.cs
├── Domain_Import_ReceptorPoints.cs
├── Domain_Import_Vegetation.cs
├── Domain_Import_Walls.cs
└── Domain_Import_WindRoses.cs
├── GRALIO
├── CreateGralTopography.cs
├── CreateGrammGrid.cs
├── EsriGridHeader.cs
├── IO_ESRIFileRead.cs
├── IO_ESRIFileWrite.cs
├── IO_GGEOM.cs
├── IO_InDat.cs
├── IO_InDatData.cs
├── IO_ReadFiles.cs
├── IO_ReadGFF.cs
├── Landuse.cs
├── ReadWorldFileHeader.cs
├── Read_DispersionClasses.cs
└── Windfield_Reader.cs
├── GRALItemData
├── CopyObjects.cs
├── DepositionSettings.cs
├── FileWatcherCollection.cs
├── ItemDataAreaSource.cs
├── ItemDataAreaSourceIO.cs
├── ItemDataBuildings.cs
├── ItemDataBuildingsIO.cs
├── ItemDataDeposition.cs
├── ItemDataLineSource.cs
├── ItemDataLineSourceIO.cs
├── ItemDataNemo.cs
├── ItemDataPointSource.cs
├── ItemDataPointSourceIO.cs
├── ItemDataPollutants.cs
├── ItemDataPortalSource.cs
├── ItemDataPortalSourceIO.cs
├── ItemDataReceptors.cs
├── ItemDataReceptorsIO.cs
├── ItemDataSourceGroups.cs
├── ItemDataVegetation.cs
├── ItemDataVegetationIO.cs
├── ItemDataWall.cs
├── ItemDataWallIO.cs
├── ItemFormShowFirst.cs
├── MapScaleData.cs
├── MapSizes.cs
├── MatchMeteoData.cs
├── NorthArrowData.cs
└── VerticalWindProfile.cs
├── GRALItemForms
├── EditAreaSources.Designer.cs
├── EditAreaSources.cs
├── EditAreaSources.resx
├── EditBuildings.Designer.cs
├── EditBuildings.cs
├── EditBuildings.resx
├── EditDeposition.Designer.cs
├── EditDeposition.cs
├── EditDeposition.resx
├── EditLineSources.Designer.cs
├── EditLineSources.cs
├── EditLineSources.resx
├── EditPointSources.Designer.cs
├── EditPointSources.cs
├── EditPointSources.resx
├── EditPortalSources.Designer.cs
├── EditPortalSources.cs
├── EditPortalSources.resx
├── EditReceptors.Designer.cs
├── EditReceptors.cs
├── EditReceptors.resx
├── EditSelectSourcegroup.Designer.cs
├── EditSelectSourcegroup.cs
├── EditSelectSourcegroup.resx
├── EditTimeSeriesValues.Designer.cs
├── EditTimeSeriesValues.cs
├── EditTimeSeriesValues.resx
├── EditVegetation.Designer.cs
├── EditVegetation.cs
├── EditVegetation.resx
├── EditWalls.Designer.cs
├── EditWalls.cs
├── EditWalls.resx
├── GRAMM-GRAL.Designer.cs
├── GRAMM-GRAL.cs
├── GRAMM-GRAL.resx
├── LayoutManager.Designer.cs
├── LayoutManager.cs
├── LayoutManager.resx
├── LayoutManagerChangeValueAndColor.Designer.cs
├── LayoutManagerChangeValueAndColor.cs
├── LayoutManagerChangeValueAndColor.resx
├── Objectmanager.Designer.cs
├── Objectmanager.cs
├── Objectmanager.resx
├── ShowVertices.Designer.cs
├── ShowVertices.cs
└── ShowVertices.resx
├── GRALMainFunctions
├── Main_AnalyzingTools.cs
├── Main_CollectPollutants.cs
├── Main_CreateGRAMMInputFiles.cs
├── Main_DeleteFiles.cs
├── Main_DrawModulationPreview.cs
├── Main_Filewatchers.cs
├── Main_GRALSettings.cs
├── Main_GRAMMGrid.cs
├── Main_GRAMMOnline.cs
├── Main_GRAMMSettings.cs
├── Main_GenerateEmissionFiles.cs
├── Main_GenerateMettimeSeriesAndMeteopgt.cs
├── Main_ImportGrammWindfield.cs
├── Main_LoadProject.cs
├── Main_LoadProject.resx
├── Main_MeteoTab.cs
├── Main_NEMO.cs
├── Main_SourceGroups.cs
├── Main_StartGral.cs
├── Main_StartGramm.cs
├── Main_TerrainInterpolation.cs
└── Main_WriteLogFiles.cs
├── GRALMainSubForms
├── Allinallout.Designer.cs
├── Allinallout.cs
├── Allinallout.resx
├── Amend_Landuse.Designer.cs
├── Amend_Landuse.cs
├── Amend_Landuse.resx
├── AppInfo.Designer.cs
├── AppInfo.cs
├── AppInfo.resx
├── DecayRateForm.Designer.cs
├── DecayRateForm.cs
├── DecayRateForm.resx
├── DefineSourcegroups.Designer.cs
├── DefineSourcegroups.cs
├── DefineSourcegroups.resx
├── DiurnalWinddirections.Designer.cs
├── DiurnalWinddirections.cs
├── DiurnalWinddirections.resx
├── DiurnalWindspeed.Designer.cs
├── DiurnalWindspeed.cs
├── DiurnalWindspeed.resx
├── Emissionvariation.Designer.cs
├── Emissionvariation.cs
├── Emissionvariation.resx
├── FlexibleStretchingFactors.Designer.cs
├── FlexibleStretchingFactors.cs
├── FlexibleStretchingFactors.resx
├── GUI_Settings.Designer.cs
├── GUI_Settings.cs
├── GUI_Settings.resx
├── Input_Odour.cs
├── Input_Odour.designer.cs
├── Input_Odour.resx
├── Kompost.Designer.cs
├── Kompost.cs
├── Kompost.resx
├── Landuse_Select.Designer.cs
├── Landuse_Select.cs
├── Landuse_Select.resx
├── Main_SpecialSettings.Designer.cs
├── Main_SpecialSettings.cs
├── Main_SpecialSettings.resx
├── MeteoInput.Designer.cs
├── MeteoInput.cs
├── MeteoInput.resx
├── MeteoSelectTimeInterval.Designer.cs
├── MeteoSelectTimeInterval.cs
├── MeteoSelectTimeInterval.resx
├── MostRecentFiles.Designer.cs
├── MostRecentFiles.cs
├── MostRecentFiles.resx
├── Nemostartwindow.Designer.cs
├── Nemostartwindow.cs
├── Nemostartwindow.resx
├── OnlineParameters.Designer.cs
├── OnlineParameters.cs
├── OnlineParameters.resx
├── SelectSourcegroups.Designer.cs
├── SelectSourcegroups.cs
├── SelectSourcegroups.resx
├── Select_horizontal_Layer.Designer.cs
├── Select_horizontal_Layer.cs
├── Select_horizontal_Layer.resx
├── Selectslice.Designer.cs
├── Selectslice.cs
├── Selectslice.resx
├── ShowEmissionTimeseries.Designer.cs
├── ShowEmissionTimeseries.cs
├── ShowEmissionTimeseries.resx
├── Stabilityclasses.Designer.cs
├── Stabilityclasses.cs
├── Stabilityclasses.resx
├── TotalEmissions.Designer.cs
├── TotalEmissions.cs
├── TotalEmissions.resx
├── UpdateNotification.Designer.cs
├── UpdateNotification.cs
├── UpdateNotification.resx
├── VerticalLayerHeights.Designer.cs
├── VerticalLayerHeights.cs
├── VerticalLayerHeights.resx
├── WindDistribution.Designer.cs
├── WindDistribution.cs
├── WindDistribution.resx
├── Windclasses.Designer.cs
├── Windclasses.cs
├── Windclasses.resx
├── Windrose.Designer.cs
├── Windrose.cs
├── Windrose.resx
├── WindroseTable.Designer.cs
├── WindroseTable.cs
└── WindroseTable.resx
├── GRALMathFunctions
└── MathParser.cs
├── GRALMathParser
└── MathParser.cs
├── GRALMessageForms
├── FileDeleteMessage.Designer.cs
├── FileDeleteMessage.cs
├── FileDeleteMessage.resx
├── MessageBoxTemporary.Designer.cs
├── MessageBoxTemporary.cs
├── MessageBoxTemporary.resx
├── Messagewindow.Designer.cs
├── Messagewindow.cs
├── Messagewindow.resx
├── Waitprogressbar.Designer.cs
├── Waitprogressbar.cs
├── Waitprogressbar.resx
├── Waitprogressbar_Cancel.Designer.cs
├── Waitprogressbar_Cancel.cs
└── Waitprogressbar_Cancel.resx
├── GRALShapeFiles
├── ParseDBF.Designer.cs
├── ParseDBF.cs
├── ParseDBF.resx
├── SHPLine.cs
├── SHPPolygon.cs
├── ShapeAreaDialog.Designer.cs
├── ShapeAreaDialog.cs
├── ShapeAreaDialog.resx
├── ShapeBuildingDialog.Designer.cs
├── ShapeBuildingDialog.cs
├── ShapeBuildingDialog.resx
├── ShapeImport_AddColumn.Designer.cs
├── ShapeImport_AddColumn.cs
├── ShapeImport_AddColumn.resx
├── ShapeLineDialog.Designer.cs
├── ShapeLineDialog.cs
├── ShapeLineDialog.resx
├── ShapePointDialog.Designer.cs
├── ShapePointDialog.cs
├── ShapePointDialog.resx
├── ShapeReceptorDialog.Designer.cs
├── ShapeReceptorDialog.cs
├── ShapeReceptorDialog.resx
├── ShapeWriterBourkeLines.cs
├── Shapereader.cs
└── Shapewriter.cs
├── GRALSocialExplorer
├── DbfColumn.cs
├── DbfDataTruncateException.cs
├── DbfFile.cs
├── DbfHeader.cs
└── DbfRecord.cs
├── GRALStaticFunctions
├── Bresenham.cs
├── FileDelete.cs
├── GetMetFileSectionWidth.cs
└── StaticFunctions.cs
├── GRAMMERA5
└── GRAMM_ERA5.cs
├── GRAMMERA5Forcing
└── GRAMM_ERA5.cs
├── Gral.csproj
├── Gral.sln
├── Gral_Win_Lin.sln
├── Main.Designer.cs
├── Main.cs
├── Main.resx
├── Program.cs
├── Properties
├── AssemblyInfo.cs
├── PublishProfiles
│ └── FolderProfile.pubxml
├── Resources.Designer.cs
├── Resources.resx
├── Settings.Designer.cs
├── Settings.settings
└── app.manifest
├── Resources
├── 456.gif
├── 457.gif
├── Add.bmp
├── AddSmall.bmp
├── AreaSource.gif
├── ArrowDown.GIF
├── ArrowLeft.bmp
├── ArrowLeft.gif
├── ArrowRight.gif
├── ArrowUp.GIF
├── Bitmap1.bmp
├── Clipboard.bmp
├── Cross.gif
├── DeleteSmall.bmp
├── Domain.gif
├── Down.png
├── Farbpalette.bmp
├── GRAL_Logo.gif
├── Georeference1.bmp
├── Hand.gif
├── Info.jpg
├── Konfig.bmp
├── KonfigButton.bmp
├── KonfigYellow.bmp
├── Linesource.gif
├── Logo.gif
├── Lupe.bmp
├── Lupe.gif
├── Lupe.png
├── Lupe1.bmp
├── Lupe_minus.png
├── Lupe_plus.gif
├── Modulation_diurnal.txt
├── Modulation_seasonal.txt
├── NEMO_velocities.txt
├── New.bmp
├── New1.bmp
├── North.gif
├── OeffnenMultiple.bmp
├── Open.bmp
├── Open1.bmp
├── Panelzoom.gif
├── Pin.bmp
├── Pin1.bmp
├── Pin_Down.bmp
├── Pin_Down1.bmp
├── Pointsource.bmp
├── Pointsource.gif
├── Pointsource1.gif
├── Portal.gif
├── Portal1.gif
├── Restore.bmp
├── RestoreSmall.bmp
├── Rueckgaengig.bmp
├── Save.bmp
├── Save1.bmp
├── Save2.bmp
├── SaveSmall.bmp
├── StopRecording.bmp
├── Thumbs.db
├── TimeSeries.bmp
├── TimeSeriesSelected.bmp
├── TrashcanSmall.bmp
├── Up.png
├── WrenchBlue.png
├── WrenchBlue1.png
├── WrenchYellow.png
├── WrenchYellow1.png
├── Zeiger.gif
├── abreak.txt
├── abreak_KKR.txt
├── abreak_LNF.txt
├── abreak_LSZ.txt
├── abreak_MR-2T.txt
├── abreak_MR-4T.txt
├── abreak_PKW.txt
├── abreak_RB.txt
├── abreak_SB.txt
├── abreak_SoloLKW.txt
├── delete.bmp
├── favicon1.ico
├── harrow.cur
├── lmove.cur
├── lock_closed.bmp
├── lock_open.bmp
├── logo.bmp
├── netcdf4.dll
├── section_wind.bmp
├── thrash.bmp
├── trashcan.bmp
├── update.bmp
├── update.png
├── win32_MoveDrop32x32.gif
├── zoom.bmp
├── zoom.cur
├── zoom_in.cur
└── zoom_out.cur
├── favicon.ico
├── favicon1.ico
└── global.json
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | - OS: [e.g. iOS]
27 | - Version [e.g. 20.01]
28 |
29 | **Additional context**
30 | Add any other context about the problem here.
31 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/AutoUpdater.xml:
--------------------------------------------------------------------------------
1 |
2 | -
3 |
2.4.1.1
4 | https://gral.tugraz.at/
5 | https://github.com/GralDispersionModel/GRAL/releases
6 | false
7 |
--------------------------------------------------------------------------------
/Contributing.md:
--------------------------------------------------------------------------------
1 | # Contributing to GRAL Graphical User Interface (GUI)
2 | Thank you very much for developing the GRAL User Interface (GUI) further or for fixing bugs, so that the entire community can benefit from it!
3 |
4 | Do not hesitate to contact the project maintainers at the beginning of your work.
5 |
6 | ## Branch Configuration
7 |
8 | ```
9 | -- main : production and bug fixes
10 | -- V2XXX : release ready commits and bug fixes for the upcoming version
11 | -- features/feature-xx: always branch from develop and delete after merging to develop
12 | ```
13 |
14 | - *main* branch is inteded for production release. Keep it simple and easy to rollback
15 | - *V2XXX* branch is for release preparation. Only for release ready commits.
16 |
17 |
18 | ## Recommended Process
19 |
20 | If you're developing a **new feature**
21 |
22 | 1. Create a feature branch from `develop` branch
23 | 2. Branch name dependend on your new `feature`
24 | 3. When your code is ready for release, pull request to the `develop` branch
25 | 4. Delete the feature branch
26 |
27 |
28 | If you're making a **bug fix**
29 |
30 | 1. Pull request to the `develop` branch
31 | 2. Add an issue tag in the commit message or pull request message
32 |
33 | If you're making a **hot fix**, which has to be deployed immediately.
34 | 1. Pull request to `develop` **and** `main` branch
35 |
36 | ## I don't want to contribute, I just have a question!
37 | Support is provided by the [Technical University of Graz, Austria](http://lampz.tugraz.at/~gral/).
38 |
39 | ## Found a Bug?
40 | If you find a bug in the source code, you can help us by submitting an issue to our GitHub Repository. Even better, you can submit a Pull Request with a fix or send us an E Mail.
41 | Please test the bug fix by one ore more projects and document the changes.
42 |
43 | ## What should I know before I get started?
44 | GRAL GUI is developed for the .NetFramework. You can use MonoDevelop for development across platforms or Visual Studio 2017 or above in Windows.
45 |
46 | ## Styleguides
47 | We are trying to comply with the Microsoft design rules for new developments but the application has been grown historically.
48 |
49 | ### Git Commit Messages
50 | * Use the present tense ("Add feature" not "Added feature")
51 | * Use the imperative mood ("Change array a[] to..." not "Changes array a[] to...")
52 | * Reference issues and pull requests liberally after the first line
53 |
54 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # GRAL Dispersion Model GUI
2 | This application is a graphical user interface (GUI), designed to simplify the numerous input values for GRAL (atmospheric dispersion model) and GRAMM (non-hydrostatic mesoscale wind-field model), [edit sources and obstacles](ReadMe/Items.md), import data from shape files, [analyze and display results](ReadMe/Maps.md) as contour lines, visualize wind vectors, and verify the input and output of the GRAL and GRAMM model. It is also possible to visualize and classify [meteorological input data](ReadMe/WindAnalysis.md) (wind roses, stability or velocity classes, diurnal frequencies of wind directions, diurnal mean wind velocity).
3 | There is also a [youtube](https://www.youtube.com/watch?v=vfEVl-j4P5s) tutorial that shows and explains some basic functions of the GUI.
4 |
5 | The application has been migrated from .NETFramework to .NET6 after the release of version 22.03 and to .NET8 for version 23.11. Since the .NETFramework is no longer developed by Microsoft, we expect the following advantages from the migration in the future:
6 | * High dpi support
7 | * Performance improvements
8 | * Publishing of single files including the entire required framework
9 | * Improvements due to future developments by Microsoft
10 | * Native Windows-ARM support
11 |
12 | The MonoDevelop branch contains a version of the GUI that is intended to be used with MonoDevelop for Linux (the distribution we use is Debian 11).
13 |
14 | ## Built With
15 | Windows [Visual Studio 2022 or higher](https://visualstudio.microsoft.com/de/downloads/)
16 | Linux [MonoDevelop](https://www.monodevelop.com/)
17 |
18 | ## Official Release and Documentation
19 | The current validated GUI versions for Windows and a comprehensive manual are available at the [GRAL homepage](https://gral.tugraz.at/)
20 |
21 | ## Contributing
22 | Everyone is invited to contribute to the project [Contributing](Contributing.md)
23 |
24 | ## Versioning
25 | The version number includes the release year and the release month, e.g. 20.01.
26 |
27 | ## License
28 | This project is licensed under the GPL 3.0 License - see the [License](License.md) file for details
29 |
--------------------------------------------------------------------------------
/ReadMe/AreaSource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/AreaSource.png
--------------------------------------------------------------------------------
/ReadMe/Building.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/Building.png
--------------------------------------------------------------------------------
/ReadMe/ConcentrationMaps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/ConcentrationMaps.png
--------------------------------------------------------------------------------
/ReadMe/DiurnalMeanWindVelocity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/DiurnalMeanWindVelocity.png
--------------------------------------------------------------------------------
/ReadMe/DiurnalWindDirectionFrequency.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/DiurnalWindDirectionFrequency.png
--------------------------------------------------------------------------------
/ReadMe/Items.md:
--------------------------------------------------------------------------------
1 | # GRAL Edit Items
2 | Import sources and items from shape files and/or edit them manually in the GUI.
3 |
4 | | Point Sources | Area Sources | Line Sources | Portal Sources |
5 | |------------|-------------|-------------|-------------|
6 | | | | | | --
7 |
8 | | Walls | Vegetation Areas | Buildings |
9 | |------------|-------------|-------------|
10 | | | | | --
11 |
--------------------------------------------------------------------------------
/ReadMe/LineSource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/LineSource.png
--------------------------------------------------------------------------------
/ReadMe/LocalStabilityClasses.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/LocalStabilityClasses.png
--------------------------------------------------------------------------------
/ReadMe/Maps.md:
--------------------------------------------------------------------------------
1 | # GRAL Visualize Maps
2 | You can use the GUI to visualize calculation results, maps or meteorological data. A selection of visualizations is shown here.
3 |
4 | | Concentration maps |
5 | |------------|
6 | | | --
7 |
8 | | Wind vectors absolute height above ground | Wind vectors relative height above ground |
9 | |------------|-------------|
10 | | | | --
11 |
12 | | Wind roses at the map | Wind vertical profiles |
13 | |------------|-------------|
14 | | | | --
15 |
16 | | Wind vectors on sections | Local stability classes |
17 | |------------|-------------|
18 | | | | --
--------------------------------------------------------------------------------
/ReadMe/PointSource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/PointSource.png
--------------------------------------------------------------------------------
/ReadMe/PortalSource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/PortalSource.png
--------------------------------------------------------------------------------
/ReadMe/ReceptorPoints.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/ReceptorPoints.png
--------------------------------------------------------------------------------
/ReadMe/SectionWindVectors.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/SectionWindVectors.png
--------------------------------------------------------------------------------
/ReadMe/Vegetation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/Vegetation.png
--------------------------------------------------------------------------------
/ReadMe/Walls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/Walls.png
--------------------------------------------------------------------------------
/ReadMe/WindAnalysis.md:
--------------------------------------------------------------------------------
1 | # GRAL Wind Data Analysis
2 | You can visualize wind data in numerous ways. For classified wind data, a bias correction (automatic detection of classified data and upsampling) was provided to avoid errors when splitting the classified wind data into the wind sectors of the wind roses. Wind roses can be plotted with sector widths of 22.5°, 15° or 10°.
3 | | Wind roses for wind speed | Wind roses for dispersion classes |
4 | |------------|-------------|
5 | | | | --
6 |
7 | | Diurnal mean wind velocity | Diurnal wind direction frequency |
8 | |------------|-------------|
9 | | | |--
10 |
11 | | Wind rose with bias correction | Wind rose without bias correction |
12 | |------------|-------------|
13 | | | |--
14 |
--------------------------------------------------------------------------------
/ReadMe/WindRoseAtMap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/WindRoseAtMap.png
--------------------------------------------------------------------------------
/ReadMe/WindRoseBiasCorrection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/WindRoseBiasCorrection.png
--------------------------------------------------------------------------------
/ReadMe/WindRoseNoBiasCorrection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/WindRoseNoBiasCorrection.png
--------------------------------------------------------------------------------
/ReadMe/WindRoseStability.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/WindRoseStability.png
--------------------------------------------------------------------------------
/ReadMe/WindRoseVelocity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/WindRoseVelocity.png
--------------------------------------------------------------------------------
/ReadMe/WindVectorsAbsoluteHeight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/WindVectorsAbsoluteHeight.png
--------------------------------------------------------------------------------
/ReadMe/WindVectorsRelativeHeightAboveGround.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/WindVectorsRelativeHeightAboveGround.png
--------------------------------------------------------------------------------
/ReadMe/WindVerticalProfiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/ReadMe/WindVerticalProfiles.png
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge.png
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00001.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00001.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00004.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00004.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00007.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00007.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00008.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00008.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00009.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00009.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00010.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00010.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00011.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00011.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00012.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00012.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00014.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00014.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00015.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00015.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00017.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00017.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00018.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00018.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00020.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00020.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00021.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00021.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00023.grz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00023.grz
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00315.gff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00315.gff
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00315.scl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00315.scl
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00315.wnd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00315.wnd
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00320.gff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00320.gff
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00320.scl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00320.scl
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00320.wnd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00320.wnd
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00325.gff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00325.gff
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00325.scl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00325.scl
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00325.wnd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00325.wnd
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00330.gff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00330.gff
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00330.scl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00330.scl
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00330.wnd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00330.wnd
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00366.gff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00366.gff
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00366.scl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00366.scl
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00366.wnd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00366.wnd
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00371.gff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00371.gff
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00371.scl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00371.scl
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00371.wnd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00371.wnd
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00644.gff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00644.gff
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00644.scl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00644.scl
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00644.wnd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00644.wnd
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00649.gff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00649.gff
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00649.scl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00649.scl
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00649.wnd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00649.wnd
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00654.gff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00654.gff
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00654.scl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00654.scl
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00654.wnd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00654.wnd
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00659.gff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00659.gff
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00659.scl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00659.scl
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/00659.wnd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/00659.wnd
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/DispNr.txt:
--------------------------------------------------------------------------------
1 | 23
2 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/GRAL.geb:
--------------------------------------------------------------------------------
1 | 10 !cell-size for cartesian wind field in GRAL in x-direction
2 | 10 !cell-size for cartesian wind field in GRAL in y-direction
3 | 1.5,1.00,25,1.02,50,1.05,150,1.1,250,1.2 !cell-size for cartesian wind field in GRAL in z-direction, streching factor for increasing cells heights with height
4 | 142 !number of cells for counting grid in GRAL in x-direction
5 | 154 !number of cells for counting grid in GRAL in y-direction
6 | 1 !Number of horizontal slices
7 | 1, !Source groups to be computed seperated by a comma
8 | 80350 !West border of GRAL model domain [m]
9 | 81770 !East border of GRAL model domain [m]
10 | 228950 !South border of GRAL model domain [m]
11 | 230490 !North border of GRAL model domain [m]
12 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/GRAL_FlowFields.txt:
--------------------------------------------------------------------------------
1 | 1
2 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/GRAL_Trans_Conc_Threshold.txt:
--------------------------------------------------------------------------------
1 | 0.0150
2 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/GRAL_Vert_Conc.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/GRAL_Vert_Conc.txt
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/GRAL_geometries.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/GRAL_geometries.txt
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/GRAMM.geb:
--------------------------------------------------------------------------------
1 | 26 !number of cells in x-direction
2 | 23 !number of cells in y-direction
3 | 20 !number of cells in z-direction
4 | 77700 !West border of GRAMM model domain [m]
5 | 85500 !East border of GRAMM model domain [m]
6 | 226200 !South border of GRAMM model domain [m]
7 | 233100 !North border of GRAMM model domain [m]
8 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/GRAMMin.dat:
--------------------------------------------------------------------------------
1 | Version 17.01
2 | y
3 | 0.2
4 | 1,0
5 | no ! write steady-state-file
6 | 720 ! Number of original meteo length for GRAMM Sunrise option
7 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/IIN.dat:
--------------------------------------------------------------------------------
1 | COMPUTATION DATE (YYMMDD) : 190314 !No influence for steady-state simulations
2 | BEGINNING OF COMPUTATION (hhmm) : 1421 !No influence for steady-state simulations
3 | MAXIMUM ALLOWED TIME STEP DT [ s ] : 20 !Range 1-100
4 | MODELLING TIME (FOR VALUES >1(s) AND <1[%]) : 10800 !Range 0.01-1% or 2-infinite sec.
5 | BUFFERING AFTER TIMESTEPS : 3600 !No influence for steady-state simulations
6 | MAX. PERMISSIBLE W-DEVIATION ABOVE < 1 [mm/s] : 0.01 !Not used
7 | RELATIVE INITIAL HUMIDITY [ % ] GT.0 : 20 !No influence for steady-state simulations
8 | HEIGHT OF THE LOWEST COMPUTATION HEIGHT [ m ] : 330. !Not used
9 | AIR TEMPERATURE AT GROUND [ K ] : 280.0 !No influence when using meteopgt.all
10 | MOIST-ADIABATIC TEMPERATURE GRADIENT [K/100m]: -0.0065 !No influence for steady-state simulations
11 | NEUTRAL LAYERING UP TO THE HEIGHT ABOVE GROUND: 5000 !used when using meteopgt.all
12 | SURFACE TEMPERATURE [ K ] : 280.0 !No influence when using meteopgt.all
13 | TEMPERATURE OF THE SOIL IN 1 M DEPTH [ K ] : 280.0 !No influence when using meteopgt.all
14 | LATITUDE : 47 !Range -90 - +90 deg.
15 | UPDATE OF RADIATION (TIMESTEPS) : 300 !No influence when using meteopgt.all
16 | DEBUG LEVEL 0 none, 3 highest : 0 !not used
17 | COMPUTE U V W PN T GW FO YES=1 : 1111100 !GW and FO not used
18 | COMPUTE BR PR QU PSI TE TB STR YES=1 : 1110011 !BR, PSI not used, TE not recommended
19 | DIAGNOSTIC INITIAL CONDITIONS YES=1 : 1 !Not used
20 | EXPLICIT/IMPLICIT TIME INTEGRATION I=1/E=0 : 1 !Not used
21 | RELAXATION VELOCITY : 0.15 !Range 0.01-1.0
22 | RELAXATION SCALARS : 0.15 !Range 0.01-1.0
23 | Force catab flows -40/-25/-15 W/m² AKLA 7/6/5 : 0 !1=ON suitable with steady state meteopgt.all
24 | NESTING (=1) OR LARGE SCALE FORCING (=0) : 0 !Not used
25 | BOUNDARY CONDITION (1,2,3,4,5,6) : 6 !1=homogenous Von Neumann, 6=Nudging (standard)
26 | TRANSIENT FORCING METEOPGT.ALL(1), ERA5(2) : 0 !Large-scale forcing using either meteopgt.all (geostrophic wind at 10000m) or ERA5 data
27 | TRANSIENT FORCING IFU-MM5 DATA YES=1 : 0 !Not used
28 | GRAMM IN GRAMM NESTING YES=1 : 0 !Not used
29 | Flowfield Output Format : 0 !0=binary stream +header, 3=binary stream
30 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/Integrationtime.txt:
--------------------------------------------------------------------------------
1 | 100
2 | 500
3 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/Max_Proc.txt:
--------------------------------------------------------------------------------
1 | 8
2 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/Percent.txt:
--------------------------------------------------------------------------------
1 | 90
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/Pollutant.txt:
--------------------------------------------------------------------------------
1 | NOx
2 | 0 ! Wet deposition cW setting
3 | 0 ! Wet deposition alphaW setting
4 | 0 ! Decay rate for all source groups
5 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/Receptor.dat:
--------------------------------------------------------------------------------
1 | 0
2 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/Receptor_GRAMM.dat:
--------------------------------------------------------------------------------
1 | 0
2 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/buildings.dat:
--------------------------------------------------------------------------------
1 | 81705,230005,0,10
2 | 81695,229995,0,10
3 | 81705,229995,0,10
4 | 81705,229985,0,10
5 | 81465,230075,0,13
6 | 81465,230065,0,13
7 | 80885,229805,0,10
8 | 80885,229795,0,10
9 | 80765,229935,0,13
10 | 80765,229925,0,13
11 | 80835,229945,0,10
12 | 80835,229935,0,10
13 | 80785,229955,0,15
14 | 80795,229955,0,15
15 | 80805,229955,0,15
16 | 80785,229945,0,15
17 | 80795,229945,0,15
18 | 80805,229945,0,15
19 | 80785,229935,0,15
20 | 80795,229935,0,15
21 | 80805,229935,0,15
22 | 80785,229925,0,15
23 | 80795,229925,0,15
24 | 80805,229925,0,15
25 | 80785,229915,0,15
26 | 80795,229915,0,15
27 | 80805,229915,0,15
28 | 80725,229905,0,12
29 | 80735,229905,0,12
30 | 80765,229955,0,13
31 | 80765,229945,0,13
32 | 80815,229915,0,12
33 | 80815,229905,0,12
34 | 80825,229945,0,13
35 | 80825,229935,0,13
36 | 80825,230015,0,11
37 | 80825,230005,0,11
38 | 80835,229995,0,11
39 | 80805,229995,0,8
40 | 80805,229985,0,8
41 | 80665,229125,0,5
42 | 80675,229125,0,5
43 | 80865,229915,0,16
44 | 80875,229915,0,16
45 | 80875,229905,0,16
46 | 80665,229285,0,11
47 | 80665,229275,0,11
48 | 80675,229275,0,11
49 | 80815,229825,0,13
50 | 80815,229815,0,13
51 | 80805,229805,0,13
52 | 80815,229805,0,13
53 | 80805,229795,0,13
54 | 80815,229795,0,13
55 | 80805,229785,0,13
56 | 80815,229785,0,13
57 | 80805,229775,0,13
58 | 80815,229775,0,13
59 | 80665,229135,0,5
60 | 80665,229145,0,6
61 | 80675,229145,0,6
62 | 80785,229475,0,8
63 | 80785,229895,0,9
64 | 80795,229895,0,9
65 | 80865,229835,0,13
66 | 80865,229825,0,13
67 | 80865,229815,0,13
68 | 80635,229195,0,8
69 | 80645,229195,0,8
70 | 80625,229185,0,8
71 | 80635,229185,0,8
72 | 80645,229185,0,8
73 | 80615,229175,0,8
74 | 80625,229175,0,8
75 | 80635,229175,0,8
76 | 80645,229175,0,8
77 | 80615,229165,0,8
78 | 80625,229165,0,8
79 | 80635,229165,0,8
80 | 80915,229775,0,6
81 | 80745,229825,0,15
82 | 80755,229825,0,15
83 | 80845,229765,0,12
84 | 80875,229755,0,12
85 | 81625,229205,0,11
86 | 81635,229205,0,11
87 | 81645,229205,0,11
88 | 81635,229195,0,11
89 | 81645,229195,0,11
90 | 81655,229195,0,11
91 | 81675,229995,0,9
92 | 81685,229985,0,9
93 | 81675,229945,0,21
94 | 81685,229945,0,21
95 | 81675,229935,0,21
96 | 81595,229205,0,10
97 | 81605,229205,0,10
98 | 81605,229195,0,10
99 | 81685,229225,0,11
100 | 81695,229215,0,11
101 | 81705,229215,0,11
102 | 81605,229255,0,8
103 | 81605,229245,0,8
104 | 81665,229995,0,7
105 | 81655,229925,0,10
106 | 81605,229995,0,16
107 | 81605,229985,0,16
108 | 81585,230015,0,18
109 | 81585,229935,0,18
110 | 81595,229935,0,18
111 | 81595,229925,0,18
112 | 81615,229965,0,6
113 | 81625,229965,0,6
114 | 80645,229225,0,9
115 | 80655,229225,0,9
116 | 80655,229215,0,9
117 | 80645,229235,0,10
118 | 80665,229255,0,10
119 | 80775,229435,0,5
120 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/emissions001.dat:
--------------------------------------------------------------------------------
1 | 0,0.57,1
2 | 1,0.51,1
3 | 2,0.42,1
4 | 3,0.39,1
5 | 4,0.37,1
6 | 5,0.43,1
7 | 6,0.67,1
8 | 7,1.01,1
9 | 8,1.23,1
10 | 9,1.36,1
11 | 10,1.39,1
12 | 11,1.39,1
13 | 12,1.36
14 | 13,1.32
15 | 14,1.36
16 | 15,1.42
17 | 16,1.45
18 | 17,1.49
19 | 18,1.42
20 | 19,1.21
21 | 20,1.02
22 | 21,0.84
23 | 22,0.73
24 | 23,0.67
25 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/emissions_timeseries.txt:
--------------------------------------------------------------------------------
1 | Day.Month Hour 1
2 | 11.1 1 0.51
3 | 11.1 2 0.42
4 | 11.1 3 0.39
5 | 11.1 4 0.37
6 | 11.1 5 0.43
7 | 11.1 6 0.67
8 | 11.1 7 1.01
9 | 11.1 8 1.23
10 | 11.1 9 1.36
11 | 11.1 10 1.39
12 | 11.1 11 1.39
13 | 11.1 12 1.36
14 | 11.1 13 1.32
15 | 11.1 14 1.36
16 | 11.1 15 1.42
17 | 11.1 16 1.45
18 | 11.1 17 1.49
19 | 11.1 18 1.42
20 | 11.1 19 1.21
21 | 11.1 20 1.02
22 | 11.1 21 0.84
23 | 11.1 22 0.73
24 | 11.1 23 0.67
25 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/ggeom.asc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Computation/ggeom.asc
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/in.dat:
--------------------------------------------------------------------------------
1 | 100 ! Number of released particles per second
2 | 3600 ! Dispersion time
3 | 0 ! Steady state GRAL mode = 1, Transient GRAL mode = 0
4 | 4 ! Meteorology input: inputzr.dat = 0, meteo.all = 1, elimaeki.prn = 2, SONIC.dat = 3, meteopgt.all = 4
5 | 0 ! Receptor points: Yes = 1, No = 0
6 | 0.2 ! Surface Roughness in [m]
7 | 47 ! Latitude
8 | N ! Meandering Effect Off = J, On = N
9 | NOx ! Pollutant: not used since version 19.01, new: Pollutant.txt
10 | 3, ! Horizontal slices [m] seperated by a comma (number of slices need to be defined in GRAL.geb!)
11 | 2 ! Vertical grid spacing in [m]
12 | 1 ! Start the calculation with this weather number
13 | 2,100 ! How to take buildings into account? 1 = simple mass conservation, 2 = mass conservation with Poisson equation + advection, Factor for the prognostic sub domain size
14 | -2 ! Stream Output for Soundplan 1 = activated, -2 = write buildings height
15 | compressed ! Write compressed output files
16 | WaitForKeyStroke ! Wait for keystroke when exiting GRAL
17 | ASCiiResults 0 ! Additional ASCii result files Yes = 1, No = 0
18 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/line.dat:
--------------------------------------------------------------------------------
1 | Generated:
2 | Generated:
3 | Generated:
4 | Generated:
5 | StrName,Section,Sourcegroup,x1,y1,z1,x2,y2,z2,width,noiseabatementwall,Length[km],--,NOx[kg/(km*h)],--,--,--,--,--,deposition data
6 | Europe Bridge,1,1,81122.3,230064.2,-858,80743.2,229327.2,-910,7,-3,0,0,2.3,0,0,0,0,0,0,0,0,0,0,0,0,0
7 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/mettimeseries.dat:
--------------------------------------------------------------------------------
1 | 11.01,1,0.3,24.8,6
2 | 11.01,2,0.3,26.3,6
3 | 11.01,3,0.3,26.3,6
4 | 11.01,4,0.3,27.8,6
5 | 11.01,5,0.3,29.3,6
6 | 11.01,6,0.3,29.3,6
7 | 11.01,7,0.3,30.8,6
8 | 11.01,8,0.3,32.3,6
9 | 11.01,9,0.3,32.3,6
10 | 11.01,10,0.3,33.8,6
11 | 11.01,11,0.3,35.3,6
12 | 11.01,12,0.3,35.3,6
13 | 11.01,13,0.3,0.8,4
14 | 11.01,14,0.3,2.3,4
15 | 11.01,15,0.3,2.3,4
16 | 11.01,16,0.3,3.8,4
17 | 11.01,17,0.3,5.3,4
18 | 11.01,18,0.3,5.3,4
19 | 11.01,19,0.3,6.8,4
20 | 11.01,20,0.3,8.3,4
21 | 11.01,21,0.3,8.3,4
22 | 11.01,22,0.3,9.8,4
23 | 11.01,23,0.3,11.3,4
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Computation/windfeld.txt:
--------------------------------------------------------------------------------
1 | D:\GRALProjects\AscendingBridge\Computation\
2 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Emissions/Asources.txt:
--------------------------------------------------------------------------------
1 | List of all area sources within the model domain Version_19
2 | Name, z[m], dz[m], raster-size (dx dy[m]), source-group, area[m²], pollutants(10), corner points (x[m] y[m]), deposition data
3 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Emissions/LineSourceData.txt:
--------------------------------------------------------------------------------
1 | List of all line sources within the model domain Version_20
2 | Name, section, height[m], width[m], AADT, HDV[%], slope[%], traffic-situation, baseyear,#of source groups, source-group-pollutants(10),....., Line3D, #of corner-points, corner points (x[m],y[m]),z[m]...., deposition data, Vertical Extension[m]
3 | Europe Bridge,1,-858,7,0,0,0,0,1990,1,1,0,2.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,81122.3,230064.2,-858,80743.2,229327.2,-910,Dep@_,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,
4 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Emissions/Lsources.txt:
--------------------------------------------------------------------------------
1 | List of all line sources within the model domain Version_19
2 | Name, section, height[m], width[m], AADT, HDV[%], slope[%], traffic-situation, baseyear,#of source groups, source-group-pollutants(10),....., #of corner-points, corner points (x[m],y[m])...., deposition data, Vertical Extension[m]
3 | Europe Bridge,1,-858,7,0,0,0,0,1990,1,1,0,2.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,81122.3,230064.2,80743.2,229327.2,Dep@_,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,
4 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Emissions/Portalsources.txt:
--------------------------------------------------------------------------------
1 | List of all portal sources within the model domain Version_19
2 | Name, Height[m], Exit vel.[m/s], Temp.difference [K], Traffic direction, Crosssection [m²], AADT, HDV[%], slope[%], traffic-situation, baseyear, speed of PC [km/h], #of source groups, source-group-pollutants(10),.....,#of corner-points, corner points (x1[m],y1[m],x2[m],y2[m]), deposition data, Height above ground [m], velocity and temperature time series references
3 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Emissions/Psources.txt:
--------------------------------------------------------------------------------
1 | List of all point sources within the model domain Version_19
2 | Name, x, y, z, exit-velocity [m/s], exit-temp[K], stack-diameter[m], source-group, pollutants(10), deposition parameters, velocity and temperature time series references
3 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Emissions/Vegetation.txt:
--------------------------------------------------------------------------------
1 | List of all vegetation areas within the model domain Version_19
2 | Name, Number of Vertices, Height[m], Area, TrunkZone, Trunk, Crown, Coverage, , Corner Points (x[m],y[m])
3 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Emissions/Walls.txt:
--------------------------------------------------------------------------------
1 | Version_19
2 | List of all walls within the model domain
3 | Name, number of vertices, lenght, corner points (x[m],y[m],z[m])
4 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Maps/20200324_083644_77410_GeoTIFF.tfw:
--------------------------------------------------------------------------------
1 | 2.1166709000083332
2 | 0
3 | 0
4 | -2.1166709000083332
5 | 79288.18023136564
6 | 230770.42244719405
7 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Maps/20200324_083644_77410_GeoTIFF.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/AscendingBridge/Maps/20200324_083644_77410_GeoTIFF.tif
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Maps/conductivity.txt:
--------------------------------------------------------------------------------
1 | ncols 26
2 | nrows 23
3 | xllcorner 77700
4 | yllcorner 226200
5 | cellsize 300
6 | NODATA_value -9999
7 | 0.2 0.2 0.2 0.44 0.93 0.94 0.59 0.79 0.57 0.2 0.48 1 0.89 0.79 0.82 0.28 0.2 0.2 0.2 0.2 0.24 0.33 0.37 0.23 0.2 0.2
8 | 0.2 0.29 0.63 0.8 0.96 0.64 0.68 0.45 0.62 0.2 0.27 0.36 0.68 0.53 0.43 0.21 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
9 | 0.2 0.22 0.38 0.7 0.84 0.22 0.21 0.33 0.32 0.2 0.2 0.2 0.54 0.24 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
10 | 0.2 0.34 0.6 0.67 0.24 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.23 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
11 | 0.2 0.21 0.31 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
12 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
13 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
14 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.28 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
15 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.24 0.85 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
16 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.21 0.72 0.98 0.31 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
17 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.78 0.79 0.31 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
18 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.27 0.22 0.24 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
19 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
20 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
21 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.33 0.27 0.24 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
22 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.49 0.91 0.26 0.22 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
23 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.35 1 0.89 0.36 0.2 0.2 0.2 0.2 0.27 0.2 0.2 0.2 0.2 0.2 0.2 0.2
24 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.27 0.81 0.88 0.9 0.22 0.2 0.2 0.2 0.2 0.61 0.74 0.22 0.2 0.2 0.2 0.2 0.2
25 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.26 0.29 0.2 0.29 0.29 0.2 0.2 0.2 0.2 0.42 0.63 0.37 0.2 0.2 0.2 0.2 0.2
26 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.31 0.24 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.38 0.45 0.2 0.2 0.2 0.2 0.2
27 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.24 0.77 0.25 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.65 0.2 0.2 0.2 0.2 0.2
28 | 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.72 0.4 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.44 0.41 0.2 0.2 0.2 0.2
29 | 0.52 0.34 0.2 0.2 0.26 0.8 0.84 0.58 0.32 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.54 0.2 0.2 0.2 0.2
30 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Maps/density.txt:
--------------------------------------------------------------------------------
1 | ncols 26
2 | nrows 23
3 | xllcorner 77700
4 | yllcorner 226200
5 | cellsize 300
6 | NODATA_value -9999
7 | 278 283 300 546 830 827 627 753 640 296 589 855 805 750 765 369 278 288 289 307 370 418 451 316 278 278
8 | 290 388 685 773 840 661 689 523 680 294 391 489 692 584 504 288 283 299 288 280 284 279 278 278 278 278
9 | 287 320 499 724 777 305 289 419 409 301 310 315 605 322 278 285 305 302 306 310 280 278 278 278 278 278
10 | 279 455 663 682 347 317 293 279 278 278 302 294 329 278 278 278 293 315 298 280 278 278 278 278 278 278
11 | 296 288 392 302 315 299 278 296 278 278 290 288 297 282 279 278 286 310 278 278 278 278 278 278 278 278
12 | 297 286 280 295 293 284 278 287 280 284 293 297 317 313 304 278 278 289 278 278 278 278 278 278 278 278
13 | 278 278 278 279 311 307 278 301 283 304 302 317 317 317 315 282 282 294 282 287 279 278 278 279 265 261
14 | 278 278 278 285 306 297 279 303 296 280 289 315 317 317 393 278 278 292 287 278 298 297 285 289 223 222
15 | 278 278 278 278 294 292 280 317 299 278 278 296 317 370 789 278 278 278 278 285 308 281 292 263 222 222
16 | 278 278 278 278 297 309 282 300 283 278 278 290 324 732 847 401 278 278 278 302 288 289 279 281 229 222
17 | 278 278 278 279 300 317 292 284 289 278 278 279 300 753 768 428 279 278 278 279 279 278 284 294 270 244
18 | 278 284 303 311 299 304 280 278 287 278 278 278 278 367 338 370 281 278 278 278 278 278 282 278 278 274
19 | 278 285 292 279 278 278 278 278 278 278 278 278 290 313 291 284 300 284 278 278 278 278 278 278 278 278
20 | 278 278 278 278 278 278 278 278 278 278 278 278 279 310 295 294 293 312 282 278 278 278 278 278 278 278
21 | 278 278 278 278 278 278 280 278 278 278 419 358 322 284 288 311 291 308 297 278 278 278 278 278 278 278
22 | 278 278 278 278 278 278 287 286 278 278 554 813 346 303 278 278 279 299 317 307 288 279 278 278 278 278
23 | 278 278 278 278 278 278 293 295 280 278 435 855 809 445 278 280 296 296 395 312 299 284 278 278 278 278
24 | 278 278 278 278 282 288 285 278 278 360 762 807 816 312 278 291 316 313 647 733 314 280 278 278 278 278
25 | 278 278 278 289 314 293 285 292 279 374 406 303 422 412 289 280 313 297 512 679 487 286 278 278 278 278
26 | 278 278 292 317 301 281 288 280 418 338 278 278 279 286 298 286 279 286 317 509 563 304 278 278 278 278
27 | 278 279 294 295 288 306 289 361 757 337 278 278 278 278 282 284 279 280 278 305 696 317 285 278 278 278
28 | 283 304 302 288 308 283 306 732 522 285 278 292 280 278 278 278 288 312 295 279 548 532 311 280 278 279
29 | 608 431 284 305 348 757 790 653 417 278 292 312 288 278 278 278 278 280 307 282 308 631 317 317 308 305
30 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Settings/Landuse.txt:
--------------------------------------------------------------------------------
1 | D:\GRALProjects\AscendingBridge\Computation\landuse.asc
2 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Settings/Meteorology.txt:
--------------------------------------------------------------------------------
1 | D:\GRAMM_Original_Windfelder\Windfeld_Unterinntal Zillertal bis IBK 200 20190314\Metfiles\AllSituations_n.met
2 | ,
3 | .
4 | 10
5 | 24
6 | 8
7 | 0.5
8 | 1
9 | 2
10 | 3
11 | 4
12 | 6
13 | 9
14 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Settings/NOX.lay:
--------------------------------------------------------------------------------
1 | Version02
2 | 1
3 | #FFFF80
4 | Yellow
5 | 2
6 | #FFCC67
7 | #FFCC00
8 | 5
9 | #FF994E
10 | #FF9900
11 | 10
12 | #FF6635
13 | #FF6600
14 | 20
15 | Red
16 | Red
17 | -----
18 | 3
19 | 250
20 | 1
21 | 2
22 | Black
23 | Arial:12:0
24 | 1
25 | 1
26 | 150
27 | 0.2
28 | 0.2
29 | 72
30 | True
31 | True
32 | True
33 | False
34 | True
35 | False
36 | 2
37 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Settings/Pollutant.txt:
--------------------------------------------------------------------------------
1 | NOx
2 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Settings/Settings2.ini:
--------------------------------------------------------------------------------
1 | Settings for displaying V16
2 | 6
3 | 1
4 | 0
5 | 0
6 | 0
7 | 0
8 | 2
9 | ________________________________________________________________
10 | CM: Mean_Sample_NOx_total_3m
11 | 2
12 | True
13 | Black
14 | 3
15 | 1
16 | 2
17 | Black
18 | 71
19 | 250
20 | Arial, 12pt
21 | True
22 | True
23 | R
24 | R
25 | R
26 | 1
27 | 150
28 | -1
29 | -1
30 | -999,-999,-999
31 | Title
32 | µg/m³
33 | D:\GRALProjects\AscendingBridge\Maps\Mean_Sample_NOx_total_3m.txt
34 | 0 0 1 1
35 | 1
36 | 0
37 | 0
38 | True
39 | Yellow #FFCC00 #FF9900 #FF6600 Red
40 | 1 2 5 10 20
41 | #FFFF80 #FFCC67 #FF994E #FF6635 Red
42 | ________________________________________________________________
43 | LINE SOURCES
44 | 1
45 | True
46 | Black
47 | 1
48 | 1
49 | 2
50 | Red
51 | 255
52 | 200
53 | Arial, 12pt
54 | True
55 | True
56 | R
57 | R
58 | R
59 | 1
60 | 0
61 | -1
62 | -1
63 | -999,-999,-999
64 | Line source
65 | kg/(h*km)
66 | x
67 | 0 0 1 1
68 | 1
69 | 0
70 | 0
71 | False
72 | Olive
73 | 0
74 | Black
75 | ________________________________________________________________
76 | GRAL DOMAIN
77 | 0
78 | True
79 | Blue
80 | 1
81 | 1
82 | 2
83 | Transparent
84 | 255
85 | 150
86 | Arial, 12pt
87 | False
88 | False
89 | R
90 | R
91 | R
92 | 1
93 | 0
94 | -1
95 | -1
96 | -999,-999,-999
97 | x
98 | x
99 | x
100 | 0 0 1 1
101 | 1
102 | 0
103 | 0
104 | False
105 | Gray
106 | 0
107 | Black
108 | ________________________________________________________________
109 | BUILDINGS
110 | 1
111 | True
112 | Blue
113 | 1
114 | 1
115 | 2
116 | Blue
117 | 255
118 | 150
119 | Arial, 12pt
120 | True
121 | False
122 | R
123 | R
124 | R
125 | 1
126 | 0
127 | -1
128 | -1
129 | -999,-999,-999
130 | Buildings
131 | m
132 | x
133 | 0 0 1 1
134 | 1
135 | 0
136 | 0
137 | False
138 | Red
139 | 0
140 | Black
141 | ________________________________________________________________
142 | GRAMM DOMAIN
143 | 0
144 | True
145 | Brown
146 | 1
147 | 1
148 | 2
149 | Transparent
150 | 255
151 | 150
152 | Arial, 12pt
153 | True
154 | False
155 | R
156 | R
157 | R
158 | 1
159 | 0
160 | -1
161 | -1
162 | -999,-999,-999
163 | x
164 | x
165 | x
166 | 0 0 1 1
167 | 1
168 | 0
169 | 0
170 | False
171 | Gray
172 | 0
173 | Black
174 | ________________________________________________________________
175 | BM: 20200324_083644_77410_GeoTIFF
176 | 0
177 | True
178 |
179 | 1
180 | 1
181 | 2
182 | Black
183 | 100
184 | 500
185 | Arial, 8pt
186 | False
187 | False
188 | R
189 | R
190 | R
191 | 1
192 | 0
193 | -1
194 | -1
195 | -999,-999,-999
196 | x
197 | x
198 | D:\GRALProjects\AscendingBridge\Maps\20200324_083644_77410_GeoTIFF.tif
199 | 0 0 1921 945
200 | 2.11667090000833
201 | 79288.1802313656
202 | 230770.422447194
203 | False
204 |
205 | 0
206 | Black
207 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Settings/Sourcegroups.txt:
--------------------------------------------------------------------------------
1 | Highway,1
2 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Settings/Topography.txt:
--------------------------------------------------------------------------------
1 | D:\GRALProjects\AscendingBridge\Computation\ggeom.asc
2 | 1.34
3 | 10
4 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Settings/diurnal_emissionmod.txt:
--------------------------------------------------------------------------------
1 | Diurnal variation of emissions
2 | Constant,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
3 | Daytime,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0
4 | Nighttime,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1
5 | Highway,0.57,0.51,0.42,0.39,0.37,0.43,0.67,1.01,1.23,1.36,1.39,1.39,1.36,1.32,1.36,1.42,1.45,1.49,1.42,1.21,1.02,0.84,0.73,0.67
6 | City traffic,0.11,0.06,0.06,0.06,0.12,0.33,1.07,2,1.46,1.35,1.43,1.5,1.57,1.61,1.59,1.77,2.06,1.9,1.41,0.92,0.59,0.47,0.38,0.21
7 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Settings/emissionmodulations.txt:
--------------------------------------------------------------------------------
1 | 1,Highway,Constant
2 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Settings/seasonal_emissionmod.txt:
--------------------------------------------------------------------------------
1 | Seasonal variation of emissions
2 | Constant,1,1,1,1,1,1,1,1,1,1,1,1
3 | Non-exhaust emissions traffic,2,2.6,1.3,1.2,1,0.4,0.8,0.2,0.5,0.6,0.7,0.8
4 | Heating,1,0.9,0.75,0.6,0.2,0.2,0.1,0.1,0.3,0.5,0.7,1
5 | Winter,1,1,1,0,0,0,0,0,0,1,1,1
6 | Summer,0,0,0,1,1,1,1,1,1,0,0,0
7 |
--------------------------------------------------------------------------------
/SampleProjects/AscendingBridge/Settings/sections.txt:
--------------------------------------------------------------------------------
1 | DomainArea
2 | 79602.7
3 | 82447.5
4 | 230498.6
5 | ----------------------
6 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/PointSourceProject.png
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Computation/GRAL.geb:
--------------------------------------------------------------------------------
1 | 20.0 !cell-size for cartesian wind field in GRAL in x-direction
2 | 20.0 !cell-size for cartesian wind field in GRAL in y-direction
3 | 2,1.01 !cell-size for cartesian wind field in GRAL in z-direction, streching factor for increasing cells heights with height
4 | 102 !number of cells for counting grid in GRAL in x-direction
5 | 59 !number of cells for counting grid in GRAL in y-direction
6 | 2 !Number of horizontal slices
7 | 1, !Source groups to be computed seperated by a comma
8 | 48480 !West border of GRAL model domain [m]
9 | 50520 !East border of GRAL model domain [m]
10 | 240920 !South border of GRAL model domain [m]
11 | 242100 !North border of GRAL model domain [m]
12 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Computation/GRAMMin.dat:
--------------------------------------------------------------------------------
1 | Version 17.01
2 | y
3 | 0.1
4 | 1,0
5 | no ! write steady-state-file
6 | 0 ! GRAMM Sunrise option not activated
7 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Computation/Max_Proc.txt:
--------------------------------------------------------------------------------
1 | 8
2 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Computation/emissions001.dat:
--------------------------------------------------------------------------------
1 | 0,1,1
2 | 1,1,1
3 | 2,1,1
4 | 3,1,1
5 | 4,1,1
6 | 5,1,1
7 | 6,1,1
8 | 7,1,1
9 | 8,1,1
10 | 9,1,1
11 | 10,1,1
12 | 11,1,1
13 | 12,1
14 | 13,1
15 | 14,1
16 | 15,1
17 | 16,1
18 | 17,1
19 | 18,1
20 | 19,1
21 | 20,1
22 | 21,1
23 | 22,1
24 | 23,1
25 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Computation/in.dat:
--------------------------------------------------------------------------------
1 | 50 ! Number of released particles per second
2 | 3600 ! Dispersion time
3 | 1 ! Steady state GRAL mode = 1, Transient GRAL mode = 0
4 | 4 ! Meteorology input: inputzr.dat = 0, meteo.all = 1, elimaeki.prn = 2, SONIC.dat = 3, meteopgt.all = 4
5 | 0 ! Receptor points: Yes = 1, No = 0
6 | 0.1 ! Surface Roughness in [m]
7 | 47 ! Latitude
8 | N ! Meandering Effect Off = J, On = N
9 | NOx ! Pollutant: not used since version 19.01, new: Pollutant.txt
10 | 3,6, ! Horizontal slices [m] seperated by a comma (number of slices need to be defined in GRAL.geb!)
11 | 3 ! Vertical grid spacing in [m]
12 | 1 ! Start the calculation with this weather number
13 | 0,15 ! How to take buildings into account? 1 = simple mass conservation, 2 = mass conservation with Poisson equation + advection, Factor for the prognostic sub domain size
14 | -2 ! Stream Output for Soundplan 1 = activated, -2 = write buildings height
15 | compressed ! Write compressed output files
16 | WaitForKeyStroke ! Wait for keystroke when exiting GRAL
17 | ASCiiResults 0 ! Additional ASCii result files Yes = 1, No = 0
18 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Computation/meteopgt.all:
--------------------------------------------------------------------------------
1 | 10,1,0, !Are dispersion situations classified =0 or not =1
2 | Wind direction sector,Wind speed class,stability class, frequency
3 | 27,0.5,7,41.66667
4 | 9,0.5,7,41.66667
5 | 27,0.6,7,41.66667
6 | 27,0.8,7,41.66667
7 | 27,1,7,41.66667
8 | 27,1,7,41.66667
9 | 27,1,7,41.66667
10 | 27,1,6,41.66667
11 | 27,1,6,41.66667
12 | 27,1,5,41.66667
13 | 27,0.5,3,41.66667
14 | 27,0.5,2,41.66667
15 | 9,1,2,41.66667
16 | 9,1.5,3,41.66667
17 | 9,2,4,41.66667
18 | 9,2.5,4,41.66667
19 | 9,3,4,41.66667
20 | 9,3.5,3,41.66667
21 | 9,4,3,41.66667
22 | 9,3,3,41.66667
23 | 9,2,4,41.66667
24 | 9,1,5,41.66667
25 | 9,1,5,41.66667
26 | 9,1,5,41.66667
27 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Computation/mettimeseries.dat:
--------------------------------------------------------------------------------
1 | 01.01,0,0.5,27,7
2 | 01.01,1,0.5,9,7
3 | 01.01,2,0.6,27,7
4 | 01.01,3,0.8,27,7
5 | 01.01,4,1,27,7
6 | 01.01,5,1,27,7
7 | 01.01,6,1,27,7
8 | 01.01,7,1,27,6
9 | 01.01,8,1,27,6
10 | 01.01,9,1,27,5
11 | 01.01,10,0.5,27,3
12 | 01.01,11,0.5,27,2
13 | 01.01,12,1,9,2
14 | 01.01,13,1.5,9,3
15 | 01.01,14,2,9,4
16 | 01.01,15,2.5,9,4
17 | 01.01,16,3,9,4
18 | 01.01,17,3.5,9,3
19 | 01.01,18,4,9,3
20 | 01.01,19,3,9,3
21 | 01.01,20,2,9,4
22 | 01.01,21,1,9,5
23 | 01.01,22,1,9,5
24 | 01.01,23,1,9,5
25 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Computation/point.dat:
--------------------------------------------------------------------------------
1 | Generated: V2019
2 | x,y,z,NOx[kg/h],--,--,--,exit vel.[m/s],diameter[m],Temp.[K],Source group,deposition parameters F2.5, F10,DiaMax,Density,VDep2.5,VDep10,VDepMax,Dep_Conc
3 | 49445.3,241517.8,9,1.2,0,0,0,6,0.7,358,1,0,0,0,0,0,0,0,0
4 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Emissions/Psources.txt:
--------------------------------------------------------------------------------
1 | List of all point sources within the model domain
2 | Name, x, y, z, exit-velocity [m/s], exit-temp[K], stack-diameter[m], source-group, pollutants, deposition parameters
3 | Stack_Nr1,49445.3,241517.8,9,6,358,0.7,1,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Dep@_,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
4 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Maps/Background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/SampleProjects/PointSourceProject/Maps/Background.jpg
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Maps/Background.jpgw:
--------------------------------------------------------------------------------
1 | 4.68817999275626
2 | 0
3 | 0
4 | -4.68817999275626
5 | 46851.7187218642
6 | 243288.190494748
7 | H:\GRAL_Projects\Background.jpg
8 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Metfiles/Meteo.met:
--------------------------------------------------------------------------------
1 | 01.01.17,00:00,0.5,270,7
2 | 01.01.17,01:00,0.5,90,7
3 | 01.01.17,02:00,0.6,270,7
4 | 01.01.17,03:00,0.8,270,7
5 | 01.01.17,04:00,1,270,7
6 | 01.01.17,05:00,1,270,7
7 | 01.01.17,06:00,1,270,7
8 | 01.01.17,07:00,1,270,6
9 | 01.01.17,08:00,1,270,6
10 | 01.01.17,09:00,1,270,5
11 | 01.01.17,10:00,0.5,270,3
12 | 01.01.17,11:00,0.5,270,2
13 | 01.01.17,12:00,1,90,2
14 | 01.01.17,13:00,1.5,90,3
15 | 01.01.17,14:00,2,90,4
16 | 01.01.17,15:00,2.5,90,4
17 | 01.01.17,16:00,3,90,4
18 | 01.01.17,17:00,3.5,90,3
19 | 01.01.17,18:00,4,90,3
20 | 01.01.17,19:00,3,90,3
21 | 01.01.17,20:00,2,90,4
22 | 01.01.17,21:00,1,90,5
23 | 01.01.17,22:00,1,90,5
24 | 01.01.17,23:00,1,90,5
25 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Settings/Pollutant.txt:
--------------------------------------------------------------------------------
1 | NOx
2 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Settings/Settings.ini:
--------------------------------------------------------------------------------
1 | Settings for displaying V16
2 | 4
3 | 1
4 | 0
5 | 0
6 | 0
7 | 0
8 | 2
9 | CM: Mean_Original_NOx_total_3m
10 | 2
11 | True
12 | Black
13 | 2
14 | 1
15 | 2
16 | White
17 | 255
18 | 1500
19 | Arial; 9pt
20 | True
21 | False
22 | R
23 | R
24 | R
25 | 1
26 | 0
27 | -1
28 | -1
29 | 1290,557,1
30 | XY
31 | µg/m³
32 | I:\GRAL_Projects\MyProject\Maps\Mean_Original_NOx_total_3m.txt
33 | 0; 0; 1; 1
34 | 1
35 | 0
36 | 0
37 | True
38 | Yellow,255; 205; 0,255; 180; 0,255; 155; 0,255; 130; 0,255; 105; 0,255; 80; 0,Red,
39 | 0.02,0.1,0.2,0.5,1,2,5,8,
40 | Yellow,255; 205; 0,255; 180; 0,255; 155; 0,255; 130; 0,255; 105; 0,255; 80; 0,Red,
41 | GRAL DOMAIN
42 | 0
43 | True
44 | Blue
45 | 1
46 | 1
47 | 2
48 | Transparent
49 | 255
50 | 0
51 | Arial; 12pt
52 | False
53 | False
54 | R
55 | R
56 | R
57 | 0
58 | 0
59 | -1
60 | -1
61 | -999,-999,-999
62 | x
63 | x
64 | x
65 | 0; 0; 1; 1
66 | 1
67 | 0
68 | 0
69 | False
70 | Transparent,
71 | 0,
72 | Blue,
73 | POINT SOURCES
74 | 2
75 | True
76 | Red
77 | 30
78 | 1
79 | 2
80 | Black
81 | 255
82 | 0
83 | Arial; 12pt
84 | False
85 | False
86 | R
87 | R
88 | R
89 | 1
90 | 0
91 | -1
92 | -1
93 | -999,-999,-999
94 | x
95 | x
96 | x
97 | 0; 0; 1; 1
98 | 1
99 | 0
100 | 0
101 | False
102 | Transparent,
103 | 0,
104 | Transparent,
105 | BM: Background
106 | 0
107 | True
108 | Transparent
109 | 1
110 | 1
111 | 2
112 | Transparent
113 | 50
114 | 500
115 | Arial; 8pt
116 | False
117 | False
118 | R
119 | R
120 | R
121 | 1
122 | 0
123 | -1
124 | -1
125 | -999,-999,-999
126 | x
127 | x
128 | I:\GRAL_Projects\MyProject\Maps\Background.jpg
129 | 0; 0; 1200; 725
130 | 4.68817999275626
131 | 46851.7187218642
132 | 243288.190494748
133 | False
134 | Transparent,
135 | 0,
136 | Gray,
137 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Settings/Settings2.ini:
--------------------------------------------------------------------------------
1 | Settings for displaying V18
2 | 4
3 | 1
4 | 0
5 | 0
6 | 0
7 | 0
8 | 2
9 | ________________________________________________________________
10 | CM: Mean_Original_NOx_total_3m
11 | 2
12 | True
13 | Black
14 | 2
15 | 1
16 | 2
17 | White
18 | 255
19 | 1500
20 | Arial, 9pt
21 | True
22 | False
23 | R
24 | R
25 | R
26 | 1
27 | 0
28 | -1
29 | -1
30 | 1290,557,1
31 | XY
32 | µg/m³
33 | I:\GRAL_Projects\MyProject\Maps\Mean_Original_NOx_total_3m.txt
34 | 0 0 1 1
35 | 1
36 | 0
37 | 0
38 | True
39 | Yellow #FFCD00 #FFB400 #FF9B00 #FF8200 #FF6900 #FF5000 Red
40 | 0.02 0.1 0.2 0.5 1 2 5 8
41 | Yellow #FFCD00 #FFB400 #FF9B00 #FF8200 #FF6900 #FF5000 Red
42 | ________________________________________________________________
43 | GRAL DOMAIN
44 | 0
45 | True
46 | Blue
47 | 1
48 | 1
49 | 2
50 | Transparent
51 | 255
52 | 0
53 | Arial, 12pt
54 | False
55 | False
56 | R
57 | R
58 | R
59 | 0
60 | 0
61 | -1
62 | -1
63 | -999,-999,-999
64 | x
65 | x
66 | x
67 | 0 0 1 1
68 | 1
69 | 0
70 | 0
71 | False
72 | Transparent
73 | 0
74 | Blue
75 | ________________________________________________________________
76 | POINT SOURCES
77 | 2
78 | True
79 | Red
80 | 30
81 | 1
82 | 2
83 | Black
84 | 255
85 | 0
86 | Arial, 12pt
87 | False
88 | False
89 | R
90 | R
91 | R
92 | 1
93 | 0
94 | -1
95 | -1
96 | -999,-999,-999
97 | x
98 | x
99 | x
100 | 0 0 1 1
101 | 1
102 | 0
103 | 0
104 | False
105 | Transparent
106 | 0
107 | Transparent
108 | ________________________________________________________________
109 | BM: Background
110 | 0
111 | True
112 | Transparent
113 | 1
114 | 1
115 | 2
116 | Transparent
117 | 50
118 | 500
119 | Arial, 8pt
120 | False
121 | False
122 | R
123 | R
124 | R
125 | 1
126 | 0
127 | -1
128 | -1
129 | -999,-999,-999
130 | x
131 | x
132 | I:\GRAL_Projects\MyProject\Maps\Background.jpg
133 | 0 0 1200 725
134 | 4.68817999275626
135 | 46851.7187218642
136 | 243288.190494748
137 | False
138 | Transparent
139 | 0
140 | Gray
141 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Settings/Sourcegroups.txt:
--------------------------------------------------------------------------------
1 | stack-source,1
2 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Settings/diurnal_emissionmod.txt:
--------------------------------------------------------------------------------
1 | Diurnal variation of emissions
2 | Constant,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
3 | Daytime,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0
4 | Nighttime,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1
5 | Highway,0.57,0.51,0.42,0.39,0.37,0.43,0.67,1.01,1.23,1.36,1.39,1.39,1.36,1.32,1.36,1.42,1.45,1.49,1.42,1.21,1.02,0.84,0.73,0.67
6 | City traffic,0.11,0.06,0.06,0.06,0.12,0.33,1.07,2,1.46,1.35,1.43,1.5,1.57,1.61,1.59,1.77,2.06,1.9,1.41,0.92,0.59,0.47,0.38,0.21
7 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Settings/emissionmodulations.txt:
--------------------------------------------------------------------------------
1 | 1,Constant,Constant
2 |
--------------------------------------------------------------------------------
/SampleProjects/PointSourceProject/Settings/seasonal_emissionmod.txt:
--------------------------------------------------------------------------------
1 | Seasonal variation of emissions
2 | Constant,1,1,1,1,1,1,1,1,1,1,1,1
3 | Non-exhaust emissions traffic,2,2.6,1.3,1.2,1,0.4,0.8,0.2,0.5,0.6,0.7,0.8
4 | Heating,1,0.9,0.75,0.6,0.2,0.2,0.1,0.1,0.3,0.5,0.7,1
5 | Winter,1,1,1,0,0,0,0,0,0,1,1,1
6 | Summer,0,0,0,1,1,1,1,1,1,0,0,0
7 |
--------------------------------------------------------------------------------
/SampleProjects/README.md:
--------------------------------------------------------------------------------
1 | # GRAL samples
2 | These examples are intended to familiarize with the first application of the model and to illustrate the possibilities of the model system.
3 | In the figure below you see the result of the example AscendingBridge. In this example, a valley is traversed by the bridge at a height of more than 100 m.
4 | The source configurations are arbitrary and do not represent the reality. Also, the wind fields are truncated so that the examples can be calculated very fast. The wind data represents one day, so you can see a 24 hour mean value of the concentration in a height of 3 m above terrain here.
5 | With the topography map displayed in the background, the influence of the topography on the dispersion is clearly visible.
6 |
7 |
8 |
9 |
10 | The example PointSourceProject is calculated on flat terrain without buildings and shows a typical concentration dispersion of a stack. The different stability classes and wind speeds lead to different concentration patterns towards the west and the east of the source.
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-modernist
2 | title: "Welcome to the GRAL homepage!"
3 | description: "GRAL includes three programs:|the lagrangian dispersion model GRAL, the mesoscale wind field model GRAMM and the graphical user interface GUI.|The programs are running on Windows and LINUX (the calculation kernels on .Net Core, the GUI on Windows Forms or MONO WinForms).The MONO- WinForms support of the GUI for LINUX is unfortunately not as stable as the Windows version."
4 |
5 |
--------------------------------------------------------------------------------
/runtimeconfig.template.json:
--------------------------------------------------------------------------------
1 | {
2 | "configProperties":
3 | {
4 | "System.Net.DisableIPv6": "true",
5 | "System.Windows.Forms.DataGridViewUIAStartRowCountAtZero": true
6 | }
7 | }
--------------------------------------------------------------------------------
/src/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 | {
5 | // Use IntelliSense to find out which attributes exist for C# debugging
6 | // Use hover for the description of the existing attributes
7 | // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
8 | "name": ".NET Core Launch (console)",
9 | "type": "coreclr",
10 | "request": "launch",
11 | "preLaunchTask": "build",
12 | // If you have changed target frameworks, make sure to update the program path.
13 | "program": "${workspaceFolder}/bin/Debug/net6.0-windows7.0/GRAL_GUI.dll",
14 | "args": [],
15 | "cwd": "${workspaceFolder}",
16 | // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
17 | "console": "internalConsole",
18 | "stopAtEntry": false
19 | },
20 | {
21 | "name": ".NET Core Attach",
22 | "type": "coreclr",
23 | "request": "attach"
24 | }
25 | ]
26 | }
--------------------------------------------------------------------------------
/src/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "2.0.0",
3 | "tasks": [
4 | {
5 | "label": "build",
6 | "command": "dotnet",
7 | "type": "process",
8 | "args": [
9 | "build",
10 | "${workspaceFolder}/Gral.csproj",
11 | "/property:GenerateFullPaths=true",
12 | "/consoleloggerparameters:NoSummary"
13 | ],
14 | "problemMatcher": "$msCompile"
15 | },
16 | {
17 | "label": "publish",
18 | "command": "dotnet",
19 | "type": "process",
20 | "args": [
21 | "publish",
22 | "${workspaceFolder}/Gral.csproj",
23 | "/property:GenerateFullPaths=true",
24 | "/consoleloggerparameters:NoSummary"
25 | ],
26 | "problemMatcher": "$msCompile"
27 | },
28 | {
29 | "label": "watch",
30 | "command": "dotnet",
31 | "type": "process",
32 | "args": [
33 | "watch",
34 | "run",
35 | "${workspaceFolder}/Gral.csproj",
36 | "/property:GenerateFullPaths=true",
37 | "/consoleloggerparameters:NoSummary"
38 | ],
39 | "problemMatcher": "$msCompile"
40 | }
41 | ]
42 | }
--------------------------------------------------------------------------------
/src/GRAL3DFunctions/X_3D_Win.xaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
18 | Surface
21 | Wireframe
24 | Axes
27 | Vector Scale
30 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/src/GRALBackgroundworkers/CheckZipCRC23.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Collections.Generic;
15 | using System.Linq;
16 | using System.Text;
17 | using System.Threading.Tasks;
18 |
19 | namespace Gral.GRALBackgroundworkers
20 | {
21 | class CheckZipCRC23
22 | {
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/GRALBackgroundworkers/Point3DData.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | namespace GralBackgroundworkers
14 | {
15 | ///
16 | /// Point 3D with filename for windfield analysis
17 | ///
18 | public class Point_3D
19 | {
20 | public double X { get; set; }
21 | public double Y { get; set; }
22 | public double Z { get; set; }
23 | public string FileName { get; set; }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/GRALData/BaseMapData.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System.Drawing;
14 |
15 | namespace GralData
16 | {
17 | ///
18 | /// Class for Base Maps data
19 | ///
20 | public class BaseMapData
21 | {
22 | public Rectangle Destrec {get; set;}
23 | public double West {get; set;}
24 | public double North {get; set;}
25 | public double PixelMX {get; set;}
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/GRALData/ContourPolygons.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 |
15 | namespace GralData
16 | {
17 | ///
18 | /// Contour Polygons with the value of the polygon and the drawing order
19 | ///
20 | public class ContourPolygon : IEquatable , IComparable
21 | {
22 | public int ItemValueIndex { get; set; }
23 | public int DrawingOrder { get; set; }
24 | public GralDomain.PointD[] EdgePoints{ get; set; } // List of edge points for each polygon
25 | public DomainArea Bounds { get; set; }
26 |
27 | public ContourPolygon()
28 | {
29 | Bounds = new DomainArea()
30 | {
31 | West = double.MaxValue,
32 | East = double.MinValue,
33 | North = double.MinValue,
34 | South = double.MaxValue,
35 | };
36 | }
37 |
38 | // Default comparer for Part type.
39 | public int CompareTo(ContourPolygon comparePart)
40 | {
41 | // A null value means that this object is greater.
42 | if (comparePart == null)
43 | {
44 | return 1;
45 | }
46 | else
47 | {
48 | return DrawingOrder.CompareTo(comparePart.DrawingOrder);
49 | }
50 | }
51 |
52 | public bool Equals(ContourPolygon other)
53 | {
54 | if (other == null)
55 | {
56 | return false;
57 | }
58 |
59 | return (DrawingOrder.Equals(other.DrawingOrder));
60 | }
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/src/GRALData/DecayRates.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System.Globalization;
14 |
15 | namespace GralData
16 | {
17 | ///
18 | /// Data container for decay rates
19 | ///
20 | public class DecayRates
21 | {
22 | public int SourceGroup { get; set; }
23 | public double DecayRate { get; set; }
24 | private readonly static CultureInfo ic = CultureInfo.InvariantCulture;
25 |
26 | public override string ToString()
27 | {
28 | return SourceGroup.ToString(ic) + ":" + DecayRate.ToString(ic);
29 | }
30 |
31 | // Default comparer for Part type.
32 | public int CompareTo(DecayRates comparePart)
33 | {
34 | // A null value means that this object is greater.
35 | if (comparePart == null)
36 | {
37 | return 1;
38 | }
39 | else
40 | {
41 | return SourceGroup.CompareTo(comparePart.SourceGroup);
42 | }
43 | }
44 |
45 | public bool Equals(DecayRates other)
46 | {
47 | if (other == null)
48 | {
49 | return false;
50 | }
51 |
52 | return (SourceGroup.Equals(other.SourceGroup));
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/GRALData/DomainArea.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | namespace GralData
14 | {
15 | ///
16 | /// Data container for meteopgt.all lines with sortable frequency
17 | ///
18 | public class DomainArea
19 | {
20 | public double North{ get; set; }
21 | public double East{ get; set; }
22 | public double South{ get; set; }
23 | public double West{ get; set; }
24 |
25 | public DomainArea()
26 | {
27 | North = 0;
28 | West = 0;
29 | East = 0;
30 | South = 0;
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/GRALData/EventArgsCoors.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 |
15 | namespace GralData
16 | {
17 | ///
18 | /// Data container for coordinates transmitted by an event
19 | ///
20 | public class EventArgsCoors : EventArgs
21 | {
22 | private double _x;
23 | private double _y;
24 |
25 | public EventArgsCoors(double X, double Y)
26 | {
27 | _x = X;
28 | _y = Y;
29 | }
30 |
31 | public EventArgsCoors(string X, string Y)
32 | {
33 | _x = double.Parse(X);
34 | _y = double.Parse(Y);
35 | }
36 |
37 | public double X {get{return _x;} }
38 | public double Y {get{return _y;} }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/GRALData/PGTAll.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Globalization;
15 |
16 | namespace GralData
17 | {
18 | ///
19 | /// Data container for meteopgt.all lines with sortable frequency
20 | ///
21 | public class PGTAll : IEquatable , IComparable
22 | {
23 | public string PGTString { get; set; }
24 | public double PGTFrq { get; set; }
25 | public int PGTNumber { get; set; }
26 | private static CultureInfo ic = CultureInfo.InvariantCulture;
27 |
28 | public override string ToString()
29 | {
30 |
31 | return PGTString + "," + Convert.ToString((double) Math.Round(PGTFrq,1), ic);
32 | }
33 | // public override bool Equals(object obj)
34 | // {
35 | // if (obj == null) return false;
36 | // PGT_ALL objAsPGT_ALL= obj as PGT_ALL;
37 | // if (objAsPGT_ALL == null) return false;
38 | // else return Equals(objAsPGT_ALL);
39 | // }
40 | public int SortByNameAscending(string name1, string name2)
41 | {
42 | return name1.CompareTo(name2);
43 | }
44 |
45 | // Default comparer for Part type.
46 | public int CompareTo(PGTAll comparePart)
47 | {
48 | // A null value means that this object is greater.
49 | if (comparePart == null)
50 | {
51 | return 1;
52 | }
53 | else
54 | {
55 | return PGTFrq.CompareTo(comparePart.PGTFrq);
56 | }
57 | }
58 |
59 | public bool Equals(PGTAll other)
60 | {
61 | if (other == null)
62 | {
63 | return false;
64 | }
65 |
66 | return (PGTFrq.Equals(other.PGTFrq));
67 | }
68 | // Should also override == and != operators.
69 |
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/src/GRALData/PointDStruct.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Drawing;
15 | using System.Globalization;
16 |
17 | namespace GralDomain
18 | {
19 | ///
20 | /// PointD Structure used by Items
21 | ///
22 | public struct PointD
23 | {
24 | public double X;
25 | public double Y;
26 |
27 | public PointD(double x, double y)
28 | {
29 | X = Math.Round(x, 1);
30 | Y = Math.Round(y, 1);
31 | }
32 |
33 | public PointD(string x, string y, CultureInfo cul)
34 | {
35 | X = Math.Round(Convert.ToDouble(x, cul), 1);
36 | Y = Math.Round(Convert.ToDouble(y, cul), 1);
37 | }
38 |
39 | public Point ToPoint()
40 | {
41 | return new Point((int)X, (int)Y);
42 | }
43 |
44 | public PointF ToPointF()
45 | {
46 | return new PointF((float)X, (float)Y);
47 | }
48 |
49 | public GralData.PointD_3d ToPoint3d()
50 | {
51 | return new GralData.PointD_3d (X, Y, 0);
52 | }
53 |
54 | public override bool Equals(object obj)
55 | {
56 | return obj is PointD d && this == d;
57 | }
58 | public override int GetHashCode()
59 | {
60 | return X.GetHashCode() ^ Y.GetHashCode();
61 | }
62 | public static bool operator ==(PointD a, PointD b)
63 | {
64 | return a.X == b.X && a.Y == b.Y;
65 | }
66 | public static bool operator !=(PointD a, PointD b)
67 | {
68 | return !(a == b);
69 | }
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/src/GRALData/PointD_3d.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Globalization;
15 |
16 | namespace GralData
17 | {
18 | ///
19 | /// PointD 3d Data structure for Walls and other Items
20 | ///
21 | public struct PointD_3d
22 | {
23 | public double X;
24 | public double Y;
25 | public double Z;
26 |
27 | public PointD_3d(double x, double y, double z)
28 | {
29 | X = Math.Round(x, 1);
30 | Y = Math.Round(y, 1);
31 | Z = Math.Round(z, 1);
32 | }
33 | public PointD_3d(string x, string y, string z, CultureInfo cul)
34 | {
35 | X = Math.Round(Convert.ToDouble(x, cul), 1);
36 | Y = Math.Round(Convert.ToDouble(y, cul), 1);
37 | Z = Math.Round(Convert.ToDouble(z, cul), 1);
38 | }
39 | public GralDomain.PointD ToPointD()
40 | {
41 | return new GralDomain.PointD(X, Y);
42 | }
43 | public System.Drawing.PointF ToPointF()
44 | {
45 | return new System.Drawing.PointF((float)X, (float)Y);
46 | }
47 | public override bool Equals(object obj)
48 | {
49 | return obj is PointD_3d && this == (PointD_3d)obj;
50 | }
51 | public override int GetHashCode()
52 | {
53 | return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode();
54 | }
55 | public static bool operator ==(PointD_3d a, PointD_3d b)
56 | {
57 | return a.X == b.X && a.Y == b.Y && a.Z == b.Z;
58 | }
59 | public static bool operator !=(PointD_3d a, PointD_3d b)
60 | {
61 | return !(a == b);
62 | }
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/src/GRALData/SelectedPointNumber.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Globalization;
15 |
16 | namespace GralData
17 | {
18 | ///
19 | /// Selected Point number and coordinates if an item is selected in the domain-form
20 | ///
21 | public struct SelectedPointNumber
22 | {
23 | public double X;
24 | public double Y;
25 | public int Index;
26 | public SelectedPointNumber(string x, string y, int index, CultureInfo cul)
27 | {
28 | X = Math.Round(Convert.ToDouble(x, cul), 1);
29 | Y = Math.Round(Convert.ToDouble(y, cul), 1);
30 | Index = index;
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/GRALData/TopoModifyData.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 |
14 | // Class used by the Modify Topography class
15 | namespace GralData
16 | {
17 | ///
18 | /// Class that holds data for the topograhy modification
19 | ///
20 | public class TopoModifyClass
21 | {
22 | public float Height = 0;
23 | public bool AbsoluteHeight = false;
24 | public int Raster = 0;
25 | public float Hmax = 10000;
26 | public float Hmin = 0;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/GRALData/WindData.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Globalization;
15 |
16 | namespace GralData
17 | {
18 | ///
19 | /// Wind data from *.met or *.akt or *.akterm file
20 | ///
21 | public class WindData
22 | {
23 | ///
24 | /// Date like used in *.met files as string
25 | ///
26 | public string Date { get; set; }
27 | ///
28 | /// Time like used in *.met files as string
29 | ///
30 | public string Time { get; set; }
31 | ///
32 | /// Stability class
33 | ///
34 | public int StabClass { get; set; }
35 | ///
36 | /// Hour
37 | ///
38 | public int Hour { get; set; }
39 | ///
40 | /// Wind velocity
41 | ///
42 | public double Vel { get; set; }
43 | ///
44 | /// Wind direction
45 | ///
46 | public double Dir { get; set; }
47 |
48 | public override string ToString()
49 | {
50 | CultureInfo ic = CultureInfo.InvariantCulture;
51 | return Date + "," + Time + "," + Math.Round(Vel, 2).ToString(ic) + "," + Math.Round(Dir).ToString(ic) + "," + StabClass.ToString(ic);
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/src/GRALDomForms/Dialog_3D.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Windows.Forms;
15 |
16 | namespace GralDomForms
17 | {
18 | ///
19 | /// Settings for the 3D visualization
20 | ///
21 | public partial class Dialog_3D : Form
22 | {
23 | private bool _sm = true;
24 | ///
25 | /// Smoothing the 3D view?
26 | ///
27 | public bool Smoothing { set {_sm = value;} get{return _sm;}}
28 | ///
29 | /// Vertical stretching factor
30 | ///
31 | public double VertFactor { get; set; }
32 | ///
33 | /// GRAL topography available?
34 | ///
35 | public bool GRAL_Topo { get; set; }
36 |
37 | public Dialog_3D()
38 | {
39 | InitializeComponent();
40 | ID_OK.DialogResult = DialogResult.OK;
41 | ID_CANCEL.DialogResult = DialogResult.Cancel;
42 | }
43 |
44 | void Form1Load(object sender, EventArgs e)
45 | {
46 | checkBox1.Checked = _sm;
47 |
48 | numericUpDown1.Value = Convert.ToDecimal(VertFactor);
49 | if (GRAL_Topo)
50 | {
51 | radioButton2.Enabled = true;
52 | radioButton2.Checked = true;
53 | }
54 | else
55 | {
56 | radioButton2.Enabled = false;
57 | radioButton1.Checked = true;
58 | }
59 |
60 | }
61 |
62 | void ID_OKClick(object sender, EventArgs e)
63 | {
64 | VertFactor = Convert.ToDouble(numericUpDown1.Value);
65 | if (checkBox1.Checked)
66 | {
67 | _sm = true;
68 | }
69 | else
70 | {
71 | _sm = false;
72 | }
73 |
74 | GRAL_Topo = false;
75 | if (radioButton2.Checked)
76 | {
77 | GRAL_Topo = true;
78 | }
79 |
80 | Close();
81 | }
82 |
83 |
84 | void ID_CANCELClick(object sender, EventArgs e)
85 | {
86 | Close();
87 | }
88 | }
89 | }
90 |
--------------------------------------------------------------------------------
/src/GRALDomForms/Infobox.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Drawing;
15 | using System.Windows.Forms;
16 |
17 | namespace GralDomForms
18 | {
19 | ///
20 | /// Simple info box for item data
21 | ///
22 | public partial class Infobox : Form
23 | {
24 | private Point ToolTipMousePosition;
25 |
26 | private void MainFormMouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
27 | {
28 | ToolTipMousePosition = new Point(-e.X, -e.Y);
29 | }
30 |
31 | private void MainFormMouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
32 | {
33 | if (e.Button == MouseButtons.Left)
34 | {
35 | Point mousePos = Control.MousePosition;
36 | mousePos.Offset(ToolTipMousePosition.X, ToolTipMousePosition.Y);
37 | Location = mousePos;
38 | }
39 | }
40 |
41 | public Infobox()
42 | {
43 | InitializeComponent();
44 | }
45 |
46 | private void button1_Click(object sender, EventArgs e)
47 | {
48 | Close();
49 | }
50 |
51 | void InfoboxLoad(object sender, EventArgs e)
52 | {
53 | System.Drawing.Point point = System.Windows.Forms.Control.MousePosition;
54 | Left = point.X;
55 | Top = point.Y;
56 | }
57 | }
58 | }
--------------------------------------------------------------------------------
/src/GRALDomForms/MapScaleInput.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using GralItemData;
14 | using System;
15 | using System.Windows.Forms;
16 |
17 | namespace Gral.GRALDomForms
18 | {
19 | public partial class MapScaleInput : Form
20 | {
21 | public MapScaleData MapScale;
22 |
23 | public MapScaleInput()
24 | {
25 | InitializeComponent();
26 | #if __MonoCS__
27 | var allNumUpDowns = Main.GetAllControls(this);
28 | foreach (NumericUpDown nu in allNumUpDowns)
29 | {
30 | nu.TextAlign = HorizontalAlignment.Left;
31 | }
32 | #endif
33 | }
34 |
35 | private void MapScaleInput_Load(object sender, EventArgs e)
36 | {
37 | numericUpDown1.Value = MapScale.Length;
38 | numericUpDown2.Value = MapScale.Division;
39 | textBox1.Text = MapScale.X.ToString();
40 | textBox2.Text = MapScale.Y.ToString();
41 | if (MapScale.RelativeTo == MapScaleData.ToScreen)
42 | {
43 | radioButton1.Checked = true;
44 | }
45 | else
46 | {
47 | radioButton2.Checked = true;
48 | }
49 | }
50 |
51 | private void CancelButton_Click(object sender, EventArgs e)
52 | {
53 | this.Close();
54 | this.Dispose();
55 | }
56 |
57 | private void OKButton_Click(object sender, EventArgs e)
58 | {
59 | MapScale.Length = Convert.ToInt32(numericUpDown1.Value);
60 | MapScale.Division = Convert.ToInt32(numericUpDown2.Value);
61 | if (Int32.TryParse(textBox1.Text, out int x))
62 | {
63 | MapScale.X = x;
64 | }
65 | if (Int32.TryParse(textBox2.Text, out int y))
66 | {
67 | MapScale.Y = y;
68 | }
69 | if (radioButton1.Checked)
70 | {
71 | MapScale.RelativeTo = MapScaleData.ToScreen;
72 | }
73 | else
74 | {
75 | MapScale.RelativeTo = MapScaleData.ToMap;
76 | }
77 | this.Close();
78 | this.Dispose();
79 | }
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/src/GRALDomForms/MathrasterNOxConversion.resx:
--------------------------------------------------------------------------------
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 |
47 |
48 |
49 | text/microsoft-resx
50 |
51 |
52 | 2.0
53 |
54 |
55 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
56 |
57 |
58 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
59 |
60 |
--------------------------------------------------------------------------------
/src/GRALDomForms/SelectItem.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Windows.Forms;
15 | using System.Collections.Generic;
16 |
17 | namespace GralDomForms
18 | {
19 | ///
20 | /// Selects overlapping items if an item is selected using the right mouse button
21 | ///
22 | public partial class SelectItem : Form
23 | {
24 | public List ItemNames = new List();
25 | public int SelectedIndex = 0;
26 |
27 | public SelectItem()
28 | {
29 | InitializeComponent();
30 | }
31 |
32 | void SelectItemLoad(object sender, EventArgs e)
33 | {
34 | #if __MonoCS__
35 | this.AutoSizeMode = AutoSizeMode.GrowOnly;
36 | #else
37 | #endif
38 | if (ItemNames.Count == 0)
39 | {
40 | Close();
41 | }
42 | foreach(string mn in ItemNames)
43 | {
44 | listBox1.Items.Add(mn);
45 | }
46 | listBox1.SelectedIndex = 0;
47 | }
48 |
49 | void Button1Click(object sender, EventArgs e)
50 | {
51 | SelectedIndex = (int) (listBox1.SelectedIndex);
52 | }
53 |
54 | void Button2Click(object sender, EventArgs e)
55 | {
56 | SelectedIndex = -1; // nothing selected
57 | }
58 |
59 | void ListBox1DoubleClick(object sender, EventArgs e)
60 | {
61 | Button1Click(null, null);
62 | this.Close();
63 | }
64 | }
65 |
66 |
67 | }
68 |
--------------------------------------------------------------------------------
/src/GRALDomForms/WindFileData.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | namespace GralDomForms
14 | {
15 | ///
16 | /// Wind file class used by the wind rose display in the GIS window
17 | ///
18 | public class WindFileData
19 | {
20 | public string Filename { get; set; }
21 | public char RowSep { get; set; }
22 | public string DecSep { get; set; }
23 | public int MaxValue { get; set; }
24 | public int Size { get; set; }
25 | public double X0 { get; set; }
26 | public double Y0 { get; set; }
27 | public double Z0 { get; set; }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/GRALDomForms/WindfieldSectionDrawing.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Collections.Generic;
15 |
16 | namespace GralDomForms
17 | {
18 | ///
19 | /// Class for windfield section drawings
20 | ///
21 | public class WindfieldSectionDrawings
22 | {
23 | public double GralWest { get; set; }
24 | public double GralSouth { get; set; }
25 | public int Nii { get; set; }
26 | public int Njj { get; set; }
27 | public int Nkk { get; set; }
28 | public Single Layer1 { get; set; }
29 | public Single Stretch { get; set; }
30 | public List StretchFlexible { get; set; }
31 | public Single AHmin { get; set; }
32 | public double cellsize {get; set;}
33 | public double X0 { get; set; }
34 | public double Y0 { get; set; }
35 | public double X1 { get; set; }
36 | public double Y1 { get; set; }
37 | public string Path { get; set; }
38 | public string GRAMM_path { get; set; }
39 | public string PROJECT_path { get; set; }
40 | public double GrammWest { get; set; }
41 | public double GrammSouth { get; set; }
42 | public double GrammCellsize { get; set; }
43 | public double WindSectorSize { get; set; }
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/src/GRALDomain/DrawMap/Domain_DrawBaseMap.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System.Drawing;
14 | using System.Drawing.Imaging;
15 |
16 | namespace GralDomain
17 | {
18 | public partial class Domain
19 | {
20 | ///
21 | /// Draw Base Maps
22 | ///
23 | private void DrawBaseMap(Graphics g, DrawingObjects _drobj)
24 | {
25 | // Kuntner: check bitmap zoom - avoid error
26 | if (_drobj.DestRec.Height > 1 && _drobj.DestRec.Width > 1 &&
27 | _drobj.SourceRec.Height > 1 && _drobj.SourceRec.Width> 1 &&
28 | _drobj.DestRec.Width < 67108864 && _drobj.DestRec.Height<67108864 &&
29 | _drobj.SourceRec.Width <67108864 && _drobj.SourceRec.Height<67108864)
30 | {
31 | //create a color matrix object
32 | ColorMatrix matrix = new ColorMatrix();
33 |
34 | //set the opacity
35 | if (_drobj.Transparancy <= 0 || _drobj.Transparancy >= 100) // set standard-values - compatibility to old projects
36 | {
37 | _drobj.Transparancy = 100;
38 | }
39 |
40 | matrix.Matrix33 = _drobj.Transparancy * 0.01F;
41 |
42 | //create image attributes
43 | ImageAttributes attributes = new ImageAttributes();
44 |
45 | //set the color(opacity) of the image
46 | attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
47 |
48 | //now draw the image
49 | g.DrawImage(_drobj.Picture, _drobj.DestRec, _drobj.SourceRec.Left, _drobj.SourceRec.Top, _drobj.SourceRec.Width, _drobj.SourceRec.Height, GraphicsUnit.Pixel, attributes);
50 |
51 | matrix = null;
52 | attributes = null;
53 | // g.DrawImage(_drobj.Picture, _drobj.DestRec, _drobj.SourceRec, GraphicsUnit.Pixel);
54 | }
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/src/GRALDomain/PictureboxMouseAndKeys/DomainPictureboxMouseDownLeft.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/GRALDomain/PictureboxMouseAndKeys/DomainPictureboxMouseDownLeft.cs
--------------------------------------------------------------------------------
/src/GRALItemData/CopyObjects.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | namespace GralItemData
14 | {
15 | ///
16 | /// Data container for meteopgt.all lines with sortable frequency
17 | ///
18 | public class CopyObjects
19 | {
20 | public PointSourceData PointSource;
21 | public BuildingData Building;
22 | public LineSourceData LineSource;
23 | public ReceptorData Receptor;
24 | public AreaSourceData AreaSource;
25 | public PortalsData PortalSource;
26 |
27 | public CopyObjects()
28 | {
29 | PointSource = null;
30 | Building = null;
31 | LineSource = null;
32 | Receptor = null;
33 | AreaSource = null;
34 | PortalSource = null;
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/GRALItemData/DepositionSettings.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | namespace GralItemData
14 | {
15 | ///
16 | /// This class represents the deposition data
17 | ///
18 | public class Deposition_Settings
19 | {
20 | public string Title { get; set; }
21 | ///
22 | /// Fraction for PM10 particle class
23 | ///
24 | public int Frac_10 { get; set; }
25 | ///
26 | /// Fraction for PM2,5 particle class
27 | ///
28 | public int Frac_25 { get; set; }
29 | ///
30 | /// Diameter for PM30 particle class
31 | ///
32 | public int DM_30 { get; set; }
33 | ///
34 | /// Deposition velocity for PM2,5 or gases
35 | ///
36 | public double V_Dep1 { get; set; }
37 | ///
38 | /// Deposition velocity for PM10
39 | ///
40 | public double V_Dep2 { get; set; }
41 | ///
42 | /// Deposition velocity for PM30
43 | ///
44 | public double V_Dep3 { get; set; }
45 | ///
46 | /// Density for that particle
47 | ///
48 | public double Density { get; set; }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/src/GRALItemData/ItemDataNemo.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using GralStaticFunctions;
15 |
16 | namespace GralItemData
17 | {
18 | ///
19 | /// This class represents the NEMO data
20 | ///
21 | [Serializable]
22 | public class NemoData
23 | {
24 | public int AvDailyTraffic { get; set; }
25 | public int BaseYear { get; set; }
26 | public int TrafficSit { get; set; }
27 | public float ShareHDV { get; set; }
28 | public float Slope { get; set; }
29 |
30 | public NemoData()
31 | {}
32 |
33 | public NemoData(NemoData other)
34 | {
35 | AvDailyTraffic = other.AvDailyTraffic;
36 | BaseYear = other.BaseYear;
37 | TrafficSit = other.TrafficSit;
38 | ShareHDV = other.ShareHDV;
39 | Slope = other.Slope;
40 | }
41 |
42 | public override string ToString()
43 | {
44 | string dummy = Convert.ToString(AvDailyTraffic) + "," +
45 | St_F.DblToIvarTxt(Math.Round(ShareHDV, 3)) + "," +
46 | St_F.DblToIvarTxt(Math.Round(Slope, 3)) + "," +
47 | Convert.ToString(TrafficSit) +"," +
48 | Convert.ToString(BaseYear);
49 | return dummy;
50 | }
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/GRALItemData/ItemDataPollutants.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 |
15 | namespace GralItemData
16 | {
17 | ///
18 | /// This class represents the pollution data; Source group number is limited between 1 to 99
19 | ///
20 | [Serializable]
21 | public class PollutantsData
22 | {
23 | private int _sourcegroup = 1;
24 |
25 | public int SourceGroup
26 | {
27 | get
28 | {
29 | return _sourcegroup;
30 | }
31 | set
32 | {
33 | if (value < 1)
34 | {
35 | _sourcegroup = 1;
36 | }
37 | else if (value > 99)
38 | {
39 | _sourcegroup = 99;
40 | }
41 | else
42 | {
43 | _sourcegroup = value;
44 | }
45 | }
46 | }
47 | public int[] Pollutant { get; set; }
48 | public double[] EmissionRate { get; set; }
49 |
50 | public PollutantsData()
51 | {
52 | SourceGroup = 0;
53 | Pollutant = new int[10];
54 | EmissionRate = new double[10];
55 | }
56 |
57 | public PollutantsData(int SorceGroup)
58 | {
59 | SourceGroup = SourceGroup;
60 | Pollutant = new int[10];
61 | EmissionRate = new double[10];
62 | }
63 |
64 | public PollutantsData(PollutantsData other)
65 | {
66 | SourceGroup = other.SourceGroup;
67 | Pollutant = new int[10];
68 | EmissionRate = new double[10];
69 | for (int i = 0; i <10; i++)
70 | {
71 | Pollutant[i] = other.Pollutant[i];
72 | EmissionRate[i] = other.EmissionRate[i];
73 | }
74 | }
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/src/GRALItemData/ItemDataSourceGroups.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 |
15 | namespace Gral
16 | {
17 | ///
18 | /// This class represents the source group data
19 | ///
20 | public class SG_Class : IEquatable , IComparable
21 | {
22 | public string SG_Name { get; set; }
23 |
24 | public int SG_Number { get; set; }
25 |
26 | public override string ToString()
27 | {
28 | return SG_Name + "," + SG_Number.ToString();
29 | }
30 |
31 | public override bool Equals(object obj)
32 | {
33 | if (obj == null)
34 | {
35 | return false;
36 | }
37 |
38 | SG_Class objAsSG = obj as SG_Class;
39 | if (objAsSG == null)
40 | {
41 | return false;
42 | }
43 | else
44 | {
45 | return Equals(objAsSG);
46 | }
47 | }
48 |
49 | public int SortByNameAscending(string name1, string name2)
50 | {
51 |
52 | return name1.CompareTo(name2);
53 | }
54 |
55 | // Default comparer for Part type.
56 | public int CompareTo(SG_Class compareSG)
57 | {
58 | // A null value means that this object is greater.
59 | if (compareSG == null)
60 | {
61 | return 1;
62 | }
63 | else
64 | {
65 | return SG_Number.CompareTo(compareSG.SG_Number);
66 | }
67 | }
68 |
69 | public override int GetHashCode()
70 | {
71 | return SG_Number;
72 | }
73 |
74 | public bool Equals(SG_Class other)
75 | {
76 | if (other == null)
77 | {
78 | return false;
79 | }
80 |
81 | return (SG_Number.Equals(other.SG_Number));
82 | }
83 | }
84 | }
85 |
--------------------------------------------------------------------------------
/src/GRALItemData/ItemFormShowFirst.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | namespace GralItemData
14 | {
15 | ///
16 | /// This class holds the data about the first visible Item Form
17 | ///
18 | public class ShowFirstItem
19 | {
20 | public bool Ps { get; set; }
21 | public bool Ls { get; set; }
22 | public bool As { get; set; }
23 | public bool Ts { get; set; }
24 | public bool Bu { get; set; }
25 | public bool Re { get; set; }
26 | public bool Wa { get; set; }
27 | public bool Veg { get; set; }
28 |
29 | public ShowFirstItem()
30 | {
31 | Reset();
32 | }
33 |
34 | ///
35 | /// Reset the first visible item data
36 | ///
37 | public void Reset()
38 | {
39 | Ps = true;
40 | Ls = true;
41 | As = true;
42 | Ts = true;
43 | Bu = true;
44 | Re = true;
45 | Wa = true;
46 | Veg = true;
47 | }
48 | }
49 | }
--------------------------------------------------------------------------------
/src/GRALItemData/MapScaleData.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | namespace GralItemData
14 | {
15 | ///
16 | /// This class holds the data for the map scale bar
17 | ///
18 | public class MapScaleData
19 | {
20 | public int X { get; set; } //x-coordinate of map scale bar
21 | public int Y { get; set; } //y-coordinate of map scale bar
22 | public int Division { get; set; } //number of divisions of the map scale bar
23 | public int Length { get; set; } //lenght in m of the map scale bar
24 | public int RelativeTo { get; set; } // position of scale relative to the map or the screen
25 | public const int ToScreen = 0;
26 | public const int ToMap = 1;
27 |
28 | public MapScaleData()
29 | {
30 | X = 0;
31 | Y = 0;
32 | Division = 3;
33 | Length = 100;
34 | RelativeTo = ToScreen;
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/GRALItemData/MapSizes.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | namespace GralItemData
14 | {
15 | ///
16 | /// This class holds the data for the map size
17 | ///
18 | public class MapSizes
19 | {
20 | private double _west = 0;
21 | private double _north = 0;
22 | private double _sizeX = 1;
23 | private double _sizeY = -1;
24 |
25 | public double West { get {return _west;} set {_west = value;}} // Western border of map
26 | public double North { get {return _north;} set {_north = value;}} // Northern border of map
27 | public double SizeX { get {return _sizeX;} // Natural Pixel size of map in E-W direction
28 | set
29 | {
30 | if (value == 0)
31 | {
32 | _sizeX = 1E-6;
33 | }
34 | else
35 | {
36 | _sizeX = value;
37 | }
38 | }
39 | }
40 | public double SizeY { get {return _sizeY;} // Natural Pixel size of map in N-S direction
41 | set
42 | {
43 | if (value == 0)
44 | {
45 | _sizeY = 1E-6;
46 | }
47 | else
48 | {
49 | _sizeY = value;
50 | }
51 | }
52 | }
53 |
54 | public MapSizes()
55 | {
56 | West = 0;
57 | North = 0;
58 | SizeX = 1;
59 | SizeY = -1;
60 | }
61 |
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/src/GRALItemData/NorthArrowData.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | namespace GralItemData
14 | {
15 | ///
16 | /// This class holds the data for the north arrow bitmap
17 | ///
18 | public class NorthArrowData
19 | {
20 | public int X { get; set; } //x-coordinate of north arrow
21 | public int Y { get; set; } //y-coordinate of north arrow
22 | public decimal Scale { get; set; } //scale of north arrow
23 |
24 | public NorthArrowData()
25 | {
26 | X = 0;
27 | Y = 0;
28 | Scale = 1;
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/src/GRALItemData/VerticalWindProfile.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using GralDomForms;
14 |
15 | namespace GralItemData
16 | {
17 | ///
18 | /// This class is used for vertical wind velocity and wind direction window
19 | ///
20 | public class VerticalWindProfile
21 | {
22 | public int DispersionSituation { get; set; }
23 | public int GRALorGRAMM { get; set; }
24 | public VerticalProfile_Static VertProfileVelocity { get; set; }
25 | public VerticalProfile_Static VertProfileDirection{ get; set; }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/GRALItemForms/GRAMM-GRAL.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Windows.Forms;
15 |
16 | namespace GralItemForms
17 | {
18 | public partial class GRAMM_GRAL : Form
19 | {
20 | public GRAMM_GRAL()
21 | {
22 | InitializeComponent();
23 | button1.DialogResult = DialogResult.OK;
24 | }
25 |
26 | private void button1_Click(object sender, EventArgs e)
27 | {
28 | Hide();
29 | }
30 |
31 | private void button2_Click(object sender, EventArgs e)
32 | {
33 | Hide();
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/GRALMainFunctions/Main_GRAMMOnline.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.IO;
15 | using System.Windows.Forms;
16 |
17 | namespace Gral
18 | {
19 | ///
20 | /// The functions within the Main MeteoTab.
21 | ///
22 | partial class Main
23 | {
24 | ////////////////////////////////////////////////////////////////
25 | // GRAMM ONLINE
26 | ////////////////////////////////////////////////////////////////
27 |
28 | ///
29 | /// Show GRAMM or GRAL onlilne map
30 | ///
31 | ///
32 | ///
33 | private void Button36_Click(object sender, EventArgs e)
34 | {
35 | GralDomain.Domain domain = new GralDomain.Domain(this, true)
36 | {
37 | ReDrawContours = true,
38 | ReDrawVectors = true
39 | };
40 | domain.StartPosition = FormStartPosition.Manual;
41 | domain.Left = GralStaticFunctions.St_F.GetScreenAtMousePosition();
42 | domain.Show();
43 | }
44 | }
45 | }
--------------------------------------------------------------------------------
/src/GRALMainSubForms/Allinallout.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Windows.Forms;
15 |
16 | namespace GralMainForms
17 | {
18 | public partial class Allinallout : Form
19 | {
20 | public Allinallout()
21 | {
22 | InitializeComponent();
23 |
24 | button1.DialogResult = DialogResult.OK;
25 | }
26 |
27 | private void Allinallout_Load(object sender, EventArgs e)
28 | {
29 |
30 | }
31 |
32 | private void button1_Click(object sender, EventArgs e)
33 | {
34 | Hide();
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/src/GRALMainSubForms/Input_Odour.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Windows.Forms;
15 |
16 | namespace GralMainForms
17 | {
18 | ///
19 | /// Form for odour analyzation user settings
20 | ///
21 | public partial class Input_Odour : Form
22 | {
23 | public int MeanToPeak;
24 | public bool WriteAdditionalFiles;
25 |
26 | public Input_Odour()
27 | {
28 | InitializeComponent();
29 | ID_OK.DialogResult = DialogResult.OK;
30 | ID_Cancel.DialogResult = DialogResult.Cancel;
31 | }
32 |
33 | private void ID_OK_Click(object sender, EventArgs e)
34 | {
35 | if (radioButton1.Checked)
36 | {
37 | MeanToPeak = -1;
38 | }
39 | else
40 | {
41 | MeanToPeak = (int) numericUpDown1.Value;
42 | }
43 | WriteAdditionalFiles = checkBox1.Checked;
44 | }
45 |
46 | private void ID_Cancel_Click(object sender, EventArgs e)
47 | {
48 | Close();
49 | }
50 |
51 | private void radioButton2_CheckedChanged(object sender, EventArgs e)
52 | {
53 | if(radioButton1.Checked==true)
54 | {
55 | numericUpDown1.Enabled = false;
56 | }
57 | else
58 | {
59 | numericUpDown1.Enabled = true;
60 | }
61 | }
62 |
63 | private void radioButton1_CheckedChanged(object sender, EventArgs e)
64 | {
65 | if (radioButton1.Checked == true)
66 | {
67 | numericUpDown1.Enabled = false;
68 | checkBox1.Enabled = true;
69 | }
70 | else
71 | {
72 | numericUpDown1.Enabled = true;
73 | checkBox1.Checked = false;
74 | checkBox1.Enabled = false;
75 | }
76 | }
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/src/GRALMainSubForms/Landuse_Select.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Drawing;
15 | using System.Windows.Forms;
16 |
17 | namespace GralMainForms
18 | {
19 | public partial class LanduseSelect : Form
20 | {
21 | public LanduseSelect()
22 | {
23 | InitializeComponent();
24 | button1.DialogResult = DialogResult.OK;
25 | }
26 |
27 | private void button1_Click(object sender, EventArgs e)
28 | {
29 | Hide();
30 | }
31 |
32 | void Landuse_SelectLoad(object sender, EventArgs e)
33 | {
34 | if (Owner != null)
35 | {
36 | Location = new Point(Math.Max(0,Owner.Location.X + Owner.Width / 2 - Width / 2 - 100),
37 | Math.Max(0, Owner.Location.Y + Owner.Height / 2 - Height / 2 -100));
38 | }
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/GRALMainSubForms/Select_horizontal_Layer.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Windows.Forms;
15 |
16 | namespace GralMainForms
17 | {
18 | ///
19 | /// Seelct a horizontal layer for the analyation of results
20 | ///
21 | public partial class SelectHorizontalLayer : Form
22 | {
23 | public int MaxGramm;
24 | public int MaxGral;
25 | public SelectHorizontalLayer(int layer, int gramm, int _maxgramm, int _maxgral, int interval)
26 | {
27 | //
28 | // The InitializeComponent() call is required for Windows Forms designer support.
29 | //
30 | InitializeComponent();
31 | MaxGramm = _maxgramm;
32 | MaxGral = _maxgral;
33 | radioButton1.Show();
34 | radioButton2.Show();
35 | LayerUpDown.Minimum = 1;
36 | refreshUpDown.Minimum = 1;
37 | refreshUpDown.Maximum =20;
38 | refreshUpDown.Value = interval;
39 |
40 | switch (gramm)
41 | {
42 | case -2: // show GRAL only
43 | radioButton1.Hide();
44 | radioButton2.Checked = true;
45 | LayerUpDown.Maximum = _maxgral;
46 | break;
47 | case -1: // show GRAMM only
48 | radioButton2.Hide();
49 | radioButton1.Checked = true;
50 | LayerUpDown.Maximum = _maxgramm;
51 | break;
52 | case 1: // Check GRAMM
53 | radioButton1.Checked = true;
54 | LayerUpDown.Maximum = _maxgramm;
55 | break;
56 |
57 | case 2: // Check GRAL
58 | radioButton2.Checked = true;
59 | LayerUpDown.Maximum = _maxgral;
60 | break;
61 |
62 | }
63 |
64 | LayerUpDown.Value = layer;
65 | }
66 |
67 |
68 |
69 | void Button2Click(object sender, EventArgs e) // Cancel
70 | {
71 |
72 | }
73 |
74 |
75 |
76 | void Button1Click(object sender, EventArgs e)
77 | {
78 |
79 | }
80 |
81 |
82 |
83 | void RadioButton1CheckedChanged(object sender, EventArgs e)
84 | {
85 | LayerUpDown.Maximum = MaxGramm;
86 | }
87 |
88 | void RadioButton2CheckedChanged(object sender, EventArgs e)
89 | {
90 | LayerUpDown.Maximum = MaxGral;
91 | }
92 | }
93 | }
94 |
--------------------------------------------------------------------------------
/src/GRALMainSubForms/Selectslice.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Windows.Forms;
15 | using System.IO;
16 | using GralIO;
17 | using Gral;
18 | using System.Collections.Generic;
19 |
20 | namespace GralMainForms
21 | {
22 | ///
23 | /// Select one or multiple horizontal slices
24 | ///
25 | public partial class Selectslice : Form
26 | {
27 | public List SelectedSlices = new List();
28 | public List HorSlices;
29 |
30 | public Selectslice()
31 | {
32 | InitializeComponent();
33 | }
34 |
35 | private void Selectslice_Load(object sender, EventArgs e)
36 | {
37 | //fill listbox with heights of horizontal slices
38 | InDatVariables data = new InDatVariables();
39 | InDatFileIO ReadInData = new InDatFileIO();
40 |
41 | double[] horslice = new double[10];
42 | data.InDatPath = Path.Combine(Main.ProjectName, @"Computation","in.dat");
43 | data.HorSlices = horslice; // initialize array object !
44 | ReadInData.Data = data;
45 |
46 | for (int i = 0; i < HorSlices.Count; i++)
47 | {
48 | listBox1.Items.Add(HorSlices[i]);
49 | }
50 |
51 | listBox1.SelectedIndex = 0;
52 | }
53 |
54 | private void button1_Click(object sender, EventArgs e)
55 | {
56 | for (int i = 0; i < listBox1.Items.Count; i++)
57 | {
58 | if (listBox1.GetSelected(i) == true)
59 | {
60 | SelectedSlices.Add(i);
61 | }
62 | }
63 | Hide();
64 | }
65 |
66 | private void button2_Click(object sender, EventArgs e)
67 | {
68 | Hide();
69 | }
70 | }
71 | }
--------------------------------------------------------------------------------
/src/GRALMainSubForms/Windrose.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/GRALMainSubForms/Windrose.cs
--------------------------------------------------------------------------------
/src/GRALMessageForms/FileDeleteMessage.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Collections.Generic;
15 | using System.Windows.Forms;
16 |
17 | namespace GralMessage
18 | {
19 | ///
20 | /// Form to aks for deleteing all files
21 | ///
22 | public partial class FileDeleteMessage : Form
23 | {
24 | private bool _gramm;
25 | public bool DeleteGramm {set {_gramm = value;} } // Filename
26 | public string DeleteMessage = string.Empty;
27 | public List ListboxEntries;
28 |
29 | public FileDeleteMessage()
30 | {
31 | InitializeComponent();
32 | }
33 |
34 | private void FileDeleteMessageLoad(object sender, EventArgs e)
35 | {
36 | AcceptButton = button2;
37 | ActiveControl = button2;
38 | if (_gramm)
39 | {
40 | label1.Text = "Delete all wind field files at the project folder?";
41 | }
42 | if (!String.IsNullOrEmpty(DeleteMessage))
43 | {
44 | label1.Text = DeleteMessage;
45 | }
46 |
47 | // default text or individual entries?
48 | if (ListboxEntries.Count > 0)
49 | {
50 | foreach (string _entry in ListboxEntries)
51 | {
52 | listView1.Items.Add(_entry);
53 | }
54 | }
55 |
56 | button3.BackgroundImage = System.Drawing.Bitmap.FromHicon(System.Drawing.SystemIcons.Warning.Handle);
57 | }
58 |
59 | //delete files
60 | private void button1_Click(object sender, EventArgs e)
61 | {
62 | Close();
63 | }
64 |
65 | //do not delete files
66 | private void button2_Click(object sender, EventArgs e)
67 | {
68 | Close();
69 | }
70 | }
71 | }
--------------------------------------------------------------------------------
/src/GRALMessageForms/MessageBoxTemporary.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Drawing;
15 | using System.Windows.Forms;
16 |
17 | namespace GralMessage
18 | {
19 | ///
20 | /// Show a message -> this message disappears after some seconds
21 | ///
22 | public partial class MessageBoxTemporary : Form
23 | {
24 | private System.Windows.Forms.Timer timer1;
25 | private Point ptm = new Point(GralStaticFunctions.St_F.GetScreenAtMousePosition(), GralStaticFunctions.St_F.GetTopScreenAtMousePosition());
26 | public MessageBoxTemporary(string a, Point ptt)
27 | {
28 | //
29 | // The InitializeComponent() call is required for Windows Forms designer support.
30 | //
31 | InitializeComponent();
32 | if (ptt.X > ptm.X && ptt.Y > ptm.Y)
33 | {
34 | ptm.X = ptt.X + 20;
35 | ptm.Y = ptt.Y + 20;
36 | }
37 | textBox1.Text = a;
38 |
39 | timer1 = new System.Windows.Forms.Timer
40 | {
41 | Enabled = true,
42 | Interval = 10000
43 | };
44 | timer1.Tick += new System.EventHandler(timer1_Tick);
45 | }
46 |
47 | private void timer1_Tick(object sender, EventArgs e)
48 | {
49 | Close();
50 | Dispose();
51 | pictureBox1.Dispose();
52 | timer1.Dispose();
53 | }
54 |
55 | void PictureBox1Paint(object sender, PaintEventArgs e)
56 | {
57 | e.Graphics.DrawIcon(SystemIcons.Information,0,0);
58 | }
59 |
60 | void MessageBox_TemporaryLoad(object sender, EventArgs e)
61 | {
62 | Location = ptm;
63 | }
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/src/GRALMessageForms/Messagewindow.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace GralMessage
2 | {
3 | partial class MessageWindow
4 | {
5 | ///
6 | /// Erforderliche Designervariable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Verwendete Ressourcen bereinigen.
12 | ///
13 | /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Vom Windows Form-Designer generierter Code
24 |
25 | ///
26 | /// Erforderliche Methode für die Designerunterstützung.
27 | /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MessageWindow));
32 | this.listBox1 = new System.Windows.Forms.ListBox();
33 | this.SuspendLayout();
34 | //
35 | // listBox1
36 | //
37 | this.listBox1.FormattingEnabled = true;
38 | this.listBox1.Location = new System.Drawing.Point(4, 1);
39 | this.listBox1.Name = "listBox1";
40 | this.listBox1.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
41 | this.listBox1.Size = new System.Drawing.Size(285, 264);
42 | this.listBox1.TabIndex = 0;
43 | this.listBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ListBox1KeyDown);
44 | //
45 | // MessageWindow
46 | //
47 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
48 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
49 | this.ClientSize = new System.Drawing.Size(292, 264);
50 | this.Controls.Add(this.listBox1);
51 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
52 | this.Name = "MessageWindow";
53 | this.ShowInTaskbar = false;
54 | this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
55 | this.Text = "Calculating...";
56 | this.Load += new System.EventHandler(this.Messagewindow_Load);
57 | this.Resize += new System.EventHandler(this.MessagewindowResize);
58 | this.ResumeLayout(false);
59 |
60 | }
61 |
62 | #endregion
63 |
64 | public System.Windows.Forms.ListBox listBox1;
65 | }
66 | }
--------------------------------------------------------------------------------
/src/GRALMessageForms/Messagewindow.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Windows.Forms;
15 | using System.Linq;
16 |
17 |
18 | namespace GralMessage
19 | {
20 | ///
21 | /// Show a message form
22 | ///
23 | public partial class MessageWindow : Form
24 | {
25 | private string _titlebar = "";
26 | public string Titlebar { set {_titlebar = value;} }
27 |
28 | public MessageWindow()
29 | {
30 | InitializeComponent();
31 | this.StartPosition = FormStartPosition.CenterScreen;
32 | }
33 |
34 | private void Messagewindow_Load(object sender, EventArgs e)
35 | {
36 | if (_titlebar.Length > 1)
37 | {
38 | Text = _titlebar;
39 | }
40 | }
41 |
42 | void MessagewindowResize(object sender, EventArgs e)
43 | {
44 | listBox1.Size = ClientSize;
45 | }
46 |
47 | void ListBox1KeyDown(object sender, KeyEventArgs e)
48 | {
49 | if (e.Control == true && e.KeyCode == Keys.C)
50 | {
51 | Clipboard.SetText( string.Join( Environment.NewLine, listBox1.SelectedItems.OfType().ToArray() ) );
52 | }
53 | }
54 | }
55 | }
--------------------------------------------------------------------------------
/src/GRALMessageForms/Waitprogressbar.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace GralMessage
2 | {
3 | partial class Waitprogressbar
4 | {
5 | ///
6 | /// Erforderliche Designervariable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Verwendete Ressourcen bereinigen.
12 | ///
13 | /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Vom Windows Form-Designer generierter Code
24 |
25 | ///
26 | /// Erforderliche Methode für die Designerunterstützung.
27 | /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Waitprogressbar));
32 | progressBar1 = new System.Windows.Forms.ProgressBar();
33 | SuspendLayout();
34 | //
35 | // progressBar1
36 | //
37 | progressBar1.Location = new System.Drawing.Point(12, 12);
38 | progressBar1.Name = "progressBar1";
39 | progressBar1.Size = new System.Drawing.Size(289, 28);
40 | progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee;
41 | progressBar1.TabIndex = 0;
42 | progressBar1.UseWaitCursor = true;
43 | //
44 | // Waitprogressbar
45 | //
46 | AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
47 | AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
48 | ClientSize = new System.Drawing.Size(315, 52);
49 | ControlBox = false;
50 | Controls.Add(progressBar1);
51 | Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 0);
52 | Icon = (System.Drawing.Icon)resources.GetObject("$this.Icon");
53 | Name = "Waitprogressbar";
54 | StartPosition = System.Windows.Forms.FormStartPosition.Manual;
55 | Text = "Loading...";
56 | UseWaitCursor = true;
57 | ResumeLayout(false);
58 | }
59 |
60 | #endregion
61 |
62 | private System.Windows.Forms.ProgressBar progressBar1;
63 | }
64 | }
--------------------------------------------------------------------------------
/src/GRALMessageForms/Waitprogressbar.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System.Windows.Forms;
14 |
15 | namespace GralMessage
16 | {
17 | ///
18 | /// Show a progress bar
19 | ///
20 | public partial class Waitprogressbar : Form
21 | {
22 | public Waitprogressbar(string text)
23 | {
24 | InitializeComponent();
25 | Text = text;
26 | this.Left = GralStaticFunctions.St_F.GetScreenAtMousePosition() + 160;
27 | this.Top = GralStaticFunctions.St_F.GetTopScreenAtMousePosition() + 140;
28 | }
29 |
30 | }
31 | }
--------------------------------------------------------------------------------
/src/GRALMessageForms/Waitprogressbar_Cancel.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System.Windows.Forms;
14 |
15 | namespace GralMessage
16 | {
17 |
18 | public delegate void ProgressbarUpdateDelegate(object sender, int max);
19 |
20 | ///
21 | /// Show a progress bar with cancel button
22 | ///
23 | public partial class WaitProgressbarCancel : Form
24 | {
25 | private System.Threading.CancellationTokenSource cts;
26 | public ProgressbarUpdateDelegate UpdateProgressDelegate;
27 | ///
28 | /// Progress and Cancel form
29 | ///
30 | ///
31 | /// Cancellation token source
32 | public WaitProgressbarCancel(string Title, ref System.Threading.CancellationTokenSource CTS)
33 | {
34 | //
35 | // The InitializeComponent() call is required for Windows Forms designer support.
36 | //
37 | InitializeComponent();
38 | cts = CTS;
39 | progressbar.Minimum = 1;
40 | progressbar.Maximum = 100;
41 | progressbar.Value = 100;
42 | progressbar.Step = 1;
43 | UpdateProgressDelegate = new ProgressbarUpdateDelegate(ProgressbarUpdate);
44 | this.Left = GralStaticFunctions.St_F.GetScreenAtMousePosition() + 160;
45 | this.Top = GralStaticFunctions.St_F.GetTopScreenAtMousePosition() + 140;
46 | this.Text = Title;
47 | }
48 |
49 | ///
50 | /// Update the progress bar
51 | ///
52 | ///
53 | /// 0 = increment, >0 = set maximum
54 | public void ProgressbarUpdate(object sender, int max)
55 | {
56 | if (max == 0)
57 | {
58 | progressbar.PerformStep();
59 | }
60 | else
61 | {
62 | progressbar.Maximum = max;
63 | progressbar.Value = 1;
64 | }
65 | }
66 |
67 | ///
68 | /// Set Cancellation Token
69 | ///
70 | ///
71 | ///
72 | void Cancel_buttonMouseClick(object sender, MouseEventArgs e)
73 | {
74 | if (cts != null)
75 | {
76 | cts.Cancel();
77 | }
78 | }
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/src/GRALShapeFiles/SHPLine.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 |
14 | namespace GralShape
15 | {
16 | ///
17 | /// Shapefile line class
18 | ///
19 | public class SHPLine
20 | {
21 | public double[] Box;
22 | public int NumParts;
23 | public int NumPoints;
24 | public int[] Parts;
25 | public GralDomain.PointD[] Points;
26 | ///
27 | /// Z value of a Point
28 | ///
29 | public double[] PointsZ;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/GRALShapeFiles/SHPPolygon.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 |
14 | namespace GralShape
15 | {
16 | ///
17 | /// Shapefile Polygon class
18 | ///
19 | public class SHPPolygon
20 | {
21 | public double[] Box;
22 | public int NumParts;
23 | public int NumPoints;
24 | public int[] Parts;
25 | public GralDomain.PointD[] Points;
26 |
27 | ///
28 | /// Create an empty Shape Polygon Class
29 | ///
30 | public SHPPolygon()
31 | {
32 | Box = new double[4];
33 | NumParts = 0;
34 | NumPoints = 0;
35 | }
36 |
37 | ///
38 | /// Create a deep copy of a Shape Polygon Class
39 | ///
40 | /// Other Shape Polygon class
41 | /// Copy shape points?
42 | public SHPPolygon(SHPPolygon Other, bool PointsIncluded)
43 | {
44 | Box = new double[Other.Box.GetLength(0)];
45 | System.Array.Copy(Other.Box, Box, Other.Box.GetLength(0));
46 | NumParts = Other.NumParts;
47 | NumPoints = Other.NumPoints;
48 | Parts = new int[Other.Parts.GetLength(0)];
49 | System.Array.Copy(Other.Parts, Parts, Other.Parts.GetLength(0));
50 | if (PointsIncluded)
51 | {
52 | Points = new GralDomain.PointD[Other.Points.GetLength(0)];
53 | System.Array.Copy(Other.Points, Points, Other.Points.GetLength(0));
54 | }
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/src/GRALSocialExplorer/DbfDataTruncateException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 |
5 | namespace SocialExplorer.IO.FastDBF
6 | {
7 | [Serializable]
8 | public class DbfDataTruncateException: Exception
9 | {
10 |
11 | public DbfDataTruncateException(string smessage): base(smessage)
12 | {
13 | }
14 |
15 | public DbfDataTruncateException(string smessage, Exception innerException)
16 | : base(smessage, innerException)
17 | {
18 | }
19 |
20 | public DbfDataTruncateException(SerializationInfo info, StreamingContext context)
21 | : base(info, context)
22 | {
23 | }
24 |
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/GRALStaticFunctions/FileDelete.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2020] [Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 | using System;
13 | using System.Runtime.InteropServices;
14 |
15 | namespace GralStaticFunctions
16 | {
17 | static class FileDelete
18 | {
19 | private const int FO_DELETE = 0x0003;
20 | private const int FOF_ALLOWUNDO = 0x0040;
21 | private const int FOF_NOCONFIRMATION = 0x0010;
22 | private static SHFILEOPSTRUCT64 fileop = new SHFILEOPSTRUCT64
23 | {
24 | wFunc = FO_DELETE,
25 | fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION,
26 | lpszProgressTitle = "Move files to the recycling bin" + '\0'
27 | };
28 |
29 | // Struct which contains information that the SHFileOperation function uses to perform file operations.
30 | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
31 | public struct SHFILEOPSTRUCT64
32 | {
33 | public IntPtr hwnd;
34 | public uint wFunc;
35 | [MarshalAs(UnmanagedType.LPTStr)]
36 | public string pFrom;
37 | [MarshalAs(UnmanagedType.LPTStr)]
38 | public string pTo;
39 | public ushort fFlags;
40 | public bool fAnyOperationsAborted;
41 | public IntPtr hNameMappings;
42 | [MarshalAs(UnmanagedType.LPTStr)]
43 | public string lpszProgressTitle;
44 | }
45 |
46 | [DllImport("shell32.dll", CharSet = CharSet.Auto)]
47 | static extern int SHFileOperation(ref SHFILEOPSTRUCT64 FileOp);
48 |
49 | public static void DeleteFileToRecyclingBin(string path)
50 | {
51 | fileop.pFrom = path + '\0' + '\0';
52 | SHFileOperation(ref fileop);
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/GRAMMERA5Forcing/GRAMM_ERA5.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Collections.Generic;
15 | using System.Linq;
16 | using System.Text;
17 | using System.Threading.Tasks;
18 | using System.Windows.Forms;
19 |
20 | namespace Gral
21 | {
22 | partial class Main
23 | {
24 | //enable ERA5 transient forcing for GRAMM
25 | public void checkBox35_CheckedChanged(object sender, EventArgs e)
26 | {
27 | SaveIINDatFile();
28 | }
29 |
30 | //sets the start time for transient GRAMM simulations using ERA5
31 | private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
32 | {
33 | SaveIINDatFile();
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/Gral.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.0.31808.319
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Gral", "Gral.csproj", "{420B4702-D759-4B5E-8D7B-862BD9C87022}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Debug|x64 = Debug|x64
12 | Release|Any CPU = Release|Any CPU
13 | Release|x64 = Release|x64
14 | EndGlobalSection
15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 | {420B4702-D759-4B5E-8D7B-862BD9C87022}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
17 | {420B4702-D759-4B5E-8D7B-862BD9C87022}.Debug|Any CPU.Build.0 = Debug|Any CPU
18 | {420B4702-D759-4B5E-8D7B-862BD9C87022}.Debug|x64.ActiveCfg = Debug|x64
19 | {420B4702-D759-4B5E-8D7B-862BD9C87022}.Debug|x64.Build.0 = Debug|x64
20 | {420B4702-D759-4B5E-8D7B-862BD9C87022}.Release|Any CPU.ActiveCfg = Release|Any CPU
21 | {420B4702-D759-4B5E-8D7B-862BD9C87022}.Release|Any CPU.Build.0 = Release|Any CPU
22 | {420B4702-D759-4B5E-8D7B-862BD9C87022}.Release|x64.ActiveCfg = Release|x64
23 | {420B4702-D759-4B5E-8D7B-862BD9C87022}.Release|x64.Build.0 = Release|x64
24 | EndGlobalSection
25 | GlobalSection(SolutionProperties) = preSolution
26 | HideSolutionNode = FALSE
27 | EndGlobalSection
28 | GlobalSection(ExtensibilityGlobals) = postSolution
29 | SolutionGuid = {83C92F8E-B6B6-4269-B0C3-627A3BA97934}
30 | EndGlobalSection
31 | EndGlobal
32 |
--------------------------------------------------------------------------------
/src/Gral_Win_Lin.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 2012
4 | # SharpDevelop 4.4
5 | VisualStudioVersion = 15.0.27004.2005
6 | MinimumVisualStudioVersion = 10.0.40219.1
7 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gral", "Gral\Gral.csproj", "{6CC8845D-A38D-4BA8-BA29-9AD92A2DC44E}"
8 | EndProject
9 | Global
10 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
11 | Debug|Any CPU = Debug|Any CPU
12 | Release|Any CPU = Release|Any CPU
13 | EndGlobalSection
14 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
15 | {6CC8845D-A38D-4BA8-BA29-9AD92A2DC44E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
16 | {6CC8845D-A38D-4BA8-BA29-9AD92A2DC44E}.Debug|Any CPU.Build.0 = Debug|Any CPU
17 | {6CC8845D-A38D-4BA8-BA29-9AD92A2DC44E}.Release|Any CPU.ActiveCfg = Release|Any CPU
18 | {6CC8845D-A38D-4BA8-BA29-9AD92A2DC44E}.Release|Any CPU.Build.0 = Release|Any CPU
19 | EndGlobalSection
20 | GlobalSection(Performance) = preSolution
21 | HasPerformanceSessions = true
22 | EndGlobalSection
23 | GlobalSection(SolutionProperties) = preSolution
24 | HideSolutionNode = FALSE
25 | EndGlobalSection
26 | GlobalSection(ExtensibilityGlobals) = postSolution
27 | SolutionGuid = {1259C495-7E0E-4F93-8C78-BB7FDDF77800}
28 | EndGlobalSection
29 | GlobalSection(MonoDevelopProperties) = preSolution
30 | description = GRAL LINUX ALPHA Version
31 | EndGlobalSection
32 | EndGlobal
33 |
--------------------------------------------------------------------------------
/src/Program.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Windows.Forms;
15 |
16 | namespace Gral
17 | {
18 | static class Program
19 | {
20 | ///
21 | /// Der Haupteinstiegspunkt für die Anwendung.
22 | ///
23 | [STAThread]
24 | static void Main()
25 | {
26 | #if NET6_0_OR_GREATER
27 | //ApplicationConfiguration.Initialize();
28 | Application.EnableVisualStyles();
29 | Application.SetCompatibleTextRenderingDefault(false);
30 | Application.SetHighDpiMode(HighDpiMode.DpiUnawareGdiScaled);
31 | System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
32 | #else
33 | Application.EnableVisualStyles();
34 | Application.SetCompatibleTextRenderingDefault(true);
35 | #endif
36 | Application.Run(new Main());
37 | }
38 | }
39 | }
--------------------------------------------------------------------------------
/src/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | #region Copyright
2 | ///
3 | ///
4 | /// Copyright (C) [2019] [Dietmar Oettl, Markus Kuntner]
5 | /// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
6 | /// the Free Software Foundation version 3 of the License
7 | /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9 | /// You should have received a copy of the GNU General Public License along with this program. If not, see .
10 | ///
11 | #endregion
12 |
13 | using System;
14 | using System.Reflection;
15 | using System.Runtime.InteropServices;
16 | using System.Resources;
17 |
18 | // Allgemeine Informationen über eine Assembly werden über die folgenden
19 | // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
20 | // die mit einer Assembly verknüpft sind.
21 | [assembly: AssemblyTitle("GRAL_GUI")]
22 | [assembly: AssemblyDescription("")]
23 | [assembly: AssemblyConfiguration("")]
24 | [assembly: AssemblyCompany("Dietmar Oettl & Markus Kuntner")]
25 | [assembly: AssemblyProduct("GRAL_GUI")]
26 | [assembly: AssemblyCopyright("© Dietmar Oettl & Markus Kuntner")]
27 | [assembly: AssemblyTrademark("")]
28 | [assembly: AssemblyCulture("")]
29 | // Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
30 | // für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
31 | // COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
32 | [assembly: ComVisible(true)]
33 | // Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
34 | [assembly: Guid("7101d091-5170-4013-940e-d7bc0ee49ce3")]
35 | // Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
36 | //
37 | // Hauptversion
38 | // Nebenversion
39 | // Buildnummer
40 | // Revision
41 | //
42 | // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
43 | // übernehmen, indem Sie "*" eingeben:
44 | // [assembly: AssemblyVersion("1.0.*")]
45 | [assembly: AssemblyVersion("2.4.1.1")]
46 | [assembly: AssemblyFileVersion("2.4.1.1")]
47 | [assembly: NeutralResourcesLanguageAttribute("")]
48 |
--------------------------------------------------------------------------------
/src/Properties/PublishProfiles/FolderProfile.pubxml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | Release
8 | x64
9 | D:\GitHub\GUI\src\bin\Release\net8.0-windows\Publish
10 | FileSystem
11 | net8.0-windows10.0.18362.0
12 | win-x64
13 | true
14 | true
15 | true
16 | true
17 | false
18 |
19 |
--------------------------------------------------------------------------------
/src/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // Dieser Code wurde von einem Tool generiert.
4 | // Laufzeitversion:4.0.30319.42000
5 | //
6 | // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
7 | // der Code erneut generiert wird.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace Gral.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.1.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/Resources/456.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/456.gif
--------------------------------------------------------------------------------
/src/Resources/457.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/457.gif
--------------------------------------------------------------------------------
/src/Resources/Add.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Add.bmp
--------------------------------------------------------------------------------
/src/Resources/AddSmall.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/AddSmall.bmp
--------------------------------------------------------------------------------
/src/Resources/AreaSource.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/AreaSource.gif
--------------------------------------------------------------------------------
/src/Resources/ArrowDown.GIF:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/ArrowDown.GIF
--------------------------------------------------------------------------------
/src/Resources/ArrowLeft.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/ArrowLeft.bmp
--------------------------------------------------------------------------------
/src/Resources/ArrowLeft.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/ArrowLeft.gif
--------------------------------------------------------------------------------
/src/Resources/ArrowRight.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/ArrowRight.gif
--------------------------------------------------------------------------------
/src/Resources/ArrowUp.GIF:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/ArrowUp.GIF
--------------------------------------------------------------------------------
/src/Resources/Bitmap1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Bitmap1.bmp
--------------------------------------------------------------------------------
/src/Resources/Clipboard.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Clipboard.bmp
--------------------------------------------------------------------------------
/src/Resources/Cross.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Cross.gif
--------------------------------------------------------------------------------
/src/Resources/DeleteSmall.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/DeleteSmall.bmp
--------------------------------------------------------------------------------
/src/Resources/Domain.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Domain.gif
--------------------------------------------------------------------------------
/src/Resources/Down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Down.png
--------------------------------------------------------------------------------
/src/Resources/Farbpalette.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Farbpalette.bmp
--------------------------------------------------------------------------------
/src/Resources/GRAL_Logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/GRAL_Logo.gif
--------------------------------------------------------------------------------
/src/Resources/Georeference1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Georeference1.bmp
--------------------------------------------------------------------------------
/src/Resources/Hand.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Hand.gif
--------------------------------------------------------------------------------
/src/Resources/Info.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Info.jpg
--------------------------------------------------------------------------------
/src/Resources/Konfig.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Konfig.bmp
--------------------------------------------------------------------------------
/src/Resources/KonfigButton.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/KonfigButton.bmp
--------------------------------------------------------------------------------
/src/Resources/KonfigYellow.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/KonfigYellow.bmp
--------------------------------------------------------------------------------
/src/Resources/Linesource.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Linesource.gif
--------------------------------------------------------------------------------
/src/Resources/Logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Logo.gif
--------------------------------------------------------------------------------
/src/Resources/Lupe.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Lupe.bmp
--------------------------------------------------------------------------------
/src/Resources/Lupe.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Lupe.gif
--------------------------------------------------------------------------------
/src/Resources/Lupe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Lupe.png
--------------------------------------------------------------------------------
/src/Resources/Lupe1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Lupe1.bmp
--------------------------------------------------------------------------------
/src/Resources/Lupe_minus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Lupe_minus.png
--------------------------------------------------------------------------------
/src/Resources/Lupe_plus.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Lupe_plus.gif
--------------------------------------------------------------------------------
/src/Resources/Modulation_diurnal.txt:
--------------------------------------------------------------------------------
1 | [diurnal],0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23
2 | Constant,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
3 | Daytime,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0
4 | Nighttime,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1
5 | Highway,0.57,0.51,0.42,0.39,0.37,0.43,0.67,1.01,1.23,1.36,1.39,1.39,1.36,1.32,1.36,1.42,1.45,1.49,1.42,1.21,1.02,0.84,0.73,0.67
6 | City traffic,0.11,0.06,0.06,0.06,0.12,0.33,1.07,2,1.46,1.35,1.43,1.5,1.57,1.61,1.59,1.77,2.06,1.9,1.41,0.92,0.59,0.47,0.38,0.21
7 |
--------------------------------------------------------------------------------
/src/Resources/Modulation_seasonal.txt:
--------------------------------------------------------------------------------
1 | [Seasonal],JAN,FEB,MAR,APR,MAI,JUN,JUL,AUG,SEP,OCT,NOV,DEC
2 | Constant,1,1,1,1,1,1,1,1,1,1,1,1
3 | Non-exhaust emissions traffic,2,2.6,1.3,1.2,1,0.4,0.8,0.2,0.5,0.6,0.7,0.8
4 | Heating,1,0.9,0.75,0.6,0.2,0.2,0.1,0.1,0.3,0.5,0.7,1
5 | Winter,1,1,1,0,0,0,0,0,0,1,1,1
6 | Summer,0,0,0,1,1,1,1,1,1,0,0,0
7 |
--------------------------------------------------------------------------------
/src/Resources/NEMO_velocities.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/NEMO_velocities.txt
--------------------------------------------------------------------------------
/src/Resources/New.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/New.bmp
--------------------------------------------------------------------------------
/src/Resources/New1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/New1.bmp
--------------------------------------------------------------------------------
/src/Resources/North.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/North.gif
--------------------------------------------------------------------------------
/src/Resources/OeffnenMultiple.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/OeffnenMultiple.bmp
--------------------------------------------------------------------------------
/src/Resources/Open.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Open.bmp
--------------------------------------------------------------------------------
/src/Resources/Open1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Open1.bmp
--------------------------------------------------------------------------------
/src/Resources/Panelzoom.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Panelzoom.gif
--------------------------------------------------------------------------------
/src/Resources/Pin.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Pin.bmp
--------------------------------------------------------------------------------
/src/Resources/Pin1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Pin1.bmp
--------------------------------------------------------------------------------
/src/Resources/Pin_Down.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Pin_Down.bmp
--------------------------------------------------------------------------------
/src/Resources/Pin_Down1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Pin_Down1.bmp
--------------------------------------------------------------------------------
/src/Resources/Pointsource.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Pointsource.bmp
--------------------------------------------------------------------------------
/src/Resources/Pointsource.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Pointsource.gif
--------------------------------------------------------------------------------
/src/Resources/Pointsource1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Pointsource1.gif
--------------------------------------------------------------------------------
/src/Resources/Portal.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Portal.gif
--------------------------------------------------------------------------------
/src/Resources/Portal1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Portal1.gif
--------------------------------------------------------------------------------
/src/Resources/Restore.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Restore.bmp
--------------------------------------------------------------------------------
/src/Resources/RestoreSmall.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/RestoreSmall.bmp
--------------------------------------------------------------------------------
/src/Resources/Rueckgaengig.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Rueckgaengig.bmp
--------------------------------------------------------------------------------
/src/Resources/Save.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Save.bmp
--------------------------------------------------------------------------------
/src/Resources/Save1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Save1.bmp
--------------------------------------------------------------------------------
/src/Resources/Save2.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Save2.bmp
--------------------------------------------------------------------------------
/src/Resources/SaveSmall.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/SaveSmall.bmp
--------------------------------------------------------------------------------
/src/Resources/StopRecording.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/StopRecording.bmp
--------------------------------------------------------------------------------
/src/Resources/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Thumbs.db
--------------------------------------------------------------------------------
/src/Resources/TimeSeries.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/TimeSeries.bmp
--------------------------------------------------------------------------------
/src/Resources/TimeSeriesSelected.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/TimeSeriesSelected.bmp
--------------------------------------------------------------------------------
/src/Resources/TrashcanSmall.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/TrashcanSmall.bmp
--------------------------------------------------------------------------------
/src/Resources/Up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Up.png
--------------------------------------------------------------------------------
/src/Resources/WrenchBlue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/WrenchBlue.png
--------------------------------------------------------------------------------
/src/Resources/WrenchBlue1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/WrenchBlue1.png
--------------------------------------------------------------------------------
/src/Resources/WrenchYellow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/WrenchYellow.png
--------------------------------------------------------------------------------
/src/Resources/WrenchYellow1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/WrenchYellow1.png
--------------------------------------------------------------------------------
/src/Resources/Zeiger.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/Zeiger.gif
--------------------------------------------------------------------------------
/src/Resources/delete.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/delete.bmp
--------------------------------------------------------------------------------
/src/Resources/favicon1.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/favicon1.ico
--------------------------------------------------------------------------------
/src/Resources/harrow.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/harrow.cur
--------------------------------------------------------------------------------
/src/Resources/lmove.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/lmove.cur
--------------------------------------------------------------------------------
/src/Resources/lock_closed.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/lock_closed.bmp
--------------------------------------------------------------------------------
/src/Resources/lock_open.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/lock_open.bmp
--------------------------------------------------------------------------------
/src/Resources/logo.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/logo.bmp
--------------------------------------------------------------------------------
/src/Resources/netcdf4.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/netcdf4.dll
--------------------------------------------------------------------------------
/src/Resources/section_wind.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/section_wind.bmp
--------------------------------------------------------------------------------
/src/Resources/thrash.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/thrash.bmp
--------------------------------------------------------------------------------
/src/Resources/trashcan.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/trashcan.bmp
--------------------------------------------------------------------------------
/src/Resources/update.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/update.bmp
--------------------------------------------------------------------------------
/src/Resources/update.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/update.png
--------------------------------------------------------------------------------
/src/Resources/win32_MoveDrop32x32.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/win32_MoveDrop32x32.gif
--------------------------------------------------------------------------------
/src/Resources/zoom.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/zoom.bmp
--------------------------------------------------------------------------------
/src/Resources/zoom.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/zoom.cur
--------------------------------------------------------------------------------
/src/Resources/zoom_in.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/zoom_in.cur
--------------------------------------------------------------------------------
/src/Resources/zoom_out.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/Resources/zoom_out.cur
--------------------------------------------------------------------------------
/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/favicon.ico
--------------------------------------------------------------------------------
/src/favicon1.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GralDispersionModel/GUI/8707170ef0a442ddb6868388f0dee768fd7f4b9e/src/favicon1.ico
--------------------------------------------------------------------------------
/src/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "sdk":
3 | {
4 | "allowPrerelease": false
5 | }
6 | }
--------------------------------------------------------------------------------