diff --git a/.gitignore b/.gitignore index c05f3224a..1b57fe643 100644 --- a/.gitignore +++ b/.gitignore @@ -272,3 +272,8 @@ Solutions/Linux/Nix.mk Solutions/Linux/Config.mk Solutions/Linux/MohidLand/MohidLand Solutions/Linux/MohidWater/MohidWater +*.manifest +*.opendb +/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDNumerics.VC.VC.opendb +*.db +*.db3 diff --git a/Desktop.ini b/Desktop.ini deleted file mode 100644 index ae60713df..000000000 Binary files a/Desktop.ini and /dev/null differ diff --git a/README.md b/README.md new file mode 100644 index 000000000..18936bece --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# MOHID - Water Modelling System + +MOHID is short for Modelo Hidrodinâmico which is hydrodynamic model in Portuguese. MOHID is a three-dimensional water modelling system, developed by MARETEC (Marine and Environmental Technology Research Center) at Instituto Superior Técnico (IST) which belongs to Lisbon University. + +## What is this repository? +This is the MOHID Water Modelling System OFFICIAL repository + +## Overview +MOHID is a modular finite volumes water-modelling system written in ANSI-Fortran95 using an Object-oriented programming philosophy, integrating diverse mathematical models and supporting graphical user interfaces that manage all the pre- and post-processing. +MOHID allows the adoption of an integrated modelling philosophy, not only of processes (physical and biogeochemical), but also of different scales (allowing the use of nested models) and systems (estuaries and watersheds), due to the adoption of an object oriented programming philosophy. +The development of MOHID started back in 1985. Since that time a continuous development effort of new features has been maintained. Model updates and improvements were made available in a regular basis were used in the framework of many research and engineering projects. +All programs included in MOHID Water Modelling System are built on the top of one or more base libraries and the two core executables files can be found at the top of the pyramid: +* MOHID Water – Three-dimensional mathematical model to simulate surface water bodies. +* MOHID Land – Watershed mathematical model or Hydrological transport model designed to simulate drainage basin and aquifer; + +Smaller utility programs are easily built on the top of the libraries, which are usually designed for pre or post-processing results of the models. This support tools are normally managed by graphical user interfaces which allow management of input data, control of program execution, and output results analysis, along with other pre- and post-processing operations. +The integration of MOHID’s different tools can be easily achieved since these tools are based on the same framework. This coupling can thus be used to study the water cycle and its associated processes in an integrated approach. + +## Help, Bugs, Feedback +If you need help with MOHID, want to keep up with progress, chat with developers or ask any other questions about MOHID, you can hang out by mail: or consult our [MOHID wiki](http://wiki.mohid.com). You can also subscribe to our [MOHID forum](http://forum.mohid.com). To report bugs, please create a GitHub issue or contact any developers. More information consult + +## License +GNU General Public License. See the [GNU General Public License](http://www.gnu.org/copyleft/gpl.html) web page for more information. diff --git a/README.txt b/README.txt deleted file mode 100644 index f27f6f7a5..000000000 --- a/README.txt +++ /dev/null @@ -1,4 +0,0 @@ -This is the MOHID Water Modelling System OFFICIAL repository - -www.maretec.org -www.mohid.com diff --git a/Software/ConvertToHDF5/ModuleInterpolateGrids.F90 b/Software/ConvertToHDF5/ModuleInterpolateGrids.F90 index 5977fc0f5..954c81802 100644 --- a/Software/ConvertToHDF5/ModuleInterpolateGrids.F90 +++ b/Software/ConvertToHDF5/ModuleInterpolateGrids.F90 @@ -132,6 +132,7 @@ Module ModuleInterpolateGrids integer :: ObjHorizontalGridReplaced = 0 logical :: Interpolation3D, InterpolateGrid3D, NewInterpolation integer :: TypeOfInterpolation + logical :: InterpolationWindowAuto type(T_Grid ) :: Father type(T_Grid ) :: New type(T_Grid ) :: Aux @@ -400,7 +401,7 @@ subroutine ReadOptions(ClientNumber) write(*,*) 'Unknown type of interpolation' stop 'ReadOptions - ModuleInterpolateGrids - ERR110' end if - + !Aux4(1) = FillValueReal !Aux4(2) = FillValueReal @@ -467,7 +468,7 @@ subroutine ReadOptions(ClientNumber) ClientModule = 'ConvertToHDF5', & Default = .false., & STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'ReadOptions - ModuleInterpolateGrids - ERR155' + if (STAT_CALL /= SUCCESS_) stop 'ReadOptions - ModuleInterpolateGrids - ERR160' call GetData(Me%NewInterpolation, & @@ -477,8 +478,17 @@ subroutine ReadOptions(ClientNumber) ClientModule = 'ConvertToHDF5', & Default = .false., & STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'ReadOptions - ModuleInterpolateGrids - ERR150' + if (STAT_CALL /= SUCCESS_) stop 'ReadOptions - ModuleInterpolateGrids - ERR170' + + call GetData(Me%InterpolationWindowAuto, & + Me%ObjEnterData, iflag, & + SearchType = FromBlock, & + keyword = 'INTERPOLATION_WINDOW_AUTO', & + Default = .true., & + ClientModule = 'ConvertToHDF5', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ReadOptions - ModuleInterpolateGrids - ERR180' @@ -2058,6 +2068,7 @@ subroutine ConstructNewGrid logical :: exist integer, dimension(:, :, :), pointer :: WaterPoints3D real, dimension(:, :), pointer :: SurfaceElevation + real :: West, East, South, North !Begin----------------------------------------------------------------- @@ -2092,7 +2103,7 @@ subroutine ConstructNewGrid ActualTime = Me%BeginTime, & STAT = STAT_CALL) if(STAT_CALL .ne. SUCCESS_) stop 'ConstructNewGrid - ModuleInterpolateGrids - ERR05' - + if(Me%Interpolation3D) then call ConstructGeometry (GeometryID = Me%New%ObjGeometry, & @@ -2122,19 +2133,35 @@ subroutine ConstructNewGrid SurfaceElevation(:,:) = 0 call GetWaterPoints3D(Me%New%ObjMap, WaterPoints3D, STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_)stop 'Open_HDF5_OutPut_File - ModuleInterpolateGrids - ERR02' + if (STAT_CALL /= SUCCESS_)stop 'Open_HDF5_OutPut_File - ModuleInterpolateGrids - ERR09' call ComputeInitialGeometry(GeometryID = Me%New%ObjGeometry, & WaterPoints3D = WaterPoints3D, & SurfaceElevation= SurfaceElevation, & ActualTime = Me%BeginTime, & STAT = STAT_CALL) - if(STAT_CALL .ne. SUCCESS_) stop 'ConstructNewGrid - ModuleInterpolateGrids - ERR06' + if(STAT_CALL .ne. SUCCESS_) stop 'ConstructNewGrid - ModuleInterpolateGrids - ERR10' deallocate(SurfaceElevation) endif + if (Me%InterpolationWindowAuto) then + + call GetGridBorderLimits(Me%New%ObjHorizontalGrid, West, East, South, North, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ConstructNewGrid - ModuleInterpolateGrids - ERR11' + +! call GetSonWindow(Me%New%ObjHorizontalGrid, Me%Father%ObjHorizontalGrid, Me%Window, STAT = STAT_CALL) +! if (STAT_CALL /= SUCCESS_) stop 'ConstructNewGrid - ModuleInterpolateGrids - ERR12' + + Me%InterpolWindow%Xmin = West + Me%InterpolWindow%Ymin = South + Me%InterpolWindow%Xmax = East + Me%InterpolWindow%Ymax = North + + endif + + end subroutine ConstructNewGrid !------------------------------------------------------------------------ @@ -2189,7 +2216,7 @@ subroutine ConstructFatherGrid call GetCheckDistortion(HorizontalGridID = Me%Father%ObjHorizontalGrid,& Distortion = NotRegularGrid, & STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'ConstructFatherGrid - ModuleInterpolateGrids - ERR60' + if (STAT_CALL /= SUCCESS_) stop 'ConstructFatherGrid - ModuleInterpolateGrids - ERR60' if (NotRegularGrid) then @@ -2461,7 +2488,8 @@ subroutine FatherSonCommunication(NewGrid) real :: AuxXorig, AuxYorig logical :: Distorted integer :: STAT_CALL, CoordType, CoordTypeSon - integer :: ReadCartCorners, ProjType + integer :: ProjType + logical :: ReadCartCorners integer :: UTM, MIL_PORT, GEOG, SIMPLE_GEOG integer :: GRID_COORD, NLRD integer :: ObjHorizontalGrid @@ -2538,7 +2566,7 @@ subroutine FatherSonCommunication(NewGrid) XX = AuxX, & YY = AuxY, & Xorig = AuxXorig, & - Yorig = AuxYorig, & + Yorig = AuxYorig, & Latitude = NewGridLat, & Longitude = NewGridLong, & ILB = Me%Father%WorkSize2D%ILB, & @@ -2558,7 +2586,7 @@ subroutine FatherSonCommunication(NewGrid) call UngetHorizontalGrid(Me%Father%ObjHorizontalGrid, & AuxY, & STAT = STAT_CALL) - if(STAT_CALL /= SUCCESS_) stop 'FatherSonCommunication - ModuleInterpolateGrids - ERR100' + if(STAT_CALL /= SUCCESS_) stop 'FatherSonCommunication - ModuleInterpolateGrids - ERR100' Me%ObjHorizontalGridReplaced = Me%Father%ObjHorizontalGrid @@ -3526,10 +3554,12 @@ subroutine Triangulator (FatherField, NewField, NewGrid) !Local----------------------------------------------------------------- real, dimension(:), pointer :: NodeX, NodeY, NodeZ real :: AuxX, AuxY + real :: AuxXmin, AuxYmin + real :: AuxXmax, AuxYmax integer :: STAT_CALL integer :: NumberOfNodes, Count, i, j + integer :: ii, jj, di, dj, daux logical :: FillOutsidePoints = .false. - !integer, dimension(:,: ), pointer :: WaterPoints2D !Begin----------------------------------------------------------------- @@ -3545,31 +3575,74 @@ subroutine Triangulator (FatherField, NewField, NewGrid) Count = 0 - do j = Me%Father%WorkSize2D%JLB, Me%Father%WorkSize2D%JUB - do i = Me%Father%WorkSize2D%ILB, Me%Father%WorkSize2D%IUB +d1: do jj = Me%Father%WorkSize2D%JLB, Me%Father%WorkSize2D%JUB,3 + + daux = Me%Father%WorkSize2D%JUB - jj + + if (daux < 0) then + stop 'Triangulator - ModuleInterpolateGrids - ERR10' + endif - AuxX = ((Me%Father%ConnectionX(i, j ) + Me%Father%ConnectionX(i+1, j ))/2. + & - (Me%Father%ConnectionX(i, j+1) + Me%Father%ConnectionX(i+1, j+1))/2.)/2. - - AuxY = ((Me%Father%ConnectionY(i, j ) + Me%Father%ConnectionY(i+1, j ))/2. + & - (Me%Father%ConnectionY(i, j+1) + Me%Father%ConnectionY(i+1, j+1))/2.)/2. + if (daux < 2) then + dj = daux + else + dj = 2 + endif - if (Me%Father%WaterPoints2D(i, j) == WaterPoint .and. & - AuxX > Me%InterpolWindow%Xmin .and. AuxX < Me%InterpolWindow%Xmax .and.& - AuxY > Me%InterpolWindow%Ymin .and. AuxY < Me%InterpolWindow%Ymax) then +d2: do ii = Me%Father%WorkSize2D%ILB, Me%Father%WorkSize2D%IUB,3 + + daux = Me%Father%WorkSize2D%IUB - ii - Count = Count + 1 + if (daux < 0) then + stop 'Triangulator - ModuleInterpolateGrids - ERR20' + endif + + if (daux < 2) then + di = daux + else + di = 2 + endif - NodeX(Count) = AuxX + AuxXmax = maxval(Me%Father%ConnectionX(ii:ii+di+1,jj:jj+dj+1)) + AuxXmin = minval(Me%Father%ConnectionX(ii:ii+di+1,jj:jj+dj+1)) - NodeY(Count) = AuxY + AuxYmax = maxval(Me%Father%ConnectionY(ii:ii+di+1,jj:jj+dj+1)) + AuxYmin = minval(Me%Father%ConnectionY(ii:ii+di+1,jj:jj+dj+1)) - NodeZ(Count) = FatherField%Values2D(i, j) - endif +i1: if (AuxXmax >= Me%InterpolWindow%Xmin .and. AuxXmin <= Me%InterpolWindow%Xmax .and.& + AuxYmax >= Me%InterpolWindow%Ymin .and. AuxYmin <= Me%InterpolWindow%Ymax) then - enddo - enddo + +d3: do j = jj, jj+dj +d4: do i = ii, ii+di + + if (Me%Father%WaterPoints2D(i, j) /= WaterPoint) cycle + + + AuxX = ((Me%Father%ConnectionX(i, j ) + Me%Father%ConnectionX(i+1, j ))/2. + & + (Me%Father%ConnectionX(i, j+1) + Me%Father%ConnectionX(i+1, j+1))/2.)/2. + + AuxY = ((Me%Father%ConnectionY(i, j ) + Me%Father%ConnectionY(i+1, j ))/2. + & + (Me%Father%ConnectionY(i, j+1) + Me%Father%ConnectionY(i+1, j+1))/2.)/2. + + + + Count = Count + 1 + + NodeX(Count) = AuxX + + NodeY(Count) = AuxY + + NodeZ(Count) = FatherField%Values2D(i, j) + + enddo d4 + enddo d3 + + endif i1 + + enddo d2 + enddo d1 NumberOfNodes = Count diff --git a/Software/ConvertToHDF5/ModuleNetCDFCF_2_HDF5MOHID.F90 b/Software/ConvertToHDF5/ModuleNetCDFCF_2_HDF5MOHID.F90 index 81fc2a6ca..16c791c56 100644 --- a/Software/ConvertToHDF5/ModuleNetCDFCF_2_HDF5MOHID.F90 +++ b/Software/ConvertToHDF5/ModuleNetCDFCF_2_HDF5MOHID.F90 @@ -187,6 +187,7 @@ Module ModuleNetCDFCF_2_HDF5MOHID logical :: Accumulated2Step logical :: FromDir2Vector logical :: FromMeteo2Algebric + logical :: FromCartesian2Meteo character(len=StringLength) :: DirX character(len=StringLength) :: DirY logical :: ComputeIntensity, Rotation, Beaufort, WaveBeaufort @@ -2639,6 +2640,20 @@ subroutine ReadFieldOptions STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'ReadFieldOptions - ModuleNetCDFCF_2_HDF5MOHID - ERR2650' + call GetData(Me%Field(ip)%FromCartesian2Meteo, & + Me%ObjEnterData, iflag, & + SearchType = FromBlockInBlock, & + keyword = 'CARTESIAN_TO_METEO', & + default = .false., & + ClientModule = 'ModuleNetCDFCF_2_HDF5MOHID', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ReadFieldOptions - ModuleNetCDFCF_2_HDF5MOHID - ERR2655' + + if (Me%Field(ip)%FromMeteo2Algebric .and. Me%Field(ip)%FromCartesian2Meteo) then + write(*,*) "Options METEO_TO_ALGEBRIC and CARTESIAN_TO_METEO can not be both true" + stop 'ReadFieldOptions - ModuleNetCDFCF_2_HDF5MOHID - ERR2657' + endif + call GetData(Me%Field(ip)%ValueIn%diL, & Me%ObjEnterData, iflag, & @@ -6465,7 +6480,7 @@ subroutine WriteFieldHDF5(iP, iFinal) Aux2D(i,j) = FillValueReal else !Direction property - from meteorological convention to algebric - if (Me%Field(iP)%FromMeteo2Algebric) then + if (Me%Field(iP)%FromMeteo2Algebric .or. Me%Field(iP)%FromCartesian2Meteo) then Aux2D(i,j) = 270. - Aux2D(i,j) endif endif @@ -6886,7 +6901,17 @@ subroutine WriteFieldNetCDF(iP, iFinal) Field2D(j,i) = 270. - Field2D(j,i) endif enddo - enddo + enddo + + do j = 1, WorkJUB + do i = 1, WorkIUB + Field2D(j,i)=Me%Field(iP)%Value2DOut(i,j) + !Direction property - from cartesian (or algebric) convention to meteorological + if (Me%Field(iP)%FromCartesian2Meteo) then + Field2D(j,i) = 270. - Field2D(j,i) + endif + enddo + enddo call BuildAttributes(trim(Me%Field(iP)%ID%Name), NCDFName, LongName, StandardName, & @@ -6921,6 +6946,7 @@ subroutine WriteFieldNetCDF(iP, iFinal) enddo enddo + call BuildAttributes(trim(Me%Field(iP)%DirX), NCDFName, LongName, StandardName, & Units, ValidMin, ValidMax, & MinValue, MaxValue, MissingValue, Float2D = Field2D) diff --git a/Software/HDF5Extractor/ModuleHDF5Extractor.F90 b/Software/HDF5Extractor/ModuleHDF5Extractor.F90 index 93f93668b..56f1027f0 100644 --- a/Software/HDF5Extractor/ModuleHDF5Extractor.F90 +++ b/Software/HDF5Extractor/ModuleHDF5Extractor.F90 @@ -65,8 +65,10 @@ Module ModuleHDF5Extractor use ModuleEnterData, only : ConstructEnterData, KillEnterData, & GetData, ExtractBlockFromBuffer, & Block_Unlock - + use ModuleTime + + use ModuleDrawing, only : ArrayPolygonWindow implicit none @@ -131,7 +133,9 @@ Module ModuleHDF5Extractor ! Definition of SpatialWindow type T_SpatialWindow integer :: ILB, IUB, JLB, JUB, KLB, KUB - logical :: XY_ON, Layers_ON + logical :: XY_ON, Layers_ON, SurfaceLayer + logical :: XY_COORD + real :: Xmin, Ymin, Xmax, Ymax end type T_SpatialWindow ! Definition of type T_Field @@ -253,7 +257,7 @@ subroutine ConstructExtractHDF5 ! Open supplied HDF5 file call OpenAndDateHDF5File - + ! Open HDF5 output file call PrepareOutput ! (and copy the time independent items' values to the new file) @@ -270,7 +274,7 @@ subroutine ReadKeywords integer :: STAT_CALL, iflag integer, dimension(4) :: Aux4 integer, dimension(2) :: Aux2 - + real, dimension(4) :: AuxR !Begin----------------------------------------------------------------- call ConstructEnterData (Me%ObjEnterData, Me%DataFile, STAT = STAT_CALL) @@ -298,6 +302,7 @@ subroutine ReadKeywords Aux4(:) = FillValueInt Aux2(:) = FillValueInt + AuxR(:) = FillValueReal ! Check if the user want to extract a XY spatial window call GetData(Me%SpatialWindow%XY_ON, Me%ObjEnterData, iflag, & @@ -311,22 +316,57 @@ subroutine ReadKeywords if (Me%SpatialWindow%XY_ON) then - call GetData(Aux4, Me%ObjEnterData, iflag, & - keyword = 'XY_WINDOW_LIMITS', & + + call GetData(Me%SpatialWindow%XY_COORD, Me%ObjEnterData, iflag, & + keyword = 'XY_COORD', & SearchType = FromFile, & ClientModule = 'HDF5Extractor', & + default = .false., & STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) & stop 'ReadKeywords - ModuleHDF5Extractor - ERR50' - if (iflag /= 4) & - stop 'ReadKeywords - ModuleHDF5Extractor - ERR60' + + if (Me%SpatialWindow%XY_COORD) then + + call GetData(AuxR, Me%ObjEnterData, iflag, & + keyword = 'XY_WINDOW_LIMITS', & + SearchType = FromFile, & + ClientModule = 'HDF5Extractor', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadKeywords - ModuleHDF5Extractor - ERR60' + + if (iflag /= 4) & + stop 'ReadKeywords - ModuleHDF5Extractor - ERR70' + + + Me%SpatialWindow%Xmin = AuxR(1) + Me%SpatialWindow%Ymin = AuxR(2) + Me%SpatialWindow%Xmax = AuxR(3) + Me%SpatialWindow%Ymax = AuxR(4) + + + else + + call GetData(Aux4, Me%ObjEnterData, iflag, & + keyword = 'XY_WINDOW_LIMITS', & + SearchType = FromFile, & + ClientModule = 'HDF5Extractor', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadKeywords - ModuleHDF5Extractor - ERR80' + + if (iflag /= 4) & + stop 'ReadKeywords - ModuleHDF5Extractor - ERR90' + - Me%SpatialWindow%ILB = Aux4(1) - Me%SpatialWindow%JLB = Aux4(2) - Me%SpatialWindow%IUB = Aux4(3) - Me%SpatialWindow%JUB = Aux4(4) + Me%SpatialWindow%ILB = Aux4(1) + Me%SpatialWindow%JLB = Aux4(2) + Me%SpatialWindow%IUB = Aux4(3) + Me%SpatialWindow%JUB = Aux4(4) + endif endif ! Check if the user want to extract some layers @@ -337,23 +377,37 @@ subroutine ReadKeywords default = .false., & STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) & - stop 'ReadKeywords - ModuleHDF5Extractor - ERR70' + stop 'ReadKeywords - ModuleHDF5Extractor - ERR100' if (Me%SpatialWindow%Layers_ON) then - call GetData(Aux2, Me%ObjEnterData, iflag, & - keyword = 'LAYERS_MIN_MAX', & - SearchType = FromFile, & - ClientModule = 'HDF5Extractor', & + + call GetData(Me%SpatialWindow%SurfaceLayer, Me%ObjEnterData, iflag, & + keyword = 'SURFACE_LAYER', & + SearchType = FromFile, & + ClientModule = 'HDF5Extractor', & + default = .false., & STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) & - stop 'ReadKeywords - ModuleHDF5Extractor - ERR80' + if (STAT_CALL /= SUCCESS_) & + stop 'ReadKeywords - ModuleHDF5Extractor - ERR110' + + if (.not. Me%SpatialWindow%SurfaceLayer) then - if (iflag /= 2) & - stop 'ReadKeywords - ModuleHDF5Extractor - ERR90' + call GetData(Aux2, Me%ObjEnterData, iflag, & + keyword = 'LAYERS_MIN_MAX', & + SearchType = FromFile, & + ClientModule = 'HDF5Extractor', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadKeywords - ModuleHDF5Extractor - ERR120' - Me%SpatialWindow%KLB = Aux2(1) - Me%SpatialWindow%KUB = Aux2(2) + if (iflag /= 2) & + stop 'ReadKeywords - ModuleHDF5Extractor - ERR130' + + Me%SpatialWindow%KLB = Aux2(1) + Me%SpatialWindow%KUB = Aux2(2) + + endif endif @@ -365,7 +419,7 @@ subroutine ReadKeywords default = .false., & STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) & - stop 'ReadKeywords - ModuleHDF5Extractor - ERR100' + stop 'ReadKeywords - ModuleHDF5Extractor - ERR140' if (Me%Interval%Interval_ON) then !get DT @@ -376,7 +430,7 @@ subroutine ReadKeywords STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_ .or. iflag == 0) then write(*,*) 'A DT_INTERVAL must be provided!' - stop 'ReadKeywords - ModuleHDF5Extractor - ERR110' + stop 'ReadKeywords - ModuleHDF5Extractor - ERR150' endif else @@ -388,7 +442,7 @@ subroutine ReadKeywords ClientModule = 'HDF5Extractor', & STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_ .or. iflag == 0) & - stop 'ReadKeywords - ModuleHDF5Extractor - ERR120' + stop 'ReadKeywords - ModuleHDF5Extractor - ERR160' ! End Time call GetData(Me%EndTime, Me%ObjEnterData, iflag, & @@ -397,13 +451,13 @@ subroutine ReadKeywords ClientModule = 'HDF5Extractor', & STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_ .or. iflag == 0) & - stop 'ReadKeywords - ModuleHDF5Extractor - ERR130' + stop 'ReadKeywords - ModuleHDF5Extractor - ERR170' ! Verifies Time Variables if (Me%EndTime .lt. Me%StartTime) then write (*,*) 'End Time is BEFORE Start Time' write (*,*) 'Module :','HDF5Extractor' - stop 'ReadKeywords - ModuleHDF5Extractor - ERR140' + stop 'ReadKeywords - ModuleHDF5Extractor - ERR180' endif endif @@ -417,7 +471,7 @@ subroutine ReadKeywords ClientModule = 'HDF5Extractor', & STAT = STAT_CALL) if (STAT_CALL .NE. SUCCESS_) & - stop 'ConstructParameters - ModuleHDF5Extractor - ERR150' + stop 'ConstructParameters - ModuleHDF5Extractor - ERR190' call GetData(Me%TimeGroup, & @@ -428,7 +482,7 @@ subroutine ReadKeywords ClientModule = 'HDF5Extractor', & STAT = STAT_CALL) if (STAT_CALL .NE. SUCCESS_) & - stop 'ConstructParameters - ModuleHDF5Extractor - ERR160' + stop 'ConstructParameters - ModuleHDF5Extractor - ERR200' @@ -437,7 +491,7 @@ subroutine ReadKeywords call KillEnterData (Me%ObjEnterData, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) then - stop 'ReadKeywords - ModuleHDF5Extractor - ERR170' + stop 'ReadKeywords - ModuleHDF5Extractor - ERR210' end if end subroutine ReadKeywords @@ -863,12 +917,108 @@ subroutine OpenAndDateHDF5File ! Get all HDF5 reference of time independent/grid itens ! (search all file for itens!) call InquireSubGroup(Me%FileID, "/", 1) + + + if (Me%SpatialWindow%XY_ON) then + if (Me%SpatialWindow%XY_COORD) then + call ConvertWindow_XY_2_IJ + endif + endif call KillHDF5(Me%ObjHDF5File) end subroutine OpenAndDateHDF5File !-------------------------------------------------------------------------- + + subroutine ConvertWindow_XY_2_IJ + + !Local--------------------------------------------------------------------- + real, dimension(:,:), pointer :: LonStag, LatStag + real, dimension(2,2) :: WindowLimitsXY = null_real + integer, dimension(:,:), pointer :: WindowDomain + logical :: WindowWithData + type(T_Item), pointer :: ObjItem + + !Begin--------------------------------------------------------------------- + + !Point for items independent of time + ObjItem => Me%FirstIndependentItem + + do while (associated(ObjItem)) + + if (trim(ObjItem%Name) == trim("Latitude")) then + + Me%WorkSize%ILB = 1 + Me%WorkSize%IUB = ObjItem%Dimensions(1) - 1 + Me%WorkSize%JLB = 1 + Me%WorkSize%JUB = ObjItem%Dimensions(2) - 1 + + LatStag => ObjItem%FirstField%Values2D + + endif + + + if( trim(ObjItem%Name) == trim("Longitude")) then + + LonStag => ObjItem%FirstField%Values2D + + endif + + ObjItem => ObjItem%Next + enddo + + + nullify(ObjItem) + + + WindowLimitsXY(2,1) = Me%SpatialWindow%Ymin + WindowLimitsXY(2,2) = Me%SpatialWindow%Ymax + WindowLimitsXY(1,1) = Me%SpatialWindow%Xmin + WindowLimitsXY(1,2) = Me%SpatialWindow%Xmax + + allocate (WindowDomain(2,2)) + + WindowDomain(:,:) = FillValueInt + + call ArrayPolygonWindow(XX = LonStag, & + YY = LatStag, & + WIn = WindowLimitsXY, & + ILB = Me%WorkSize%ILB, & + IUB = Me%WorkSize%IUB+1, & + JLB = Me%WorkSize%JLB, & + JUB = Me%WorkSize%JUB+1, & + WOut = WindowDomain, & + WindowWithData = WindowWithData) + + if (WindowWithData) then + + Me%SpatialWindow%ILB = max(WindowDomain(1,1),Me%WorkSize%ILB) + Me%SpatialWindow%IUB = min(WindowDomain(1,2),Me%WorkSize%IUB) + Me%SpatialWindow%JLB = max(WindowDomain(2,1),Me%WorkSize%JLB) + Me%SpatialWindow%JUB = min(WindowDomain(2,2),Me%WorkSize%JUB) + + else + + Me%SpatialWindow%ILB =Me%WorkSize%ILB + Me%SpatialWindow%IUB =Me%WorkSize%IUB + Me%SpatialWindow%JLB =Me%WorkSize%JLB + Me%SpatialWindow%JUB =Me%WorkSize%JUB + + write(*,*) 'Input file do not intersect the model domain' + write(*,*) 'The window dimension assumed equal to the original domain' + write(*,*) 'ConvertWindow_XY_2_IJ - ModuleHDF5Extractor - WRN10' + + endif + + + deallocate (WindowDomain) + + nullify(LonStag, LatStag) + + end subroutine ConvertWindow_XY_2_IJ + + !-------------------------------------------------------------------------- type(T_Time) function HDF5TimeInstant(Instant) @@ -1073,9 +1223,13 @@ subroutine OpenOutputFile(ObjFileName, ObjEnterData) Me%WorkSize%KUB = ObjItem%Dimensions(3) if (Me%SpatialWindow%Layers_ON) then - Me%WorkSize%KLB = Me%SpatialWindow%KLB - Me%WorkSize%KUB = Me%SpatialWindow%KUB - + if (Me%SpatialWindow%SurfaceLayer) then + Me%WorkSize%KLB = ObjItem%Dimensions(3) + Me%WorkSize%KUB = ObjItem%Dimensions(3) + else + Me%WorkSize%KLB = Me%SpatialWindow%KLB + Me%WorkSize%KUB = Me%SpatialWindow%KUB + endif endif call HDF5SetLimits (ObjEnterData, Me%WorkSize%ILB, & @@ -1349,7 +1503,7 @@ recursive subroutine InquireSubGroup (ID, GroupName, Level) character(StringLength) :: obj_name integer :: obj_type integer(HID_T) :: gr_id, dset_id - integer(HID_T) :: datatype_id, class_id, size + integer(HID_T) :: datatype_id, class_id !, size integer :: STAT_CALL character(StringLength) :: NewGroupName integer :: ItensNumber @@ -2272,13 +2426,26 @@ subroutine WriteItemFields (ObjItem) Me%WorkSize%KUB = ObjItem%Dimensions(3) if (Me%SpatialWindow%Layers_ON) then - Me%WorkSize%KLB = Me%SpatialWindow%KLB - Me%WorkSize%KUB = Me%SpatialWindow%KUB - - if (trim(ObjItem%Name)=="VerticalZ") then - Me%WorkSize%KUB = Me%WorkSize%KUB + 1 - endif + + if (Me%SpatialWindow%SurfaceLayer) then + + Me%WorkSize%KUB = ObjItem%Dimensions(3) + Me%WorkSize%KLB = Me%WorkSize%KUB + + if (trim(ObjItem%Name)=="VerticalZ") then + Me%WorkSize%KLB = Me%WorkSize%KUB - 1 + endif + + else + Me%WorkSize%KLB = Me%SpatialWindow%KLB + Me%WorkSize%KUB = Me%SpatialWindow%KUB + + if (trim(ObjItem%Name)=="VerticalZ") then + Me%WorkSize%KUB = Me%WorkSize%KUB + 1 + endif + endif + endif if (trim(ObjItem%Name)=="VerticalZ") then diff --git a/Software/MOHIDBase1/ModuleBenthos.F90 b/Software/MOHIDBase1/ModuleBenthos.F90 index 0fb4824ee..916e3ce13 100644 --- a/Software/MOHIDBase1/ModuleBenthos.F90 +++ b/Software/MOHIDBase1/ModuleBenthos.F90 @@ -90,7 +90,8 @@ Module ModuleBenthos type T_External real, pointer, dimension(: ) :: Oxygen real, pointer, dimension(: ) :: Temperature - real, pointer, dimension(:,:) :: Mass + real, pointer, dimension(:,:) :: Mass + real, pointer, dimension(:) :: CellArea end type T_External type T_PropIndex @@ -118,6 +119,25 @@ Module ModuleBenthos integer :: POP5 = null_int integer :: SuspensionFeeders = null_int ! G.R. end type T_PropIndex + + private :: T_SOD + type T_SOD + logical :: UseSOD + real :: NH4RTFactor + real :: PO4RTFactor + real, pointer, dimension(: ) :: Rate + !real :: T1 + !real :: T2 + !real :: K1 + !real :: K2 + real :: PO4R + real :: NH4R + !real :: SiR + !real :: CO2R + !real :: O2Sink + !real :: TRM + !logical :: DefaultO2 + end type T_SOD type T_OrganicMatter real :: NC_Ratio = null_real @@ -186,6 +206,8 @@ Module ModuleBenthos logical :: Phyto = .false. logical :: Bacteria = .false. logical :: Pompools = .false. + logical :: Mineralization = .true. + logical :: AnoxiaRelease = .false. logical :: SuspensionFeeders = .false. ! G.R end type T_ComputeOptions @@ -210,6 +232,7 @@ Module ModuleBenthos type(T_SuspensionFeeders ) :: SuspensionFeeders ! G.R. type(T_External ) :: ExternalVar type(T_ComputeOptions) :: ComputeOptions + type(T_SOD ) :: SOD type(T_Benthos ), pointer :: Next end type T_Benthos @@ -354,6 +377,8 @@ subroutine ReadData call ReadDiatomsParameters call ReadOxygenParameters + + call ReadSODParameters end subroutine ReadData @@ -461,10 +486,100 @@ subroutine ConstructGlobalVariables ClientModule = 'ModuleBenthos', & STAT = STAT_CALL) if(STAT_CALL .NE. SUCCESS_) stop 'ConstructGlobalVariables - ModuleBenthos - ERR110' + + !if we want mineralization to be computed POM to ammonia and IP (e.g. false when is computed by other module) + call GetData(Me%ComputeOptions%Mineralization, & + Me%ObjEnterData, iflag, & + SearchType = FromFile, & + keyword = 'MINERALIZATION', & + Default = .true., & + ClientModule = 'ModuleBenthos', & + STAT = STAT_CALL) + if(STAT_CALL .NE. SUCCESS_) stop 'ConstructGlobalVariables - ModuleBenthos - ERR120' + + !If we want to compute ammonia and IP sediment release on anoxia (0 order) + call GetData(Me%ComputeOptions%AnoxiaRelease, & + Me%ObjEnterData, iflag, & + SearchType = FromFile, & + keyword = 'ANOXIA_RELEASE', & + Default = .false., & + ClientModule = 'ModuleBenthos', & + STAT = STAT_CALL) + if(STAT_CALL .NE. SUCCESS_) stop 'ConstructGlobalVariables - ModuleBenthos - ERR130' end subroutine ConstructGlobalVariables !-------------------------------------------------------------------------- + + subroutine ReadSODParameters + + !External-------------------------------------------------------------- + integer :: FromBlock + integer :: STAT_CALL + + !Local----------------------------------------------------------------- + integer :: flag + + !-------------------------------------------------------------------------- + + + if (Me%ComputeOptions%AnoxiaRelease) then + + Me%SOD%UseSOD = .true. + + call GetExtractType(FromBlock = FromBlock) + + call GetData(Me%SOD%NH4RTFactor, & + Me%ObjEnterData, flag, & + SearchType = FromFile, & + keyword = 'NH4R_TFACTOR', & + Default = 1.02, & + ClientModule = 'ModuleBenthos', & + STAT = STAT_CALL) + if(STAT_CALL .NE. SUCCESS_) stop 'ReadNitrogenParameters - ModuleBenthos - ERR04' + + + call GetData(Me%SOD%PO4RTFactor, & + Me%ObjEnterData, flag, & + SearchType = FromFile, & + keyword = 'PO4R_TFACTOR', & + Default = 1.02, & + ClientModule = 'ModuleBenthos', & + STAT = STAT_CALL) + if(STAT_CALL .NE. SUCCESS_) stop 'ReadNitrogenParameters - ModuleBenthos - ERR05' + + ![] + !Release of PO4 by SOD rate + call GetData( Me%SOD%PO4R, & + Me%ObjEnterData, flag, & + SearchType = FromFile, & + keyword = 'PO4R', & + default = 0.001, & + ClientModule = 'ModuleBenthos', & + STAT = STAT_CALL) + if(STAT_CALL .ne. SUCCESS_) stop "ReadSODData - ModuleBenthos - ERR06" + + ![] + !Release of NH4 by SOD rate + call GetData( Me%SOD%NH4R, & + Me%ObjEnterData, flag, & + SearchType = FromFile, & + keyword = 'NH4R', & + default = 0.001, & + ClientModule = 'ModuleBenthos', & + STAT = STAT_CALL) + if(STAT_CALL .ne. SUCCESS_) stop "ReadSODData - ModuleBenthos - ERR07" + + + else + Me%SOD%UseSOD = .false. + + endif + + + end subroutine ReadSODParameters + + ! ------------------------------------------------------------------------- subroutine ReadOrganicMatterParameters @@ -519,6 +634,9 @@ subroutine ReadNitrogenParameters ClientModule = 'ModuleBenthos', & STAT = STAT_CALL) if(STAT_CALL .NE. SUCCESS_) stop 'ReadNitrogenParameters - ModuleBenthos - ERR02' + + + end subroutine ReadNitrogenParameters @@ -548,6 +666,8 @@ subroutine ReadPhosphorusParameters ClientModule = 'ModuleBenthos', & STAT = STAT_CALL) if(STAT_CALL .NE. SUCCESS_) stop 'ReadPhosphorusParameters - ModuleBenthos - ERR02' + + end subroutine ReadPhosphorusParameters @@ -1325,7 +1445,7 @@ end subroutine UnGetBenthosRateFlux !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - subroutine ModifyBenthos(ObjBenthosID, Temperature, Oxygen, OpenPoints, Mass, WaterVolume, STAT) + subroutine ModifyBenthos(ObjBenthosID, Temperature, Oxygen, OpenPoints, Mass, WaterVolume, SODRate, CellArea, STAT) !Arguments------------------------------------------------------------- integer :: ObjBenthosID @@ -1333,6 +1453,8 @@ subroutine ModifyBenthos(ObjBenthosID, Temperature, Oxygen, OpenPoints, Mass, Wa integer, dimension(: ), pointer, optional :: OpenPoints real, dimension(:,:), pointer :: Mass real(8), dimension(: ), pointer, optional :: WaterVolume + real, dimension(: ), pointer, optional :: SODRate + real, dimension(: ), pointer, optional :: CellArea integer, intent(OUT), optional :: STAT !Local----------------------------------------------------------------- @@ -1360,6 +1482,23 @@ subroutine ModifyBenthos(ObjBenthosID, Temperature, Oxygen, OpenPoints, Mass, Wa stop 'ModifyBenthos - ModuleBenthos - ERR03' + if (Me%SOD%UseSod .and. .NOT. present(SODRate)) then + write(*,*) 'SOD defined in ModuleBenthos but not in calling Module.' + stop 'ModifyBenthos - ModuleBenthos - ERR04' + + else if (.NOT. Me%SOD%UseSod .and. present(SODRate)) then + write(*,*) 'SOD defined in Calling Module but not in ModuleBenthos .' + stop 'ModifyBenthos - ModuleBenthos - ERR05' + + else if (Me%SOD%UseSod .and. present(SODRate)) then + Me%SOD%Rate => SODRate + + Me%ExternalVar%CellArea => CellArea + if (.NOT. associated(Me%ExternalVar%CellArea)) & + stop 'ModifyBenthos - ModuleBenthos - ERR06' + endif + + do Index = Me%Size%ILB, Me%Size%IUB if (present(OpenPoints)) then @@ -1411,7 +1550,7 @@ subroutine ComputeBenthicNitrogen(Index) !Local----------------------------------------------------------------- integer :: AM, PON, O2 integer :: PON1, PON2, PON3, PON4, PON5 - real :: MineralizationRate + real :: MineralizationRate, AmmoniaReleaseRate real :: OxygenConsumption real :: OxygenLimitation @@ -1436,15 +1575,34 @@ subroutine ComputeBenthicNitrogen(Index) !OxygenLimitation = 0 when Oxygen levels are low OxygenLimitation = OxygenLimitation / (OxygenLimitation + 0.5) - !day-1 - MineralizationRate = Me%Nitrogen%PONDecayRate * & - Me%Nitrogen%PONDecayTFactor ** & - (Me%ExternalVar%Temperature(Index) - 20.0) - - + if(Me%ComputeOptions%Mineralization) then + !day-1 + MineralizationRate = Me%Nitrogen%PONDecayRate * & + Me%Nitrogen%PONDecayTFactor ** & + (Me%ExternalVar%Temperature(Index) - 20.0) + else + MineralizationRate = 0.0 + endif + + !Ammonia release from sediment (anoxia) zero order + if(Me%ComputeOptions%AnoxiaRelease) then + !kg.day-1 = kg.m-2.day-1 * [] * m2 + AmmoniaReleaseRate = Me%SOD%Rate(Index) * & + Me%SOD%NH4R * & + Me%ExternalVar%CellArea(Index) * & + Me%SOD%NH4RTFactor ** & + (Me%ExternalVar%Temperature(Index) - 20.0) + else + AmmoniaReleaseRate = 0.0 + endif + !kgN * day * day-1 (what passes from PON to ammonia) Me%Matrix(Index, PON, AM) = Me%ExternalVar%Mass(PON, Index) * Me%DTDay * & MineralizationRate * OxygenLimitation + + !kgN * day * day-1 (what passes from ammonia adsorbed to ammonia released) + Me%Matrix(Index, AM, AM) = Me%DTDay * & + AmmoniaReleaseRate * (1 - OxygenLimitation) if(Me%ComputeOptions%Pompools)then Me%Matrix(Index, PON1, AM) = Me%ExternalVar%Mass(PON1, Index) * Me%DTDay * & @@ -1466,7 +1624,8 @@ subroutine ComputeBenthicNitrogen(Index) if(.NOT. Me%ComputeOptions%Pompools)then - Me%ExternalVar%Mass(AM, Index) = Me%ExternalVar%Mass(AM , Index) + Me%Matrix(Index, PON, AM) + Me%ExternalVar%Mass(AM, Index) = Me%ExternalVar%Mass(AM , Index) + Me%Matrix(Index, PON, AM) + & + Me%Matrix(Index, AM, AM) Me%ExternalVar%Mass(PON, Index) = Me%ExternalVar%Mass(PON, Index) - Me%Matrix(Index, PON, AM) @@ -1479,7 +1638,7 @@ subroutine ComputeBenthicNitrogen(Index) Me%ExternalVar%Mass(AM, Index) = Me%ExternalVar%Mass(AM , Index) + Me%Matrix(Index, PON, AM) + & Me%Matrix(Index, PON1, AM) + Me%Matrix(Index, PON2, AM) + & Me%Matrix(Index, PON3, AM) + Me%Matrix(Index, PON4, AM) + & - Me%Matrix(Index, PON5, AM) + Me%Matrix(Index, PON5, AM) + Me%Matrix(Index, AM, AM) Me%ExternalVar%Mass(PON, Index) = Me%ExternalVar%Mass(PON, Index) - Me%Matrix(Index, PON, AM) @@ -1513,7 +1672,7 @@ subroutine ComputeBenthicPhosphorus(Index) !Local----------------------------------------------------------------- integer :: IP, POP, O2 integer :: POP1, POP2, POP3, POP4, POP5 - real :: MineralizationRate + real :: MineralizationRate, IPReleaseRate real :: OxygenConsumption real :: OxygenLimitation @@ -1539,17 +1698,36 @@ subroutine ComputeBenthicPhosphorus(Index) !OxygenLimitation = 0 when Oxygen levels are low OxygenLimitation = OxygenLimitation / (OxygenLimitation + 0.5) - !day-1 - MineralizationRate = Me%Phosphorus%POPDecayRate * & - Me%Phosphorus%POPDecayTFactor ** & - (Me%ExternalVar%Temperature(Index) - 20.0) - + if(Me%ComputeOptions%Mineralization) then + !day-1 + MineralizationRate = Me%Phosphorus%POPDecayRate * & + Me%Phosphorus%POPDecayTFactor ** & + (Me%ExternalVar%Temperature(Index) - 20.0) + else + MineralizationRate = 0.0 + endif + + if(Me%ComputeOptions%AnoxiaRelease) then + !kg.day-1 + IPReleaseRate = Me%SOD%Rate(Index) * & + Me%SOD%PO4R * & + Me%ExternalVar%CellArea(Index) * & + Me%SOD%PO4RTFactor ** & + (Me%ExternalVar%Temperature(Index) - 20.0) + else + IPReleaseRate = 0.0 + endif !kgP * day * day-1 (what passes from POP to inorganic phosphorus) Me%Matrix(Index, POP, IP) = Me%ExternalVar%Mass(POP, Index) * Me%DTDay * & MineralizationRate * OxygenLimitation + !kgP * day * day-1 (what passes from IP adsorbed to IP released) + Me%Matrix(Index, IP, IP) = Me%DTDay * & + IPReleaseRate * (1 - OxygenLimitation) + + !------------------------------------------POM POOLS if(Me%ComputeOptions%Pompools)then @@ -1572,7 +1750,8 @@ subroutine ComputeBenthicPhosphorus(Index) if(.NOT. Me%ComputeOptions%Pompools)then - Me%ExternalVar%Mass(IP, Index) = Me%ExternalVar%Mass(IP , Index) + Me%Matrix(Index, POP, IP) + Me%ExternalVar%Mass(IP, Index) = Me%ExternalVar%Mass(IP , Index) + Me%Matrix(Index, POP, IP) + & + Me%Matrix(Index, IP, IP) Me%ExternalVar%Mass(POP, Index) = Me%ExternalVar%Mass(POP, Index) - Me%Matrix(Index, POP, IP) @@ -1584,7 +1763,7 @@ subroutine ComputeBenthicPhosphorus(Index) Me%ExternalVar%Mass(IP, Index) = Me%ExternalVar%Mass(IP , Index) + Me%Matrix(Index, POP, IP) + & Me%Matrix(Index, POP1, IP) + Me%Matrix(Index, POP2, IP) + & Me%Matrix(Index, POP3, IP) + Me%Matrix(Index, POP4, IP) + & - Me%Matrix(Index, POP5, IP) + Me%Matrix(Index, POP5, IP) + Me%Matrix(Index, IP, IP) Me%ExternalVar%Mass(POP, Index) = Me%ExternalVar%Mass(POP, Index) - Me%Matrix(Index, POP, IP) diff --git a/Software/MOHIDBase1/ModuleDrainageNetwork.F90 b/Software/MOHIDBase1/ModuleDrainageNetwork.F90 index ad30f9b09..72a900e35 100644 --- a/Software/MOHIDBase1/ModuleDrainageNetwork.F90 +++ b/Software/MOHIDBase1/ModuleDrainageNetwork.F90 @@ -101,6 +101,7 @@ ! VIRTUAL_COEF : 0.01 ! WATER_QUALITY : 0 ! BENTHOS : 0 +! MACROALGAE : 0 ! DECAY_T90 : 0 !uses T90 decay model for fecal coliforms ! DECAY_GENERIC : 0 !uses generic decay (for now 1st order) ! [2] - @@ -171,7 +172,7 @@ Module ModuleDrainageNetwork ModifyLightExtinctionField, UnGetLightExtinction, & KillLightExtinction, GetLongWaveExtinctionCoef use ModuleInterface , only: ConstructInterface, Modify_Interface, KillInterface, GetWQRatio, & - GetRateFlux + GetRateFlux, SetSOD implicit none @@ -211,7 +212,7 @@ Module ModuleDrainageNetwork private :: CheckSelectedProp private :: InitializeVariables - private :: ReadInitialFile + !private :: ReadInitialFile private :: InitializeNodes private :: ComputeXSFromWaterDepth private :: TabularGeometry @@ -220,7 +221,9 @@ Module ModuleDrainageNetwork private :: ConstructSubModules private :: CoupleLightExtinction private :: CoupleWaterQuality + private :: CoupleCEQUALW2 private :: CoupleBenthos + private :: CoupleMacroAlgae private :: ConstructOutput private :: ReadTimeSerieNodeList @@ -316,7 +319,9 @@ Module ModuleDrainageNetwork private :: ModifyToxicity private :: ComputeToxicityForEachEffluent private :: ModifyWaterQuality + private :: ModifyCEQUALW2 private :: ModifyBenthos + private :: ModifyMacroAlgae private :: ComputeBottomFluxes private :: ModifyShearStress private :: ComputeErosionFluxes @@ -336,7 +341,7 @@ Module ModuleDrainageNetwork !Destructor public :: KillDrainageNetwork private :: MaxStationValuesOutput - private :: WriteFinalFile + !private :: WriteFinalFile private :: Write_Errors_Messages @@ -371,6 +376,7 @@ Module ModuleDrainageNetwork character(LEN = StringLength), parameter :: block_begin = '' character(LEN = StringLength), parameter :: block_end = '' + !CrossSections integer, parameter :: Trapezoidal = 1 @@ -431,7 +437,11 @@ Module ModuleDrainageNetwork !O2 Aeration Method integer, parameter :: PoolAndRifle_ = 1 integer, parameter :: ChannelControled_ = 2 - + + !Restart fiels format + integer, parameter :: BIN_ = 1 + integer, parameter :: HDF_ = 2 + !TimeSerie hydrodynamic properties character(StringLength), parameter :: Char_WaterDepth = trim(adjustl('channel water depth')) character(StringLength), parameter :: Char_WaterLevel = trim(adjustl('channel water level')) @@ -491,7 +501,8 @@ Module ModuleDrainageNetwork logical :: ComputeIntegratedFlow = .false. logical :: ComputeIntegratedMass = .false. type (T_IntFlow ) :: IntFlow - logical :: Rates = .false. + logical :: Rates = .false. + integer :: RestartFormat = BIN_ end type T_OutPut !IN PROGRESS @@ -614,6 +625,7 @@ Module ModuleDrainageNetwork type(T_MaxValues) :: Max real :: EVTP = null_real !m/s evapotranspiration in pools real :: MinimunToStabilize = 0.0 + real :: SODRate = 0.0 end type T_Node type T_Reach @@ -696,6 +708,18 @@ Module ModuleDrainageNetwork real, dimension (:), pointer :: Field => null() end type T_Toxicity + type T_MacroAlgae + logical :: VariableHeight = .false. + real, pointer, dimension(: ) :: Distribution !kgC/m2 + real :: DefaultValue, HBRatio, HeightConstant + !real, pointer, dimension(:) :: ShearStress3D + !real, pointer, dimension(:) :: SPMDepFlux3D + real, pointer, dimension(:) :: Occupation + !real, pointer, dimension(:,:,:) :: DistFromTop + real, pointer, dimension(:) :: ShearStress, Height + real, pointer, dimension(:) :: SPMDepFlux + end type T_MacroAlgae + type T_ComputeOptions logical :: TimeSerie = .false. logical :: Discharges = .false. @@ -711,6 +735,7 @@ Module ModuleDrainageNetwork logical :: Benthos = .false. logical :: CeQualW2 = .false. logical :: Life = .false. + logical :: MacroAlgae = .false. logical :: MinConcentration = .false. logical :: WarnOnNegativeValues = .false. logical :: TopRadiation = .false. @@ -727,6 +752,7 @@ Module ModuleDrainageNetwork integer :: FaceWaterColumn = WDMaxBottom_ logical :: IntMassFlux = .false. logical :: RadiationBottomNoFlux = .true. + logical :: MassFluxes = .true. logical :: DTIntervalAssociated = .false. end type T_ComputeOptions @@ -742,6 +768,7 @@ Module ModuleDrainageNetwork type(T_Coupling) :: CEQUALW2 type(T_Coupling) :: Life type(T_Coupling) :: Benthos + type(T_Coupling) :: MacroAlgae end type T_Coupled type T_MassBalance @@ -885,6 +912,7 @@ Module ModuleDrainageNetwork integer :: ObjTime = 0 integer :: ObjInterface = 0 integer :: ObjBenthicInterface = 0 + integer :: ObjInterfaceMacroAlgae = 0 integer :: ObjLightExtinction = 0 integer :: ObjHDF5 = 0 integer :: ObjIntegratedHDF5 = 0 @@ -921,11 +949,15 @@ Module ModuleDrainageNetwork logical :: StopOnWrongDate = .false. type (T_Property), pointer :: FirstProperty => null() type (T_Property), pointer :: LastProperty => null() + real , dimension(:), pointer :: SODRate => null() + logical :: UseSOD = .false. integer :: PropertiesNumber = 0 integer :: WQratesNumber = 0 type(T_WqRate), pointer :: FirstWQrate => null() type(T_WqRate), pointer :: LastWQrate => null() + type(T_MacroAlgae) :: MacroAlgae + logical :: HasProperties = .false. type(T_Converge) :: CV @@ -1561,6 +1593,15 @@ subroutine ReadDataFile STAT = STAT_CALL) if (STAT_CALL .NE. SUCCESS_) stop 'ModuleDrainageNetwork - ReadDataFile - ERR16d' + !For now mass evaporation. Only used if ssurface fluxes ON + call GetData(Me%ComputeOptions%MassFluxes, & + Me%ObjEnterData, flag, & + SearchType = FromFile, & + keyword = 'MASS_FLUXES', & + Default = .true., & + ClientModule = 'ModuleDrainageNetwork', & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) stop 'ModuleDrainageNetwork - ReadDataFile - ERR16e' ! !Method for computing water column in the face (1 - Using max height and max bottom; 2- using average of WC) ! call GetData(Me%ComputeOptions%FaceWaterColumn, & @@ -1982,6 +2023,22 @@ subroutine ReadDataFile STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'ReadDataFile - ModuleDrainageNetwork - ERR48' + call GetData(Me%OutPut%RestartFormat, & + Me%ObjEnterData, & + flag, & + SearchType = FromFile, & + keyword = 'RESTART_FILE_FORMAT', & + Default = BIN_, & + ClientModule = 'ModuleDrainageNetwork', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ReadDataFile - ModuleDrainageNetwork - ERR48.5' + if (Me%OutPut%RestartFormat /= BIN_ .and. Me%OutPut%RestartFormat /= HDF_) then + write (*,*) + write (*,*) 'RESTART_FILE_FORMAT options are: 1 - Binary or 2 - HDF' + stop 'ReadDataFile - ModuleDrainageNetwork - ERR48.7' + endif + + call GetData(Me%OutPut%RestartOverwrite, & Me%ObjEnterData, & flag, & @@ -3066,6 +3123,17 @@ subroutine ConstructNode (NodePos) stop 'ModuleDrainageNetwork - ConstructNode - ERR62a' endif + !SOD + call GetData(NewNode%SODRate, & + Me%Files%ObjEnterDataNetwork, flag, & + keyword = 'SOD_RATE', & + ClientModule = 'DrainageNetwork', & + SearchType = FromBlock, & + default = 0.0, & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) & + stop 'ModuleDrainageNetwork - ConstructNode - ERR62b' + if (.not. Me%Continuous) then call GetData(NewNode%WaterDepth, & Me%Files%ObjEnterDataNetwork, flag, & @@ -4825,6 +4893,7 @@ subroutine ConstructPropertyValues (NewProperty) if (NewProperty%ComputeOptions%SurfaceFluxes) & Me%ComputeOptions%SurfaceFluxes = .true. + !Checks for Bottom Fluxes call GetData(NewProperty%ComputeOptions%BottomFluxes, & Me%ObjEnterData, iflag, & @@ -5091,6 +5160,20 @@ subroutine ConstructPropertyValues (NewProperty) Me%ComputeOptions%Life = .true. end if + !Checks for Macro Algae + call GetData(NewProperty%ComputeOptions%MacroAlgae, & + Me%ObjEnterData, iflag, & + Keyword = 'MACROALGAE', & + ClientModule = 'ModuleDrainageNetwork', & + SearchType = FromBlock, & + Default = OFF, & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) stop 'ModuleDrainageNetwork - ConstructPropertyValues - ERR295' + + if (NewProperty%ComputeOptions%MacroAlgae) then + Me%ComputeOptions%MacroAlgae = .true. + end if + !Checks if user wants to calculate total Concentration (Column + Bottom) call GetData(NewProperty%ComputeOptions%SumTotalConc, & Me%ObjEnterData, iflag, & @@ -5138,7 +5221,7 @@ subroutine ConstructPropertyValues (NewProperty) call GetData(NewProperty%ComputeOptions%TimeSerie, & Me%ObjEnterData, iflag, & Keyword = 'TIME_SERIE', & - ClientModule = 'ModuleWaterProperties', & + ClientModule = 'ModuleDrainageNetwork', & SearchType = FromBlock, & Default = .false., & STAT = STAT_CALL) @@ -5148,7 +5231,7 @@ subroutine ConstructPropertyValues (NewProperty) call GetData(NewProperty%OutputName, & Me%ObjEnterData, iflag, & Keyword = 'OUTPUT_NAME', & - ClientModule = 'ModuleWaterProperties', & + ClientModule = 'ModuleDrainageNetwork', & SearchType = FromBlock, & Default = 'NAME', & STAT = STAT_CALL) @@ -5285,7 +5368,7 @@ subroutine Construct_WQRateList call Block_Unlock(Me%ObjEnterData, ClientNumber, STAT = STAT_CALL) if (STAT_CALL .NE. SUCCESS_) & - stop 'Construct_WqRatesList - ModuleWaterProperties - ERR01' + stop 'Construct_WqRatesList - ModuleDrainageNetwork - ERR01' exit do1 !No more blocks @@ -5294,10 +5377,10 @@ subroutine Construct_WQRateList else if (STAT_CALL .EQ. BLOCK_END_ERR_) then cd1 write(*,*) write(*,*) 'Error calling ExtractBlockFromBuffer.' - stop 'Construct_WqRatesList - ModuleWaterProperties - ERR02' + stop 'Construct_WqRatesList - ModuleDrainageNetwork - ERR02' else cd1 - stop 'Construct_WqRatesList - ModuleWaterProperties - ERR03' + stop 'Construct_WqRatesList - ModuleDrainageNetwork - ERR03' end if cd1 end do do1 @@ -5474,7 +5557,10 @@ subroutine Construct_WQRateValues(NewWQRate) allocate(NewWQRate%Field(1:Me%TotalNodes), STAT = STAT_CALL) if (STAT_CALL .NE. SUCCESS_)stop 'Construct_WqRateValues - ModuleDrainageNetwork - ERR01' - NewWQRate%Field(:) = FillValueReal + + !first value is outputed in construct - make zero and not fillvaluereal + !NewWQRate%Field(:) = FillValueReal + NewWQRate%Field(:) = 0.0 end subroutine Construct_WQRateValues @@ -5602,7 +5688,7 @@ subroutine InitializeVariables endif if (Me%ComputeOptions%SurfaceFluxes .or. Me%ComputeOptions%WaterQuality .or. & - Me%ComputeOptions%CeQualW2 .or. Me%ComputeOptions%Life) then + Me%ComputeOptions%CeQualW2 .or. Me%ComputeOptions%Life .or. Me%ComputeOptions%MacroAlgae) then Me%ComputeOptions%TopRadiation = .true. endif @@ -5647,7 +5733,11 @@ subroutine InitializeVariables !if not continuous, water depth initialized in subroutine ReadDataFile if (Me%Continuous) then - call ReadInitialFile + if (Me%OutPut%RestartFormat == BIN_) then + call ReadInitialFile_Bin + else if (Me%OutPut%RestartFormat == HDF_) then + call ReadInitialFile_Hdf + endif endif call InitializeNodes @@ -5769,7 +5859,7 @@ end subroutine InitializeVariables !--------------------------------------------------------------------------- - subroutine ReadInitialFile + subroutine ReadInitialFile_Bin !Arguments-------------------------------------------------------------- @@ -5840,9 +5930,187 @@ subroutine ReadInitialFile call UnitsManager(InitialFile, CLOSE_FILE, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'ModuleDrainageNetwork - ReadInitialFileOld - ERR04' - end subroutine ReadInitialFile + end subroutine ReadInitialFile_Bin !--------------------------------------------------------------------------- + + subroutine ReadInitialFile_Hdf() + + + !External-------------------------------------------------------------- + integer :: STAT_CALL + + !Local----------------------------------------------------------------- + logical :: EXIST + integer :: ObjHDF5 + integer :: HDF5_READ + type(T_Property), pointer :: Property + real, dimension(:), pointer :: WaterLevel, Flow + integer, dimension(:), pointer :: LastNIterations + integer :: iNode, ReachID + type (T_Time) :: BeginTime, EndTimeFile, EndTime + real, dimension(:), pointer :: TimePointer + real :: DT_error + !---------------------------------------------------------------------- + + + inquire (FILE=trim(Me%Files%InitialFile), EXIST = Exist) + +cd0: if (Exist) then + + !Gets File Access Code + call GetHDF5FileAccess (HDF5_READ = HDF5_READ) + + + ObjHDF5 = 0 + + !Opens HDF5 File + call ConstructHDF5 (ObjHDF5, & + trim(Me%Files%InitialFile), & + HDF5_READ, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR01' + + + !Get Time + call HDF5SetLimits (ObjHDF5, 1, 6, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR010' + + allocate(TimePointer(1:6)) + call HDF5ReadData (ObjHDF5, "/Time", & + "Time", & + Array1D = TimePointer, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR020' + + + call SetDate(EndTimeFile, TimePointer(1), TimePointer(2), & + TimePointer(3), TimePointer(4), & + TimePointer(5), TimePointer(6)) + + + call GetComputeTimeLimits(Me%ObjTime, BeginTime = BeginTime, EndTime = EndTime, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ReadInitialFile - ModuleDrainageNetwork - ERR030' + + DT_error = EndTimeFile - BeginTime + + !Avoid rounding erros - Frank 08-2001 + !All runs are limited to second definition - David 10-2015 + !if (abs(DT_error) >= 0.01) then + if (abs(DT_error) >= 1) then + + write(*,*) 'The end time of the previous run is different from the start time of this run' + write(*,*) 'Date in the file' + write(*,*) TimePointer(1), TimePointer(2), TimePointer(3), TimePointer(4), TimePointer(5), TimePointer(6) + write(*,*) 'DT_error', DT_error + if (Me%StopOnWrongDate) stop 'ReadInitialFile - ModuleDrainageNetwork - ERR040' + + endif + deallocate(TimePointer) + + + + ! Reads from HDF file the Property concentration and open boundary values + call HDF5SetLimits (ObjHDF5, 1, Me%TotalNodes, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR050' + + allocate(WaterLevel(1:Me%TotalNodes)) + call HDF5ReadData (ObjHDF5, "/Results/water level", & + "water level", & + Array1D = WaterLevel, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR060' + + do iNode = 1, Me%TotalNodes + Me%Nodes(iNode)%WaterLevel = WaterLevel(iNode) + enddo + deallocate(WaterLevel) + + + + call HDF5SetLimits (ObjHDF5, 1, Me%TotalReaches, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR040' + + allocate(Flow(1:Me%TotalReaches)) + call HDF5ReadData (ObjHDF5, "/Results/flow", & + "flow", & + Array1D = Flow, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR070' + + + do ReachID = 1, Me%TotalReaches + Me%Reaches(ReachID)%FlowNew = Flow(ReachID) + enddo + deallocate(Flow) + + call HDF5SetLimits (ObjHDF5, 1, Me%TotalNodes, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR080' + + + if (Me%PropertyContinuous) then + Property => Me%FirstProperty + do while (associated(Property)) + call HDF5ReadData (ObjHDF5, "/Results/"//trim(Property%ID%Name), & + trim(Property%ID%Name), & + Array1D = Property%Concentration, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR090' + + if (Property%ComputeOptions%BottomFluxes) then + call HDF5ReadData (ObjHDF5, "/Results/Bottom_"//trim(Property%ID%Name), & + "Bottom_"//trim(Property%ID%Name), & + Array1D = Property%BottomConc, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR0100' + endif + + Property => Property%Next + end do + endif + + + call HDF5SetLimits (ObjHDF5, 1, 1, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR0110' + + allocate(LastNIterations(1:1)) + call HDF5ReadData (ObjHDF5, "/Results/last good iteration", & + "last good iteration", & + Array1D = LastNIterations, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR0120' + + Me%CV%LastGoodNiteration = LastNIterations(1) + deallocate(LastNIterations) + + call KillHDF5 (ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR0130' + + + + + else + + write(*,*) + stop 'ReadInitialFile - ModuleDrainageNetwork - ERR0140' + + end if cd0 + + end subroutine ReadInitialFile_Hdf + + !-------------------------------------------------------------------------- subroutine InitializeNodes @@ -6350,6 +6618,10 @@ subroutine ConstructSubModules !Begin------------------------------------------------------------------ + allocate (Me%NodesDWZ(Me%TotalNodes)) + Me%NodesDWZ = null_real + + !If needed allocate TopRadiation if (Me%ComputeOptions%TopRadiation .or. Me%ComputeOptions%T90_Decay) then allocate (Me%TopRadiation (Me%TotalNodes)) @@ -6370,6 +6642,22 @@ subroutine ConstructSubModules endif endif + + PropertyX => Me%FirstProperty + +do1 : do while (associated(PropertyX)) + + if (PropertyX%ComputeOptions%MacroAlgae) then + Me%Coupled%MacroAlgae%NumberOfProperties = & + Me%Coupled%MacroAlgae%NumberOfProperties + 1 + Me%Coupled%MacroAlgae%Yes = ON + endif + + + PropertyX=>PropertyX%Next + + end do do1 + !If neeed constructs Light Extinctions if (Me%ComputeOptions%TopRadiation) then @@ -6382,6 +6670,7 @@ subroutine ConstructSubModules if(Me%ComputeOptions%WaterQuality) nWaterQualityModels = nWaterQualityModels + 1 if(Me%ComputeOptions%CeQualW2 ) nWaterQualityModels = nWaterQualityModels + 1 if(Me%ComputeOptions%Life ) nWaterQualityModels = nWaterQualityModels + 1 + !if(Me%ComputeOptions%MacroAlgae ) nWaterQualityModels = nWaterQualityModels + 1 if (nWaterQualityModels > 1) then write(*,*)'Cannot run more then one Water Quality model in the same simulation' @@ -6391,10 +6680,18 @@ subroutine ConstructSubModules if (Me%ComputeOptions%WaterQuality) then call CoupleWaterQuality endif + + if (Me%ComputeOptions%CeQualW2) then + call CoupleCEQUALW2 + endif if (Me%ComputeOptions%Benthos) then call CoupleBenthos - endif + endif + + if (Me%ComputeOptions%Macroalgae) then + call CoupleMacroAlgae + endif if (Me%ComputeOptions%BottomFluxes) then call SearchProperty(PropertyX, PropertyXIDNumber = TSS_, STAT = STAT_CALL) @@ -6471,7 +6768,7 @@ subroutine CoupleLightExtinction allocate (Me%ShortWaveExtinction(Me%TotalNodes)) allocate (Me%ShortWaveField (Me%TotalNodes)) allocate (Me%LongWaveField (Me%TotalNodes)) - allocate (Me%NodesDWZ (Me%TotalNodes)) + !Allocates Variables - External allocate (Me%CloudCover (Me%TotalNodes)) @@ -6481,7 +6778,6 @@ subroutine CoupleLightExtinction Me%ShortWaveExtinction = null_real Me%ShortWaveField = null_real Me%LongWaveField = null_real - Me%NodesDWZ = null_real Me%CloudCover = null_real Me%RelativeHumidity = null_real @@ -6576,6 +6872,65 @@ end subroutine CoupleWaterQuality !--------------------------------------------------------------------------- + subroutine CoupleCEQUALW2 + + !Arguments-------------------------------------------------------------- + + !Local------------------------------------------------------------------ + type(T_Property), pointer :: PropertyX + integer, pointer, dimension(:) :: CEQUALW2PropertyList + integer :: STAT_CALL + real :: CEQUALW2DT + integer :: nProp = 0 + type (T_Size1D) :: Size1D + + !Begin------------------------------------------------------------------ + + !Counts the number of Properties which has CEQUALW2 option set to true + PropertyX => Me%FirstProperty + do while (associated(PropertyX)) + if (PropertyX%ComputeOptions%CeQualW2) then + nProp = nProp + 1 + endif + PropertyX => PropertyX%Next + enddo + + !Allocates Array wto hold IDs + allocate (CEQUALW2PropertyList(1:nProp)) + + !Fills Array + PropertyX => Me%FirstProperty + nProp = 0 + do while (associated(PropertyX)) + if (PropertyX%ComputeOptions%CeQualW2) then + nProp = nProp + 1 + CEQUALW2PropertyList(nProp) = PropertyX%ID%IDNumber + endif + PropertyX => PropertyX%Next + enddo + + !Start Interface + Size1D%ILB = 1 + !Size1D%IUB = Me%TotalReaches + Size1D%IUB = Me%TotalNodes + call ConstructInterface(InterfaceID = Me%ObjInterface, & + TimeID = Me%ObjTime, & + SinksSourcesModel = CEQUALW2Model, & + DT = CEQUALW2DT, & + PropertiesList = CEQUALW2PropertyList, & + RiverPoints1D = Me%RiverPoints, & + Size1D = Size1D, & + STAT = STAT_CALL) + + deallocate (CEQUALW2PropertyList) + + Me%Coupled%CEQUALW2%DT_Compute = CEQUALW2DT + Me%Coupled%CEQUALW2%NextCompute = Me%CurrentTime + + end subroutine CoupleCEQUALW2 + + !--------------------------------------------------------------------------- + subroutine CoupleBenthos !Arguments-------------------------------------------------------------- @@ -6590,6 +6945,10 @@ subroutine CoupleBenthos !Begin------------------------------------------------------------------ + !SOD from file + call ReadSOD + + !Counts the number of Properties which has WaterQuality option set to true PropertyX => Me%FirstProperty do while (associated(PropertyX)) @@ -6617,6 +6976,7 @@ subroutine CoupleBenthos Size1D%ILB = 1 !Size1D%IUB = Me%TotalReaches Size1D%IUB = Me%TotalNodes + call ConstructInterface(InterfaceID = Me%ObjBenthicInterface, & TimeID = Me%ObjTime, & SinksSourcesModel = BenthosModel, & @@ -6630,71 +6990,355 @@ subroutine CoupleBenthos Me%Coupled%Benthos%DT_Compute = BenthosDT Me%Coupled%Benthos%NextCompute = Me%CurrentTime + + !Set SOD in Interface in kg.m-2.day-1 + !After construct so that matrixes are allocated for benthos + call SetSOD(Me%SODRate, Me%OpenPointsProcess, Me%RiverPoints) end subroutine CoupleBenthos !--------------------------------------------------------------------------- + + subroutine ReadSOD - subroutine ConstructReservoirs + !External-------------------------------------------------------------- + integer :: STAT_CALL - !Arguments-------------------------------------------------------------- + !Local----------------------------------------------------------------- - !Local------------------------------------------------------------------ - type (T_Size1D) :: Size1D - type (T_Size2D) :: Size2D - integer :: ReservoirPos, NodePos, i - integer :: DownReachPos, UpReachPos, UpNode - logical :: Found - type(T_Node), pointer :: CurrNodeExchange, CurrNode - type(T_Reach), pointer :: CurrReach + integer :: NodePos, iflag + real :: SODRate + + !Begin----------------------------------------------------------------- - !inactivate the nodes where reservoirs are + call GetData(Me%UseSOD, & + Me%ObjEnterData, iflag, & + KeyWord = 'USE_SOD', & + SearchType = FromFile, & + Default = .false., & + ClientModule = 'ModuleDrainageNetwork', & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) & + stop 'ReadSOD - ModuleDrainageNetwork - ERR01' + + + if (Me%UseSOD)then + + nullify(Me%SODRate) + allocate(Me%SODRate(1 : Me%TotalNodes)) + + !One SOD (kg.m-2.day-1) for all + call GetData(SODRate, & + Me%ObjEnterData, iflag, & + KeyWord = 'SOD_RATE', & + SearchType = FromFile, & + Default = 0.0, & + ClientModule = 'ModuleDrainageNetwork', & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) & + stop 'ReadSOD - ModuleDrainageNetwork - ERR02' + + !Found - one for all + if(iflag /= 0)then + + !kg.m-2.day-1 + do NodePos = 1, Me%TotalNodes + Me%SODRate(NodePos) = SODRate + enddo + + else + + !each node has it read from nodes + !kg.m-2.day-1 + do NodePos = 1, Me%TotalNodes + Me%SODRate(NodePos) = Me%Nodes(NodePos)%SODRate + enddo + + endif + + + end if - !Reservoirs - Size1D%ILB = 1 - Size2D%ILB = 1 - Size1D%IUB = Me%Reservoirs%nReservoirs - Size2D%IUB = Me%Reservoirs%nReservoirs - !props - Size2D%JLB = 1 - Size2D%JUB = Me%PropertiesNumber + end subroutine ReadSOD + + !-------------------------------------------------------------------------- + + subroutine CoupleMacroAlgae - allocate (Me%Reservoirs%ReservoirsInflow (Me%Reservoirs%nReservoirs)) - allocate (Me%Reservoirs%ReservoirsOutflow (Me%Reservoirs%nReservoirs)) - allocate (Me%Reservoirs%ReservoirsConc (Me%Reservoirs%nReservoirs, Me%PropertiesNumber)) - allocate (Me%Reservoirs%NodeConc (Me%Reservoirs%nReservoirs, Me%PropertiesNumber)) - allocate (Me%Reservoirs%ReservoirsExchangeNodePos (Me%Reservoirs%nReservoirs)) + !Local----------------------------------------------------------------- + type(T_Property), pointer :: PropertyX + integer, pointer, dimension(:) :: MacroAlgaePropertyList + integer :: STAT_CALL, iflag + real :: MacroAlgaeDT + integer :: Index = 0 + type (T_Size1D) :: Size1D - call SetMatrixValue(Me%Reservoirs%ReservoirsInflow , Size1D, 0.0) - call SetMatrixValue(Me%Reservoirs%ReservoirsOutflow , Size1D, 0.0) - call SetMatrixValue(Me%Reservoirs%ReservoirsConc , Size2D, 0.0) - call SetMatrixValue(Me%Reservoirs%NodeConc , Size2D, 0.0) - call SetMatrixValue(Me%Reservoirs%ReservoirsExchangeNodePos , Size1D, 0) + !---------------------------------------------------------------------- + + !gC/m2 + call GetData(Me%MacroAlgae%DefaultValue, & + Me%ObjEnterData, iflag, & + Keyword = 'MACROALGAE_MASS', & + Default = 0.001, & + SearchType = FromFile, & + ClientModule = 'ModuleDrainageNetwork', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'CoupleMacroAlgae - ModuleDrainageNetwork - ERR02' + if (iflag == 0) stop 'CoupleMacroAlgae - ModuleDrainageNetwork - ERR03' + call GetData(Me%MacroAlgae%VariableHeight, & + Me%ObjEnterData, iflag, & + Keyword = 'VARIABLE_MACR_HEIGHT', & + Default = .false., & + SearchType = FromFile, & + ClientModule = 'ModuleDrainageNetwork', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'CoupleMacroAlgae - ModuleDrainageNetwork - ERR04' + + if ((iflag == 0) .or. (.not.Me%MacroAlgae%VariableHeight)) then + !m + call GetData(Me%MacroAlgae%HeightConstant, & + Me%ObjEnterData, iflag, & + Keyword = 'MACROALGAE_HEIGHT', & + Default = 0.25, & + SearchType = FromFile, & + ClientModule = 'ModuleDrainageNetwork', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'CoupleMacroAlgae - ModuleDrainageNetwork - ERR05' + if (iflag == 0) stop 'CoupleMacroAlgae - ModuleDrainageNetwork - ERR06' + endif - nullify (CurrNode) - do ReservoirPos = 1, Me%Reservoirs%nReservoirs - - call FindNodePosition(Me%Reservoirs%ReservoirDNNodeID(ReservoirPos), NodePos, Found) - - !inactivate reach(es) downstream resevoir node - !node to remove flow to reservoir (node water volume /dt) is only one (upstream inactive reach(es)) - !node to insert flow from reservoir can be several (downstream of inactive reaches) - if (Found) then - - !Reservoir Node - CurrNodeExchange => Me%Nodes(NodePos) - - !Inactivate all downstream reaches - if (CurrNodeExchange%nDownstreamReaches /= 0) then - - do i = 1, CurrNodeExchange%nDownstreamReaches - DownReachPos = CurrNodeExchange%DownstreamReaches(i) - CurrReach => Me%Reaches(DownReachPos) - CurrReach%Active = .false. - enddo + allocate(Me%MacroAlgae%Height (1: Me%TotalNodes)) !m + + + if (Me%MacroAlgae%VariableHeight) then + + + call GetData(Me%MacroAlgae%HBRatio, & + Me%ObjEnterData, iflag, & + Keyword = 'MACR_HEIGHT_BIOMASS_RATIO', & + Default = 0.002, & + SearchType = FromFile, & + ClientModule = 'ModuleDrainageNetwork', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'CoupleMacroAlgae - ModuleDrainageNetwork - ERR08' + if (iflag == 0) stop 'CoupleMacroAlgae - ModuleDrainageNetwork - ERR09' + + + Me%MacroAlgae%Height (:) = Me%MacroAlgae%DefaultValue * & + Me%MacroAlgae%HBRatio + else + + Me%MacroAlgae%Height (:) = Me%MacroAlgae%HeightConstant + + endif + + !allocate(Me%MacroAlgae%Distribution (1: Me%TotalNodes)) !gC/m2 + !Me%MacroAlgae%Distribution (:) = Me%MacroAlgae%DefaultValue + ! + !allocate(Me%MacroAlgae%ShearStress3D (ILB:IUB, JLB:JUB, KLB:KUB)) + !Me%MacroAlgae%ShearStress3D (:,:,:) = FillValueReal + ! + !allocate(Me%MacroAlgae%SPMDepFlux3D (ILB:IUB, JLB:JUB, KLB:KUB)) + !Me%MacroAlgae%SPMDepFlux3D (:,:,:) = FillValueReal + + allocate(Me%MacroAlgae%Occupation (1: Me%TotalNodes)) + Me%MacroAlgae%Occupation (:) = 0. + + !allocate(Me%MacroAlgae%DistFromTop (ILB:IUB, JLB:JUB, KLB:KUB)) + !Me%MacroAlgae%DistFromTop (:,:,:) = 0. + + allocate(Me%MacroAlgae%ShearStress(1: Me%TotalNodes)) + Me%MacroAlgae%ShearStress (: ) = 0. + + allocate(Me%MacroAlgae%SPMDepFlux (1: Me%TotalNodes)) + Me%MacroAlgae%SPMDepFlux (: ) = 0. + + Index = 0 + + nullify (MacroAlgaePropertyList) + allocate(MacroAlgaePropertyList(1:Me%Coupled%MacroAlgae%NumberOfProperties)) + + PropertyX => Me%FirstProperty + + do while(associated(PropertyX)) + + if(PropertyX%ComputeOptions%MacroAlgae)then + + Index = Index + 1 + MacroAlgaePropertyList(Index) = PropertyX%ID%IDNumber + + end if + + if(PropertyX%ID%IDNumber == MacroAlgae_)then + + !needed for subsequent steps + call UpdateNodesDWZ + + if(Me%PropertyContinuous)then + !call IntegrateMacroAlgae(PropertyX) + else + call ComputeMacroAlgaeOccupation + !call DistributeMacroAlgae + end if + + if(PropertyX%ComputeOptions%AdvectionDiffusion)then + + write(*,*) + write(*,*)'Macroalgae can not have ADVECTION_DIFFUSION' + write(*,*)'ADVECTION_DIFFUSION will be switched off' + + PropertyX%ComputeOptions%AdvectionDiffusion = OFF + + end if + + end if + + PropertyX => PropertyX%Next + enddo + + nullify(PropertyX) + + !Start Interface + Size1D%ILB = 1 + !Size1D%IUB = Me%TotalReaches + Size1D%IUB = Me%TotalNodes + call ConstructInterface(InterfaceID = Me%ObjInterfaceMacroAlgae, & + TimeID = Me%ObjTime, & + SinksSourcesModel = MacroAlgaeModel, & + DT = MacroAlgaeDT, & + PropertiesList = MacroAlgaePropertyList, & + RiverPoints1D = Me%RiverPoints, & + Size1D = Size1D, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'CoupleMacroAlgae - ModuleDrainageNetwork - ERR01' + + Me%Coupled%MacroAlgae%DT_Compute = MacroAlgaeDT + Me%Coupled%MacroAlgae%NextCompute = Me%CurrentTime + + deallocate(MacroAlgaePropertyList) + nullify (MacroAlgaePropertyList) + + + end subroutine CoupleMacroAlgae + + !-------------------------------------------------------------------------- + + subroutine UpdateNodesDWZ + + !Local------------------------------------------------------------------ + integer :: NodePos + real(8) :: PoolVolume, PoolDepth + !Begin------------------------------------------------------------------ + + !Updates Me%NodesDWZ, Shear Stress + do NodePos = 1, Me%TotalNodes + + PoolVolume = Me%Nodes(NodePos)%CrossSection%PoolDepth * Me%Nodes(NodePos)%Length * & + Me%Nodes(NodePos)%CrossSection%BottomWidth + if (Me%Nodes(NodePos)%VolumeNew > PoolVolume) then + PoolDepth = Me%Nodes(NodePos)%CrossSection%PoolDepth + else + PoolDepth = Me%Nodes(NodePos)%VolumeNew / (Me%Nodes(NodePos)%Length * Me%Nodes(NodePos)%CrossSection%BottomWidth) + endif + + Me%NodesDWZ(NodePos) = Me%Nodes(NodePos)%WaterDepth + PoolDepth + + enddo + + end subroutine UpdateNodesDWZ + + !-------------------------------------------------------------------------- + + subroutine UpdateNodesShearStress + + !Local------------------------------------------------------------------ + integer :: NodePos, ReachID + type (T_Size1D) :: Size1D + !Begin------------------------------------------------------------------ + + Size1D%ILB = 1 + !Size1D%IUB = Me%TotalReaches + Size1D%IUB = Me%TotalNodes + + call SetMatrixValue(Me%MacroAlgae%ShearStress, Size1D, 0.0) + + do NodePos = 1, Me%TotalNodes + + !shear stress in first reach + if (Me%Nodes(NodePos)%nDownstreamReaches /= 0) then + ReachID = Me%Nodes(NodePos)%DownstreamReaches(1) + Me%MacroAlgae%ShearStress(NodePos) = Me%ShearStress(ReachID) + endif + enddo + + end subroutine UpdateNodesShearStress + + !-------------------------------------------------------------------------- + + subroutine ConstructReservoirs + + !Arguments-------------------------------------------------------------- + + !Local------------------------------------------------------------------ + type (T_Size1D) :: Size1D + type (T_Size2D) :: Size2D + integer :: ReservoirPos, NodePos, i + integer :: DownReachPos, UpReachPos, UpNode + logical :: Found + type(T_Node), pointer :: CurrNodeExchange, CurrNode + type(T_Reach), pointer :: CurrReach + + + !inactivate the nodes where reservoirs are + + !Reservoirs + Size1D%ILB = 1 + Size2D%ILB = 1 + Size1D%IUB = Me%Reservoirs%nReservoirs + Size2D%IUB = Me%Reservoirs%nReservoirs + + !props + Size2D%JLB = 1 + Size2D%JUB = Me%PropertiesNumber + + allocate (Me%Reservoirs%ReservoirsInflow (Me%Reservoirs%nReservoirs)) + allocate (Me%Reservoirs%ReservoirsOutflow (Me%Reservoirs%nReservoirs)) + allocate (Me%Reservoirs%ReservoirsConc (Me%Reservoirs%nReservoirs, Me%PropertiesNumber)) + allocate (Me%Reservoirs%NodeConc (Me%Reservoirs%nReservoirs, Me%PropertiesNumber)) + allocate (Me%Reservoirs%ReservoirsExchangeNodePos (Me%Reservoirs%nReservoirs)) + + call SetMatrixValue(Me%Reservoirs%ReservoirsInflow , Size1D, 0.0) + call SetMatrixValue(Me%Reservoirs%ReservoirsOutflow , Size1D, 0.0) + call SetMatrixValue(Me%Reservoirs%ReservoirsConc , Size2D, 0.0) + call SetMatrixValue(Me%Reservoirs%NodeConc , Size2D, 0.0) + call SetMatrixValue(Me%Reservoirs%ReservoirsExchangeNodePos , Size1D, 0) + + + nullify (CurrNode) + do ReservoirPos = 1, Me%Reservoirs%nReservoirs + + call FindNodePosition(Me%Reservoirs%ReservoirDNNodeID(ReservoirPos), NodePos, Found) + + !inactivate reach(es) downstream resevoir node + !node to remove flow to reservoir (node water volume /dt) is only one (upstream inactive reach(es)) + !node to insert flow from reservoir can be several (downstream of inactive reaches) + if (Found) then + + !Reservoir Node + CurrNodeExchange => Me%Nodes(NodePos) + + !Inactivate all downstream reaches + if (CurrNodeExchange%nDownstreamReaches /= 0) then + + do i = 1, CurrNodeExchange%nDownstreamReaches + DownReachPos = CurrNodeExchange%DownstreamReaches(i) + CurrReach => Me%Reaches(DownReachPos) + CurrReach%Active = .false. + enddo else !outlet - it can have only one upstream reach so inactivate that one UpReachPos = CurrNode%UpstreamReaches(1) @@ -7610,7 +8254,8 @@ subroutine ConstructLog write(*, *)"---SurfaceFluxes : ", Property%ComputeOptions%SurfaceFluxes write(*, *)"---BottomFluxes : ", Property%ComputeOptions%BottomFluxes write(*, *)"---WaterQuality : ", Property%ComputeOptions%WaterQuality - write(*, *)"---Benthos : ", Property%ComputeOptions%Benthos + write(*, *)"---Benthos : ", Property%ComputeOptions%Benthos + write(*, *)"---MacroAlage : ", Property%ComputeOptions%MacroAlgae write(*, *)"---GenericDecay : ", Property%ComputeOptions%Generic_Decay write(*, *)"---T90Decay : ", Property%ComputeOptions%T90_Decay write(*, *) @@ -7706,6 +8351,45 @@ subroutine FindReachPosition (ReachID, ReachPos, Found) end subroutine FindReachPosition !--------------------------------------------------------------------------- + + subroutine Search_Property(PropertyX, PropertyXID, STAT) + + !Arguments------------------------------------------------------------- + type(T_Property), pointer :: PropertyX + integer, intent (IN) :: PropertyXID + integer , optional, intent (OUT) :: STAT + + !Local----------------------------------------------------------------- + integer :: STAT_ + + !---------------------------------------------------------------------- + + STAT_ = UNKNOWN_ + + PropertyX => Me%FirstProperty + + do while (associated(PropertyX)) + if (PropertyX%ID%IDNumber==PropertyXID) then + exit + else + PropertyX => PropertyX%Next + end if + end do + + if (associated(PropertyX)) then + + STAT_ = SUCCESS_ + + else + STAT_ = NOT_FOUND_ERR_ + end if + + if (present(STAT)) STAT = STAT_ + + end subroutine Search_Property + + !-------------------------------------------------------------------------- + !--------------------------------------------------------------------------- !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -8526,6 +9210,7 @@ subroutine GetNeedsRadiation (DrainageNetworkID, NeedRadiation, STAT) NeedRadiation = Me%ComputeOptions%SurfaceFluxes .or. Me%ComputeOptions%WaterQuality .or. & Me%ComputeOptions%CeQualW2 .or. Me%ComputeOptions%Life .or. & + Me%ComputeOptions%MacroAlgae .or. & Me%ComputeOptions%T90_Decay STAT_CALL = SUCCESS_ @@ -9705,9 +10390,15 @@ subroutine ModifyDrainageNetLocal !WaterQuality if (Me%ComputeOptions%WaterQuality ) call ModifyWaterQuality () + !CEQUALW2 + if (Me%ComputeOptions%CeQualW2 ) call ModifyCEQUALW2 () + !Benthos if (Me%ComputeOptions%Benthos ) call ModifyBenthos () + !Macoralgae + if (Me%ComputeOptions%MacroAlgae ) call ModifyMacroAlgae () + !Bottom fluxes if (Me%ComputeOptions%BottomFluxes ) call ComputeBottomFluxes () @@ -9789,7 +10480,11 @@ subroutine ModifyDrainageNetLocal if (Me%Output%WriteRestartFile .and. .not. (Me%CurrentTime == Me%EndTime)) then if(Me%CurrentTime >= Me%OutPut%RestartOutTime(Me%OutPut%NextRestartOutput))then IsFinalFile = .false. - call WriteFinalFile(IsFinalFile) + if (Me%OutPut%RestartFormat == BIN_) then + call WriteFinalFile_Bin(IsFinalFile) + else if (Me%OutPut%RestartFormat == HDF_) then + call WriteFinalFile_Hdf(IsFinalFile) + endif Me%OutPut%NextRestartOutput = Me%OutPut%NextRestartOutput + 1 endif endif @@ -13316,6 +14011,7 @@ subroutine ComputeSurfaceFluxes () real :: Flow, Vel, Slope real, dimension(:), pointer :: ShortWaveExtinctionField real :: LongWaveExtinctionCoef + real :: VelSlopeAux if (MonitorPerformance) call StartWatch ("ModuleDrainageNetwork", "ComputeSurfaceFluxes") @@ -13399,43 +14095,44 @@ subroutine ComputeSurfaceFluxes () ReferenceDensity / & SpecificHeatDefault / & Me%Nodes(NodeID)%VolumeNew - - - !Calculates Evaporation mass flux (heat flux was already accounted) - ![m3/s] = [J/m2/s] / [J/kg] / [kg/m3] * [m] * [m] - Evaporation = LatentHeat_ / & - LatentHeatOfVaporization / & - ReferenceDensity * & - Me%Nodes(NodeID)%SurfaceArea + + if (Me%ComputeOptions%MassFluxes) then + + !Calculates Evaporation mass flux (heat flux was already accounted) + ![m3/s] = [J/m2/s] / [J/kg] / [kg/m3] * [m] * [m] + Evaporation = LatentHeat_ / & + LatentHeatOfVaporization / & + ReferenceDensity * & + Me%Nodes(NodeID)%SurfaceArea - !Just considers loss of water - if (Evaporation < 0.0) then + !Just considers loss of water + if (Evaporation < 0.0) then - !Discharge Properties - nullify (Property) - Property => Me%FirstProperty - do while (associated (Property)) - CurrNode => Me%Nodes (NodeID) - call DischargeProperty (Evaporation, Property%Concentration(NodeID), & - NodeID, CurrNode%VolumeNew, Property, & - Property%IScoefficient, Me%ExtVar%DT, ON) - Evaporation = Evaporation - Property => Property%Next - enddo + !Discharge Properties + nullify (Property) + Property => Me%FirstProperty + do while (associated (Property)) + CurrNode => Me%Nodes (NodeID) + call DischargeProperty (Evaporation, Property%Concentration(NodeID), & + NodeID, CurrNode%VolumeNew, Property, & + Property%IScoefficient, Me%ExtVar%DT, ON) + Evaporation = Evaporation + Property => Property%Next + enddo - !Update volume - Me%Nodes(NodeID)%VolumeNew = Me%Nodes(NodeID)%VolumeNew + Evaporation * Me%ExtVar%DT + !Update volume + Me%Nodes(NodeID)%VolumeNew = Me%Nodes(NodeID)%VolumeNew + Evaporation * Me%ExtVar%DT - !if (Me%CheckMass) then - ! Me%TotalOutputVolume = Me%TotalOutputVolume - Evaporation * Me%ExtVar%DT - !endif - Me%TotalOutputVolume = Me%TotalOutputVolume - Evaporation * Me%ExtVar%DT + !if (Me%CheckMass) then + ! Me%TotalOutputVolume = Me%TotalOutputVolume - Evaporation * Me%ExtVar%DT + !endif + Me%TotalOutputVolume = Me%TotalOutputVolume - Evaporation * Me%ExtVar%DT - Me%TotalEvapFromSurfaceVolume = Me%TotalEvapFromSurfaceVolume + (-Evaporation * Me%ExtVar%DT) + Me%TotalEvapFromSurfaceVolume = Me%TotalEvapFromSurfaceVolume + (-Evaporation * Me%ExtVar%DT) + endif endif - endif end do @@ -13483,6 +14180,10 @@ subroutine ComputeSurfaceFluxes () Vel = Me%Reaches(CurrNode%DownstreamReaches(1))%Velocity Slope = Me%Reaches(CurrNode%DownstreamReaches(1))%Slope + !upslope conditions or different sign also dissipate energy and rearate + !and can not be negative in power + VelSlopeAux = abs(Vel * Slope) + select case (Me%AerationEquation) case (PoolAndRifle_) @@ -13490,9 +14191,9 @@ subroutine ComputeSurfaceFluxes () !Ka [1/day] if (Flow > AllmostZero) then if (Flow <= 0.556) then - Ka = 517. * (Vel * Slope) ** 0.524 * Flow ** (-0.242) + Ka = 517. * (VelSlopeAux) ** 0.524 * Flow ** (-0.242) else - Ka = 596. * (Vel * Slope) ** 0.528 * Flow ** (-0.136) + Ka = 596. * (VelSlopeAux) ** 0.528 * Flow ** (-0.136) endif else Ka = 0.0 !So it will be set to the minimum value @@ -13503,9 +14204,9 @@ subroutine ComputeSurfaceFluxes () !Ka [1/day] if (Flow > AllmostZero) then if (Flow <= 0.556) then - Ka = 88.0 * (Vel * Slope) ** 0.313 * CurrNode%WaterDepth ** (-0.353) + Ka = 88.0 * (VelSlopeAux) ** 0.313 * CurrNode%WaterDepth ** (-0.353) else - Ka = 142. * (Vel * Slope) ** 0.333 * CurrNode%WaterDepth ** (-0.660) * & + Ka = 142. * (VelSlopeAux) ** 0.333 * CurrNode%WaterDepth ** (-0.660) * & CurrNode%SurfaceArea ** (-0.243) endif else @@ -13868,7 +14569,6 @@ subroutine ModifyWaterQuality type (T_Property), pointer :: PropertyX real, dimension(:), pointer :: ShortWaveExtinctionField integer :: STAT_CALL, NodePos - real(8) :: PoolVolume, PoolDepth real :: DT type(T_WQRate ), pointer :: WQRateX real(8),dimension(:), pointer :: WaterVolume @@ -13881,18 +14581,7 @@ subroutine ModifyWaterQuality if (STAT_CALL /= SUCCESS_) stop 'ModifyWaterQuality - ModuleDrainageNetwork - ERR01' !Updates Me%NodesDWZ - do NodePos = 1, Me%TotalNodes - - PoolVolume = Me%Nodes(NodePos)%CrossSection%PoolDepth * Me%Nodes(NodePos)%Length * & - Me%Nodes(NodePos)%CrossSection%BottomWidth - if (Me%Nodes(NodePos)%VolumeNew > PoolVolume) then - PoolDepth = Me%Nodes(NodePos)%CrossSection%PoolDepth - else - PoolDepth = Me%Nodes(NodePos)%VolumeNew / (Me%Nodes(NodePos)%Length * Me%Nodes(NodePos)%CrossSection%BottomWidth) - endif - - Me%NodesDWZ(NodePos) = Me%Nodes(NodePos)%WaterDepth + PoolDepth - enddo + call UpdateNodesDWZ !cycle to call water quality models to compute new rates (every WQDT) in openpoints if (Me%CurrentTime .GE. Me%Coupled%WQM%NextCompute) then @@ -14042,7 +14731,7 @@ subroutine ModifyWaterQuality call UnGetLightExtinction(Me%ObjLightExtinction, ShortWaveExtinctionField, STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'WaterQuality_Processes - ModuleWaterProperties - ERR06' + if (STAT_CALL /= SUCCESS_) stop 'WaterQuality_Processes - ModuleDrainageNetwork - ERR06' if (MonitorPerformance) call StopWatch ("ModuleDrainageNetwork", "ModifyWaterQuality") @@ -14050,55 +14739,195 @@ subroutine ModifyWaterQuality end subroutine ModifyWaterQuality !--------------------------------------------------------------------------- - - subroutine ModifyBenthos + + subroutine ModifyCEQUALW2 !Arguments------------------------------------------------------------- !Local----------------------------------------------------------------- type (T_Property), pointer :: PropertyX - integer :: NodeID, STAT_CALL - type (T_Node), pointer :: CurrNode - real(8),dimension(:),pointer :: WaterVolume + real, dimension(:), pointer :: ShortWaveExtinctionField + integer :: STAT_CALL real :: DT - + type(T_WQRate ), pointer :: WQRateX !Begin----------------------------------------------------------------- - if (MonitorPerformance) call StartWatch ("ModuleDrainageNetwork", "ModifyBenthos") + if (MonitorPerformance) call StartWatch ("ModuleDrainageNetwork", "ModifyCEQUALW2") - if (Me%CurrentTime .GE. Me%Coupled%Benthos%NextCompute) then - allocate (WaterVolume (1:Me%TotalNodes)) - do NodeID = 1, Me%TotalNodes - CurrNode => Me%Nodes (NodeID) - WaterVolume(NodeID) = CurrNode%VolumeNew - enddo + call GetShortWaveExtinctionField(Me%ObjLightExtinction, ShortWaveExtinctionField, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ModifyCEQUALW2 - ModuleDrainageNetwork - ERR01' + + !Updates Me%NodesDWZ + call UpdateNodesDWZ + + !cycle to call water quality models to compute new rates (every WQDT) in openpoints + if (Me%CurrentTime .GE. Me%Coupled%CEQUALW2%NextCompute) then PropertyX => Me%FirstProperty do while(associated(PropertyX)) - if(PropertyX%ComputeOptions%Benthos)then + call Modify_Interface(InterfaceID = Me%ObjInterface, & + PropertyID = PropertyX%ID%IDNumber, & + Concentration = PropertyX%Concentration, & + RiverPoints1D = Me%RiverPoints, & + OpenPoints1D = Me%OpenPointsProcess, & + ShortWaveTop = Me%ShortWaveField, & + LightExtCoefField = ShortWaveExtinctionField, & + DWZ = Me%NodesDWZ, & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) & + stop 'ModifyCEQUALW2 - ModuleDrainageNetwork - ERR02' - if(PropertyX%ComputeOptions%BottomFluxes)then - do NodeID = 1, Me%TotalNodes - CurrNode => Me%Nodes (NodeID) - if (Me%OpenPointsProcess (NodeID) == OpenPoint) then - !kg = kg/m2 * m * m - PropertyX%MassInKg(NodeID) = PropertyX%BottomConc(NodeID) * & - CurrNode%CrossSection%BottomWidth * & - CurrNode%Length - - end if - enddo - else - do NodeID = 1, Me%TotalNodes - CurrNode => Me%Nodes (NodeID) - if (Me%OpenPointsProcess (NodeID) == OpenPoint) then - !kg = g/m3 * m3 * 1e-3 kg/g - PropertyX%MassInKg(NodeID) = PropertyX%Concentration(NodeID) * & - CurrNode%VolumeNew * & - PropertyX%IScoefficient - end if + PropertyX => PropertyX%Next + + end do + + Me%Coupled%CEQUALW2%NextCompute = Me%Coupled%CEQUALW2%NextCompute + Me%Coupled%CEQUALW2%DT_Compute + + end if + + PropertyX => Me%FirstProperty + + !cycle to update properties (using the rates above computed) in openpoints + do while (associated(PropertyX)) + + if (PropertyX%ComputeOptions%CeQualW2) then + + !if DTInterval, only update at given time + if (PropertyX%ComputeOptions%DTIntervalAssociated) then + DT = PropertyX%DTInterval + else !update every time + PropertyX%NextCompute = Me%CurrentTime + DT = Me%ExtVar%DT + endif + + if (Me%CurrentTime .GE. PropertyX%NextCompute) then + + call Modify_Interface(InterfaceID = Me%ObjInterface, & + PropertyID = PropertyX%ID%IDNumber, & + Concentration = PropertyX%Concentration, & + DTProp = DT, & + RiverPoints1D = Me%RiverPoints, & + OpenPoints1D = Me%OpenPointsProcess, & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) & + stop 'ModifyCEQUALW2 - ModuleDrainageNetwork - ERR03' + endif + + endif + + PropertyX=>PropertyX%Next + + enddo + + nullify(PropertyX) + + !to compute rates. ModuleWaterQuality rates do not change in between computations but since + !some need volume to be multiplied, internally they can change in between computations + if (Me%Output%Rates) then + + !allocate(WaterVolume(1:Me%TotalNodes)) + !do NodePos = 1, Me%TotalNodes + ! CurrNode => Me%Nodes (NodePos) + ! WaterVolume(NodePos) = CurrNode%VolumeNew + !enddo + + !Get rate fluxes + WqRateX => Me%FirstWQRate + + do while (associated(WQRateX)) + + if(WQRateX%Model == CeQualW2Model)then + + call GetRateFlux(InterfaceID = Me%ObjInterface, & + RateIndex = WQRateX%CeQualID, & + RateFlux1D = WQRateX%Field, & + RiverPoints1D = Me%RiverPoints, & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) & + stop 'ModifyCEQUALW2 - ModuleDrainageNetwork - ERR04' + + + end if + + WQRateX=>WQRateX%Next + + enddo + + !deallocate(WaterVolume) + nullify(WQRateX) + + endif + + !Set MinimumConcentration of Properties - This will create Mass + if (Me%ComputeOptions%MinConcentration) call SetLimitsConcentration + if (Me%ComputeOptions%WarnOnNegativeValues) call WarnOnNegativeValues ('After CEQUALW2') + + + call UnGetLightExtinction(Me%ObjLightExtinction, ShortWaveExtinctionField, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ModifyCEQUALW2 - ModuleDrainageNetwork - ERR06' + + if (MonitorPerformance) call StopWatch ("ModuleDrainageNetwork", "ModifyCEQUALW2") + + + end subroutine ModifyCEQUALW2 + + !--------------------------------------------------------------------------- + + subroutine ModifyBenthos + + !Arguments------------------------------------------------------------- + + !Local----------------------------------------------------------------- + type (T_Property), pointer :: PropertyX + integer :: NodeID, STAT_CALL + type (T_Node), pointer :: CurrNode + real(8),dimension(:),pointer :: WaterVolume + real ,dimension(:),pointer :: CellArea + real :: DT + + + !Begin----------------------------------------------------------------- + + if (MonitorPerformance) call StartWatch ("ModuleDrainageNetwork", "ModifyBenthos") + + allocate (WaterVolume (1:Me%TotalNodes)) + allocate (CellArea (1:Me%TotalNodes)) + do NodeID = 1, Me%TotalNodes + CurrNode => Me%Nodes (NodeID) + WaterVolume(NodeID) = CurrNode%VolumeNew + CellArea(NodeID) = CurrNode%Length * CurrNode%CrossSection%BottomWidth + enddo + + + if (Me%CurrentTime .GE. Me%Coupled%Benthos%NextCompute) then + + PropertyX => Me%FirstProperty + do while(associated(PropertyX)) + + if(PropertyX%ComputeOptions%Benthos)then + + if(PropertyX%ComputeOptions%BottomFluxes)then + do NodeID = 1, Me%TotalNodes + CurrNode => Me%Nodes (NodeID) + if (Me%OpenPointsProcess (NodeID) == OpenPoint) then + !kg = kg/m2 * m * m + PropertyX%MassInKg(NodeID) = PropertyX%BottomConc(NodeID) * & + CurrNode%CrossSection%BottomWidth * & + CurrNode%Length + + end if + enddo + else + do NodeID = 1, Me%TotalNodes + CurrNode => Me%Nodes (NodeID) + if (Me%OpenPointsProcess (NodeID) == OpenPoint) then + !kg = g/m3 * m3 * 1e-3 kg/g + PropertyX%MassInKg(NodeID) = PropertyX%Concentration(NodeID) * & + CurrNode%VolumeNew * & + PropertyX%IScoefficient + end if enddo end if @@ -14138,6 +14967,7 @@ subroutine ModifyBenthos RiverPoints1D = Me%RiverPoints, & OpenPoints1D = Me%OpenPointsProcess, & WaterVolume = WaterVolume, & + CellArea = CellArea, & STAT = STAT_CALL) if (STAT_CALL .NE. SUCCESS_) & stop 'ModifyBenthos - ModuleDrainageNetwork - ERR01' @@ -14148,6 +14978,7 @@ subroutine ModifyBenthos end do Me%Coupled%Benthos%NextCompute = Me%Coupled%Benthos%NextCompute + Me%Coupled%Benthos%DT_Compute + end if @@ -14156,6 +14987,15 @@ subroutine ModifyBenthos do while (associated(PropertyX)) if (PropertyX%ComputeOptions%Benthos) then + + + allocate (WaterVolume (1:Me%TotalNodes)) + allocate (CellArea (1:Me%TotalNodes)) + do NodeID = 1, Me%TotalNodes + CurrNode => Me%Nodes (NodeID) + WaterVolume(NodeID) = CurrNode%VolumeNew + CellArea(NodeID) = CurrNode%Length * CurrNode%CrossSection%BottomWidth + enddo if(PropertyX%ComputeOptions%BottomFluxes)then do NodeID = 1, Me%TotalNodes @@ -14201,7 +15041,7 @@ subroutine ModifyBenthos STAT = STAT_CALL) if (STAT_CALL .NE. SUCCESS_) & stop 'ModifyBenthos - ModuleDrainageNetwork - ERR02' - nullify (WaterVolume) + !nullify (WaterVolume) endif @@ -14227,22 +15067,339 @@ subroutine ModifyBenthos enddo end if + + endif PropertyX=>PropertyX%Next enddo + + deallocate(WaterVolume) + deallocate(CellArea) + !Set MinimumConcentration of Properties - This will create Mass if (Me%ComputeOptions%MinConcentration) call SetLimitsConcentration if (Me%ComputeOptions%WarnOnNegativeValues) call WarnOnNegativeValues ('After Benthos') - + if (MonitorPerformance) call StopWatch ("ModuleDrainageNetwork", "ModifyBenthos") end subroutine ModifyBenthos !--------------------------------------------------------------------------- + + subroutine ModifyMacroAlgae + + !Local----------------------------------------------------------------- + type (T_Property), pointer :: PropertyX + type (T_WQRate ), pointer :: WqRateX + real, dimension(:), pointer :: ShortWaveExtinctionField + integer :: STAT_CALL + integer :: NodePos + type (T_Size1D) :: Size1D + real(8),dimension(:), pointer :: WaterVolume + real :: DT + type (T_Node ) , pointer :: CurrNode + !Begin----------------------------------------------------------------- + + Size1D%ILB = 1 + !Size1D%IUB = Me%TotalReaches + Size1D%IUB = Me%TotalNodes + + !Short wave light extinction coefficient + call GetShortWaveExtinctionField(Me%ObjLightExtinction, ShortWaveExtinctionField, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ModifyMacroAlgae - ModuleDrainageNetwork - ERR01' + + + !Updates Me%NodesDWZ, Shear Stress + call UpdateNodesDWZ + call UpdateNodesShearStress + + !compute distribution based on macroalgae height and dwz (water colum) + !and Convert macroalgae distribution in the water column into gC/m3 + call ComputeMacroAlgaeOccupation + + !Convert macroalgae distribution in the water column into gC/m3 + !call DistributeMacroAlgae + + PropertyX => Me%FirstProperty + + if (Me%CurrentTime .GE. Me%Coupled%MacroAlgae%NextCompute) then + + do while(associated(PropertyX)) + + call SetMatrixValue(Me%MacroAlgae%SPMDepFlux, Size1D, 0.0) + if (PropertyX%ComputeOptions%BottomFluxes) then + call SetMatrixValue(Me%MacroAlgae%SPMDepFlux, Size1D, PropertyX%DepositionRate) + endif + + call Modify_Interface(InterfaceID = Me%ObjInterfaceMacroAlgae, & + PropertyID = PropertyX%ID%IDNumber, & + Concentration = PropertyX%Concentration, & + RiverPoints1D = Me%RiverPoints, & + OpenPoints1D = Me%OpenPointsProcess, & + ShortWaveTop = Me%ShortWaveField, & + LightExtCoefField = ShortWaveExtinctionField, & + DWZ = Me%NodesDWZ, & + ShearStress = Me%MacroAlgae%ShearStress, & + SPMFlux = Me%MacroAlgae%SPMDepFlux, & + MacrOccupation = Me%Macroalgae%Occupation, & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) & + stop 'ModifyMacroAlgae - ModuleDrainageNetwork - ERR02' + + PropertyX => PropertyX%Next + + end do + + Me%Coupled%MacroAlgae%NextCompute = Me%Coupled%MacroAlgae%NextCompute + & + Me%Coupled%MacroAlgae%DT_Compute + + end if + + PropertyX => Me%FirstProperty + + do while (associated(PropertyX)) + + if (PropertyX%ComputeOptions%MacroAlgae) then + + !if DTInterval, only update at given time + if (PropertyX%ComputeOptions%DTIntervalAssociated) then + DT = PropertyX%DTInterval + else !update every time + PropertyX%NextCompute = Me%CurrentTime + DT = Me%ExtVar%DT + endif + + + if (Me%CurrentTime .GE.PropertyX%NextCompute) then + + call Modify_Interface(InterfaceID = Me%ObjInterfaceMacroAlgae, & + PropertyID = PropertyX%ID%IDNumber, & + Concentration = PropertyX%Concentration, & + DTProp = DT, & + RiverPoints1D = Me%RiverPoints, & + OpenPoints1D = Me%OpenPointsProcess, & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) & + stop 'ModifyMacroAlgae - ModuleDrainageNetwork - ERR03' + + !if(PropertyX%ID%IDNumber == MacroAlgae_)then + + !Integrate macroalgae distribution in the water column in to kgC/m2 + !call IntegrateMacroAlgae(PropertyX) + + !end if + endif + + endif + + PropertyX=>PropertyX%Next + + enddo + + + !to compute rates. ModuleWaterQuality rates do not change in between computations but since + !some need volume to be multiplied, internally they can change in between computations + if (Me%Output%Rates) then + WqRateX => Me%FirstWqRate + + allocate(WaterVolume(1:Me%TotalNodes)) + do NodePos = 1, Me%TotalNodes + CurrNode => Me%Nodes (NodePos) + WaterVolume(NodePos) = CurrNode%VolumeNew + enddo + + do while (associated(WqRateX)) + + if(WqRateX%Model == MacroAlgaeModel)then + + call GetRateFlux(InterfaceID = Me%ObjInterfaceMacroAlgae, & + FirstProp = WqRateX%FirstProp%IDNumber, & + SecondProp = WqRateX%SecondProp%IDNumber, & + RateFlux1D = WQRateX%Field, & + RiverPoints1D = Me%RiverPoints, & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) & + stop 'ModifyMacroAlgae - ModuleDrainageNetwork - ERR04' + + + !gross production units in ModuleMacroAlgae [g.s/m3.day] ?? + !property rate units in ModuleMacroAlgae [g/m3] + !limiting factors units in ModuleMacroAlgae [0-1]*[s] + !gross production and property rate are transformed in [g/s] + !and limiting factor in [0-1] + if (WQRateX%FirstProp%name == 'temperaturelim' .or. & + WQRateX%FirstProp%name == 'nutrientlim' .or. & + WQRateX%FirstProp%name == 'nitrogenlim' .or. & + WQRateX%FirstProp%name == 'phosphoruslim' .or. & + WQRateX%FirstProp%name == 'salinitylim' .or. & + WQRateX%FirstProp%name == 'lightlim') then + + ![0-1] = [0-1] * [s] / [s] + !WQRateX%Field(NodePos) = WQRateX%Field(NodePos) / Me%Coupled%MacroAlgae%DT_Compute + !Needs to be evaluated in water points because a node can go out of open point + !in between rates calculation and the value would not be updated divided by DT + !if openpoints was used + where (Me%RiverPoints == WaterPoint) & + WQRateX%Field = WQRateX%Field / Me%Coupled%MacroAlgae%DT_Compute + + elseif (WQRateX%FirstProp%name == 'grossprod' .or. & + WQRateX%FirstProp%name == 'excretion' .or. & + WQRateX%FirstProp%name == 'respiration' .or. & + WQRateX%FirstProp%name == 'naturalmort' .or. & + WQRateX%FirstProp%name == 'grazing') then + + ![g/s] = [g.s/m3.day] * [m3] / [s] * 1/86400 [day/s] + !WQRateX%Field(NodePos) = WQRateXTempField(NodePos) * CurrNode%VolumeNew & + ! / Me%Coupled%MacroAlgae%DT_Compute * 1./86400. + where (Me%RiverPoints == WaterPoint) & + WQRateX%Field = WQRateX%Field * WaterVolume & + / Me%Coupled%MacroAlgae%DT_Compute * 1./86400. + + + elseif (WQRateX%FirstProp%name == 'macondition') then + !DO NOTHING + + else + + ![g/s] = [g/m3] * [m3] / [s] + !WQRateX%Field(NodePos) = WQRateXTempField(NodePos) * CurrNode%VolumeNew & + ! / Me%Coupled%WQM%DT_Compute + where (Me%RiverPoints == WaterPoint) & + WQRateX%Field = WQRateX%Field * WaterVolume & + / Me%Coupled%MacroAlgae%DT_Compute + + endif + + + ! + !where (Me%ExternalVar%OpenPoints3D == WaterPoint) & + ! WqRateX%Field = WqRateX%Field * Me%ExternalVar%VolumeZ / & + ! Me%Coupled%MacroAlgae%DT_Compute + + end if + + WqRateX=>WqRateX%Next + + enddo + + deallocate(WaterVolume) + nullify(WqRateX) + + endif + + nullify(PropertyX) + + call UnGetLightExtinction(Me%ObjLightExtinction, ShortWaveExtinctionField, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ModifyMacroAlgae - ModuleDrainageNetwork - ERR06' + + end subroutine ModifyMacroAlgae + + !-------------------------------------------------------------------------- + + subroutine ComputeMacroAlgaeOccupation + + !Arguments------------------------------------------------------------- + + !Local----------------------------------------------------------------- + type (T_Property), pointer :: MacroAlgae + integer :: NodePos + type (T_Size1D) :: Size1D + + !Begin----------------------------------------------------------------- + + Size1D%ILB = 1 + !Size1D%IUB = Me%TotalReaches + Size1D%IUB = Me%TotalNodes + + call SetMatrixValue(Me%MacroAlgae%Occupation, Size1D, 0.) + + !Macroalgae + !call Search_Property(MacroAlgae, PropertyXID = MacroAlgae_, STAT = STAT_CALL) + !if (STAT_CALL /= SUCCESS_) stop 'ComputeMacroAlgaeOccupationAndDistribution - ModuleDrainageNetwork - ERR02' + ! + !call SetMatrixValue(MacroAlgae%Concentration, Size1D, 0.) + + + do NodePos = 1, Me%TotalNodes + + + if (Me%OpenPointsProcess (NodePos) == OpenPoint .and. Me%NodesDWZ(NodePos) .gt. 0.0) then + + if(Me%MacroAlgae%Height(NodePos) .ge. Me%NodesDWZ(NodePos)) then + + Me%MacroAlgae%Occupation(NodePos) = 1 + + else + + Me%MacroAlgae%Occupation(NodePos) = Me%MacroAlgae%Height(NodePos) / & + Me%NodesDWZ(NodePos) + + end if + + !!m2 = m3 / m + !AvrageArea = Me%Nodes(NodePos)%VolumeNew / Me%NodesDWZ(NodePos) + ! + !!gC/m3 = gC/m2 * m2 / m3 * m / m + !MacroAlgae%Concentration(NodePos) = Me%MacroAlgae%Distribution(NodePos) * & + ! AvrageArea / & + ! Me%Nodes(NodePos)%VolumeNew + + endif + + enddo + + nullify(MacroAlgae) + + + !end subroutine ComputeMacroAlgaeOccupationAndDistribution + end subroutine ComputeMacroAlgaeOccupation + + !-------------------------------------------------------------------------- + + + !subroutine IntegrateMacroAlgae(MacroAlgae) + ! + ! !Arguments------------------------------------------------------------- + ! type (T_Property), pointer :: MacroAlgae + ! + ! !Local----------------------------------------------------------------- + ! integer :: NodePos + ! real :: MacroAlgaeMass, AvrageArea + ! type (T_Size1D) :: Size1D + ! !Begin----------------------------------------------------------------- + ! + ! Size1D%ILB = 1 + ! !Size1D%IUB = Me%TotalReaches + ! Size1D%IUB = Me%TotalNodes + ! + ! call SetMatrixValue(Me%MacroAlgae%Distribution, Size1D, 0.) + ! + ! do NodePos = 1, Me%TotalNodes + ! + ! if (Me%OpenPointsProcess (NodePos) == OpenPoint .and. Me%NodesDWZ(NodePos) .gt. 0.0) then + ! + ! !gC = gC/m3 * m3 + ! MacroAlgaeMass = Me%Nodes(NodePos)%VolumeNew * & + ! max(MacroAlgae%MinValue, MacroAlgae%Concentration(NodePos)) + ! + ! !m2 = m3 / m + ! AvrageArea = Me%Nodes(NodePos)%VolumeNew / Me%NodesDWZ(NodePos) + ! + ! !gC/m2 = g / m2 + ! Me%MacroAlgae%Distribution(NodePos) = MacroAlgaeMass / AvrageArea + ! + ! + ! endif + ! + ! enddo + ! + !end subroutine IntegrateMacroAlgae + + !-------------------------------------------------------------------------- subroutine ComputeBottomFluxes @@ -16225,7 +17382,11 @@ subroutine KillDrainageNetwork(DrainageNetworkID, STAT) cd1 : if (ready_ .NE. OFF_ERR_) then IsFinalFile = .true. - call WriteFinalFile(IsFinalFile) + if (Me%OutPut%RestartFormat == BIN_) then + call WriteFinalFile_Bin(IsFinalFile) + else if (Me%OutPut%RestartFormat == HDF_) then + call WriteFinalFile_Hdf(IsFinalFile) + endif if (Me%ComputeOptions%MinConcentration) call WriteCreatedMassHDF @@ -16267,10 +17428,15 @@ subroutine KillDrainageNetwork(DrainageNetworkID, STAT) endif !Kill WaterQuality - if (Me%ComputeOptions%WaterQuality) then + if (Me%ComputeOptions%WaterQuality .or. Me%ComputeOptions%CeQualW2) then call KillInterface (Me%ObjInterface, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'KillDrainageNetwork - ModuleDrainageNetwork - ERR20' endif + + if (Me%ComputeOptions%MacroAlgae) then + call KillInterface (Me%ObjInterfaceMacroAlgae, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'KillDrainageNetwork - ModuleDrainageNetwork - ERR21' + endif Me%WQRatesNumber = FillValueInt if (Me%Output%Rates) then @@ -16284,6 +17450,9 @@ subroutine KillDrainageNetwork(DrainageNetworkID, STAT) !Kill Benthos if (Me%ComputeOptions%Benthos) then + + if (Me%UseSOD) deallocate(Me%SODRate) + call KillInterface (Me%ObjBenthicInterface, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'KillDrainageNetwork - ModuleDrainageNetwork - ERR30' endif @@ -16463,7 +17632,7 @@ end subroutine MaxStationValuesOutput !--------------------------------------------------------------------------- - subroutine WriteFinalFile(IsFinalFile) + subroutine WriteFinalFile_Bin(IsFinalFile) !Arguments-------------------------------------------------------------- logical :: IsFinalFile @@ -16525,9 +17694,230 @@ subroutine WriteFinalFile(IsFinalFile) if (STAT_CALL /= SUCCESS_) stop 'ModuleDrainageNetwork - WriteFinalFile - ERR04' - end subroutine WriteFinalFile + end subroutine WriteFinalFile_Bin !--------------------------------------------------------------------------- + + subroutine WriteFinalFile_Hdf(IsFinalFile) + + !Arguments------------------------------------------------------------- + logical :: IsFinalFile + !Local----------------------------------------------------------------- + integer :: STAT_CALL + !integer :: OutPutNumber + integer :: HDF5_CREATE + character(LEN = PathLength) :: FileName + integer :: ObjHDF5, iNode, ReachID + real, dimension(6), target :: AuxTime + real, dimension(:), pointer :: TimePtr + type (T_Time) :: Actual + real, dimension(:), pointer :: NodeX, NodeY, ReachSize + integer, dimension(:), pointer :: NodeID, ReachIDs + real, dimension(:), pointer :: WaterLevel, Flow + integer, dimension(:), pointer :: LastNIterations + integer, dimension(:), pointer :: UpNode, DownNode, ReachActive + type(T_Property), pointer :: Property + !Begin---------------------------------------------------------------- + + !Gets File Access Code + call GetHDF5FileAccess (HDF5_CREATE = HDF5_CREATE) + + !Checks if it's at the end of the run + !or !if it's supposed to overwrite the final HDF file + !if ((Me%ExtVar%Now == Me%ExtVar%EndTime) .or. Me%Output%RestartOverwrite) then + if (IsFinalFile .or. Me%Output%RestartOverwrite) then + + filename = trim(Me%Files%FinalFile) + + else + + FileName = ChangeSuffix(Me%Files%FinalFile, & + "_"//trim(TimeToString(Me%CurrentTime))//".fin") + + endif + + + ObjHDF5 = 0 + !Opens HDF5 File + call ConstructHDF5 (ObjHDF5, & + trim(filename), & + HDF5_CREATE, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'WriteFinalFile - ModuleDrainageNetwork - ERR10' + + Actual = Me%CurrentTime + + call ExtractDate (Actual, AuxTime(1), AuxTime(2), AuxTime(3), & + AuxTime(4), AuxTime(5), AuxTime(6)) + !Writes Time + TimePtr => AuxTime + call HDF5SetLimits (ObjHDF5, 1, 6, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR11' + + call HDF5WriteData (ObjHDF5, "/Time", "Time", "YYYY/MM/DD HH:MM:SS", & + Array1D = TimePtr, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR12' + + + allocate(NodeID(1: Me%TotalNodes)) + allocate(NodeX (1: Me%TotalNodes)) + allocate(NodeY (1: Me%TotalNodes)) + allocate(WaterLevel(1: Me%TotalNodes)) + + do iNode = 1, Me%TotalNodes + NodeID(iNode) = Me%Nodes(iNode)%ID + NodeX(iNode) = Me%Nodes(iNode)%X + NodeY(iNode) = Me%Nodes(iNode)%Y + WaterLevel(iNode) = Me%Nodes(iNode)%WaterLevel + enddo + + allocate(UpNode (1: Me%TotalReaches)) + allocate(DownNode (1: Me%TotalReaches)) + allocate(ReachIDs (1: Me%TotalReaches)) + allocate(ReachSize (1: Me%TotalReaches)) + allocate(Flow (1: Me%TotalReaches)) + allocate(ReachActive(1: Me%TotalReaches)) + + do ReachID = 1, Me%TotalReaches + ReachIDs (ReachID) = ReachID + UpNode (ReachID) = Me%Nodes(Me%Reaches(ReachID)%UpstreamNode)%ID + DownNode (ReachID) = Me%Nodes(Me%Reaches(ReachID)%DownstreamNode)%ID + ReachSize (ReachID) = Me%Nodes(Me%Reaches(ReachID)%UpstreamNode)%CrossSection%TopWidth + Flow (ReachID) = Me%Reaches(ReachID)%FlowNew + if (Me%Reaches(ReachID)%Active) then + ReachActive (ReachID) = 1 + else + ReachActive (ReachID) = 0 + endif + enddo + + + !Nodes + call HDF5SetLimits (ObjHDF5, 1, Me%TotalNodes, STAT = STAT_CALL) + + + + + call HDF5WriteData (ObjHDF5, "/Nodes", "ID", "m", & + Array1D = NodeID, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR020' + + call HDF5WriteData (ObjHDF5, "/Nodes", "X", "m", & + Array1D = NodeX, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR030' + + call HDF5WriteData (ObjHDF5, "/Nodes", "Y", "m", & + Array1D = NodeY, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR040' + + !Reaches + call HDF5SetLimits (ObjHDF5, 1, Me%TotalReaches, STAT = STAT_CALL) + + !This seems duplication but it is present in normal hdf + !Writes Reach ID + call HDF5WriteData (ObjHDF5, "/ID", "ReachID", & + "-", & + Array1D = ReachIDs, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR45' + + + !Reach - ID + call HDF5WriteData (ObjHDF5, "/Reaches", "ID", "-", & + Array1D = ReachIDs, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR050' + + !Reach - Up Node + call HDF5WriteData (ObjHDF5, "/Reaches", "Up", "-", & + Array1D = UpNode, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR060' + + !Reach - Down Node + call HDF5WriteData (ObjHDF5, "/Reaches", "Down", "-", & + Array1D = DownNode, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR070' + + !Reach - Size + call HDF5WriteData (ObjHDF5, "/Reaches", "Size", "-", & + Array1D = ReachSize, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR080' + + !Reach - Active + call HDF5WriteData (ObjHDF5, "/Reaches", "Active", "-", & + Array1D = ReachActive, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ConstructHDF5Output - ModuleDrainageNetwork - ERR085' + + !Nodes + call HDF5SetLimits (ObjHDF5, 1, Me%TotalNodes, STAT = STAT_CALL) + + call HDF5WriteData (HDF5ID = ObjHDF5, & + GroupName = "/Results/water level", & + Name = "water level", & + Units = "m", & + Array1D = WaterLevel, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR090' + + !Reaches + call HDF5SetLimits (ObjHDF5, 1, Me%TotalReaches, STAT = STAT_CALL) + + call HDF5WriteData (ObjHDF5, "/Results/flow", "flow", "m3/s", & + Array1D = Flow, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR0100' + + + !Nodes + call HDF5SetLimits (ObjHDF5, 1, Me%TotalNodes, STAT = STAT_CALL) + + !Properties + nullify (Property) + Property => Me%FirstProperty + do while (associated (Property)) + + call HDF5WriteData (ObjHDF5, "/Results/"//trim(Property%ID%Name), & + trim(Property%ID%Name), & + trim(Property%ID%Units), & + Array1D = Property%Concentration, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR0110' + + if (Property%ComputeOptions%BottomFluxes) then + call HDF5WriteData (ObjHDF5, "/Results/Bottom_"//trim(Property%ID%Name), & + "Bottom_"//trim(Property%ID%Name), & + trim(Property%ID%Units), & + Array1D = Property%BottomConc, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR0120' + endif + + Property => Property%Next + enddo + + allocate(LastNIterations(1 : 1)) + LastNIterations(1) = Me%CV%LastGoodNiteration + call HDF5SetLimits (ObjHDF5, 1, 1, STAT = STAT_CALL) + + call HDF5WriteData (ObjHDF5, "/Results/last good iteration", & + "last good iteration", "-", & + Array1D = LastNIterations, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR0130' + + deallocate(LastNIterations) + + + deallocate(NodeID, NodeX, NodeY) + deallocate(DownNode, UpNode, ReachIDs, ReachSize, ReachActive) + deallocate(WaterLevel, Flow) + + !Writes everything to disk + call HDF5FlushMemory (ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR140' + + + call KillHDF5 (ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleDrainageNetwork - ERR0190' + + end subroutine WriteFinalFile_Hdf + + !---------------------------------------------------------------------------- subroutine WriteCreatedMassHDF diff --git a/Software/MOHIDBase1/ModuleFunctions.F90 b/Software/MOHIDBase1/ModuleFunctions.F90 index f5e1639c6..31a20d96c 100644 --- a/Software/MOHIDBase1/ModuleFunctions.F90 +++ b/Software/MOHIDBase1/ModuleFunctions.F90 @@ -5194,7 +5194,7 @@ subroutine FillMatrix3D (ILB, IUB, JLB, JUB, KLB, KUB, ComputePoints3D, OutValue real, dimension(:,: ), pointer :: Value2D integer, dimension(:,: ), pointer :: Map2D - integer :: k, kfirst, klast + integer :: k, kfirst, klast, i, j !Begin----------------------------------------------------------------- @@ -5218,10 +5218,14 @@ subroutine FillMatrix3D (ILB, IUB, JLB, JUB, KLB, KUB, ComputePoints3D, OutValue !Search for the first layer with data d2: do k = KLB, KUB - if (OutValues3D(ILB, JLB, k) > FillValueReal/1e4) then + do j = JLB, JUB + do i = ILB, IUB + if (OutValues3D(i, j, k) > FillValueReal/1e4) then kfirst = k - exit + exit d2 endif + enddo + enddo enddo d2 !Extrapolate for the bottom layers @@ -5231,10 +5235,14 @@ subroutine FillMatrix3D (ILB, IUB, JLB, JUB, KLB, KUB, ComputePoints3D, OutValue !Search for the last layer with data d4: do k = KUB, KLB,-1 + do j = JLB, JUB + do i = ILB, IUB if (OutValues3D(ILB, JLB, k) > FillValueReal/1e4) then klast = k - exit + exit d4 endif + enddo + enddo enddo d4 !Extrapolate for the surface layers diff --git a/Software/MOHIDBase1/ModuleGlobalData.F90 b/Software/MOHIDBase1/ModuleGlobalData.F90 index de4c06ab9..d416fffda 100644 --- a/Software/MOHIDBase1/ModuleGlobalData.F90 +++ b/Software/MOHIDBase1/ModuleGlobalData.F90 @@ -377,6 +377,11 @@ Module ModuleGlobalData integer, parameter :: DiaNLim_ = 807 integer, parameter :: DiaPLim_ = 808 integer, parameter :: DiaSiLim_ = 809 + integer, parameter :: Excretion_ = 810 + integer, parameter :: Respiration_ = 811 + integer, parameter :: NaturalMort_ = 812 + integer, parameter :: Grazing_ = 813 + integer, parameter :: MACondition_ = 814 !Drifting macroalgae integer, parameter :: DriftingMacroAlgae_ = 850 @@ -794,6 +799,11 @@ Module ModuleGlobalData integer, parameter :: MA_SLimFact_ = 5 integer, parameter :: MA_NLimFact_ = 6 integer, parameter :: MA_PLimFact_ = 7 + integer, parameter :: MA_Excretion_ = 8 + integer, parameter :: MA_Respiration_ = 9 + integer, parameter :: MA_NaturalMort_ = 10 + integer, parameter :: MA_Grazing_ = 11 + integer, parameter :: MA_Condition_ = 12 integer, parameter :: ConsolidationFlux_ = 9000 @@ -1191,7 +1201,12 @@ Module ModuleGlobalData character(StringLength), private, parameter :: Char_TemperatureLim = 'temperaturelim' character(StringLength), private, parameter :: Char_SalinityLim = 'salinitylim' character(StringLength), private, parameter :: Char_NetProd = 'netprod' - + character(StringLength), private, parameter :: Char_Excretion = 'excretion' + character(StringLength), private, parameter :: Char_Respiration = 'respiration' + character(StringLength), private, parameter :: Char_NaturalMort = 'naturalmort' + character(StringLength), private, parameter :: Char_Grazing = 'grazing' + character(StringLength), private, parameter :: Char_MACondition = 'macondition' + character(StringLength), private, parameter :: Char_DiaGrossProd = 'diagrossprod' character(StringLength), private, parameter :: Char_DiaNutrientLim = 'dianutrientlim' character(StringLength), private, parameter :: Char_DiaLightLim = 'dialightlim' @@ -2771,6 +2786,11 @@ subroutine ConstructPropList call AddPropList (GenericProperty_, Char_GenericProperty, ListNumber) call AddPropList (GrossProd_, Char_GrossProd, ListNumber) call AddPropList (NetProd_, Char_NetProd, ListNumber) + call AddPropList (Excretion_, Char_Excretion, ListNumber) + call AddPropList (Respiration_, Char_Respiration, ListNumber) + call AddPropList (NaturalMort_, Char_NaturalMort, ListNumber) + call AddPropList (Grazing_, Char_Grazing, ListNumber) + call AddPropList (MACondition_, Char_MACondition, ListNumber) call AddPropList (NutrientLim_, Char_NutrientLim, ListNumber) call AddPropList (NLim_, Char_NLim, ListNumber) call AddPropList (PLim_, Char_PLim, ListNumber) diff --git a/Software/MOHIDBase1/ModuleInterface.F90 b/Software/MOHIDBase1/ModuleInterface.F90 index 5e4b341da..c748a99f5 100644 --- a/Software/MOHIDBase1/ModuleInterface.F90 +++ b/Software/MOHIDBase1/ModuleInterface.F90 @@ -119,6 +119,13 @@ Module ModuleInterface module procedure ConstructMapping_2D module procedure ConstructMapping_3D end interface ConstructMapping + + private :: SetSOD_1D + private :: SetSOD_2D + interface SetSOD + module procedure SetSOD_1D + module procedure SetSOD_2D + end interface SetSOD private :: Modify_Interface1D private :: Modify_Interface2D @@ -191,6 +198,8 @@ Module ModuleInterface real, dimension(:, :, :), pointer :: DWZ => null(), & ShearStress => null(), & SPMFlux => null() + real, dimension(: ), pointer :: ShearStress1D => null(), & + SPMFlux1D => null() real(8), dimension(:, :, :), pointer :: SedimCellVol => null() logical :: Vertical1D = .false. end type T_External @@ -929,6 +938,12 @@ subroutine AllocateVariables allocate(Me%Oxygen(ArrayLB:ArrayUB), STAT = STAT_CALL) if (STAT_CALL .NE. SUCCESS_)stop 'AllocateVariables - ModuleInterface - ERR70' + allocate(Me%SOD (ArrayLB:ArrayUB), STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_)stop 'AllocateVariables - ModuleInterface - ERR71' + + allocate(Me%CellArea1D(ArrayLB:ArrayUB), STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_)stop 'AllocateVariables - ModuleInterface - ERR75' + case (BenthicEcologyModel ) allocate(Me%WaterMassInKgIncrement(PropLB:PropUB, ArrayLB:ArrayUB), & @@ -3139,12 +3154,19 @@ subroutine GetRateFlux2D(InterfaceID, & if (STAT_CALL /= SUCCESS_) stop 'GetRateFlux2D - ModuleInterface - ERR01' - case (BenthicEcologyModel) + case (BenthicEcologyModel) call GetBenthicEcologyRateFlux(Me%ObjBenthicEcology, & nFirstProp, nSecondProp, & RateFlux, STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'GetRateFlux2D - ModuleInterface - ERR01.1' + + case (MacroAlgaeModel) + + call GetMacroAlgaeRateFlux(Me%ObjMacroAlgae, & + nFirstProp, nSecondProp, & + RateFlux, STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'GetRateFlux2D - ModuleInterface - ERR01.2' end select @@ -3169,6 +3191,11 @@ subroutine GetRateFlux2D(InterfaceID, & call UnGetBenthicEcologyRateFlux(Me%ObjBenthicEcology, RateFlux, STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'GetRateFlux2D - ModuleInterface - ERR02.2' + + case (MacroAlgaeModel) + + call UnGetMacroAlgaeRateFlux(Me%ObjMacroAlgae, RateFlux, STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'GetRateFlux2D - ModuleInterface - ERR09' end select @@ -3249,6 +3276,13 @@ subroutine GetRateFlux1D(InterfaceID, & nFirstProp, nSecondProp, & RateFlux, STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'GetRateFlux1D - ModuleInterface - ERR01' + + case (MacroAlgaeModel) + + call GetMacroAlgaeRateFlux(Me%ObjMacroAlgae, & + nFirstProp, nSecondProp, & + RateFlux, STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'GetRateFlux1D - ModuleInterface - ERR03' case(LifeModel) @@ -3290,6 +3324,11 @@ subroutine GetRateFlux1D(InterfaceID, & call UnGetBenthosRateFlux(Me%ObjBenthos, RateFlux, STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'GetRateFlux1D - ModuleInterface - ERR02' + case (MacroAlgaeModel) + + call UnGetMacroAlgaeRateFlux(Me%ObjMacroAlgae, RateFlux, STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'GetRateFlux1D - ModuleInterface - ERR09' + end select @@ -4130,8 +4169,7 @@ subroutine Modify_Interface2D(InterfaceID, PropertyID, Concentration, Me%Mass, & STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'Modify_Interface2D - ModuleInterface - ERR02' - - + case(BenthicEcologyModel) @@ -4255,10 +4293,11 @@ end subroutine Modify_Interface2D subroutine Modify_Interface1D(InterfaceID, PropertyID, Concentration, & RiverPoints1D, OpenPoints1D, DWZ, & ShortWaveAverage, ShortWaveTop, LightExtCoefField, & + ShearStress, SPMFlux, MacrOccupation, & WaterPercentage, DissolvedToParticulate1D, & SoilDryDensity, Salinity, pH, IonicStrength, & PhosphorusAdsortionIndex, WindVelocity, & - Oxygen1D, WaterVolume, & + Oxygen1D, WaterVolume, CellArea, & DTProp, STAT) !Arguments------------------------------------------------------------- @@ -4281,7 +4320,9 @@ subroutine Modify_Interface1D(InterfaceID, PropertyID, Concentration, real, optional, dimension(:), pointer :: DWZ real, optional, dimension(:), pointer :: Oxygen1D real(8), optional, dimension(:), pointer :: WaterVolume + real, optional, dimension(:), pointer :: CellArea real, optional, intent(IN) :: DTProp + real, optional, dimension(:), pointer :: MacrOccupation, ShearStress, SPMFlux integer, optional, intent(OUT) :: STAT !External-------------------------------------------------------------- @@ -4325,6 +4366,10 @@ subroutine Modify_Interface1D(InterfaceID, PropertyID, Concentration, if(present(Oxygen1D))then call UnfoldMatrix(Oxygen1D, Me%Oxygen) end if + + if(present(CellArea))then + call UnfoldMatrix(CellArea, Me%CellArea1D) + end if Me%ExternalVar%RiverPoints1D => RiverPoints1D @@ -4339,6 +4384,12 @@ subroutine Modify_Interface1D(InterfaceID, PropertyID, Concentration, Increment = OFF !If Increment is OFF then the sinks and sources module will be computed end if cd7 + if(present(ShearStress ))Me%ExternalVar%ShearStress1D => ShearStress + if(present(SPMFlux ))Me%ExternalVar%SPMFlux1D => SPMFlux + + if(present(MacrOccupation))then + call UnfoldMatrix(MacrOccupation, Me%MacrOccupation) + end if cd5 : if (.not. Increment) then @@ -4491,16 +4542,53 @@ subroutine Modify_Interface1D(InterfaceID, PropertyID, Concentration, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'Modify_Interface1D - ModuleInterface - ERR08' - case(BenthosModel) + case(MacroAlgaeModel) - call ModifyBenthos (Me%ObjBenthos, & - Me%Temperature, & - Me%Oxygen, & - Me%OpenPoints, & - Me%Mass, & - WaterVolume = WaterVolume, & - STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'Modify_Interface1D - ModuleInterface - ERR09' + call UnfoldMatrix(ShortWaveTop, Me%ShortWaveTop ) + call UnfoldMatrix(LightExtCoefField, Me%LightExtCoefField ) + call UnfoldMatrix(Me%ExternalVar%DWZ1D, Me%Thickness ) + call UnfoldMatrix(Me%ExternalVar%ShearStress1D, Me%ShearStress) + call UnfoldMatrix(Me%ExternalVar%SPMFlux1D, Me%SPMFlux ) + call UnfoldMatrix(MacrOccupation, Me%MacrOccupation ) + + call ModifyMacroAlgae(ObjMacroAlgaeID = Me%ObjMacroAlgae, & + Temperature = Me%Temperature, & + Salinity = Me%Salinity, & + OpenPoints = Me%OpenPoints, & + ShearStress = Me%ShearStress, & + SPMDepositionFlux = Me%SPMFlux, & + SWRadiation = Me%ShortWaveTop, & + SWLightExctintionCoef = Me%LightExtCoefField, & + Thickness = Me%Thickness, & + Occupation = Me%MacrOccupation, & + Mass = Me%Mass, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'Modify_Interface1D - ModuleInterface - ERR08.5' + + + case(BenthosModel) + + if (Me%UseSOD) then + call ModifyBenthos (Me%ObjBenthos, & + Me%Temperature, & + Me%Oxygen, & + Me%OpenPoints, & + Me%Mass, & + WaterVolume = WaterVolume, & + SODRate = Me%SOD, & + CellArea = Me%CellArea1D, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'Modify_Interface1D - ModuleInterface - ERR09' + else + call ModifyBenthos (Me%ObjBenthos, & + Me%Temperature, & + Me%Oxygen, & + Me%OpenPoints, & + Me%Mass, & + WaterVolume = WaterVolume, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'Modify_Interface1D - ModuleInterface - ERR09.5' + endif case(WWTPQModel) @@ -4701,7 +4789,7 @@ end subroutine SetSettlementOnInterface !-------------------------------------------------------------------------- - subroutine SetSOD (SOD, OpenPoints2D, WaterPoints2D ) + subroutine SetSOD_2D (SOD, OpenPoints2D, WaterPoints2D ) !Arguments------------------------------------------------------------- real , dimension(:,: ), pointer :: SOD @@ -4719,14 +4807,42 @@ subroutine SetSOD (SOD, OpenPoints2D, WaterPoints2D ) Me%ExternalVar%OpenPoints2D => OpenPoints2D Me%ExternalVar%WaterPoints2D => WaterPoints2D + !kg.m-2.day-1 call UnfoldMatrix(SOD, Me%SOD) !nullify (Me%ExternalVar%OpenPoints2D) !nullify (Me%ExternalVar%WaterPoints2D) - end subroutine SetSOD + end subroutine SetSOD_2D !-------------------------------------------------------------------------- + subroutine SetSOD_1D (SOD, OpenPoints1D, WaterPoints1D ) + + !Arguments------------------------------------------------------------- + real , dimension(: ), pointer :: SOD + integer, dimension(: ), pointer :: OpenPoints1D + integer, dimension(: ), pointer :: WaterPoints1D + + !External-------------------------------------------------------------- + + !Local----------------------------------------------------------------- + + !---------------------------------------------------------------------- + + Me%UseSOD = .true. + + Me%ExternalVar%OpenPoints1D => OpenPoints1D + Me%ExternalVar%RiverPoints1D => WaterPoints1D + + !kg.m2.day-1 + call UnfoldMatrix(SOD, Me%SOD) + + !nullify (Me%ExternalVar%OpenPoints1D) + !nullify (Me%ExternalVar%WaterPoints1D) + end subroutine SetSOD_1D + + !-------------------------------------------------------------------------- + subroutine FillMassTempSalinity3D(PropertyID, Concentration, Ready) !Arguments------------------------------------------------------------- @@ -5816,6 +5932,10 @@ subroutine FillMassTempSalinity2D(PropertyID, Concentration, Ready) case(BenthicEcologyModel) call GetBenthicEcologyPropIndex(Me%ObjBenthicEcology, PropertyID, IndexNumber, STAT = STAT_CALL) + + case(MacroAlgaeModel) + + call GetMacroAlgaePropIndex(Me%ObjMacroAlgae,PropertyID,IndexNumber,STAT=STAT_CALL) end select @@ -6630,6 +6750,40 @@ subroutine FillMassTempSalinity1D(PropertyID, Concentration, Ready) end do if (Ready) Me%AddedProperties = .FALSE. end if + + case(MacroAlgaeModel) + + call GetMacroAlgaePropIndex(Me%ObjMacroAlgae,PropertyID,IndexNumber,STAT=STAT_CALL) + if (STAT_CALL==SUCCESS_) then + call InputData(Concentration, IndexNumber) + Me%AddedProperties(IndexNumber) =.TRUE. + else if (STAT_CALL.NE.SUCCESS_ .AND. STAT_CALL.NE.NOT_FOUND_ERR_) then + stop 'FillMassTempSalinity1D - ModuleInterface - ERR06' + end if + + + if (PropertyID== Salinity_) then + call UnfoldMatrix(Concentration, Me%Salinity) + SalinityAdded =.TRUE. + end if + + if (PropertyID== Temperature_) then + call UnfoldMatrix(Concentration, Me%Temperature) + TemperatureAdded =.TRUE. + end if + + + if (SalinityAdded .AND. TemperatureAdded) then + Ready = .TRUE. + + do i = PropLB, PropUB + if (.NOT. Me%AddedProperties(i)) then + Ready = .FALSE. + exit + end if + end do + if (Ready) Me%AddedProperties = .FALSE. + end if case(BenthosModel) @@ -7685,7 +7839,8 @@ integer function PropertyIndexNumber(PropertyID) select case(PropertyID) !if it's not a property it can be a rate ID number - case(GrossProd_, NutrientLim_, NLim_, PLim_, LightLim_, TemperatureLim_, SalinityLim_) + case(GrossProd_, NutrientLim_, NLim_, PLim_, LightLim_, TemperatureLim_, SalinityLim_, & + Excretion_, Respiration_, NaturalMort_, Grazing_, MACondition_) nProperty = PropertyID diff --git a/Software/MOHIDBase1/ModuleMacroAlgae.F90 b/Software/MOHIDBase1/ModuleMacroAlgae.F90 index 049b7011e..c4b309c7a 100644 --- a/Software/MOHIDBase1/ModuleMacroAlgae.F90 +++ b/Software/MOHIDBase1/ModuleMacroAlgae.F90 @@ -206,6 +206,8 @@ Module ModuleMacroAlgae type T_ComputeOptions logical :: Nitrogen = .false. logical :: Phosphorus = .false. + logical :: OxygenReleaseInorganicAssimilation = .true. + logical :: OxygenEscapeAtSurface = .false. end type T_ComputeOptions type T_MacroAlgae @@ -492,6 +494,28 @@ subroutine ConstructGlobalVariables ClientModule = 'ModuleMacroAlgae', & STAT = STAT_CALL) if(STAT_CALL .NE. SUCCESS_) stop 'ConstructGlobalVariables - ModuleMacroAlgae - ERR04' + + !If the plant is not submeged (occupation = 1) do not put oxygen in water + !it will be lost to atmosphere + call GetData(Me%ComputeOptions%OxygenEscapeAtSurface, & + Me%ObjEnterData, iflag, & + SearchType = FromFile, & + keyword = 'OXYGEN_ESCAPE_SURFACE', & + Default = .false., & + ClientModule = 'ModuleMacroAlgae', & + STAT = STAT_CALL) + if(STAT_CALL .NE. SUCCESS_) stop 'ConstructGlobalVariables - ModuleMacroAlgae - ERR05' + + !Compute oxygen production related to inorganic elements assimilation (nitrate and phosphate) + !this does not show up in other models so leave as option + call GetData(Me%ComputeOptions%OxygenReleaseInorganicAssimilation, & + Me%ObjEnterData, iflag, & + SearchType = FromFile, & + keyword = 'OXYGEN_RELEASE_INORGANIC_ASSIMILATION', & + Default = .true., & + ClientModule = 'ModuleMacroAlgae', & + STAT = STAT_CALL) + if(STAT_CALL .NE. SUCCESS_) stop 'ConstructGlobalVariables - ModuleMacroAlgae - ERR06' end subroutine ConstructGlobalVariables @@ -941,7 +965,12 @@ subroutine ConstructRates !Salinity limiting factor for each macro algae type : +1 !Nitrogen limiting factor for each macro algae type : +1 !Phosphorus limiting factor for each macro algae type : +1 - nParameters = 7 + !respiration + !excretion + !natural mortality + !grazing + !zone + nParameters = 12 !Allocates with 2nd dimension size = 2 !if J = 1 Attached Macroalgae @@ -1195,6 +1224,26 @@ subroutine GetMacroAlgaeRateFlux(MacroAlgaeID, FirstProp, SecondProp, RateFlux, case(GrossProd_) RateFlux => Me%Parameters(:, SecondProp, MA_GrossFact_ ) + + case(Excretion_) + + RateFlux => Me%Parameters(:, SecondProp, MA_Excretion_ ) + + case(Respiration_) + + RateFlux => Me%Parameters(:, SecondProp, MA_Respiration_ ) + + case(NaturalMort_) + + RateFlux => Me%Parameters(:, SecondProp, MA_NaturalMort_ ) + + case(Grazing_) + + RateFlux => Me%Parameters(:, SecondProp, MA_Grazing_ ) + + case(MACondition_) + + RateFlux => Me%Parameters(:, SecondProp, MA_Condition_ ) case(TemperatureLim_) @@ -1509,6 +1558,9 @@ subroutine ComputeMacroAlgae(Parameters, Drifting, Index) end if end if + + !Save Zone + Me%Parameters(Index, MA, MA_Condition_) = Zone * 1.0 select case(Zone) @@ -1735,6 +1787,20 @@ subroutine ComputeMacroAlgae(Parameters, Drifting, Index) !Compute gross production Me%Parameters(Index, MA, MA_GrossFact_ ) = MacAlgGrossGrowRate * & MacroAlgaeMassOld * Me%DT + + !other algal rates + Me%Parameters(Index, MA, MA_Excretion_ ) = MacAlgExcretionRate * & + MacroAlgaeMassOld * Me%DT + + Me%Parameters(Index, MA, MA_Respiration_) = MacAlgRespirationRate * & + MacroAlgaeMassOld * Me%DT + + Me%Parameters(Index, MA, MA_NaturalMort_) = MacAlgNonGrazingMortalityRate * & + MacroAlgaeMassOld * Me%DT + + Me%Parameters(Index, MA, MA_Grazing_ ) = Parameters%GrazCons * & + MacroAlgaeMassOld * Me%DT + !Compute limiting factors Me%Parameters(Index, MA, MA_TLimFact_ ) = TempLimitingFactor * Me%DT Me%Parameters(Index, MA, MA_NLimFact_ ) = NitrogenLimitFactor * Me%DT @@ -1853,10 +1919,24 @@ subroutine ComputeMacroAlgae(Parameters, Drifting, Index) !what passes from oxygen to macroalgae Me%Matrix(Index, O2, MA) = OxygenRespRate * MacroAlgaeMassOld * Me%DTDay - + !what passes from macroalgae to oxygen - Me%Matrix(Index, MA, O2) = (PhotoOxygenProduction + IPOxygen + NitrateOxygen) * & - MacroAlgaeMassOld * Me%DTDay + !if plant is not submerged (occupation 1) then the macroalgae production will be lost + !to atmosphere (in case this option is connected) + if (Me%ExternalVar%Occupation(index) >= 1.0 .and. Me%ComputeOptions%OxygenEscapeAtSurface) then + Me%Matrix(Index, MA, O2) = 0.0 + else + !This nitrate and phophorus release to atmosphere by assimilation is not used in + !WaterQuality and CEQUAL models. is it correct? they will not transform oxygen in OH-? + if (Me%ComputeOptions%OxygenReleaseInorganicAssimilation) then + Me%Matrix(Index, MA, O2) = (PhotoOxygenProduction + IPOxygen + NitrateOxygen) * & + MacroAlgaeMassOld * Me%DTDay + else + Me%Matrix(Index, MA, O2) = (PhotoOxygenProduction) * & + MacroAlgaeMassOld * Me%DTDay + endif + endif + !oxygen mass balance Me%ExternalVar%Mass(O2,Index) = Me%ExternalVar%Mass(O2, Index) + & Me%Matrix(Index, MA, O2) - & diff --git a/Software/MOHIDBase1/ModuleTime.F90 b/Software/MOHIDBase1/ModuleTime.F90 index 9060b6f02..943f694a0 100644 --- a/Software/MOHIDBase1/ModuleTime.F90 +++ b/Software/MOHIDBase1/ModuleTime.F90 @@ -2188,7 +2188,11 @@ subroutine PrintProgress(TimeID, STAT) write(*, *)"-----CPU Time---------------------------------------------" write(*,110) int(ExecutionTime ) write(*,120) int(StillToRun ) - write(*,125) (ExecutionTime / (ExecutionTime + StillToRun))*100.0 + !this happens in MOHID River where executiontime and stilltorun are zero + !instead of this hack, the reason for it to happen should be fixed + if (ExecutionTime + StillToRun > 0.0) then + write(*,125) (ExecutionTime / (ExecutionTime + StillToRun))*100.0 + endif write(*,130) Coeficient if (Me%IterSinceLastPrint /= 0) then write(*,131)(ExecutionTime - Me%LastCpuTime) /Me%IterSinceLastPrint diff --git a/Software/MOHIDBase2/ModuleAtmosphere.F90 b/Software/MOHIDBase2/ModuleAtmosphere.F90 index 788b9726f..35a107bc2 100644 --- a/Software/MOHIDBase2/ModuleAtmosphere.F90 +++ b/Software/MOHIDBase2/ModuleAtmosphere.F90 @@ -1023,7 +1023,7 @@ subroutine ConstructPropertyList if (Me%OverrideWindVelStandard) then - call ConstructOverrideWindVel + call OverrideWindVel else !Verifies Wind consistence. Now is done by vectorial prop @@ -1137,7 +1137,7 @@ end subroutine ConstructPropertyList !-------------------------------------------------------------------------- - subroutine ConstructOverrideWindVel + subroutine OverrideWindVel !Local----------------------------------------------------------------- type (T_Property), pointer :: PropertyX => null() @@ -1148,27 +1148,50 @@ subroutine ConstructOverrideWindVel call SearchProperty(PropertyX, WindVelocityX_, .false., STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) then - stop 'ConstructOverrideWindVel - ModuleAtmosphere . ERR10' + stop 'OverrideWindVel - ModuleAtmosphere . ERR10' endif - - if (.not. PropertyX%Constant) then - stop 'ConstructOverrideWindVel - ModuleAtmosphere . ERR20' - endif call SearchProperty(PropertyY, WindVelocityY_, .false., STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) then - stop 'ConstructOverrideWindVel - ModuleAtmosphere . ERR30' - endif - - if (.not. PropertyY%Constant) then - stop 'ConstructOverrideWindVel - ModuleAtmosphere . ERR40' + stop 'OverrideWindVel - ModuleAtmosphere . ERR30' endif call SearchProperty(PropertyZ, WindVelocity_, .false., STAT = STAT_CALL) if (STAT_CALL == SUCCESS_) then - if (.not. PropertyZ%Constant) then - stop 'ConstructOverrideWindVel - ModuleAtmosphere . ERR50' + + if (PropertyX%ID%SolutionFromFile) then + + call ModifyFillMatrix (FillMatrixID = PropertyX%ID%ObjFillMatrix, & + Matrix2D = PropertyX%Field, & + PointsToFill2D = Me%ExternalVar%MappingPoints2D, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'OverrideWindVel - ModuleAtmosphere - ERR50' + + if (PropertyZ%UseToPredictDT) then + !From Wind X -> Wind + call GetFillMatrixDTPrediction (PropertyX%ID%ObjFillMatrix, PropertyZ%PredictedDT, & + PropertyZ%DTForNextEvent, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'OverrideWindVel - ModuleAtmosphere - ERR60' + endif + + endif + + if (PropertyY%ID%SolutionFromFile) then + + call ModifyFillMatrix (FillMatrixID = PropertyY%ID%ObjFillMatrix, & + Matrix2D = PropertyY%Field, & + PointsToFill2D = Me%ExternalVar%MappingPoints2D, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'OverrideWindVel - ModuleAtmosphere - ERR70' + + if (PropertyZ%UseToPredictDT) then + !From Wind Y -> Wind + call GetFillMatrixDTPrediction (PropertyY%ID%ObjFillMatrix, PropertyZ%PredictedDT, & + PropertyZ%DTForNextEvent, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'OverrideWindVel - ModuleAtmosphere - ERR80' + endif + endif PropertyZ%FieldX(:,:) = PropertyX%Field(:,:) @@ -1185,18 +1208,18 @@ subroutine ConstructOverrideWindVel RotateY = .true., & STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) then - stop 'ConstructOverrideWindVel - ModuleAtmosphere . ERR60' + stop 'OverrideWindVel - ModuleAtmosphere . ERR90' endif else write(*,*) 'Missing wind velocity property' - stop 'ConstructOverrideWindVel - ModuleAtmosphere . ERR70' + stop 'OverrideWindVel - ModuleAtmosphere . ERR100' endif nullify (PropertyX) nullify (PropertyY) nullify (PropertyZ) - end subroutine ConstructOverrideWindVel + end subroutine OverrideWindVel !-------------------------------------------------------------------------- @@ -2582,11 +2605,6 @@ subroutine ModifyAtmosphere(AtmosphereID, MappingPoints, STAT) call SearchProperty(PropertyX, WindDirection_, STAT = STAT_CALL) if (STAT_CALL == SUCCESS_) call ModifyWindDirection (PropertyX) - !call SearchProperty(PropertyX, WindVelocityX_, STAT = STAT_CALL) - !if (STAT_CALL == SUCCESS_)then - !call SearchProperty(PropertyY, WindVelocityY_, STAT = STAT_CALL) - !if (STAT_CALL == SUCCESS_) call ModifyWindVelocity (PropertyX, PropertyY) - !endif !Vectorial property call SearchProperty(PropertyX, WindVelocity_, STAT = STAT_CALL) if (STAT_CALL == SUCCESS_) call ModifyWindVelocity (PropertyX) @@ -3007,50 +3025,42 @@ subroutine ModifyWindVelocity(PropWindVelocity) !Begin----------------------------------------------------------------- integer :: STAT_CALL - if (PropWindVelocity%ID%SolutionFromFile) then - - call ModifyFillMatrixVectorial (FillMatrixID = PropWindVelocity%ID%ObjFillMatrix, & - Matrix2DU = PropWindVelocity%FieldU, & - Matrix2DV = PropWindVelocity%FieldV, & - Matrix2DX = PropWindVelocity%FieldX, & - Matrix2DY = PropWindVelocity%FieldY, & - PointsToFill2D = Me%ExternalVar%MappingPoints2D, & - STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'ModifyWindVelocity - ModuleAtmosphere - ERR01' + +iov: if (Me%OverrideWindVelStandard) then - if (PropWindVelocity%UseToPredictDT) then - call GetFillMatrixDTPrediction (PropWindVelocity%ID%ObjFillMatrix, PropWindVelocity%PredictedDT, & - PropWindVelocity%DTForNextEvent, STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'ModifyWindVelocity - ModuleAtmosphere - ERR02' - endif + call OverrideWindVel - !end if + else iov - !if (PropWindVelocityY%ID%SolutionFromFile) then - ! - ! call ModifyFillMatrix (FillMatrixID = PropWindVelocityY%ID%ObjFillMatrix, & - ! Matrix2D = PropWindVelocityY%Field, & - ! PointsToFill2D = Me%ExternalVar%MappingPoints2D, & - ! STAT = STAT_CALL) - ! if (STAT_CALL /= SUCCESS_) stop 'ModifyWindVelocity - ModuleAtmosphere - ERR03' - ! - ! if (PropWindVelocityY%UseToPredictDT) then - ! call GetFillMatrixDTPrediction (PropWindVelocityY%ID%ObjFillMatrix, PropWindVelocityY%PredictedDT, & - ! PropWindVelocityY%DTForNextEvent, STAT = STAT_CALL) - ! if (STAT_CALL /= SUCCESS_) stop 'ModifyWindVelocity - ModuleAtmosphere - ERR04' - ! endif - ! - !end if + if (PropWindVelocity%ID%SolutionFromFile) then + + call ModifyFillMatrixVectorial (FillMatrixID = PropWindVelocity%ID%ObjFillMatrix, & + Matrix2DU = PropWindVelocity%FieldU, & + Matrix2DV = PropWindVelocity%FieldV, & + Matrix2DX = PropWindVelocity%FieldX, & + Matrix2DY = PropWindVelocity%FieldY, & + PointsToFill2D = Me%ExternalVar%MappingPoints2D, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ModifyWindVelocity - ModuleAtmosphere - ERR01' + + + if (PropWindVelocity%UseToPredictDT) then + call GetFillMatrixDTPrediction (PropWindVelocity%ID%ObjFillMatrix, PropWindVelocity%PredictedDT, & + PropWindVelocity%DTForNextEvent, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ModifyWindVelocity - ModuleAtmosphere - ERR02' + endif - !Computes Wind Velocity from Modulus and Direction - elseif (.not. PropWindVelocity%Constant .and. & - .not. PropWindVelocity%ID%SolutionFromFile) then + !Computes Wind Velocity from Modulus and Direction + elseif (.not. PropWindVelocity%Constant .and. & + .not. PropWindVelocity%ID%SolutionFromFile) then - call ComputeWindVelocity (PropWindVelocity) + call ComputeWindVelocity (PropWindVelocity) - endif + endif + endif iov + end subroutine ModifyWindVelocity !-------------------------------------------------------------------------- diff --git a/Software/MOHIDBase2/ModuleHorizontalGrid.F90 b/Software/MOHIDBase2/ModuleHorizontalGrid.F90 index 030f26670..8bedd34c4 100644 --- a/Software/MOHIDBase2/ModuleHorizontalGrid.F90 +++ b/Software/MOHIDBase2/ModuleHorizontalGrid.F90 @@ -935,7 +935,7 @@ subroutine ConstructDDecomp STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) & call SetError(FATAL_, INTERNAL_, "ConstructDDecomp - Hydrodynamic - ERR10") - + ii: if (iflag == 0) then Me%DDecomp%Auto = .true. else ii @@ -953,10 +953,12 @@ subroutine ConstructDDecomp call SetError(FATAL_, INTERNAL_, "ConstructDDecomp - Hydrodynamic - ERR30") else iE + write(*,*) 'keyword D_DECOMP do not exit file =',trim(DDFile) + write(*,*) 'Automatic decomposition will be assumed' Me%DDecomp%Auto = .true. endif iE - endif ii + endif ii if (Me%DDecomp%MasterOrSlave) then @@ -1445,6 +1447,28 @@ subroutine AutomaticDDecomp() !Arguments------------------------------------------------------------ + !Local---------------------------------------------------------------- + !Begin---------------------------------------------------------------- + + + write(*,*) 'halo_points', Me%DDecomp%Halo_Points + + if (Me%DDecomp%Global%IUB > Me%DDecomp%Global%JUB) then + call AutomaticDDecompLines () + else + call AutomaticDDecompColumns() + endif + + + + end subroutine AutomaticDDecomp + + !End------------------------------------------------------------------ + + subroutine AutomaticDDecompLines() + + !Arguments------------------------------------------------------------ + !Local---------------------------------------------------------------- @@ -1455,62 +1479,124 @@ subroutine AutomaticDDecomp() !Begin---------------------------------------------------------------- - write(*,*) 'halo_points', Me%DDecomp%Halo_Points + !In automatic mode MOHID slices the domains along the matrix lines (ILB-IUB) + + Me%DDecomp%Mapping%JLB = Me%DDecomp%Global%JLB + Me%DDecomp%Mapping%JUB = Me%DDecomp%Global%JUB + + ILB = Me%DDecomp%Global%ILB + IUB = Me%DDecomp%Global%IUB + ND = Me%DDecomp%Nslaves + 1 + IDD = real (IUB - ILB + 1) / real(ND) + is = Me%DDecomp%Master_MPI_ID + + do i=1, Me%DDecomp%Nslaves + 1 + if (is + i - 1 == Me%DDecomp%MPI_ID) then + ilb_map = ILB + int(real(i-1)*IDD) + iub_map = ILB - 1 + int(real(i )*IDD) + exit + endif + enddo -iAuto: if (Me%DDecomp%Auto) then + Me%DDecomp%Mapping%ILB = ilb_map + Me%DDecomp%Mapping%IUB = iub_map + write(*,*) 'Limits ', Me%DDecomp%MPI_ID, iub_map, ilb_map - !In automatic mode MOHID slices the domains along the matrix lines (ILB-IUB) + Me%DDecomp%NInterfaces = Me%DDecomp%Nslaves - Me%DDecomp%Mapping%JLB = Me%DDecomp%Global%JLB - Me%DDecomp%Mapping%JUB = Me%DDecomp%Global%JUB - - ILB = Me%DDecomp%Global%ILB - IUB = Me%DDecomp%Global%IUB - ND = Me%DDecomp%Nslaves + 1 - IDD = real (IUB - ILB + 1) / real(ND) - is = Me%DDecomp%Master_MPI_ID + allocate(Me%DDecomp%Interfaces(Me%DDecomp%NInterfaces,3)) + + do i = 1, Me%DDecomp%NInterfaces + + iSouth = Me%DDecomp%Master_MPI_ID + i - 1 + iNorth = Me%DDecomp%Master_MPI_ID + i - do i=1, Me%DDecomp%Nslaves + 1 - if (is + i - 1 == Me%DDecomp%MPI_ID) then - ilb_map = ILB + int(real(i-1)*IDD) - iub_map = ILB - 1 + int(real(i )*IDD) - exit - endif - enddo + Me%DDecomp%Interfaces(i,1) = iSouth + Me%DDecomp%Interfaces(i,2) = iNorth + Me%DDecomp%Interfaces(i,3) = SouthNorth_ + write(*,*) 'Interface ', i, Me%DDecomp%Interfaces(i,1), Me%DDecomp%Interfaces(i,2) + + if (Me%DDecomp%MPI_ID == iSouth) then + Me%DDecomp%NeighbourNorth = iNorth + endif - Me%DDecomp%Mapping%ILB = ilb_map - Me%DDecomp%Mapping%IUB = iub_map - write(*,*) 'Limits ', Me%DDecomp%MPI_ID, iub_map, ilb_map + if (Me%DDecomp%MPI_ID == iNorth) then + Me%DDecomp%NeighbourSouth = iSouth + endif - Me%DDecomp%NInterfaces = Me%DDecomp%Nslaves + enddo - allocate(Me%DDecomp%Interfaces(Me%DDecomp%NInterfaces,3)) - - do i = 1, Me%DDecomp%NInterfaces + + end subroutine AutomaticDDecompLines + + !End------------------------------------------------------------------ + + + subroutine AutomaticDDecompColumns() + + !Arguments------------------------------------------------------------ - iSouth = Me%DDecomp%Master_MPI_ID + i - 1 - iNorth = Me%DDecomp%Master_MPI_ID + i - - Me%DDecomp%Interfaces(i,1) = iSouth - Me%DDecomp%Interfaces(i,2) = iNorth - Me%DDecomp%Interfaces(i,3) = SouthNorth_ - write(*,*) 'Interface ', i, Me%DDecomp%Interfaces(i,1), Me%DDecomp%Interfaces(i,2) + !Local---------------------------------------------------------------- - if (Me%DDecomp%MPI_ID == iSouth) then - Me%DDecomp%NeighbourNorth = iNorth - endif - - if (Me%DDecomp%MPI_ID == iNorth) then - Me%DDecomp%NeighbourSouth = iSouth - endif - - enddo - endif iAuto - - end subroutine AutomaticDDecomp + integer :: i, jWest, jEast + integer :: jub_map, jlb_map, JLB, JUB, ND, is + real :: IDD + + !Begin---------------------------------------------------------------- + + + !In automatic mode MOHID slices the domains along the matrix columns (JLB-JUB) + + Me%DDecomp%Mapping%ILB = Me%DDecomp%Global%ILB + Me%DDecomp%Mapping%IUB = Me%DDecomp%Global%IUB + + JLB = Me%DDecomp%Global%JLB + JUB = Me%DDecomp%Global%JUB + ND = Me%DDecomp%Nslaves + 1 + IDD = real (JUB - JLB + 1) / real(ND) + is = Me%DDecomp%Master_MPI_ID + + do i=1, Me%DDecomp%Nslaves + 1 + if (is + i - 1 == Me%DDecomp%MPI_ID) then + jlb_map = JLB + int(real(i-1)*IDD) + jub_map = JLB - 1 + int(real(i )*IDD) + exit + endif + enddo + + Me%DDecomp%Mapping%JLB = jlb_map + Me%DDecomp%Mapping%JUB = jub_map + write(*,*) 'Limits ', Me%DDecomp%MPI_ID, jub_map, jlb_map + + Me%DDecomp%NInterfaces = Me%DDecomp%Nslaves + + allocate(Me%DDecomp%Interfaces(Me%DDecomp%NInterfaces,3)) + + do i = 1, Me%DDecomp%NInterfaces + + jWest = Me%DDecomp%Master_MPI_ID + i - 1 + jEast = Me%DDecomp%Master_MPI_ID + i + + Me%DDecomp%Interfaces(i,1) = jWest + Me%DDecomp%Interfaces(i,2) = jEast + Me%DDecomp%Interfaces(i,3) = WestEast_ + write(*,*) 'Interface ', i, Me%DDecomp%Interfaces(i,1), Me%DDecomp%Interfaces(i,2) + + if (Me%DDecomp%MPI_ID == jWest) then + Me%DDecomp%NeighbourEast = jEast + endif + + if (Me%DDecomp%MPI_ID == jEast) then + Me%DDecomp%NeighbourWest = jWest + endif + + enddo + + + end subroutine AutomaticDDecompColumns - !End------------------------------------------------------------------ + !End------------------------------------ #endif _USE_MPI @@ -8546,7 +8632,8 @@ subroutine GetGridCoordType(HorizontalGridID, CoordType, ReadCartCorners, ProjTy !Arguments------------------------------------------------------------- integer :: HorizontalGridID integer, intent(OUT) :: CoordType - integer, optional, intent(OUT) :: ReadCartCorners, ProjType + logical, optional, intent(OUT) :: ReadCartCorners + integer, optional, intent(OUT) :: ProjType integer, optional, intent(OUT) :: STAT !Local----------------------------------------------------------------- diff --git a/Software/MOHIDLand/ModuleBasin.F90 b/Software/MOHIDLand/ModuleBasin.F90 index 7e7c370a4..db339a467 100644 --- a/Software/MOHIDLand/ModuleBasin.F90 +++ b/Software/MOHIDLand/ModuleBasin.F90 @@ -182,7 +182,7 @@ Module ModuleBasin private :: ConstructHDF5Output private :: ConstructEVTPHDFOutput private :: ConstructTimeSeries - private :: ReadInitialFile + !private :: ReadInitialFile !Selector @@ -208,7 +208,7 @@ Module ModuleBasin !Destructor public :: KillBasin private :: DeAllocateInstance - private :: WriteFinalFile + !private :: WriteFinalFile !Management private :: Ready @@ -239,6 +239,10 @@ Module ModuleBasin ! integer, parameter :: Layer_ = 2 integer, parameter :: DormantVegetation = 1 integer, parameter :: GrowingVegetation = 2 + + !Restart fiels format + integer, parameter :: BIN_ = 1 + integer, parameter :: HDF_ = 2 !Types--------------------------------------------------------------------- type T_OutPut @@ -250,6 +254,7 @@ Module ModuleBasin logical :: WriteRestartFile = .false. logical :: RestartOverwrite = .false. integer :: NextRestartOutput = 1 + integer :: RestartFormat = BIN_ end type T_OutPut type T_Coupling @@ -868,7 +873,11 @@ subroutine ConstructBasin(ObjBasinID, ObjTime, ModelName, StopOnBathymetryChange !Reads conditions from previous run if (Me%Continuous) then - call ReadInitialFile + if (Me%OutPut%RestartFormat == BIN_) then + call ReadInitialFile_Bin + else if (Me%OutPut%RestartFormat == HDF_) then + call ReadInitialFile_Hdf + endif endif !Closes Data File @@ -1520,6 +1529,21 @@ subroutine ReadDataFile STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'ReadDataFile - ModuleBasin - ERR340' + call GetData(Me%OutPut%RestartFormat, & + Me%ObjEnterData, & + iflag, & + SearchType = FromFile, & + keyword = 'RESTART_FILE_FORMAT', & + Default = BIN_, & + ClientModule = 'ModuleBasin', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ReadDataFile - ModuleBasin - ERR342' + if (Me%OutPut%RestartFormat /= BIN_ .and. Me%OutPut%RestartFormat /= HDF_) then + write (*,*) + write (*,*) 'RESTART_FILE_FORMAT options are: 1 - Binary or 2 - HDF' + stop 'ReadDataFile - ModuleBasin - ERR345' + endif + call GetData(Me%OutPut%RestartOverwrite, & Me%ObjEnterData, & iflag, & @@ -3800,7 +3824,7 @@ end subroutine AddProperty !-------------------------------------------------------------------------- - subroutine ReadInitialFile + subroutine ReadInitialFile_Bin !Arguments------------------------------------------------------------- @@ -3852,6 +3876,12 @@ subroutine ReadInitialFile read(InitialFile)Me%CanopyStorage Me%CanopyStorageOld = Me%CanopyStorage endif + + + if (Me%Coupled%SCSCNRunOffModel) then + read(InitialFile)Me%SCSCNRunOffModel%DailyAccRain + read(InitialFile)Me%SCSCNRunOffModel%Last5DaysAccRain + endif !Just reads the following values if the current run is not after a spin up period if (Me%StopOnWrongDate) then @@ -3868,10 +3898,230 @@ subroutine ReadInitialFile call UnitsManager(InitialFile, CLOSE_FILE, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'ReadInitialFile - ModuleBasin - ERR05' - end subroutine ReadInitialFile + end subroutine ReadInitialFile_Bin !-------------------------------------------------------------------------- + subroutine ReadInitialFile_Hdf() + + + !External-------------------------------------------------------------- + integer :: STAT_CALL + + !Local----------------------------------------------------------------- + logical :: EXIST + integer :: ILB, IUB, JLB, JUB + integer :: WorkILB, WorkIUB + integer :: WorkJLB, WorkJUB + integer :: ObjHDF5 + integer :: HDF5_READ + real(8), dimension(:), pointer :: AccErrorInVolume + type (T_Time) :: BeginTime, EndTimeFile, EndTime + real, dimension(:), pointer :: TimePointer + real :: DT_error + + !---------------------------------------------------------------------- + + ILB = Me%Size%ILB + IUB = Me%Size%IUB + JLB = Me%Size%JLB + JUB = Me%Size%JUB + + WorkILB = Me%WorkSize%ILB + WorkIUB = Me%WorkSize%IUB + WorkJLB = Me%WorkSize%JLB + WorkJUB = Me%WorkSize%JUB + + !---------------------------------------------------------------------- + + inquire (FILE=trim(Me%Files%InitialFile), EXIST = Exist) + +cd0: if (Exist) then + + !Gets File Access Code + call GetHDF5FileAccess (HDF5_READ = HDF5_READ) + + + ObjHDF5 = 0 + + !Opens HDF5 File + call ConstructHDF5 (ObjHDF5, & + trim(Me%Files%InitialFile), & + HDF5_READ, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR01' + + + !Get Time + call HDF5SetLimits (ObjHDF5, 1, 6, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR010' + + allocate(TimePointer(1:6)) + call HDF5ReadData (ObjHDF5, "/Time", & + "Time", & + Array1D = TimePointer, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR020' + + + call SetDate(EndTimeFile, TimePointer(1), TimePointer(2), & + TimePointer(3), TimePointer(4), & + TimePointer(5), TimePointer(6)) + + + call GetComputeTimeLimits(Me%ObjTime, BeginTime = BeginTime, EndTime = EndTime, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ReadInitialFile - ModuleBasin - ERR030' + + DT_error = EndTimeFile - BeginTime + + !Avoid rounding erros - Frank 08-2001 + !All runs are limited to second definition - David 10-2015 + !if (abs(DT_error) >= 0.01) then + if (abs(DT_error) >= 1) then + + write(*,*) 'The end time of the previous run is different from the start time of this run' + write(*,*) 'Date in the file' + write(*,*) TimePointer(1), TimePointer(2), TimePointer(3), TimePointer(4), TimePointer(5), TimePointer(6) + write(*,*) 'DT_error', DT_error + if (Me%StopOnWrongDate) stop 'ReadInitialFile - ModuleBasin - ERR040' + + endif + deallocate(TimePointer) + + call HDF5SetLimits (ObjHDF5, 1, 1, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleRunoff - ERR050' + + + if (Me%ComputeBasinWaterBalance) then + allocate(AccErrorInVolume(1:1)) + call HDF5ReadData (ObjHDF5, "/Results/acc error in volume", & + "acc error in volume", & + Array1D = AccErrorInVolume, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR060' + + Me%BWB%AccErrorInVolume = AccErrorInVolume(1) + deallocate(AccErrorInVolume) + endif + + + + ! Reads from HDF file the Property concentration and open boundary values + call HDF5SetLimits (ObjHDF5, WorkILB, WorkIUB, & + WorkJLB, WorkJUB, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR070' + + + ! read(InitialFile)Me%WaterLevel + if (Me%Coupled%Vegetation) then + call HDF5ReadData (ObjHDF5, "/Results/canopy storage", & + "canopy storage", & + Array2D = Me%CanopyStorage, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR080' + Me%CanopyStorageOld = Me%CanopyStorage + endif + + if (Me%Coupled%SCSCNRunOffModel) then + + call HDF5ReadData (ObjHDF5, "/Results/daily acc rain", & + "daily acc rain", & + Array2D = Me%SCSCNRunOffModel%DailyAccRain, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR081' + + !3D + call HDF5SetLimits (ObjHDF5, WorkILB, WorkIUB, & + WorkJLB, WorkJUB, & + 1, 5, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR082' + + call HDF5ReadData (ObjHDF5, "/Results/5d daily acc rain", & + "5d daily acc rain", & + Array3D = Me%SCSCNRunOffModel%Last5DaysAccRain, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR083' + + !Next are 2D + call HDF5SetLimits (ObjHDF5, WorkILB, WorkIUB, & + WorkJLB, WorkJUB, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR084' + + endif + + !Just reads the following values if the current run is not after a spin up period + if (Me%StopOnWrongDate) then + + call HDF5ReadData (ObjHDF5, "/Results/acc infiltration", & + "acc infiltration", & + Array2D = Me%AccInfiltration, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR090' + + call HDF5ReadData (ObjHDF5, "/Results/acc evtp", & + "acc evtp", & + Array2D = Me%AccEVTP, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR0100' + + call HDF5ReadData (ObjHDF5, "/Results/acc rainfall", & + "acc rainfall", & + Array2D = Me%AccRainFall, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR0110' + + call HDF5ReadData (ObjHDF5, "/Results/acc evp canopy", & + "acc evp canopy", & + Array2D = Me%AccEVPCanopy, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR0120' + + call HDF5ReadData (ObjHDF5, "/Results/acc flow production", & + "acc flow production", & + Array2D = Me%AccFlowProduction, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR0130' + endif + + + + + call KillHDF5 (ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleBasin - ERR0140' + + + + + else + + write(*,*) + stop 'ReadInitialFile - ModuleBasin - ERR0150' + + end if cd0 + + end subroutine ReadInitialFile_Hdf + + !-------------------------------------------------------------------------- + !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -4134,7 +4384,11 @@ subroutine ModifyBasin(ObjBasinID, NewDT, STAT) if (Me%Output%WriteRestartFile .and. .not. (Me%CurrentTime == Me%EndTime)) then if(Me%CurrentTime >= Me%OutPut%RestartOutTime(Me%OutPut%NextRestartOutput))then IsFinalFile = .false. - call WriteFinalFile(IsFinalFile) + if (Me%OutPut%RestartFormat == BIN_) then + call WriteFinalFile_Bin(IsFinalFile) + else if (Me%OutPut%RestartFormat == HDF_) then + call WriteFinalFile_Hdf(IsFinalFile) + endif Me%OutPut%NextRestartOutput = Me%OutPut%NextRestartOutput + 1 endif @@ -9987,7 +10241,11 @@ subroutine KillBasin(ObjBasinID, STAT) !Writes file with final condition IsFinalFile = .true. - call WriteFinalFile(IsFinalFile) + if (Me%OutPut%RestartFormat == BIN_) then + call WriteFinalFile_Bin(IsFinalFile) + else if (Me%OutPut%RestartFormat == HDF_) then + call WriteFinalFile_Hdf(IsFinalFile) + endif nUsers = DeassociateInstance(mTIME_, Me%ObjTime) if (nUsers == 0) stop 'KillBasin - ModuleBasin - ERR010' @@ -10178,7 +10436,7 @@ end subroutine KillBasin !---------------------------------------------------------------------------- - subroutine WriteFinalFile(IsFinalFile) + subroutine WriteFinalFile_Bin(IsFinalFile) !Arguments------------------------------------------------------------- logical :: IsFinalFile @@ -10224,6 +10482,12 @@ subroutine WriteFinalFile(IsFinalFile) write(FinalFile)Me%CanopyStorage endif + if (Me%Coupled%SCSCNRunOffModel) then + write(FinalFile)Me%SCSCNRunOffModel%DailyAccRain + write(FinalFile)Me%SCSCNRunOffModel%Last5DaysAccRain + endif + + write(FinalFile)Me%AccInfiltration write(FinalFile)Me%AccEVTP write(FinalFile)Me%AccRainFall @@ -10234,10 +10498,238 @@ subroutine WriteFinalFile(IsFinalFile) call UnitsManager(FinalFile, CLOSE_FILE, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR03' - end subroutine WriteFinalFile + end subroutine WriteFinalFile_Bin !------------------------------------------------------------------------ + subroutine WriteFinalFile_Hdf(IsFinalFile) + + !Arguments------------------------------------------------------------- + logical :: IsFinalFile + !Local----------------------------------------------------------------- + integer :: STAT_CALL + !integer :: OutPutNumber + integer :: HDF5_CREATE + character(LEN = PathLength) :: FileName + integer :: ObjHDF5 + real, dimension(6), target :: AuxTime + real, dimension(:), pointer :: TimePtr + type (T_Time) :: Actual + real(8), dimension(:), pointer :: AccErrorInVolume + !Begin---------------------------------------------------------------- + + !Gets a pointer to Topography + call GetGridData (Me%ObjGridData, Me%ExtVar%Topography, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR00' + + call GetBasinPoints (Me%ObjBasinGeometry, Me%ExtVar%BasinPoints, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR01' + + !Gets File Access Code + call GetHDF5FileAccess (HDF5_CREATE = HDF5_CREATE) + + !Checks if it's at the end of the run + !or !if it's supposed to overwrite the final HDF file + !if ((Me%ExtVar%Now == Me%ExtVar%EndTime) .or. Me%Output%RestartOverwrite) then + if (IsFinalFile .or. Me%Output%RestartOverwrite) then + + filename = trim(Me%Files%FinalFile) + + else + + FileName = ChangeSuffix(Me%Files%FinalFile, & + "_"//trim(TimeToString(Me%CurrentTime))//".fin") + + endif + + + ObjHDF5 = 0 + !Opens HDF5 File + call ConstructHDF5 (ObjHDF5, & + trim(filename), & + HDF5_CREATE, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'WriteFinalFile - ModuleBasin - ERR10' + + Actual = Me%CurrentTime + + call ExtractDate (Actual, AuxTime(1), AuxTime(2), AuxTime(3), & + AuxTime(4), AuxTime(5), AuxTime(6)) + !Writes Time + TimePtr => AuxTime + call HDF5SetLimits (ObjHDF5, 1, 6, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR10' + + call HDF5WriteData (ObjHDF5, "/Time", "Time", "YYYY/MM/DD HH:MM:SS", & + Array1D = TimePtr, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR20' + + + !Sets limits for next write operations + call HDF5SetLimits (ObjHDF5, & + Me%WorkSize%ILB, & + Me%WorkSize%IUB, & + Me%WorkSize%JLB, & + Me%WorkSize%JUB, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR30' + + !Write the Horizontal Grid + call WriteHorizontalGrid(Me%ObjHorizontalGrid, ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR40' + + !Writes the Grid + call HDF5WriteData (ObjHDF5, "/Grid", "Topography", "m", & + Array2D = Me%ExtVar%Topography, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR50' + + !WriteBasinPoints + call HDF5WriteData (ObjHDF5, "/Grid", "BasinPoints", "-", & + Array2D = Me%ExtVar%BasinPoints, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR60' + + + + call HDF5SetLimits (ObjHDF5, 1, 1, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR70' + + + !Writes AccErrorInVolume from the Basin Water Balance + if (Me%ComputeBasinWaterBalance) then + allocate(AccErrorInVolume(1:1)) + AccErrorInVolume(1) = Me%BWB%AccErrorInVolume + call HDF5WriteData (ObjHDF5, & + "/Results/acc error in volume", & + "acc error in volume", & + "m3", & + Array1D = AccErrorInVolume, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR80' + deallocate(AccErrorInVolume) + endif + + + call HDF5SetLimits (ObjHDF5, & + Me%WorkSize%ILB, & + Me%WorkSize%IUB, & + Me%WorkSize%JLB, & + Me%WorkSize%JUB, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR90' + +! write(FinalFile)Me%WaterLevel + if (Me%Coupled%Vegetation) then + call HDF5WriteData (ObjHDF5, & + "/Results/canopy storage", & + "canopy storage", & + "m", & + Array2D = Me%CanopyStorage, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR100' + endif + + + if (Me%Coupled%SCSCNRunOffModel) then + + call HDF5WriteData (ObjHDF5, "/Results/daily acc rain", & + "daily acc rain", & + "mm", & + Array2D = Me%SCSCNRunOffModel%DailyAccRain, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'WriteFinalFile - ModuleBasin - ERR101' + + !3D + call HDF5SetLimits (ObjHDF5, & + Me%WorkSize%ILB, & + Me%WorkSize%IUB, & + Me%WorkSize%JLB, & + Me%WorkSize%JUB, & + 1, 5, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR102' + + call HDF5WriteData (ObjHDF5, "/Results/5d daily acc rain", & + "5d daily acc rain", & + "mm", & + Array3D = Me%SCSCNRunOffModel%Last5DaysAccRain, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'WriteFinalFile - ModuleBasin - ERR103' + + !next are 2D + call HDF5SetLimits (ObjHDF5, & + Me%WorkSize%ILB, & + Me%WorkSize%IUB, & + Me%WorkSize%JLB, & + Me%WorkSize%JUB, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR104' + + endif + + call HDF5WriteData (ObjHDF5, & + "/Results/acc infiltration", & + "acc infiltration", & + "m", & + Array2D = Me%AccInfiltration, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR110' + + call HDF5WriteData (ObjHDF5, & + "/Results/acc evtp", & + "acc evtp", & + "m", & + Array2D = Me%AccEVTP, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR120' + + call HDF5WriteData (ObjHDF5, & + "/Results/acc rainfall", & + "acc rainfall", & + "m", & + Array2D = Me%AccRainFall, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR130' + + call HDF5WriteData (ObjHDF5, & + "/Results/acc evp canopy", & + "acc evp canopy", & + "m", & + Array2D = Me%AccEVPCanopy, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR140' + + call HDF5WriteData (ObjHDF5, & + "/Results/acc flow production", & + "acc flow production", & + "m", & + Array2D = Me%AccFlowProduction, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR150' + + + + + !Writes everything to disk + call HDF5FlushMemory (ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR160' + + !Unget + call UnGetBasin (Me%ObjBasinGeometry, Me%ExtVar%BasinPoints, STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR170' + + !UnGets Topography + call UnGetGridData (Me%ObjGridData, Me%ExtVar%Topography, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR180' + + call KillHDF5 (ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR0190' + + end subroutine WriteFinalFile_Hdf + + !---------------------------------------------------------------------------- + subroutine DeallocateInstance () !Arguments------------------------------------------------------------- diff --git a/Software/MOHIDLand/ModulePorousMedia.F90 b/Software/MOHIDLand/ModulePorousMedia.F90 index dc287f803..8b44cfb3d 100644 --- a/Software/MOHIDLand/ModulePorousMedia.F90 +++ b/Software/MOHIDLand/ModulePorousMedia.F90 @@ -130,7 +130,7 @@ Module ModulePorousMedia private :: AllocateVariables private :: ReadSoilTypes private :: InitialFields - private :: ReadInitialFile + !private :: ReadInitialFile private :: ConstructHDF5Output private :: ConstructTimeSerie @@ -202,7 +202,7 @@ Module ModulePorousMedia !Destructor public :: KillPorousMedia private :: DeAllocateInstance - private :: WriteFinalFile + !private :: WriteFinalFile !Management private :: Ready @@ -270,6 +270,10 @@ Module ModulePorousMedia !GW Flow by Cell - Area method integer, parameter :: GWFlowAreaWetPerimeter_ = 1 integer, parameter :: GWFlowAreaWetPerimeterAndAquifer_ = 2 + + !Restart fiels format + integer, parameter :: BIN_ = 1 + integer, parameter :: HDF_ = 2 !Types--------------------------------------------------------------------- type T_OutPut @@ -286,6 +290,7 @@ Module ModulePorousMedia logical :: BoxFluxes = .false. integer :: NextRestartOutput = 1 integer :: NextSurfaceOutput = 1 + integer :: RestartFormat = BIN_ end type T_OutPut type T_IntegrationByHorizon @@ -812,7 +817,11 @@ subroutine ConstructPorousMedia(ModelName, & endif if (Me%SoilOpt%Continuous) then - call ReadInitialFile + if (Me%OutPut%RestartFormat == BIN_) then + call ReadInitialFile_Bin + else if (Me%OutPut%RestartFormat == HDF_) then + call ReadInitialFile_Hdf + endif endif !Calculates initial Theta @@ -1225,8 +1234,23 @@ subroutine ReadDataFile OutPutsTime = Me%OutPut%RestartOutTime, & OutPutsOn = Me%OutPut%WriteRestartFile, & STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'ReadDataFile - ModuleBasin - ERR170' + if (STAT_CALL /= SUCCESS_) stop 'ReadDataFile - ModulePorousMedia - ERR170' + call GetData(Me%OutPut%RestartFormat, & + Me%ObjEnterData, & + iflag, & + SearchType = FromFile, & + keyword = 'RESTART_FILE_FORMAT', & + Default = BIN_, & + ClientModule = 'ModulePorousMedia', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ReadDataFile - ModulePorousMedia - ERR172' + if (Me%OutPut%RestartFormat /= BIN_ .and. Me%OutPut%RestartFormat /= HDF_) then + write (*,*) + write (*,*) 'RESTART_FILE_FORMAT options are: 1 - Binary or 2 - HDF' + stop 'ReadDataFile - ModulePorousMedia - ERR175' + endif + call GetData(Me%OutPut%RestartOverwrite, & Me%ObjEnterData, & iflag, & @@ -1952,7 +1976,7 @@ end function CountDomainPoints !------------------------------------------------------------------------- - subroutine ReadInitialFile + subroutine ReadInitialFile_Bin !Arguments------------------------------------------------------------- @@ -2001,9 +2025,133 @@ subroutine ReadInitialFile if (STAT_CALL /= SUCCESS_) stop 'ReadInitialFileOld - ModulePorousMedia - ERR05' - end subroutine ReadInitialFile + end subroutine ReadInitialFile_Bin !-------------------------------------------------------------------------- + + subroutine ReadInitialFile_Hdf() + + + !External-------------------------------------------------------------- + integer :: STAT_CALL + + !Local----------------------------------------------------------------- + logical :: EXIST + integer :: ILB, IUB, JLB, JUB + integer :: WorkILB, WorkIUB + integer :: WorkJLB, WorkJUB + integer :: WorkKLB, WorkKUB + integer :: ObjHDF5 + integer :: HDF5_READ + type (T_Time) :: BeginTime, EndTimeFile, EndTime + real, dimension(:), pointer :: TimePointer + real :: DT_error + + !---------------------------------------------------------------------- + + ILB = Me%Size%ILB + IUB = Me%Size%IUB + JLB = Me%Size%JLB + JUB = Me%Size%JUB + + WorkILB = Me%WorkSize%ILB + WorkIUB = Me%WorkSize%IUB + WorkJLB = Me%WorkSize%JLB + WorkJUB = Me%WorkSize%JUB + WorkKLB = Me%WorkSize%KLB + WorkKUB = Me%WorkSize%KUB + + !---------------------------------------------------------------------- + + inquire (FILE=trim(Me%Files%InitialFile), EXIST = Exist) + +cd0: if (Exist) then + + !Gets File Access Code + call GetHDF5FileAccess (HDF5_READ = HDF5_READ) + + + ObjHDF5 = 0 + + !Opens HDF5 File + call ConstructHDF5 (ObjHDF5, & + trim(Me%Files%InitialFile), & + HDF5_READ, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModulePorousMedia - ERR01' + + + !Get Time + call HDF5SetLimits (ObjHDF5, 1, 6, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModulePorousMedia - ERR010' + + allocate(TimePointer(1:6)) + call HDF5ReadData (ObjHDF5, "/Time", & + "Time", & + Array1D = TimePointer, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModulePorousMedia - ERR020' + + + call SetDate(EndTimeFile, TimePointer(1), TimePointer(2), & + TimePointer(3), TimePointer(4), & + TimePointer(5), TimePointer(6)) + + + call GetComputeTimeLimits(Me%ObjTime, BeginTime = BeginTime, EndTime = EndTime, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ReadInitialFile - ModulePorousMedia - ERR030' + + DT_error = EndTimeFile - BeginTime + + !Avoid rounding erros - Frank 08-2001 + !All runs are limited to second definition - David 10-2015 + !if (abs(DT_error) >= 0.01) then + if (abs(DT_error) >= 1) then + + write(*,*) 'The end time of the previous run is different from the start time of this run' + write(*,*) 'Date in the file' + write(*,*) TimePointer(1), TimePointer(2), TimePointer(3), TimePointer(4), TimePointer(5), TimePointer(6) + write(*,*) 'DT_error', DT_error + if (Me%SoilOpt%StopOnWrongDate) stop 'ReadInitialFile - ModulePorousMedia - ERR040' + + endif + deallocate(TimePointer) + + ! Reads from HDF file the Property concentration and open boundary values + call HDF5SetLimits (ObjHDF5, WorkILB, WorkIUB, & + WorkJLB, WorkJUB, & + WorkKLB, WorkKUB, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModulePorousMedia - ERR050' + + call HDF5ReadData (ObjHDF5, "/Results/water content", & + "water content", & + Array3D = GetPointer(Me%Theta), & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModulePorousMedia - ERR060' + + + + call KillHDF5 (ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModulePorousMedia - ERR070' + + + + else + + write(*,*) + stop 'ReadInitialFile - ModulePorousMedia - ERR080' + + end if cd0 + + end subroutine ReadInitialFile_Hdf + + !-------------------------------------------------------------------------- subroutine ConstructBottomTopography @@ -6226,7 +6374,11 @@ subroutine ModifyPorousMedia(ObjPorousMediaID, & if (Me%Output%WriteRestartFile .and. .not. (Me%ExtVar%Now == Me%EndTime)) then if(Me%ExtVar%Now >= Me%OutPut%RestartOutTime(Me%OutPut%NextRestartOutput))then IsFinalFile = .false. - call WriteFinalFile(IsFinalFile) + if (Me%OutPut%RestartFormat == BIN_) then + call WriteFinalFile_Bin(IsFinalFile) + else if (Me%OutPut%RestartFormat == HDF_) then + call WriteFinalFile_Hdf(IsFinalFile) + endif Me%OutPut%NextRestartOutput = Me%OutPut%NextRestartOutput + 1 endif endif @@ -11235,7 +11387,11 @@ subroutine KillPorousMedia(ObjPorousMediaID, STAT) !Write Output for continuous computation IsFinalFile = .true. - call WriteFinalFile(IsFinalFile) + if (Me%OutPut%RestartFormat == BIN_) then + call WriteFinalFile_Bin(IsFinalFile) + else if (Me%OutPut%RestartFormat == HDF_) then + call WriteFinalFile_Hdf(IsFinalFile) + endif !Kills the TimeSerie if (Me%ObjTimeSerie /= 0) then @@ -11334,7 +11490,7 @@ end subroutine KillPorousMedia !-------------------------------------------------------------------------- - subroutine WriteFinalFile(IsFinalFile) + subroutine WriteFinalFile_Bin(IsFinalFile) !Arguments------------------------------------------------------------- logical :: IsFinalFile @@ -11372,9 +11528,190 @@ subroutine WriteFinalFile(IsFinalFile) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFileOld - ModulePorousMedia - ERR03' - end subroutine WriteFinalFile + end subroutine WriteFinalFile_Bin + + !------------------------------------------------------------------------ + + subroutine WriteFinalFile_Hdf(IsFinalFile) + + !Arguments------------------------------------------------------------- + logical :: IsFinalFile + !Local----------------------------------------------------------------- + integer :: STAT_CALL + !integer :: OutPutNumber + integer :: HDF5_CREATE + character(LEN = PathLength) :: FileName + integer :: ObjHDF5 + real, dimension(6), target :: AuxTime + real, dimension(:), pointer :: TimePtr + type (T_Time) :: Actual + !Begin---------------------------------------------------------------- + + !Gets a pointer to Topography + call GetGridData (Me%ObjTopography, Me%ExtVar%Topography, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR00' + + call GetBasinPoints (Me%ObjBasinGeometry, Me%ExtVar%BasinPoints, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR01' + + call GetGeometryDistances (Me%ObjGeometry, & + SZZ = Me%ExtVar%SZZ, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR02' + + !OpenPoints3D + call GetOpenPoints3D (Me%ObjMap, Me%ExtVar%OpenPoints3D, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR03' + + call GetWaterPoints3D (Me%ObjMap, Me%ExtVar%WaterPoints3D, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR04' + + !Gets File Access Code + call GetHDF5FileAccess (HDF5_CREATE = HDF5_CREATE) + + !Checks if it's at the end of the run + !or !if it's supposed to overwrite the final HDF file + !if ((Me%ExtVar%Now == Me%ExtVar%EndTime) .or. Me%Output%RestartOverwrite) then + if (IsFinalFile .or. Me%Output%RestartOverwrite) then + + filename = trim(Me%Files%FinalFile) + + else + + FileName = ChangeSuffix(Me%Files%FinalFile, & + "_"//trim(TimeToString(Me%ExtVar%Now))//".fin") + + endif + + + ObjHDF5 = 0 + !Opens HDF5 File + call ConstructHDF5 (ObjHDF5, & + trim(filename), & + HDF5_CREATE, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'WriteFinalFile - ModuleRunoff - ERR10' + + Actual = Me%ExtVar%Now + + call ExtractDate (Actual, AuxTime(1), AuxTime(2), AuxTime(3), & + AuxTime(4), AuxTime(5), AuxTime(6)) + !Writes Time + TimePtr => AuxTime + call HDF5SetLimits (ObjHDF5, 1, 6, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR11' + + call HDF5WriteData (ObjHDF5, "/Time", "Time", "YYYY/MM/DD HH:MM:SS", & + Array1D = TimePtr, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR12' + + + !Limits + call HDF5SetLimits (ObjHDF5, & + Me%WorkSize%ILB, & + Me%WorkSize%IUB, & + Me%WorkSize%JLB, & + Me%WorkSize%JUB, & + Me%WorkSize%KLB-1, & + Me%WorkSize%KUB, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR20' + + !Vertical + call HDF5WriteData ( ObjHDF5, "/Grid/VerticalZ", & + "Vertical", "m", & + Array3D = Me%ExtVar%SZZ, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR30' + + + !Sets limits for next write operations + call HDF5SetLimits (ObjHDF5, & + Me%WorkSize%ILB, & + Me%WorkSize%IUB, & + Me%WorkSize%JLB, & + Me%WorkSize%JUB, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR40' + + !Write the Horizontal Grid + call WriteHorizontalGrid(Me%ObjHorizontalGrid, ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR50' + + !Writes the Grid + call HDF5WriteData (ObjHDF5, "/Grid", "Topography", "m", & + Array2D = Me%ExtVar%Topography, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR60' + + !WriteBasinPoints + call HDF5WriteData (ObjHDF5, "/Grid", "BasinPoints", "-", & + Array2D = Me%ExtVar%BasinPoints, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR70' + + + + call HDF5SetLimits (ObjHDF5, & + Me%WorkSize%ILB, & + Me%WorkSize%IUB, & + Me%WorkSize%JLB, & + Me%WorkSize%JUB, & + Me%WorkSize%KLB, & + Me%WorkSize%KUB, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR80' + + + !Writes the Open Points + call HDF5WriteData (ObjHDF5, "/Grid/OpenPoints", & + "OpenPoints", "-", & + Array3D = Me%ExtVar%OpenPoints3D, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaproperties - ERR85' + + + call HDF5WriteData (ObjHDF5, "/Grid", "WaterPoints3D", "-", & + Array3D = Me%ExtVar%WaterPoints3D, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR86' + + + call HDF5WriteData (ObjHDF5, & + "/Results/water content", & + "water content", & + "-", & + Array3D = GetPointer(Me%Theta), & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR90' + + + + !Writes everything to disk + call HDF5FlushMemory (ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR0100' + + + call UnGetMap (Me%ObjMap, Me%ExtVar%WaterPoints3D, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR102' + + call UnGetMap (Me%ObjMap, Me%ExtVar%OpenPoints3D, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR110' + + call UnGetGeometry (Me%ObjGeometry, Me%ExtVar%SZZ, STAT = STAT_CALL ) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR120' + + !Unget + call UnGetBasin (Me%ObjBasinGeometry, Me%ExtVar%BasinPoints, STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR130' + + !UnGets Topography + call UnGetGridData (Me%ObjTopography, Me%ExtVar%Topography, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR140' + + call KillHDF5 (ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMedia - ERR0150' + + end subroutine WriteFinalFile_Hdf - !------------------------------------------------------------------------ + !---------------------------------------------------------------------------- subroutine DeallocateInstance () diff --git a/Software/MOHIDLand/ModulePorousMediaProperties.F90 b/Software/MOHIDLand/ModulePorousMediaProperties.F90 index d0b8efb3f..e264344b9 100644 --- a/Software/MOHIDLand/ModulePorousMediaProperties.F90 +++ b/Software/MOHIDLand/ModulePorousMediaProperties.F90 @@ -327,8 +327,9 @@ Module ModulePorousMediaProperties logical :: ComputeVegInterfaceFluxes = .false. logical, dimension(:,: ), pointer :: SoilFluxesActive => null() real, dimension(:,: ), pointer :: GrazingBiomass => null() - real, dimension(:,: ), pointer :: GrazingNitrogen => null() - real, dimension(:,: ), pointer :: GrazingPhosphorus => null() + real, dimension(:,: ), pointer :: GrazingOrganicN => null() + real, dimension(:,: ), pointer :: GrazingAmmonia => null() + real, dimension(:,: ), pointer :: GrazingOrganicP => null() real, dimension(:,: ), pointer :: HarvestKillAerialBiomass => null() real, dimension(:,: ), pointer :: HarvestKillNitrogen => null() real, dimension(:,: ), pointer :: HarvestKillPhosphorus => null() @@ -4956,6 +4957,7 @@ subroutine SetVegetationPMProperties(PorousMediaPropertiesID, & SoilFluxesActive, & GrazingBiomass, & GrazingNitrogen, & + GrazingAmmonia, & GrazingPhosphorus, & HarvestKillAerialBiomass, & HarvestKillNitrogen, & @@ -5001,6 +5003,7 @@ subroutine SetVegetationPMProperties(PorousMediaPropertiesID, & logical, dimension(:,:), pointer, optional :: SoilFluxesActive real, dimension(:,:), pointer, optional :: GrazingBiomass real, dimension(:,:), pointer, optional :: GrazingNitrogen + real, dimension(:,:), pointer, optional :: GrazingAmmonia real, dimension(:,:), pointer, optional :: GrazingPhosphorus real, dimension(:,:), pointer, optional :: HarvestKillAerialBiomass real, dimension(:,:), pointer, optional :: HarvestKillNitrogen @@ -5068,8 +5071,9 @@ subroutine SetVegetationPMProperties(PorousMediaPropertiesID, & if (present(Grazing)) then Me%ExtVar%Grazing = Grazing if (present(GrazingBiomass )) Me%ExtVar%GrazingBiomass => GrazingBiomass - if (present(GrazingNitrogen )) Me%ExtVar%GrazingNitrogen => GrazingNitrogen - if (present(GrazingPhosphorus )) Me%ExtVar%GrazingPhosphorus => GrazingPhosphorus + if (present(GrazingNitrogen )) Me%ExtVar%GrazingOrganicN => GrazingNitrogen + if (present(GrazingAmmonia )) Me%ExtVar%GrazingAmmonia => GrazingAmmonia + if (present(GrazingPhosphorus )) Me%ExtVar%GrazingOrganicP => GrazingPhosphorus endif if (present(HarvestKill)) then Me%ExtVar%HarvestKill = HarvestKill @@ -6382,7 +6386,7 @@ subroutine VegetationInterfaceFluxes real :: Area, RootDepth logical :: FoundEnd real :: BottomDepth, TopDepth - real :: GrazingNotCarbon, GrazingNitrogen, GrazingPhosphorus + real :: GrazingNotCarbon, GrazingOrganicN, GrazingAmmonia, GrazingOrganicP real :: GrazingBiomass, GrazingCarbon real :: DormancyNotCarbon, DormancyNitrogen, DormancyPhosphorus real :: DormancyBiomass, DormancyCarbon @@ -6453,8 +6457,9 @@ subroutine VegetationInterfaceFluxes GrazingCarbon = 0.0 GrazingBiomass = 0.0 GrazingNotCarbon = 0.0 - GrazingNitrogen = 0.0 - GrazingPhosphorus = 0.0 + GrazingOrganicN = 0.0 + GrazingAmmonia = 0.0 + GrazingOrganicP = 0.0 DormancyBiomass = 0.0 DormancyCarbon = 0.0 DormancyNotCarbon = 0.0 @@ -6486,24 +6491,27 @@ subroutine VegetationInterfaceFluxes !Grazing GrazingNotCarbon = 0.0 - GrazingNitrogen = 0.0 - GrazingPhosphorus = 0.0 + GrazingOrganicN = 0.0 + GrazingAmmonia = 0.0 + GrazingOrganicP = 0.0 if (Me%ExtVar%Grazing) then if (Me%ExtVar%ModelNitrogen) then ! mgN = KgN/ha * 1E6mg/kg * (m2) * 1ha/10000m2 - GrazingNitrogen = Me%ExtVar%GrazingNitrogen(i,j) * 1e6 * Area / 10000. + GrazingOrganicN = Me%ExtVar%GrazingOrganicN(i,j) * 1e6 * Area / 10000. + ! gN + GrazingAmmonia = Me%ExtVar%GrazingAmmonia(i,j) * 1e3 * Area / 10000. - GrazingNotCarbon = GrazingNotCarbon + GrazingNitrogen + GrazingNotCarbon = GrazingNotCarbon + GrazingOrganicN + GrazingAmmonia endif if (Me%ExtVar%ModelPhosphorus) then ! mgP = KgP/ha * 1E6mg/kg * (m2) * 1ha/10000m2 - GrazingPhosphorus = Me%ExtVar%GrazingPhosphorus(i,j) * 1e6 * Area / 10000. + GrazingOrganicP = Me%ExtVar%GrazingOrganicP(i,j) * 1e6 * Area / 10000. - GrazingNotCarbon = GrazingNotCarbon + GrazingPhosphorus + GrazingNotCarbon = GrazingNotCarbon + GrazingOrganicP endif @@ -6740,7 +6748,7 @@ subroutine VegetationInterfaceFluxes stop 'InterfaceFluxes - ModulePorousMediaProperties - ERR110' endif ! mg/kgsoil - Property%ConcentrationOld (i,j,k) = Property%ConcentrationOld (i,j,k) + (((GrazingNitrogen & + Property%ConcentrationOld (i,j,k) = Property%ConcentrationOld (i,j,k) + (((GrazingOrganicN & + DormancyNitrogen + HarvestKillNitrogen & + HarvestKillRootNitrogen) * ModelDT / VegDT) & / CellSoilMass) @@ -6817,7 +6825,8 @@ subroutine VegetationInterfaceFluxes stop 'InterfaceFluxes - ModulePorousMediaProperties - ERR140' endif ! g/m3 = g/m3 + g / m3H20 - Property%ConcentrationOld (i,j,k) = Property%ConcentrationOld (i,j,k) + (((FertilizationAmmonia) & + Property%ConcentrationOld (i,j,k) = Property%ConcentrationOld (i,j,k) + (((GrazingAmmonia & + + FertilizationAmmonia) & * ModelDT / VegDT) / CellWaterVolume) else @@ -6882,7 +6891,7 @@ subroutine VegetationInterfaceFluxes stop 'InterfaceFluxes - ModulePorousMediaProperties - ERR150' endif ! mg/kgsoil - Property%ConcentrationOld (i,j,k) = Property%ConcentrationOld (i,j,k) + (((GrazingPhosphorus & + Property%ConcentrationOld (i,j,k) = Property%ConcentrationOld (i,j,k) + (((GrazingOrganicP & + DormancyPhosphorus + HarvestKillPhosphorus & + HarvestKillRootNitrogen) * ModelDT / VegDT) & / CellSoilMass) @@ -12472,6 +12481,9 @@ subroutine WriteFinalFile(IsFinalFile) if (MonitorPerformance) call StartWatch ("ModulePorousMediaProperties", "WriteFinalFile") + call GetBasinPoints (Me%ObjBasinGeometry, Me%ExtVar%BasinPoints, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR00a' + !Gets a pointer to Topography call GetGridData (Me%ObjGridData, Me%ExtVar%Topography, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR00' @@ -12484,6 +12496,9 @@ subroutine WriteFinalFile(IsFinalFile) !OpenPoints3D call GetOpenPoints3D (Me%ObjMap, Me%ExtVar%OpenPoints3D, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR02' + + call GetWaterPoints3D (Me%ObjMap, Me%ExtVar%WaterPoints3D, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR03' !Gets File Access Code call GetHDF5FileAccess (HDF5_CREATE = HDF5_CREATE) @@ -12540,7 +12555,6 @@ subroutine WriteFinalFile(IsFinalFile) call HDF5WriteData ( ObjHDF5, "/Grid/VerticalZ", & "Vertical", "m", & Array3D = Me%ExtVar%SZZ, & - OutputNumber = OutPutNumber, & STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR040' @@ -12557,21 +12571,29 @@ subroutine WriteFinalFile(IsFinalFile) !Write the Horizontal Grid call WriteHorizontalGrid(Me%ObjHorizontalGrid, ObjHDF5, STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR25' + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR53' !Writes the Grid call HDF5WriteData (ObjHDF5, "/Grid", "Topography", "m", & Array2D = Me%ExtVar%Topography, STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR035' + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR054' + + !WriteBasinPoints + call HDF5WriteData (ObjHDF5, "/Grid", "BasinPoints", "-", & + Array2D = Me%ExtVar%BasinPoints, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleBasin - ERR55' !Writes the Open Points call HDF5WriteData (ObjHDF5, "//Grid/OpenPoints", & "OpenPoints", "-", & Array3D = Me%ExtVar%OpenPoints3D, & - OutputNumber = OutPutNumber, & STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaproperties - ERR060' + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaproperties - ERR056' + + call HDF5WriteData (ObjHDF5, "/Grid", "WaterPoints3D", "-", & + Array3D = Me%ExtVar%WaterPoints3D, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaproperties - ERR60' PropertyX => Me%FirstProperty @@ -12600,7 +12622,7 @@ subroutine WriteFinalFile(IsFinalFile) call HDF5WriteData (ObjHDF5, & "/Results/"//trim(PropertyX%ID%Name)//" Mass Created",& - "Property Mass Created", & + trim(PropertyX%ID%Name)//" Mass Created", & "g", & Array3D = PropertyX%Mass_Created, & STAT = STAT_CALL) @@ -12629,6 +12651,9 @@ subroutine WriteFinalFile(IsFinalFile) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaproperties - ERR080' + call UnGetMap (Me%ObjMap, Me%ExtVar%WaterPoints3D, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR082' + call UnGetMap (Me%ObjMap, Me%ExtVar%OpenPoints3D, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR085' @@ -12637,6 +12662,9 @@ subroutine WriteFinalFile(IsFinalFile) call UnGetGridData (Me%ObjGridData, Me%ExtVar%Topography, STAT = STAT_CALL ) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR120' + + call UnGetBasin (Me%ObjBasinGeometry, Me%ExtVar%BasinPoints, STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR130' call KillHDF5 (ObjHDF5, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModulePorousMediaProperties - ERR0190' diff --git a/Software/MOHIDLand/ModuleReservoirs.F90 b/Software/MOHIDLand/ModuleReservoirs.F90 index a1f43e7c5..f50a87b43 100644 --- a/Software/MOHIDLand/ModuleReservoirs.F90 +++ b/Software/MOHIDLand/ModuleReservoirs.F90 @@ -85,6 +85,7 @@ Module ModuleReservoirs integer, parameter :: Operation_Level_PercInflow_ = 2 integer, parameter :: Operation_PercVol_Outflow_ = 3 integer, parameter :: Operation_PercVol_PercInflow_ = 4 + integer, parameter :: Operation_PercVol_PercMaxOutflow_ = 5 !Initial Conditions integer, parameter :: StartPercentageFull_ = 1 @@ -221,6 +222,12 @@ Module ModuleReservoirs character(len=Pathlength) :: FinalFile = null_str end type T_Files + type T_TimeSerieImposed + integer :: ID = null_int + character(len=Pathlength) :: FileName = null_str + integer :: Column = null_int + end type T_TimeSerieImposed + type T_FlowOver real :: WeirLength = null_real real :: DischargeCoeficient = null_real @@ -233,7 +240,8 @@ Module ModuleReservoirs logical :: HasDischarge = .false. !how to compute outflow - logical :: ImposedOutflow = .false. !if imposed flow, operation is forgotten + logical :: ImposedOutflow = .false. + logical :: ImposedLevel = .false. logical :: ImposedOperation = .false. !operation rules !Operation @@ -265,8 +273,9 @@ Module ModuleReservoirs integer :: DNNodeID = null_int !State Variables - real :: VolumeOld = null_real - real :: VolumeNew = null_real + real :: VolumeOld = null_real !volume at start of timestep + real :: VolumeNew = null_real !volume conti being updated with fluxes + real :: VolumeTarget = null_real !volume final used if imposed level real :: PercFull = null_real !Derived State variables @@ -302,7 +311,8 @@ Module ModuleReservoirs character(len = StringLength) :: TimeSeriesName = null_str type (T_Reservoir), pointer :: Next => null() - type (T_Reservoir), pointer :: Prev => null() + type (T_Reservoir), pointer :: Prev => null() + type (T_TimeSerieImposed) :: TimeSeries end type T_Reservoir private :: T_Reservoirs @@ -450,13 +460,12 @@ subroutine ConstructReservoirs(ModelName, ObjReservoirsID, TimeID, TopographicFi call ConstructDischarges endif + call VerifyOptions + !Intial volume condition if (Me%Continuous) then call ReadInitialVolume else - !Try to get timeserie of imposed volume (timeseries) available for all or some reservoirs - !this value will overwrite the defined in reservoirs file - call GetImposedReservoirVolume !Initialize all reservoirs volume call InitializeReservoirsVolume @@ -705,10 +714,7 @@ subroutine ConstructReservoir(NewReservoir, ClientID) !Local----------------------------------------------------------------- integer :: iflag - real, dimension (2) :: AuxCoord - logical :: BlockFound - integer :: FirstLine, LastLine, NLayers, l, line - real, dimension(:), allocatable :: Aux + real, dimension (2) :: AuxCoord !---------------------------------------------------------------------- @@ -875,10 +881,72 @@ subroutine ConstructReservoir(NewReservoir, ClientID) STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_)stop 'ConstructReservoir - ModuleReservoirs - ERR100' - + !reset NewReservoir%Management%ON = .false. NewReservoir%Management%ImposedOperation = .false. - NewReservoir%Management%ImposedOutflow = .false. + NewReservoir%Management%ImposedLevel = .false. + NewReservoir%Management%ImposedOutflow = .false. + + + !Get curve with acc volume for level + !Always fetched is used for transforming volume to level + !In case of weir, imposed level or operations based on level is mandatory + call GetVolumeAccCurve(NewReservoir, ClientID) + + + !Get if reservoir has imposed level + call GetImposedReservoirLevel(NewReservoir, ClientID, .true.) + + !Get management options (operation curves, environmental flow) + !or unmanaged weir + call GetManagementOptions(NewReservoir, ClientID) + + + + !max ouflow trough all discharges (projected). if not defined almost infinite + call GetData(NewReservoir%Management%MaxOutflow, & + Me%ObjEnterDataReservoirFile, iflag, & + SearchType = FromBlock, & + keyword ='MAX_OUTFLOW', & + default = -null_real, & + ClientModule = 'ModuleReservoirs', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_)stop 'ConstructReservoir - ModuleReservoirs - ERR130' + + !In case that is forcing with operation pec max outflow this property is mandatory and not dummy + if (NewReservoir%Management%OperationType == Operation_PercVol_PercMaxOutflow_) then + if (NewReservoir%Management%MaxOutflow .gt. -null_real / 2.0) then + write(*,*) 'Using operation curve of type percentage max outflow and' + write(*,*) 'MAX_OUTFLOW is not defined ' + write(*,*) 'in reservoir ID : ', NewReservoir%ID + stop 'ConstructReservoir - ModuleReservoirs - ERR0140' + endif + endif + + + + end subroutine ConstructReservoir + + !-------------------------------------------------------------------------- + + subroutine GetManagementOptions(NewReservoir, ClientID) + + !Arguments------------------------------------------------------------- + type(T_Reservoir), pointer :: NewReservoir + integer :: ClientID + + !External-------------------------------------------------------------- + integer :: STAT_CALL + + !Local----------------------------------------------------------------- + integer :: iflag + logical :: BlockFound + integer :: FirstLine, LastLine, NLayers, l, line + real, dimension(:), allocatable :: Aux + !---------------------------------------------------------------------- + + call RewindBlock(Me%ObjEnterDataReservoirFile, ClientId, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'GetManagementOptions - ModuleReservoirs - ERR01' !Get Management Options. Start from more complex managed to unmanaged call GetData(NewReservoir%Management%OperationType, & @@ -895,12 +963,13 @@ subroutine ConstructReservoir(NewReservoir, ClientID) if (NewReservoir%Management%OperationType /= Operation_Level_Outflow_ .and. & NewReservoir%Management%OperationType /= Operation_Level_PercInflow_ .and. & NewReservoir%Management%OperationType /= Operation_PercVol_Outflow_ .and. & - NewReservoir%Management%OperationType /= Operation_PercVol_PercInflow_) then + NewReservoir%Management%OperationType /= Operation_PercVol_PercInflow_ .and. & + NewReservoir%Management%OperationType /= Operation_PercVol_PercMaxOutflow_) then write(*,*) 'Unknown OPERATION_TYPE' write(*,*) 'in reservoir ID : ', NewReservoir%ID stop 'ConstructReservoir - ModuleReservoirs - ERR0110a' endif - + call ExtractBlockFromBlock(Me%ObjEnterDataReservoirFile, ClientID, & '<>', '<>', BlockFound, & FirstLine = FirstLine, LastLine = LastLine, & @@ -914,7 +983,6 @@ subroutine ConstructReservoir(NewReservoir, ClientID) NewReservoir%Management%ON = .true. NewReservoir%Management%ImposedOperation = .true. - NewReservoir%Management%ImposedOutflow = .false. NewReservoir%Management%OperationCurvePoints = NLayers allocate (NewReservoir%Management%OperationCurve(NLayers, 2)) @@ -979,16 +1047,10 @@ subroutine ConstructReservoir(NewReservoir, ClientID) !simple amanagement if (NewReservoir%Management%MinOutflow > 0.0) then - NewReservoir%Management%ON = .true. - NewReservoir%Management%ImposedOperation = .false. - NewReservoir%Management%ImposedOutflow = .false. + NewReservoir%Management%ON = .true. - else !no management - type ditch or weir - - NewReservoir%Management%ON = .false. - NewReservoir%Management%ImposedOperation = .false. - NewReservoir%Management%ImposedOutflow = .false. + else !no management - type ditch or weir call GetData(NewReservoir%IsWeir, & Me%ObjEnterDataReservoirFile, iflag, & @@ -1002,7 +1064,7 @@ subroutine ConstructReservoir(NewReservoir, ClientID) if (NewReservoir%IsWeir) then call GetData(NewReservoir%FlowOver%WeirLength, & - Me%ObjEnterData, & + Me%ObjEnterDataReservoirFile, & iflag, & FromBlock, & keyword ='WEIR_LENGTH', & @@ -1015,7 +1077,7 @@ subroutine ConstructReservoir(NewReservoir, ClientID) endif call GetData(NewReservoir%FlowOver%DischargeCoeficient, & - Me%ObjEnterData, & + Me%ObjEnterDataReservoirFile, & iflag, & FromBlock, & keyword ='WEIR_COEF', & @@ -1026,7 +1088,7 @@ subroutine ConstructReservoir(NewReservoir, ClientID) if (STAT_CALL /= SUCCESS_) stop 'ConstructReservoir - ModuleReservoirs - ERR116' call GetData(NewReservoir%FlowOver%CrestLevel, & - Me%ObjEnterData, & + Me%ObjEnterDataReservoirFile, & iflag, & FromBlock, & keyword ='CREST_LEVEL', & @@ -1043,11 +1105,37 @@ subroutine ConstructReservoir(NewReservoir, ClientID) endif + + + + end subroutine GetManagementOptions + + !-------------------------------------------------------------------------- + + subroutine GetVolumeAccCurve(NewReservoir, ClientID) + + !Arguments------------------------------------------------------------- + type(T_Reservoir), pointer :: NewReservoir + integer :: ClientID + + !External-------------------------------------------------------------- + integer :: STAT_CALL + !Local----------------------------------------------------------------- + integer :: iflag + logical :: BlockFound + integer :: FirstLine, LastLine, NLayers, l, line + real, dimension(:), allocatable :: Aux + !---------------------------------------------------------------------- + + call RewindBlock(Me%ObjEnterDataReservoirFile, ClientId, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'GetVolumeAccCurve - ModuleReservoirs - ERR01' + + !Need volume - level curve - if (NewReservoir%IsWeir .or. NewReservoir%Management%OperationType == Operation_Level_Outflow_ & - .or. NewReservoir%Management%OperationType == Operation_Level_PercInflow_) then - + !if (NewReservoir%IsWeir .or. NewReservoir%Management%OperationType == Operation_Level_Outflow_ & + ! .or. NewReservoir%Management%OperationType == Operation_Level_PercInflow_) then + !Always get call ExtractBlockFromBlock(Me%ObjEnterDataReservoirFile, ClientID, & '<>', '<>', BlockFound, & FirstLine = FirstLine, LastLine = LastLine, & @@ -1094,29 +1182,15 @@ subroutine ConstructReservoir(NewReservoir, ClientID) deallocate(Aux) endif - else - write(*,*) 'Not Found Reservoir accumulated volumes curve' - write(*,*) 'It is mandatory when reservoir operation curve depends on level' - stop 'ConstructReservoir - ModuleReservoirs - ERR0121' + !endif + end if - endif + !endif - !max ouflow trough all discharges (projected). if not defined almost infinite - call GetData(NewReservoir%Management%MaxOutflow, & - Me%ObjEnterDataReservoirFile, iflag, & - SearchType = FromBlock, & - keyword ='MAX_OUTFLOW', & - default = -null_real, & - ClientModule = 'ModuleReservoirs', & - STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_)stop 'ConstructReservoir - ModuleReservoirs - ERR130' - - - - end subroutine ConstructReservoir - - !-------------------------------------------------------------------------- + end subroutine GetVolumeAccCurve + + !--------------------------------------------------------------------------- subroutine ConstructDischarges @@ -1176,7 +1250,7 @@ subroutine ConstructDischarges if (IsImposedOutflow) then Reservoir%Management%ON = .true. Reservoir%Management%ImposedOutflow = .true. - Reservoir%Management%ImposedOperation = .false. + endif else @@ -2267,134 +2341,219 @@ end subroutine ConstructGlobalVariables !------------------------------------------------------------------------- - subroutine GetImposedReservoirVolume() + subroutine GetImposedReservoirlevel(NewReservoir, ClientID, Construct) - !Arguments-------------------------------------------------------------- + + !Arguments------------------------------------------------------------- + type(T_Reservoir), pointer :: NewReservoir + integer, optional :: ClientID + logical :: Construct + !Local------------------------------------------------------------------ integer :: NumberOfSources, index, iflag - integer :: ClientNumber, STAT_CALL - logical :: FoundBlock, FoundReservoir - integer :: ReservoirID, ObjTimeSerie - character(LEN = StringLength) :: FileName - type (T_Time) :: Time1, Time2 - real :: Value1, Value2 - logical :: TimeCycle - real :: TimeSerieValue - type (T_Reservoir), pointer :: CurrReservoir - integer :: Column + integer :: STAT_CALL + logical :: FoundBlock + real :: ReservoirVolume + !Begin------------------------------------------------------------------ + - call RewindBuffer(Me%ObjEnterData, STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'GetImposedReservoirVolume - ModuleReservoirs - ERR01' - - - !Gets the number of Source blocks - call GetNumberOfBlocks(Me%ObjEnterData, "", "", & - FromFile, NumberOfSources, & - ClientNumber, STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'GetImposedReservoirVolume - ModuleReservoirs - ERR010' + if (Construct) then + + + call RewindBlock(Me%ObjEnterDataReservoirFile, ClientId, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'GetImposedReservoirLevel - ModuleReservoirs - ERR01' + + !Gets the number of Source blocks + call GetNumberOfBlocks(Me%ObjEnterDataReservoirFile, "<>", "<>", & + FromBlock, NumberOfSources, & + ClientID, STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'GetImposedReservoirLevel - ModuleReservoirs - ERR010' - if (NumberOfSources > 0) then + if (NumberOfSources > 0) then - do index = 1, NumberOfSources - - call ExtractBlockFromBuffer(Me%ObjEnterData, & - ClientNumber = ClientNumber, & - block_begin = "", & - block_end = "", & - BlockFound = FoundBlock, & - STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) & - stop 'GetImposedReservoirVolume - ModuleReservoirs - ERR020' - - if (FoundBlock) then - - call GetData(ReservoirID, & - Me%ObjEnterData , iflag, & - SearchType = FromBlock, & - keyword = 'RESERVOIR_ID', & - ClientModule = 'ModuleReservoirs', & - STAT = STAT_CALL) + do index = 1, NumberOfSources + + call ExtractBlockFromBlock(Me%ObjEnterDataReservoirFile, & + ClientNumber = ClientID, & + block_begin = "<>", & + block_end = "<>", & + BlockInBlockFound = FoundBlock, & + STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) & - stop 'GetImposedReservoirVolume - ModuleReservoirs - ERR021' - if (iflag /= 1) & - stop 'GetImposedReservoirVolume - ModuleReservoirs - ERR022' + stop 'GetImposedReservoirLevel - ModuleReservoirs - ERR020' - - !get the reservoir - call FindReservoir (ReservoirID, CurrReservoir, FoundReservoir) + if (FoundBlock) then + - if (FoundReservoir) then - - call GetData(FileName, & - Me%ObjEnterData, iflag, & - SearchType = FromBlock, & - keyword = 'FILENAME', & - ClientModule = 'ModuleReservoirs', & - STAT = STAT_CALL) + call GetData(NewReservoir%TimeSeries%Filename, & + Me%ObjEnterDataReservoirFile, iflag, & + SearchType = FromBlockInBlock, & + keyword = 'FILENAME', & + ClientModule = 'ModuleReservoirs', & + STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) & - stop 'GetImposedReservoirVolume - ModuleReservoirs - ERR025' + stop 'GetImposedReservoirLevel - ModuleReservoirs - ERR025' - call GetData(Column, & - Me%ObjEnterData , iflag, & - SearchType = FromBlock, & - keyword = 'DATA_COLUMN', & - ClientModule = 'ModuleReservoirs', & - STAT = STAT_CALL) + call GetData(NewReservoir%TimeSeries%Column, & + Me%ObjEnterDataReservoirFile , iflag, & + SearchType = FromBlockInBlock, & + keyword = 'DATA_COLUMN', & + ClientModule = 'ModuleReservoirs', & + STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) & - stop 'GetImposedReservoirVolume - ModuleReservoirs - ERR026' + stop 'GetImposedReservoirLevel - ModuleReservoirs - ERR026' if (iflag /= 1) & - stop 'GetImposedReservoirVolume - ModuleReservoirs - ERR027' + stop 'GetImposedReservoirLevel - ModuleReservoirs - ERR027' !Starts Time Serie - ObjTimeSerie = 0 - call StartTimeSerieInput(ObjTimeSerie, & - FileName, & - Me%ObjTime, & - STAT = STAT_CALL) + NewReservoir%TimeSeries%ID = 0 + call StartTimeSerieInput(NewReservoir%TimeSeries%ID, & + NewReservoir%TimeSeries%FileName, & + Me%ObjTime, & + STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) & - stop 'GetImposedReservoirVolume - ModuleReservoirs - ERR028' + stop 'GetImposedReservoirLevel - ModuleReservoirs - ERR028' !Get value for start instant - call GetTimeSerieValue (ObjTimeSerie, Me%ExtVar%ActualTime, Column, & - Time1, Value1, Time2, Value2, TimeCycle, & - STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'GetImposedReservoirVolume - ModuleReservoirs - ERR29' - - if (TimeCycle) then - TimeSerieValue = Value1 - - else - - !Interpolates Value for current instant - call InterpolateValueInTime(Me%ExtVar%ActualTime, Time1, Value1, Time2, Value2, TimeSerieValue) - - endif + ReservoirVolume = GetReservoirVolume(NewReservoir, Me%ExtVar%ActualTime) !apply reservoir value. it will overwrite value defined in reservoir file (if defined) - if (TimeSerieValue <= CurrReservoir%MaxVolume .and. TimeSerieValue >= 0.0) then - CurrReservoir%InitialVolume = TimeSerieValue - CurrReservoir%InitialVolumeDefined = .true. + if (ReservoirVolume <= NewReservoir%MaxVolume .and. ReservoirVolume >= 0.0) then + NewReservoir%InitialVolume = ReservoirVolume + NewReservoir%InitialVolumeDefined = .true. + + NewReservoir%Management%ON = .true. + NewReservoir%Management%ImposedLevel = .true. endif - - call KillTimeSerie (ObjTimeSerie, STAT = STAT_CALL) - if (STAT_CALL /= SUCCESS_) stop 'GetImposedReservoirVolume - ModuleReservoirs - ERR30' - endif + + + !call KillTimeSerie (ObjTimeSerie, STAT = STAT_CALL) + !if (STAT_CALL /= SUCCESS_) stop 'GetImposedReservoirLevel - ModuleReservoirs - ERR30' + + - else + else - stop 'GetImposedReservoirVolume - ModuleReservoirs - ERR040' + stop 'GetImposedReservoirLevel - ModuleReservoirs - ERR040' - endif + endif - enddo + enddo + endif + + else + + if (NewReservoir%Management%ImposedLevel) then + + !Get value for timestep start + ReservoirVolume = GetReservoirVolume(NewReservoir, Me%ExtVar%ActualTime - Me%ExtVar%DT) + + !apply reservoir value. + if (ReservoirVolume <= NewReservoir%MaxVolume .and. ReservoirVolume >= 0.0) then + NewReservoir%VolumeOld = ReservoirVolume + NewReservoir%VolumeNew = NewReservoir%VolumeOld + endif + + !Get value for timestep end + !Get reservoir volume that will be the target after all fluxes to compute outflow + NewReservoir%VolumeTarget = GetReservoirVolume(NewReservoir, Me%ExtVar%ActualTime) + + endif + endif - end subroutine GetImposedReservoirVolume + end subroutine GetImposedReservoirLevel + + !------------------------------------------------------------------------- + + real function GetReservoirVolume(CurrReservoir, Time) + + !Arguments---------------------------------------------------------------- + type(T_Reservoir), pointer :: CurrReservoir + type(T_Time) :: Time + + !Local-------------------------------------------------------------------- + type (T_Time) :: Time1, Time2 + real :: Value1, Value2 + logical :: TimeCycle + real :: TimeSerieValue + integer :: STAT_CALL + !Begin-------------------------------------------------------------------- + + call GetTimeSerieValue (CurrReservoir%TimeSeries%ID, Time, & + CurrReservoir%TimeSeries%Column, & + Time1, Value1, Time2, Value2, TimeCycle, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'GetReservoirVolume - ModuleReservoirs - ERR29' + + if (TimeCycle) then + TimeSerieValue = Value1 + + else + + !Interpolates Value for current instant + call InterpolateValueInTime(Time, Time1, Value1, Time2, Value2, TimeSerieValue) + + endif + + !Compute Volume from level + GetReservoirVolume = ComputeReservoirVolume(CurrReservoir, TimeSerieValue) + + end function + + !------------------------------------------------------------------------- + + subroutine VerifyOptions + + !Local---------------------------------------------------------------- + type(T_Reservoir), pointer :: CurrentReservoir + integer :: nImposed + + CurrentReservoir => Me%FirstReservoir + do while (associated(CurrentReservoir)) + + nImposed = 0 + if (CurrentReservoir%Management%ImposedLevel) then + nImposed = nImposed + 1 + endif + + if (CurrentReservoir%Management%ImposedOutflow) then + nImposed = nImposed + 1 + endif + + if (CurrentReservoir%Management%ImposedOperation) then + nImposed = nImposed + 1 + endif + + !inconsistent options can only impose one + if (nImposed > 1) then + write (*,*) 'Can only impose outflow OR level OR operation curves in' + write (*,*) 'Reservoir ID = ', CurrentReservoir%ID + stop 'VerifyOptions - ModuleReservoirs - ERR01' + endif + + + !need acc curve? + if (CurrentReservoir%IsWeir .or. CurrentReservoir%Management%OperationType == Operation_Level_Outflow_ & + .or. CurrentReservoir%Management%OperationType == Operation_Level_PercInflow_ & + .or. CurrentReservoir%Management%ImposedLevel) then + + if (.not. associated(CurrentReservoir%Management%AccVolumeCurve)) then + write(*,*) 'Not Found Reservoir accumulated volumes curve' + write(*,*) 'It is mandatory when reservoir is weir, level is imposed or operation curve depends on level' + write(*,*) 'in reservoir ID : ', CurrentReservoir%ID + stop 'VerifyOptions - ModuleReservoirs - ERR010' + endif + endif + CurrentReservoir => CurrentReservoir%Next + enddo + + end subroutine VerifyOptions !------------------------------------------------------------------------- @@ -2592,6 +2751,7 @@ subroutine ReadInitialVolume() do while (associated(CurrReservoir)) CurrReservoir%VolumeOld = ReservoirVolume(CurrReservoir%GridI, CurrReservoir%GridJ) + CurrReservoir%VolumeNew = CurrReservoir%VolumeOld CurrReservoir => CurrReservoir%Next enddo @@ -2645,7 +2805,7 @@ subroutine InitializeReservoirsVolume() CurrentReservoir%VolumeNew = CurrentReservoir%VolumeOld - if (CurrentReservoir%Management%ON .and. associated(CurrentReservoir%Management%AccVolumeCurve)) then + if (associated(CurrentReservoir%Management%AccVolumeCurve)) then CurrentReservoir%WaterLevel = ComputeReservoirLevel(CurrentReservoir) endif @@ -2667,17 +2827,17 @@ real function ComputeReservoirLevel(CurrentReservoir) real :: PreviousCurveVolume, NextCurveLevel, NextCurveVolume !Begin---------------------------------------------------------------- - if (CurrentReservoir%Management%ON .and. associated(CurrentReservoir%Management%AccVolumeCurve)) then + if (associated(CurrentReservoir%Management%AccVolumeCurve)) then ReservoirVolume = CurrentReservoir%VolumeNew - PreviousCurveLevel = CurrentReservoir%Management%OperationCurve(1, 2) - PreviousCurveVolume = CurrentReservoir%Management%OperationCurve(1, 1) + PreviousCurveLevel = CurrentReservoir%Management%AccVolumeCurve(1, 2) + PreviousCurveVolume = CurrentReservoir%Management%AccVolumeCurve(1, 1) !go trough all points to find where belongs - do i = 1, CurrentReservoir%Management%AccVolumeCurvePoints + do i = 2, CurrentReservoir%Management%AccVolumeCurvePoints - NextCurveLevel = CurrentReservoir%Management%OperationCurve(i, 2) - NextCurveVolume = CurrentReservoir%Management%OperationCurve(i, 1) + NextCurveLevel = CurrentReservoir%Management%AccVolumeCurve(i, 2) + NextCurveVolume = CurrentReservoir%Management%AccVolumeCurve(i, 1) if (ReservoirVolume >= PreviousCurveVolume & .and. ReservoirVolume <= NextCurveVolume) then @@ -2703,6 +2863,53 @@ end function ComputeReservoirLevel !--------------------------------------------------------------------------- + real function ComputeReservoirVolume(CurrentReservoir, ReservoirLevel) + + !Arguments------------------------------------------------------------ + type(T_Reservoir), pointer :: CurrentReservoir + real :: ReservoirLevel + + !Local----------------------------------------------------------------- + integer :: i + real :: WaterVolume, PreviousCurveLevel + real :: PreviousCurveVolume, NextCurveLevel, NextCurveVolume + !Begin---------------------------------------------------------------- + + if (associated(CurrentReservoir%Management%AccVolumeCurve)) then + + PreviousCurveLevel = CurrentReservoir%Management%AccVolumeCurve(1, 2) + PreviousCurveVolume = CurrentReservoir%Management%AccVolumeCurve(1, 1) + + !go trough all points to find where belongs + do i = 2, CurrentReservoir%Management%AccVolumeCurvePoints + + NextCurveLevel = CurrentReservoir%Management%AccVolumeCurve(i, 2) + NextCurveVolume = CurrentReservoir%Management%AccVolumeCurve(i, 1) + + if (ReservoirLevel >= PreviousCurveLevel & + .and. ReservoirLevel <= NextCurveLevel) then + + WaterVolume = LinearInterpolation(PreviousCurveLevel, PreviousCurveVolume, & + NextCurveLevel, NextCurveVolume, ReservoirLevel) + + endif + + PreviousCurveLevel = NextCurveLevel + PreviousCurveVolume = NextCurveVolume + + enddo + + else + !not all reservoitrs need to have it defined + WaterVolume = null_real + endif + + ComputeReservoirVolume = WaterVolume + + end function ComputeReservoirVolume + + !--------------------------------------------------------------------------- + subroutine ConstructOutput !Arguments-------------------------------------------------------------- @@ -3641,6 +3848,9 @@ subroutine ModifyReservoirs(ObjReservoirsID, STAT) call InitializeVariables(.false.) + !verify if level (-> volume) is imposed and update it + call GetImposedLevel + !Get discharge flow and concentration. include possible imposed outflow if (Me%ComputeOptions%Discharges) then call ComputeReservoirDischarges @@ -3654,12 +3864,14 @@ subroutine ModifyReservoirs(ObjReservoirsID, STAT) call ComputeReservoirBottomFluxes endif - !Update volumes and concentrations based on computed fluxes + !Update volumes and concentrations based on computed fluxes (except outflow) call UpdateReservoirStateVariables - - + !Compute outflows from actual volume condition call ComputeReservoirOutflows + + !Update finally the new volumes, and derived matrixes + call UpdateVolumes if (Me%Output%HDF .or. Me%Output%TimeSerie) then @@ -3677,6 +3889,27 @@ end subroutine ModifyReservoirs !------------------------------------------------------------------------- + subroutine GetImposedLevel() + + !Arguments-------------------------------------------------------------- + + !Local------------------------------------------------------------------ + type (T_Reservoir), pointer :: CurrReservoir + logical :: Construct + + CurrReservoir => Me%FirstReservoir + do while(associated(CurrReservoir)) + + Construct = .false. + call GetImposedReservoirLevel(NewReservoir = CurrReservoir, Construct = Construct) + + CurrReservoir => CurrReservoir%Next + enddo + + end subroutine GetImposedLevel + + !------------------------------------------------------------------------- + subroutine ComputeReservoirDischarges () !Arguments-------------------------------------------------------------- @@ -3985,24 +4218,41 @@ end subroutine UpdateReservoirStateVariables !--------------------------------------------------------------------------- - subroutine UpdateMatrixesFromVolume(CurrReservoir) + subroutine UpdateVolumes() - !Arguments-------------------------------------------------------------- + !Local------------------------------------------------------------------ type (T_Reservoir), pointer :: CurrReservoir + + + CurrReservoir => Me%FirstReservoir + do while (associated (CurrReservoir)) + + + !Update Volume + CurrReservoir%VolumeNew = CurrReservoir%VolumeNew - CurrReservoir%Outflow * Me%ExtVar%DT - !Update water level at the end - if (CurrReservoir%Management%ON .and. associated(CurrReservoir%Management%AccVolumeCurve)) then - CurrReservoir%WaterLevel = ComputeReservoirLevel(CurrReservoir) - endif + !volumes close to zero. use abs to not masquerade possible erros with negative volumes + if (Abs(CurrReservoir%VolumeNew) < AlmostZero) then + CurrReservoir%VolumeNew = 0.0 + endif + + !Update water level at the end + if (associated(CurrReservoir%Management%AccVolumeCurve)) then + CurrReservoir%WaterLevel = ComputeReservoirLevel(CurrReservoir) + endif - !Save in global matrix - Me%ReservoirVolumes(CurrReservoir%Position) = CurrReservoir%VolumeNew - Me%ReservoirPercFull(CurrReservoir%Position) = CurrReservoir%VolumeNew / CurrReservoir%MaxVolume * 100 + !Save in global matrix + Me%ReservoirVolumes(CurrReservoir%Position) = CurrReservoir%VolumeNew + Me%ReservoirPercFull(CurrReservoir%Position) = CurrReservoir%VolumeNew / CurrReservoir%MaxVolume * 100 - CurrReservoir%PercFull = CurrReservoir%VolumeNew / CurrReservoir%MaxVolume * 100 + CurrReservoir%PercFull = CurrReservoir%VolumeNew / CurrReservoir%MaxVolume * 100 + + + CurrReservoir => CurrReservoir%Next + enddo - end subroutine UpdateMatrixesFromVolume + end subroutine UpdateVolumes !---------------------------------------------------------------------------- @@ -4101,84 +4351,61 @@ subroutine ComputeReservoirOutflows() do while (associated(CurrentReservoir)) + !since reservoirs never go below (associated to discharger location) limit. + !in undefined MinVolume is zero + if (CurrentReservoir%VolumeNew <= CurrentReservoir%MinVolume) then + Outflow = 0.0 + + !if level is imposed + else if (CurrentReservoir%Management%ON .and. CurrentReservoir%Management%ImposedLevel) then + + !outflow is the remainder balance betwewn all the fluxes already computed (VolumeNew) and + !the VolumeTarget read from file + !negative outlflow (underpredicted inflows) + if (CurrentReservoir%VolumeTarget >= CurrentReservoir%VolumeNew) then + Outflow = 0.0 + else + Outflow = (CurrentReservoir%VolumeNew - CurrentReservoir%VolumeTarget) / Me%ExtVar%DT + endif + !if imposed by discharge verify computation - if (CurrentReservoir%Management%ON .and. CurrentReservoir%Management%ImposedOutflow) then + else if (CurrentReservoir%Management%ON .and. CurrentReservoir%Management%ImposedOutflow) then !computed already in discharges Outflow = CurrentReservoir%Outflow + + !operation + else if (CurrentReservoir%Management%ON .and. CurrentReservoir%Management%ImposedOperation) then + + !Compute outflow. uses environmental flow if curves defined above curr volume + Outflow = GetOutflowFromOperation(CurrentReservoir) + + !only minimum flow defined + else if (CurrentReservoir%Management%ON) then - !even that is imposed outflow, volumes lower than minimum probably are errors in volume - !since reservoirs never go below, discharge are closed to avoid that - if (CurrentReservoir%VolumeNew - (Outflow * Me%ExtVar%DT) < CurrentReservoir%MinVolume) then - Outflow = (CurrentReservoir%VolumeNew - CurrentReservoir%MinVolume) / Me%ExtVar%DT - endif - - !test outflow computed - not enough to avoid overflow? - if (CurrentReservoir%VolumeNew - (Outflow * Me%ExtVar%DT) > CurrentReservoir%MaxVolume) then - ![m3/s] = [m3] / [s] - Outflow = (CurrentReservoir%VolumeNew - CurrentReservoir%MaxVolume) / Me%ExtVar%DT - endif - - + Outflow = CurrentReservoir%Management%MinOutflow + !First verify if not managed else if (.not. CurrentReservoir%Management%ON) then !type weir - if (CurrentReservoir%IsWeir) then - - Outflow = ComputeWeirFlow(CurrentReservoir) - - !test outflow computed - not enough to avoid overflow? - !There is no min volume (unmanaged), so only this test to do - if (CurrentReservoir%VolumeNew - (Outflow * Me%ExtVar%DT) > CurrentReservoir%MaxVolume) then - ![m3/s] = [m3] / [s] - Outflow = (CurrentReservoir%VolumeNew - CurrentReservoir%MaxVolume) / Me%ExtVar%DT - endif - - else - + if (CurrentReservoir%IsWeir) then + Outflow = ComputeWeirFlow(CurrentReservoir) + else !type ditch, flow zero until maximum capacity, then all exits Outflow = 0.0 - if (CurrentReservoir%VolumeNew >= CurrentReservoir%MaxVolume) then - ![m3/s] = [m3] / [s] - Outflow = (CurrentReservoir%VolumeNew - CurrentReservoir%MaxVolume) / Me%ExtVar%DT - endif endif + + endif - else if (CurrentReservoir%Management%ON .and. CurrentReservoir%Management%ImposedOperation) then - - if (CurrentReservoir%VolumeNew < CurrentReservoir%MinVolume) then - Outflow = 0.0 - else - - !Compute outflow. uses environmental flow if curves defined above curr volume - Outflow = GetOutflowFromOperation(CurrentReservoir) - - !test outflow computed - below mnimum? - if (CurrentReservoir%VolumeNew - (Outflow * Me%ExtVar%DT) < CurrentReservoir%MinVolume) then - Outflow = (CurrentReservoir%VolumeNew - CurrentReservoir%MinVolume) / Me%ExtVar%DT - endif - - !test outflow computed - not enough to avoid overflow? - if (CurrentReservoir%VolumeNew - (Outflow * Me%ExtVar%DT) > CurrentReservoir%MaxVolume) then - ![m3/s] = [m3] / [s] - Outflow = (CurrentReservoir%VolumeNew - CurrentReservoir%MaxVolume) / Me%ExtVar%DT - endif - - endif - !only minimum flow defined - else if (CurrentReservoir%Management%ON) then - - if (CurrentReservoir%VolumeNew < CurrentReservoir%MinVolume) then - Outflow = 0.0 - elseif (CurrentReservoir%VolumeNew < CurrentReservoir%MaxVolume) then - Outflow = CurrentReservoir%Management%MinOutflow - else !similar or over maximum - Outflow = (CurrentReservoir%VolumeNew - CurrentReservoir%MaxVolume) / Me%ExtVar%DT - endif + !avoid under min volume and above max volume after outflow integration + if (CurrentReservoir%VolumeNew - (Outflow * Me%ExtVar%DT) < CurrentReservoir%MinVolume) then + Outflow = (CurrentReservoir%VolumeNew - CurrentReservoir%MinVolume) / Me%ExtVar%DT + else if (CurrentReservoir%VolumeNew - (Outflow * Me%ExtVar%DT) > CurrentReservoir%MaxVolume) then + ![m3/s] = [m3] / [s] + Outflow = (CurrentReservoir%VolumeNew - CurrentReservoir%MaxVolume) / Me%ExtVar%DT endif - !limit to available water Outflow = min(Outflow, CurrentReservoir%VolumeNew / Me%ExtVar%DT) @@ -4191,17 +4418,7 @@ subroutine ComputeReservoirOutflows() CurrentReservoir%Outflow = Outflow - !Update Volume - CurrentReservoir%VolumeNew = CurrentReservoir%VolumeNew - CurrentReservoir%Outflow * Me%ExtVar%DT - - !volumes close to zero. use abs to not masquerade possible erros with negative volumes - if (Abs(CurrentReservoir%VolumeNew) < AlmostZero) then - CurrentReservoir%VolumeNew = 0.0 - endif - - call UpdateMatrixesFromVolume (CurrentReservoir) - - + !update outflows to DN - includes the ones from imposed discharge Me%ReservoirOutflows(CurrentReservoir%Position) = Me%ReservoirOutflows(CurrentReservoir%Position) & + CurrentReservoir%Outflow @@ -4255,8 +4472,8 @@ real function GetOutflowFromOperation(CurrentReservoir) !Local----------------------------------------------------------------- integer :: i real :: Outflow, ReservoirPercentageVolume - real :: PreviousCurvePercentageVolume, PreviousCurveOutflow - real :: NextCurvePercentageVolume, NextCurveOutflow + real :: PreviousCurvePercentageVolume, PreviousCurveOutflow, PreviousCurvePercMaxOutflow + real :: NextCurvePercentageVolume, NextCurveOutflow, NextCurvePercMaxOutflow real :: ReservoirLevel, PercentInflow real :: PreviousCurvePercInflow, NextCurvePercInflow real :: PreviousCurveLevel, NextCurveLevel @@ -4310,6 +4527,54 @@ real function GetOutflowFromOperation(CurrentReservoir) enddo do1 endif + + else if (CurrentReservoir%Management%OperationType == Operation_PercVol_PercMaxOutflow_) then + + ReservoirPercentageVolume = CurrentReservoir%VolumeNew / CurrentReservoir%MaxVolume + PreviousCurvePercentageVolume = CurrentReservoir%Management%OperationCurve(1, 1) + PreviousCurvePercMaxOutflow = CurrentReservoir%Management%OperationCurve(1, 2) + + !reservoir empty. avoid all kinds of interpolations + if (CurrentReservoir%VolumeNew < AllmostZero) then + + Outflow = 0.0 + + !reservoir lower than first point + else if (ReservoirPercentageVolume < PreviousCurvePercentageVolume) then + + !set environmental flow (if not defined is zero) + Outflow = CurrentReservoir%Management%MinOutflow + + !reservoir higherthan last point + else if (ReservoirPercentageVolume > & + CurrentReservoir%Management%OperationCurve(CurrentReservoir%Management%OperationCurvePoints, 1)) then + + !set last ouflow + Outflow = CurrentReservoir%Management%OperationCurve(CurrentReservoir%Management%OperationCurvePoints, 2) + + else + + !go trough all points to find where belongs +do12: do i = 2, CurrentReservoir%Management%OperationCurvePoints + + NextCurvePercentageVolume = CurrentReservoir%Management%OperationCurve(i, 1) + NextCurvePercMaxOutflow = CurrentReservoir%Management%OperationCurve(i, 2) + + if (ReservoirPercentageVolume >= PreviousCurvePercentageVolume & + .and. ReservoirPercentageVolume <= NextCurvePercentageVolume) then + + Outflow = LinearInterpolation(PreviousCurvePercentageVolume, PreviousCurvePercMaxOutflow, & + NextCurvePercentageVolume, NextCurvePercMaxOutflow, ReservoirPercentageVolume) & + * CurrentReservoir%Management%MaxOutflow + exit do12 + + endif + + PreviousCurvePercentageVolume = NextCurvePercentageVolume + PreviousCurvePercMaxOutflow = NextCurvePercMaxOutflow + enddo do12 + + endif elseif (CurrentReservoir%Management%OperationType == Operation_PercVol_PercInflow_) then diff --git a/Software/MOHIDLand/ModuleRunOff.F90 b/Software/MOHIDLand/ModuleRunOff.F90 index 03db89763..2d1bae66e 100644 --- a/Software/MOHIDLand/ModuleRunOff.F90 +++ b/Software/MOHIDLand/ModuleRunOff.F90 @@ -158,6 +158,10 @@ Module ModuleRunOff integer, parameter :: Celerity_ = 1 integer, parameter :: Manning_ = 2 + !Restart fiels format + integer, parameter :: BIN_ = 1 + integer, parameter :: HDF_ = 2 + !Types--------------------------------------------------------------------- type T_OutPut type (T_Time), pointer, dimension(:) :: OutTime => null() @@ -167,6 +171,8 @@ Module ModuleRunOff logical :: WriteRestartFile = .false. logical :: RestartOverwrite = .false. integer :: NextRestartOutput = 1 + integer :: RestartFormat = BIN_ + logical :: BoxFluxes = .false. logical :: OutputFloodRisk = .false. real :: FloodRiskVelCoef = null_real @@ -546,7 +552,11 @@ subroutine ConstructRunOff(ModelName, & !Reads conditions from previous run if (Me%Continuous) then - call ReadInitialFile + if (Me%OutPut%RestartFormat == BIN_) then + call ReadInitialFile_Bin + else if (Me%OutPut%RestartFormat == HDF_) then + call ReadInitialFile_Hdf + endif endif if (Me%OutPut%Yes) then @@ -1369,8 +1379,23 @@ subroutine ReadDataFile STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'ReadDataFile - ModuleRunoff - ERR450' + call GetData(Me%OutPut%RestartFormat, & + Me%ObjEnterData, & + iflag, & + SearchType = FromFile, & + keyword = 'RESTART_FILE_FORMAT', & + Default = BIN_, & + ClientModule = 'ModuleRunoff', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ReadDataFile - ModuleRunoff - ERR452' + if (Me%OutPut%RestartFormat /= BIN_ .and. Me%OutPut%RestartFormat /= HDF_) then + write (*,*) + write (*,*) 'RESTART_FILE_FORMAT options are: 1 - Binary or 2 - HDF' + stop 'ReadDataFile - ModuleRunoff - ERR455' + endif + call GetData(Me%OutPut%RestartOverwrite, & - Me%ObjEnterData, & + Me%ObjEnterData, & iflag, & SearchType = FromFile, & keyword = 'RESTART_FILE_OVERWRITE', & @@ -3434,7 +3459,7 @@ end subroutine ConstructHDF5Output !-------------------------------------------------------------------------- - subroutine ReadInitialFile + subroutine ReadInitialFile_Bin !Arguments------------------------------------------------------------- @@ -3501,7 +3526,154 @@ subroutine ReadInitialFile enddo enddo - end subroutine ReadInitialFile + end subroutine ReadInitialFile_Bin + + !-------------------------------------------------------------------------- + + subroutine ReadInitialFile_Hdf() + + + !External-------------------------------------------------------------- + integer :: STAT_CALL + + !Local----------------------------------------------------------------- + logical :: EXIST + integer :: ILB, IUB, JLB, JUB + integer :: WorkILB, WorkIUB + integer :: WorkJLB, WorkJUB + integer :: ObjHDF5 + integer :: HDF5_READ + integer :: i, j + type (T_Time) :: BeginTime, EndTimeFile, EndTime + real, dimension(:), pointer :: TimePointer + real :: DT_error + + !---------------------------------------------------------------------- + + ILB = Me%Size%ILB + IUB = Me%Size%IUB + JLB = Me%Size%JLB + JUB = Me%Size%JUB + + WorkILB = Me%WorkSize%ILB + WorkIUB = Me%WorkSize%IUB + WorkJLB = Me%WorkSize%JLB + WorkJUB = Me%WorkSize%JUB + + !---------------------------------------------------------------------- + + inquire (FILE=trim(Me%Files%InitialFile), EXIST = Exist) + +cd0: if (Exist) then + + !Gets File Access Code + call GetHDF5FileAccess (HDF5_READ = HDF5_READ) + + + ObjHDF5 = 0 + + !Opens HDF5 File + call ConstructHDF5 (ObjHDF5, & + trim(Me%Files%InitialFile), & + HDF5_READ, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleRunoff - ERR01' + + + !Get Time + call HDF5SetLimits (ObjHDF5, 1, 6, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleRunoff - ERR010' + + allocate(TimePointer(1:6)) + call HDF5ReadData (ObjHDF5, "/Time", & + "Time", & + Array1D = TimePointer, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleRunoff - ERR020' + + + call SetDate(EndTimeFile, TimePointer(1), TimePointer(2), & + TimePointer(3), TimePointer(4), & + TimePointer(5), TimePointer(6)) + + + call GetComputeTimeLimits(Me%ObjTime, BeginTime = BeginTime, EndTime = EndTime, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'ReadInitialFile - ModuleRunoff - ERR030' + + DT_error = EndTimeFile - BeginTime + + !Avoid rounding erros - Frank 08-2001 + !All runs are limited to second definition - David 10-2015 + !if (abs(DT_error) >= 0.01) then + if (abs(DT_error) >= 1) then + + write(*,*) 'The end time of the previous run is different from the start time of this run' + write(*,*) 'Date in the file' + write(*,*) TimePointer(1), TimePointer(2), TimePointer(3), TimePointer(4), TimePointer(5), TimePointer(6) + write(*,*) 'DT_error', DT_error + if (Me%StopOnWrongDate) stop 'ReadInitialFile - ModuleRunoff - ERR040' + + endif + deallocate(TimePointer) + + + ! Reads from HDF file the Property concentration and open boundary values + call HDF5SetLimits (ObjHDF5, WorkILB, WorkIUB, & + WorkJLB, WorkJUB, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleRunoff - ERR050' + + call HDF5ReadData (ObjHDF5, "/Results/water column", & + "water column", & + Array2D = Me%myWaterColumn, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleRunoff - ERR060' + + + if (Me%StormWaterDrainage) then + call HDF5ReadData (ObjHDF5, "/Results/storm water volume", & + "storm water volume", & + Array2D = Me%StormWaterVolume, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleRunoff - ERR070' + endif + + call KillHDF5 (ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'ReadInitialFile - ModuleRunoff - ERR080' + + + + !Updates Volume & Level from Column + do j = Me%WorkSize%JLB, Me%WorkSize%JUB + do i = Me%WorkSize%ILB, Me%WorkSize%IUB + + if (Me%ExtVar%BasinPoints(i, j) == 1) then + + Me%myWaterLevel(i, j) = Me%myWaterColumn(i, j) + Me%ExtVar%Topography(i, j) + Me%myWaterVolume(i, j) = Me%myWaterColumn(i, j) * Me%ExtVar%GridCellArea(i, j) + + endif + + enddo + enddo + + + else + + write(*,*) + stop 'ReadInitialFile - ModuleRunoff - ERR090' + + end if cd0 + + end subroutine ReadInitialFile_Hdf + + !-------------------------------------------------------------------------- !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -4643,7 +4815,11 @@ subroutine ModifyRunOff(RunOffID, STAT) if (Me%Output%WriteRestartFile .and. .not. (Me%ExtVar%Now == Me%EndTime)) then if(Me%ExtVar%Now >= Me%OutPut%RestartOutTime(Me%OutPut%NextRestartOutput))then IsFinalFile = .false. - call WriteFinalFile(IsFinalFile) + if (Me%OutPut%RestartFormat == BIN_) then + call WriteFinalFile_Bin(IsFinalFile) + else if (Me%OutPut%RestartFormat == HDF_) then + call WriteFinalFile_Hdf(IsFinalFile) + endif Me%OutPut%NextRestartOutput = Me%OutPut%NextRestartOutput + 1 endif endif @@ -9449,7 +9625,7 @@ end subroutine CalculateTotalStoredVolume !-------------------------------------------------------------------------- - subroutine WriteFinalFile(IsFinalFile) + subroutine WriteFinalFile_Bin(IsFinalFile) !Arguments------------------------------------------------------------- logical :: IsFinalFile @@ -9495,9 +9671,143 @@ subroutine WriteFinalFile(IsFinalFile) call UnitsManager(FinalFile, CLOSE_FILE, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFileOld - ModuleRunoff - ERR03' - end subroutine WriteFinalFile + end subroutine WriteFinalFile_Bin !------------------------------------------------------------------------ + + subroutine WriteFinalFile_Hdf(IsFinalFile) + + !Arguments------------------------------------------------------------- + logical :: IsFinalFile + !Local----------------------------------------------------------------- + integer :: STAT_CALL + !integer :: OutPutNumber + integer :: HDF5_CREATE + character(LEN = PathLength) :: FileName + integer :: ObjHDF5 + real, dimension(6), target :: AuxTime + real, dimension(:), pointer :: TimePtr + type (T_Time) :: Actual + !Begin---------------------------------------------------------------- + + !Gets a pointer to Topography + call GetGridData (Me%ObjGridData, Me%ExtVar%Topography, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR00' + + call GetBasinPoints (Me%ObjBasinGeometry, Me%ExtVar%BasinPoints, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR01' + + !Gets File Access Code + call GetHDF5FileAccess (HDF5_CREATE = HDF5_CREATE) + + !Checks if it's at the end of the run + !or !if it's supposed to overwrite the final HDF file + !if ((Me%ExtVar%Now == Me%ExtVar%EndTime) .or. Me%Output%RestartOverwrite) then + if (IsFinalFile .or. Me%Output%RestartOverwrite) then + + filename = trim(Me%Files%FinalFile) + + else + + FileName = ChangeSuffix(Me%Files%FinalFile, & + "_"//trim(TimeToString(Me%ExtVar%Now))//".fin") + + endif + + + ObjHDF5 = 0 + !Opens HDF5 File + call ConstructHDF5 (ObjHDF5, & + trim(filename), & + HDF5_CREATE, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + stop 'WriteFinalFile - ModuleRunoff - ERR10' + + Actual = Me%ExtVar%Now + + call ExtractDate (Actual, AuxTime(1), AuxTime(2), AuxTime(3), & + AuxTime(4), AuxTime(5), AuxTime(6)) + !Writes Time + TimePtr => AuxTime + call HDF5SetLimits (ObjHDF5, 1, 6, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR11' + + call HDF5WriteData (ObjHDF5, "/Time", "Time", "YYYY/MM/DD HH:MM:SS", & + Array1D = TimePtr, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR12' + + + !Sets limits for next write operations + call HDF5SetLimits (ObjHDF5, & + Me%WorkSize%ILB, & + Me%WorkSize%IUB, & + Me%WorkSize%JLB, & + Me%WorkSize%JUB, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR02' + + !Write the Horizontal Grid + call WriteHorizontalGrid(Me%ObjHorizontalGrid, ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR25' + + !Writes the Grid + call HDF5WriteData (ObjHDF5, "/Grid", "Topography", "m", & + Array2D = Me%ExtVar%Topography, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR05' + + !WriteBasinPoints + call HDF5WriteData (ObjHDF5, "/Grid", "BasinPoints", "-", & + Array2D = Me%ExtVar%BasinPoints, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR07' + + + + call HDF5SetLimits (ObjHDF5, & + Me%WorkSize%ILB, & + Me%WorkSize%IUB, & + Me%WorkSize%JLB, & + Me%WorkSize%JUB, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR10' + + call HDF5WriteData (ObjHDF5, & + "/Results/water column", & + "water column", & + "m", & + Array2D = Me%myWaterColumn, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR14' + + + if (Me%StormWaterDrainage) then + call HDF5WriteData (ObjHDF5, & + "/Results/storm water volume", & + "storm water volume", & + "m3", & + Array2D = Me%StormWaterVolume, & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR20' + endif + + + !Writes everything to disk + call HDF5FlushMemory (ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR030' + + !Unget + call UnGetBasin (Me%ObjBasinGeometry, Me%ExtVar%BasinPoints, STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR90' + + !UnGets Topography + call UnGetGridData (Me%ObjGridData, Me%ExtVar%Topography, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR100' + + call KillHDF5 (ObjHDF5, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoff - ERR0190' + + end subroutine WriteFinalFile_Hdf + + !---------------------------------------------------------------------------- !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -9536,7 +9846,11 @@ subroutine KillRunOff(RunOffID, STAT) !Writes file with final condition IsFinalFile = .true. - call WriteFinalFile(IsFinalFile) + if (Me%OutPut%RestartFormat == BIN_) then + call WriteFinalFile_Bin(IsFinalFile) + else if (Me%OutPut%RestartFormat == HDF_) then + call WriteFinalFile_Hdf(IsFinalFile) + endif !Writes Mass Error call ReadFileName("ROOT_SRT", MassErrorFile, STAT = STAT_CALL) diff --git a/Software/MOHIDLand/ModuleRunoffProperties.F90 b/Software/MOHIDLand/ModuleRunoffProperties.F90 index 60b461870..19a2d5789 100644 --- a/Software/MOHIDLand/ModuleRunoffProperties.F90 +++ b/Software/MOHIDLand/ModuleRunoffProperties.F90 @@ -9570,12 +9570,12 @@ subroutine WriteFinalFile(IsFinalFile) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoffProperties - ERR25' !Writes the Grid - call HDF5WriteData (ObjHDF5, "//Grid/Topography", "Topography", "m", & + call HDF5WriteData (ObjHDF5, "/Grid", "Topography", "m", & Array2D = Me%ExtVar%Topography, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoffProperties - ERR05' !WriteBasinPoints - call HDF5WriteData (ObjHDF5, "//Grid/BasinPoints", "BasinPoints", "-", & + call HDF5WriteData (ObjHDF5, "/Grid", "BasinPoints", "-", & Array2D = Me%ExtVar%BasinPoints, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleRunoffProperties - ERR07' diff --git a/Software/MOHIDLand/ModuleSnow.F90 b/Software/MOHIDLand/ModuleSnow.F90 index 41a515b0c..c959a5d13 100644 --- a/Software/MOHIDLand/ModuleSnow.F90 +++ b/Software/MOHIDLand/ModuleSnow.F90 @@ -1518,12 +1518,12 @@ subroutine WriteFinalFile(IsFinalFile) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleSnow - ERR070' !Writes the Grid - call HDF5WriteData (ObjHDF5, "//Grid/Topography", "Topography", "m", & + call HDF5WriteData (ObjHDF5, "/Grid", "Topography", "m", & Array2D = Me%ExtVar%Topography, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleSnow - ERR080' !WriteBasinPoints - call HDF5WriteData (ObjHDF5, "//Grid/BasinPoints", "BasinPoints", "-", & + call HDF5WriteData (ObjHDF5, "/Grid", "BasinPoints", "-", & Array2D = Me%ExtVar%BasinPoints, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'WriteFinalFile - ModuleSnow - ERR090' diff --git a/Software/MOHIDLand/ModuleVegetation.F90 b/Software/MOHIDLand/ModuleVegetation.F90 index f4bc13da2..2ada2c674 100644 --- a/Software/MOHIDLand/ModuleVegetation.F90 +++ b/Software/MOHIDLand/ModuleVegetation.F90 @@ -147,6 +147,12 @@ ! GRAZING_DAYS : 10 !Days of grazing (continuous) ! MINIMUM_BIOMASS_FOR_GRAZING : 10. !minimum biomass (kg/ha) for grazing ! GRAZING_BIOMASS : 70. !grazed biomass (kh/ha.day) +! GRAZING_FRACTION_TO_MANURE : 0.0 !fraction of grazed biomass that goes to manure in same cell and day (0-1) +! GRAZING_MANURE_NFRACTION : -99 !fraction of manure biomass that is N (0-1). If not > 0 will be the +! plant N fraction (animal digestion did not changed ratio) +! GRAZING_MANURE_NUREAFRACTION : 0.0 !fraction of manure N that is Urea (0-1). The remainder will be organic N +! GRAZING_MANURE_PFRACTION : -99 !fraction of manure biomass that is P (0-1). If not > 0 will be the +! plant P fraction (animal digestion did not changed ratio) ! TRAMPLING_BIOMASS : 30. !biomass not eaten but removed from plant and moved to soil, ! related to grazing efficiency (kg/ha.day) ! @@ -596,6 +602,10 @@ Module ModuleVegetation real :: GrazingMinimumBiomass = null_real real :: GrazingBiomass = null_real real :: TramplingBiomass = null_real + real :: GrazingFractionToManure = null_real + real :: GrazingManureNFraction = null_real + real :: GrazingManurePFraction = null_real + real :: GrazingManureNUreaFraction = null_real end type T_GrazingDatabase type T_HarvestKillDatabase @@ -825,9 +835,10 @@ Module ModuleVegetation end type T_VegetationType type T_FluxesToSoil - real, dimension(:,:), pointer :: GrazingBiomassToSoil => null() - real, dimension(:,:), pointer :: GrazingNitrogenToSoil => null() - real, dimension(:,:), pointer :: GrazingPhosphorusToSoil => null() + real, dimension(:,:), pointer :: GrazingBiomassToSoil => null() + real, dimension(:,:), pointer :: GrazingOrganicNToSoil => null() + real, dimension(:,:), pointer :: GrazingAmmoniaToSoil => null() + real, dimension(:,:), pointer :: GrazingOrganicPToSoil => null() real, dimension(:,:), pointer :: HarvestKillBiomassToSoil => null() real, dimension(:,:), pointer :: HarvestKillNitrogenToSoil => null() real, dimension(:,:), pointer :: HarvestKillPhosphorusToSoil => null() @@ -3811,16 +3822,20 @@ subroutine AllocateEvolutionVariables allocate(Me%Fluxes%NitrogenGrazed (ILB:IUB,JLB:JUB)) Me%Fluxes%NitrogenGrazed (:,:) = 0.0 - allocate(Me%Fluxes%ToSoil%GrazingNitrogenToSoil (ILB:IUB,JLB:JUB)) - Me%Fluxes%ToSoil%GrazingNitrogenToSoil (:,:) = 0.0 + allocate(Me%Fluxes%ToSoil%GrazingOrganicNToSoil (ILB:IUB,JLB:JUB)) + Me%Fluxes%ToSoil%GrazingOrganicNToSoil (:,:) = 0.0 + + allocate(Me%Fluxes%ToSoil%GrazingAmmoniaToSoil (ILB:IUB,JLB:JUB)) + Me%Fluxes%ToSoil%GrazingAmmoniaToSoil (:,:) = 0.0 + endif if (Me%ComputeOptions%ModelPhosphorus) then allocate(Me%Fluxes%PhosphorusGrazed (ILB:IUB,JLB:JUB)) Me%Fluxes%PhosphorusGrazed (:,:) = 0.0 - allocate(Me%Fluxes%ToSoil%GrazingPhosphorusToSoil (ILB:IUB,JLB:JUB)) - Me%Fluxes%ToSoil%GrazingPhosphorusToSoil (:,:) = 0.0 + allocate(Me%Fluxes%ToSoil%GrazingOrganicPToSoil (ILB:IUB,JLB:JUB)) + Me%Fluxes%ToSoil%GrazingOrganicPToSoil (:,:) = 0.0 endif endif @@ -6347,7 +6362,45 @@ subroutine ReadGrazingParameters (ivt, ClientNumber,ParameterObjEnterData) ClientModule = 'ModuleVegetation', & STAT = STAT_CALL) if (STAT_CALL .NE. SUCCESS_) stop 'ReadGrazingDatabase - ModuleVegetation - ERR80' - + + !grazing biomass fraction that is converted to manure. this will be placed in same cell grazed and in same cell + !If this case does not suit needs can use fertilization events to implement manure + call GetData(Me%VegetationTypes(ivt)%GrazingDatabase%GrazingFractionToManure, ParameterObjEnterData, iflag, & + SearchType = FromBlockInBlock, & + Default = 0., & + keyword = 'GRAZING_FRACTION_TO_MANURE', & + ClientModule = 'ModuleVegetation', & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) stop 'ReadGrazingDatabase - ModuleVegetation - ERR81' + + !Fraction of manure biomass that is N - organism changes fraction. if <0 will be used plant fraction (no change in fraction) + call GetData(Me%VegetationTypes(ivt)%GrazingDatabase%GrazingManureNFraction, ParameterObjEnterData, iflag, & + SearchType = FromBlockInBlock, & + Default = -99., & + keyword = 'GRAZING_MANURE_NFRACTION', & + ClientModule = 'ModuleVegetation', & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) stop 'ReadGrazingDatabase - ModuleVegetation - ERR82' + + !Fraction of manure N that is urea (put in ammonia pool in soil) + call GetData(Me%VegetationTypes(ivt)%GrazingDatabase%GrazingManureNUreaFraction, ParameterObjEnterData, iflag, & + SearchType = FromBlockInBlock, & + Default = 0., & + keyword = 'GRAZING_MANURE_NUREAFRACTION', & + ClientModule = 'ModuleVegetation', & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) stop 'ReadGrazingDatabase - ModuleVegetation - ERR83' + + !Fraction of manure biomass that is P - organism changes fraction. if <0 will be used plant fraction (no change in fraction) + call GetData(Me%VegetationTypes(ivt)%GrazingDatabase%GrazingManurePFraction, ParameterObjEnterData, iflag, & + SearchType = FromBlockInBlock, & + Default = -99., & + keyword = 'GRAZING_MANURE_PFRACTION', & + ClientModule = 'ModuleVegetation', & + STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) stop 'ReadGrazingDatabase - ModuleVegetation - ERR84' + + !leftover in soil that is not eaten (related to grazing efficiency) but taken from plant call GetData(Me%VegetationTypes(ivt)%GrazingDatabase%TramplingBiomass, ParameterObjEnterData, iflag, & SearchType = FromBlockInBlock, & Default = 0., & @@ -8212,6 +8265,7 @@ subroutine GetVegetationSoilFluxes(VegetationID, & GrazingBiomass, & GrazingNitrogen, & GrazingPhosphorus, & + GrazingAmmonia, & HarvestKillAerialBiomass, & HarvestKillNitrogen, & HarvestKillPhosphorus, & @@ -8242,6 +8296,7 @@ subroutine GetVegetationSoilFluxes(VegetationID, & integer :: VegetationID logical, dimension(:,:), pointer, optional :: SoilFluxesActive real, dimension(:,:), pointer, optional :: GrazingBiomass + real, dimension(:,:), pointer, optional :: GrazingAmmonia real, dimension(:,:), pointer, optional :: GrazingNitrogen real, dimension(:,:), pointer, optional :: GrazingPhosphorus real, dimension(:,:), pointer, optional :: HarvestKillAerialBiomass @@ -8289,8 +8344,9 @@ subroutine GetVegetationSoilFluxes(VegetationID, & if (present(SoilFluxesActive )) SoilFluxesActive => Me%SoilFluxesActive if (present(GrazingBiomass )) GrazingBiomass => Me%Fluxes%ToSoil%GrazingBiomassToSoil - if (present(GrazingNitrogen )) GrazingNitrogen => Me%Fluxes%ToSoil%GrazingNitrogenToSoil - if (present(GrazingPhosphorus )) GrazingPhosphorus => Me%Fluxes%ToSoil%GrazingPhosphorusToSoil + if (present(GrazingNitrogen )) GrazingNitrogen => Me%Fluxes%ToSoil%GrazingOrganicNToSoil + if (present(GrazingAmmonia )) GrazingAmmonia => Me%Fluxes%ToSoil%GrazingAmmoniaToSoil + if (present(GrazingPhosphorus )) GrazingPhosphorus => Me%Fluxes%ToSoil%GrazingOrganicPToSoil if (present(HarvestKillAerialBiomass )) HarvestKillAerialBiomass => Me%Fluxes%ToSoil%HarvestKillBiomassToSoil if (present(HarvestKillNitrogen )) HarvestKillNitrogen => Me%Fluxes%ToSoil%HarvestKillNitrogenToSoil if (present(HarvestKillPhosphorus )) HarvestKillPhosphorus => Me%Fluxes%ToSoil%HarvestKillPhosphorusToSoil @@ -8499,6 +8555,7 @@ end subroutine UnGetVegetationAerialFluxes subroutine UngetVegetationSoilFluxes(VegetationID, & SoilFluxesActive, & GrazingBiomass, & + GrazingAmmonia, & GrazingNitrogen, & GrazingPhosphorus, & HarvestKillAerialBiomass, & @@ -8529,6 +8586,7 @@ subroutine UngetVegetationSoilFluxes(VegetationID, & integer :: VegetationID logical, dimension(:,:), pointer, optional :: SoilFluxesActive real, dimension(:,:), pointer, optional :: GrazingBiomass + real, dimension(:,:), pointer, optional :: GrazingAmmonia real, dimension(:,:), pointer, optional :: GrazingNitrogen real, dimension(:,:), pointer, optional :: GrazingPhosphorus real, dimension(:,:), pointer, optional :: HarvestKillAerialBiomass @@ -8571,6 +8629,7 @@ subroutine UngetVegetationSoilFluxes(VegetationID, & if (present(SoilFluxesActive )) nullify(SoilFluxesActive) if (present(GrazingBiomass )) nullify(GrazingBiomass) if (present(GrazingNitrogen )) nullify(GrazingNitrogen) + if (present(GrazingAmmonia )) nullify(GrazingAmmonia) if (present(GrazingPhosphorus )) nullify(GrazingPhosphorus) if (present(HarvestKillAerialBiomass)) nullify(HarvestKillAerialBiomass) if (present(HarvestKillNitrogen )) nullify(HarvestKillNitrogen) @@ -9049,11 +9108,12 @@ subroutine NullifyFluxes Me%Fluxes%ToSoil%GrazingBiomassToSoil (:,:) = 0.0 if (Me%ComputeOptions%ModelNitrogen) then Me%Fluxes%NitrogenGrazed (:,:) = 0.0 - Me%Fluxes%ToSoil%GrazingNitrogenToSoil (:,:) = 0.0 + Me%Fluxes%ToSoil%GrazingOrganicNToSoil (:,:) = 0.0 + Me%Fluxes%ToSoil%GrazingAmmoniaToSoil (:,:) = 0.0 endif if (Me%ComputeOptions%ModelPhosphorus) then Me%Fluxes%PhosphorusGrazed (:,:) = 0.0 - Me%Fluxes%ToSoil%GrazingPhosphorusToSoil (:,:) = 0.0 + Me%Fluxes%ToSoil%GrazingOrganicPToSoil (:,:) = 0.0 endif endif @@ -12991,6 +13051,11 @@ subroutine GrazingFluxes real :: PhosphorusRemovedInDormancy, PhosphorusRemovedInHarvest real :: GrazingMinimumBiomass real :: GrazingBiomass + real :: ManureBiomass, ManureNitrogen, ManureAmmonia, ManureOrganicN + real :: ManurePhosphorus, ManureOrganicP + real :: GrazingManureFraction, GrazingManureNFraction + real :: GrazingManureNUreaFraction + real :: GrazingManurePFraction real :: TramplingBiomass real :: BiomassGrazed real :: NitrogenGrazed @@ -13038,14 +13103,17 @@ subroutine GrazingFluxes endif endif PredictedBiomass = TotalPlantBiomass - BiomassRemovedInDormancy - BiomassRemovedInHarvest - + ManureBiomass = 0.0 + !! graze only if adequate biomass in HRU if (PredictedBiomass .gt. GrazingMinimumBiomass) then !Kg/ha GrazingBiomass = Me%VegetationTypes(Me%VegetationID(i,j))%GrazingDatabase%GrazingBiomass TramplingBiomass = Me%VegetationTypes(Me%VegetationID(i,j))%GrazingDatabase%TramplingBiomass - + + GrazingManureFraction = Me%VegetationTypes(Me%VegetationID(i,j))%GrazingDatabase%GrazingFractionToManure + !! biomass grazing flux BiomassGrazed = GrazingBiomass @@ -13062,20 +13130,28 @@ subroutine GrazingFluxes if ((PredictedBiomass - BiomassGrazed - TramplingBiomass) & .lt. GrazingMinimumBiomass) then BiomassTrampled = PredictedBiomass - BiomassGrazed - GrazingMinimumBiomass - endif + endif + !Manure + if (GrazingManureFraction > 0.0) then + ManureBiomass = BiomassGrazed * GrazingManureFraction + endif !!Fill fluxes !!Plant point of view - Sum grazing and trampling Me%Fluxes%BiomassGrazed(i,j) = BiomassGrazed + BiomassTrampled - !Soil Point of View - Recieve only trampling fluxes. Manure in future - Me%Fluxes%ToSoil%GrazingBiomassToSoil(i,j) = BiomassTrampled + !Soil Point of View - Recieve trampling fluxes + Manure (from grazing) + Me%Fluxes%ToSoil%GrazingBiomassToSoil(i,j) = BiomassTrampled + ManureBiomass if (Me%ComputeOptions%ModelNitrogen) then TotalPlantNitrogen = Me%StateVariables%TotalPlantNitrogen(i,j) + + GrazingManureNFraction = Me%VegetationTypes(Me%VegetationID(i,j))%GrazingDatabase%GrazingManureNFraction + GrazingManureNUreaFraction = & + Me%VegetationTypes(Me%VegetationID(i,j))%GrazingDatabase%GrazingManureNUreaFraction NitrogenRemovedInDormancy = 0.0 if (Me%ComputeOptions%Dormancy .and. Me%PlantGoingDormant(i,j)) then @@ -13099,11 +13175,32 @@ subroutine GrazingFluxes if ((NitrogenGrazed + NitrogenTrampled) .gt. PredictedNitrogen) then NitrogenTrampled = PredictedNitrogen - NitrogenGrazed endif - + + !get manure N fraction. if not existing use plant n fraction + if (GrazingManureNFraction .le. 0.0) then + ManureNitrogen = ManureBiomass * Me%PlantNitrogenFraction (i,j) + else + ManureNitrogen = ManureBiomass * GrazingManureNFraction + endif + !manure can not be greater then grazed + if (ManureNitrogen .gt. NitrogenGrazed) then + ManureNitrogen = NitrogenGrazed + endif + + !Separate in organic and inorganic + !Urea fraction of N + if (GrazingManureNUreaFraction .le. 0.0) then + ManureOrganicN = ManureNitrogen + ManureAmmonia = 0.0 + else + ManureOrganicN = ManureNitrogen * (1 - GrazingManureNUreaFraction) + ManureAmmonia = ManureNitrogen * GrazingManureNUreaFraction + endif + Me%Fluxes%NitrogenGrazed(i,j) = NitrogenGrazed + NitrogenTrampled - Me%Fluxes%ToSoil%GrazingNitrogenToSoil(i,j) = NitrogenTrampled - + Me%Fluxes%ToSoil%GrazingOrganicNToSoil(i,j) = NitrogenTrampled + ManureOrganicN + Me%Fluxes%ToSoil%GrazingAmmoniaToSoil(i,j) = ManureAmmonia endif if (Me%ComputeOptions%ModelPhosphorus) then @@ -13135,9 +13232,24 @@ subroutine GrazingFluxes PhosphorusTrampled = PredictedPhosphorus - PhosphorusGrazed endif + + !get manure P fraction. if not existing use plant P fraction + if (GrazingManurePFraction .le. 0.0) then + ManurePhosphorus = ManureBiomass * Me%PlantPhosphorusFraction (i,j) + else + ManurePhosphorus = ManureBiomass * GrazingManurePFraction + endif + !manure can not be greater then grazed + if (ManurePhosphorus .gt. PhosphorusGrazed) then + ManurePhosphorus = PhosphorusGrazed + endif + + !only organic + ManureOrganicP = ManurePhosphorus + Me%Fluxes%PhosphorusGrazed(i,j) = PhosphorusGrazed + PhosphorusTrampled - Me%Fluxes%ToSoil%GrazingPhosphorusToSoil(i,j) = PhosphorusTrampled + Me%Fluxes%ToSoil%GrazingOrganicPToSoil(i,j) = PhosphorusTrampled + ManureOrganicP endif @@ -15134,12 +15246,12 @@ subroutine Modify_OutPutTimeSeries if (STAT_CALL /= SUCCESS_) stop 'OutPutTimeSeries - ModuleVegetation - ERR045' if (Me%ComputeOptions%ModelNitrogen) then - call WriteTimeSerie (Me%ObjTimeSerieToSoil, Data2D = Me%Fluxes%ToSoil%GrazingNitrogenToSoil, & + call WriteTimeSerie (Me%ObjTimeSerieToSoil, Data2D = Me%Fluxes%ToSoil%GrazingOrganicNToSoil, & STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'OutPutTimeSeries - ModuleVegetation - ERR046' endif if (Me%ComputeOptions%ModelPhosphorus) then - call WriteTimeSerie (Me%ObjTimeSerieToSoil, Data2D = Me%Fluxes%ToSoil%GrazingPhosphorusToSoil, & + call WriteTimeSerie (Me%ObjTimeSerieToSoil, Data2D = Me%Fluxes%ToSoil%GrazingOrganicPToSoil, & STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) stop 'OutPutTimeSeries - ModuleVegetation - ERR047' endif @@ -15844,12 +15956,12 @@ subroutine DeAllocateVariables if (Me%ComputeOptions%ModelNitrogen) then deallocate(Me%Fluxes%NitrogenGrazed ) - deallocate(Me%Fluxes%ToSoil%GrazingNitrogenToSoil ) + deallocate(Me%Fluxes%ToSoil%GrazingOrganicNToSoil ) endif if (Me%ComputeOptions%ModelPhosphorus) then deallocate(Me%Fluxes%PhosphorusGrazed ) - deallocate(Me%Fluxes%ToSoil%GrazingPhosphorusToSoil ) + deallocate(Me%Fluxes%ToSoil%GrazingOrganicPToSoil ) endif endif diff --git a/Software/MOHIDLand/MohidLand.F90 b/Software/MOHIDLand/MohidLand.F90 index cf2c306af..ca300e64f 100644 --- a/Software/MOHIDLand/MohidLand.F90 +++ b/Software/MOHIDLand/MohidLand.F90 @@ -230,7 +230,7 @@ subroutine ConstructMohidLand !Update Current Time CurrentTime = BeginTime - if(SyncDT) NextSyncTime = BeginTime + SyncDTInterval + if(VariableDT .and. SyncDT) NextSyncTime = BeginTime + SyncDTInterval !Constructs Basin call ConstructBasin (ObjBasinID = ObjBasin, ObjTime = ObjComputeTime, ModelName = ModelName, & @@ -503,7 +503,7 @@ logical function DoOneTimeStep () !The split of difference to synctime in half makes that a lower next DT probably will make the model pass with no dt !reduction from Modules (but even increase) and in subsquent DT's the synctime will be surpassed with a DT not very !different from the original (or in the order of half) - if (SyncDT .and. DoOneTimeStep) then + if (SyncDT) then !if passed time to sync, cut dt to sync time if (CurrentTime + DT >= NextSyncTime) then diff --git a/Software/MOHIDWater/ModuleHNS.F90 b/Software/MOHIDWater/ModuleHNS.F90 index 992e675fa..0aa57fdfe 100644 --- a/Software/MOHIDWater/ModuleHNS.F90 +++ b/Software/MOHIDWater/ModuleHNS.F90 @@ -1376,7 +1376,7 @@ subroutine UpdateHNSParticleState SumFractionSedimentedDT = (MEvaporatedDT + MEntrainedDT + MDissolvedDT + MSedimentedDT) /InitialMass MinimumProbability = min(SumFractionEvaporatedDT, SumFractionEntrainedDT, SumFractionDissolvedDT, & SumFractionSedimentedDT) - SampleSize = nint(1./ MinimumProbability) + !SampleSize = nint(1./ MinimumProbability) if (RAND < SumFractionEvaporatedDT) then diff --git a/Software/MOHIDWater/ModuleInterfaceWaterAir.F90 b/Software/MOHIDWater/ModuleInterfaceWaterAir.F90 index daa46d337..45f48fd85 100644 --- a/Software/MOHIDWater/ModuleInterfaceWaterAir.F90 +++ b/Software/MOHIDWater/ModuleInterfaceWaterAir.F90 @@ -348,11 +348,15 @@ Module ModuleInterfaceWaterAir private :: T_Property type T_Property type(T_PropertyID) :: ID - real, dimension(:,:), pointer :: Field => null() - real, dimension(:,:), pointer :: FieldU => null() !vectorial field rotated to grid cells - U comp. - real, dimension(:,:), pointer :: FieldV => null() !vectorial field rotated to grid cells - V comp. - real, dimension(:,:), pointer :: FieldX => null() !vectorial original field - X (zonal component) - real, dimension(:,:), pointer :: FieldY => null() !vectorial original field - Y (meridional comp.) + real, dimension(:,:), pointer :: Field => null() + !vectorial field rotated to grid cells - U comp. + real, dimension(:,:), pointer :: FieldU => null() + !vectorial field rotated to grid cells - V comp. + real, dimension(:,:), pointer :: FieldV => null() + !vectorial original field - X (zonal component) + real, dimension(:,:), pointer :: FieldX => null() + !vectorial original field - Y (meridional comp.) + real, dimension(:,:), pointer :: FieldY => null() type(T_Evolution) :: Evolution integer :: SVPMethod = 1 integer :: C1 = 1 diff --git a/Software/MOHIDWater/ModuleLagrangianGlobal.F90 b/Software/MOHIDWater/ModuleLagrangianGlobal.F90 index 707a1fc94..a7cdb4e09 100644 --- a/Software/MOHIDWater/ModuleLagrangianGlobal.F90 +++ b/Software/MOHIDWater/ModuleLagrangianGlobal.F90 @@ -413,7 +413,8 @@ Module ModuleLagrangianGlobal GetDataOnlineString, SetMatrixValue, TimeToString, & ChangeSuffix, ConstructPropertyID, & DistanceBetweenTwoGPSPoints, WGS84toGoogleMaps, & - SettlingVelSecondaryClarifier + SettlingVelSecondaryClarifier, & + WaveLengthHuntsApproximation use ModuleEnterData, only : ReadFileName, ConstructEnterData, GetData, & ExtractBlockFromBuffer, ExtractBlockFromBlock, & Block_Unlock, GetOutPutTime, RewindBuffer, & @@ -1280,6 +1281,7 @@ Module ModuleLagrangianGlobal !Stokes Drift integer :: StokesDriftMethod = LonguetHigginsGeneric ! real :: R_ice = null_real + logical :: WaveLengthFromPeriod = .false. end type T_Movement @@ -5181,7 +5183,6 @@ subroutine ConstructOneOrigin(NewOrigin, ClientNumber) end select - endif !WINDCOEF @@ -12820,6 +12821,8 @@ subroutine ActualizeMeteoOcean() enddo d1 if (Me%State%MeteoOcean) then + + nMOPtotal = Me%MeteoOcean%PropNumber allocate (Matrix1DX(nPtotal)) allocate (Matrix1DY(nPtotal)) @@ -12845,10 +12848,23 @@ subroutine ActualizeMeteoOcean() CurrentPartic => CurrentPartic%Next nP = nP + 1 enddo + + if (CurrentOrigin%State%StokesDrift) then + CurrentOrigin%Movement%WaveLengthFromPeriod = .true. + do nMOP = 1, nMOPtotal + if (Me%MeteoOcean%Prop(nMOP)%ID%IDNumber == WaveLength_) then + CurrentOrigin%Movement%WaveLengthFromPeriod = .false. + exit + endif + enddo + endif + CurrentOrigin => CurrentOrigin%Next enddo d2 - nMOPtotal = Me%MeteoOcean%PropNumber + + + do3: do nMOP = 1, nMOPtotal if (Me%MeteoOcean%Prop(nMOP)%ID%IDNumber == bathymetry_) cycle @@ -12867,7 +12883,8 @@ subroutine ActualizeMeteoOcean() call ModifyField4DXYZ(Field4DID = Me%MeteoOcean%Prop(nMOP)%Field(nF)%ID, & PropertyIDNumber = Me%MeteoOcean%Prop(nMOP)%ID%IDNumber, & - CurrentTime = Me%ExternalVar%Now, & + !CurrentTime = Me%ExternalVar%Now, & + CurrentTime = Me%NextCompute, & X = Matrix1DX, & Y = Matrix1DY, & Z = Matrix1DZ, & @@ -12984,6 +13001,15 @@ subroutine ActualizeMeteoOceanPartic(CurrentPartic, PropIDNumber, PropValue, elseif (PropIDNumber == WaveDirection_ ) then CurrentPartic%WaveDirection = PropValue + + if (CurrentPartic%WaveDirection > 360. .and. CurrentPartic%WaveDirection <= 720.) then + CurrentPartic%WaveDirection = CurrentPartic%WaveDirection - 360. + endif + + if (CurrentPartic%WaveDirection >= -360. .and. CurrentPartic%WaveDirection < 0.) then + CurrentPartic%WaveDirection = CurrentPartic%WaveDirection + 360. + endif + CurrentPartic%SolutionWD = Solution elseif (PropIDNumber == WaveLength_ ) then @@ -15782,7 +15808,16 @@ subroutine MoveParticHorizontal (CurrentOrigin, ThicknessGradient, Fay, Spreadin WaterDepth = Me%EulerModel(emp)%WaterColumn(i, j) WaveAmplitude = CurrentPartic%WaveHeight / 2. - WaveLength = CurrentPartic%WaveLength + + if (CurrentOrigin%Movement%WaveLengthFromPeriod) then + if (WavePeriod < 1e-3) then + CurrentPartic%WaveLength = 0. + else + CurrentPartic%WaveLength = WaveLengthHuntsApproximation(WavePeriod, WaterDepth) + end if + endif + + WaveLength = CurrentPartic%WaveLength If (WaveLength > 0.) then WaveNumber = 2 * Pi / WaveLength diff --git a/Software/MOHIDWater/ModuleSand.F90 b/Software/MOHIDWater/ModuleSand.F90 index ea79c9296..456a43cec 100644 --- a/Software/MOHIDWater/ModuleSand.F90 +++ b/Software/MOHIDWater/ModuleSand.F90 @@ -110,6 +110,8 @@ Module ModuleSand private :: ComputeHybridMorphEvolution private :: ComputeAlongShoreFlow1D private :: ComputeProfileCrossShoreMovement + private :: ComputeAlongShoreDZ1D + private :: ComputeProfileCrossShoreMovementDZ private :: ComputeNewBathymetryFromNewProfiles private :: InterpolateNewBathymProfile !Update the bathym increment using the HybridMoprh methodology @@ -340,6 +342,8 @@ Module ModuleSand integer, dimension(:), pointer :: OffShoreMapping => null() real(8), dimension(:), pointer :: AlongShoreFlux => null() real(8), dimension(:), pointer :: ResidualAlongShoreFlux => null() + real(8), dimension(:), pointer :: AlongShoreDZ => null() + real(8), dimension(:), pointer :: ResidualAlongShoreDZ => null() integer :: DintegLongShore = 1 real(8), dimension(:), pointer :: CrossShoreVel => null() real(8), dimension(:), pointer :: ResidualCrossShoreVel => null() @@ -2505,6 +2509,8 @@ subroutine ConstructHybridMorph allocate(Me%HybridMorph%OffShoreMapping (Min1D:Max1D)) allocate(Me%HybridMorph%AlongShoreFlux (Min1D:Max1D)) allocate(Me%HybridMorph%ResidualAlongShoreFlux(Min1D:Max1D)) + allocate(Me%HybridMorph%AlongShoreDZ (Min1D:Max1D)) + allocate(Me%HybridMorph%ResidualAlongShoreDZ (Min1D:Max1D)) allocate(Me%HybridMorph%CrossShoreVel (Min1D:Max1D)) allocate(Me%HybridMorph%ResidualCrossShoreVel (Min1D:Max1D)) @@ -2513,6 +2519,8 @@ subroutine ConstructHybridMorph Me%HybridMorph%AlongShoreFlux (Min1D:Max1D) = 0. Me%HybridMorph%ResidualAlongShoreFlux(Min1D:Max1D) = 0. + Me%HybridMorph%AlongShoreDZ (Min1D:Max1D) = 0. + Me%HybridMorph%ResidualAlongShoreDZ (Min1D:Max1D) = 0. Me%HybridMorph%CrossShoreVel (Min1D:Max1D) = 0. Me%HybridMorph%ResidualCrossShoreVel (Min1D:Max1D) = 0. @@ -4822,8 +4830,12 @@ subroutine ComputeHybridMorphEvolution call ComputeAlongShoreFlow1D + + !call ComputeProfileCrossShoreMovement - call ComputeProfileCrossShoreMovement + call ComputeAlongShoreDZ1D + + call ComputeProfileCrossShoreMovementDZ call ComputeNewBathymetryFromNewProfiles @@ -4876,9 +4888,11 @@ subroutine ComputeAlongShoreFlow1D endif endif - !Integrate in the "j direction" - from "ILB" line = coast line - Me%HybridMorph%AlongShoreFlux(j) = Me%HybridMorph%AlongShoreFlux(j) + Me%FluxXIntegral(i, j) - + if (StartProfile) then + !Integrate in the "j direction" - from "ILB" line = coast line + Me%HybridMorph%AlongShoreFlux(j) = Me%HybridMorph%AlongShoreFlux(j) + Me%FluxXIntegral(i, j) + endif + enddo if (.not. EndProfile) then @@ -5052,6 +5066,228 @@ end subroutine ComputeAlongShoreFlow1D !-------------------------------------------------------------------------- + !-------------------------------------------------------------------------- + + subroutine ComputeAlongShoreDZ1D + + !Local----------------------------------------------------------------- + real :: RunPeriod + integer :: i, j + logical :: StartProfile, EndProfile + !---------------------------------------------------------------------- + + Me%HybridMorph%AlongShoreDZ(:) = 0. + + + !ILB coast line + if (Me%HybridMorph%CoastBoundary == ILB_) then + + do j=Me%WorkSize%JLB, Me%WorkSize%JUB + + StartProfile = .false. + EndProfile = .false. + + do i=Me%WorkSize%ILB, Me%WorkSize%IUB + + !Defines the first cell of the beach profile + if (Me%ExternalVar%WaterPoints2D(i, j) == WaterPoint .and. .not. StartProfile) then + StartProfile = .true. + Me%HybridMorph%InShoreMapping(j) = i + endif + + !Found a land cell (e.g. detached breakwater) - the sand profile active area ends so the alongshore transport integration also ends + if (StartProfile) then + !If the closure depth is reached - the sand profile active area ends so the alongshore transport integration also ends + if (Me%ExternalVar%InitialBathym(i,j) > Me%HybridMorph%ClosureDepth) then + Me%HybridMorph%OffShoreMapping(j) = i-1 + EndProfile = .true. + exit + endif + endif + + if (StartProfile) then + !Integrate in the "i direction" - from "ILB" line = coast line to closure depth + Me%HybridMorph%AlongShoreDZ(j) = Me%HybridMorph%AlongShoreDZ(j) + & + Me%DZ%Field2D(i, j) * Me%ExternalVar%DVY(i, j) / Me%HybridMorph%ClosureDepth + endif + + enddo + + if (.not. EndProfile) then + Me%HybridMorph%OffShoreMapping(j) = Me%WorkSize%IUB + endif + + if (Me%HybridMorph%InShoreMapping(j) == FillValueInt) then + stop 'ComputeAlongShoreDZ1D - ModuleSand - ERR10' + endif + + if (Me%HybridMorph%OffShoreMapping(j) == FillValueInt) then + stop 'ComputeAlongShoreDZ1D - ModuleSand - ERR20' + endif + + enddo + + else if (Me%HybridMorph%CoastBoundary == IUB_) then + + do j=Me%WorkSize%JLB, Me%WorkSize%JUB + + StartProfile = .false. + EndProfile = .false. + + do i=Me%WorkSize%IUB, Me%WorkSize%ILB, -1 + + !Defines the first cell of the beach profile + if (Me%ExternalVar%WaterPoints2D(i, j) == WaterPoint .and. .not. StartProfile) then + StartProfile = .true. + !The first water point of the profile do not move never is fixed in time + Me%HybridMorph%InShoreMapping(j) = i + endif + + !Found a land cell (e.g. detached breakwater) - the sand profile active area ends so the alongshore transport integration also ends + if (StartProfile) then + !If the closure depth is reached - the sand profile active area ends so the alongshore transport integration also ends + if (Me%ExternalVar%InitialBathym(i,j) > Me%HybridMorph%ClosureDepth) then + Me%HybridMorph%OffShoreMapping(j) = i+1 + EndProfile = .true. + exit + endif + endif + + if (StartProfile) then + !Integrate in the "i direction" - from "IUB" line = coast line to closure depth + Me%HybridMorph%AlongShoreDZ(j) = Me%HybridMorph%AlongShoreDZ(j) + & + Me%DZ%Field2D(i, j) * Me%ExternalVar%DVY(i, j) / Me%HybridMorph%ClosureDepth + endif + enddo + + if (.not. EndProfile) then + Me%HybridMorph%OffShoreMapping(j) = Me%WorkSize%ILB + endif + + if (Me%HybridMorph%InShoreMapping(j) == FillValueInt) then + stop 'ComputeAlongShoreDZ1D - ModuleSand - ERR30' + endif + + if (Me%HybridMorph%OffShoreMapping(j) == FillValueInt) then + stop 'ComputeAlongShoreDZ1D - ModuleSand - ERR40' + endif + + enddo + + else if (Me%HybridMorph%CoastBoundary == JLB_) then + + do i=Me%WorkSize%ILB, Me%WorkSize%IUB + + StartProfile = .false. + EndProfile = .false. + + do j=Me%WorkSize%JLB, Me%WorkSize%JUB + + !Defines the first cell of the beach profile + if (Me%ExternalVar%WaterPoints2D(i, j) == WaterPoint .and. .not. StartProfile) then + StartProfile = .true. + + !The first water point of the profile do not move never is fixed in time + Me%HybridMorph%InShoreMapping(i) = j + + endif + + !Found a land cell (e.g. detached breakwater) - the sand profile active area ends so the alongshore transport integration also ends + if (StartProfile) then + !If the closure depth is reached - the sand profile active area ends so the alongshore transport integration also ends + if (Me%ExternalVar%InitialBathym(i,j) > Me%HybridMorph%ClosureDepth) then + Me%HybridMorph%OffShoreMapping(i) = j-1 + EndProfile = .true. + exit + endif + endif + + if (StartProfile) then + !Integrate in the "j direction" - from "JLB" line = coast line to closure depth + Me%HybridMorph%AlongShoreDZ(i) = Me%HybridMorph%AlongShoreDZ(i) + & + Me%DZ%Field2D(i, j) * Me%ExternalVar%DUX(i, j) / Me%HybridMorph%ClosureDepth + endif + enddo + + if (.not. EndProfile) then + Me%HybridMorph%OffShoreMapping(i) = Me%WorkSize%JUB + endif + + if (Me%HybridMorph%InShoreMapping(i) == FillValueInt) then + stop 'ComputeAlongShoreDZ1D - ModuleSand - ERR50' + endif + + if (Me%HybridMorph%OffShoreMapping(i) == FillValueInt) then + stop 'ComputeAlongShoreDZ1D - ModuleSand - ERR60' + endif + + enddo + + else if (Me%HybridMorph%CoastBoundary == JUB_) then + + do i=Me%WorkSize%ILB, Me%WorkSize%IUB + + StartProfile = .false. + EndProfile = .false. + + do j = Me%WorkSize%JUB, Me%WorkSize%JLB, -1 + + !Defines the first cell of the beach profile + if (Me%ExternalVar%WaterPoints2D(i, j) == WaterPoint .and. .not. StartProfile) then + StartProfile = .true. + !The first water point of the profile do not move never is fixed in time + Me%HybridMorph%InShoreMapping(i) = j + endif + + !Found a land cell (e.g. detached breakwater) - the sand profile active area ends so the alongshore transport integration also ends + if (StartProfile) then + !If the closure depth is reached - the sand profile active area ends so the alongshore transport integration also ends + if (Me%ExternalVar%InitialBathym(i,j) > Me%HybridMorph%ClosureDepth) then + Me%HybridMorph%OffShoreMapping(i) = j+1 + EndProfile = .true. + exit + endif + endif + + if (StartProfile) then + !Integrate in the "j direction" - from "JUB" line = coast line to closure depth + Me%HybridMorph%AlongShoreDZ(i) = Me%HybridMorph%AlongShoreDZ(i) + & + Me%DZ%Field2D(i, j) * Me%ExternalVar%DUX(i, j) / Me%HybridMorph%ClosureDepth + endif + enddo + + if (.not. EndProfile) then + Me%HybridMorph%OffShoreMapping(i) = Me%WorkSize%JLB + endif + + if (Me%HybridMorph%InShoreMapping(i) == FillValueInt) then + stop 'ComputeAlongShoreDZ1D - ModuleSand - ERR70' + endif + + if (Me%HybridMorph%OffShoreMapping(i) == FillValueInt) then + stop 'ComputeAlongShoreDZ1D - ModuleSand - ERR80' + endif + + enddo + + endif + + call BoundaryCondition1D(Me%HybridMorph%AlongShoreDZ, Me%HybridMorph%Min1D, Me%HybridMorph%Max1D) + + RunPeriod = Me%ExternalVar%Now- Me%Residual%StartTime + + + Me%HybridMorph%ResidualAlongShoreDZ(:) = ( Me%HybridMorph%ResidualAlongShoreDZ(:) * & + (RunPeriod - Me%Evolution%DZDT) + & + Me%HybridMorph%AlongShoreDZ(:) * & + Me%Evolution%DZDT) / RunPeriod + + end subroutine ComputeAlongShoreDZ1D + + + !-------------------------------------------------------------------------- + + subroutine ComputeProfileCrossShoreMovement !Local----------------------------------------------------------------- @@ -5187,6 +5423,129 @@ end subroutine ComputeProfileCrossShoreMovement !-------------------------------------------------------------------------- + subroutine ComputeProfileCrossShoreMovementDZ + + !Local----------------------------------------------------------------- + real(8), pointer, dimension(:) :: Aux1D + real :: RunPeriod, K + integer :: i, j, ij, imin, imax, di, iaux + + !---------------------------------------------------------------------- + + Me%HybridMorph%CrossShoreVel(:) = 0. + + !ILB or IUB coast line + if (Me%HybridMorph%CoastBoundary == ILB_ .or. Me%HybridMorph%CoastBoundary == IUB_) then + + if (Me%HybridMorph%CoastBoundary == ILB_) then + ij = Me%WorkSize%ILB + endif + if (Me%HybridMorph%CoastBoundary == IUB_) then + ij = Me%WorkSize%IUB + endif + + do j= Me%WorkSize%JLB, Me%WorkSize%JUB + + ! [m/s] = [m/s] + [m] / [s] + Me%HybridMorph%CrossShoreVel(j) = Me%HybridMorph%CrossShoreVel(j) + & + Me%HybridMorph%AlongShoreDZ(j) / Me%Evolution%DZDT + + enddo + + else if (Me%HybridMorph%CoastBoundary == JLB_ .or. Me%HybridMorph%CoastBoundary == JUB_) then + + if (Me%HybridMorph%CoastBoundary == JLB_) then + ij = Me%WorkSize%JLB + endif + if (Me%HybridMorph%CoastBoundary == JUB_) then + ij = Me%WorkSize%JUB + endif + + + do i=Me%WorkSize%ILB, Me%WorkSize%IUB + + ! [m/s] = [m/s] + [m] / [s] + Me%HybridMorph%CrossShoreVel(i) = Me%HybridMorph%CrossShoreVel(i) + & + Me%HybridMorph%AlongShoreDZ(i) / Me%Evolution%DZDT + + enddo + + endif + + call BoundaryCondition1D(Me%HybridMorph%CrossShoreVel, Me%HybridMorph%Min1D, Me%HybridMorph%Max1D) + + if (Me%HybridMorph%DintegLongShore > 1) then + + allocate (Aux1D(Me%HybridMorph%Min1D:Me%HybridMorph%Max1D)) + + Aux1D(Me%HybridMorph%Min1D:Me%HybridMorph%Max1D) = & + Me%HybridMorph%CrossShoreVel(Me%HybridMorph%Min1D:Me%HybridMorph%Max1D) + + do j = Me%HybridMorph%Min1D+1, Me%HybridMorph%Max1D-1 + + imin=max(Me%HybridMorph%Min1D,j- Me%HybridMorph%DintegLongShore) + imax=min(Me%HybridMorph%Max1D,j+ Me%HybridMorph%DintegLongShore) + + Me%HybridMorph%CrossShoreVel(j) = 0. + + di = imax-imin + do i = imin, imax + Me%HybridMorph%CrossShoreVel(j) = Me%HybridMorph%CrossShoreVel(j) + Aux1D(i)/real(di) + enddo + + enddo + + deallocate (Aux1D) + + call BoundaryCondition1D(Me%HybridMorph%CrossShoreVel, Me%HybridMorph%Min1D, Me%HybridMorph%Max1D) + + endif + + + + RunPeriod = Me%ExternalVar%Now- Me%Residual%StartTime + + + Me%HybridMorph%ResidualCrossShoreVel(:) = ( Me%HybridMorph%ResidualCrossShoreVel(:) * & + (RunPeriod - Me%Evolution%DZDT) + & + Me%HybridMorph%CrossShoreVel(:) * & + Me%Evolution%DZDT) / RunPeriod + +! !Biharmonic filter + + allocate (Aux1D(Me%HybridMorph%Min1D:Me%HybridMorph%Max1D)) + + Aux1D(Me%HybridMorph%Min1D:Me%HybridMorph%Max1D) = 0 + + K = 1./8. + + do j = Me%HybridMorph%Min1D+1, Me%HybridMorph%Max1D-1 + Aux1D(j) = (Me%HybridMorph%ResidualCrossShoreVel(j-1)- 2.* Me%HybridMorph%ResidualCrossShoreVel(j) + & + Me%HybridMorph%ResidualCrossShoreVel(j+1)) + enddo + + call BoundaryCondition1D(Aux1D, Me%HybridMorph%Min1D, Me%HybridMorph%Max1D) + + do j = Me%HybridMorph%Min1D+1, Me%HybridMorph%Max1D-1 + Me%HybridMorph%ResidualCrossShoreVel(j) = Me%HybridMorph%ResidualCrossShoreVel(j) - K*(Aux1D(j-1)- & + 2. * Aux1D(j) + Aux1D(j+1)) + enddo + + deallocate (Aux1D) + + call BoundaryCondition1D(Me%HybridMorph%ResidualCrossShoreVel, Me%HybridMorph%Min1D, Me%HybridMorph%Max1D) + + !Buffer area adjacent to open boundary with no transport + if (Me%HybridMorph%NoTransportBufferCells > 0) then + iaux = Me%HybridMorph%NoTransportBufferCells + Me%HybridMorph%ResidualCrossShoreVel(Me%HybridMorph%Min1D : Me%HybridMorph%Min1D+iaux) = 0. + Me%HybridMorph%ResidualCrossShoreVel(Me%HybridMorph%Max1D-iaux: Me%HybridMorph%Max1D ) = 0. + endif + + end subroutine ComputeProfileCrossShoreMovementDZ + + !-------------------------------------------------------------------------- + subroutine ComputeNewBathymetryFromNewProfiles diff --git a/Software/MOHIDWater/ModuleWaterProperties.F90 b/Software/MOHIDWater/ModuleWaterProperties.F90 index 5bb286818..2596c8030 100644 --- a/Software/MOHIDWater/ModuleWaterProperties.F90 +++ b/Software/MOHIDWater/ModuleWaterProperties.F90 @@ -44,6 +44,11 @@ ! RESTART_FILE_OUTPUT_TIME : sec. sec. sec. - !Output Time to write restart files ! RESTART_FILE_OVERWRITE : 0/1 [1] !Overwrite intermediate restart files ! TIME_SERIE_LOCATION : char - !Path to time serie location file + +! SIMPLE_OUTPUT : logical 1 !By default the output is only for the properties + !However, if the user considers the 0 option several secondries properties will be output +! SIMPLE_WINDOW_OUTPUT : logical 1 !The same of SIMPLE_OUTPUT but for the windows output option + ! BOXFLUXES : char - !If specified computes box integration ! !based on boxes file defined by this keyword ! ALTIMETRIC_ASSIMILATION : 0/1 - !Cooper-Haines altimetry assimilation method @@ -836,7 +841,7 @@ Module ModuleWaterProperties end type T_Evolution type T_LocalAssimila - real :: scalar = FillValueReal + real :: scalar = FillValueReal real, pointer, dimension(:,:,:) :: Field real, pointer, dimension(:,:,:) :: DecayTime end type T_LocalAssimila @@ -865,6 +870,7 @@ Module ModuleWaterProperties real :: C_CHLA real, pointer, dimension(:,:,:) :: Aux3D real, pointer, dimension(:,:) :: Aux2D + logical :: Simple = .false. end type T_OutPut type T_OutW @@ -3092,10 +3098,10 @@ subroutine Construct_CohortPropertiesFromFile (NewProperty, Species, OverrideKey !if (NewProperty%Evolution%DataAssimilation /= NoNudging) then - allocate (NewProperty%Assimilation%Field(ILB:IUB, JLB:JUB, KLB:KUB), STAT = STAT_CALL) - if (STAT_CALL .NE. SUCCESS_) & - call CloseAllAndStop ('Construct_CohortPropertiesFromFile - ModuleWaterProperties - ERR30') - NewProperty%Assimilation%Field(:,:,:) = FillValueReal + allocate (NewProperty%Assimilation%Field(ILB:IUB, JLB:JUB, KLB:KUB), STAT = STAT_CALL) + if (STAT_CALL .NE. SUCCESS_) & + call CloseAllAndStop ('Construct_CohortPropertiesFromFile - ModuleWaterProperties - ERR30') + NewProperty%Assimilation%Field(:,:,:) = FillValueReal !endif @@ -11695,8 +11701,17 @@ subroutine ConstructGlobalOutput if (STAT_CALL /= SUCCESS_) & call SetError(FATAL_, KEYWORD_, "ConstructGlobalOutput - WaterProperties - ERR70") - - + call GetData(Me%OutPut%Simple, & + Me%ObjEnterData, & + iflag, & + SearchType = FromFile, & + keyword = 'SIMPLE_OUTPUT', & + Default = .false., & + ClientModule = 'ModuleWaterProperties', & + STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + call SetError(FATAL_, KEYWORD_, "ConstructGlobalOutput - WaterProperties - ERR80") + end subroutine ConstructGlobalOutput @@ -12675,9 +12690,20 @@ subroutine RecvWaterPropertiesMPI (WaterPropertiesID, Source, Window, InitialFie InitialField = InitialField) if (.not. InitialField) then + + if ((PropertySon%SubModel%VertComunic == FatherSonDifDim) .or. & + (PropertySon%SubModel%VertComunic == Father3DSon2D)) then + + !Get time for interpolation from aux variables + PropertySon%SubModel%GetFatherTime = PropertySon%SubModel%NextTime & + + PropertySon%Evolution%DTInterval + + endif + PropertySon%SubModel%PreviousTime = PropertySon%SubModel%NextTime PropertySon%SubModel%NextTime = PropFatherLastCompute endif + if (PropertySon%SubModel%VertComunic == FatherSonEqualDim) then @@ -12742,7 +12768,7 @@ subroutine UpdateWaterMPI (WaterPropertiesID, InitialField, PropIDNumber, STAT) if (PropertySon%SubModel%VertComunic == FatherSonEqualDim) then - !PropFatherOld can be set to opld because initial field is false + !PropFatherOld can be set to old because initial field is false call ActualizeSubModelValues(PropertySon, PropFatherOld = .false., InitialField = InitialField) else if (PropertySon%SubModel%VertComunic == Father2DSon3D) then @@ -12877,7 +12903,7 @@ subroutine SetWaterPropFather (WaterPropertiesSonID, WaterPropertiesFatherID, !Get time for interpolation from aux variables PropertySon%SubModel%GetFatherTime = PropertySon%SubModel%NextTime & + PropertySon%Evolution%DTInterval - + endif PropertySon%SubModel%PreviousTime = PropertySon%SubModel%NextTime @@ -13514,7 +13540,7 @@ Subroutine ActualizeSon3DFather3D (PropertySon, PropFatherOld, InitialField) !An TimeCoef = 1 endif - + !Ang: new father-son implementation !Get father layers (just shorten variables) KLBFather = PropertySon%SubModel%FatherKLB @@ -13564,7 +13590,7 @@ Subroutine ActualizeSon3DFather3D (PropertySon, PropFatherOld, InitialField) !An endif if(InitialField)then - + !ACanas: Next cycle is not parallelized because of function call !ACanas: inside cycle iterations. @@ -13615,7 +13641,7 @@ Subroutine ActualizeSon3DFather3D (PropertySon, PropFatherOld, InitialField) !An PropertySon%SubModel%PreviousField(i,j,k) = & PropertySon%SubModel%NextField(i,j,k) - + endif !Perform time interpolation @@ -13646,6 +13672,8 @@ Subroutine ActualizeSon3DFather3D (PropertySon, PropFatherOld, InitialField) !An !$OMP END MASTER else + + !$OMP DO SCHEDULE(DYNAMIC,CHUNK) do j = JLB, JUB do i = ILB, IUB @@ -13664,7 +13692,7 @@ Subroutine ActualizeSon3DFather3D (PropertySon, PropFatherOld, InitialField) !An Aux = kfather + 1 exit else - Values(kfather) = PropertySon%SubModel%Aux_Field(i,j,kfather) + Values(kfather) = PropertySon%SubModel%Aux_Field(i,j,kfather) Depths(kfather) = - PropertySon%SubModel%Aux_ZCellCenter(i,j,kfather) endif enddo @@ -13715,7 +13743,7 @@ Subroutine ActualizeSon3DFather3D (PropertySon, PropFatherOld, InitialField) !An PropertySon%SubModel%PreviousField(i, j, k) * (1 - TimeCoef) !(only the assimilation field is changed: it can or not be used) - + else !do nothing? endif @@ -20053,6 +20081,8 @@ subroutine DataAssimilationProcesses STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) & call CloseAllAndStop ('DataAssimilationProcesses; WaterProperties. ERR20') + + Property%Assimilation%Field(:,:,:) = PropAssimilation(:,:,:) end if i4 @@ -21765,6 +21795,8 @@ subroutine OutPut_Results_HDF(iW) OutPutNumber = Me%OutPut%TotalOutputs - OutPutNumber + 1 endif + if (Me%OutPut%Simple) SimpleOutPut = .true. + endif TOut: if (Actual >= OutTime) then @@ -21827,8 +21859,7 @@ subroutine OutPut_Results_HDF(iW) "Kg/m3", Array3D = Me%Density%Field, & OutputNumber = OutPutNumber, STAT = STAT_CALL) if (STAT_CALL /= SUCCESS_) call CloseAllAndStop ('OutPut_Results_HDF - ModuleWaterProperties - ERR70') - - + endif sp endif First @@ -21860,6 +21891,18 @@ subroutine OutPut_Results_HDF(iW) call CloseAllAndStop ('OutPut_Results_HDF - ModuleWaterProperties - ERR100') + if (associated(PropertyX%Assimilation%Field) .and. .not. SimpleOutPut) then + + call HDF5WriteData(ObjHDF5, & + trim(AuxGroup)//'Assimila/'//PropertyX%ID%Name, & + PropertyX%ID%Name, & + PropertyX%ID%Units, & + Array3D = PropertyX%Assimilation%Field, & + OutputNumber = OutPutNumber, STAT = STAT_CALL) + if (STAT_CALL /= SUCCESS_) & + call CloseAllAndStop ('OutPut_Results_HDF - ModuleWaterProperties - ERR110') + endif + if (PropertyX%Evolution%Filtration%On .and. .not. SimpleOutPut) then call HDF5WriteData(ObjHDF5, & @@ -21872,6 +21915,7 @@ subroutine OutPut_Results_HDF(iW) call CloseAllAndStop ('OutPut_Results_HDF - ModuleWaterProperties - ERR120') endif + if (PropertyX%Evolution%FreeVerticalMovement .and. PropertyX%OutputHDFSedVel) then @@ -22495,11 +22539,9 @@ subroutine OutPutHDF_AditionalFields (OutPutNumber, iW) nullify(PropPhytoplankton) - - endif i6 - - - + + endif i6 + if (Me%OutPut%DO_PercentSat) then nullify(PropTemperature ) diff --git a/Software/SmallTools/Convert2netcdf/ConvertToNETCDF.F90 b/Software/SmallTools/Convert2netcdf/ConvertToNETCDF.F90 index d86f02b95..e480c6925 100644 --- a/Software/SmallTools/Convert2netcdf/ConvertToNETCDF.F90 +++ b/Software/SmallTools/Convert2netcdf/ConvertToNETCDF.F90 @@ -2514,7 +2514,8 @@ subroutine ReadDataSet(obj_name, gr_id, item, nGItems) if (kfloor > FillValueInt) then - Depth1D (kfloor:Me%HDFFile%Size%KUB) = Me%Depth3DIN(i,j,kfloor:Me%HDFFile%Size%KUB) + !Depth = distance to surface + Depth1D (kfloor:Me%HDFFile%Size%KUB) = Me%Depth3DIN(i,j,kfloor:Me%HDFFile%Size%KUB)- Me%Depth3DIN(i,j,Me%HDFFile%Size%KUB) Matrix1D(kfloor:Me%HDFFile%Size%KUB) = Me%Float3DIn(i,j,kfloor:Me%HDFFile%Size%KUB) do k=1,Me%DepthLayers diff --git a/Solutions/Linux/BasinDelineation/Makefile b/Solutions/Linux/BasinDelineation/Makefile deleted file mode 100644 index 03720f496..000000000 --- a/Solutions/Linux/BasinDelineation/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -#------------------------------------------------------------------------------ -# IST/MARETEC, Water Modelling Group, Mohid modelling system -#------------------------------------------------------------------------------ -# -# TITLE : Mohid Model -# PROJECT : Mohid Water -# URL : http://www.mohid.com -# AFFILIATION : IST/MARETEC, Marine Modelling Group -# DATE : September 2006 -# REVISION : Ana Rosa Trancoso -# DESCRIPTION : Makefile -#------------------------------------------------------------------------------ -# -#This program is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License -#version 2, as published by the Free Software Foundation. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#------------------------------------------------------------------------------ - -INCS = -I$(HDF5) -I$(BASE1INC) -I$(BASE2INC) -LIBS = $(BASELIBS) $(HDFLIBS) -SRCDIR = $(SRCREP)/BasinDelineation -FILES = \ - BasinDelimiter.$(S) -TARGET = BasinDelineation$(SUFFPROG) - -#----------Makefile rules-------------- - -SHELL = /bin/sh - -include ../Makefiles/Makefiles.mk - -#--------Dependencies list------------- - -BasinDelimiter.$(Obj) : -# -#--------End of dependencies list--------- - -#--------------------------------------------------------------------------------------------------- -#MOHID Water Modelling System. -#Copyright (C) 1985, 1998, 2002, 2005. Instituto Superior Tcnico, Technical University of Lisbon. -#--------------------------------------------------------------------------------------------------- diff --git a/Solutions/Linux/Config.template b/Solutions/Linux/Config.template deleted file mode 100644 index 0f77e2ccb..000000000 --- a/Solutions/Linux/Config.template +++ /dev/null @@ -1,143 +0,0 @@ -#!/bin/bash - -#PLEASE EDIT UNCOMMENTED LINES -#BEFORE RUNNING THE MOHID MAKEFILE - -#Edit the prefix of the installed binaries -# > make nix.install -# ex.: export VER = x64_single -export VER = x64_double - -#Where do you want to install the binary files? -# > make nix.install -# ex.: export DESTDIR = /usr/bin/mohid -export DESTDIR = - -#Must compile for DEBUG? -# Two valid options: -# true -# false -# ex.: export IS_DEBUG = true -export IS_DEBUG = false - -#Where are your intel libraries? -export INTEL_PATH = - -#Where are the hdf5 libraries (with --enable-fortran) in your system? -# ex.: export HDF5INC = /home/Projects/hdf5/hdf5-1.6.5/hdf5/lib -# export HDF5LIB = /home/Projects/hdf5/hdf5-1.6.5/hdf5/lib -export HDF5INC = -export HDF5LIB = - -#Where is the libz.a in your system? -# ex.: export ZLIBINC = /usr/lib64 -export ZLIBINC = - -#Activate the extra modules that require the mpi libraries -# Two valid options: -# true -# false -# ex.: export IS_MPI = true -export IS_MPI = false - -#Where is the netcdf.mod and libnetcdf.a (built with ./configure with --enable-fortran) in your system? -# : export MPILIBPATH = /usr/lib64 -export MPILIBPATH = -export MPIINC = - -#Activate the extra modules that require the PhreeqcRM libraries -# Two valid options: -# true -# false -# ex.: export IS_PHREEQCRM = true -export IS_PHREEQCRM = false - -#Where is libphreeqcrm.a in your system? -# : export PHREEQCRMLIBPATH = /usr/lib64 -export PHREEQCRMLIBPATH = - -#StdC++ libraries. If IS_PHREEQCRM = true, it will be used automatically -export CPPLIBS = -lstdc++ -export IS_STDCPP = false - -#Activate the extra modules that require the OpenMP libraries -# Two valid options: -# true -# false -# ex.: export IS_OPENMP = true -export IS_OPENMP = false - -#Activate the extra modules that require the netcdf libraries -# Two valid options: -# true -# false -# ex.: export IS_NETCDF = true -export IS_NETCDF = false - -#Where is the netcdf.mod and libnetcdf.a (built with ./configure with --enable-fortran) in your system? -# ex.: export NETCDFINC = /usr/include -# : export NETCDFLIB = /usr/lib64 -export NETCDFINC = -export NETCDFLIB = - -#Activate the extra modules that require the proj4 libraries -# Two valid options: -# true -# false -# ex.: export IS_PROJ4F = true -export IS_PROJ4F = false - -#Where is the proj4.inc and libfproj4.a (static)? -# ex.: export PROJ4FINC=/home/arosa/Downloads/libfproj4/include -# export PROJ4FLIB=/home/arosa/Downloads/libfproj4/lib -export PROJ4FINC= -export PROJ4FLIB= - -FPP_DEFINES := - -ifeq ($(IS_NETCDF),false) - FPP_DEFINES := ${FPP_DEFINES} -D_NO_NETCDF -endif - -ifeq ($(IS_PROJ4F),true) - FPP_DEFINES := ${FPP_DEFINES} -D_USE_PROJ4 -endif - -ifeq ($(IS_MPI),true) - FPP_DEFINES := ${FPP_DEFINES} -D_USE_MPI -endif - -ifeq ($(IS_PHREEQCRM),true) - FPP_DEFINES := ${FPP_DEFINES} -D_PHREEQC_ -endif - -#Find GIT Respository revision, branch and if there is local changes -PERSONAL := '$(shell ./test_local_changes.sh)' -LAST_COMMIT := '$(shell ./get_last_version.sh)' -LOCAL_BRANCH := '$(shell ./get_branch_name.sh)' -REMOTE := '$(shell ./test_remote_changes.sh)' -COMPILING_DATE := '$(shell date)' - -#Uncomment or add the desired pre-processing definitiions -#FPP_DEFINES := ${FPP_DEFINES} -D_INCREASE_MAXINSTANCES -#FPP_DEFINES := ${FPP_DEFINES} -D_SHORT_LINE_LENGTH -#FPP_DEFINES := ${FPP_DEFINES} -D_LONG_LINE_LENGTH -#FPP_DEFINES := ${FPP_DEFINES} -D_EXTRA_LONG_LINE_LENGTH -#FPP_DEFINES := ${FPP_DEFINES} -D_EXTRA_SHORT_LINE_LENGTH -#FPP_DEFINES := ${FPP_DEFINES} -D_LAGRANGIAN_ -#FPP_DEFINES := ${FPP_DEFINES} -D_WAVES_ -#FPP_DEFINES := ${FPP_DEFINES} -DOVERLAP -#FPP_DEFINES := ${FPP_DEFINES} -D_SEDIMENT_ -#FPP_DEFINES := ${FPP_DEFINES} -D_AIR_ -FPP_DEFINES := ${FPP_DEFINES} -D_STACK_LIMITS_ -FPP_DEFINES := ${FPP_DEFINES} -D_LAGRANGIAN_GLOBAL_ - -#Change 'user' to your name -FPP_DEFINES := ${FPP_DEFINES} -D_COMPILED_BY=\"user\" -FPP_DEFINES := ${FPP_DEFINES} -D_COMPILING_DATE=\"${COMPILING_DATE}\" -FPP_DEFINES := ${FPP_DEFINES} -D_BRANCH=\"${LOCAL_BRANCH}\" -FPP_DEFINES := ${FPP_DEFINES} -D_LASTCOMMIT=\"${LAST_COMMIT}\" -FPP_DEFINES := ${FPP_DEFINES} -D_PERSONAL=\"${PERSONAL}\" -FPP_DEFINES := ${FPP_DEFINES} -D_REMOTE=\"${REMOTE}\" - -export FPP_DEFINES diff --git a/Solutions/Linux/ConvertToHDF5/Makefile b/Solutions/Linux/ConvertToHDF5/Makefile deleted file mode 100644 index a8c7c0258..000000000 --- a/Solutions/Linux/ConvertToHDF5/Makefile +++ /dev/null @@ -1,154 +0,0 @@ -#------------------------------------------------------------------------------ -# IST/MARETEC, Water Modelling Group, Mohid modelling system -#------------------------------------------------------------------------------ -# -# TITLE : Mohid Model -# PROJECT : Mohid Water -# URL : http://www.mohid.com -# AFFILIATION : IST/MARETEC, Marine Modelling Group -# DATE : September 2006 -# REVISION : Guillaume Riflet - v1.0 -# DESCRIPTION : Makefile -#------------------------------------------------------------------------------ -# -#This program is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License -#version 2, as published by the Free Software Foundation. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#------------------------------------------------------------------------------ - -INCS := -I$(HDF5MODINC) -I$(BASE1INC) -I$(BASE2INC) -LIBS = $(BASELIBS) $(HDFLIBS) - -ifeq ($(IS_NETCDF),true) - INCS := $(INCS) -I$(NETCDFINC) -I$(CONVERT2NETCDFINC) - LIBS := $(MODULENETCDFOBJ) $(LIBS) $(NETCDFLIBS) -endif - -ifeq ($(IS_PROJ4F),true) - INCS := $(INCS) -I$(PROJ4FINC) - LIBS := $(LIBS) $(PROJ4FLIBS) -endif - -SRCDIR = $(SRCREP)/ConvertToHDF5 - -NCFILES := -NCFILES := $(NCFILES) ModuleAladinFormat.$(S) -NCFILES := $(NCFILES) ModuleARPSFormat.$(S) -NCFILES := $(NCFILES) ModuleARPSToWW3.$(S) -NCFILES := $(NCFILES) ModuleCFFormat.$(S) -NCFILES := $(NCFILES) ModuleCFPolcomFormat.$(S) -NCFILES := $(NCFILES) ModuleCOWAMAAsciiWind.$(S) -NCFILES := $(NCFILES) ModuleERA40Format.$(S) -NCFILES := $(NCFILES) ModuleHYCOMFormat.$(S) -NCFILES := $(NCFILES) ModuleMERCATORFormat.$(S) -NCFILES := $(NCFILES) ModuleMOG2DFormat.$(S) -NCFILES := $(NCFILES) ModuleWOAFormat.$(S) -NCFILES := $(NCFILES) ModuleNetCDFCF_2_HDF5MOHID.$(S) -NCFILES := $(NCFILES) ModuleIHRadarFormat.$(S) -NCFILES := $(NCFILES) ncdflib.$(S) - -PROJ4FILES := -PROJ4FILES := $(PROJ4FILES) ModuleWRFFormat.$(S) - -FILES := -FILES := $(FILES) ConvertToHDF5.$(S) -#FILES := $(FILES) ModuleConvertModisL2.$(S) -#FILES := $(FILES) ModuleConvertModisL3Mapped.$(S) -#FILES := $(FILES) ModuleConvertOceanColorL2.$(S) -FILES := $(FILES) ModuleEUCenterFormat.$(S) -FILES := $(FILES) ModuleGFSasciiWind.$(S) -FILES := $(FILES) ModuleGlueHDF5Files.$(S) -FILES := $(FILES) ModuleHDF5ToASCIIandBIN.$(S) -FILES := $(FILES) ModuleHellermanRosensteinAscii.$(S) -FILES := $(FILES) ModuleInterpolateGrids.$(S) -FILES := $(FILES) ModuleInterpolateTime.$(S) -FILES := $(FILES) ModuleLevitusFormat.$(S) -FILES := $(FILES) ModuleMM5Format.$(S) -FILES := $(FILES) ModulePatchHDF5Files.$(S) -FILES := $(FILES) ModuleSWAN.$(S) -FILES := $(FILES) ModuleTecnoceanAscii.$(S) - -ifeq ($(IS_NETCDF),true) - FILES := $(FILES) $(NCFILES) -endif - -ifeq ($(IS_PROJ4F),true) - FILES := $(FILES) $(PROJ4FILES) -endif - -TARGET = ConvertToHDF5$(SUFFPROG) - -#----------Makefile rules-------------- - -SHELL = /bin/sh - -include ../Makefiles/Makefiles.mk - -#--------Dependencies list------------- - -NCCONVERTDEPEND := -NCCONVERTDEPEND := $(NCCONVERTDEPEND) ModuleAladinFormat.$(Obj) -NCCONVERTDEPEND := $(NCCONVERTDEPEND) ModuleARPSFormat.$(Obj) -NCCONVERTDEPEND := $(NCCONVERTDEPEND) ModuleARPSToWW3.$(Obj) -NCCONVERTDEPEND := $(NCCONVERTDEPEND) ModuleCFFormat.$(Obj) -NCCONVERTDEPEND := $(NCCONVERTDEPEND) ModuleCFPolcomFormat.$(Obj) -NCCONVERTDEPEND := $(NCCONVERTDEPEND) ModuleCOWAMAAsciiWind.$(Obj) -NCCONVERTDEPEND := $(NCCONVERTDEPEND) ModuleERA40Format.$(Obj) -NCCONVERTDEPEND := $(NCCONVERTDEPEND) ModuleHYCOMFormat.$(Obj) -NCCONVERTDEPEND := $(NCCONVERTDEPEND) ModuleMERCATORFormat.$(Obj) -NCCONVERTDEPEND := $(NCCONVERTDEPEND) ModuleMOG2DFormat.$(Obj) -NCCONVERTDEPEND := $(NCCONVERTDEPEND) ModuleWOAFormat.$(Obj) -NCCONVERTDEPEND := $(NCCONVERTDEPEND) ModuleNetCDFCF_2_HDF5MOHID.$(Obj) -NCCONVERTDEPEND := $(NCCONVERTDEPEND) ModuleIHRadarFormat.$(Obj) - -CONVERTDEPEND := -#CONVERTDEPEND := $(CONVERTDEPEND) ModuleConvertModisL2.$(Obj) -#CONVERTDEPEND := $(CONVERTDEPEND) ModuleConvertModisL3Mapped.$(Obj) -#CONVERTDEPEND := $(CONVERTDEPEND) ModuleConvertOceanColorL2.$(Obj) -CONVERTDEPEND := $(CONVERTDEPEND) ModuleEUCenterFormat.$(Obj) -CONVERTDEPEND := $(CONVERTDEPEND) ModuleGFSasciiWind.$(Obj) -CONVERTDEPEND := $(CONVERTDEPEND) ModuleGlueHDF5Files.$(Obj) -CONVERTDEPEND := $(CONVERTDEPEND) ModuleHDF5ToASCIIandBIN.$(Obj) -CONVERTDEPEND := $(CONVERTDEPEND) ModuleHellermanRosensteinAscii.$(Obj) -CONVERTDEPEND := $(CONVERTDEPEND) ModuleInterpolateGrids.$(Obj) -CONVERTDEPEND := $(CONVERTDEPEND) ModuleInterpolateTime.$(Obj) -CONVERTDEPEND := $(CONVERTDEPEND) ModuleLevitusFormat.$(Obj) -CONVERTDEPEND := $(CONVERTDEPEND) ModuleMM5Format.$(Obj) -CONVERTDEPEND := $(CONVERTDEPEND) ModulePatchHDF5Files.$(Obj) -CONVERTDEPEND := $(CONVERTDEPEND) ModuleSWAN.$(Obj) -CONVERTDEPEND := $(CONVERTDEPEND) ModuleTecnoceanAscii.$(Obj) - -PROJ4CONVERTDEPEND := -PROJ4CONVERTDEPEND := $(PROJ4CONVERTDEPEND) ModuleWRFFormat.$(Obj) - -ifeq ($(IS_NETCDF),true) - CONVERTDEPEND := $(CONVERTDEPEND) $(NCCONVERTDEPEND) -endif - -ifeq ($(IS_PROJ4F),true) - CONVERTDEPEND := $(CONVERTDEPEND) $(PROJ4CONVERTDEPEND) -endif - -## ---dependencies actually are only defined here ----- -ifeq ($(IS_NETCDF),true) - $(NCCONVERTDEPEND) : ncdflib.$(Obj) -endif -ConvertToHDF5.${Obj} : $(CONVERTDEPEND) -## --- end of actual dependencies - -#--------End of dependencies list--------- - -#---------------------------------------------------------------------------------------------------------- -#MOHID Water Modelling System. -#Copyright (C) 1985, 1998, 2002, 2005. Instituto Superior Tcnico, Technical University of Lisbon. -#---------------------------------------------------------------------------------------------------------- diff --git a/Solutions/Linux/ConvertToXYZ/Makefile b/Solutions/Linux/ConvertToXYZ/Makefile deleted file mode 100644 index b09bc27d9..000000000 --- a/Solutions/Linux/ConvertToXYZ/Makefile +++ /dev/null @@ -1,83 +0,0 @@ -#------------------------------------------------------------------------------ -# IST/MARETEC, Water Modelling Group, Mohid modelling system -#------------------------------------------------------------------------------ -# -# TITLE : Mohid Model -# PROJECT : Mohid Water -# URL : http://www.mohid.com -# AFFILIATION : IST/MARETEC, Marine Modelling Group -# DATE : September 2006 -# REVISION : Ana Rosa Trancoso -# DESCRIPTION : Makefile -#------------------------------------------------------------------------------ -# -#This program is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License -#version 2, as published by the Free Software Foundation. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#------------------------------------------------------------------------------ - -INCS = -I$(HDF5MODINC) -I$(BASE1INC) -I$(BASE2INC) -LIBS = $(BASELIBS) $(HDFLIBS) - -ifeq ($(IS_NETCDF),true) - INCS := $(INCS) -I$(NETCDFINC) - LIBS := $(LIBS) $(NETCDFLIBS) -endif - -SRCDIR = $(SRCREP)/ConvertToXYZ -FILES := \ - ModuleASCII.$(S) \ - ModuleEtopo2.$(S) \ - ModuleEtopo5.$(S) \ - ModuleNASA.$(S) \ - ModuleNOAAShoreLine.$(S) \ - ModuleSRTM30.$(S) \ - ConvertToXYZ.$(S) -NCFILES := \ - ModuleGEBCO.$(S) - -ifeq ($(IS_NETCDF),true) - FILES := $(FILES) $(NCFILES) -endif - -TARGET = ConvertToXYZ$(SUFFPROG) - -#----------Makefile rules-------------- - -SHELL = /bin/sh - -include ../Makefiles/Makefiles.mk - -#--------Dependencies list------------- - -CONVERTDEPEND := ModuleASCII.$(Obj) \ - ModuleEtopo2.$(Obj) \ - ModuleEtopo5.$(Obj) \ - ModuleNASA.$(Obj) \ - ModuleNOAAShoreLine.$(Obj) \ - ModuleSRTM30.$(Obj) -NCCONVERTDEPEND := \ - ModuleGEBCO.$(Obj) - -ifeq ($(IS_NETCDF),true) - CONVERTDEPEND := $(CONVERTDEPEND) $(NCCONVERTDEPEND) -endif - -ConvertToXYZ.$(Obj) : $(CONVERTDEPEND) - -#--------End of dependencies list--------- - -#--------------------------------------------------------------------------------------------------- -#MOHID Water Modelling System. -#Copyright (C) 1985, 1998, 2002, 2005. Instituto Superior Tcnico, Technical University of Lisbon. -#--------------------------------------------------------------------------------------------------- diff --git a/Solutions/Linux/DDC/DDCParser/Makefile b/Solutions/Linux/DDC/DDCParser/Makefile deleted file mode 100644 index d7c02ab2b..000000000 --- a/Solutions/Linux/DDC/DDCParser/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -#------------------------------------------------------------------------------ -# IST/MARETEC, Water Modelling Group, Mohid modelling system -#------------------------------------------------------------------------------ -# -# TITLE : Mohid Model -# PROJECT : Mohid Water -# URL : http://www.mohid.com -# AFFILIATION : IST/MARETEC, Marine Modelling Group -# DATE : September 2006 -# REVISION : Guillaume Riflet - v1.0 -# DESCRIPTION : Makefile -#------------------------------------------------------------------------------ -# -#This program is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License -#version 2, as published by the Free Software Foundation. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#------------------------------------------------------------------------------ - -INCS = -I$(HDF5INC) -I$(BASE1INC) -LIBS = $(BASELIBS) $(HDFLIBS) -SRCDIR = $(SRCREP)/DDCParser -FILES = \ - ModuleHashTable.$(S) \ - DDCParser.$(S) -TARGET = DDCParser$(SUFFPROG) - -#----------Makefile rules-------------- - -SHELL = /bin/sh - -include ../Makefiles/Makefiles.mk - -#--------Dependencies list------------- - -DDCParser.${Obj} : ModuleHashTable.${Obj} - -#--------End of dependencies list--------- - -#---------------------------------------------------------------------------------------------------------- -#MOHID Water Modelling System. -#Copyright (C) 2014. Instituto Superior Tcnico, Technical University of Lisbon. -#---------------------------------------------------------------------------------------------------------- diff --git a/Solutions/Linux/DDC/DDCWorker/Makefile b/Solutions/Linux/DDC/DDCWorker/Makefile deleted file mode 100644 index 8eb32fffa..000000000 --- a/Solutions/Linux/DDC/DDCWorker/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -#------------------------------------------------------------------------------ -# IST/MARETEC, Water Modelling Group, Mohid modelling system -#------------------------------------------------------------------------------ -# -# TITLE : Mohid Model -# PROJECT : Mohid Water -# URL : http://www.mohid.com -# AFFILIATION : IST/MARETEC, Marine Modelling Group -# DATE : September 2006 -# REVISION : Guillaume Riflet - v1.0 -# DESCRIPTION : Makefile -#------------------------------------------------------------------------------ -# -#This program is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License -#version 2, as published by the Free Software Foundation. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#------------------------------------------------------------------------------ - -INCS = -I$(HDF5INC) -I$(BASE1INC) -LIBS = $(BASELIBS) $(HDFLIBS) -SRCDIR = $(SRCREP)/DDCWorker -FILES = \ - DDCWorker.$(S) -TARGET = DDCWorker$(SUFFPROG) - -#----------Makefile rules-------------- - -SHELL = /bin/sh - -include ../Makefiles/Makefiles.mk - -#--------Dependencies list------------- - - -#--------End of dependencies list--------- - -#---------------------------------------------------------------------------------------------------------- -#MOHID Water Modelling System. -#Copyright (C) 2014. Instituto Superior Tcnico, Technical University of Lisbon. -#---------------------------------------------------------------------------------------------------------- diff --git a/Solutions/Linux/DDC/Editme.mk b/Solutions/Linux/DDC/Editme.mk deleted file mode 100644 index 2ecdfdf2b..000000000 --- a/Solutions/Linux/DDC/Editme.mk +++ /dev/null @@ -1,48 +0,0 @@ -#PLEASE EDIT UNCOMMENTED LINES -#BEFORE RUNNING THE MOHID MAKEFILE - -#Edit the prefix of the installed binaries -# > make nix.install -export VER = x64_single - -#Where do you want to install the binary files? -# > make nix.install -export DESTDIR = ~/ - -#Where are the hdf5 libraries (with --enable-fortran) in your system? -# > sudo updatedb; locate hdf5.mod -export HDF5INC = ../../../../../linux/hdf5/include -# > sudo updatedb; locate libhdf5 -export HDF5LIB = ../../../../../linux/hdf5/lib - -#Where is the libz.a in your system? -export ZLIBINC = ../../../../../linux/zlib/lib - -#Activate the extra modules that require the netcdf libraries in the ConvertToHdf5 tool -#Two valid options -# true -# false -#Un-comment your choice -#export IS_NETCDF = true -export IS_NETCDF = false - -#export IS_PROJ4F = true -export IS_PROJ4F = false - -#Uncomment the desired pre-processing definitiions -#_NO_NETCDF is activated by default. -FPP_DEFINES := - -ifeq ($(IS_NETCDF),false) - FPP_DEFINES := ${FPP_DEFINES} -D_NO_NETCDF -endif - -ifeq ($(IS_PROJ4F),true) - FPP_DEFINES := ${FPP_DEFINES} -D_USE_PROJ4 -endif - - -FPP_DEFINES := ${FPP_DEFINES} -D_USE_MPI - - -export FPP_DEFINES diff --git a/Solutions/Linux/DDC/Makefile b/Solutions/Linux/DDC/Makefile deleted file mode 100644 index 943e9930a..000000000 --- a/Solutions/Linux/DDC/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -SHELL = /bin/sh - -export MAKE = make - -.PHONY: default -default: - @echo Please choose your platform from: - @echo Type "make (Win Nix).(' ' clean install)". - -#make all (add other platforms "Nix Nix Nix_double Win" ...) -PLAT := Nix Nix_DDC Nix-debug Nix-gfortran Nix-open64 Nix-gfortran-mpi Nix-gfortran-debug Nix_MohidLand_r8_omp_x64 -.PHONY : $(PLAT) -$(PLAT): - @$(MAKE) -f $@.mk all - -#make clean -PLATCLEAN := $(addsuffix .clean, $(PLAT)) -.PHONY : $(PLATCLEAN) -$(PLATCLEAN) : - @$(MAKE) -f $(@:.clean=).mk clean - -#make install -PLATINST := $(addsuffix .install, $(PLAT)) -.PHONY : $(PLATINST) -$(PLATINST) : - @$(MAKE) -f $(@:.install=).mk install - diff --git a/Solutions/Linux/DDC/Makefiles/Makefile b/Solutions/Linux/DDC/Makefiles/Makefile deleted file mode 100644 index 94ae5159d..000000000 --- a/Solutions/Linux/DDC/Makefiles/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -METAFILES = \ - Makefiles.smk \ - Makemodules.smk - -SHELL = /bin/sh - -.PHONY: all -all: - @echo No such action in this module diff --git a/Solutions/Linux/DDC/Makefiles/Makefiles.mk b/Solutions/Linux/DDC/Makefiles/Makefiles.mk deleted file mode 100644 index 713600c29..000000000 --- a/Solutions/Linux/DDC/Makefiles/Makefiles.mk +++ /dev/null @@ -1,39 +0,0 @@ -OBJS1 = $(FILES:.$(S)=.$(Obj)) -OBJS = $(OBJS1:.F=.$(Obj)) -SRCF = $(SRCDIR) -SUFF := $(suffix $(TARGET)) - -#Make all -.PHONY: all -all: $(TARGET) - -$(TARGET) : $(OBJS) $(LIBS) - @echo - @echo Build with compilation flags $(CCFLAGS) $(INCS) - @echo -ifeq ($(SUFF),$(SUFFLIB)) - $(AR) $@ $^ -else - $(CC) $(LFLAGS) -o $@ $^ $(LLFLAGS) -endif - @echo - @echo Finished building $@. - @echo - -#Fortran compilation rule -%.$(Obj) : $(SRCF)/%.$(F) - @$(CC) $(CCFLAGS) $(INCS) $< - @echo $* .................. [OK] - -#make clean -.PHONY: clean -clean: - @-$(DEL) *.$(Obj) *.$(MOD) $(TARGET) - @echo erased $(TARGET) files. - -#make install -SOURCE := $(TARGET) -.PHONY: install -install: $(SOURCE) - @-$(CP) $< $(DESTDIR)/`date +%G%m%d`_$(addprefix $(VER), $<) - @echo Installed $<. diff --git a/Solutions/Linux/DDC/Makefiles/Makemodules.mk b/Solutions/Linux/DDC/Makefiles/Makemodules.mk deleted file mode 100644 index 42dc19bb2..000000000 --- a/Solutions/Linux/DDC/Makefiles/Makemodules.mk +++ /dev/null @@ -1,26 +0,0 @@ -#make all -MODALL = $(addsuffix .all, $(MODULES)) -.PHONY: $(MODALL) -$(MODALL): - @-$(MAKE) $(MKFLAGS) -C $(@:.all=) all - -.PHONY: all -all: $(MODALL) - -#make clean -MODCLEAN = $(addsuffix .clean, $(MODULES)) -.PHONY: $(MODCLEAN) -$(MODCLEAN): - @-$(MAKE) $(MKFLAGS) -C $(@:.clean=) clean - -.PHONY: clean -clean: $(MODCLEAN) - -#make install -MODINSTALL = $(addsuffix .install, $(MODULES)) -.PHONY: $(MODINSTALL) -$(MODINSTALL) : - @-$(MAKE) $(MKFLAGS) -C $(@:.install=) install - -.PHONY: install -install: $(MODINSTALL) diff --git a/Solutions/Linux/DDC/Nix_DDC.mk b/Solutions/Linux/DDC/Nix_DDC.mk deleted file mode 100644 index 2a871b615..000000000 --- a/Solutions/Linux/DDC/Nix_DDC.mk +++ /dev/null @@ -1,79 +0,0 @@ -SHELL = /bin/sh - -#------User configuration file--------------- - -include Editme.mk - -#-- NIX platform specific global variables -- - -export CP = sudo cp -export DEL = rm -export Obj = o -export F = F90 -export MOD = mod -#export CC= ifort -export CC= mpif90 -#export CCFLAGS = -c -r8 -inline-level=0 -fpp -warn all -nologo -convert big_endian -fpe0 -D_USE_NIX -traceback -mcmodel=large -heap-arrays 64 -openmp -check bounds $(FPP_DEFINES) # Debug: -g; Profiling: -p; Openmp: -openmp; Endianness: -convert big_endian -export CCFLAGS = -c -O3 -r8 -inline-level=2 -fpp -warn all -nologo -convert big_endian -fpe0 -D_USE_NIX -traceback -mcmodel=large -heap-arrays 64 -check bounds $(FPP_DEFINES) -I/opt/mpich/include # Debug: -g; Profiling: -p; Openmp: -openmp; Endianness: -convert big_endian -export LFLAGS = -O3 -lpthread -fpp -nologo -warn all -convert big_endian -D_USE_NIX -mcmodel=large -shared-intel # Profiling: -p; Openmp: -openmp -lpthread;endianness: -convert big_endian; -shared-intel -i-static -export LLFLAGS = -export MKFLAGS = -export AR = ar rc -export SUFFLIB = .lib -export SUFFPROG = - -#Software repository -export SRCREP = ../../../Software - -# MohidBase1 -export BASE1INC = ../../Mohid_Base_1 -export BASE1 = Mohid_Base_1$(SUFFLIB) - -# HDF5 lib -export HDF5MODINC = ../../../../../hdf5/linux/include -export LHDF5FORTRAN = libhdf5_fortran.a -export LHDF5 = libhdf5.a -export LHDF5HL = libhdf5_hl.a - -# Z lib -#export ZLIB = libz.a -export ZLIB = libz.so -export SZLIB = libsz.so - - -# All libs folders -export BASELIBS := \ - $(BASE1INC)/$(BASE1) - -export HDFLIBS := \ - $(HDF5LIB)/$(LHDF5FORTRAN) \ - $(HDF5LIB)/$(LHDF5) \ - $(HDF5LIB)/$(LHDF5HL) \ - $(ZLIBINC)/$(ZLIB) \ - $(ZLIBINC)/$(SZLIB) - - -#------Files and modules lists------ - -METAFILES = \ - README \ - Editme_template.smk \ - Nix.smk - -MODULES := -MODULES := $(MODULES) Makefiles -MODULES := $(MODULES) DDCParser -MODULES := $(MODULES) DDCWorker -MODULES := $(MODULES) Mohid_Base_1 - -NCMODULES := - -#------Makefile rules--------------- - -include Makefiles/Makemodules.mk - -#------Modules dependencies---------- - -DDCParser.all : Mohid_Base_1.all -DDCWorker.all : Mohid_Base_1.all - diff --git a/Solutions/Linux/HDF5Exporter/Makefile b/Solutions/Linux/HDF5Exporter/Makefile deleted file mode 100644 index 6f918b4c6..000000000 --- a/Solutions/Linux/HDF5Exporter/Makefile +++ /dev/null @@ -1,53 +0,0 @@ -#------------------------------------------------------------------------------ -# IST/MARETEC, Water Modelling Group, Mohid modelling system -#------------------------------------------------------------------------------ -# -# TITLE : Mohid Model -# PROJECT : Mohid Water -# URL : http://www.mohid.com -# AFFILIATION : IST/MARETEC, Marine Modelling Group -# DATE : September 2006 -# REVISION : Ana Rosa Trancoso -# DESCRIPTION : Makefile -#------------------------------------------------------------------------------ -# -#This program is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License -#version 2, as published by the Free Software Foundation. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#------------------------------------------------------------------------------ - -INCS = -I$(HDF5) -I$(BASE1INC) -I$(BASE2INC) -LIBS = $(BASELIBS) $(HDFLIBS) -SRCDIR = $(SRCREP)/HDF5Exporter -FILES = \ - ModuleHDF5Exporter.$(S) \ - HDF5Exporter.$(S) -TARGET = HDF5Exporter$(SUFFPROG) - -#----------Makefile rules-------------- - -SHELL = /bin/sh - -include ../Makefiles/Makefiles.mk - -#--------Dependencies list------------- - -ModuleHDF5Exporter.${Obj} : -HDF5Exporter.${Obj} : ModuleHDF5Exporter.${Obj} - -#--------End of dependencies list--------- - -#--------------------------------------------------------------------------------------------------- -#MOHID Water Modelling System. -#Copyright (C) 1985, 1998, 2002, 2005. Instituto Superior Tcnico, Technical University of Lisbon. -#--------------------------------------------------------------------------------------------------- diff --git a/Solutions/Linux/HDF5Extractor/Makefile b/Solutions/Linux/HDF5Extractor/Makefile deleted file mode 100644 index 2fe44b129..000000000 --- a/Solutions/Linux/HDF5Extractor/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -#------------------------------------------------------------------------------ -# IST/MARETEC, Water Modelling Group, Mohid modelling system -#------------------------------------------------------------------------------ -# -# TITLE : Mohid Model -# PROJECT : Mohid Water -# URL : http://www.mohid.com -# AFFILIATION : IST/MARETEC, Marine Modelling Group -# DATE : September 2006 -# REVISION : Ana Rosa Trancoso -# DESCRIPTION : Makefile -#------------------------------------------------------------------------------ -# -#This program is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License -#version 2, as published by the Free Software Foundation. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#------------------------------------------------------------------------------ - -INCS = -I$(HDF5MODINC) -I$(BASE1INC) -I$(BASE2INC) -LIBS = $(BASELIBS) $(HDFLIBS) -SRCDIR = $(SRCREP)/HDF5Extractor -FILES = \ - ModuleHDF5Extractor.$(S) \ - HDF5Extractor.$(S) -TARGET = HDF5Extractor$(SUFFPROG) - -#----------Makefile rules-------------- - -SHELL = /bin/sh - -include ../Makefiles/Makefiles.mk - -#--------Dependencies list------------- - -HDF5Extractor.$(Obj) : ModuleHDF5Extractor.$(Obj) - -#--------End of dependencies list--------- - -#--------------------------------------------------------------------------------------------------- -#MOHID Water Modelling System. -#Copyright (C) 1985, 1998, 2002, 2005. Instituto Superior Tcnico, Technical University of Lisbon. -#--------------------------------------------------------------------------------------------------- diff --git a/Solutions/Linux/HDF5Statistics/Makefile b/Solutions/Linux/HDF5Statistics/Makefile deleted file mode 100644 index 12536fe2b..000000000 --- a/Solutions/Linux/HDF5Statistics/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -#------------------------------------------------------------------------------ -# IST/MARETEC, Water Modelling Group, Mohid modelling system -#------------------------------------------------------------------------------ -# -# TITLE : Mohid Model -# PROJECT : Mohid Water -# URL : http://www.mohid.com -# AFFILIATION : IST/MARETEC, Marine Modelling Group -# DATE : September 2006 -# REVISION : Ana Rosa Trancoso -# DESCRIPTION : Makefile -#------------------------------------------------------------------------------ -# -#This program is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License -#version 2, as published by the Free Software Foundation. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#------------------------------------------------------------------------------ - -INCS = -I$(HDF5) -I$(BASE1INC) -I$(BASE2INC) -LIBS = $(BASELIBS) $(HDFLIBS) -SRCDIR = $(SRCREP)/HDF5Statistics -FILES = \ - ModuleHDF5Statistics.$(S) \ - HDF5Statistics.$(S) -TARGET = HDF5Statistics$(SUFFPROG) - -#----------Makefile rules-------------- - -SHELL = /bin/sh - -include ../Makefiles/Makefiles.mk - -#--------Dependencies list------------- - -HDF5Statistics.$(Obj) : ModuleHDF5Statistics.$(Obj) - -#--------End of dependencies list--------- - -#--------------------------------------------------------------------------------------------------- -#MOHID Water Modelling System. -#Copyright (C) 1985, 1998, 2002, 2005. Instituto Superior Tcnico, Technical University of Lisbon. -#--------------------------------------------------------------------------------------------------- diff --git a/Solutions/Linux/Makefile b/Solutions/Linux/Makefile deleted file mode 100644 index 2961a878d..000000000 --- a/Solutions/Linux/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -SHELL = /bin/sh - -export MAKE = make - -.PHONY: default -default: - @echo Please choose your platform from: - @echo Type "make Nix.(' ' clean install)". - -#make all -PLAT := Nix -.PHONY : $(PLAT) -$(PLAT): - @$(MAKE) -f $@.mk all - -#make clean -PLATCLEAN := $(addsuffix .clean, $(PLAT)) -.PHONY : $(PLATCLEAN) -$(PLATCLEAN) : - @$(MAKE) -f $(@:.clean=).mk clean - -#make install -PLATINST := $(addsuffix .install, $(PLAT)) -.PHONY : $(PLATINST) -$(PLATINST) : - @$(MAKE) -f $(@:.install=).mk install - diff --git a/Solutions/Linux/Makefiles/Makefile b/Solutions/Linux/Makefiles/Makefile deleted file mode 100644 index 94ae5159d..000000000 --- a/Solutions/Linux/Makefiles/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -METAFILES = \ - Makefiles.smk \ - Makemodules.smk - -SHELL = /bin/sh - -.PHONY: all -all: - @echo No such action in this module diff --git a/Solutions/Linux/Makefiles/Makefiles.mk b/Solutions/Linux/Makefiles/Makefiles.mk deleted file mode 100644 index 3fd1ac724..000000000 --- a/Solutions/Linux/Makefiles/Makefiles.mk +++ /dev/null @@ -1,40 +0,0 @@ -OBJS1 = $(FILES:.$(S)=.$(Obj)) -OBJS = $(OBJS1:.F=.$(Obj)) -SRCF = $(SRCDIR) -SUFF := $(suffix $(TARGET)) - -#Make all -.PHONY: all -all: $(TARGET) - -$(TARGET) : $(OBJS) $(LIBS) - @echo - @echo Build with compilation flags $(CCFLAGS) $(INCS) - @echo -ifeq ($(SUFF),$(SUFFLIB)) - $(AR) $@ $^ -else - $(CC) $(LFLAGS) -o $@ $^ $(LLFLAGS) -endif - @echo - @echo Finished building $@. - @echo - -#Fortran compilation rule -%.$(Obj) : $(SRCF)/%.$(F) - @echo $(CC) $(CCFLAGS) $(INCS) $< - @$(CC) $(CCFLAGS) $(INCS) $< - @echo $* .................. [OK] - -#make clean -.PHONY: clean -clean: - @-$(DEL) *.$(Obj) *.$(MOD) $(TARGET) - @echo erased $(TARGET) files. - -#make install -SOURCE := $(TARGET) -.PHONY: install -install: $(SOURCE) - @-$(CP) $< $(DESTDIR)/`date +%G%m%d`_$(addprefix $(VER), $<) - @echo Installed $<. diff --git a/Solutions/Linux/Makefiles/Makemodules.mk b/Solutions/Linux/Makefiles/Makemodules.mk deleted file mode 100644 index 42dc19bb2..000000000 --- a/Solutions/Linux/Makefiles/Makemodules.mk +++ /dev/null @@ -1,26 +0,0 @@ -#make all -MODALL = $(addsuffix .all, $(MODULES)) -.PHONY: $(MODALL) -$(MODALL): - @-$(MAKE) $(MKFLAGS) -C $(@:.all=) all - -.PHONY: all -all: $(MODALL) - -#make clean -MODCLEAN = $(addsuffix .clean, $(MODULES)) -.PHONY: $(MODCLEAN) -$(MODCLEAN): - @-$(MAKE) $(MKFLAGS) -C $(@:.clean=) clean - -.PHONY: clean -clean: $(MODCLEAN) - -#make install -MODINSTALL = $(addsuffix .install, $(MODULES)) -.PHONY: $(MODINSTALL) -$(MODINSTALL) : - @-$(MAKE) $(MKFLAGS) -C $(@:.install=) install - -.PHONY: install -install: $(MODINSTALL) diff --git a/Solutions/Linux/MohidLand/Makefile b/Solutions/Linux/MohidLand/Makefile deleted file mode 100644 index 40565f890..000000000 --- a/Solutions/Linux/MohidLand/Makefile +++ /dev/null @@ -1,69 +0,0 @@ -#------------------------------------------------------------------------------ -# IST/MARETEC, Water Modelling Group, Mohid modelling system -#------------------------------------------------------------------------------ -# -# TITLE : Mohid Model -# PROJECT : Mohid Land -# URL : http://www.mohid.com -# AFFILIATION : IST/MARETEC, Marine Modelling Group -# DATE : November 2013 -# REVISION : Eduardo Jauch - v1.1 -# DESCRIPTION : Makefile -#------------------------------------------------------------------------------ -# -#This program is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License -#version 2, as published by the Free Software Foundation. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#------------------------------------------------------------------------------ - -INCS = -I$(HDF5INC) -I$(BASE1INC) -I$(BASE2INC) -LIBS = $(BASELIBS) $(HDFLIBS) -SRCDIR = $(SRCREP)/MOHIDLand -FILES = \ - ModuleBasin.$(S) \ - ModulePorousMedia.$(S) \ - ModulePorousMediaProperties.$(S) \ - ModuleRunOff.$(S) \ - ModuleRunoffProperties.$(S) \ - ModuleReservoirs.$(S) \ - ModuleSnow.$(S) \ - ModuleVegetation.$(S) \ - ModuleIrrigation.$(S) \ - ModuleReservoirs.$(S) \ - ModuleSnow.$(S) \ - MohidLand.$(S) -TARGET = MohidLand$(SUFFPROG) - -#----------Makefile rules-------------- - -SHELL = /bin/sh - -include ../Makefiles/Makefiles.mk - -#--------Dependencies list------------- - -ModulePorousMediaProperties.${Obj} : ModulePorousMedia.${Obj} -ModuleRunoffProperties.${Obj} : ModuleRunOff.${Obj} -ModuleBasin.${Obj} : ModuleRunoffProperties.${Obj} \ - ModulePorousMediaProperties.${Obj} \ - ModuleVegetation.${Obj} \ - ModuleIrrigation.${Obj} \ - ModuleReservoirs.${Obj} \ - ModuleSnow.${Obj} - -#--------End of dependencies list--------- - -#--------------------------------------------------------------------------------------------------- -#MOHID Water Modelling System. -#Copyright (C) 1985, 1998, 2002, 2005. Instituto Superior Tcnico, Technical University of Lisbon. -#--------------------------------------------------------------------------------------------------- diff --git a/Solutions/Linux/MohidRiver/Makefile b/Solutions/Linux/MohidRiver/Makefile deleted file mode 100644 index ac3e17d92..000000000 --- a/Solutions/Linux/MohidRiver/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -#------------------------------------------------------------------------------ -# IST/MARETEC, Water Modelling Group, Mohid modelling system -#------------------------------------------------------------------------------ -# -# TITLE : Mohid Model -# PROJECT : Mohid Water -# URL : http://www.mohid.com -# AFFILIATION : IST/MARETEC, Marine Modelling Group -# DATE : September 2006 -# REVISION : Ana Rosa Trancoso -# DESCRIPTION : Makefile -#------------------------------------------------------------------------------ -# -#This program is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License -#version 2, as published by the Free Software Foundation. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#------------------------------------------------------------------------------ - -INCS = -I$(HDF5MODINC) -I$(BASE1INC) -I$(BASE2INC) -LIBS = $(BASELIBS) $(HDFLIBS) -SRCDIR = $(SRCREP)/MOHIDRiver -FILES = \ - RiverNetwork.$(S) -TARGET = MohidRiver$(SUFFPROG) - -#----------Makefile rules-------------- - -SHELL = /bin/sh - -include ../Makefiles/Makefiles.mk - -#--------Dependencies list------------- -RiverNetwork.$(Obj) : -# -#--------End of dependencies list--------- - -#--------------------------------------------------------------------------------------------------- -#MOHID Water Modelling System. -#Copyright (C) 1985, 1998, 2002, 2005. Instituto Superior Tcnico, Technical University of Lisbon. -#--------------------------------------------------------------------------------------------------- diff --git a/Solutions/Linux/MohidWater/Makefile b/Solutions/Linux/MohidWater/Makefile deleted file mode 100644 index 785eef0a7..000000000 --- a/Solutions/Linux/MohidWater/Makefile +++ /dev/null @@ -1,121 +0,0 @@ -#------------------------------------------------------------------------------ -# IST/MARETEC, Water Modelling Group, Mohid modelling system -#------------------------------------------------------------------------------ -# -# TITLE : Mohid Model -# PROJECT : Mohid Water -# URL : http://www.mohid.com -# AFFILIATION : IST/MARETEC, Marine Modelling Group -# DATE : September 2006 -# REVISION : Guillaume Riflet - v1.0 -# DESCRIPTION : Makefile -#------------------------------------------------------------------------------ -# -#This program is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License -#version 2, as published by the Free Software Foundation. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#------------------------------------------------------------------------------ - -INCS = -I$(HDF5INC) -I$(BASE1INC) -I$(BASE2INC) - -ifeq ($(IS_MPI),true) - INCS := $(INCS) -I$(MPIINC) -endif - -#CPPLIBS must be always the last one in the next line -LIBS = $(BASELIBS) $(HDFLIBS) $(MPILIBS) $(PHREEQCRMLIBS) - -ifeq ($(IS_STDCPP),true) - export LIBS := $(CPPLIBS) $(LIBS) -endif - -SRCDIR = $(SRCREP)/MOHIDWater -FILES = \ - ModuleAssimilation.$(S) \ - ModuleConsolidation.$(S) \ - ModuleFreeVerticalMovement.$(S) \ - ModuleJet.$(S) \ - ModuleHydrodynamicFile.$(S) \ - ModuleOil.$(S) \ - ModuleOil_0D.$(S) \ - ModuleToga.$(S) \ - ModuleWaves.$(S) \ - ModuleGauge.$(S) \ - ModuleSand.$(S) \ - ModuleSediment.$(S) \ - ModuleSedimentProperties.$(S) \ - ModuleOpenBoundary.$(S) \ - ModuleGOTM.$(S) \ - ModuleTurbGOTM.$(S) \ - ModuleTurbulence.$(S) \ - ModuleHydrodynamic.$(S) \ - ModuleWaterProperties.$(S) \ - ModuleLagrangianGlobal.$(S) \ - ModuleInterfaceWaterAir.$(S) \ - ModuleInterfaceSedimentWater.$(S) \ - ModuleHNS.$(S) \ - ModuleModel.$(S) \ - Main.$(S) -# ModuleLagrangian.$(S) -TARGET = MohidWater$(SUFFPROG) - -#----------Makefile rules-------------- - -SHELL = /bin/sh - -include ../Makefiles/Makefiles.mk - -#--------Dependencies list------------- - -ModuleGauge.${Obj} : ModuleToga.${Obj} -ModuleSand.${Obj} : ModuleWaves.${Obj} -ModuleSedimentProperties.${Obj} : ModuleConsolidation.${Obj} -ModuleOpenBoundary.${Obj} : ModuleGauge.${Obj} -ModuleTurbGOTM.${Obj} : ModuleGOTM.${Obj} -ModuleTurbulence.${Obj} : ModuleTurbGOTM.${Obj} -ModuleHydrodynamic.${Obj} : ModuleAssimilation.${Obj} \ - ModuleHydrodynamicFile.${Obj} \ - ModuleOpenBoundary.${Obj} \ - ModuleTurbulence.${Obj} -ModuleWaterProperties.${Obj} : ModuleFreeVerticalMovement.${Obj} \ - ModuleHydrodynamic.${Obj} -#ModuleLagrangian.${Obj} : ModuleJet.${Obj} \ -# ModuleOil.${Obj} \ -# ModuleOil_0D.${Obj} \ -# ModuleWaves.${Obj} \ -# ModuleWaterProperties.${Obj} -ModuleLagrangianGlobal.${Obj} : ModuleJet.${Obj} \ - ModuleOil.${Obj} \ - ModuleOil_0D.${Obj} \ - ModuleWaves.${Obj} \ - ModuleWaterProperties.${Obj} \ - ModuleHNS.${Obj} -ModuleInterfaceWaterAir.${Obj} : ModuleLagrangian.${Obj} \ - ModuleLagrangianGlobal.${Obj} -ModuleInterfaceSedimentWater.${Obj} : ModuleSand.${Obj} \ - ModuleLagrangian.${Obj} \ - ModuleLagrangianGlobal.${Obj} \ - ModuleSedimentProperties.${Obj} \ - ModuleSediment.${Obj} -ModuleFreeVerticalMovement.${Obj} : ModuleTurbulence.${Obj} -ModuleModel.${Obj} : ModuleInterfaceWaterAir.${Obj} \ - ModuleInterfaceSedimentWater.${Obj} -ModuleHNS.${Obj} : ModuleOil_0D.${Obj} -ModuleMain.${Obj} : ModuleModel.${Obj} - -#--------End of dependencies list--------- - -#---------------------------------------------------------------------------------------------------------- -#MOHID Water Modelling System. -#Copyright (C) 1985, 1998, 2002, 2005. Instituto Superior Tcnico, Technical University of Lisbon. -#---------------------------------------------------------------------------------------------------------- diff --git a/Solutions/Linux/Mohid_Base_1/Makefile b/Solutions/Linux/Mohid_Base_1/Makefile deleted file mode 100644 index 7e61c4084..000000000 --- a/Solutions/Linux/Mohid_Base_1/Makefile +++ /dev/null @@ -1,162 +0,0 @@ -#------------------------------------------------------------------------------ -# IST/MARETEC, Water Modelling Group, Mohid modelling system -#------------------------------------------------------------------------------ -# -# TITLE : Mohid Model -# PROJECT : Mohid Base 1 -# URL : http://www.mohid.com -# AFFILIATION : IST/MARETEC, Marine Modelling Group -# DATE : November 2013 -# REVISION : Eduardo Jauch - v1.1 -# DESCRIPTION : Makefile -#------------------------------------------------------------------------------ -# -#This program is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License -#version 2, as published by the Free Software Foundation. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#------------------------------------------------------------------------------ - -INCS = -I$(HDF5INC) -LIBS = - -ifeq ($(IS_PROJ4F),true) - INCS := $(INCS) -I$(PROJ4FINC) - LIBS := $(LIBS) $(PROJ4FLIBS) -endif - -ifeq ($(IS_MPI),true) - INCS := $(INCS) -I$(MPIINC) -endif - -SRCDIR = $(SRCREP)/MOHIDBase1 -FILES = \ - ModuleGlobalData.$(S) \ - ModuleTime.$(S) \ - ModuleEnterData.$(S) \ - ModuleFunctions.$(S) \ - ModuleBivalve.$(S) \ - ModuleSeagrassSedimInteraction.$(S) \ - ModuleSeagrassWaterInteraction.$(S) \ - ModuleBenthos.$(S) \ - ModuleBenthicEcology.$(S) \ - ModuleCEQUALW2.$(S) \ - ModuleMacroAlgae.$(S) \ - ModuleTimeSerie.$(S) \ - ModuleDischarges.$(S) \ - ModuleDrawing.$(S) \ - ModuleLUD.$(S) \ - ModuleWaterQuality.$(S) \ - ModuleSedimentQuality.$(S) \ - ModuleLife.$(S) \ - ModuleInterface.$(S) \ - ModuleHydroIntegration.$(S) \ - ModuleLightExtinction.$(S) \ - ModuleStopWatch.$(S) \ - ModuleTriangulation.$(S) \ - ModuleHDF5.$(S) \ - ModuleDrainageNetwork.$(S) \ - ModuleProfile.$(S) \ - ModuleMPImanagement.$(S) \ - ModuleTask2000.F \ - ModuleWWTPQ.$(S) - -ifeq ($(IS_CUDA),true) - FILES : = ModuleCuda.$(S) ${FILES} -endif - -ifeq ($(IS_PROJ4F),true) - FILES := proj4.${S} ${FILES} -endif - -ifeq ($(IS_PHREEQCRM),true) - FILES := RM_interface.$(S) \ - IPhreeqc_interface.$(S) \ - ModulePhreeqCRM.$(S) \ - ${FILES} -endif - -TARGET = $(BASE1) - -#--------Makefile rules---------------- - -SHELL = /bin/sh - -include ../Makefiles/Makefiles.mk - -#--------Dependencies list------------- - -ModuleTime.${Obj} : ModuleGlobalData.${Obj} -ModuleStopWatch.${Obj} : ModuleTime.${Obj} -ModuleEnterData.${Obj} : ModuleStopWatch.${Obj} -ModuleFunctions.${Obj} : ModuleEnterData.${Obj} -ModuleSeagrassSedimInteraction.${Obj} : ModuleFunctions.${Obj} -ModuleSeagrassWaterInteraction.${Obj} : ModuleFunctions.${Obj} -ModuleBivalve.${Obj} : ModuleEnterData.${Obj} -ModuleBenthos.${Obj} : ModuleEnterData.${Obj} -ModuleCEQUALW2.${Obj} : ModuleFunctions.${Obj} -ModuleMacroAlgae.${Obj} : ModuleFunctions.${Obj} -ModuleDischarges.${Obj} : ModuleFunctions.${Obj} \ - ModuleTimeSerie.${Obj} \ - ModuleDrawing.${Obj} -ModuleDrawing.${Obj} : ModuleFunctions.${Obj} -ModuleTimeSerie.${Obj} : ModuleEnterData.${Obj} \ - ModuleDrawing.${Obj} -ModuleLUD.${Obj} : ModuleGlobalData.${Obj} -ModuleWaterQuality.${Obj} : ModuleFunctions.${Obj} \ - ModuleLUD.${Obj} -ModuleSedimentQuality.${Obj} : ModuleFunctions.${Obj} \ - ModuleLUD.${Obj} -ModuleBenthicEcology.${Obj} : ModuleFunctions.${Obj} -ModuleWWTPQ.${Obj} : ModuleFunctions.${Obj} \ - ModuleLUD.${Obj} -ModuleLife.${Obj} : ModuleFunctions.${Obj} -ModuleInterface.${Obj} : ModuleWaterQuality.${Obj} \ - ModuleSedimentQuality.${Obj} \ - ModuleCEQUALW2.${Obj} \ - ModuleMacroAlgae.${Obj} \ - ModuleLife.${Obj} \ - ModuleBenthos.${Obj} \ - ModuleBenthicEcology.${Obj} \ - ModuleWWTPQ.${Obj} \ - ModuleSeagrassSedimInteraction.${Obj} \ - ModuleSeagrassWaterInteraction.${Obj} \ - ModuleBivalve.${Obj} -ModuleHydroIntegration.${Obj} : ModuleTime.${Obj} -ModuleLightExtinction.${Obj} : ModuleFunctions.${Obj} \ - ModuleTimeSerie.${Obj} -ModuleTriangulation.${Obj} : ModuleGlobalData.${Obj} -ModuleHDF5.${Obj} : ModuleGlobalData.${Obj} -ModuleDrainageNetwork.${Obj} : ModuleDischarges.${Obj} \ - ModuleLightExtinction.${Obj} \ - ModuleStopWatch.${Obj} \ - ModuleInterface.${Obj} -ModuleCuda.${Obj} : ModuleGlobalData.${Obj} -ModuleProfile.${Obj} : ModuleEnterData.${Obj} \ - ModuleHDF5.${Obj} -ModulePhreeqCRM.${Obj} : ModuleFunctions.${Obj} \ - RM_interface.${Obj} \ - IPhreeqc_interface.${Obj} - -ModuleTask2000.${Obj} : - @$(CC) $(CCFLAGS) $(INCS) $(SRCDIR)/ModuleTask2000.F - @echo $* .................. [OK] - - -#--------End of dependencies list--------- - -#---------------------------------------------------------------------------------------------------------- -#MOHID Water Modelling System. -#Copyright (C) 1985, 1998, 2002, 2005. Instituto Superior Tcnico, Technical University of Lisbon. -#---------------------------------------------------------------------------------------------------------- - - diff --git a/Solutions/Linux/Mohid_Base_2/Makefile b/Solutions/Linux/Mohid_Base_2/Makefile deleted file mode 100644 index 9a768b0e6..000000000 --- a/Solutions/Linux/Mohid_Base_2/Makefile +++ /dev/null @@ -1,93 +0,0 @@ -#------------------------------------------------------------------------------ -# IST/MARETEC, Water Modelling Group, Mohid modelling system -#------------------------------------------------------------------------------ -# -# TITLE : Mohid Model -# PROJECT : Mohid base 2 -# URL : http://www.mohid.com -# AFFILIATION : IST/MARETEC, Marine Modelling Group -# DATE : November 2013 -# REVISION : Eduardo Jauch - v1.1 -# DESCRIPTION : Makefile -#------------------------------------------------------------------------------ -# -#This program is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License -#version 2, as published by the Free Software Foundation. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -#------------------------------------------------------------------------------ - -INCS = -I$(HDF5INC) -I$(BASE1INC) -LIBS = - -ifeq ($(IS_NETCDF), true) - INCS := $(INCS) -I$(NETCDFINC) -I$(CONVERT2NETCDFINC) -endif - -ifeq ($(IS_PROJ4F),true) - INCS := $(INCS) -I$(PROJ4FINC) - LIBS := $(LIBS) $(PROJ4FLIBS) -endif - -ifeq ($(IS_MPI),true) - INCS := $(INCS) -I$(MPIINC) -endif - -SRCDIR = $(SRCREP)/MOHIDBase2 -FILES = \ - ModuleStatistic.$(S) \ - ModuleHorizontalGrid.$(S) \ - ModuleGridData.$(S) \ - ModuleHorizontalMap.$(S) \ - ModuleBoxDif.$(S) \ - ModuleBasinGeometry.$(S) \ - ModuleGeometry.$(S) \ - ModuleMap.$(S) \ - ModuleAdvectionDiffusion.$(S) \ - ModuleFillMatrix.$(S) \ - ModuleInterpolation.$(S) \ - ModuleAtmosphere.$(S) \ - ModuleChainReactions.$(S) \ - ModuleField4D.$(S) -TARGET = $(BASE2) - -#-------Makefile rules----------------- - -SHELL = /bin/sh - -include ../Makefiles/Makefiles.mk - -#--------Dependencies list------------- - -ModuleGridData.${Obj} : ModuleHorizontalGrid.${Obj} -ModuleHorizontalMap.${Obj} : ModuleGridData.${Obj} -ModuleBoxDif.${Obj} : ModuleHorizontalGrid.${Obj} -ModuleBasinGeometry.${Obj} : ModuleGridData.${Obj} -ModuleGeometry.${Obj} : ModuleHorizontalMap.${Obj} -ModuleMap.${Obj} : ModuleGeometry.${Obj} -ModuleAdvectionDiffusion.${Obj} : ModuleMap.${Obj} -ModuleFillMatrix.${Obj} : ModuleBoxDif.${Obj} \ - ModuleGeometry.${Obj} \ - ModuleField4D.${Obj} -ModuleInterpolation.${Obj} : ModuleMap.${Obj} -ModuleAtmosphere.${Obj} : ModuleStatistic.${Obj} \ - ModuleFillMatrix.${Obj} -ModuleChainReactions.${Obj} : ModuleBasinGeometry.${Obj} \ - ModuleMap.${Obj} \ - ModuleFillMatrix.${Obj} - -#--------End of dependencies list--------- - -#---------------------------------------------------------------------------------------------------------- -#MOHID Water Modelling System. -#Copyright (C) 1985, 1998, 2002, 2005. Instituto Superior Tcnico, Technical University of Lisbon. -#---------------------------------------------------------------------------------------------------------- diff --git a/Solutions/Linux/Nix.template b/Solutions/Linux/Nix.template deleted file mode 100644 index 5a59ffce0..000000000 --- a/Solutions/Linux/Nix.template +++ /dev/null @@ -1,128 +0,0 @@ -SHELL = /bin/sh - -#------User configuration file--------------- - -#Copy from Config.template and change for your system. -include Config.mk - -#-- NIX platform specific global variables -- - -export OMP_CCFLAGS = -export OMP_LFLAGS = -ifeq ($(IS_OPENMP),true) - export OMP_CCFLAGS = -openmp - export OMP_LFLAGS = -openmp -openmp-link=static -endif - -export DEBUG_FLAGS = -ifeq ($(IS_DEBUG),true) - export DEBUG_CCFLAGS = -g -check all -endif - -export ORIGIN = ORIGIN -export CP = sudo cp -export DEL = rm -export F = F90 -export Obj = o -export MOD = mod -export CC= ifort -export CCFLAGS = $(OMP_CCFLAGS) $(DEBUG_CCFLAGS) -fpp -r8 -std03 -m64 -ip -zero -O1 -assume buffered_io -warn all -nologo -fpe0 -D_USE_NIX -traceback -mcmodel=medium -heap-arrays 64 -c $(FPP_DEFINES) -export LFLAGS = $(OMP_LFLAGS) -shared-intel -static-libgcc -Wl,-rpath,'$$$$ORIGIN/.',-rpath,$(INTEL_PATH) -export LLFLAGS = -export MKFLAGS = -export AR = ar rc -export SUFFLIB = .lib -export SUFFPROG = - -#Software repository -export SRCREP = ../../../Software - -# MohidBase1 -export BASE1INC = ../Mohid_Base_1 -export BASE1 = Mohid_Base_1$(SUFFLIB) - -# MohidBase2 -export BASE2INC = ../Mohid_Base_2 -export BASE2 = Mohid_Base_2$(SUFFLIB) - -# HDF5 lib -export LHDF5FORTRANLIB = libhdf5_fortran.a -export LHDF5LIB = libhdf5.a -export LHDF5HLLIB = libhdf5_hl.a - -# Z lib -export ZLIB = libz.so -export SZLIB = libsz.so - -# MPI lib -export MPILIB = libmpi.a -export MPIFLIB = libmpifort.a - -# PhreeqcRM lib -export PHREEQCRMLIB = libphreeqcrm.a - -# All libs folders -export BASELIBS := \ - $(BASE2INC)/$(BASE2) \ - $(BASE1INC)/$(BASE1) - -export HDFLIBS := \ - $(HDF5LIB)/$(LHDF5FORTRANLIB) \ - $(HDF5LIB)/$(LHDF5LIB) \ - $(HDF5LIB)/$(LHDF5HLLIB) \ - $(ZLIBINC)/$(ZLIB) \ - $(ZLIBINC)/$(SZLIB) - -MPILIBS := -ifeq ($(IS_MPI),true) - MPILIBS := \ - $(MPILIBPATH)/$(MPIFLIB) \ - $(MPILIBPATH)/$(MPILIB) -endif -export MPILIBS - -PHREEQCRMLIBS := -ifeq ($(IS_PHREEQCRM),true) - PHREEQCRMLIBS := \ - $(PHREEQCRMLIBPATH)/$(PHREEQCRMLIB) - IS_STDCPP := true -endif -export PHREEQCRMLIBS - - -# All libs folders (including netcdf) -# Order of libraries *is relevant* at link-time - -#------Files and modules lists------ - -METAFILES = \ - README - -MODULES := -MODULES := $(MODULES) Makefiles -MODULES := $(MODULES) Mohid_Base_2 -MODULES := $(MODULES) Mohid_Base_1 - -#Uncomment the module you want to compile -#MODULES := $(MODULES) MohidLand -#MODULES := $(MODULES) MohidWater -#MODULES := $(MODULES) BasinDelineation -#MODULES := $(MODULES) ConvertToHDF5 -#MODULES := $(MODULES) ConvertToXYZ -#MODULES := $(MODULES) DigitalTerrainCreator -#MODULES := $(MODULES) HDF5Extractor - -#------Makefile rules--------------- - -include Makefiles/Makemodules.mk - -#------Modules dependencies---------- - -MohidLand.all : Mohid_Base_2.all -MohidWater.all : Mohid_Base_2.all -BasinDelineation.all : Mohid_Base_2.all -ConvertToHDF5.all : Mohid_Base_2.all -ConvertToXYZ.all : Mohid_Base_2.all -DigitalTerrainCreator.all : Mohid_Base_2.all -HDF5Extractor.all : Mohid_Base_2.all -Mohid_Base_2.all : Mohid_Base_1.all diff --git a/Solutions/Linux/README b/Solutions/Linux/README deleted file mode 100644 index 4d94de41e..000000000 --- a/Solutions/Linux/README +++ /dev/null @@ -1,38 +0,0 @@ -MOHID compiling on Linux - -1. Pre-requisites - -a) ZLib -c) SZLib -c) HDF5 library - -SZLib and HDF5 libraries must be compiled with the same compiler used to compile MOHID. -Download the source code from these 3 libraries and run the scripts in /Solutions/Linux/Scripts/ folder in the following order - - a) zlib.sh - b) szlib.sh - c) hdf5.sh - -Change the options in these scripts to match your compiler and compiler options. The options are set to the INTEL compiler. -If you need different options, consult your compiler manual. - -2. Optional pre-requisites - -a) proj4 -b) NetCDF (for some of the tools) - -3. Build MOHID - -3.1 Copy Config.mk from Config.template and change the options according your PATH and requirements - -3.2 Copy Nix.mk from Nix.template and change the options according your PATH and requirements. The compiler options are set to the INTEL compiler. -If you need different options, consult your compiler manual. - -3.3 Compiling -execute the following commands: - -make Nix.clean -make Nix - -4.4 Copy the executable and required libraries to the exe folder of your model. - diff --git a/Solutions/Linux/Scripts/hdf5.sh b/Solutions/Linux/Scripts/hdf5.sh deleted file mode 100644 index 3a14bf6fa..000000000 --- a/Solutions/Linux/Scripts/hdf5.sh +++ /dev/null @@ -1,15 +0,0 @@ -export CC=icc -export FC=ifort -export CXX=icpc -export CFLAGS='-O3 -xHost -ip' -export CXXFLAGS='-O3 -xHost -ip' -export FFLAGS='-O3 -xHost -ip' -#export LDFLAGS="-Wl,--rpath,/usr/local/lib" -tar -xvf hdf5-1.8.15-patch1.tar -cd hdf5-1.8.15-patch1 -./configure --prefix=~/Libraries --enable-fortran \ ---with-szlib=~/Libraries --with-zlib=~/Libraries -make -make check -make install - diff --git a/Solutions/Linux/Scripts/mpich.sh b/Solutions/Linux/Scripts/mpich.sh deleted file mode 100644 index 0e2ca4fc4..000000000 --- a/Solutions/Linux/Scripts/mpich.sh +++ /dev/null @@ -1,7 +0,0 @@ -#tar -xvf hdf5-1.8.15-patch1.tar -cd mpich-3.2 -./configure CC=icc F77=ifort FC=ifort CXX=icpc --prefix=~/Libraries --enable-fast=all,O3 \ ---enable-shared --with-pm=hydra -make -make install - diff --git a/Solutions/Linux/Scripts/szip.sh b/Solutions/Linux/Scripts/szip.sh deleted file mode 100644 index 4049204d9..000000000 --- a/Solutions/Linux/Scripts/szip.sh +++ /dev/null @@ -1,12 +0,0 @@ -export CC=icc -export CXX=icpc -export F77=ifort -export CFLAGS='-O3 -xHost -ip' -export CXXFLAGS='-O3 -xHost -ip' -export FFLAGS='-O3 -xHost -ip' -tar -zxvf szip-2.1.tar.gz -cd szip-2.1 -./configure --prefix=~/Libraries -make -make check -make install diff --git a/Solutions/Linux/Scripts/zlib.sh b/Solutions/Linux/Scripts/zlib.sh deleted file mode 100644 index e03a86e42..000000000 --- a/Solutions/Linux/Scripts/zlib.sh +++ /dev/null @@ -1,8 +0,0 @@ -export CC=icc -export CFLAGS='-O3 -xHost -ip' -tar -zxvf zlib-1.2.8.tar.gz -cd zlib-1.2.8 -./configure --prefix=~/Libraries -make -make check -make install diff --git a/Solutions/Linux/get_branch_name.sh b/Solutions/Linux/get_branch_name.sh deleted file mode 100755 index ef34d6df2..000000000 --- a/Solutions/Linux/get_branch_name.sh +++ /dev/null @@ -1,2 +0,0 @@ -git rev-parse --abbrev-ref HEAD - diff --git a/Solutions/Linux/get_last_version.sh b/Solutions/Linux/get_last_version.sh deleted file mode 100755 index 9a245c5d1..000000000 --- a/Solutions/Linux/get_last_version.sh +++ /dev/null @@ -1 +0,0 @@ -git rev-parse HEAD diff --git a/Solutions/Linux/test_local_changes.sh b/Solutions/Linux/test_local_changes.sh deleted file mode 100755 index 52e40872d..000000000 --- a/Solutions/Linux/test_local_changes.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -if [[ `git status --porcelain` ]]; then - echo "YES" -else - echo "NO" -fi - diff --git a/Solutions/Linux/test_remote_changes.sh b/Solutions/Linux/test_remote_changes.sh deleted file mode 100755 index 072e56655..000000000 --- a/Solutions/Linux/test_remote_changes.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -LOCAL=$(git rev-parse @) -REMOTE=$(git rev-parse @{u}) -BASE=$(git merge-base @ @{u}) - -if [ $LOCAL = $REMOTE ]; then - echo "Up-to-date" -elif [ $LOCAL = $BASE ]; then - echo "Ahead" -elif [ $REMOTE = $BASE ]; then - echo "Behind" -else - echo "Diverged" -fi diff --git a/Solutions/Linux/~ b/Solutions/Linux/~ deleted file mode 100644 index 35e96fdee..000000000 --- a/Solutions/Linux/~ +++ /dev/null @@ -1,126 +0,0 @@ -SHELL = /bin/sh - -#------User configuration file--------------- - -include Editme.mk - -#-- NIX platform specific global variables -- - -export CP = sudo cp -export DEL = rm -export Obj = o -export F = F90 -export MOD = mod -export CC= ifort -export CCFLAGS = -c -r8 -inline-level=0 -fpp -warn all -nologo -convert big_endian -fpe0 -D_USE_NIX -traceback -mcmodel=large -heap-arrays 64 -openmp -check bounds $(FPP_DEFINES) # Debug: -g; Profiling: -p; Openmp: -openmp; Endianness: -convert big_endian -export LFLAGS = -openmp -lpthread -fpp -nologo -warn all -i-static -convert big_endian -traceback -D_USE_NIX -mcmodel=large # Profiling: -p; Openmp: -openmp -lpthread;endianness: -convert big_endian -export LLFLAGS = -export MKFLAGS = -export AR = ar rc -export SUFFLIB = .lib -export SUFFPROG = - -#Software repository -export SRCREP = ../../../Software - -# MohidBase1 -export BASE1INC = ../Mohid_Base_1 -export BASE1 = Mohid_Base_1$(SUFFLIB) - -# MohidBase2 -export BASE2INC = ../Mohid_Base_2 -export BASE2 = Mohid_Base_2$(SUFFLIB) - -#ConvertToNetcdf -export CONVERT2NETCDFINC = ../SmallTools/Convert2netcdf - -# HDF5 lib -export LHDF5FORTRAN = libhdf5_fortran.a -export LHDF5 = libhdf5.a -export LHDF5HL = libhdf5_hl.a - -# Z lib -#export ZLIB = libz.a -export ZLIB = libz.so - -# Netcdf lib -export LNETCDF = libnetcdf.a -export LNETCDFF = libnetcdff.a - -# Curl lib -export LCURL = libcurl.so - -# libfproj4 static lib -export LPROJ4F = libfproj4.a - -# All libs folders -export BASELIBS := \ - $(BASE2INC)/$(BASE2) \ - $(BASE1INC)/$(BASE1) - -export HDFLIBS := \ - $(HDF5LIB)/$(LHDF5FORTRAN) \ - $(HDF5LIB)/$(LHDF5) \ - $(HDF5LIB)/$(LHDF5HL) \ - $(ZLIBINC)/$(ZLIB) - -# All libs folders (including netcdf) -# Order of libraries *is relevant* at link-time -export NETCDFLIBS := \ - $(NETCDFLIB)/$(LNETCDFF) \ - $(NETCDFLIB)/$(LNETCDF) \ - $(CURLLIB)/$(LCURL) - -export PROJ4FLIBS := \ - $(PROJ4FLIB)/$(LPROJ4F) - -export MODULENETCDFOBJ := \ - $(CONVERT2NETCDFINC)/ModuleNETCDF.$(O) - -#------Files and modules lists------ - -METAFILES = \ - README \ - Editme_template.smk \ - Nix.smk - -MODULES := -MODULES := $(MODULES) Makefiles -MODULES := $(MODULES) MohidWater -MODULES := $(MODULES) Mohid_Base_2 -MODULES := $(MODULES) Mohid_Base_1 -MODULES := $(MODULES) MohidLand -MODULES := $(MODULES) ConvertToHDF5 -MODULES := $(MODULES) ConvertToXYZ -# MODULES := $(MODULES) MohidRiver -# MODULES := $(MODULES) HDF5Extrator - -NCMODULES := -NCMODULES := $(NCMODULES) SmallTools/Convert2netcdf - -ifeq ($(IS_NETCDF),true) -MODULES := $(MODULES) $(NCMODULES) -endif - -#------Makefile rules--------------- - -include Makefiles/Makemodules.mk - -#------Modules dependencies---------- - -MohidLand.all : Mohid_Base_2.all -MohidWater.all : Mohid_Base_2.all -ifeq ($(IS_NETCDF),true) -SmallTools/Convert2netcdf.all : Mohid_Base_1.all -ConvertToHDF5.all : Mohid_Base_2.all \ - SmallTools/Convert2netcdf.all -Mohid_Base_2.all : Mohid_Base_1.all \ - SmallTools/Convert2netcdf.all -else -ConvertToHDF5.all : Mohid_Base_2.all -Mohid_Base_2.all : Mohid_Base_1.all -endif -ConvertToXYZ.all : Mohid_Base_2.all -MohidRiver.all : Mohid_Base_2.all -HDF5Extrator.all : Mohid_Base_2.all - diff --git a/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDLand/MOHIDLand.vfproj b/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDLand/MOHIDLand.vfproj index 575bcb02b..59dfcc9f3 100644 --- a/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDLand/MOHIDLand.vfproj +++ b/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDLand/MOHIDLand.vfproj @@ -352,26 +352,26 @@ - - + + - + - - - + + + diff --git a/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDNumerics.VC.db b/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDNumerics.VC.db deleted file mode 100644 index 5d087c747..000000000 Binary files a/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDNumerics.VC.db and /dev/null differ diff --git a/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDNumerics.sln b/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDNumerics.sln index e838e5968..f223754fe 100644 --- a/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDNumerics.sln +++ b/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDNumerics.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.25123.0 +VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MainSoftware", "MainSoftware", "{10AECD7E-48C8-4C1E-A0C8-ACD15EEB544A}" EndProject @@ -357,7 +357,8 @@ Global {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug Double PhreeqC|x64.ActiveCfg = Debug Double PhreeqC|x64 {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug Double|Win32.ActiveCfg = Debug Double|Win32 {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug Double|Win32.Build.0 = Debug Double|Win32 - {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug Double|x64.ActiveCfg = Debug Double Openmp|x64 + {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug Double|x64.ActiveCfg = Debug Double|x64 + {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug Double|x64.Build.0 = Debug Double|x64 {79B53A56-7C7D-45A2-A951-2106626FDABB}.Release Double OpenMP PhreeqC|Win32.ActiveCfg = Release Double OpenMP PhreeqC|Win32 {79B53A56-7C7D-45A2-A951-2106626FDABB}.Release Double OpenMP PhreeqC|Win32.Build.0 = Release Double OpenMP PhreeqC|Win32 {79B53A56-7C7D-45A2-A951-2106626FDABB}.Release Double OpenMP PhreeqC|x64.ActiveCfg = Release Double OpenMP PhreeqC|x64 diff --git a/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDRiver/MOHIDRiver.vfproj b/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDRiver/MOHIDRiver.vfproj index 9dcd0a35a..36ac478e7 100644 --- a/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDRiver/MOHIDRiver.vfproj +++ b/Solutions/VisualStudio2015_IntelFortran16/MOHIDNumerics/MOHIDRiver/MOHIDRiver.vfproj @@ -305,8 +305,8 @@ - - + + diff --git a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDBase1/MOHIDBase1.vfproj b/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDBase1/MOHIDBase1.vfproj index 518768f33..d6eff8c3b 100644 --- a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDBase1/MOHIDBase1.vfproj +++ b/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDBase1/MOHIDBase1.vfproj @@ -155,7 +155,7 @@ - + @@ -370,10 +370,11 @@ - - + + + @@ -410,20 +411,20 @@ - - + + - - + + @@ -467,10 +468,11 @@ - - + + + @@ -487,72 +489,72 @@ - - - - - - - + - + + + - + - + + + + + - + - - - + - + - + - + - - - + - + - + - + - + - + + + - + + + @@ -579,28 +581,30 @@ - + + - - - + + + - - + + + diff --git a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDBase2/MOHIDBase2.vfproj b/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDBase2/MOHIDBase2.vfproj index 0ce50fa91..7502b619e 100644 --- a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDBase2/MOHIDBase2.vfproj +++ b/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDBase2/MOHIDBase2.vfproj @@ -155,7 +155,7 @@ - + @@ -387,6 +387,7 @@ + diff --git a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDLand/MOHIDLand.vfproj b/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDLand/MOHIDLand.vfproj index 5ca5e4a73..f08e82a62 100644 --- a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDLand/MOHIDLand.vfproj +++ b/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDLand/MOHIDLand.vfproj @@ -125,8 +125,8 @@ - - + + @@ -145,7 +145,7 @@ - + @@ -155,7 +155,7 @@ - + diff --git a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDNumerics.VC.db b/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDNumerics.VC.db deleted file mode 100644 index 8b14795d5..000000000 Binary files a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDNumerics.VC.db and /dev/null differ diff --git a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDNumerics.db3 b/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDNumerics.db3 deleted file mode 100644 index 5b7d4533a..000000000 Binary files a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDNumerics.db3 and /dev/null differ diff --git a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDNumerics.sln b/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDNumerics.sln index b682c5697..97e8760e3 100644 --- a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDNumerics.sln +++ b/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDNumerics.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 +VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MainSoftware", "MainSoftware", "{10AECD7E-48C8-4C1E-A0C8-ACD15EEB544A}" EndProject @@ -382,7 +382,8 @@ Global {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug Double PhreeqC|x64.ActiveCfg = Debug Double PhreeqC|x64 {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug Double|Win32.ActiveCfg = Debug Double|Win32 {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug Double|Win32.Build.0 = Debug Double|Win32 - {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug Double|x64.ActiveCfg = Debug Double Openmp|x64 + {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug Double|x64.ActiveCfg = Debug Double|x64 + {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug Double|x64.Build.0 = Debug Double|x64 {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug|Win32.ActiveCfg = Debug|Win32 {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug|Win32.Build.0 = Debug|Win32 {79B53A56-7C7D-45A2-A951-2106626FDABB}.Debug|x64.ActiveCfg = Debug|x64 diff --git a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDRiver/MOHIDRiver.vfproj b/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDRiver/MOHIDRiver.vfproj index c4848dff9..63cfa347d 100644 --- a/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDRiver/MOHIDRiver.vfproj +++ b/Solutions/VisualStudio2015_IntelFortran17/MOHIDNumerics/MOHIDRiver/MOHIDRiver.vfproj @@ -125,8 +125,8 @@ - - + + @@ -305,8 +305,8 @@ - - + + diff --git a/Solutions/mohid-in-linux/README.md b/Solutions/mohid-in-linux/README.md new file mode 100644 index 000000000..f9528aaea --- /dev/null +++ b/Solutions/mohid-in-linux/README.md @@ -0,0 +1,70 @@ +# MOHID instalation in Linux machines # +--- +This repository is an attempt to compile MOHID in a linux machine with Ubuntu or CentOS linux distro and intel compiler ifort. + +## Minimum system requirements: +Install the following softwares: +* intel compiler C and Fortran +* zlib +* hdf5 +* netcdf (optional) +* proj4 (optional) +* proj4fortran (optional) +* mpich (optional) +* mohid src + +or +run ``./install_req.sh -opt1 -opt2 ...`` +**Install intel compiler first!** `install_req.sh` will download and install all libraries required to compile MOHID. **You must respect the instalation order**. For more information or see all option available, run: +``` +./install_req.sh -h +``` +Update all paths in script to fit your setup. + +## Compile +To compile MOHID Water and/or MOHID Land, you must compile first MOHID Base 1 and MOHID Base 2. This will create all .mod files used to compile MOHID. +``` +./compile.sh -mb1 -mb2 +``` +To compile MOHID Water run: +``` +./compile.sh -mw +``` +To compile MOHID Land run: +``` +./compile.sh -ml +``` +For more information or see all option available, run: +``` +./compile.sh -h +``` +Update all paths in script to fit your setup. + +## Notes: ## +* You must download and install intel compiler C and Fortran first, before run scripts. intel compiler free for 30 days. You can do it here: +* If you are a Academic Researcher or a Student you can get intel compiler for free here: +* See to learn more about what to install. +* After installed intel compiler C and fortran, add paths in .bashrc: +``` +export INTEL=/opt/intel +export PATH=$PATH:$INTEL/bin:$INTEL/lib/intel64:$INTEL/include:$INTEL/include/intel64 +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INTEL/lib/intel64 +export CC=$INTEL/bin/icc +export CXX=$INTEL/bin/icpc +export FC=$INTEL/bin/ifort +export F9X=$INTEL/bin/ifort +export CFLAGS='-O3 -xHost -ip' +export CXXFLAGS='-O3 -xHost -ip' +export FCFLAGS='-O3 -xHost -ip' +``` +* Update all paths in scripts +* MOHID must be compiled with the same compiler used in hdf5 and netcdf libraries +* If necessary use ext2uppercase.sh to uppercase all .f90 to .F90 extensions +* If necessary use dos2unix linux command: +` find . -name *.F90 -exec dos2unix {} \; ` + +## Help, Bugs, Feedback +If you need help with compile MOHID in linux, you can hang out by mail: or consult our [wiki](http://wiki.mohid.com). You can also subscribe to our [forum](http://forum.mohid.com). To report bugs, please contact any developers. More information consult + +## License +GNU General Public License. See the [GNU General Public License](http://www.gnu.org/copyleft/gpl.html) web page for more information. \ No newline at end of file diff --git a/Solutions/mohid-in-linux/bin/.gitkeep b/Solutions/mohid-in-linux/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/compile_mohid.sh b/Solutions/mohid-in-linux/compile_mohid.sh new file mode 100755 index 000000000..dd2dc093e --- /dev/null +++ b/Solutions/mohid-in-linux/compile_mohid.sh @@ -0,0 +1,846 @@ +#!/usr/bin/bash +#============================================================================== +#title : compile_mohid.sh +#description : This script is an attempt to compile MOHID in a linux +# machine with Intel compiler ifort. +#author : Jorge Palma (jorgempalma@tecnico.ulisboa.pt) +#date : 20170314 +#usage : bash compile_mohid.sh +#notes : +#============================================================================== + +### Make changes to fit your setup ### +set -e + +#### Choose your compiler #### +FC=ifort + +#### Debug mode #### +IS_DEBUG=false + +#### libraries path #### +DIR_REQ=$HOME/apps_intel + +ZLIB=$DIR_REQ/zlib-1.2.11 +HDF5=$DIR_REQ/hdf5-1.8.15 +NETCDF=$DIR_REQ/netcdf-4.4.1.1 +MPI=$DIR_REQ/mpich-3.2 +PROJ4=$DIR_REQ/proj-4.9.3 +PROJ4F=$DIR_REQ/proj4-fortran +IPHREEQC=$DIR_REQ/iphreeqc-3.3.11-12535 +PHREEQCRM=$DIR_REQ/phreeqcrm-3.3.11-12535 + +#### Activate modules #### +USE_OPENMP=false # default : true +USE_MPI=false # default : false +USE_HDF=true # default : true +USE_NETCDF=true # default : true +USE_PROJ4=true # default : true +USE_IEEE_ARITHMETIC=true # default : true +USE_CUDA=false # default : false +USE_PHREEQC=false # default : false +USE_PAGELOCKED=false # default : false +USE_PAD_MATRICES=false # default : false +USE_BIG_MAX_COLUMNS=false # default : false +USE_LAGRANGIAN=false # default : false +USE_LAGRANGIAN_GLOBAL=true # default : true +USE_GUI=false # default : false +USE_GGI=false # default : false +USE_BFM=false # default : false +USE_INCREASE_MAXINSTANCES=false # default : false +USE_ONLINE=false # default : false +USE_NIX=true # default : true +USE_OUTPUT_OFF=false # default : false +USE_STACK_LIMITS=true # default : true +USE_SCANLINE_UNSAFE=false # default : false +USE_GOOGLEMAPS=false # default : false +USE_SEDIMENT=false # default : false # true => error +USE_WAVES=false # default : false # true => error +USE_AIR=false # default : false +USE_MODIS=false # default : false +USE_SEQASSIMILATION=false # default : false +USE_OPENMI=false # default : false + +######################################################################## +######################################################################## +START_OF_COMPILE=`date` + +#set -x #echo on +SRCREP=`pwd` +SRCREP_SRC=$SRCREP/src +SRCREP_BIN=$SRCREP/bin +SRCREP_TEST=$SRCREP/test +MACHINE_TYPE=`uname -m` + +FPP_DEFINES="" +if [ $USE_MPI == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_USE_MPI" +fi +if [ $USE_OPENMI == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_OPENMI_" +fi +if [ $USE_NETCDF == false ]; then + FPP_DEFINES="$FPP_DEFINES -D_NO_NETCDF" +fi +if [ $USE_HDF == false ]; then + FPP_DEFINES="$FPP_DEFINES -D_NO_HDF5" +fi +if [ $USE_IEEE_ARITHMETIC == false ]; then + FPP_DEFINES="$FPP_DEFINES -D_NOT_IEEE_ARITHMETIC" +fi +if [ $USE_CUDA == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_USE_CUDA -D_ENABLE_CUDA" +fi +if [ $USE_PROJ4 == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_USE_PROJ4" +fi +if [ $USE_PHREEQC == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_PHREEQC_" + if [ $MACHINE_TYPE == 'x86_64' ]; then + FPP_DEFINES="$FPP_DEFINES -D_PHREEQC_X64_" + fi +fi +if [ $USE_PAGELOCKED == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_USE_PAGELOCKED" +fi +if [ $USE_PAD_MATRICES == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_PAD_MATRICES" +fi +if [ $USE_BIG_MAX_COLUMNS == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_BIG_MAX_COLUMNS" +fi +if [ $USE_LAGRANGIAN == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_LAGRANGIAN_" +fi +if [ $USE_LAGRANGIAN_GLOBAL == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_LAGRANGIAN_GLOBAL_" +fi +if [ $USE_GUI == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_GUI_" +fi +if [ $USE_GGI == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_CGI_" +fi +if [ $USE_BFM == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_BFM_" +fi +if [ $USE_INCREASE_MAXINSTANCES == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_INCREASE_MAXINSTANCES" +fi +if [ $USE_ONLINE == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_ONLINE_" +fi +if [ $USE_NIX == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_USE_NIX" +fi +if [ $USE_OUTPUT_OFF == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_OUTPUT_OFF_" +fi +if [ $USE_STACK_LIMITS == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_STACK_LIMITS_" +fi +if [ $USE_SCANLINE_UNSAFE == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_SCANLINE_UNSAFE" +fi +if [ $USE_GOOGLEMAPS == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_GOOGLEMAPS" +fi +if [ $USE_SEDIMENT == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_SEDIMENT_" +fi +if [ $USE_WAVES == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_WAVES_" +fi +if [ $USE_AIR == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_AIR_" +fi +if [ $USE_MODIS == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_USE_MODIS" +fi +if [ $USE_SEQASSIMILATION == true ]; then + FPP_DEFINES="$FPP_DEFINES -D_USE_SEQASSIMILATION" +fi +######################## +#-- specific global variables -- +DEL="rm" +F90=".F90" +F77=".F" +Obj=".o" +SUFFLIB=".a" +Mod=".mod" +Exe=".exe" +AR="ar rcs" + +LANG_FLAGS= +DEBUG_FLAGS= +WARNINGS_FLAGS= +OPT_OPENMP= +OPT_FLAGS= +OTH_FLAGS= +if [[ $FC == *"gfortran"* ]]; then + LANG_FLAGS='-cpp -fdefault-real-8 -fdefault-double-8' + if [ $IS_DEBUG == true ]; then + DEBUG_FLAGS="-g3 -fcheck=all " #-fbacktrace -fdump-fortran-optimized -fbounds-check" + # -fsanitize=undefined -fsanitize=address -fsanitize=leak" + # -ffpe-trap=invalid,zero,overflow,underflow" + + WARNINGS_FLAGS="-Wall -Wno-unused-function -Wno-conversion -Wno-unused-variable -Wno-tabs -Wno-c-binding-type" + #-Wmaybe-uninitialized -Wunused-dummy-argument -Wcharacter-truncation + else + WARNINGS_FLAGS="-w -pedantic" + fi + if [ $USE_OPENMP == true ]; then + OPT_OPENMP='-fopenmp' + fi + OPT_FLAGS="-ffast-math -march=x86-64 -fconvert=little-endian -fPIC -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans" + MODOUT="-J" +elif [[ $FC == *"ifort"* ]]; then + LANG_FLAGS="-cpp -real_size 64" + if [ $IS_DEBUG == true ]; then + DEBUG_FLAGS="-g -traceback" + fi + WARNINGS_FLAGS="-w" + if [ $USE_OPENMP == true ]; then + OPT_OPENMP='-openmp' + fi + OPT_FLAGS='-convert little_endian -fPIC' + OTH_FLAGS="-xHost -ip" + MODOUT="-module " +fi + +CCFLAGS="$WARNINGS_FLAGS $DEBUG_FLAGS $LANG_FLAGS $OPT_OPENMP $OPT_FLAGS $OTH_FLAGS $FPP_DEFINES" + +############################################ +## settings Includes / Libraries ## +BASE1_SRC=$SRCREP_SRC/Mohid_Base_1 +BASE2_SRC=$SRCREP_SRC/Mohid_Base_2 + +MPIINC=$MPI/include +MPILIB=$MPI/lib +MPI_LIB="-lmpi -lmpifort" + +ZLIBINC=$ZLIB/include +ZLIBLIB=$ZLIB/lib +Z_LIB=lz + +HDF5INC=$HDF5/include +HDF5LIB=$HDF5/lib +HDF5_LIB="-lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5" + +NETCDFINC=$NETCDF/include +NETCDFLIB=$NETCDF/lib +NETCDF_LIB="-lnetcdf -lnetcdff" + +PROJ4INC=$PROJ4/include +PROJ4LIB=$PROJ4/lib +PROJ4_LIB=-lproj + +PROJ4FINC=$PROJ4F/include +PROJ4FLIB=$PROJ4F/lib +PROJ4F_LIB=-lfproj4 + +IPHREEQCINC=$IPHREEQC/include +IPHREEQCLIB=$IPHREEQC/lib +IPHREEQC_LIB=-liphreeqc + +PHREEQCRMINC=$PHREEQCRM/include +PHREEQCRMLIB=$PHREEQCRM/lib +PHREEQCRM_LIB=-lphreeqcrm + +############################################ +############################################ + +#### Includes / Libraries #### +INCLUDES= +LIBS= +if [ $USE_NETCDF == true ]; then + INCLUDES="$INCLUDES -I${NETCDFINC}" + LIBS="$LIBS -L${NETCDFLIB} $NETCDF_LIB" +fi +if [ $USE_HDF == true ]; then + INCLUDES="$INCLUDES -I${HDF5INC}" + LIBS="$LIBS -L${HDF5LIB} $HDF5_LIB -ldl" +fi +if [ $USE_PROJ4 == true ]; then + INCLUDES="$INCLUDES -I${PROJ4INC} -I${PROJ4FINC}" + LIBS="$LIBS -L${PROJ4LIB} $PROJ4_LIB -L${PROJ4FLIB} $PROJ4F_LIB" +fi +if [ $USE_MPI == true ]; then + INCLUDES="$INCLUDES -I${MPIINC}" + LIBS="$LIBS -L${MPILIB} $MPI_LIB" +fi +if [ $USE_PHREEQC == true ]; then + INCLUDES="$INCLUDES -I${IPHREEQCINC} -I${PHREEQCRMINC}" + LIBS="$LIBS -L${IPHREEQCLIB} $IPHREEQC_LIB -L${PHREEQCRMLIB} $PHREEQCRM_LIB" +fi + +INCLUDES="$INCLUDES -I${BASE1_SRC}/include -I${BASE2_SRC}/include" +LIBS="$LIBS -I${ZLIBINC} -L${ZLIBLIB} -lz -lm" + + +#### -Don't touch anything below this line- #### + +# echo colors ## +RED='\033[0;31m' +GREEN='\033[0;32m' +NC='\033[0m' # No Color +OK=${GREEN}OK${NC} +NOK=${RED}NOK${NC} +ERROR=${RED}ERROR${NC} +WARNING=${RED}warning${NC} + +mkdir -p bin + + +#### FUNCTIONS #### +## remove all pre-compile files ## +CLEAN(){ + find . -name \*.a -type f -delete + find . -name \*.so -type f -delete + find . -name \*.exe -type f -delete + find . -name \*.o -type f -delete + find . -name \*.mod -type f -delete + find . -name \*.log -type f -delete + find . -name UsedKeyWords_1.dat -type f -delete + find src/ -name \*.exe -type l -delete + find bin/ -name \*.exe -type l -delete +} + +## program help ## +HELP(){ + echo + echo "Compile Mohid script" + echo "Usage: $0 [-h] [-c] [-v] [-option1] [-option2] [-option3] ..." + echo " -h|-help : Show this help" + echo " -v|-verbose : Show more text" + echo " -c|clean : Remove build files" + echo + echo " Options to compile" + echo " -mb1|mohid_base_1 : Compile Mohid Base 1" + echo " -mb2|mohid_base_2 : Compile Mohid Base 2" + echo " -ml|mohid_land : Compile Mohid Land" + echo " -mw|mohid_water : Compile Mohid Water" + echo " -mr|mohid_river : Compile Mohid River (experimental)" + echo " -mt|mohid_tools : Compile Mohid Tools" + echo +} + +## compile Mohid_Base ## +COMPILE_MOHID_BASE(){ + array=$1[@] + base=$2 + modules_Mohid_Base=("${!array}") + + rm -f build/*${Obj} include/*${Mod} lib/*.a lib/*.so + + if [ $OPT_VERBOSE == 1 ]; then + echo + echo " $FC -c $CCFLAGS src/....$F90 $INCLUDES $LIBS -o build/....${Obj} ${MODOUT}include" + echo + fi + + for module in ${modules_Mohid_Base[*]}; do + if [[ $USE_HDF == false && ($module == *"HDF5"* || $module == ModuleProfile || $module == ModuleDrainageNetwork) ]]; then + continue + fi + if [[ $USE_HDF == false && ($module == ModuleHorizontalGrid || ModuleStatistic) ]]; then + continue + fi + if [[ $USE_NETCDF == false && $module == *"NETCDF"* ]]; then + continue + fi + if [[ $USE_PHREEQC == false && ($module == IPhreeqc_interface || $module == IPhreeqcRM_interface || $module == ModulePhreeqCRM || $module == ModulePhreeqC) ]]; then + continue + fi + + echo -ne " compiling $module ... \r" + if [ -f "src/${module}$F90" ]; then + $FC -c $CCFLAGS src/${module}$F90 $INCLUDES $LIBS -o build/${module}${Obj} ${MODOUT}include + elif [ -f "src/${module}$F77" ]; then + $FC -c $CCFLAGS src/${module}$F77 $INCLUDES $LIBS -o build/${module}${Obj} ${MODOUT}include + else + echo -e "${ERROR} src/${module}$F90 File not found!" + exit 0 + fi + + if [ $module == IPhreeqc_interface ]; then + if [ ! -f "include/iphreeqc${Mod}" ]; then + echo -e "${ERROR} include/iphreeqc${Mod} File not created!" + exit 0 + fi + elif [ $module == IPhreeqcRM_interface ]; then + if [ ! -f "include/phreeqcrm${Mod}" ]; then + echo -e "${ERROR} include/phreeqcrm${Mod} File not created!" + exit 0 + fi + elif [ ! -f "include/${module,,}$Mod" ]; then + echo -e "${ERROR} include/${module,,}$Mod File not created!" + exit 0 + fi + done + + #gfortran -shared -o libmohid_base_1.so *${Obj} + $AR lib/lib${base}.a build/*${Obj} + + echo -e " compile $base ${OK} " + echo +} + +## compile Mohid ## +COMPILE_MOHID(){ + array=$1[@] + name=$2 + modules_Mohid=("${!array}") + + rm -f build/*${Obj} include/*${Mod} + + if [ $OPT_VERBOSE == 1 ]; then + echo + echo " $FC -c $CCFLAGS src/....$F90 $INCLUDES $LIBS -o build/....${Obj} ${MODOUT}include" + echo + fi + + for module in ${modules_Mohid[*]}; do + echo -ne " compiling $module ... \r" + + if [ -f "src/${module}$F90" ] || [ -f "src/${module}$F77" ]; then + $FC -c $CCFLAGS src/${module}$F90 $INCLUDES $LIBS -o build/${module}${Obj} ${MODOUT}include + else + echo -e "${ERROR} src/${module}$F90 File not found!" + exit 0 + fi + + if [ ! -f "include/${module,,}$Mod" ]; then + echo -e "${ERROR} include/${module,,}$Mod File not created!" + exit 0 + fi + done + + echo -ne " compiling ${name} ... \r" + + if [ $OPT_VERBOSE == 1 ]; then + echo + echo " $FC $CCFLAGS build/*${Obj} $BASE1_SRC/build/*${Obj} $BASE2_SRC/build/*${Obj} src/${name}${F90} $INCLUDES -Iinclude $LIBS -o bin/${name}${Exe}" + echo + fi + + if [ $name == 'MohidWater' ]; then + $FC $CCFLAGS build/*${Obj} $BASE1_SRC/build/*${Obj} $BASE2_SRC/build/*${Obj} src/Main${F90} $INCLUDES -Iinclude $LIBS -o bin/${name}${Exe} + else + $FC $CCFLAGS build/*${Obj} $BASE1_SRC/build/*${Obj} $BASE2_SRC/build/*${Obj} src/${name}${F90} $INCLUDES -Iinclude $LIBS -o bin/${name}${Exe} + fi + + if [ ! -f "bin/${name}${Exe}" ]; then + echo -e "${ERROR} ${name}${Exe} File not created!" + exit 0 + else + echo -e " compile ${name} ${OK} " + echo + fi + + cd $SRCREP_BIN; ln -sf ../src/${name}/bin/${name}${Exe} . +} + +## compile Mohid_Tools ## +COMPILE_MOHID_TOOLS(){ + array=$1[@] + tool=$2 + module_array=("${!array}") + + if [ $OPT_VERBOSE == 1 ]; then + echo + echo " $FC -c $CCFLAGS src/....$F90 $INCLUDES $LIBS -o build/....${Obj} ${MODOUT}include" + echo + fi + + echo -ne "\n" + for module in ${module_array[*]}; do + if [[ $USE_HDF == false || $USE_NETCDF == false ]]; then + return + fi + echo -ne " compiling $module ... \r" + if [ -f "src/${module}$F90" ]; then + $FC -c $CCFLAGS src/${module}$F90 $INCLUDES $LIBS -o build/${module}${Obj} ${MODOUT}include + if [ ! -f "include/${module,,}$Mod" ]; then + echo -e " ${ERROR} ${module,,}$Mod File not created!" + exit 0 + fi + else + echo -e " ${ERROR} ${module}$F90 File not found!" + exit 0 + fi + done + + echo -ne " compiling $tool ... \r" + + if [ $OPT_VERBOSE == 1 ]; then + echo + echo " $FC $CCFLAGS build/*${Obj} $BASE1_SRC/build/*${Obj} $BASE2_SRC/build/*${Obj} src/${tool}${F90} $INCLUDES -Iinclude $LIBS -o bin/${tool}${Exe}" + echo + fi + + $FC $CCFLAGS build/*${Obj} $BASE1_SRC/build/*${Obj} $BASE2_SRC/build/*${Obj} src/${tool}${F90} $INCLUDES -Iinclude $LIBS -o bin/${tool}${Exe} + if [ ! -f "bin/${tool}${Exe}" ]; then + echo -e "${ERROR} ${tool}${Exe} File not created!" + exit 0 + else + echo -e " compile $tool ${OK} " + echo + fi +} + +## Mohid_Base_1 ## +MOHID_BASE_1(){ + echo + echo "#### Mohid Base 1 ####" + + cd $BASE1_SRC + + modules_Mohid_Base_1=( \ + ModuleGlobalData \ + ModuleLUD \ + ModuleTriangulation \ + ModuleTime \ + ModuleEnterData \ + ModuleWWTPQ \ + ModuleStopWatch \ + ModuleFunctions \ + ModuleMacroAlgae \ + ModuleWaterQuality \ + ModuleSedimentQuality \ + ModuleHydroIntegration \ + ModuleSeagrassWaterInteraction \ + ModuleHDF5 \ + ModuleHDF5_OO \ + ModuleSeagrassSedimInteraction \ + ModuleLife \ + ModuleCEQUALW2 \ + ModuleBenthos \ + ModuleDrawing \ + ModuleProfile \ + ModuleBivalve \ + ModuleBenthicEcology \ + IPhreeqc_interface + IPhreeqcRM_interface + ModulePhreeqCRM + ModulePhreeqC + ModuleInterface \ + ModuleTimeSerie \ + ModuleDischarges \ + ModuleLightExtinction \ + ModuleDrainageNetwork \ + ModuleMPImanagement \ + ModuleTask2000) + + COMPILE_MOHID_BASE modules_Mohid_Base_1 "mohidbase1" +} + +## Mohid_Base_2 ## +MOHID_BASE_2(){ + echo + echo "#### Mohid Base 2 ####" + + cd $BASE2_SRC + + modules_Mohid_Base_2=( \ + ModuleHorizontalGrid \ + ModuleStatistic \ + ModuleGridData \ + ModuleBasinGeometry \ + ModuleHorizontalMap \ + ModuleBoxDif \ + ModuleGeometry \ + ModuleMap \ + ModuleAdvectionDiffusion \ + ModuleInterpolation \ + ModuleNETCDF \ + ModuleField4D \ + ModuleFillMatrix \ + ModuleChainReactions \ + ModuleAtmosphere) + + COMPILE_MOHID_BASE modules_Mohid_Base_2 "mohidbase2" +} + +## Mohid_Land ## +MOHID_LAND(){ + echo + echo "#### Mohid Land ####" + + cd $SRCREP_SRC/MohidLand + + modules_Mohid_Land=( \ + ModuleRunOff \ + ModuleRunoffProperties \ + ModulePorousMedia \ + ModulePorousMediaProperties \ + ModuleVegetation \ + ModuleSnow \ + ModuleIrrigation \ + ModuleReservoirs \ + ModuleBasin) + + COMPILE_MOHID modules_Mohid_Land "MohidLand" +} + +## Mohid_Water ## +MOHID_WATER(){ + echo + echo "#### Mohid Water ####" + + cd $SRCREP_SRC/MohidWater + + modules_Mohid_Water=( \ + ModuleGOTM \ + ModuleTurbGOTM \ + ModuleFreeVerticalMovement \ + ModuleToga \ + ModuleGauge \ + ModuleOil \ + ModuleOil_0D \ + ModuleHNS \ + ModuleOpenBoundary \ + ModuleTurbulence \ + ModuleHydrodynamicFile \ + ModuleAssimilation \ + ModuleWaves \ + ModuleJet \ + ModuleSand \ + ModuleConsolidation \ + ModuleHydrodynamic \ + ModuleWaterProperties \ + ModuleLagrangian \ + ModuleLagrangianGlobal \ + ModuleSedimentProperties \ + ModuleSediment \ + ModuleInterfaceSedimentWater \ + ModuleInterfaceWaterAir \ + #ModuleSequentialAssimilation \ + ModuleModel) + + COMPILE_MOHID modules_Mohid_Water "MohidWater" +} + +## Mohid_River ## +MOHID_RIVER(){ + echo + echo "#### Mohid River ####" + + cd $SRCREP_SRC/MohidRiver/src + rm -f *${Obj} *${Mod} + + echo -ne " compiling Mohid River ... \r" + $FC $CCFLAGS $BASE1_SRC/*${Obj} $BASE2_SRC/*${Obj} RiverNetwork${F90} $INCLUDES $LIBS -o ../bin/MohidRiver${Exe} + + if [ ! -f "../bin/MohidRiver${Exe}" ]; then + echo -e "${ERROR} MohidRiver${Exe} File not created!" + exit 0 + else + echo -e " compile Mohid River ${OK} " + fi + + cd $SRCREP_BIN; ln -sf ../src/MohidRiver/bin/MohidRiver${Exe} . +} + +## Mohid_Tools ## +MOHID_TOOLS(){ + echo + echo "#### Mohid Tools ####" + + if [[ $USE_HDF == false || $USE_NETCDF == false ]]; then + echo -e " ${WARNING}: USE_HDF and USE_NETCDF must be true and both libraries must be installed" + echo + exit 1 + fi + modules_Mohid_Tools=( \ + BasinDelimiter \ + ConvertGridDataToHDF5 \ + ConvertHDF5ToGridData \ + ConvertToHDF5 \ + ConvertToXYZ + DigitalTerrainCreator \ + FillMatrix \ + HDF5Exporter \ + HDF5Extractor \ + HDF5Statistics \ + DomainDecompositionConsolidation \ + #Shell \ ## error + ) + + for tool in ${modules_Mohid_Tools[*]}; do + cd $SRCREP_SRC/Tools/src/$tool + rm -f build/*${Obj} include/*${Mod} + rm -f bin/*.exe + done + + for tool in ${modules_Mohid_Tools[*]}; do + cd $SRCREP_SRC/Tools/src/$tool + echo -ne " compiling $tool ... \r" + + if [ $tool = 'ConvertToHDF5' ]; then + modules_ConvertToHDF5=( \ + ncdflib \ + ModuleAladinFormat \ + ModuleARPSFormat \ + ModuleARPSToWW3 \ + ModuleCFFormat \ + ModuleCFPolcomFormat \ + #ModuleConvertModisL2 \ ## obsolete (need hdf4) => USE_MODIS=false + #ModuleConvertModisL3Mapped \ ## obsolete (need hdf4) => USE_MODIS=false + #ModuleConvertOceanColorL2 \ ## obsolete (need hdf4) => USE_MODIS=false + ModuleCOWAMAAsciiWind \ + ModuleERA40Format \ + ModuleHYCOMFormat \ + ModuleIHRadarFormat + ModuleMERCATORFormat \ + ModuleMOG2DFormat \ + ModuleReadSWANNonStationary \ + ModuleWOAFormat \ + ModuleNetCDFCF_2_HDF5MOHID \ + ModuleEUCenterFormat \ + ModuleGFSasciiWind \ + ModuleGlueHDF5Files \ + ModuleHDF5ToASCIIandBIN \ + ModuleHellermanRosensteinAscii \ + ModuleInterpolateGrids \ + ModuleInterpolateTime \ + ModuleLevitusFormat \ + ModuleMM5Format \ + ModulePatchHDF5Files \ + ModuleSWAN \ + ModuleTecnoceanAscii \ + ModuleWRFFormat \ + ModuleCALMETFormat) + COMPILE_MOHID_TOOLS modules_ConvertToHDF5 "$tool" + + elif [ $tool = 'ConvertToXYZ' ]; then + modules_ConvertToXYZ=( \ + ModuleASCII \ + ModuleEtopo2 \ + ModuleEtopo5 \ + ModuleGEBCO \ + ModuleNASA \ + ModuleNOAA_ShoreLine \ + ModuleSRTM30) + COMPILE_MOHID_TOOLS modules_ConvertToXYZ "$tool" + + elif [ $tool = 'HDF5Exporter' ]; then + modules_HDF5Exporter=( \ + ModuleExportHDF5ToTimeSerie) + COMPILE_MOHID_TOOLS modules_HDF5Exporter "$tool" + + elif [ $tool = 'HDF5Extractor' ]; then + modules_HDF5Extractor=( \ + ModuleHDF5Extractor) + COMPILE_MOHID_TOOLS modules_HDF5Extractor "$tool" + + elif [ $tool = 'HDF5Statistics' ]; then + modules_HDF5Statistics=( \ + ModuleHDF5Statistics) + COMPILE_MOHID_TOOLS modules_HDF5Statistics "$tool" + + elif [ $tool = 'DomainDecompositionConsolidation' ]; then + modules_DDC=( \ + ModuleHashTable \ + ModuleDDC) + COMPILE_MOHID_TOOLS modules_DDC "$tool" + + elif [ $tool = 'Shell' ]; then + modules_Shell=( \ + ModuleShell) + COMPILE_MOHID_TOOLS modules_Shell "$tool" + + elif [ -f "src/${tool}$F90" ]; then + + if [ $OPT_VERBOSE == 1 ]; then + echo + echo " $FC $CCFLAGS $BASE1_SRC/build/*${Obj} $BASE2_SRC/build/*${Obj} src/${tool}$F90 $INCLUDES $LIBS -o bin/${tool}${Exe}" + echo + fi + + $FC $CCFLAGS $BASE1_SRC/build/*${Obj} $BASE2_SRC/build/*${Obj} src/${tool}$F90 $INCLUDES $LIBS -o bin/${tool}${Exe} + + if [ ! -f "bin/${tool}${Exe}" ]; then + echo -e "${ERROR} bin/${tool}${Exe} File not created!" + exit 0 + else + echo -e " compile ${tool} ${OK} " + echo + fi + + else + echo -e "${ERROR} ${tool}$F90 File not found!" + exit 0 + fi + + cd $SRCREP_BIN; ln -sf ../src/Tools/src/${tool}/bin/${tool}${Exe} . + + done +} + +# ----------- Main -------------- ## + +# If no argument given, show HELP and exit +OPT_VERBOSE=0 +if [ $# -lt 1 ] ;then + HELP + exit 0 +fi + +while [ $# -gt 0 ]; do + case $1 in + -h|-help|--help) + HELP + exit 0 + ;; + -v|-verbose) + OPT_VERBOSE=1 + shift + ;; + -c|-clean|--clean) + CLEAN + exit 0 + ;; + -mb1|mohid_base_1) + MOHID_BASE_1 + shift + ;; + -mb2|mohid_base_2) + MOHID_BASE_2 + shift + ;; + -ml|mohid_land) + MOHID_LAND + shift + ;; + -mw|mohid_water) + MOHID_WATER + shift + ;; + -mr|mohid_river) + MOHID_RIVER + shift + ;; + -mt|mohid_tools) + MOHID_TOOLS + shift + ;; + *) + echo -e " ${ERROR}: unrecognized command line option $1. Use \"$0 -h\" for help." + echo + shift + esac +done + +END_OF_COMPILE=`date` +echo "==========================================================================" +echo "build started: $START_OF_COMPILE" +echo "build completed: $END_OF_COMPILE" +echo +echo "---> Executables ready <---" +echo +ls -l $SRCREP_BIN --color=auto +echo +echo "==========================================================================" + +exit 0 \ No newline at end of file diff --git a/Solutions/mohid-in-linux/install_req.sh b/Solutions/mohid-in-linux/install_req.sh new file mode 100755 index 000000000..ba3916dc9 --- /dev/null +++ b/Solutions/mohid-in-linux/install_req.sh @@ -0,0 +1,494 @@ +#!/usr/bin/bash +#============================================================================== +#title : install_req.sh +#description : This script is an attempt to compile all the necessary libraries +# to compile MOHID in a machine with Ubuntu or CentOS linux distro +# and Intel compiler. For more information consult +# http://wiki.mohid.com and http://forum.mohid.com +#author : Jorge Palma (jorgempalma@tecnico.ulisboa.pt) +#date : 20170314 +#usage : bash install_req.sh +#notes : +#============================================================================== + +### Make the changes to fit your setup ### +set -e + +## default path to compiler +export CC=/opt/intel/bin/icc +export CXX=/opt/intel/bin/icpc +export FC=/opt/intel/bin/ifort +export F77=/opt/intel/bin/ifort + +## intel flags compiler +export CFLAGS='-O3 -xHost -ip' +export CXXFLAGS='-O3 -xHost -ip' +export FCFLAGS='-O3 -xHost -ip' +export FFLAGS='-O3 -xHost -ip' + +## install libraries path +DIRINSTALL=$HOME/apps_intel + +## have you root permissions? yes or no (uncomment what is best for you) +#sudo=sudo # yes +sudo= # no + +## libraries to intall +zlib='zlib-1.2.11' +hdf5='hdf5-1.8.15' +netcdf='netcdf-4.4.1.1' +netcdff='netcdf-fortran-4.4.4' +proj='proj-4.9.3' +proj4fortran='proj4-fortran' +iphreeqc='iphreeqc-3.3.11-12535' +phreeqcrm='phreeqcrm-3.3.11-12535' +mpi=mpich +mpi_version=3.2 +#openmpi='openmpi-2.0.1' + + +###### -Don't touch anything below this line- ###### + +# echo colors ## +RED='\033[0;31m' +GREEN='\033[0;32m' +NC='\033[0m' # No Color +OK=${GREEN}OK${NC} +NOK=${RED}NOK${NC} +ERROR=${RED}ERROR${NC} +WARNING=${RED}warning${NC} + +#### FUNCTIONS #### +PAUSE(){ + read -rp "$*" +} + +## program help ## +HELP(){ + echo + echo "auto install mohid library" + echo "Usage: $0 [-option]" + echo " -h|-help : Show this help" + echo " -req|requirements : install mohid compile requirements" + echo " -zlib : install zlib library" + echo " -hdf5 : install hdf5 library" + echo " -nc|netcdf : install netcdf and netcdff library (optional)" + #echo " -ncf|netcdff : install netcdf fortran library (optional)" + echo " -proj4 : install proj4 library (optional)" + echo " -proj4f|proj4fortran : install proj4-fortran wrapper library (optional)" + echo " -phqc|iphreeqc : install iphreeqc library (optional)" + echo " -phqcrm|phreeqcrm : install phreeqcrm library (optional)" + echo " -mpich : install mpich (optional)" + #echo " -openmpi : install open-mpi" + echo " -rm : remove tmp install dir (~/.mohid)" + echo +} + +WARNING(){ + echo + echo -e " ${GREEN}You must close and reopen your session in another shell to load new env varaiables added in .bashrc${NC}" + echo +} + +## install requirements ## +OPT_REQ(){ + echo + echo " #### Install requirements ####" + #PAUSE 'Press [Enter] key to continue...' + if ! exist="$(type -p "wget")" || [ -z "$exist" ]; then + $sudo $PACKMANAG install wget + fi + ## to install netcdf library + if ! exist="$(type -p "m4")" || [ -z "$exist" ]; then + $sudo $PACKMANAG install m4 + fi + ## to install proj4-fortran library + if ! exist="$(type -p "git")" || [ -z "$exist" ]; then + $sudo $PACKMANAG install git + fi + if ! exist="$(type -p "autoconf")" || [ -z "$exist" ]; then + $sudo $PACKMANAG install autoconf + fi + if ! exist="$(type -p "automake")" || [ -z "$exist" ]; then + $sudo $PACKMANAG install automake + fi + echo -e "${GREEN} All basic requirements are installed${NC}" + echo +} + +## install mpich ## +OPT_MPICH(){ + echo + echo " #### Install $mpich ####" + #PAUSE 'Press [Enter] key to continue...' + mpiv="$mpi-$mpi_version" + RM_DIR $DIRINSTALL/$mpiv + if [ ! -e $TMPDIRINSTALL/$mpiv.tar.gz ]; then + wget "http://www.mpich.org/static/downloads/$mpi_version/$mpiv.tar.gz" + fi + tar -xf "$mpiv.tar.gz" + cd $mpiv || exit 1 + CC=$CC CXX=$CXX F77=$F77 FC=$FC \ + ./configure --prefix=$DIRINSTALL/$mpiv \ + --enable-fast=O3 --disable-error-checking --without-timing --without-mpit-pvars || exit 1 + ##--with-pm=smpd --with-pmi=smpd + make || exit 1 + $sudo make install || exit 1 + echo "############ $mpi-$mpi_version ############" >> ~/.bashrc + echo "MPICH=$DIRINSTALL/$mpiv" >> ~/.bashrc + echo 'export MPIRUN=$MPICH/bin/mpirun' >> ~/.bashrc + echo 'export PATH=$PATH:$MPICH/bin:$MPICH/lib:$MPICH/include' >> ~/.bashrc + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MPICH/lib' >> ~/.bashrc + echo >> ~/.bashrc +} + +## install openmpi ## +OPT_OPENMPI(){ + echo + echo " #### Install $openmpi ####" + #PAUSE 'Press [Enter] key to continue...' + RM_DIR $DIRINSTALL/$openmpi + wget "https://www.open-mpi.org/software/ompi/v2.0/downloads/$openmpi.tar.gz" + tar -xf "$openmpi.tar.gz" + cd $openmpi || exit + ./configure --prefix=$DIRINSTALL/$openmpi CC=$CC CXX=$CXX F77=$F77 FC=$FC + make + $sudo make install + echo "############ $openmpi ############" >> ~/.bashrc + echo "OPENMPI=$DIRINSTALL/$openmpi" >> ~/.bashrc + echo 'export MPIRUN=$OPENMPI/bin/mpirun' >> ~/.bashrc + echo 'export PATH=$PATH:$OPENMPI/bin:$OPENMPI/lib:$OPENMPI/include' >> ~/.bashrc + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OPENMPI/lib' >> ~/.bashrc + echo >> ~/.bashrc +} + +## install zlib library ## +OPT_ZLIB(){ + echo + echo " #### Install $zlib ####" + #PAUSE 'Press [Enter] key to continue...' + RM_DIR $DIRINSTALL/$zlib + if [ ! -e $TMPDIRINSTALL/$zlib.tar.gz ]; then + wget "http://zlib.net/$zlib.tar.gz" + fi + tar -xf "$zlib.tar.gz" + cd $zlib + ./configure --prefix=$DIRINSTALL/$zlib || exit 1 + make || exit 1 + $sudo make install || exit 1 + echo "###### $zlib #########" >> ~/.bashrc + echo "ZLIB=$DIRINSTALL/$zlib" >> ~/.bashrc + echo 'export PATH=$PATH:$ZLIB/lib:$ZLIB/include' >> ~/.bashrc + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZLIB/lib' >> ~/.bashrc + echo >> ~/.bashrc +} + +## install hdf5 library ## +OPT_HDF5(){ + echo + echo " #### Install $hdf5 ####" + echo -e " see ${GREEN}https://software.intel.com/en-us/articles/performance-tools-for-software-developers-building-hdf5-with-intel-compilers${NC}" + PAUSE "Press [Enter] key to continue..." + RM_DIR $DIRINSTALL/$hdf5 + if [ ! -e $TMPDIRINSTALL/$hdf5.tar.gz ]; then + #wget "ftp://ftp.hdfgroup.org/HDF5/current/src/$hdf5.tar.gz" + wget "ftp://ftp.hdfgroup.org/HDF5/releases/hdf5-1.8/hdf5-1.8.15/src/$hdf5.tar.gz" + fi + tar -xf "$hdf5.tar.gz" + cd $hdf5 || exit 1 + CC=$CC FC=$FC ./configure --with-zlib=$DIRINSTALL/$zlib --prefix=$DIRINSTALL/$hdf5 --enable-fortran --enable-fortran2003 || exit 1 + make || exit 1 + #make check || exit 1 + $sudo make install || exit 1 + echo "####### $hdf5 #######" >> ~/.bashrc + echo "HDF5=$DIRINSTALL/$hdf5" >> ~/.bashrc + echo 'export PATH=$PATH:$HDF5/bin:$HDF5/lib:$HDF5/include' >> ~/.bashrc + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HDF5/lib' >> ~/.bashrc + echo >> ~/.bashrc +} + +## install netcdf C library ## +OPT_NC(){ + RM_DIR $DIRINSTALL/$netcdf + export CPPFLAGS="-I$DIRINSTALL/$hdf5/include -I$DIRINSTALL/$zlib/include" + export LDFLAGS="-L$DIRINSTALL/$hdf5/lib -L$DIRINSTALL/$zlib/lib" + export CFLAGS="$CFLAGS -fPIC" + if [ ! -e $TMPDIRINSTALL/$netcdf.tar.gz ]; then + wget "ftp://ftp.unidata.ucar.edu/pub/netcdf/$netcdf.tar.gz" + fi + tar -xf "$netcdf.tar.gz" + cd $netcdf || exit 1 + CC=$CC FC=$FC ./configure --prefix=$DIRINSTALL/$netcdf || exit 1 + make || exit 1 + $sudo make install || exit 1 + echo + echo "########## $netcdf #######" >> ~/.bashrc + echo "export NETCDF=$DIRINSTALL/${netcdf}" >> ~/.bashrc + echo 'export PATH=$PATH:$NETCDF/bin:$NETCDF/lib:$NETCDF/include' >> ~/.bashrc + echo >> ~/.bashrc + echo 'export NETCDF_ROOT=$NETCDF' >> ~/.bashrc + echo 'export NETCDF4_ROOT=$NETCDF' >> ~/.bashrc + echo 'export NETCDF_LIB=$NETCDF/lib' >> ~/.bashrc + echo 'export NETCDF_INC=$NETCDF/include' >> ~/.bashrc + echo >> ~/.bashrc + echo 'export NETCDF_GF_ROOT=$NETCDF' >> ~/.bashrc + echo 'export NETCDF4_GF_ROOT=$NETCDF' >> ~/.bashrc + echo 'export NETCDF_GF_LIB=$NETCDF/lib' >> ~/.bashrc + echo 'export NETCDF_GF_INC=$NETCDF/include' >> ~/.bashrc + echo >> ~/.bashrc + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NETCDF_LIB' >> ~/.bashrc + echo >> ~/.bashrc + echo 'export CPPFLAGS="$CPPFLAGS -I$NETCDF_INC"' >> ~/.bashrc + echo 'export LDFLAGS="$LDFLAGS -L$NETCDF_LIB"' >> ~/.bashrc + echo >> ~/.bashrc +} + +## install netcdf fortran library ## +OPT_NCF(){ + export CPPFLAGS="-I$DIRINSTALL/$hdf5/include -I$DIRINSTALL/$zlib/include" + export LDFLAGS="-L$DIRINSTALL/$hdf5/lib -L$DIRINSTALL/$zlib/lib" + export NETCDF=$DIRINSTALL/${netcdf} + export PATH=$PATH:$NETCDF/bin:$NETCDF/lib:$NETCDF/include + export NETCDF_ROOT=$NETCDF + export NETCDF4_ROOT=$NETCDF + export NETCDF_LIB=$NETCDF/lib + export NETCDF_INC=$NETCDF/include + export NETCDF_GF_ROOT=$NETCDF + export NETCDF4_GF_ROOT=$NETCDF + export NETCDF_GF_LIB=$NETCDF/lib + export NETCDF_GF_INC=$NETCDF/include + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NETCDF_LIB + export CPPFLAGS="$CPPFLAGS -I$NETCDF_INC" + export LDFLAGS="$LDFLAGS -L$NETCDF_LIB" + if [ ! -e $TMPDIRINSTALL/$netcdff.tar.gz ]; then + wget "ftp://ftp.unidata.ucar.edu/pub/netcdf/$netcdff.tar.gz" + fi + tar -xf "$netcdff.tar.gz" + cd $netcdff || exit + CC=$CC FC=$FC ./configure --prefix=$DIRINSTALL/$netcdf || exit 1 + make || exit 1 + $sudo make install || exit 1 +} + +## install proj4 library ## +OPT_PROJ4(){ + cd $TMPDIRINSTALL || exit 1 + echo + echo " #### Install $proj ####" + #PAUSE 'Press [Enter] key to continue...' + RM_DIR $DIRINSTALL/$proj + if [ ! -e $TMPDIRINSTALL/$proj.tar.gz ]; then + wget "http://download.osgeo.org/proj/$proj.tar.gz" + fi + tar -xf "$proj.tar.gz" + cd $proj || exit 1 + ./configure --prefix=$DIRINSTALL/$proj CC=$CC FC=$FC || exit 1 + make || exit 1 + $sudo make install || exit 1 + ## must create libproj4.so for proj4-fortran install process + $sudo ln -sf $DIRINSTALL/$proj/lib/libproj.so $DIRINSTALL/$proj/lib/libproj4.so + echo "############ $proj ############" >> ~/.bashrc + echo "PROJ4=$DIRINSTALL/$proj" >> ~/.bashrc + echo 'export PATH=$PATH:$PROJ4/bin:$PROJ4/lib:$PROJ4/include' >> ~/.bashrc + echo 'export PROJ_PREFIX=$PROJ4/lib' >> ~/.bashrc + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PROJ4/lib' >> ~/.bashrc + echo >> ~/.bashrc +} + +## install proj4-fortran library ## +OPT_PROJ4F(){ + cd $TMPDIRINSTALL || exit 1 + echo + echo " #### Install $proj4fortran ####" + #PAUSE 'Press [Enter] key to continue...' + if [ ! -d $TMPDIRINSTALL/$proj4fortran ]; then + git clone https://github.com/mhagdorn/proj4-fortran.git + fi + cd $proj4fortran || exit 1 + ./bootstrap + ./configure --with-proj4=$DIRINSTALL/$proj --prefix=$DIRINSTALL/$proj4fortran CC=$CC FC=$FC || exit 1 + ## IF error, add -DIFORT or -D in the compile expression + echo + echo -e " ${RED}If error occur, you need to specify which F90 compiler you use e.g. for INTEL compiler add -DIFORT; For GNU compiler add -Df2cFortran. See cfortran.h ${NC}" + echo -e " ${RED}cd $TMPDIRINSTALL/$proj4fortran; Copy compile command, add correct compiler flag and run it: make; make install${NC}" + echo + PAUSE 'Press [Enter] key to continue...' + make || exit 1 + $sudo make install || exit 1 + echo "############ $proj4fortran ############" >> ~/.bashrc + echo "PROJ4FORTRAN=$DIRINSTALL/$proj4fortran" >> ~/.bashrc + echo 'export PATH=$PATH:$PROJ4FORTRAN/lib:$PROJ4FORTRAN/include' >> ~/.bashrc + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PROJ4FORTRAN/lib' >> ~/.bashrc + echo >> ~/.bashrc +} + +## install iphreeqc library ## +## https://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc/ +OPT_IPHC(){ + cd $TMPDIRINSTALL || exit + echo + echo " #### Install $iphreeqc ####" + #PAUSE 'Press [Enter] key to continue...' + RM_DIR $DIRINSTALL/$iphreeqc + wget "ftp://brrftp.cr.usgs.gov/pub/charlton/iphreeqc/$iphreeqc.tar.gz" + tar -xf "$iphreeqc.tar.gz" + cd $iphreeqc || exit + ## The module IPhreeqc has been revised when using Fortran. + ## IPhreeqc is now a Fortran “module”. The old IPhreeqc.f.inc and IPhreeqc.f90.inc files are no longer used to define the interfaces for the subroutines of IPhreeqc. + ## The include files (.inc) are now replaced with “USE” statements (USE IPhreeqc). In addition, an interface file (IPhreeqc_interface.F90) must be included in the user’s Fortran project. + ## IPhreeqc now uses ISO_C_BINDING, which is available in the Fortran 2003 standard. Use of this standard removes some ambiguities in argument types when calling C. + ## + ## In Fortran, you will need to include the source file IPhreeqc_interface.F90 in your project files. This file defines the IPhreeqc Fortran module. + ## This is the preferred method to use IPhreeqc from a Fortran program. + ./configure --prefix=$DIRINSTALL/$iphreeqc --enable-fortran-module=yes --enable-fortran-test=yes CC=$CC FC=$FC + make + make check + $sudo make install + echo "############ $iphreeqc ############" >> ~/.bashrc + echo "IPHREEQC=$DIRINSTALL/$iphreeqc" >> ~/.bashrc + echo 'export PATH=$PATH:$IPHREEQC/lib:$IPHREEQC/include' >> ~/.bashrc + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$IPHREEQC/lib' >> ~/.bashrc + echo >> ~/.bashrc +} + +## install phreeqcrm library ## +## https://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc/ +OPT_PHCRM(){ + echo + echo " #### Install $phreeqcrm ####" + #PAUSE 'Press [Enter] key to continue...' + RM_DIR $DIRINSTALL/$phreeqcrm + wget "ftp://brrftp.cr.usgs.gov/pub/charlton/phreeqcrm/$phreeqcrm.tar.gz" + tar -xf "$phreeqcrm.tar.gz" + cd $phreeqcrm || exit + ./configure --prefix=$DIRINSTALL/$phreeqcrm CC=$CC FC=$FC + make + $sudo make install + echo "############ $phreeqcrm ############" >> ~/.bashrc + echo "PHREEQCRM=$DIRINSTALL/$phreeqcrm" >> ~/.bashrc + echo 'export PATH=$PATH:$PHREEQCRM/lib:$PHREEQCRM/include' >> ~/.bashrc + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PHREEQCRM/lib' >> ~/.bashrc + echo >> ~/.bashrc +} + +## install phreeqcrm library ## +OPT_RM(){ + $sudo rm -rf $TMPDIRINSTALL + echo " $TMPDIRINSTALL removed with success" + echo +} + +## remove install dir if exist ## +RM_DIR(){ + LINK_OR_DIR=$1 + if [ -d "$LINK_OR_DIR" ]; then + read -r -p " Install dir $LINK_OR_DIR already exist. Are you sure you want to continue? [y/N] " response + case "$response" in + [yY]) + $sudo rm -rf "$LINK_OR_DIR" + ;; + *) + exit 0 + ;; + esac + fi +} + +# ----------- Main -------------- ## + +## create install and tmp directory ## +TMPDIRINSTALL=~/.mohid +if [ ! -d "$DIRINSTALL" ]; then + $sudo mkdir -p $DIRINSTALL +fi +if [ ! -d "$TMPDIRINSTALL" ]; then + mkdir -p $TMPDIRINSTALL +fi + +## +OS=$(cat /etc/*-release) +case $OS in + *Ubuntu*) + PACKMANAG=apt + ;; + *CentOS*) + PACKMANAG=yum + ;; + *) + echo + echo " This script only work for Ubuntu and CentOS Linux distribuition" + echo " Maybee you can manually adapt for your linux distribution..." + echo + exit 1 + ;; +esac + +## install options ## +if [ $# -lt 1 ] ;then + HELP + exit 0 +fi + +cd $TMPDIRINSTALL || exit 1 + +case $1 in + -h|-help|--help) + HELP + ;; + -req|requirements) + OPT_REQ + exit 0 + ;; + -zlib) + OPT_ZLIB + WARNING + ;; + -hdf5) + OPT_HDF5 + WARNING + ;; + -nc|netcdf) + OPT_NC + OPT_NCF + WARNING + ;; + -ncf|netcdff) + OPT_NCF + WARNING + ;; + -proj4) + OPT_PROJ4 + WARNING + ;; + -proj4f|proj4fortran) + OPT_PROJ4F + WARNING + ;; + -phqc|iphreeqc) + OPT_IPHC + WARNING + ;; + -phqcrm|phreeqcrm) + OPT_PHCRM + WARNING + ;; + -mpich) + OPT_MPICH + WARNING + ;; + -openmpi) + OPT_OPENMPI + WARNING + ;; + -rm) + OPT_RM + exit 0 + ;; + *) + echo + echo -e " ${ERROR}: unrecognized command line option $1. Use $0 -h for help." + exit 0 +esac + +exit 0 + diff --git a/Solutions/mohid-in-linux/nixtools/convertF902UTF8.sh b/Solutions/mohid-in-linux/nixtools/convertF902UTF8.sh new file mode 100755 index 000000000..6fbddb750 --- /dev/null +++ b/Solutions/mohid-in-linux/nixtools/convertF902UTF8.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +# echo colors +RED='\033[0;31m' +GREEN='\033[0;32m' +NC='\033[0m' # No Color + +to_encode='utf-8' + + +HELP(){ + echo + echo " Convert encoding of given files.F90 to utf-8" + echo + echo " Usage: $0 [-h] [-d ]" + echo " -d|dir : Directory to convert" + echo " -h|-help|--help : Show this help" + echo +} +if [ $# -lt 1 ] ;then + HELP + exit 0 +fi + +if [[ $1 == '-h' || $1 == '-help' || $1 == '--help' ]]; then + HELP + exit 0 +fi + +if [[ $1 == '-d' && ! -z $2 ]]; then + dir=$2 +else + dir="." +fi + +#clear + +## get all F90 files in subdirectories +files=$(find $dir -type f -iname "*.F90" -exec file {} \;|grep CRLF|tr ":" " " |cut -d" " -f1) + +## +for file in $files; do + ## get mime-encoding from each file + encoding=$(file -b --mime-encoding $file) + if [[ $encoding == *unknown* ]] ; then + printf " convert %-100s %20s to utf-8 ${RED}ERROR${NC} \n" "$file" "$encoding" + echo + echo -e " command can't guess the mime-encoding for $file\n Please convert manually to utf-8 and run this script again" + echo + exit + else + printf " convert %-100s %20s to utf-8 ${GREEN}OK${NC} \n" "$file" "$encoding" + iconv -f $encoding -t utf-8 "$file" -o "$file.utf8" + dos2unix < "$file" | iconv -f $encoding -t utf-8 > "$file.utf8" + fi + rm $file + mv "$file.utf8" $file +done + diff --git a/Solutions/mohid-in-linux/nixtools/ext2uppercase.sh b/Solutions/mohid-in-linux/nixtools/ext2uppercase.sh new file mode 100755 index 000000000..453683b74 --- /dev/null +++ b/Solutions/mohid-in-linux/nixtools/ext2uppercase.sh @@ -0,0 +1,12 @@ +#!/usr/bin/bash + +cd ../../../Software + +## to lowercase +#ext=F +#find . -type f -iname "*.${ext}*" -exec sh -c 'a=$(echo "$0" | sed -r "s/([^.]*)\$/\L\1/"); [ "$a" != "$0" ] && mv "$0" "$a" ' {} \; + +## to uppercase +ext=f +find . -type f -iname "*.${ext}*" -exec sh -c 'a=$(echo "$0" | sed -r "s/([^.]*)\$/\U\1/"); [ "$a" != "$0" ] && mv "$0" "$a" ' {} \; + diff --git a/Solutions/mohid-in-linux/src/MohidLand/Makefile b/Solutions/mohid-in-linux/src/MohidLand/Makefile new file mode 100644 index 000000000..25c010b5e --- /dev/null +++ b/Solutions/mohid-in-linux/src/MohidLand/Makefile @@ -0,0 +1,95 @@ + +NAME = MohidLand + +FC = ifort +AR = ar rcs + +LIB_DIR = $(HOME)/apps_intel + +DEBUG_FLAGS = -g -traceback +LANG_FLAGS = -cpp -real_size 64 +WARNINGS_FLAGS = -w +OPT_FLAGS = -convert little_endian -fPIC +OTH_FLAGS = -xHost -ip +MODOUT = -module + +FPP_DEFINES = -D_LAGRANGIAN_GLOBAL_ -D_USE_NIX -D_STACK_LIMITS_ -D_USE_PROJ4 + +ZLIB = ${LIB_DIR}/zlib-1.2.11 +INC_ZLIB = $(ZLIB)/include +LIB_ZLIB = $(ZLIB)/lib + +HDF5 = ${LIB_DIR}/hdf5-1.8.15 +INC_HDF5 = $(HDF5)/include +LIB_HDF5 = $(HDF5)/lib + +NETCDF = ${LIB_DIR}/netcdf-4.4.1.1 +INC_NETCDF = $(NETCDF)/include +LIB_NETCDF = $(NETCDF)/lib + +PROJ4 = ${LIB_DIR}/proj-4.9.3 +INC_PROJ4 = $(PROJ4)/include +LIB_PROJ4 = $(PROJ4)/lib + +PROJ4F = ${LIB_DIR}/proj4-fortran +INC_PROJ4F = $(PROJ4F)/include +LIB_PROJ4F = $(PROJ4F)/lib + +CCFLAGS = ${WARNINGS_FLAGS} ${DEBUG_FLAGS} ${LANG_FLAGS} ${OPT_FLAGS} ${OTH_FLAGS} ${FPP_DEFINES} +OBJ_CCFLAGS = $(CCFLAGS) -I$(INC_HDF5) -I$(INC_NETCDF) -I$(INC_PROJ4) -I$(INC_PROJ4F) -Iinclude -I../Mohid_Base_1/include -I../Mohid_Base_2/include + +LIBS = \ + -L$(LIB_HDF5) -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 \ + -L$(LIB_NETCDF) -lnetcdf -lnetcdff \ + -L$(LIB_PROJ4F) -lfproj4 \ + -L$(LIB_PROJ4) -lproj \ + -L$(LIB_ZLIB) -lz \ + -lm + +MODOUT = -module + +OBJ = build/ModuleRunOff.o build/ModuleRunoffProperties.o build/ModulePorousMedia.o \ + build/ModulePorousMediaProperties.o build/ModuleVegetation.o build/ModuleSnow.o \ + build/ModuleIrrigation.o build/ModuleReservoirs.o build/ModuleBasin.o + +.PHONY: clean all + +all: bin/MohidLand.exe + +bin/MohidLand.exe: ${OBJ} + ${FC} ${OBJ_CCFLAGS} $? ../Mohid_Base_1/build/*.o ../Mohid_Base_2/build/*.o src/MohidLand.F90 ${LIBS} -o bin/MohidLand.exe + +build/ModuleRunOff.o: src/ModuleRunOff.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleRunoffProperties.o: src/ModuleRunoffProperties.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModulePorousMedia.o: src/ModulePorousMedia.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModulePorousMediaProperties.o: src/ModulePorousMediaProperties.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleVegetation.o: src/ModuleVegetation.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleSnow.o: src/ModuleSnow.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleIrrigation.o: src/ModuleIrrigation.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleReservoirs.o: src/ModuleReservoirs.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleBasin.o: src/ModuleBasin.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +install: + ln -sf ../src/MohidLand/bin/MohidLand.exe ../../bin/MohidLand.exe + +clean: + -rm -f build/*.o + -rm -f include/*.mod + -rm -f bin/*.exe diff --git a/Solutions/mohid-in-linux/src/MohidLand/bin/.gitkeep b/Solutions/mohid-in-linux/src/MohidLand/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/MohidLand/build/.gitkeep b/Solutions/mohid-in-linux/src/MohidLand/build/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/MohidLand/include/.gitkeep b/Solutions/mohid-in-linux/src/MohidLand/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/MohidLand/src b/Solutions/mohid-in-linux/src/MohidLand/src new file mode 120000 index 000000000..070473230 --- /dev/null +++ b/Solutions/mohid-in-linux/src/MohidLand/src @@ -0,0 +1 @@ +../../../../Software/MOHIDLand \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/MohidRiver/Makefile b/Solutions/mohid-in-linux/src/MohidRiver/Makefile new file mode 100644 index 000000000..58b024f2f --- /dev/null +++ b/Solutions/mohid-in-linux/src/MohidRiver/Makefile @@ -0,0 +1,66 @@ + +NAME = MohidRiver + +FC = ifort +AR = ar rcs + +LIB_DIR = $(HOME)/apps_intel + +DEBUG_FLAGS = -g -traceback +LANG_FLAGS = -cpp -real_size 64 +WARNINGS_FLAGS = -w +OPT_FLAGS = -convert little_endian -fPIC +OTH_FLAGS = -xHost -ip +MODOUT = -module + +FPP_DEFINES = -D_LAGRANGIAN_GLOBAL_ -D_USE_NIX -D_STACK_LIMITS_ -D_USE_PROJ4 + +ZLIB = ${LIB_DIR}/zlib-1.2.11 +INC_ZLIB = $(ZLIB)/include +LIB_ZLIB = $(ZLIB)/lib + +HDF5 = ${LIB_DIR}/hdf5-1.8.15 +INC_HDF5 = $(HDF5)/include +LIB_HDF5 = $(HDF5)/lib + +NETCDF = ${LIB_DIR}/netcdf-4.4.1.1 +INC_NETCDF = $(NETCDF)/include +LIB_NETCDF = $(NETCDF)/lib + +PROJ4 = ${LIB_DIR}/proj-4.9.3 +INC_PROJ4 = $(PROJ4)/include +LIB_PROJ4 = $(PROJ4)/lib + +PROJ4F = ${LIB_DIR}/proj4-fortran +INC_PROJ4F = $(PROJ4F)/include +LIB_PROJ4F = $(PROJ4F)/lib + +CCFLAGS = ${WARNINGS_FLAGS} ${DEBUG_FLAGS} ${LANG_FLAGS} ${OPT_FLAGS} ${OTH_FLAGS} ${FPP_DEFINES} +OBJ_CCFLAGS = $(CCFLAGS) -I$(INC_HDF5) -I$(INC_NETCDF) -I$(INC_PROJ4) -I$(INC_PROJ4F) -Iinclude -I../Mohid_Base_1/include -I../Mohid_Base_2/include + +LIBS = \ + -L$(LIB_HDF5) -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 \ + -L$(LIB_NETCDF) -lnetcdf -lnetcdff \ + -L$(LIB_PROJ4F) -lfproj4 \ + -L$(LIB_PROJ4) -lproj \ + -L$(LIB_ZLIB) -lz \ + -lm + +MODOUT = -module + +OBJ = + +.PHONY: clean all + +all: bin/MohidRiver.exe + +bin/MohidRiver.exe: src/RiverNetwork.F90 + ${FC} ${OBJ_CCFLAGS} ../Mohid_Base_1/build/*.o ../Mohid_Base_2/build/*.o $? ${LIBS} -o bin/MohidRiver.exe + +install: + ln -sf ../src/MohidRiver/bin/MohidRiver.exe ../../bin/MohidRiver.exe + +clean: + -rm -f build/*.o + -rm -f include/*.mod + -rm -f bin/*.exe diff --git a/Solutions/mohid-in-linux/src/MohidRiver/bin/.gitkeep b/Solutions/mohid-in-linux/src/MohidRiver/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/MohidRiver/build/.gitkeep b/Solutions/mohid-in-linux/src/MohidRiver/build/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/MohidRiver/include/.gitkeep b/Solutions/mohid-in-linux/src/MohidRiver/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/MohidRiver/src b/Solutions/mohid-in-linux/src/MohidRiver/src new file mode 120000 index 000000000..34e627942 --- /dev/null +++ b/Solutions/mohid-in-linux/src/MohidRiver/src @@ -0,0 +1 @@ +../../../../Software/MOHIDRiver \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/MohidWater/Makefile b/Solutions/mohid-in-linux/src/MohidWater/Makefile new file mode 100644 index 000000000..2de40f6a4 --- /dev/null +++ b/Solutions/mohid-in-linux/src/MohidWater/Makefile @@ -0,0 +1,153 @@ + +NAME = MohidWater + +FC = ifort +AR = ar rcs + +LIB_DIR = $(HOME)/apps_intel + +DEBUG_FLAGS = -g -traceback +LANG_FLAGS = -cpp -real_size 64 +WARNINGS_FLAGS = -w +OPT_FLAGS = -convert little_endian -fPIC +OTH_FLAGS = -xHost -ip +MODOUT = -module + +FPP_DEFINES = -D_LAGRANGIAN_GLOBAL_ -D_USE_NIX -D_STACK_LIMITS_ -D_USE_PROJ4 + +ZLIB = ${LIB_DIR}/zlib-1.2.11 +INC_ZLIB = $(ZLIB)/include +LIB_ZLIB = $(ZLIB)/lib + +HDF5 = ${LIB_DIR}/hdf5-1.8.15 +INC_HDF5 = $(HDF5)/include +LIB_HDF5 = $(HDF5)/lib + +NETCDF = ${LIB_DIR}/netcdf-4.4.1.1 +INC_NETCDF = $(NETCDF)/include +LIB_NETCDF = $(NETCDF)/lib + +PROJ4 = ${LIB_DIR}/proj-4.9.3 +INC_PROJ4 = $(PROJ4)/include +LIB_PROJ4 = $(PROJ4)/lib + +PROJ4F = ${LIB_DIR}/proj4-fortran +INC_PROJ4F = $(PROJ4F)/include +LIB_PROJ4F = $(PROJ4F)/lib + +CCFLAGS = ${WARNINGS_FLAGS} ${DEBUG_FLAGS} ${LANG_FLAGS} ${OPT_FLAGS} ${OTH_FLAGS} ${FPP_DEFINES} +OBJ_CCFLAGS = $(CCFLAGS) -I$(INC_HDF5) -I$(INC_NETCDF) -I$(INC_PROJ4) -I$(INC_PROJ4F) -Iinclude -I../Mohid_Base_1/include -I../Mohid_Base_2/include + +LIBS = \ + -L$(LIB_HDF5) -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 \ + -L$(LIB_NETCDF) -lnetcdf -lnetcdff \ + -L$(LIB_PROJ4F) -lfproj4 \ + -L$(LIB_PROJ4) -lproj \ + -L$(LIB_ZLIB) -lz \ + -lm + +MODOUT = -module + +OBJ = build/ModuleGOTM.o build/ModuleTurbGOTM.o build/ModuleFreeVerticalMovement.o \ + build/ModuleToga.o build/ModuleGauge.o build/ModuleOil.o \ + build/ModuleOil_0D.o build/ModuleHNS.o build/ModuleOpenBoundary.o \ + build/ModuleTurbulence.o build/ModuleHydrodynamicFile.o build/ModuleAssimilation.o \ + build/ModuleWaves.o build/ModuleJet.o build/ModuleSand.o \ + build/ModuleConsolidation.o build/ModuleHydrodynamic.o build/ModuleWaterProperties.o \ + build/ModuleLagrangian.o build/ModuleLagrangianGlobal.o build/ModuleSedimentProperties.o \ + build/ModuleSediment.o build/ModuleInterfaceSedimentWater.o build/ModuleInterfaceWaterAir.o \ + build/ModuleModel.o +# build/ModuleSequentialAssimilation.o \ + +.PHONY: clean all + +all: bin/MohidWater.exe + +bin/MohidWater.exe: ${OBJ} + ${FC} ${OBJ_CCFLAGS} $? ../Mohid_Base_1/build/*.o ../Mohid_Base_2/build/*.o src/MohidWater.F90 ${LIBS} -o bin/MohidWater.exe + +build/ModuleGOTM.o: src/ModuleGOTM.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleTurbGOTM.o: src/ModuleTurbGOTM.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleFreeVerticalMovement.o: src/ModuleFreeVerticalMovement.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleToga.o: src/ModuleToga.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleGauge.o: src/ModuleGauge.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleOil.o: src/ModuleOil.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleOil_0D.o: src/ModuleOil_0D.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleHNS.o: src/ModuleHNS.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleOpenBoundary.o: src/ModuleOpenBoundary.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleTurbulence.o: src/ModuleTurbulence.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleHydrodynamicFile.o: src/ModuleHydrodynamicFile.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleAssimilation.o: src/ModuleAssimilation.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleWaves.o: src/ModuleWaves.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleJet.o: src/ModuleJet.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleSand.o: src/ModuleSand.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleConsolidation.o: src/ModuleConsolidation.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleHydrodynamic.o: src/ModuleHydrodynamic.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleWaterProperties.o: src/ModuleWaterProperties.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleLagrangian.o: src/ModuleLagrangian.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleLagrangianGlobal.o: src/ModuleLagrangianGlobal.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleSedimentProperties.o: src/ModuleSedimentProperties.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleSediment.o: src/ModuleSediment.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleInterfaceSedimentWater.o: src/ModuleInterfaceSedimentWater.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleInterfaceWaterAir.o: src/ModuleInterfaceWaterAir.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleSequentialAssimilation.o: src/ModuleSequentialAssimilation.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleModel.o: src/ModuleModel.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +install: + ln -sf ../src/MohidWater/bin/MohidWater.exe ../../bin/MohidWater.exe + +clean: + -rm -f build/*.o + -rm -f include/*.mod + -rm -f bin/*.exe diff --git a/Solutions/mohid-in-linux/src/MohidWater/bin/.gitkeep b/Solutions/mohid-in-linux/src/MohidWater/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/MohidWater/build/.gitkeep b/Solutions/mohid-in-linux/src/MohidWater/build/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/MohidWater/include/.gitkeep b/Solutions/mohid-in-linux/src/MohidWater/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/MohidWater/src b/Solutions/mohid-in-linux/src/MohidWater/src new file mode 120000 index 000000000..fcbeca474 --- /dev/null +++ b/Solutions/mohid-in-linux/src/MohidWater/src @@ -0,0 +1 @@ +../../../../Software/MOHIDWater \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/Mohid_Base_1/Makefile b/Solutions/mohid-in-linux/src/Mohid_Base_1/Makefile new file mode 100644 index 000000000..c2df59f7b --- /dev/null +++ b/Solutions/mohid-in-linux/src/Mohid_Base_1/Makefile @@ -0,0 +1,155 @@ + +NAME = MohidBase_1 + +FC = ifort +AR = ar rcs + +LIB_DIR = $(HOME)/apps_intel + +DEBUG_FLAGS = -g -traceback +LANG_FLAGS = -cpp -real_size 64 +WARNINGS_FLAGS = -w +OPT_FLAGS = -convert little_endian -fPIC +OTH_FLAGS = -xHost -ip +MODOUT = -module + +FPP_DEFINES = -D_LAGRANGIAN_GLOBAL_ -D_USE_NIX -D_STACK_LIMITS_ -D_USE_PROJ4 + +ZLIB = ${LIB_DIR}/zlib-1.2.11 +INC_ZLIB = $(ZLIB)/include +LIB_ZLIB = $(ZLIB)/lib + +HDF5 = ${LIB_DIR}/hdf5-1.8.15 +INC_HDF5 = $(HDF5)/include +LIB_HDF5 = $(HDF5)/lib + +NETCDF = ${LIB_DIR}/netcdf-4.4.1.1 +INC_NETCDF = $(NETCDF)/include +LIB_NETCDF = $(NETCDF)/lib + +PROJ4 = ${LIB_DIR}/proj-4.9.3 +INC_PROJ4 = $(PROJ4)/include +LIB_PROJ4 = $(PROJ4)/lib + +PROJ4F = ${LIB_DIR}/proj4-fortran +INC_PROJ4F = $(PROJ4F)/include +LIB_PROJ4F = $(PROJ4F)/lib + +CCFLAGS = ${WARNINGS_FLAGS} ${DEBUG_FLAGS} ${LANG_FLAGS} ${OPT_FLAGS} ${OTH_FLAGS} ${FPP_DEFINES} +OBJ_CCFLAGS = $(CCFLAGS) -I$(INC_HDF5) -I$(INC_NETCDF) -I$(INC_PROJ4) -I$(INC_PROJ4F) -Iinclude + +LIBS = \ + -L$(LIB_HDF5) -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 \ + -L$(LIB_NETCDF) -lnetcdf -lnetcdff \ + -L$(LIB_PROJ4F) -lfproj4 \ + -L$(LIB_PROJ4) -lproj \ + -L$(LIB_ZLIB) -lz \ + -lm + +MODOUT = -module + +OBJ = build/ModuleGlobalData.o build/ModuleLUD.o build/ModuleTriangulation.o build/ModuleTime.o build/ModuleEnterData.o build/ModuleWWTPQ.o \ + build/ModuleStopWatch.o build/ModuleFunctions.o build/ModuleMacroAlgae.o build/ModuleWaterQuality.o build/ModuleSedimentQuality.o \ + build/ModuleHydroIntegration.o build/ModuleSeagrassWaterInteraction.o build/ModuleHDF5.o build/ModuleHDF5_OO.o \ + build/ModuleSeagrassSedimInteraction.o build/ModuleLife.o build/ModuleCEQUALW2.o build/ModuleBenthos.o build/ModuleDrawing.o build/ModuleProfile.o \ + build/ModuleBivalve.o build/ModuleBenthicEcology.o build/ModuleInterface.o build/ModuleTimeSerie.o build/ModuleDischarges.o \ + build/ModuleLightExtinction.o build/ModuleDrainageNetwork.o build/ModuleTask2000.o + +.PHONY: all clean + +all: lib/libmohidbase1.a + +lib/libmohidbase1.a: ${OBJ} + ${AR} $@ ${OBJ} + +build/ModuleGlobalData.o: src/ModuleGlobalData.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleLUD.o: src/ModuleLUD.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleTriangulation.o: src/ModuleTriangulation.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleTime.o: src/ModuleTime.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleEnterData.o: src/ModuleEnterData.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleWWTPQ.o: src/ModuleWWTPQ.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleStopWatch.o: src/ModuleStopWatch.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleFunctions.o: src/ModuleFunctions.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleMacroAlgae.o: src/ModuleMacroAlgae.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleWaterQuality.o: src/ModuleWaterQuality.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleSedimentQuality.o: src/ModuleSedimentQuality.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleHydroIntegration.o: src/ModuleHydroIntegration.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleSeagrassWaterInteraction.o: src/ModuleSeagrassWaterInteraction.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleHDF5.o: src/ModuleHDF5.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleHDF5_OO.o: src/ModuleHDF5_OO.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleSeagrassSedimInteraction.o: src/ModuleSeagrassSedimInteraction.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleLife.o: src/ModuleLife.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleCEQUALW2.o: src/ModuleCEQUALW2.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleBenthos.o: src/ModuleBenthos.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleDrawing.o: src/ModuleDrawing.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleProfile.o: src/ModuleProfile.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleBivalve.o: src/ModuleBivalve.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleBenthicEcology.o: src/ModuleBenthicEcology.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleInterface.o: src/ModuleInterface.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleTimeSerie.o: src/ModuleTimeSerie.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleDischarges.o: src/ModuleDischarges.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleLightExtinction.o: src/ModuleLightExtinction.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleDrainageNetwork.o: src/ModuleDrainageNetwork.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleTask2000.o: src/ModuleTask2000.F + ${FC} -c $? ${OBJ_CCFLAGS} -o $@ ${MODOUT}include + +clean: + -rm -f build/*.o + -rm -f include/*.mod + -rm -f lib/*.so lib/*.a diff --git a/Solutions/mohid-in-linux/src/Mohid_Base_1/build/.gitkeep b/Solutions/mohid-in-linux/src/Mohid_Base_1/build/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Mohid_Base_1/include/.gitkeep b/Solutions/mohid-in-linux/src/Mohid_Base_1/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Mohid_Base_1/lib/.gitkeep b/Solutions/mohid-in-linux/src/Mohid_Base_1/lib/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Mohid_Base_1/src b/Solutions/mohid-in-linux/src/Mohid_Base_1/src new file mode 120000 index 000000000..2db26978d --- /dev/null +++ b/Solutions/mohid-in-linux/src/Mohid_Base_1/src @@ -0,0 +1 @@ +../../../../Software/MOHIDBase1 \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/Mohid_Base_2/Makefile b/Solutions/mohid-in-linux/src/Mohid_Base_2/Makefile new file mode 100644 index 000000000..15e2becd3 --- /dev/null +++ b/Solutions/mohid-in-linux/src/Mohid_Base_2/Makefile @@ -0,0 +1,112 @@ + +NAME = MohidBase_2 + +FC = ifort +AR = ar rcs + +LIB_DIR = $(HOME)/apps_intel + +DEBUG_FLAGS = -g -traceback +LANG_FLAGS = -cpp -real_size 64 +WARNINGS_FLAGS = -w +OPT_FLAGS = -convert little_endian -fPIC +OTH_FLAGS = -xHost -ip +MODOUT = -module + +FPP_DEFINES = -D_LAGRANGIAN_GLOBAL_ -D_USE_NIX -D_STACK_LIMITS_ -D_USE_PROJ4 + +ZLIB = ${LIB_DIR}/zlib-1.2.11 +INC_ZLIB = $(ZLIB)/include +LIB_ZLIB = $(ZLIB)/lib + +HDF5 = ${LIB_DIR}/hdf5-1.8.15 +INC_HDF5 = $(HDF5)/include +LIB_HDF5 = $(HDF5)/lib + +NETCDF = ${LIB_DIR}/netcdf-4.4.1.1 +INC_NETCDF = $(NETCDF)/include +LIB_NETCDF = $(NETCDF)/lib + +PROJ4 = ${LIB_DIR}/proj-4.9.3 +INC_PROJ4 = $(PROJ4)/include +LIB_PROJ4 = $(PROJ4)/lib + +PROJ4F = ${LIB_DIR}/proj4-fortran +INC_PROJ4F = $(PROJ4F)/include +LIB_PROJ4F = $(PROJ4F)/lib + +CCFLAGS = ${WARNINGS_FLAGS} ${DEBUG_FLAGS} ${LANG_FLAGS} ${OPT_FLAGS} ${OTH_FLAGS} ${FPP_DEFINES} +OBJ_CCFLAGS = $(CCFLAGS) -I$(INC_HDF5) -I$(INC_NETCDF) -I$(INC_PROJ4) -I$(INC_PROJ4F) -Iinclude -I../Mohid_Base_1/include + +LIBS = \ + -L$(LIB_HDF5) -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 \ + -L$(LIB_NETCDF) -lnetcdf -lnetcdff \ + -L$(LIB_PROJ4F) -lfproj4 \ + -L$(LIB_PROJ4) -lproj \ + -L$(LIB_ZLIB) -lz \ + -lm + +MODOUT = -module + +OBJ = build/ModuleHorizontalGrid.o build/ModuleStatistic.o build/ModuleGridData.o build/ModuleBasinGeometry.o \ + build/ModuleHorizontalMap.o build/ModuleBoxDif.o build/ModuleGeometry.o build/ModuleMap.o \ + build/ModuleAdvectionDiffusion.o build/ModuleInterpolation.o build/ModuleNETCDF.o \ + build/ModuleField4D.o build/ModuleFillMatrix.o build/ModuleChainReactions.o build/ModuleAtmosphere.o + +.PHONY: all clean + +all: lib/libmohidbase2.a + +lib/libmohidbase2.a: ${OBJ} + ${AR} $@ ${OBJ} + +build/ModuleHorizontalGrid.o: src/ModuleHorizontalGrid.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleStatistic.o: src/ModuleStatistic.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleGridData.o: src/ModuleGridData.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleBasinGeometry.o: src/ModuleBasinGeometry.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleHorizontalMap.o: src/ModuleHorizontalMap.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleBoxDif.o: src/ModuleBoxDif.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleGeometry.o: src/ModuleGeometry.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleMap.o: src/ModuleMap.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleAdvectionDiffusion.o: src/ModuleAdvectionDiffusion.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleInterpolation.o: src/ModuleInterpolation.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleNETCDF.o: src/ModuleNETCDF.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleField4D.o: src/ModuleField4D.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleFillMatrix.o: src/ModuleFillMatrix.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleChainReactions.o: src/ModuleChainReactions.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + +build/ModuleAtmosphere.o: src/ModuleAtmosphere.F90 + ${FC} -c $? ${OBJ_CCFLAGS} ${LIBS} -o $@ ${MODOUT}include + + +clean: + -rm -f build/*.o + -rm -f include/*.mod + -rm -f lib/*.so lib/*.a diff --git a/Solutions/mohid-in-linux/src/Mohid_Base_2/build/.gitkeep b/Solutions/mohid-in-linux/src/Mohid_Base_2/build/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Mohid_Base_2/include/.gitkeep b/Solutions/mohid-in-linux/src/Mohid_Base_2/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Mohid_Base_2/lib/.gitkeep b/Solutions/mohid-in-linux/src/Mohid_Base_2/lib/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Mohid_Base_2/src b/Solutions/mohid-in-linux/src/Mohid_Base_2/src new file mode 120000 index 000000000..0ff8005e2 --- /dev/null +++ b/Solutions/mohid-in-linux/src/Mohid_Base_2/src @@ -0,0 +1 @@ +../../../../Software/MOHIDBase2 \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/Tools/bin/.gitkeep b/Solutions/mohid-in-linux/src/Tools/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/BasinDelimiter/bin/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/BasinDelimiter/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/BasinDelimiter/src b/Solutions/mohid-in-linux/src/Tools/src/BasinDelimiter/src new file mode 120000 index 000000000..d9bf74735 --- /dev/null +++ b/Solutions/mohid-in-linux/src/Tools/src/BasinDelimiter/src @@ -0,0 +1 @@ +../../../../../../Software/BasinDelineation \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/Tools/src/ConvertGridDataToHDF5/bin/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/ConvertGridDataToHDF5/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/ConvertGridDataToHDF5/src b/Solutions/mohid-in-linux/src/Tools/src/ConvertGridDataToHDF5/src new file mode 120000 index 000000000..6018c55c4 --- /dev/null +++ b/Solutions/mohid-in-linux/src/Tools/src/ConvertGridDataToHDF5/src @@ -0,0 +1 @@ +../../../../../../Software/ConvertGridDataToHDF5 \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/Tools/src/ConvertHDF5ToGridData/bin/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/ConvertHDF5ToGridData/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/ConvertHDF5ToGridData/src b/Solutions/mohid-in-linux/src/Tools/src/ConvertHDF5ToGridData/src new file mode 120000 index 000000000..a46d3e92a --- /dev/null +++ b/Solutions/mohid-in-linux/src/Tools/src/ConvertHDF5ToGridData/src @@ -0,0 +1 @@ +../../../../../../Software/ConvertHDF5ToGridData \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/Tools/src/ConvertToHDF5/bin/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/ConvertToHDF5/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/ConvertToHDF5/build/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/ConvertToHDF5/build/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/ConvertToHDF5/include/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/ConvertToHDF5/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/ConvertToHDF5/src b/Solutions/mohid-in-linux/src/Tools/src/ConvertToHDF5/src new file mode 120000 index 000000000..a2224f9b2 --- /dev/null +++ b/Solutions/mohid-in-linux/src/Tools/src/ConvertToHDF5/src @@ -0,0 +1 @@ +../../../../../../Software/ConvertToHDF5 \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/Tools/src/ConvertToXYZ/bin/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/ConvertToXYZ/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/ConvertToXYZ/build/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/ConvertToXYZ/build/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/ConvertToXYZ/include/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/ConvertToXYZ/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/ConvertToXYZ/src b/Solutions/mohid-in-linux/src/Tools/src/ConvertToXYZ/src new file mode 120000 index 000000000..b6ffb45c7 --- /dev/null +++ b/Solutions/mohid-in-linux/src/Tools/src/ConvertToXYZ/src @@ -0,0 +1 @@ +../../../../../../Software/ConvertToXYZ \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/Tools/src/DigitalTerrainCreator/bin/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/DigitalTerrainCreator/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/DigitalTerrainCreator/src b/Solutions/mohid-in-linux/src/Tools/src/DigitalTerrainCreator/src new file mode 120000 index 000000000..14b026d38 --- /dev/null +++ b/Solutions/mohid-in-linux/src/Tools/src/DigitalTerrainCreator/src @@ -0,0 +1 @@ +../../../../../../Software/DigitalTerrainCreator \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/Tools/src/DomainDecompositionConsolidation/bin/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/DomainDecompositionConsolidation/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/DomainDecompositionConsolidation/build/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/DomainDecompositionConsolidation/build/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/DomainDecompositionConsolidation/include/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/DomainDecompositionConsolidation/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/DomainDecompositionConsolidation/src b/Solutions/mohid-in-linux/src/Tools/src/DomainDecompositionConsolidation/src new file mode 120000 index 000000000..bb39d095f --- /dev/null +++ b/Solutions/mohid-in-linux/src/Tools/src/DomainDecompositionConsolidation/src @@ -0,0 +1 @@ +../../../../../../Software/DomainDecompositionConsolidation \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/Tools/src/FillMatrix/bin/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/FillMatrix/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/FillMatrix/src b/Solutions/mohid-in-linux/src/Tools/src/FillMatrix/src new file mode 120000 index 000000000..41a8cd5b0 --- /dev/null +++ b/Solutions/mohid-in-linux/src/Tools/src/FillMatrix/src @@ -0,0 +1 @@ +../../../../../../Software/FillMatrix \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/bin/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/build/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/build/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/include/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/src b/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/src new file mode 120000 index 000000000..dd64d4a96 --- /dev/null +++ b/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/src @@ -0,0 +1 @@ +../../../../../../Software/HDF5Exporter \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/test/InputSample/input.dat b/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/test/InputSample/input.dat new file mode 100644 index 000000000..c2174a2cb --- /dev/null +++ b/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/test/InputSample/input.dat @@ -0,0 +1,28 @@ + +NAME : Z:\Proj_330_LaHerradura\Simula\LaHerradura_Nov2009\Level3a\Level4_LH\res\Hydrodynamic_1.hdf5 + + + +START_TIME : 2009 11 5 0 0 0 +END_TIME : 2009 11 6 0 0 0 + +COMPUTE_RESIDUAL : 0 + +WATERPOINTS_NAME : + + +HDF_GROUP : /Results/water level +PROPERTY : water level + + + +NAME : Tidal Gauge +LOCALIZATION_I : 27 +LOCALIZATION_J : 148 +LOCALIZATION_K : 1 + + + + + + diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/test/InputSample/nomfich.dat b/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/test/InputSample/nomfich.dat new file mode 100644 index 000000000..42a0d3240 --- /dev/null +++ b/Solutions/mohid-in-linux/src/Tools/src/HDF5Exporter/test/InputSample/nomfich.dat @@ -0,0 +1,3 @@ +IN_MODEL : input.dat +ROOT_SRT : Z:\Proj_330_LaHerradura\Simula\ResultsAnalysis\November2009\TidalGauge\Work\LH\ + diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Extractor/bin/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/HDF5Extractor/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Extractor/build/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/HDF5Extractor/build/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Extractor/include/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/HDF5Extractor/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Extractor/src b/Solutions/mohid-in-linux/src/Tools/src/HDF5Extractor/src new file mode 120000 index 000000000..398f98511 --- /dev/null +++ b/Solutions/mohid-in-linux/src/Tools/src/HDF5Extractor/src @@ -0,0 +1 @@ +../../../../../../Software/HDF5Extractor \ No newline at end of file diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Statistics/bin/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/HDF5Statistics/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Statistics/build/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/HDF5Statistics/build/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Statistics/include/.gitkeep b/Solutions/mohid-in-linux/src/Tools/src/HDF5Statistics/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/src/Tools/src/HDF5Statistics/src b/Solutions/mohid-in-linux/src/Tools/src/HDF5Statistics/src new file mode 120000 index 000000000..4a3aeadfd --- /dev/null +++ b/Solutions/mohid-in-linux/src/Tools/src/HDF5Statistics/src @@ -0,0 +1 @@ +../../../../../../Software/HDF5Statistics \ No newline at end of file diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/BoundaryConditions/Rainfall9mmx6h.srm b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/BoundaryConditions/Rainfall9mmx6h.srm new file mode 100644 index 000000000..bb9048e31 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/BoundaryConditions/Rainfall9mmx6h.srm @@ -0,0 +1,17 @@ +TIME_UNITS : HOURS +SERIE_INITIAL_DATA : 2000 1 1 0 0 0 + +HOURS Rainfall + +0.0 0.0 +1.0 9.0 +2.0 0.0 +3.0 0.0 +4.0 0.0 +5.0 0.0 +6.0 0.0 +7.0 0.0 +48 0.0 + + + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/BoundaryConditions/SampleDischarge.srm b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/BoundaryConditions/SampleDischarge.srm new file mode 100644 index 000000000..9b461b108 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/BoundaryConditions/SampleDischarge.srm @@ -0,0 +1,19 @@ +NAME : Station Name +COORD_X : 0 +COORD_Y : 0 +SERIE_INITIAL_DATA : 2000 1 1 0 0 0 +TIME_UNITS : HOURS + +hours flow + +0.0 0.0 +1.0 0.0 +2.0 1 +3.0 -1 +4.0 1 +5.0 -1 +6.0 1 +7.0 0.0 +24.0 0.0 + + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/BoundaryConditions/Tide.srm b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/BoundaryConditions/Tide.srm new file mode 100644 index 000000000..09b5b3238 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/BoundaryConditions/Tide.srm @@ -0,0 +1,17 @@ +NAME : Sample Water Level +SERIE_INITIAL_DATA : 2000 1 1 0 0 0 +TIME_UNITS : HOURS + +Hours Waterlevel + +0.00 -1.00 +1.0 -1.50 +2.0 -0.50 +3.0 -1.50 +4.0 -0.50 +5.0 -1.0 +6.0 -1.0 +12.0 -1.0 +48. -1.0 + + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/BasinGeometryInfo.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/BasinGeometryInfo.dat new file mode 100644 index 000000000..9ea33cf44 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/BasinGeometryInfo.dat @@ -0,0 +1,7 @@ +TOPOGRAPHIC_FILE : D:\MohidProjects\Studio\04_MOHID Land Unit Tests\SchematicWatershed\General Data\Digital Terrain\DTM_SampleCatchment2.dat +TRESHOLD_AREA : 100000 +DELINEATE_BASIN : 1 +OUTLET_I : 11 +OUTLET_J : 2 +WRITE_DELINEATION : 1 +DELINEATION_FILE : D:\MohidProjects\Studio\04_MOHID Land Unit Tests\SchematicWatershed\General Data\Digital Terrain\Delineation.xy diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/BasinGeometryInfo_HighDensity.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/BasinGeometryInfo_HighDensity.dat new file mode 100644 index 000000000..e77b18568 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/BasinGeometryInfo_HighDensity.dat @@ -0,0 +1,7 @@ +TOPOGRAPHIC_FILE : C:\Users\frank\Documents\MOHID Studio\Projects\MOHID Land Unit Tests\SchematicWatershed\General Data\Digital Terrain\DTM_SampleCatchment2.dat +TRESHOLD_AREA : 50000 +DELINEATE_BASIN : 1 +OUTLET_I : 11 +OUTLET_J : 2 +WRITE_REACHES : 1 +REACHES_FILE : C:\Users\frank\Documents\MOHID Studio\Projects\MOHID Land Unit Tests\SchematicWatershed\General Data\Digital Terrain\Drainage Network_HighDensity.dnt diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/BottomTopography.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/BottomTopography.dat new file mode 100644 index 000000000..09b2e53af --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/BottomTopography.dat @@ -0,0 +1,1067 @@ +COMENT1 : Grid generated by MOHID Studio +COMENT2 : Generation Time: 01-07-2010 17:29:34 +LATITUDE : 2950 +LONGITUDE : 4300 +COORD_TIP : 3 +SRID : -1 +ILB_IUB : 1 21 +JLB_JUB : 1 50 +ORIGIN : 1800 1900 +GRID_ANGLE : 0 +CONSTANT_SPACING_X : 1 +CONSTANT_SPACING_Y : 1 +DX : 100 +DY : 100 +FILL_VALUE : -99 + +40.9569894394871 +42.3773886109264 +45.1658425738637 +47.9371493850183 +49.3574187823605 +50.3400667764837 +51.2907142042112 +52.3346700531935 +53.4014287197243 +54.3862240618547 +55.3500241447463 +56.3302446144369 +57.3690911198067 +58.404263292282 +59.3789319015797 +60.3378884152898 +61.314280377875 +62.3534311532764 +63.3923891408943 +64.3685538389054 +65.3275865793979 +66.3037937043009 +67.3429677748531 +68.3821417697699 +69.3583488053498 +70.317382274059 +71.2935893261529 +72.3327634061967 +73.3719374862405 +74.3481445383343 +75.3071780073185 +76.2833850594123 +77.3225591394561 +78.3617332194999 +79.3379402715937 +80.296973740578 +81.2731807926718 +82.3123548727156 +83.3515289527594 +84.3277360048532 +85.2866354788386 +86.2538602766937 +87.2396055853382 +88.2626396634807 +89.2853881059222 +90.2000414158084 +90.3303824485435 +88.05815110986 +85.7461098963934 +85.8622297069461 +32.9347252907232 +35.250447612876 +40.4470496838663 +45.6299317737861 +47.9451674256524 +49.1316768398825 +50.1502768814203 +51.2784470723175 +52.4073686827744 +53.3567997359456 +54.2652443803164 +55.2161264417571 +56.2865551952826 +57.3471225553326 +58.2769202822121 +59.170681945112 +60.1098122876029 +61.1790884663491 +62.248287881122 +63.1825487738408 +64.0773631682699 +65.0170362396483 +66.0867272120388 +67.1564181560422 +68.0905298755323 +68.9853447062377 +69.9251986267104 +70.9948897681596 +72.0645809096088 +72.9985119427908 +73.8933267734962 +74.8333613922252 +75.9030525336744 +76.9727436751236 +77.9064940100493 +78.8013088407547 +79.74152415774 +80.8112152991892 +81.8809064406384 +82.8144760773078 +83.7092909080132 +84.64390789676 +85.6045285158298 +86.5492934557612 +87.3253860882245 +87.6663735164784 +85.9763438742481 +79.1709104122007 +72.3099369589043 +70.5671488260627 +26.4980503604541 +29.5032895871395 +35.643437213854 +41.8616078875175 +45.0151605757334 +46.6726016156955 +48.0151600005096 +49.2752146349194 +50.3139495762205 +51.2059346875114 +52.0852554089511 +53.0480438714627 +54.1099242158511 +55.112204195215 +55.9739912011071 +56.8274137635478 +57.7719352758402 +58.8295288146704 +59.8398879391002 +60.70652593652 +61.5635215608591 +62.513288384351 +63.574251711022 +64.5830848075898 +65.4469345195407 +66.3039316533864 +67.2564910635929 +68.319148862882 +69.3262882440956 +70.1873463921154 +71.044343525961 +71.9996945000987 +73.064046081634 +74.0694916806013 +74.92775826469 +75.7847553985356 +76.7428979366044 +77.8089433003862 +78.8126951171071 +79.6681701372646 +80.5251672711102 +81.4861013731102 +82.5210222121689 +83.1259094916212 +83.2087911961608 +82.5374180861781 +79.1483429483818 +70.2618367840604 +61.4594942259835 +58.2148417445545 +21.2750401654909 +24.6071638801049 +30.6306276069979 +37.5193541532953 +41.0378578379892 +43.2226491219407 +45.0551582584658 +45.8557582285271 +47.0660393552545 +47.7011011151772 +48.5497642876496 +49.7014877571856 +50.441752664278 +51.6407847507169 +52.2158718992036 +53.0243030983585 +54.1640687793709 +54.8782269135133 +56.1058350148374 +56.6707672255315 +57.4863538045743 +58.6516879441324 +59.3485125568804 +60.5939504329251 +61.138724415817 +61.9543140718109 +63.1398131664938 +63.8188130118402 +65.0820758608789 +65.6066871654277 +66.4222768214216 +67.6279385944476 +68.2891134667999 +69.5702012888326 +70.0746499150383 +70.8902395710322 +72.1160640224013 +72.7594139217596 +74.0583267167864 +74.542612664649 +75.3582023206429 +76.6041894503551 +77.2297049584521 +78.4432794084312 +77.5285071988985 +75.7288031664998 +71.4523447791349 +61.1172164792377 +52.254983547353 +48.0833340342505 +16.0170829511232 +18.7079435800119 +23.3203301847318 +30.0134439100822 +35.1880099740124 +37.1836647763178 +37.4121823472242 +36.7185694874705 +39.1757752145468 +40.6994617578789 +41.4265803502643 +41.5048932060945 +40.6818921759243 +43.1782713078623 +44.6812996993006 +45.3484211160451 +45.3346482628722 +44.378088188996 +47.0142140734009 +48.5919619357793 +49.2678681757891 +49.2000356756941 +48.1186341718666 +50.8796075663209 +52.5126233667959 +53.1885334312294 +53.0654392467343 +51.8591952371865 +54.7450111373611 +56.4332891401603 +57.1091992045938 +56.9308428177745 +55.5997563025063 +58.6104147084012 +60.3539549135247 +61.0298649779582 +60.7962463888147 +59.3403173678262 +62.4758182794414 +64.2746206868892 +64.9505307513227 +64.6616010786726 +63.0807539521534 +66.3411362349861 +67.9267773853025 +66.0833012649067 +58.5429912190448 +48.2828637869416 +41.4695085871265 +37.8973215913083 +9.78647686016 +10.9405165038566 +12.7303470241639 +14.9727216122037 +16.7042795687407 +17.1600995270528 +18.6167074364528 +19.9458371756162 +19.9454986376898 +19.6541587074245 +20.0559135267574 +21.5286576525177 +22.7563572059112 +22.5190143059774 +21.9901237767268 +22.3067549513496 +23.8165850684388 +25.1015476057533 +24.8347891131422 +24.2622017799453 +24.5813392730062 +26.1635243733931 +27.5024179649601 +27.1817519975057 +26.5368029164457 +26.8559359506418 +28.5104828114368 +29.9032971106976 +29.5287104355493 +28.8113995940813 +29.1305326282774 +30.8574412494804 +32.3041762564351 +31.8756688735929 +31.0859962717169 +31.4051293059131 +33.204399687524 +34.7050554021725 +34.2226273116366 +33.3605929493525 +33.6796570317375 +35.5510610275501 +37.1055495921361 +36.5692320311951 +35.635027370114 +35.6720995448169 +33.4128230870746 +30.2264032322608 +27.7183269089733 +26.183123224921 +3.937306943058 +3.96680808999372 +4.0130977064606 +3.82420720752948 +4.3590035263411 +4.5588939631308 +4.5029206181429 +6.1985898673437 +5.5802980783443 +6.3896797401815 +6.6925304616436 +6.5323914187748 +8.0529341181423 +7.0577883047159 +7.6939305122746 +7.8882741547847 +7.6624190830108 +9.2936445871472 +8.2425332024679 +8.9306686531507 +9.1303956107427 +8.8714501357476 +10.5959035423293 +9.4515997276558 +10.1715406465346 +10.3712602098931 +10.0805022973745 +11.8981644223363 +10.6606518892827 +11.4123980161425 +11.6121175795009 +11.2895544590013 +13.2004253023432 +11.8697040509095 +12.6532553857503 +12.8529749491088 +12.4986066206281 +14.5026861823502 +13.0787562125363 +13.8940460430274 +14.0936291473613 +13.7072543376751 +15.8043585248911 +14.2872408295661 +15.1297964869718 +15.3178041950692 +14.8147970175017 +15.4677988038519 +15.5739589259492 +15.5306445194154 +0.0865606776718097 +-0.11538163590228 +-0.21937571446935 +-0.14833048975851 +0.0134777056440898 +0.16622884470281 +0.35738042758434 +0.77480202466107 +1.30784206737364 +1.75675646285862 +2.00857893004018 +2.10798082823801 +2.24106015682239 +2.45645684980952 +2.70254274060899 +2.83823973567904 +2.8916588026709 +3.04667392976053 +3.30456071859962 +3.57764121887742 +3.71964781048216 +3.76503971544931 +3.91478236385244 +4.1763158444468 +4.4570439101096 +4.5990467852917 +4.6367847261801 +4.7828909651136 +5.0480567714945 +5.3364313795453 +5.4784342547274 +5.5085256532278 +5.6509995663748 +5.9197976985422 +6.215818848981 +6.3578217241631 +6.3802665802755 +6.5191081676359 +6.7915104559304 +7.0951001696857 +7.2369977620251 +7.2516106896468 +7.3865842521944 +7.6614485824347 +7.9695677301109 +8.1065048021162 +8.1017334889866 +8.2002872215518 +8.438642568404 +8.6126118394034 +-2.29970287343913 +-2.50408774288645 +-2.60265814929605 +-2.61369414972436 +-2.5604278839497 +-2.43954166890386 +-2.21528517979278 +-1.7785090677047 +-1.3189907306143 +-0.99238982663769 +-0.77321393513764 +-0.62576084971199 +-0.49805920953758 +-0.39070565419408 +-0.26328631640893 +-0.15644878107395 +-0.05679974107563 +0.0980240443763396 +0.25390643989489 +0.39873806282509 +0.50986137625292 +0.60849140096297 +0.76246948761186 +0.91720769730039 +1.06358973884556 +1.17471141179313 +1.27178639955143 +1.42573696145125 +1.58049772132719 +1.72843138344608 +1.83955305639364 +1.93507642357823 +2.08900226757369 +2.243787745354 +2.3932730280466 +2.50439470099416 +2.59836644760504 +2.75225564660888 +2.90704345823986 +3.05803726806916 +3.16909703132525 +3.26134259494426 +3.41455087376623 +3.56883262121548 +3.72082592509442 +3.83103930150884 +3.93070718500234 +4.0596379108404 +4.19950662154 +4.3109486354397 +-3.68260201877004 +-3.9014848741119 +-4.0318793742055 +-4.07669891675301 +-4.04789325424953 +-3.94554535073148 +-3.72695506962359 +-3.30435920026233 +-2.86163164692656 +-2.5817763306857 +-2.37817353680661 +-2.22190481756376 +-2.13425180371817 +-2.07352456820053 +-1.98267687517369 +-1.88309181075582 +-1.7802545273978 +-1.66502596585856 +-1.54743843614873 +-1.44274120845506 +-1.34183831975276 +-1.23757091852563 +-1.12188635338363 +-1.00619855630533 +-0.90192145261969 +-0.80101919785168 +-0.69674994285622 +-0.58106575963719 +-0.46538157641816 +-0.36110489966249 +-0.26020264489449 +-0.1559336163256 +-0.0402494331065801 +0.0754347501124499 +0.1797116532947 +0.28061390806271 +0.38487972284376 +0.50054341598228 +0.61621901222821 +0.72050451020801 +0.82138598446303 +0.92540537187757 +1.04027838242983 +1.15589043681182 +1.26081134504222 +1.36443354746198 +1.46779820678883 +1.58058318985555 +1.69455708007415 +1.79432157267811 +-5 +-4.65 +-4.6 +-4.56478563236635 +-4.53980731541088 +-4.44016121122283 +-4.23011494806689 +-3.81243605625865 +-3.37594134427244 +-3.10551599423228 +-2.90495244342027 +-2.7503686272854 +-2.67826191634835 +-2.63689004606487 +-2.54975415261734 +-2.45009127560501 +-2.35182986124771 +-2.25319941289369 +-2.15088153218902 +-2.05002409390557 +-1.95000061469817 +-1.85000454758875 +-1.75000586553166 +-1.65000137345514 +-1.55000003325864 +-1.45 +-1.35 +-1.25 +-1.15 +-1.05 +-0.95 +-0.85 +-0.75 +-0.65 +-0.55 +-0.45000012999506 +-0.35000627977958 +-0.25003227044777 +-0.15003136332834 +-0.05000566984965 +0.0499864915190598 +0.14968505751341 +0.24881700275738 +0.34892650635979 +0.44970235349672 +0.55022081324363 +0.65093658541701 +0.75445577659309 +0.85750750061697 +0.95389022807431 +-3.68260201877004 +-3.9014848741119 +-4.0318793742055 +-4.07669891675301 +-4.04789325424953 +-3.94554535073148 +-3.72695506962359 +-3.30435920026233 +-2.86163164692656 +-2.5817763306857 +-2.37817353680661 +-2.22190481756376 +-2.13425180371817 +-2.07352456820053 +-1.98267687517369 +-1.88309181075582 +-1.7802545273978 +-1.66502596585856 +-1.54743843614873 +-1.44274120845506 +-1.34183831975276 +-1.23757091852563 +-1.12188635338363 +-1.00619855630533 +-0.90192145261969 +-0.80101919785168 +-0.69674994285622 +-0.58106575963719 +-0.46538157641816 +-0.36110489966249 +-0.26020264489449 +-0.1559336163256 +-0.0402494331065801 +0.0754347501124499 +0.1797116532947 +0.28061390806271 +0.38487972284376 +0.50054341598228 +0.61621901222821 +0.72050451020801 +0.82138598446303 +0.92540537187757 +1.04027838242983 +1.15589043681182 +1.26081134504222 +1.36443354746199 +1.46779820678883 +1.58058318985555 +1.69455708007415 +1.79432157267811 +-2.29970287343913 +-2.50408774288645 +-2.60265814929605 +-2.61369414972436 +-2.5604278839497 +-2.43954166890386 +-2.21528517979278 +-1.7785090677047 +-1.3189907306143 +-0.99238982663769 +-0.77321393513764 +-0.62576084971199 +-0.49805920953758 +-0.39070565419408 +-0.26328631640893 +-0.15644878107395 +-0.05679974107563 +0.0980240443763396 +0.25390643989489 +0.39873806282509 +0.50986137625292 +0.60849140096297 +0.76246948761186 +0.91720769730039 +1.06358973884556 +1.17471141179313 +1.27178639955143 +1.42573696145125 +1.58049772132719 +1.72843138344608 +1.83955305639364 +1.93507642357823 +2.08900226757369 +2.243787745354 +2.3932730280466 +2.50439470099416 +2.59836644760504 +2.75225564660888 +2.90704345823986 +3.05803726806916 +3.16909703132525 +3.26134259494426 +3.41455087376623 +3.56883262121548 +3.72082592509442 +3.83103930150884 +3.93070718500234 +4.0596379108404 +4.19950662154 +4.3109486354396 +0.0865606776718097 +-0.11538163590228 +-0.21937571446935 +-0.14833048975851 +0.0134777056440898 +0.16622884470281 +0.35738042758434 +0.77480202466107 +1.30784206737364 +1.75675646285862 +2.00857893004018 +2.10798082823801 +2.24106015682239 +2.45645684980952 +2.70254274060899 +2.83823973567904 +2.8916588026709 +3.04667392976053 +3.30456071859962 +3.57764121887742 +3.71964781048216 +3.76503971544931 +3.91478236385244 +4.1763158444468 +4.4570439101096 +4.5990467852917 +4.6367847261801 +4.7828909651136 +5.0480567714945 +5.3364313795453 +5.4784342547274 +5.5085256532278 +5.6509995663748 +5.9197976985422 +6.215818848981 +6.3578217241631 +6.3802665802755 +6.5191081676359 +6.7915104559304 +7.0951001696857 +7.2369977620251 +7.2516106896468 +7.3865842521944 +7.6614485824347 +7.9695677301109 +8.1065048021162 +8.1017334889866 +8.2002872215518 +8.438642568404 +8.6126118394034 +3.937306943058 +3.96680808999373 +4.0130977064606 +3.82420720752948 +4.3590035263411 +4.5588939631308 +4.5029206181429 +6.1985898673437 +5.5802980783443 +6.3896797401815 +6.6925304616436 +6.5323914187748 +8.0529341181423 +7.0577883047159 +7.6939305122746 +7.8882741547847 +7.6624190830108 +9.2936445871472 +8.2425332024679 +8.9306686531507 +9.1303956107427 +8.8714501357476 +10.5959035423293 +9.4515997276558 +10.1715406465346 +10.3712602098931 +10.0805022973745 +11.8981644223363 +10.6606518892827 +11.4123980161425 +11.6121175795009 +11.2895544590013 +13.2004253023433 +11.8697040509095 +12.6532553857503 +12.8529749491088 +12.4986066206281 +14.5026861823502 +13.0787562125363 +13.8940460430274 +14.0936291473613 +13.7072543376751 +15.8043585248911 +14.2872408295661 +15.1297964869718 +15.3178041950691 +14.8147970175017 +15.4677988038519 +15.5739589259492 +15.5306445194154 +9.78647686016 +10.9405165038566 +12.7303470241639 +14.9727216122037 +16.7042795687407 +17.1600995270528 +18.6167074364528 +19.9458371756162 +19.9454986376898 +19.6541587074245 +20.0559135267574 +21.5286576525177 +22.7563572059112 +22.5190143059774 +21.9901237767268 +22.3067549513496 +23.8165850684388 +25.1015476057533 +24.8347891131422 +24.2622017799453 +24.5813392730062 +26.1635243733931 +27.5024179649601 +27.1817519975057 +26.5368029164457 +26.8559359506418 +28.5104828114368 +29.9032971106976 +29.5287104355493 +28.8113995940813 +29.1305326282774 +30.8574412494804 +32.3041762564351 +31.8756688735929 +31.0859962717169 +31.4051293059131 +33.204399687524 +34.7050554021725 +34.2226273116366 +33.3605929493525 +33.6796570317375 +35.5510610275501 +37.1055495921361 +36.5692320311951 +35.635027370114 +35.6720995448169 +33.4128230870746 +30.2264032322608 +27.7183269089733 +26.183123224921 +16.0170829511232 +18.7079435800119 +23.3203301847318 +30.0134439100822 +35.1880099740124 +37.1836647763178 +37.4121823472242 +36.7185694874705 +39.1757752145468 +40.6994617578789 +41.4265803502643 +41.5048932060945 +40.6818921759243 +43.1782713078623 +44.6812996993006 +45.3484211160451 +45.3346482628722 +44.378088188996 +47.0142140734009 +48.5919619357793 +49.2678681757891 +49.2000356756941 +48.1186341718666 +50.8796075663209 +52.5126233667959 +53.1885334312294 +53.0654392467343 +51.8591952371865 +54.7450111373611 +56.4332891401603 +57.1091992045938 +56.9308428177745 +55.5997563025064 +58.6104147084012 +60.3539549135247 +61.0298649779583 +60.7962463888147 +59.3403173678262 +62.4758182794414 +64.2746206868892 +64.9505307513227 +64.6616010786726 +63.0807539521534 +66.3411362349861 +67.9267773853025 +66.0833012649067 +58.5429912190448 +48.2828637869416 +41.4695085871265 +37.8973215913083 +21.2750401654909 +24.6071638801049 +30.6306276069979 +37.5193541532953 +41.0378578379892 +43.2226491219407 +45.0551582584658 +45.8557582285271 +47.0660393552545 +47.7011011151772 +48.5497642876496 +49.7014877571856 +50.441752664278 +51.6407847507169 +52.2158718992036 +53.0243030983585 +54.1640687793709 +54.8782269135133 +56.1058350148374 +56.6707672255315 +57.4863538045743 +58.6516879441324 +59.3485125568804 +60.5939504329251 +61.138724415817 +61.9543140718109 +63.1398131664938 +63.8188130118402 +65.0820758608789 +65.6066871654277 +66.4222768214216 +67.6279385944476 +68.2891134667999 +69.5702012888326 +70.0746499150383 +70.8902395710322 +72.1160640224013 +72.7594139217596 +74.0583267167864 +74.542612664649 +75.3582023206429 +76.6041894503551 +77.2297049584521 +78.4432794084312 +77.5285071988985 +75.7288031664998 +71.4523447791349 +61.1172164792377 +52.254983547353 +48.0833340342505 +26.4980503604541 +29.5032895871395 +35.643437213854 +41.8616078875175 +45.0151605757334 +46.6726016156955 +48.0151600005096 +49.2752146349194 +50.3139495762205 +51.2059346875114 +52.0852554089511 +53.0480438714627 +54.1099242158511 +55.1122041952149 +55.9739912011071 +56.8274137635478 +57.7719352758402 +58.8295288146704 +59.8398879391002 +60.70652593652 +61.5635215608591 +62.513288384351 +63.574251711022 +64.5830848075898 +65.4469345195407 +66.3039316533864 +67.2564910635929 +68.319148862882 +69.3262882440956 +70.1873463921154 +71.044343525961 +71.9996945000987 +73.064046081634 +74.0694916806013 +74.92775826469 +75.7847553985356 +76.7428979366044 +77.8089433003862 +78.8126951171071 +79.6681701372646 +80.5251672711102 +81.4861013731102 +82.5210222121689 +83.1259094916212 +83.2087911961608 +82.5374180861781 +79.1483429483818 +70.2618367840604 +61.4594942259835 +58.2148417445545 +32.9347252907232 +35.250447612876 +40.4470496838663 +45.6299317737861 +47.9451674256524 +49.1316768398825 +50.1502768814203 +51.2784470723175 +52.4073686827744 +53.3567997359456 +54.2652443803164 +55.2161264417571 +56.2865551952826 +57.3471225553326 +58.2769202822121 +59.170681945112 +60.1098122876029 +61.1790884663491 +62.248287881122 +63.1825487738408 +64.0773631682699 +65.0170362396483 +66.0867272120388 +67.1564181560422 +68.0905298755323 +68.9853447062377 +69.9251986267104 +70.9948897681596 +72.0645809096088 +72.9985119427908 +73.8933267734962 +74.8333613922252 +75.9030525336744 +76.9727436751236 +77.9064940100493 +78.8013088407547 +79.74152415774 +80.8112152991892 +81.8809064406384 +82.8144760773078 +83.7092909080132 +84.64390789676 +85.6045285158298 +86.5492934557612 +87.3253860882245 +87.6663735164784 +85.9763438742481 +79.1709104122007 +72.3099369589043 +70.5671488260627 +40.9569894394871 +42.3773886109264 +45.1658425738637 +47.9371493850183 +49.3574187823605 +50.3400667764837 +51.2907142042112 +52.3346700531935 +53.4014287197243 +54.3862240618547 +55.3500241447463 +56.3302446144369 +57.3690911198067 +58.404263292282 +59.3789319015797 +60.3378884152898 +61.314280377875 +62.3534311532764 +63.3923891408943 +64.3685538389054 +65.3275865793979 +66.3037937043009 +67.3429677748531 +68.3821417697699 +69.3583488053498 +70.317382274059 +71.2935893261529 +72.3327634061967 +73.3719374862405 +74.3481445383343 +75.3071780073185 +76.2833850594123 +77.3225591394561 +78.3617332194999 +79.3379402715937 +80.296973740578 +81.2731807926718 +82.3123548727156 +83.3515289527594 +84.3277360048532 +85.2866354788386 +86.2538602766937 +87.2396055853382 +88.2626396634807 +89.2853881059222 +90.2000414158084 +90.3303824485435 +88.05815110986 +85.7461098963934 +85.8622297069461 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/BottomTopography_.new b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/BottomTopography_.new new file mode 100644 index 000000000..676a2d2c4 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/BottomTopography_.new @@ -0,0 +1,1144 @@ +COMENT1 : Automatic Generated Grid Data File +COMENT2 : Based On ..\General Data\Digital Terrain\BottomTopography.dat + + + ILB_IUB : 1 21 + JLB_JUB : 1 50 + COORD_TIP : 3 + ZONE : 29 + ORIGIN : 1800.00000000000 1900.00000000000 + GRID_ANGLE : 0.000000000000000E+000 + LATITUDE : 2950.00000000000 + LONGITUDE : 4300.00000000000 + FILL_VALUE : -99.0000000000000 + + + + 0.000000000000000E+000 + 100.000000000000 + 200.000000000000 + 300.000000000000 + 400.000000000000 + 500.000000000000 + 600.000000000000 + 700.000000000000 + 800.000000000000 + 900.000000000000 + 1000.00000000000 + 1100.00000000000 + 1200.00000000000 + 1300.00000000000 + 1400.00000000000 + 1500.00000000000 + 1600.00000000000 + 1700.00000000000 + 1800.00000000000 + 1900.00000000000 + 2000.00000000000 + 2100.00000000000 + 2200.00000000000 + 2300.00000000000 + 2400.00000000000 + 2500.00000000000 + 2600.00000000000 + 2700.00000000000 + 2800.00000000000 + 2900.00000000000 + 3000.00000000000 + 3100.00000000000 + 3200.00000000000 + 3300.00000000000 + 3400.00000000000 + 3500.00000000000 + 3600.00000000000 + 3700.00000000000 + 3800.00000000000 + 3900.00000000000 + 4000.00000000000 + 4100.00000000000 + 4200.00000000000 + 4300.00000000000 + 4400.00000000000 + 4500.00000000000 + 4600.00000000000 + 4700.00000000000 + 4800.00000000000 + 4900.00000000000 + 5000.00000000000 + + + 0.000000000000000E+000 + 100.000000000000 + 200.000000000000 + 300.000000000000 + 400.000000000000 + 500.000000000000 + 600.000000000000 + 700.000000000000 + 800.000000000000 + 900.000000000000 + 1000.00000000000 + 1100.00000000000 + 1200.00000000000 + 1300.00000000000 + 1400.00000000000 + 1500.00000000000 + 1600.00000000000 + 1700.00000000000 + 1800.00000000000 + 1900.00000000000 + 2000.00000000000 + 2100.00000000000 + + + 41.4069894394871 + 42.8273886109264 + 45.6158425738637 + 48.3871493850183 + 49.8074187823605 + 50.7900667764837 + 51.7407142042112 + 52.7846700531935 + 53.8514287197243 + 54.8362240618547 + 55.8000241447463 + 56.7802446144369 + 57.8190911198067 + 58.8542632922820 + 59.8289319015797 + 60.7878884152898 + 61.7642803778750 + 62.8034311532764 + 63.8423891408943 + 64.8185538389054 + 65.7775865793979 + 66.7537937043009 + 67.7929677748531 + 68.8321417697699 + 69.8083488053498 + 70.7673822740590 + 71.7435893261529 + 72.7827634061967 + 73.8219374862405 + 74.7981445383343 + 75.7571780073185 + 76.7333850594123 + 77.7725591394561 + 78.8117332194999 + 79.7879402715937 + 80.7469737405780 + 81.7231807926718 + 82.7623548727156 + 83.8015289527594 + 84.7777360048532 + 85.7366354788386 + 86.7038602766937 + 87.6896055853382 + 88.7126396634807 + 89.7353881059222 + 90.6500414158084 + 90.7803824485435 + 88.5081511098600 + 86.1961098963934 + 86.3122297069461 + 33.3847252907232 + 35.7004476128760 + 40.8970496838663 + 46.0799317737861 + 48.3951674256524 + 49.5816768398825 + 50.6002768814203 + 51.7284470723175 + 52.8573686827744 + 53.8067997359456 + 54.7152443803164 + 55.6661264417571 + 56.7365551952826 + 57.7971225553326 + 58.7269202822121 + 59.6206819451120 + 60.5598122876029 + 61.6290884663491 + 62.6982878811220 + 63.6325487738408 + 64.5273631682699 + 65.4670362396483 + 66.5367272120388 + 67.6064181560422 + 68.5405298755323 + 69.4353447062377 + 70.3751986267104 + 71.4448897681596 + 72.5145809096088 + 73.4485119427908 + 74.3433267734962 + 75.2833613922252 + 76.3530525336744 + 77.4227436751236 + 78.3564940100493 + 79.2513088407547 + 80.1915241577400 + 81.2612152991892 + 82.3309064406384 + 83.2644760773078 + 84.1592909080132 + 85.0939078967600 + 86.0545285158298 + 86.9992934557612 + 87.7753860882245 + 88.1163735164784 + 86.4263438742481 + 79.6209104122007 + 72.7599369589043 + 71.0171488260627 + 26.9480503604541 + 29.9532895871395 + 36.0934372138540 + 42.3116078875175 + 45.4651605757334 + 47.1226016156955 + 48.4651600005096 + 49.7252146349194 + 50.7639495762205 + 51.6559346875114 + 52.5352554089511 + 53.4980438714627 + 54.5599242158511 + 55.5622041952150 + 56.4239912011071 + 57.2774137635478 + 58.2219352758402 + 59.2795288146704 + 60.2898879391002 + 61.1565259365200 + 62.0135215608591 + 62.9632883843510 + 64.0242517110220 + 65.0330848075898 + 65.8969345195407 + 66.7539316533864 + 67.7064910635929 + 68.7691488628820 + 69.7762882440956 + 70.6373463921154 + 71.4943435259610 + 72.4496945000987 + 73.5140460816340 + 74.5194916806013 + 75.3777582646900 + 76.2347553985356 + 77.1928979366044 + 78.2589433003862 + 79.2626951171071 + 80.1181701372646 + 80.9751672711102 + 81.9361013731102 + 82.9710222121689 + 83.5759094916212 + 83.6587911961608 + 82.9874180861781 + 79.5983429483818 + 70.7118367840604 + 61.9094942259835 + 58.6648417445545 + 21.7250401654909 + 25.0571638801049 + 31.0806276069979 + 37.9693541532953 + 41.4878578379892 + 43.6726491219407 + 45.5051582584658 + 46.3057582285271 + 47.5160393552545 + 48.1511011151772 + 48.9997642876496 + 50.1514877571856 + 50.8917526642780 + 52.0907847507169 + 52.6658718992036 + 53.4743030983585 + 54.6140687793709 + 55.3282269135133 + 56.5558350148374 + 57.1207672255315 + 57.9363538045743 + 59.1016879441324 + 59.7985125568804 + 61.0439504329251 + 61.5887244158170 + 62.4043140718109 + 63.5898131664938 + 64.2688130118402 + 65.5320758608789 + 66.0566871654277 + 66.8722768214216 + 68.0779385944476 + 68.7391134667999 + 70.0202012888326 + 70.5246499150383 + 71.3402395710322 + 72.5660640224013 + 73.2094139217596 + 74.5083267167864 + 74.9926126646490 + 75.8082023206429 + 77.0541894503551 + 77.6797049584521 + 78.8932794084312 + 77.9785071988985 + 76.1788031664998 + 71.9023447791349 + 61.5672164792377 + 52.7049835473530 + 48.5333340342505 + 16.4670829511232 + 19.1579435800119 + 23.7703301847318 + 30.4634439100822 + 35.6380099740124 + 37.6336647763178 + 37.8621823472242 + 37.1685694874705 + 39.6257752145468 + 41.1494617578789 + 41.8765803502643 + 41.9548932060945 + 41.1318921759243 + 43.6282713078623 + 45.1312996993006 + 45.7984211160451 + 45.7846482628722 + 44.8280881889960 + 47.4642140734009 + 49.0419619357793 + 49.7178681757891 + 49.6500356756941 + 48.5686341718666 + 51.3296075663209 + 52.9626233667959 + 53.6385334312294 + 53.5154392467343 + 52.3091952371865 + 55.1950111373611 + 56.8832891401603 + 57.5591992045938 + 57.3808428177745 + 56.0497563025063 + 59.0604147084012 + 60.8039549135247 + 61.4798649779582 + 61.2462463888147 + 59.7903173678262 + 62.9258182794414 + 64.7246206868892 + 65.4005307513227 + 65.1116010786726 + 63.5307539521534 + 66.7911362349861 + 68.3767773853025 + 66.5333012649067 + 58.9929912190448 + 48.7328637869416 + 41.9195085871265 + 38.3473215913083 + 10.2364768601600 + 11.3905165038566 + 13.1803470241639 + 15.4227216122037 + 17.1542795687407 + 17.6100995270528 + 19.0667074364528 + 20.3958371756162 + 20.3954986376898 + 20.1041587074245 + 20.5059135267574 + 21.9786576525177 + 23.2063572059112 + 22.9690143059774 + 22.4401237767268 + 22.7567549513496 + 24.2665850684388 + 25.5515476057533 + 25.2847891131422 + 24.7122017799453 + 25.0313392730062 + 26.6135243733931 + 27.9524179649601 + 27.6317519975057 + 26.9868029164457 + 27.3059359506418 + 28.9604828114368 + 30.3532971106976 + 29.9787104355493 + 29.2613995940813 + 29.5805326282774 + 31.3074412494804 + 32.7541762564351 + 32.3256688735929 + 31.5359962717169 + 31.8551293059131 + 33.6543996875240 + 35.1550554021725 + 34.6726273116366 + 33.8105929493525 + 34.1296570317375 + 36.0010610275501 + 37.5555495921361 + 37.0192320311951 + 36.0850273701140 + 36.1220995448169 + 33.8628230870746 + 30.6764032322608 + 28.1683269089733 + 26.6331232249210 + 4.38730694305800 + 4.41680808999372 + 4.46309770646060 + 4.27420720752948 + 4.80900352634110 + 5.00889396313080 + 4.95292061814290 + 6.64858986734370 + 6.03029807834430 + 6.83967974018150 + 7.14253046164360 + 6.98239141877480 + 8.50293411814230 + 7.50778830471590 + 8.14393051227460 + 8.33827415478470 + 8.11241908301080 + 9.74364458714720 + 8.69253320246790 + 9.38066865315070 + 9.58039561074270 + 9.32145013574760 + 11.0459035423293 + 9.90159972765580 + 10.6215406465346 + 10.8212602098931 + 10.5305022973745 + 12.3481644223363 + 11.1106518892827 + 11.8623980161425 + 12.0621175795009 + 11.7395544590013 + 13.6504253023432 + 12.3197040509095 + 13.1032553857503 + 13.3029749491088 + 12.9486066206281 + 14.9526861823502 + 13.5287562125363 + 14.3440460430274 + 14.5436291473613 + 14.1572543376751 + 16.2543585248911 + 14.7372408295661 + 15.5797964869718 + 15.7678041950692 + 15.2647970175017 + 15.9177988038519 + 16.0239589259492 + 15.9806445194154 + 0.536560677671810 + 0.334618364097720 + 0.230624285530651 + 0.301669510241491 + 0.463477705644090 + 0.616228844702811 + 0.807380427584341 + 1.22480202466107 + 1.75784206737364 + 2.20675646285862 + 2.45857893004018 + 2.55798082823801 + 2.69106015682239 + 2.90645684980952 + 3.15254274060899 + 3.28823973567904 + 3.34165880267090 + 3.49667392976053 + 3.75456071859962 + 4.02764121887742 + 4.16964781048216 + 4.21503971544931 + 4.36478236385244 + 4.62631584444680 + 4.90704391010960 + 5.04904678529170 + 5.08678472618010 + 5.23289096511360 + 5.49805677149450 + 5.78643137954530 + 5.92843425472740 + 5.95852565322780 + 6.10099956637480 + 6.36979769854220 + 6.66581884898100 + 6.80782172416310 + 6.83026658027550 + 6.96910816763590 + 7.24151045593040 + 7.54510016968570 + 7.68699776202510 + 7.70161068964680 + 7.83658425219440 + 8.11144858243470 + 8.41956773011090 + 8.55650480211620 + 8.55173348898660 + 8.65028722155180 + 8.88864256840400 + 9.06261183940340 + -1.84970287343913 + -2.05408774288645 + -2.15265814929605 + -2.16369414972436 + -2.11042788394970 + -1.98954166890386 + -1.76528517979278 + -1.32850906770470 + -0.868990730614300 + -0.542389826637690 + -0.323213935137640 + -0.175760849711990 + -4.805920953757947E-002 + 5.929434580592030E-002 + 0.186713683591071 + 0.293551218926051 + 0.393200258924371 + 0.548024044376340 + 0.703906439894891 + 0.848738062825090 + 0.959861376252921 + 1.05849140096297 + 1.21246948761186 + 1.36720769730039 + 1.51358973884556 + 1.62471141179313 + 1.72178639955143 + 1.87573696145125 + 2.03049772132719 + 2.17843138344608 + 2.28955305639364 + 2.38507642357823 + 2.53900226757369 + 2.69378774535400 + 2.84327302804660 + 2.95439470099416 + 3.04836644760504 + 3.20225564660888 + 3.35704345823986 + 3.50803726806916 + 3.61909703132525 + 3.71134259494426 + 3.86455087376623 + 4.01883262121548 + 4.17082592509442 + 4.28103930150884 + 4.38070718500234 + 4.50963791084040 + 4.64950662154000 + 4.76094863543970 + -3.23260201877004 + -3.45148487411190 + -3.58187937420550 + -3.62669891675301 + -3.59789325424953 + -3.49554535073148 + -3.27695506962359 + -2.85435920026233 + -2.41163164692656 + -2.13177633068570 + -1.92817353680661 + -1.77190481756376 + -1.68425180371817 + -1.62352456820053 + -1.53267687517369 + -1.43309181075582 + -1.33025452739780 + -1.21502596585856 + -1.09743843614873 + -0.992741208455060 + -0.891838319752760 + -0.787570918525629 + -0.671886353383630 + -0.556198556305330 + -0.451921452619690 + -0.351019197851680 + -0.246749942856220 + -0.131065759637190 + -1.538157641815985E-002 + 8.889510033750980E-002 + 0.189797355105510 + 0.294066383674400 + 0.409750566893420 + 0.525434750112451 + 0.629711653294701 + 0.730613908062711 + 0.834879722843760 + 0.950543415982281 + 1.06621901222821 + 1.17050451020801 + 1.27138598446303 + 1.37540537187757 + 1.49027838242983 + 1.60589043681182 + 1.71081134504222 + 1.81443354746198 + 1.91779820678883 + 2.03058318985555 + 2.14455708007415 + 2.24432157267811 + -4.55000000000000 + -4.20000000000000 + -4.15000000000000 + -4.11478563236635 + -4.08980731541088 + -3.99016121122283 + -3.78011494806689 + -3.36243605625865 + -2.92594134427244 + -2.65551599423228 + -2.45495244342027 + -2.30036862728540 + -2.22826191634835 + -2.18689004606487 + -2.09975415261734 + -2.00009127560501 + -1.90182986124771 + -1.80319941289369 + -1.70088153218902 + -1.60002409390557 + -1.50000061469817 + -1.40000454758875 + -1.30000586553166 + -1.20000137345514 + -1.10000003325864 + -1.00000000000000 + -0.899999999999999 + -0.799999999999999 + -0.700000000000000 + -0.600000000000000 + -0.500000000000000 + -0.399999999999999 + -0.300000000000000 + -0.200000000000000 + -9.999999999999953E-002 + -1.299950599387145E-007 + 9.999372022041975E-002 + 0.199967729552231 + 0.299968636671661 + 0.399994330150351 + 0.499986491519060 + 0.599685057513411 + 0.698817002757381 + 0.798926506359791 + 0.899702353496721 + 1.00022081324363 + 1.10093658541701 + 1.20445577659309 + 1.30750750061697 + 1.40389022807431 + -3.23260201877004 + -3.45148487411190 + -3.58187937420550 + -3.62669891675301 + -3.59789325424953 + -3.49554535073148 + -3.27695506962359 + -2.85435920026233 + -2.41163164692656 + -2.13177633068570 + -1.92817353680661 + -1.77190481756376 + -1.68425180371817 + -1.62352456820053 + -1.53267687517369 + -1.43309181075582 + -1.33025452739780 + -1.21502596585856 + -1.09743843614873 + -0.992741208455060 + -0.891838319752760 + -0.787570918525629 + -0.671886353383630 + -0.556198556305330 + -0.451921452619690 + -0.351019197851680 + -0.246749942856220 + -0.131065759637190 + -1.538157641815985E-002 + 8.889510033750980E-002 + 0.189797355105510 + 0.294066383674400 + 0.409750566893420 + 0.525434750112451 + 0.629711653294701 + 0.730613908062711 + 0.834879722843760 + 0.950543415982281 + 1.06621901222821 + 1.17050451020801 + 1.27138598446303 + 1.37540537187757 + 1.49027838242983 + 1.60589043681182 + 1.71081134504222 + 1.81443354746199 + 1.91779820678883 + 2.03058318985555 + 2.14455708007415 + 2.24432157267811 + -1.84970287343913 + -2.05408774288645 + -2.15265814929605 + -2.16369414972436 + -2.11042788394970 + -1.98954166890386 + -1.76528517979278 + -1.32850906770470 + -0.868990730614300 + -0.542389826637690 + -0.323213935137640 + -0.175760849711990 + -4.805920953757947E-002 + 5.929434580592030E-002 + 0.186713683591071 + 0.293551218926051 + 0.393200258924371 + 0.548024044376340 + 0.703906439894891 + 0.848738062825090 + 0.959861376252921 + 1.05849140096297 + 1.21246948761186 + 1.36720769730039 + 1.51358973884556 + 1.62471141179313 + 1.72178639955143 + 1.87573696145125 + 2.03049772132719 + 2.17843138344608 + 2.28955305639364 + 2.38507642357823 + 2.53900226757369 + 2.69378774535400 + 2.84327302804660 + 2.95439470099416 + 3.04836644760504 + 3.20225564660888 + 3.35704345823986 + 3.50803726806916 + 3.61909703132525 + 3.71134259494426 + 3.86455087376623 + 4.01883262121548 + 4.17082592509442 + 4.28103930150884 + 4.38070718500234 + 4.50963791084040 + 4.64950662154000 + 4.76094863543960 + 0.536560677671810 + 0.334618364097720 + 0.230624285530651 + 0.301669510241491 + 0.463477705644090 + 0.616228844702811 + 0.807380427584341 + 1.22480202466107 + 1.75784206737364 + 2.20675646285862 + 2.45857893004018 + 2.55798082823801 + 2.69106015682239 + 2.90645684980952 + 3.15254274060899 + 3.28823973567904 + 3.34165880267090 + 3.49667392976053 + 3.75456071859962 + 4.02764121887742 + 4.16964781048216 + 4.21503971544931 + 4.36478236385244 + 4.62631584444680 + 4.90704391010960 + 5.04904678529170 + 5.08678472618010 + 5.23289096511360 + 5.49805677149450 + 5.78643137954530 + 5.92843425472740 + 5.95852565322780 + 6.10099956637480 + 6.36979769854220 + 6.66581884898100 + 6.80782172416310 + 6.83026658027550 + 6.96910816763590 + 7.24151045593040 + 7.54510016968570 + 7.68699776202510 + 7.70161068964680 + 7.83658425219440 + 8.11144858243470 + 8.41956773011090 + 8.55650480211620 + 8.55173348898660 + 8.65028722155180 + 8.88864256840400 + 9.06261183940340 + 4.38730694305800 + 4.41680808999373 + 4.46309770646060 + 4.27420720752948 + 4.80900352634110 + 5.00889396313080 + 4.95292061814290 + 6.64858986734370 + 6.03029807834430 + 6.83967974018150 + 7.14253046164360 + 6.98239141877480 + 8.50293411814230 + 7.50778830471590 + 8.14393051227460 + 8.33827415478470 + 8.11241908301080 + 9.74364458714720 + 8.69253320246790 + 9.38066865315070 + 9.58039561074270 + 9.32145013574760 + 11.0459035423293 + 9.90159972765580 + 10.6215406465346 + 10.8212602098931 + 10.5305022973745 + 12.3481644223363 + 11.1106518892827 + 11.8623980161425 + 12.0621175795009 + 11.7395544590013 + 13.6504253023433 + 12.3197040509095 + 13.1032553857503 + 13.3029749491088 + 12.9486066206281 + 14.9526861823502 + 13.5287562125363 + 14.3440460430274 + 14.5436291473613 + 14.1572543376751 + 16.2543585248911 + 14.7372408295661 + 15.5797964869718 + 15.7678041950691 + 15.2647970175017 + 15.9177988038519 + 16.0239589259492 + 15.9806445194154 + 10.2364768601600 + 11.3905165038566 + 13.1803470241639 + 15.4227216122037 + 17.1542795687407 + 17.6100995270528 + 19.0667074364528 + 20.3958371756162 + 20.3954986376898 + 20.1041587074245 + 20.5059135267574 + 21.9786576525177 + 23.2063572059112 + 22.9690143059774 + 22.4401237767268 + 22.7567549513496 + 24.2665850684388 + 25.5515476057533 + 25.2847891131422 + 24.7122017799453 + 25.0313392730062 + 26.6135243733931 + 27.9524179649601 + 27.6317519975057 + 26.9868029164457 + 27.3059359506418 + 28.9604828114368 + 30.3532971106976 + 29.9787104355493 + 29.2613995940813 + 29.5805326282774 + 31.3074412494804 + 32.7541762564351 + 32.3256688735929 + 31.5359962717169 + 31.8551293059131 + 33.6543996875240 + 35.1550554021725 + 34.6726273116366 + 33.8105929493525 + 34.1296570317375 + 36.0010610275501 + 37.5555495921361 + 37.0192320311951 + 36.0850273701140 + 36.1220995448169 + 33.8628230870746 + 30.6764032322608 + 28.1683269089733 + 26.6331232249210 + 16.4670829511232 + 19.1579435800119 + 23.7703301847318 + 30.4634439100822 + 35.6380099740124 + 37.6336647763178 + 37.8621823472242 + 37.1685694874705 + 39.6257752145468 + 41.1494617578789 + 41.8765803502643 + 41.9548932060945 + 41.1318921759243 + 43.6282713078623 + 45.1312996993006 + 45.7984211160451 + 45.7846482628722 + 44.8280881889960 + 47.4642140734009 + 49.0419619357793 + 49.7178681757891 + 49.6500356756941 + 48.5686341718666 + 51.3296075663209 + 52.9626233667959 + 53.6385334312294 + 53.5154392467343 + 52.3091952371865 + 55.1950111373611 + 56.8832891401603 + 57.5591992045938 + 57.3808428177745 + 56.0497563025064 + 59.0604147084012 + 60.8039549135247 + 61.4798649779583 + 61.2462463888147 + 59.7903173678262 + 62.9258182794414 + 64.7246206868892 + 65.4005307513227 + 65.1116010786726 + 63.5307539521534 + 66.7911362349861 + 68.3767773853025 + 66.5333012649067 + 58.9929912190448 + 48.7328637869416 + 41.9195085871265 + 38.3473215913083 + 21.7250401654909 + 25.0571638801049 + 31.0806276069979 + 37.9693541532953 + 41.4878578379892 + 43.6726491219407 + 45.5051582584658 + 46.3057582285271 + 47.5160393552545 + 48.1511011151772 + 48.9997642876496 + 50.1514877571856 + 50.8917526642780 + 52.0907847507169 + 52.6658718992036 + 53.4743030983585 + 54.6140687793709 + 55.3282269135133 + 56.5558350148374 + 57.1207672255315 + 57.9363538045743 + 59.1016879441324 + 59.7985125568804 + 61.0439504329251 + 61.5887244158170 + 62.4043140718109 + 63.5898131664938 + 64.2688130118402 + 65.5320758608789 + 66.0566871654277 + 66.8722768214216 + 68.0779385944476 + 68.7391134667999 + 70.0202012888326 + 70.5246499150383 + 71.3402395710322 + 72.5660640224013 + 73.2094139217596 + 74.5083267167864 + 74.9926126646490 + 75.8082023206429 + 77.0541894503551 + 77.6797049584521 + 78.8932794084312 + 77.9785071988985 + 76.1788031664998 + 71.9023447791349 + 61.5672164792377 + 52.7049835473530 + 48.5333340342505 + 26.9480503604541 + 29.9532895871395 + 36.0934372138540 + 42.3116078875175 + 45.4651605757334 + 47.1226016156955 + 48.4651600005096 + 49.7252146349194 + 50.7639495762205 + 51.6559346875114 + 52.5352554089511 + 53.4980438714627 + 54.5599242158511 + 55.5622041952149 + 56.4239912011071 + 57.2774137635478 + 58.2219352758402 + 59.2795288146704 + 60.2898879391002 + 61.1565259365200 + 62.0135215608591 + 62.9632883843510 + 64.0242517110220 + 65.0330848075898 + 65.8969345195407 + 66.7539316533864 + 67.7064910635929 + 68.7691488628820 + 69.7762882440956 + 70.6373463921154 + 71.4943435259610 + 72.4496945000987 + 73.5140460816340 + 74.5194916806013 + 75.3777582646900 + 76.2347553985356 + 77.1928979366044 + 78.2589433003862 + 79.2626951171071 + 80.1181701372646 + 80.9751672711102 + 81.9361013731102 + 82.9710222121689 + 83.5759094916212 + 83.6587911961608 + 82.9874180861781 + 79.5983429483818 + 70.7118367840604 + 61.9094942259835 + 58.6648417445545 + 33.3847252907232 + 35.7004476128760 + 40.8970496838663 + 46.0799317737861 + 48.3951674256524 + 49.5816768398825 + 50.6002768814203 + 51.7284470723175 + 52.8573686827744 + 53.8067997359456 + 54.7152443803164 + 55.6661264417571 + 56.7365551952826 + 57.7971225553326 + 58.7269202822121 + 59.6206819451120 + 60.5598122876029 + 61.6290884663491 + 62.6982878811220 + 63.6325487738408 + 64.5273631682699 + 65.4670362396483 + 66.5367272120388 + 67.6064181560422 + 68.5405298755323 + 69.4353447062377 + 70.3751986267104 + 71.4448897681596 + 72.5145809096088 + 73.4485119427908 + 74.3433267734962 + 75.2833613922252 + 76.3530525336744 + 77.4227436751236 + 78.3564940100493 + 79.2513088407547 + 80.1915241577400 + 81.2612152991892 + 82.3309064406384 + 83.2644760773078 + 84.1592909080132 + 85.0939078967600 + 86.0545285158298 + 86.9992934557612 + 87.7753860882245 + 88.1163735164784 + 86.4263438742481 + 79.6209104122007 + 72.7599369589043 + 71.0171488260627 + 41.4069894394871 + 42.8273886109264 + 45.6158425738637 + 48.3871493850183 + 49.8074187823605 + 50.7900667764837 + 51.7407142042112 + 52.7846700531935 + 53.8514287197243 + 54.8362240618547 + 55.8000241447463 + 56.7802446144369 + 57.8190911198067 + 58.8542632922820 + 59.8289319015797 + 60.7878884152898 + 61.7642803778750 + 62.8034311532764 + 63.8423891408943 + 64.8185538389054 + 65.7775865793979 + 66.7537937043009 + 67.7929677748531 + 68.8321417697699 + 69.8083488053498 + 70.7673822740590 + 71.7435893261529 + 72.7827634061967 + 73.8219374862405 + 74.7981445383343 + 75.7571780073185 + 76.7333850594123 + 77.7725591394561 + 78.8117332194999 + 79.7879402715937 + 80.7469737405780 + 81.7231807926718 + 82.7623548727156 + 83.8015289527594 + 84.7777360048532 + 85.7366354788386 + 86.7038602766937 + 87.6896055853382 + 88.7126396634807 + 89.7353881059222 + 90.6500414158084 + 90.7803824485435 + 88.5081511098600 + 86.1961098963934 + 86.3122297069461 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Buildings.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Buildings.dat new file mode 100644 index 000000000..6bc552b6d --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Buildings.dat @@ -0,0 +1,1067 @@ +COMENT1 : Grid generated by MOHID Studio +COMENT2 : Generation Time: 01-07-2010 17:29:34 +LATITUDE : 2950 +LONGITUDE : 4300 +COORD_TIP : 3 +SRID : -1 +ILB_IUB : 1 21 +JLB_JUB : 1 50 +ORIGIN : 1800 1900 +GRID_ANGLE : 0 +CONSTANT_SPACING_X : 1 +CONSTANT_SPACING_Y : 1 +DX : 100 +DY : 100 +FILL_VALUE : -99 + +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 +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 +20 +20 +20 +0 +20 +20 +20 +0 +20 +20 +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 +20 +20 +20 +0 +20 +20 +20 +0 +20 +20 +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 +20 +20 +20 +0 +20 +20 +20 +0 +20 +20 +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 +20 +0 +0 +0 +0 +0 +0 +0 +0 +20 +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 +20 +0 +20 +20 +20 +20 +20 +20 +20 +20 +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 +20 +0 +20 +20 +20 +20 +20 +20 +20 +20 +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 +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 +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 +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 +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 +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 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/CellSlope.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/CellSlope.dat new file mode 100644 index 000000000..c19868877 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/CellSlope.dat @@ -0,0 +1,1144 @@ +COMENT1 : Temporary File +COMENT2 : CellSlope + + + ILB_IUB : 1 21 + JLB_JUB : 1 50 + COORD_TIP : 3 + ZONE : 29 + ORIGIN : 1800.000 1900.000 + GRID_ANGLE : 0.0000000E+00 + LATITUDE : 2950.000 + LONGITUDE : 4300.000 + FILL_VALUE : 0.0000000E+00 + + + + 0.0000000E+00 + 100.0000 + 200.0000 + 300.0000 + 400.0000 + 500.0000 + 600.0000 + 700.0000 + 800.0000 + 900.0000 + 1000.000 + 1100.000 + 1200.000 + 1300.000 + 1400.000 + 1500.000 + 1600.000 + 1700.000 + 1800.000 + 1900.000 + 2000.000 + 2100.000 + 2200.000 + 2300.000 + 2400.000 + 2500.000 + 2600.000 + 2700.000 + 2800.000 + 2900.000 + 3000.000 + 3100.000 + 3200.000 + 3300.000 + 3400.000 + 3500.000 + 3600.000 + 3700.000 + 3800.000 + 3900.000 + 4000.000 + 4100.000 + 4200.000 + 4300.000 + 4400.000 + 4500.000 + 4600.000 + 4700.000 + 4800.000 + 4900.000 + 5000.000 + + + 0.0000000E+00 + 100.0000 + 200.0000 + 300.0000 + 400.0000 + 500.0000 + 600.0000 + 700.0000 + 800.0000 + 900.0000 + 1000.000 + 1100.000 + 1200.000 + 1300.000 + 1400.000 + 1500.000 + 1600.000 + 1700.000 + 1800.000 + 1900.000 + 2000.000 + 2100.000 + + + 8.0222622E-02 + 7.1269415E-02 + 7.0112444E-02 + 5.2963011E-02 + 2.6357302E-02 + 1.6934482E-02 + 1.5266707E-02 + 1.5446004E-02 + 1.5011749E-02 + 1.3992619E-02 + 1.4094230E-02 + 1.4601772E-02 + 1.5223765E-02 + 1.4974471E-02 + 1.4367044E-02 + 1.4573287E-02 + 1.5157490E-02 + 1.5864801E-02 + 1.5650412E-02 + 1.4992516E-02 + 1.5167686E-02 + 1.5743257E-02 + 1.6446792E-02 + 1.6231000E-02 + 1.5569976E-02 + 1.5746225E-02 + 1.6321741E-02 + 1.7024035E-02 + 1.6808297E-02 + 1.6147219E-02 + 1.6324708E-02 + 1.6900279E-02 + 1.7601280E-02 + 1.7385487E-02 + 1.6724516E-02 + 1.6903246E-02 + 1.7478762E-02 + 1.8178523E-02 + 1.7962730E-02 + 1.7301705E-02 + 1.7480813E-02 + 1.7992834E-02 + 1.8354392E-02 + 1.8795686E-02 + 1.9599991E-02 + 2.9866079E-02 + 7.8909367E-02 + 0.1113567 + 0.1343617 + 0.1529508 + 6.4366758E-02 + 6.1888780E-02 + 7.7384070E-02 + 7.0615187E-02 + 4.3017272E-02 + 2.9108163E-02 + 2.4590885E-02 + 2.3074919E-02 + 2.2147663E-02 + 2.1516202E-02 + 2.1799888E-02 + 2.2138599E-02 + 2.2899751E-02 + 2.2890445E-02 + 2.3029251E-02 + 2.3432693E-02 + 2.3378754E-02 + 2.4092190E-02 + 2.4174299E-02 + 2.4760207E-02 + 2.5138397E-02 + 2.5037460E-02 + 2.5268039E-02 + 2.5733337E-02 + 2.6435928E-02 + 2.6814116E-02 + 2.6687087E-02 + 2.6757430E-02 + 2.7382964E-02 + 2.8111648E-02 + 2.8489837E-02 + 2.8336639E-02 + 2.8390044E-02 + 2.9032515E-02 + 2.9787367E-02 + 3.0165557E-02 + 2.9986266E-02 + 3.0022735E-02 + 3.0682066E-02 + 3.1463087E-02 + 3.1841200E-02 + 3.1578064E-02 + 3.0835113E-02 + 3.4233857E-02 + 4.1165922E-02 + 6.0231555E-02 + 0.1111183 + 0.1252386 + 0.1085044 + 0.1235230 + 5.2230109E-02 + 5.8182500E-02 + 7.8038223E-02 + 7.9415016E-02 + 5.3003337E-02 + 3.9843645E-02 + 3.3888169E-02 + 3.4194563E-02 + 3.2479096E-02 + 3.5048369E-02 + 3.5354920E-02 + 3.3465538E-02 + 3.6681708E-02 + 3.4714203E-02 + 3.7581176E-02 + 3.8031120E-02 + 3.6078643E-02 + 3.9513014E-02 + 3.7340544E-02 + 4.0357590E-02 + 4.0771674E-02 + 3.8616028E-02 + 4.2257383E-02 + 3.9891355E-02 + 4.3082122E-02 + 4.3496169E-02 + 4.1166764E-02 + 4.5003355E-02 + 4.2442091E-02 + 4.5806579E-02 + 4.6220627E-02 + 4.3717574E-02 + 4.7749329E-02 + 4.4992905E-02 + 4.8531037E-02 + 4.8945159E-02 + 4.6268310E-02 + 5.0495300E-02 + 4.7543716E-02 + 5.1255569E-02 + 5.1669691E-02 + 4.8819121E-02 + 5.2913129E-02 + 4.6826247E-02 + 5.6802902E-02 + 7.8383259E-02 + 0.1274993 + 0.1273277 + 9.4583727E-02 + 0.1013151 + 5.2579574E-02 + 6.0741052E-02 + 8.4306106E-02 + 0.1004023 + 7.7954374E-02 + 6.0389824E-02 + 7.6429747E-02 + 9.1371879E-02 + 7.8902662E-02 + 7.0016362E-02 + 7.1231842E-02 + 8.1965938E-02 + 9.7598605E-02 + 8.4625125E-02 + 7.5345725E-02 + 7.6758802E-02 + 8.8294216E-02 + 0.1050014 + 9.0916209E-02 + 8.0788076E-02 + 8.2184866E-02 + 9.4516523E-02 + 0.1122988 + 9.7143397E-02 + 8.6261019E-02 + 8.7657809E-02 + 0.1007437 + 0.1195961 + 0.1033707 + 9.1734007E-02 + 9.3130797E-02 + 0.1069709 + 0.1268936 + 0.1095979 + 9.7206950E-02 + 9.8603740E-02 + 0.1131982 + 0.1341910 + 0.1158251 + 0.1026799 + 0.1040767 + 0.1194259 + 0.1414895 + 0.1210215 + 9.6017227E-02 + 0.1215221 + 0.1638330 + 0.1389303 + 0.1078547 + 0.1018602 + 6.2306050E-02 + 7.7674255E-02 + 0.1058998 + 0.1504072 + 0.1848373 + 0.2002357 + 0.1879547 + 0.1677273 + 0.1923027 + 0.2104530 + 0.2137066 + 0.1997624 + 0.1792554 + 0.2065926 + 0.2269118 + 0.2304167 + 0.2151806 + 0.1927654 + 0.2217942 + 0.2432976 + 0.2468653 + 0.2303651 + 0.2061621 + 0.2369786 + 0.2597582 + 0.2633260 + 0.2455496 + 0.2195590 + 0.2521630 + 0.2762189 + 0.2797867 + 0.2607340 + 0.2329558 + 0.2673475 + 0.2926796 + 0.2962473 + 0.2759185 + 0.2463526 + 0.2825319 + 0.3091403 + 0.3127087 + 0.2911054 + 0.2597521 + 0.2977190 + 0.3229175 + 0.3041120 + 0.2513017 + 0.1805646 + 0.1375118 + 0.1171419 + 5.8491696E-02 + 6.9737092E-02 + 8.7172486E-02 + 0.1114851 + 0.1234528 + 0.1260120 + 0.1411379 + 0.1374725 + 0.1436520 + 0.1326448 + 0.1336338 + 0.1499627 + 0.1470342 + 0.1546123 + 0.1429619 + 0.1441848 + 0.1615417 + 0.1580790 + 0.1659226 + 0.1533153 + 0.1545094 + 0.1729207 + 0.1690651 + 0.1773015 + 0.1636526 + 0.1648467 + 0.1842998 + 0.1800513 + 0.1886806 + 0.1739900 + 0.1751841 + 0.1956789 + 0.1910375 + 0.2000596 + 0.1843274 + 0.1855215 + 0.2070579 + 0.2020237 + 0.2114387 + 0.1946654 + 0.1958603 + 0.2184380 + 0.2130119 + 0.2228199 + 0.2050523 + 0.2035429 + 0.1859803 + 0.1475860 + 0.1214437 + 0.1065248 + 3.8507465E-02 + 4.0821899E-02 + 4.2324733E-02 + 3.9725378E-02 + 4.3455251E-02 + 4.3926653E-02 + 4.1455396E-02 + 5.4237880E-02 + 4.2724561E-02 + 4.6329234E-02 + 4.6839513E-02 + 4.4244107E-02 + 5.8118735E-02 + 4.6013307E-02 + 4.9913883E-02 + 5.0500344E-02 + 4.7707606E-02 + 6.2469710E-02 + 4.9379721E-02 + 5.3530272E-02 + 5.4107483E-02 + 5.1064108E-02 + 6.6811204E-02 + 5.2752838E-02 + 5.7144973E-02 + 5.7722129E-02 + 5.4437168E-02 + 7.1152732E-02 + 5.6125954E-02 + 6.0759656E-02 + 6.1336830E-02 + 5.7810288E-02 + 7.5494260E-02 + 5.9499051E-02 + 6.4374372E-02 + 6.4951539E-02 + 6.1183393E-02 + 7.9835773E-02 + 6.2872455E-02 + 6.7989461E-02 + 6.8566322E-02 + 6.4556435E-02 + 8.4177747E-02 + 6.6257924E-02 + 7.1602292E-02 + 7.2113000E-02 + 6.7130633E-02 + 7.2675109E-02 + 7.1353167E-02 + 6.9180332E-02 + 2.3862636E-02 + 2.3887059E-02 + 2.3832824E-02 + 2.4653634E-02 + 2.5739057E-02 + 2.6057703E-02 + 2.5726654E-02 + 2.5533114E-02 + 2.6268329E-02 + 2.7491460E-02 + 2.7817931E-02 + 2.7337417E-02 + 2.7391195E-02 + 2.8471626E-02 + 2.9658284E-02 + 2.9946884E-02 + 2.9484587E-02 + 2.9486498E-02 + 3.0506544E-02 + 3.1789035E-02 + 3.2097857E-02 + 3.1565480E-02 + 3.1523131E-02 + 3.2591086E-02 + 3.3934541E-02 + 3.4243353E-02 + 3.3649981E-02 + 3.3571541E-02 + 3.4675587E-02 + 3.6080003E-02 + 3.6388814E-02 + 3.5734497E-02 + 3.5619974E-02 + 3.6760099E-02 + 3.8225450E-02 + 3.8534269E-02 + 3.7818994E-02 + 3.7668522E-02 + 3.8844671E-02 + 4.0370636E-02 + 4.0679004E-02 + 3.9902676E-02 + 3.9720334E-02 + 4.0926158E-02 + 4.2487409E-02 + 4.2754650E-02 + 4.1710261E-02 + 4.1406486E-02 + 4.2391356E-02 + 4.3016635E-02 + 1.3828990E-02 + 1.3973973E-02 + 1.4292213E-02 + 1.4630047E-02 + 1.4874654E-02 + 1.5060038E-02 + 1.5116701E-02 + 1.5258500E-02 + 1.5426408E-02 + 1.5893867E-02 + 1.6049597E-02 + 1.5961437E-02 + 1.6361926E-02 + 1.6828189E-02 + 1.7193908E-02 + 1.7266430E-02 + 1.7234545E-02 + 1.7630501E-02 + 1.8013448E-02 + 1.8414792E-02 + 1.8516999E-02 + 1.8460622E-02 + 1.8843556E-02 + 1.9234061E-02 + 1.9655108E-02 + 1.9757304E-02 + 1.9685363E-02 + 2.0068025E-02 + 2.0458793E-02 + 2.0895362E-02 + 2.0997552E-02 + 2.0910095E-02 + 2.1292519E-02 + 2.1683531E-02 + 2.2135615E-02 + 2.2237806E-02 + 2.2134870E-02 + 2.2517119E-02 + 2.2908244E-02 + 2.3375325E-02 + 2.3477111E-02 + 2.3359375E-02 + 2.3742722E-02 + 2.4129419E-02 + 2.4600148E-02 + 2.4666056E-02 + 2.4629086E-02 + 2.4790550E-02 + 2.5049495E-02 + 2.5166268E-02 + 1.3173981E-02 + 7.7676740E-03 + 5.6812060E-03 + 4.8808670E-03 + 4.9191401E-03 + 4.9461578E-03 + 5.0431280E-03 + 6.5460815E-03 + 6.7232028E-03 + 5.6155939E-03 + 5.2677891E-03 + 5.2846381E-03 + 5.4401015E-03 + 5.6336545E-03 + 5.6707715E-03 + 5.6699943E-03 + 5.7157539E-03 + 5.8817314E-03 + 6.0344287E-03 + 6.0728262E-03 + 6.0816240E-03 + 6.1243391E-03 + 6.2811947E-03 + 6.4380309E-03 + 6.4807888E-03 + 6.4898059E-03 + 6.5324972E-03 + 6.6893431E-03 + 6.8461844E-03 + 6.8889521E-03 + 6.8979738E-03 + 6.9406652E-03 + 7.0975064E-03 + 7.2543477E-03 + 7.2971201E-03 + 7.3061418E-03 + 7.3488569E-03 + 7.5057601E-03 + 7.6625058E-03 + 7.7050971E-03 + 7.7139949E-03 + 7.7572060E-03 + 7.9146149E-03 + 8.0696391E-03 + 8.1110904E-03 + 8.1421277E-03 + 8.1686163E-03 + 8.2612755E-03 + 8.3704945E-03 + 8.4043117E-03 + -9.8999995E+15 + 3.5000001E-03 + 4.9999950E-04 + 3.5214424E-04 + 2.4978278E-04 + 9.9646091E-04 + 2.1004628E-03 + 4.1767880E-03 + 4.3649483E-03 + 2.7042532E-03 + 2.0056344E-03 + 1.5458392E-03 + 7.2106597E-04 + 4.1372061E-04 + 8.7135792E-04 + 9.9662773E-04 + 9.8261598E-04 + 9.8630425E-04 + 1.0231781E-03 + 1.0085750E-03 + 1.0002326E-03 + 9.9996093E-04 + 9.9998945E-04 + 1.0000420E-03 + 1.0000133E-03 + 1.0000038E-03 + 9.9999900E-04 + 9.9999900E-04 + 9.9999900E-04 + 9.9999900E-04 + 1.0000038E-03 + 9.9999900E-04 + 9.9999900E-04 + 9.9999900E-04 + 9.9999900E-04 + 9.9999900E-04 + 9.9994184E-04 + 9.9973672E-04 + 1.0000085E-03 + 1.0002613E-03 + 9.9991797E-04 + 9.9698536E-04 + 9.9132059E-04 + 1.0010957E-03 + 1.0077571E-03 + 1.0051870E-03 + 1.0071563E-03 + 1.0351896E-03 + 1.0305214E-03 + 9.6382614E-04 + 1.3173981E-02 + 7.7676740E-03 + 5.6812060E-03 + 4.8808670E-03 + 4.9191401E-03 + 4.9461578E-03 + 5.0431280E-03 + 6.5460815E-03 + 6.7232028E-03 + 5.6155939E-03 + 5.2677891E-03 + 5.2846381E-03 + 5.4401015E-03 + 5.6336545E-03 + 5.6707715E-03 + 5.6699943E-03 + 5.7157539E-03 + 5.8817314E-03 + 6.0344287E-03 + 6.0728262E-03 + 6.0816240E-03 + 6.1243391E-03 + 6.2811947E-03 + 6.4380309E-03 + 6.4807888E-03 + 6.4898059E-03 + 6.5324972E-03 + 6.6893431E-03 + 6.8461844E-03 + 6.8889521E-03 + 6.8979738E-03 + 6.9406652E-03 + 7.0975064E-03 + 7.2543477E-03 + 7.2971201E-03 + 7.3061418E-03 + 7.3488569E-03 + 7.5057601E-03 + 7.6625058E-03 + 7.7050971E-03 + 7.7139949E-03 + 7.7572060E-03 + 7.9146149E-03 + 8.0696391E-03 + 8.1110904E-03 + 8.1421277E-03 + 8.1686163E-03 + 8.2612755E-03 + 8.3704945E-03 + 8.4043117E-03 + 1.3828990E-02 + 1.3973973E-02 + 1.4292213E-02 + 1.4630047E-02 + 1.4874654E-02 + 1.5060038E-02 + 1.5116701E-02 + 1.5258500E-02 + 1.5426408E-02 + 1.5893867E-02 + 1.6049597E-02 + 1.5961437E-02 + 1.6361926E-02 + 1.6828189E-02 + 1.7193908E-02 + 1.7266430E-02 + 1.7234545E-02 + 1.7630501E-02 + 1.8013448E-02 + 1.8414792E-02 + 1.8516999E-02 + 1.8460622E-02 + 1.8843556E-02 + 1.9234061E-02 + 1.9655108E-02 + 1.9757304E-02 + 1.9685363E-02 + 2.0068025E-02 + 2.0458793E-02 + 2.0895362E-02 + 2.0997552E-02 + 2.0910095E-02 + 2.1292519E-02 + 2.1683531E-02 + 2.2135615E-02 + 2.2237806E-02 + 2.2134870E-02 + 2.2517119E-02 + 2.2908244E-02 + 2.3375325E-02 + 2.3477111E-02 + 2.3359375E-02 + 2.3742722E-02 + 2.4129419E-02 + 2.4600148E-02 + 2.4666056E-02 + 2.4629086E-02 + 2.4790550E-02 + 2.5049495E-02 + 2.5166268E-02 + 2.3862636E-02 + 2.3887059E-02 + 2.3832824E-02 + 2.4653634E-02 + 2.5739057E-02 + 2.6057703E-02 + 2.5726654E-02 + 2.5533114E-02 + 2.6268329E-02 + 2.7491460E-02 + 2.7817931E-02 + 2.7337417E-02 + 2.7391195E-02 + 2.8471626E-02 + 2.9658284E-02 + 2.9946884E-02 + 2.9484587E-02 + 2.9486498E-02 + 3.0506544E-02 + 3.1789035E-02 + 3.2097857E-02 + 3.1565480E-02 + 3.1523131E-02 + 3.2591086E-02 + 3.3934541E-02 + 3.4243353E-02 + 3.3649981E-02 + 3.3571541E-02 + 3.4675587E-02 + 3.6080003E-02 + 3.6388814E-02 + 3.5734497E-02 + 3.5619974E-02 + 3.6760099E-02 + 3.8225450E-02 + 3.8534269E-02 + 3.7818994E-02 + 3.7668522E-02 + 3.8844671E-02 + 4.0370636E-02 + 4.0679004E-02 + 3.9902676E-02 + 3.9720334E-02 + 4.0926158E-02 + 4.2487409E-02 + 4.2754650E-02 + 4.1710261E-02 + 4.1406486E-02 + 4.2391356E-02 + 4.3016635E-02 + 3.8507465E-02 + 4.0821899E-02 + 4.2324733E-02 + 3.9725378E-02 + 4.3455251E-02 + 4.3926653E-02 + 4.1455396E-02 + 5.4237880E-02 + 4.2724561E-02 + 4.6329234E-02 + 4.6839513E-02 + 4.4244107E-02 + 5.8118735E-02 + 4.6013307E-02 + 4.9913883E-02 + 5.0500344E-02 + 4.7707606E-02 + 6.2469710E-02 + 4.9379721E-02 + 5.3530272E-02 + 5.4107483E-02 + 5.1064108E-02 + 6.6811204E-02 + 5.2752838E-02 + 5.7144973E-02 + 5.7722129E-02 + 5.4437168E-02 + 7.1152732E-02 + 5.6125954E-02 + 6.0759656E-02 + 6.1336830E-02 + 5.7810288E-02 + 7.5494260E-02 + 5.9499051E-02 + 6.4374372E-02 + 6.4951539E-02 + 6.1183393E-02 + 7.9835773E-02 + 6.2872455E-02 + 6.7989461E-02 + 6.8566322E-02 + 6.4556435E-02 + 8.4177747E-02 + 6.6257924E-02 + 7.1602292E-02 + 7.2113000E-02 + 6.7130633E-02 + 7.2675109E-02 + 7.1353167E-02 + 6.9180332E-02 + 5.8491696E-02 + 6.9737092E-02 + 8.7172486E-02 + 0.1114851 + 0.1234528 + 0.1260120 + 0.1411379 + 0.1374725 + 0.1436520 + 0.1326448 + 0.1336338 + 0.1499627 + 0.1470342 + 0.1546123 + 0.1429619 + 0.1441848 + 0.1615417 + 0.1580790 + 0.1659226 + 0.1533153 + 0.1545094 + 0.1729207 + 0.1690651 + 0.1773015 + 0.1636526 + 0.1648467 + 0.1842998 + 0.1800513 + 0.1886806 + 0.1739900 + 0.1751841 + 0.1956789 + 0.1910375 + 0.2000596 + 0.1843274 + 0.1855215 + 0.2070579 + 0.2020237 + 0.2114387 + 0.1946654 + 0.1958603 + 0.2184380 + 0.2130119 + 0.2228199 + 0.2050523 + 0.2035429 + 0.1859803 + 0.1475860 + 0.1214437 + 0.1065248 + 6.2306050E-02 + 7.7674255E-02 + 0.1058998 + 0.1504072 + 0.1848373 + 0.2002357 + 0.1879547 + 0.1677273 + 0.1923027 + 0.2104530 + 0.2137066 + 0.1997624 + 0.1792554 + 0.2065926 + 0.2269118 + 0.2304167 + 0.2151806 + 0.1927654 + 0.2217942 + 0.2432976 + 0.2468653 + 0.2303651 + 0.2061621 + 0.2369786 + 0.2597582 + 0.2633260 + 0.2455496 + 0.2195590 + 0.2521630 + 0.2762189 + 0.2797867 + 0.2607340 + 0.2329558 + 0.2673475 + 0.2926796 + 0.2962473 + 0.2759185 + 0.2463526 + 0.2825319 + 0.3091403 + 0.3127087 + 0.2911054 + 0.2597521 + 0.2977190 + 0.3229175 + 0.3041120 + 0.2513017 + 0.1805646 + 0.1375118 + 0.1171419 + 5.2579574E-02 + 6.0741052E-02 + 8.4306106E-02 + 0.1004023 + 7.7954374E-02 + 6.0389824E-02 + 7.6429747E-02 + 9.1371879E-02 + 7.8902662E-02 + 7.0016362E-02 + 7.1231842E-02 + 8.1965938E-02 + 9.7598605E-02 + 8.4625125E-02 + 7.5345725E-02 + 7.6758802E-02 + 8.8294216E-02 + 0.1050014 + 9.0916209E-02 + 8.0788076E-02 + 8.2184866E-02 + 9.4516523E-02 + 0.1122988 + 9.7143397E-02 + 8.6261019E-02 + 8.7657809E-02 + 0.1007437 + 0.1195961 + 0.1033707 + 9.1734007E-02 + 9.3130797E-02 + 0.1069709 + 0.1268936 + 0.1095979 + 9.7206950E-02 + 9.8603740E-02 + 0.1131982 + 0.1341910 + 0.1158251 + 0.1026799 + 0.1040767 + 0.1194259 + 0.1414895 + 0.1210215 + 9.6017227E-02 + 0.1215221 + 0.1638330 + 0.1389303 + 0.1078547 + 0.1018602 + 5.2230109E-02 + 5.8182500E-02 + 7.8038223E-02 + 7.9415016E-02 + 5.3003337E-02 + 3.9843645E-02 + 3.3888169E-02 + 3.4194563E-02 + 3.2479096E-02 + 3.5048369E-02 + 3.5354920E-02 + 3.3465538E-02 + 3.6681708E-02 + 3.4714203E-02 + 3.7581176E-02 + 3.8031120E-02 + 3.6078643E-02 + 3.9513014E-02 + 3.7340544E-02 + 4.0357590E-02 + 4.0771674E-02 + 3.8616028E-02 + 4.2257383E-02 + 3.9891355E-02 + 4.3082122E-02 + 4.3496169E-02 + 4.1166764E-02 + 4.5003355E-02 + 4.2442091E-02 + 4.5806579E-02 + 4.6220627E-02 + 4.3717574E-02 + 4.7749329E-02 + 4.4992905E-02 + 4.8531037E-02 + 4.8945159E-02 + 4.6268310E-02 + 5.0495300E-02 + 4.7543716E-02 + 5.1255569E-02 + 5.1669691E-02 + 4.8819121E-02 + 5.2913129E-02 + 4.6826247E-02 + 5.6802902E-02 + 7.8383259E-02 + 0.1274993 + 0.1273277 + 9.4583727E-02 + 0.1013151 + 6.4366758E-02 + 6.1888780E-02 + 7.7384070E-02 + 7.0615187E-02 + 4.3017272E-02 + 2.9108163E-02 + 2.4590885E-02 + 2.3074919E-02 + 2.2147663E-02 + 2.1516202E-02 + 2.1799888E-02 + 2.2138599E-02 + 2.2899751E-02 + 2.2890445E-02 + 2.3029251E-02 + 2.3432693E-02 + 2.3378754E-02 + 2.4092190E-02 + 2.4174299E-02 + 2.4760207E-02 + 2.5138397E-02 + 2.5037460E-02 + 2.5268039E-02 + 2.5733337E-02 + 2.6435928E-02 + 2.6814116E-02 + 2.6687087E-02 + 2.6757430E-02 + 2.7382964E-02 + 2.8111648E-02 + 2.8489837E-02 + 2.8336639E-02 + 2.8390044E-02 + 2.9032515E-02 + 2.9787367E-02 + 3.0165557E-02 + 2.9986266E-02 + 3.0022735E-02 + 3.0682066E-02 + 3.1463087E-02 + 3.1841200E-02 + 3.1578064E-02 + 3.0835113E-02 + 3.4233857E-02 + 4.1165922E-02 + 6.0231555E-02 + 0.1111183 + 0.1252386 + 0.1085044 + 0.1235230 + 8.0222622E-02 + 7.1269415E-02 + 7.0112444E-02 + 5.2963011E-02 + 2.6357302E-02 + 1.6934482E-02 + 1.5266707E-02 + 1.5446004E-02 + 1.5011749E-02 + 1.3992619E-02 + 1.4094230E-02 + 1.4601772E-02 + 1.5223765E-02 + 1.4974471E-02 + 1.4367044E-02 + 1.4573287E-02 + 1.5157490E-02 + 1.5864801E-02 + 1.5650412E-02 + 1.4992516E-02 + 1.5167686E-02 + 1.5743257E-02 + 1.6446792E-02 + 1.6231000E-02 + 1.5569976E-02 + 1.5746225E-02 + 1.6321741E-02 + 1.7024035E-02 + 1.6808297E-02 + 1.6147219E-02 + 1.6324708E-02 + 1.6900279E-02 + 1.7601280E-02 + 1.7385487E-02 + 1.6724516E-02 + 1.6903246E-02 + 1.7478762E-02 + 1.8178523E-02 + 1.7962730E-02 + 1.7301705E-02 + 1.7480813E-02 + 1.7992834E-02 + 1.8354392E-02 + 1.8795686E-02 + 1.9599991E-02 + 2.9866079E-02 + 7.8909367E-02 + 0.1113567 + 0.1343617 + 0.1529508 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat new file mode 100644 index 000000000..701c70f85 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat @@ -0,0 +1,1067 @@ +COMENT1 : Grid generated by MOHID Studio +COMENT2 : Generation Time: 01-07-2010 17:29:34 +LATITUDE : 2950 +LONGITUDE : 4300 +COORD_TIP : 3 +SRID : -1 +ILB_IUB : 1 21 +JLB_JUB : 1 50 +ORIGIN : 1800 1900 +GRID_ANGLE : 0 +CONSTANT_SPACING_X : 1 +CONSTANT_SPACING_Y : 1 +DX : 100 +DY : 100 +FILL_VALUE : -99 + +46.9569894394871 +48.3773886109264 +51.1658425738637 +53.9371493850183 +55.3574187823605 +56.3400667764837 +57.2907142042112 +58.3346700531935 +59.4014287197243 +60.3862240618547 +61.3500241447463 +62.3302446144369 +63.3690911198067 +64.404263292282 +65.3789319015797 +66.3378884152898 +67.314280377875 +68.3534311532764 +69.3923891408943 +70.3685538389054 +71.3275865793979 +72.3037937043009 +73.3429677748531 +74.3821417697699 +75.3583488053498 +76.317382274059 +77.2935893261529 +78.3327634061967 +79.3719374862405 +80.3481445383343 +81.3071780073185 +82.2833850594123 +83.3225591394561 +84.3617332194999 +85.3379402715937 +86.296973740578 +87.2731807926718 +88.3123548727156 +89.3515289527594 +90.3277360048532 +91.2866354788386 +92.2538602766937 +93.2396055853382 +94.2626396634807 +95.2853881059222 +96.2000414158084 +96.3303824485435 +94.05815110986 +91.7461098963934 +91.8622297069461 +38.9347252907232 +41.250447612876 +46.4470496838663 +51.6299317737861 +53.9451674256524 +55.1316768398825 +56.1502768814203 +57.2784470723175 +58.4073686827744 +59.3567997359456 +60.2652443803164 +61.2161264417571 +62.2865551952826 +63.3471225553326 +64.2769202822121 +65.170681945112 +66.1098122876029 +67.1790884663491 +68.248287881122 +69.1825487738408 +70.0773631682699 +71.0170362396483 +72.0867272120388 +73.1564181560422 +74.0905298755323 +74.9853447062377 +75.9251986267104 +76.9948897681596 +78.0645809096088 +78.9985119427908 +79.8933267734962 +80.8333613922252 +81.9030525336744 +82.9727436751236 +83.9064940100493 +84.8013088407547 +85.74152415774 +86.8112152991892 +87.8809064406384 +88.8144760773078 +89.7092909080132 +90.64390789676 +91.6045285158298 +92.5492934557612 +93.3253860882245 +93.6663735164784 +91.9763438742481 +85.1709104122007 +78.3099369589043 +76.5671488260627 +32.4980503604541 +35.5032895871395 +41.643437213854 +47.8616078875175 +51.0151605757334 +52.6726016156955 +54.0151600005096 +55.2752146349194 +56.3139495762205 +57.2059346875114 +58.0852554089511 +59.0480438714627 +60.1099242158511 +61.112204195215 +61.9739912011071 +62.8274137635478 +63.7719352758402 +64.8295288146704 +65.8398879391002 +66.70652593652 +67.5635215608591 +68.513288384351 +69.574251711022 +70.5830848075898 +71.4469345195407 +72.3039316533864 +73.2564910635929 +74.319148862882 +75.3262882440956 +76.1873463921154 +77.044343525961 +77.9996945000987 +79.064046081634 +80.0694916806013 +80.92775826469 +81.7847553985356 +82.7428979366044 +83.8089433003862 +84.8126951171071 +85.6681701372646 +86.5251672711102 +87.4861013731102 +88.5210222121689 +89.1259094916212 +89.2087911961608 +88.5374180861781 +85.1483429483818 +76.2618367840604 +67.4594942259835 +64.2148417445545 +27.2750401654909 +30.6071638801049 +36.6306276069979 +43.5193541532953 +47.0378578379892 +49.2226491219407 +51.0551582584658 +51.8557582285271 +53.0660393552545 +53.7011011151772 +54.5497642876496 +55.7014877571856 +56.441752664278 +57.6407847507169 +58.2158718992036 +59.0243030983585 +60.1640687793709 +60.8782269135133 +62.1058350148374 +62.6707672255315 +63.4863538045743 +64.6516879441324 +65.3485125568804 +66.5939504329251 +67.138724415817 +67.9543140718109 +69.1398131664938 +69.8188130118402 +71.0820758608789 +71.6066871654277 +72.4222768214216 +73.6279385944476 +74.2891134667999 +75.5702012888326 +76.0746499150383 +76.8902395710322 +78.1160640224013 +78.7594139217596 +80.0583267167864 +80.542612664649 +81.3582023206429 +82.6041894503551 +83.2297049584521 +84.4432794084312 +83.5285071988985 +81.7288031664998 +77.4523447791349 +67.1172164792377 +58.254983547353 +54.0833340342505 +22.0170829511232 +24.7079435800119 +29.3203301847318 +36.0134439100822 +41.1880099740124 +43.1836647763178 +43.4121823472242 +42.7185694874705 +45.1757752145468 +46.6994617578789 +47.4265803502643 +47.5048932060945 +46.6818921759243 +49.1782713078623 +50.6812996993006 +51.3484211160451 +51.3346482628722 +50.378088188996 +53.0142140734009 +54.5919619357793 +55.2678681757891 +55.2000356756941 +54.1186341718666 +56.8796075663209 +58.5126233667959 +59.1885334312294 +59.0654392467343 +57.8591952371865 +60.7450111373611 +62.4332891401603 +63.1091992045938 +62.9308428177745 +61.5997563025063 +64.6104147084012 +66.3539549135247 +67.0298649779582 +66.7962463888147 +65.3403173678262 +68.4758182794414 +70.2746206868892 +70.9505307513227 +70.6616010786726 +69.0807539521534 +72.3411362349861 +73.9267773853025 +72.0833012649067 +64.5429912190448 +54.2828637869416 +47.4695085871265 +43.8973215913083 +15.78647686016 +16.9405165038566 +18.7303470241639 +20.9727216122037 +22.7042795687407 +23.1600995270528 +24.6167074364528 +25.9458371756162 +25.9454986376898 +25.6541587074245 +26.0559135267574 +27.5286576525177 +28.7563572059112 +28.5190143059774 +27.9901237767268 +28.3067549513496 +29.8165850684388 +31.1015476057533 +30.8347891131422 +30.2622017799453 +30.5813392730062 +32.1635243733931 +33.5024179649601 +33.1817519975057 +32.5368029164457 +32.8559359506418 +34.5104828114368 +35.9032971106976 +35.5287104355493 +34.8113995940813 +35.1305326282774 +36.8574412494804 +38.3041762564351 +37.8756688735929 +37.0859962717169 +37.4051293059131 +39.204399687524 +40.7050554021725 +40.2226273116366 +39.3605929493525 +39.6796570317375 +41.5510610275501 +43.1055495921361 +42.5692320311951 +41.635027370114 +41.6720995448169 +39.4128230870746 +36.2264032322608 +33.7183269089733 +32.183123224921 +9.937306943058 +9.96680808999372 +10.0130977064606 +9.82420720752948 +10.3590035263411 +10.5588939631308 +10.5029206181429 +12.1985898673437 +11.5802980783443 +12.3896797401815 +12.6925304616436 +12.5323914187748 +14.0529341181423 +13.0577883047159 +13.6939305122746 +13.8882741547847 +13.6624190830108 +15.2936445871472 +14.2425332024679 +14.9306686531507 +15.1303956107427 +14.8714501357476 +16.5959035423293 +15.4515997276558 +16.1715406465346 +16.3712602098931 +16.0805022973745 +17.8981644223363 +16.6606518892827 +17.4123980161425 +17.6121175795009 +17.2895544590013 +19.2004253023432 +17.8697040509095 +18.6532553857503 +18.8529749491088 +18.4986066206281 +20.5026861823502 +19.0787562125363 +19.8940460430274 +20.0936291473613 +19.7072543376751 +21.8043585248911 +20.2872408295661 +21.1297964869718 +21.3178041950692 +20.8147970175017 +21.4677988038519 +21.5739589259492 +21.5306445194154 +6.08656067767181 +5.88461836409772 +5.78062428553065 +5.85166951024149 +6.01347770564409 +6.16622884470281 +6.35738042758434 +6.77480202466107 +7.30784206737364 +7.75675646285862 +8.00857893004018 +8.10798082823801 +8.24106015682239 +8.45645684980952 +8.70254274060899 +8.83823973567904 +8.8916588026709 +9.04667392976053 +9.30456071859962 +9.57764121887742 +9.71964781048216 +9.76503971544931 +9.91478236385244 +10.1763158444468 +10.4570439101096 +10.5990467852917 +10.6367847261801 +10.7828909651136 +11.0480567714945 +11.3364313795453 +11.4784342547274 +11.5085256532278 +11.6509995663748 +11.9197976985422 +12.215818848981 +12.3578217241631 +12.3802665802755 +12.5191081676359 +12.7915104559304 +13.0951001696857 +13.2369977620251 +13.2516106896468 +13.3865842521944 +13.6614485824347 +13.9695677301109 +14.1065048021162 +14.1017334889866 +14.2002872215518 +14.438642568404 +14.6126118394034 +3.70029712656087 +3.49591225711355 +3.39734185070395 +3.38630585027564 +3.4395721160503 +3.56045833109614 +3.78471482020722 +4.2214909322953 +4.6810092693857 +5.00761017336231 +5.22678606486236 +5.37423915028801 +5.50194079046242 +5.60929434580592 +5.73671368359107 +5.84355121892605 +5.94320025892437 +6.09802404437634 +6.25390643989489 +6.39873806282509 +6.50986137625292 +6.60849140096297 +6.76246948761186 +6.91720769730039 +7.06358973884556 +7.17471141179313 +7.27178639955143 +7.42573696145125 +7.58049772132719 +7.72843138344608 +7.83955305639364 +7.93507642357823 +8.08900226757369 +8.243787745354 +8.3932730280466 +8.50439470099416 +8.59836644760504 +8.75225564660888 +8.90704345823986 +9.05803726806916 +9.16909703132525 +9.26134259494426 +9.41455087376623 +9.56883262121548 +9.72082592509442 +9.83103930150884 +9.93070718500234 +10.0596379108404 +10.19950662154 +10.3109486354397 +2.31739798122996 +2.0985151258881 +1.9681206257945 +1.92330108324699 +1.95210674575047 +2.05445464926852 +2.27304493037641 +2.69564079973767 +3.13836835307344 +3.4182236693143 +3.62182646319339 +3.77809518243624 +3.86574819628183 +3.92647543179947 +4.01732312482631 +4.11690818924418 +4.2197454726022 +4.33497403414144 +4.45256156385127 +4.55725879154494 +4.65816168024724 +4.76242908147437 +4.87811364661637 +4.99380144369467 +5.09807854738031 +5.19898080214832 +5.30325005714378 +5.41893424036281 +5.53461842358184 +5.63889510033751 +5.73979735510551 +5.8440663836744 +5.95975056689342 +6.07543475011245 +6.1797116532947 +6.28061390806271 +6.38487972284376 +6.50054341598228 +6.61621901222821 +6.72050451020801 +6.82138598446303 +6.92540537187757 +7.04027838242983 +7.15589043681182 +7.26081134504222 +7.36443354746198 +7.46779820678883 +7.58058318985555 +7.69455708007415 +7.79432157267811 +1 +1.35 +1.4 +1.43521436763365 +1.46019268458912 +1.55983878877717 +1.76988505193311 +2.18756394374135 +2.62405865572756 +2.89448400576772 +3.09504755657973 +3.2496313727146 +3.32173808365165 +3.36310995393513 +3.45024584738266 +3.54990872439499 +3.64817013875229 +3.74680058710631 +3.84911846781098 +3.94997590609443 +4.04999938530183 +4.14999545241125 +4.24999413446834 +4.34999862654486 +4.44999996674136 +4.55 +4.65 +4.75 +4.85 +4.95 +5.05 +5.15 +5.25 +5.35 +5.45 +5.54999987000494 +5.64999372022042 +5.74996772955223 +5.84996863667166 +5.94999433015035 +6.04998649151906 +6.14968505751341 +6.24881700275738 +6.34892650635979 +6.44970235349672 +6.55022081324363 +6.65093658541701 +6.75445577659309 +6.85750750061697 +6.95389022807431 +2.31739798122996 +2.0985151258881 +1.9681206257945 +1.92330108324699 +1.95210674575047 +2.05445464926852 +2.27304493037641 +2.69564079973767 +3.13836835307344 +3.4182236693143 +3.62182646319339 +3.77809518243624 +3.86574819628183 +3.92647543179947 +4.01732312482631 +4.11690818924418 +4.2197454726022 +4.33497403414144 +4.45256156385127 +4.55725879154494 +4.65816168024724 +4.76242908147437 +4.87811364661637 +4.99380144369467 +5.09807854738031 +5.19898080214832 +5.30325005714378 +5.41893424036281 +5.53461842358184 +5.63889510033751 +5.73979735510551 +5.8440663836744 +5.95975056689342 +6.07543475011245 +6.1797116532947 +6.28061390806271 +6.38487972284376 +6.50054341598228 +6.61621901222821 +6.72050451020801 +6.82138598446303 +6.92540537187757 +7.04027838242983 +7.15589043681182 +7.26081134504222 +7.36443354746199 +7.46779820678883 +7.58058318985555 +7.69455708007415 +7.79432157267811 +3.70029712656087 +3.49591225711355 +3.39734185070395 +3.38630585027564 +3.4395721160503 +3.56045833109614 +3.78471482020722 +4.2214909322953 +4.6810092693857 +5.00761017336231 +5.22678606486236 +5.37423915028801 +5.50194079046242 +5.60929434580592 +5.73671368359107 +5.84355121892605 +5.94320025892437 +6.09802404437634 +6.25390643989489 +6.39873806282509 +6.50986137625292 +6.60849140096297 +6.76246948761186 +6.91720769730039 +7.06358973884556 +7.17471141179313 +7.27178639955143 +7.42573696145125 +7.58049772132719 +7.72843138344608 +7.83955305639364 +7.93507642357823 +8.08900226757369 +8.243787745354 +8.3932730280466 +8.50439470099416 +8.59836644760504 +8.75225564660888 +8.90704345823986 +9.05803726806916 +9.16909703132525 +9.26134259494426 +9.41455087376623 +9.56883262121548 +9.72082592509442 +9.83103930150884 +9.93070718500234 +10.0596379108404 +10.19950662154 +10.3109486354396 +6.08656067767181 +5.88461836409772 +5.78062428553065 +5.85166951024149 +6.01347770564409 +6.16622884470281 +6.35738042758434 +6.77480202466107 +7.30784206737364 +7.75675646285862 +8.00857893004018 +8.10798082823801 +8.24106015682239 +8.45645684980952 +8.70254274060899 +8.83823973567904 +8.8916588026709 +9.04667392976053 +9.30456071859962 +9.57764121887742 +9.71964781048216 +9.76503971544931 +9.91478236385244 +10.1763158444468 +10.4570439101096 +10.5990467852917 +10.6367847261801 +10.7828909651136 +11.0480567714945 +11.3364313795453 +11.4784342547274 +11.5085256532278 +11.6509995663748 +11.9197976985422 +12.215818848981 +12.3578217241631 +12.3802665802755 +12.5191081676359 +12.7915104559304 +13.0951001696857 +13.2369977620251 +13.2516106896468 +13.3865842521944 +13.6614485824347 +13.9695677301109 +14.1065048021162 +14.1017334889866 +14.2002872215518 +14.438642568404 +14.6126118394034 +9.937306943058 +9.96680808999373 +10.0130977064606 +9.82420720752948 +10.3590035263411 +10.5588939631308 +10.5029206181429 +12.1985898673437 +11.5802980783443 +12.3896797401815 +12.6925304616436 +12.5323914187748 +14.0529341181423 +13.0577883047159 +13.6939305122746 +13.8882741547847 +13.6624190830108 +15.2936445871472 +14.2425332024679 +14.9306686531507 +15.1303956107427 +14.8714501357476 +16.5959035423293 +15.4515997276558 +16.1715406465346 +16.3712602098931 +16.0805022973745 +17.8981644223363 +16.6606518892827 +17.4123980161425 +17.6121175795009 +17.2895544590013 +19.2004253023433 +17.8697040509095 +18.6532553857503 +18.8529749491088 +18.4986066206281 +20.5026861823502 +19.0787562125363 +19.8940460430274 +20.0936291473613 +19.7072543376751 +21.8043585248911 +20.2872408295661 +21.1297964869718 +21.3178041950691 +20.8147970175017 +21.4677988038519 +21.5739589259492 +21.5306445194154 +15.78647686016 +16.9405165038566 +18.7303470241639 +20.9727216122037 +22.7042795687407 +23.1600995270528 +24.6167074364528 +25.9458371756162 +25.9454986376898 +25.6541587074245 +26.0559135267574 +27.5286576525177 +28.7563572059112 +28.5190143059774 +27.9901237767268 +28.3067549513496 +29.8165850684388 +31.1015476057533 +30.8347891131422 +30.2622017799453 +30.5813392730062 +32.1635243733931 +33.5024179649601 +33.1817519975057 +32.5368029164457 +32.8559359506418 +34.5104828114368 +35.9032971106976 +35.5287104355493 +34.8113995940813 +35.1305326282774 +36.8574412494804 +38.3041762564351 +37.8756688735929 +37.0859962717169 +37.4051293059131 +39.204399687524 +40.7050554021725 +40.2226273116366 +39.3605929493525 +39.6796570317375 +41.5510610275501 +43.1055495921361 +42.5692320311951 +41.635027370114 +41.6720995448169 +39.4128230870746 +36.2264032322608 +33.7183269089733 +32.183123224921 +22.0170829511232 +24.7079435800119 +29.3203301847318 +36.0134439100822 +41.1880099740124 +43.1836647763178 +43.4121823472242 +42.7185694874705 +45.1757752145468 +46.6994617578789 +47.4265803502643 +47.5048932060945 +46.6818921759243 +49.1782713078623 +50.6812996993006 +51.3484211160451 +51.3346482628722 +50.378088188996 +53.0142140734009 +54.5919619357793 +55.2678681757891 +55.2000356756941 +54.1186341718666 +56.8796075663209 +58.5126233667959 +59.1885334312294 +59.0654392467343 +57.8591952371865 +60.7450111373611 +62.4332891401603 +63.1091992045938 +62.9308428177745 +61.5997563025064 +64.6104147084012 +66.3539549135247 +67.0298649779583 +66.7962463888147 +65.3403173678262 +68.4758182794414 +70.2746206868892 +70.9505307513227 +70.6616010786726 +69.0807539521534 +72.3411362349861 +73.9267773853025 +72.0833012649067 +64.5429912190448 +54.2828637869416 +47.4695085871265 +43.8973215913083 +27.2750401654909 +30.6071638801049 +36.6306276069979 +43.5193541532953 +47.0378578379892 +49.2226491219407 +51.0551582584658 +51.8557582285271 +53.0660393552545 +53.7011011151772 +54.5497642876496 +55.7014877571856 +56.441752664278 +57.6407847507169 +58.2158718992036 +59.0243030983585 +60.1640687793709 +60.8782269135133 +62.1058350148374 +62.6707672255315 +63.4863538045743 +64.6516879441324 +65.3485125568804 +66.5939504329251 +67.138724415817 +67.9543140718109 +69.1398131664938 +69.8188130118402 +71.0820758608789 +71.6066871654277 +72.4222768214216 +73.6279385944476 +74.2891134667999 +75.5702012888326 +76.0746499150383 +76.8902395710322 +78.1160640224013 +78.7594139217596 +80.0583267167864 +80.542612664649 +81.3582023206429 +82.6041894503551 +83.2297049584521 +84.4432794084312 +83.5285071988985 +81.7288031664998 +77.4523447791349 +67.1172164792377 +58.254983547353 +54.0833340342505 +32.4980503604541 +35.5032895871395 +41.643437213854 +47.8616078875175 +51.0151605757334 +52.6726016156955 +54.0151600005096 +55.2752146349194 +56.3139495762205 +57.2059346875114 +58.0852554089511 +59.0480438714627 +60.1099242158511 +61.1122041952149 +61.9739912011071 +62.8274137635478 +63.7719352758402 +64.8295288146704 +65.8398879391002 +66.70652593652 +67.5635215608591 +68.513288384351 +69.574251711022 +70.5830848075898 +71.4469345195407 +72.3039316533864 +73.2564910635929 +74.319148862882 +75.3262882440956 +76.1873463921154 +77.044343525961 +77.9996945000987 +79.064046081634 +80.0694916806013 +80.92775826469 +81.7847553985356 +82.7428979366044 +83.8089433003862 +84.8126951171071 +85.6681701372646 +86.5251672711102 +87.4861013731102 +88.5210222121689 +89.1259094916212 +89.2087911961608 +88.5374180861781 +85.1483429483818 +76.2618367840604 +67.4594942259835 +64.2148417445545 +38.9347252907232 +41.250447612876 +46.4470496838663 +51.6299317737861 +53.9451674256524 +55.1316768398825 +56.1502768814203 +57.2784470723175 +58.4073686827744 +59.3567997359456 +60.2652443803164 +61.2161264417571 +62.2865551952826 +63.3471225553326 +64.2769202822121 +65.170681945112 +66.1098122876029 +67.1790884663491 +68.248287881122 +69.1825487738408 +70.0773631682699 +71.0170362396483 +72.0867272120388 +73.1564181560422 +74.0905298755323 +74.9853447062377 +75.9251986267104 +76.9948897681596 +78.0645809096088 +78.9985119427908 +79.8933267734962 +80.8333613922252 +81.9030525336744 +82.9727436751236 +83.9064940100493 +84.8013088407547 +85.74152415774 +86.8112152991892 +87.8809064406384 +88.8144760773078 +89.7092909080132 +90.64390789676 +91.6045285158298 +92.5492934557612 +93.3253860882245 +93.6663735164784 +91.9763438742481 +85.1709104122007 +78.3099369589043 +76.5671488260627 +46.9569894394871 +48.3773886109264 +51.1658425738637 +53.9371493850183 +55.3574187823605 +56.3400667764837 +57.2907142042112 +58.3346700531935 +59.4014287197243 +60.3862240618547 +61.3500241447463 +62.3302446144369 +63.3690911198067 +64.404263292282 +65.3789319015797 +66.3378884152898 +67.314280377875 +68.3534311532764 +69.3923891408943 +70.3685538389054 +71.3275865793979 +72.3037937043009 +73.3429677748531 +74.3821417697699 +75.3583488053498 +76.317382274059 +77.2935893261529 +78.3327634061967 +79.3719374862405 +80.3481445383343 +81.3071780073185 +82.2833850594123 +83.3225591394561 +84.3617332194999 +85.3379402715937 +86.296973740578 +87.2731807926718 +88.3123548727156 +89.3515289527594 +90.3277360048532 +91.2866354788386 +92.2538602766937 +93.2396055853382 +94.2626396634807 +95.2853881059222 +96.2000414158084 +96.3303824485435 +94.05815110986 +91.7461098963934 +91.8622297069461 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Delineation.xy b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Delineation.xy new file mode 100644 index 000000000..61da95713 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Delineation.xy @@ -0,0 +1,124 @@ + + 1900.000 2900.000 + 2000.000 3000.000 + 2000.000 3100.000 + 2000.000 3200.000 + 2000.000 3300.000 + 2000.000 3400.000 + 2000.000 3500.000 + 2100.000 3600.000 + 2200.000 3700.000 + 2300.000 3800.000 + 2400.000 3900.000 + 2500.000 3900.000 + 2600.000 3900.000 + 2700.000 3900.000 + 2800.000 3900.000 + 2900.000 3900.000 + 3000.000 3900.000 + 3100.000 3900.000 + 3200.000 3900.000 + 3300.000 3900.000 + 3400.000 3900.000 + 3500.000 3900.000 + 3600.000 3900.000 + 3700.000 3900.000 + 3800.000 3900.000 + 3900.000 3900.000 + 4000.000 3900.000 + 4100.000 3900.000 + 4200.000 3900.000 + 4300.000 3900.000 + 4400.000 3900.000 + 4500.000 3900.000 + 4600.000 3900.000 + 4700.000 3900.000 + 4800.000 3900.000 + 4900.000 3900.000 + 5000.000 3900.000 + 5100.000 3900.000 + 5200.000 3900.000 + 5300.000 3900.000 + 5400.000 3900.000 + 5500.000 3900.000 + 5600.000 3900.000 + 5700.000 3900.000 + 5800.000 3900.000 + 5900.000 3900.000 + 6000.000 3900.000 + 6100.000 3900.000 + 6200.000 3900.000 + 6300.000 3900.000 + 6400.000 3900.000 + 6500.000 3900.000 + 6600.000 3800.000 + 6700.000 3700.000 + 6700.000 3600.000 + 6700.000 3500.000 + 6700.000 3400.000 + 6700.000 3300.000 + 6700.000 3200.000 + 6700.000 3100.000 + 6700.000 3000.000 + 6700.000 2900.000 + 6700.000 2800.000 + 6700.000 2700.000 + 6700.000 2600.000 + 6700.000 2500.000 + 6700.000 2400.000 + 6700.000 2300.000 + 6700.000 2200.000 + 6600.000 2100.000 + 6500.000 2000.000 + 6400.000 2000.000 + 6300.000 2000.000 + 6200.000 2000.000 + 6100.000 2000.000 + 6000.000 2000.000 + 5900.000 2000.000 + 5800.000 2000.000 + 5700.000 2000.000 + 5600.000 2000.000 + 5500.000 2000.000 + 5400.000 2000.000 + 5300.000 2000.000 + 5200.000 2000.000 + 5100.000 2000.000 + 5000.000 2000.000 + 4900.000 2000.000 + 4800.000 2000.000 + 4700.000 2000.000 + 4600.000 2000.000 + 4500.000 2000.000 + 4400.000 2000.000 + 4300.000 2000.000 + 4200.000 2000.000 + 4100.000 2000.000 + 4000.000 2000.000 + 3900.000 2000.000 + 3800.000 2000.000 + 3700.000 2000.000 + 3600.000 2000.000 + 3500.000 2000.000 + 3400.000 2000.000 + 3300.000 2000.000 + 3200.000 2000.000 + 3100.000 2000.000 + 3000.000 2000.000 + 2900.000 2000.000 + 2800.000 2000.000 + 2700.000 2000.000 + 2600.000 2000.000 + 2500.000 2000.000 + 2400.000 2000.000 + 2300.000 2000.000 + 2200.000 2100.000 + 2100.000 2200.000 + 2000.000 2300.000 + 2000.000 2400.000 + 2000.000 2500.000 + 2000.000 2600.000 + 2000.000 2700.000 + 2000.000 2800.000 + 1900.000 2900.000 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Drainage Network.dnt b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Drainage Network.dnt new file mode 100644 index 000000000..9ae4c879a --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Drainage Network.dnt @@ -0,0 +1,1155 @@ +COORDINATE_TYPE : 2 + +ID : 1 +COORDINATES : 1950 2950 +GRID_I : 11 +GRID_J : 2 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 8760000 +TERRAIN_LEVEL : 1.35 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 2 +COORDINATES : 2050 2950 +GRID_I : 11 +GRID_J : 3 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 8750000 +TERRAIN_LEVEL : 1.4 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 3 +COORDINATES : 2150 2950 +GRID_I : 11 +GRID_J : 4 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 8560000 +TERRAIN_LEVEL : 1.435214 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 4 +COORDINATES : 2250 2950 +GRID_I : 11 +GRID_J : 5 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 8370000 +TERRAIN_LEVEL : 1.460193 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 5 +COORDINATES : 2350 2950 +GRID_I : 11 +GRID_J : 6 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 8240000 +TERRAIN_LEVEL : 1.559839 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 6 +COORDINATES : 2450 2950 +GRID_I : 11 +GRID_J : 7 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 7910000 +TERRAIN_LEVEL : 1.769885 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 7 +COORDINATES : 2550 2950 +GRID_I : 11 +GRID_J : 8 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 7720000 +TERRAIN_LEVEL : 2.187564 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 8 +COORDINATES : 2650 2950 +GRID_I : 11 +GRID_J : 9 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 7530000 +TERRAIN_LEVEL : 2.624059 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 9 +COORDINATES : 2750 2950 +GRID_I : 11 +GRID_J : 10 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 7360000 +TERRAIN_LEVEL : 2.894484 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 10 +COORDINATES : 2850 2850 +GRID_I : 10 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 3.621826 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 11 +COORDINATES : 2850 2950 +GRID_I : 11 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 7350000 +TERRAIN_LEVEL : 3.095047 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 12 +COORDINATES : 2850 3050 +GRID_I : 12 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 3.621826 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 13 +COORDINATES : 2950 2950 +GRID_I : 11 +GRID_J : 12 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 7140000 +TERRAIN_LEVEL : 3.249631 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 14 +COORDINATES : 3050 2950 +GRID_I : 11 +GRID_J : 13 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 6950000 +TERRAIN_LEVEL : 3.321738 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 15 +COORDINATES : 3150 2950 +GRID_I : 11 +GRID_J : 14 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 6760000 +TERRAIN_LEVEL : 3.36311 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 16 +COORDINATES : 3250 2950 +GRID_I : 11 +GRID_J : 15 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 6590000 +TERRAIN_LEVEL : 3.450246 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 17 +COORDINATES : 3350 2950 +GRID_I : 11 +GRID_J : 16 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 6400000 +TERRAIN_LEVEL : 3.549909 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 18 +COORDINATES : 3450 2850 +GRID_I : 10 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 4.219746 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 19 +COORDINATES : 3450 2950 +GRID_I : 11 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 6210000 +TERRAIN_LEVEL : 3.64817 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 20 +COORDINATES : 3450 3050 +GRID_I : 12 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 4.219746 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 21 +COORDINATES : 3550 2950 +GRID_I : 11 +GRID_J : 18 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 6000000 +TERRAIN_LEVEL : 3.746801 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 22 +COORDINATES : 3650 2950 +GRID_I : 11 +GRID_J : 19 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 5810000 +TERRAIN_LEVEL : 3.849118 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 23 +COORDINATES : 3750 2950 +GRID_I : 11 +GRID_J : 20 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 5640000 +TERRAIN_LEVEL : 3.949976 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 24 +COORDINATES : 3850 2950 +GRID_I : 11 +GRID_J : 21 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 5450000 +TERRAIN_LEVEL : 4.049999 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 25 +COORDINATES : 3950 2850 +GRID_I : 10 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 4.762429 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 26 +COORDINATES : 3950 2950 +GRID_I : 11 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 5260000 +TERRAIN_LEVEL : 4.149995 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 27 +COORDINATES : 3950 3050 +GRID_I : 12 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 4.762429 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 28 +COORDINATES : 4050 2950 +GRID_I : 11 +GRID_J : 23 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 5050000 +TERRAIN_LEVEL : 4.249994 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 29 +COORDINATES : 4150 2950 +GRID_I : 11 +GRID_J : 24 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 4880000 +TERRAIN_LEVEL : 4.349998 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 30 +COORDINATES : 4250 2950 +GRID_I : 11 +GRID_J : 25 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 4690000 +TERRAIN_LEVEL : 4.45 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 31 +COORDINATES : 4350 2950 +GRID_I : 11 +GRID_J : 26 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 4500000 +TERRAIN_LEVEL : 4.55 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 32 +COORDINATES : 4450 2950 +GRID_I : 11 +GRID_J : 27 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 4310000 +TERRAIN_LEVEL : 4.65 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 33 +COORDINATES : 4550 2950 +GRID_I : 11 +GRID_J : 28 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 4120000 +TERRAIN_LEVEL : 4.75 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 34 +COORDINATES : 4650 2950 +GRID_I : 11 +GRID_J : 29 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 3930000 +TERRAIN_LEVEL : 4.85 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 35 +COORDINATES : 4750 2950 +GRID_I : 11 +GRID_J : 30 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 3740000 +TERRAIN_LEVEL : 4.95 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 36 +COORDINATES : 4850 2950 +GRID_I : 11 +GRID_J : 31 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 3550000 +TERRAIN_LEVEL : 5.05 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 37 +COORDINATES : 4950 2950 +GRID_I : 11 +GRID_J : 32 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 3360000 +TERRAIN_LEVEL : 5.15 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 38 +COORDINATES : 5050 2950 +GRID_I : 11 +GRID_J : 33 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 3170000 +TERRAIN_LEVEL : 5.25 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 39 +COORDINATES : 5150 2950 +GRID_I : 11 +GRID_J : 34 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 2980000 +TERRAIN_LEVEL : 5.35 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 40 +COORDINATES : 5250 2950 +GRID_I : 11 +GRID_J : 35 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 2790000 +TERRAIN_LEVEL : 5.45 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 41 +COORDINATES : 5350 2950 +GRID_I : 11 +GRID_J : 36 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 2600000 +TERRAIN_LEVEL : 5.55 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 42 +COORDINATES : 5450 2950 +GRID_I : 11 +GRID_J : 37 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 2410000 +TERRAIN_LEVEL : 5.649994 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 43 +COORDINATES : 5550 2950 +GRID_I : 11 +GRID_J : 38 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 2220000 +TERRAIN_LEVEL : 5.749968 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 44 +COORDINATES : 5650 2950 +GRID_I : 11 +GRID_J : 39 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 2030000 +TERRAIN_LEVEL : 5.849968 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 45 +COORDINATES : 5750 2950 +GRID_I : 11 +GRID_J : 40 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 1840000 +TERRAIN_LEVEL : 5.949995 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 46 +COORDINATES : 5850 2950 +GRID_I : 11 +GRID_J : 41 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 1650000 +TERRAIN_LEVEL : 6.049986 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 47 +COORDINATES : 5950 2950 +GRID_I : 11 +GRID_J : 42 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 1460000 +TERRAIN_LEVEL : 6.149685 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 48 +COORDINATES : 6050 2950 +GRID_I : 11 +GRID_J : 43 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 1270000 +TERRAIN_LEVEL : 6.248817 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 49 +COORDINATES : 6150 2950 +GRID_I : 11 +GRID_J : 44 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 1080000 +TERRAIN_LEVEL : 6.348927 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 50 +COORDINATES : 6250 2950 +GRID_I : 11 +GRID_J : 45 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 890000 +TERRAIN_LEVEL : 6.449702 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 51 +COORDINATES : 6350 2950 +GRID_I : 11 +GRID_J : 46 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 700000 +TERRAIN_LEVEL : 6.550221 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 52 +COORDINATES : 6450 2950 +GRID_I : 11 +GRID_J : 47 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 570000 +TERRAIN_LEVEL : 6.650937 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 53 +COORDINATES : 6550 2950 +GRID_I : 11 +GRID_J : 48 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 420000 +TERRAIN_LEVEL : 6.754456 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 54 +COORDINATES : 6650 2650 +GRID_I : 8 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 14.43864 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 55 +COORDINATES : 6650 2750 +GRID_I : 9 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 110000 +TERRAIN_LEVEL : 10.19951 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 56 +COORDINATES : 6650 2850 +GRID_I : 10 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 120000 +TERRAIN_LEVEL : 7.694557 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 57 +COORDINATES : 6650 2950 +GRID_I : 11 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 250000 +TERRAIN_LEVEL : 6.857508 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 58 +COORDINATES : 6650 3050 +GRID_I : 12 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 120000 +TERRAIN_LEVEL : 7.694557 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 59 +COORDINATES : 6650 3150 +GRID_I : 13 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 110000 +TERRAIN_LEVEL : 10.19951 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 60 +COORDINATES : 6650 3250 +GRID_I : 14 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 14.43864 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 61 +COORDINATES : 1850 2950 +GRID_I : 11 +GRID_J : 1 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 8950000 +TERRAIN_LEVEL : 1 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 1 +UPSTREAM_NODE : 1 +DOWNSTREAM_NODE : 61 + + +ID : 2 +UPSTREAM_NODE : 2 +DOWNSTREAM_NODE : 1 + + +ID : 3 +UPSTREAM_NODE : 3 +DOWNSTREAM_NODE : 2 + + +ID : 4 +UPSTREAM_NODE : 4 +DOWNSTREAM_NODE : 3 + + +ID : 5 +UPSTREAM_NODE : 5 +DOWNSTREAM_NODE : 4 + + +ID : 6 +UPSTREAM_NODE : 6 +DOWNSTREAM_NODE : 5 + + +ID : 7 +UPSTREAM_NODE : 7 +DOWNSTREAM_NODE : 6 + + +ID : 8 +UPSTREAM_NODE : 8 +DOWNSTREAM_NODE : 7 + + +ID : 9 +UPSTREAM_NODE : 9 +DOWNSTREAM_NODE : 8 + + +ID : 10 +UPSTREAM_NODE : 10 +DOWNSTREAM_NODE : 11 + + +ID : 11 +UPSTREAM_NODE : 11 +DOWNSTREAM_NODE : 9 + + +ID : 12 +UPSTREAM_NODE : 12 +DOWNSTREAM_NODE : 11 + + +ID : 13 +UPSTREAM_NODE : 13 +DOWNSTREAM_NODE : 11 + + +ID : 14 +UPSTREAM_NODE : 14 +DOWNSTREAM_NODE : 13 + + +ID : 15 +UPSTREAM_NODE : 15 +DOWNSTREAM_NODE : 14 + + +ID : 16 +UPSTREAM_NODE : 16 +DOWNSTREAM_NODE : 15 + + +ID : 17 +UPSTREAM_NODE : 17 +DOWNSTREAM_NODE : 16 + + +ID : 18 +UPSTREAM_NODE : 18 +DOWNSTREAM_NODE : 19 + + +ID : 19 +UPSTREAM_NODE : 19 +DOWNSTREAM_NODE : 17 + + +ID : 20 +UPSTREAM_NODE : 20 +DOWNSTREAM_NODE : 19 + + +ID : 21 +UPSTREAM_NODE : 21 +DOWNSTREAM_NODE : 19 + + +ID : 22 +UPSTREAM_NODE : 22 +DOWNSTREAM_NODE : 21 + + +ID : 23 +UPSTREAM_NODE : 23 +DOWNSTREAM_NODE : 22 + + +ID : 24 +UPSTREAM_NODE : 24 +DOWNSTREAM_NODE : 23 + + +ID : 25 +UPSTREAM_NODE : 25 +DOWNSTREAM_NODE : 26 + + +ID : 26 +UPSTREAM_NODE : 26 +DOWNSTREAM_NODE : 24 + + +ID : 27 +UPSTREAM_NODE : 27 +DOWNSTREAM_NODE : 26 + + +ID : 28 +UPSTREAM_NODE : 28 +DOWNSTREAM_NODE : 26 + + +ID : 29 +UPSTREAM_NODE : 29 +DOWNSTREAM_NODE : 28 + + +ID : 30 +UPSTREAM_NODE : 30 +DOWNSTREAM_NODE : 29 + + +ID : 31 +UPSTREAM_NODE : 31 +DOWNSTREAM_NODE : 30 + + +ID : 32 +UPSTREAM_NODE : 32 +DOWNSTREAM_NODE : 31 + + +ID : 33 +UPSTREAM_NODE : 33 +DOWNSTREAM_NODE : 32 + + +ID : 34 +UPSTREAM_NODE : 34 +DOWNSTREAM_NODE : 33 + + +ID : 35 +UPSTREAM_NODE : 35 +DOWNSTREAM_NODE : 34 + + +ID : 36 +UPSTREAM_NODE : 36 +DOWNSTREAM_NODE : 35 + + +ID : 37 +UPSTREAM_NODE : 37 +DOWNSTREAM_NODE : 36 + + +ID : 38 +UPSTREAM_NODE : 38 +DOWNSTREAM_NODE : 37 + + +ID : 39 +UPSTREAM_NODE : 39 +DOWNSTREAM_NODE : 38 + + +ID : 40 +UPSTREAM_NODE : 40 +DOWNSTREAM_NODE : 39 + + +ID : 41 +UPSTREAM_NODE : 41 +DOWNSTREAM_NODE : 40 + + +ID : 42 +UPSTREAM_NODE : 42 +DOWNSTREAM_NODE : 41 + + +ID : 43 +UPSTREAM_NODE : 43 +DOWNSTREAM_NODE : 42 + + +ID : 44 +UPSTREAM_NODE : 44 +DOWNSTREAM_NODE : 43 + + +ID : 45 +UPSTREAM_NODE : 45 +DOWNSTREAM_NODE : 44 + + +ID : 46 +UPSTREAM_NODE : 46 +DOWNSTREAM_NODE : 45 + + +ID : 47 +UPSTREAM_NODE : 47 +DOWNSTREAM_NODE : 46 + + +ID : 48 +UPSTREAM_NODE : 48 +DOWNSTREAM_NODE : 47 + + +ID : 49 +UPSTREAM_NODE : 49 +DOWNSTREAM_NODE : 48 + + +ID : 50 +UPSTREAM_NODE : 50 +DOWNSTREAM_NODE : 49 + + +ID : 51 +UPSTREAM_NODE : 51 +DOWNSTREAM_NODE : 50 + + +ID : 52 +UPSTREAM_NODE : 52 +DOWNSTREAM_NODE : 51 + + +ID : 53 +UPSTREAM_NODE : 53 +DOWNSTREAM_NODE : 52 + + +ID : 54 +UPSTREAM_NODE : 54 +DOWNSTREAM_NODE : 55 + + +ID : 55 +UPSTREAM_NODE : 55 +DOWNSTREAM_NODE : 56 + + +ID : 56 +UPSTREAM_NODE : 56 +DOWNSTREAM_NODE : 57 + + +ID : 57 +UPSTREAM_NODE : 57 +DOWNSTREAM_NODE : 53 + + +ID : 58 +UPSTREAM_NODE : 58 +DOWNSTREAM_NODE : 57 + + +ID : 59 +UPSTREAM_NODE : 59 +DOWNSTREAM_NODE : 58 + + +ID : 60 +UPSTREAM_NODE : 60 +DOWNSTREAM_NODE : 59 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Drainage Network_HighDensity.dnt b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Drainage Network_HighDensity.dnt new file mode 100644 index 000000000..e82ecc289 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Drainage Network_HighDensity.dnt @@ -0,0 +1,9935 @@ +COORDINATE_TYPE : 2 + +ID : 1 +COORDINATES : 1950 2950 +GRID_I : 11 +GRID_J : 2 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 8760000 +TERRAIN_LEVEL : 1.35 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 2 +COORDINATES : 2050 2450 +GRID_I : 6 +GRID_J : 3 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 18.7303470241639 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 3 +COORDINATES : 2050 2550 +GRID_I : 7 +GRID_J : 3 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 10.0130977064606 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 4 +COORDINATES : 2050 2650 +GRID_I : 8 +GRID_J : 3 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 5.78062428553065 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 5 +COORDINATES : 2050 2750 +GRID_I : 9 +GRID_J : 3 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 3.39734185070395 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 6 +COORDINATES : 2050 2850 +GRID_I : 10 +GRID_J : 3 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 1.9681206257945 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 7 +COORDINATES : 2050 2950 +GRID_I : 11 +GRID_J : 3 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 8750000 +TERRAIN_LEVEL : 1.4 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 8 +COORDINATES : 2050 3050 +GRID_I : 12 +GRID_J : 3 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 1.9681206257945 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 9 +COORDINATES : 2050 3150 +GRID_I : 13 +GRID_J : 3 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 3.39734185070395 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 10 +COORDINATES : 2050 3250 +GRID_I : 14 +GRID_J : 3 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 5.78062428553065 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 11 +COORDINATES : 2050 3350 +GRID_I : 15 +GRID_J : 3 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 10.0130977064606 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 12 +COORDINATES : 2050 3450 +GRID_I : 16 +GRID_J : 3 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 18.7303470241639 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 13 +COORDINATES : 2150 2450 +GRID_I : 6 +GRID_J : 4 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 20.9727216122037 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 14 +COORDINATES : 2150 2550 +GRID_I : 7 +GRID_J : 4 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 9.82420720752948 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 15 +COORDINATES : 2150 2650 +GRID_I : 8 +GRID_J : 4 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 5.85166951024149 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 16 +COORDINATES : 2150 2750 +GRID_I : 9 +GRID_J : 4 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 3.38630585027564 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 17 +COORDINATES : 2150 2850 +GRID_I : 10 +GRID_J : 4 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 1.92330108324699 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 18 +COORDINATES : 2150 2950 +GRID_I : 11 +GRID_J : 4 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 8560000 +TERRAIN_LEVEL : 1.43521436763365 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 19 +COORDINATES : 2150 3050 +GRID_I : 12 +GRID_J : 4 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 1.92330108324699 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 20 +COORDINATES : 2150 3150 +GRID_I : 13 +GRID_J : 4 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 3.38630585027564 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 21 +COORDINATES : 2150 3250 +GRID_I : 14 +GRID_J : 4 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 5.85166951024149 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 22 +COORDINATES : 2150 3350 +GRID_I : 15 +GRID_J : 4 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 9.82420720752948 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 23 +COORDINATES : 2150 3450 +GRID_I : 16 +GRID_J : 4 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 20.9727216122037 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 24 +COORDINATES : 2250 2750 +GRID_I : 9 +GRID_J : 5 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 3.4395721160503 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 25 +COORDINATES : 2250 2850 +GRID_I : 10 +GRID_J : 5 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 1.95210674575047 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 26 +COORDINATES : 2250 2950 +GRID_I : 11 +GRID_J : 5 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 8370000 +TERRAIN_LEVEL : 1.46019268458912 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 27 +COORDINATES : 2250 3050 +GRID_I : 12 +GRID_J : 5 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 1.95210674575047 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 28 +COORDINATES : 2250 3150 +GRID_I : 13 +GRID_J : 5 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 3.4395721160503 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 29 +COORDINATES : 2350 2450 +GRID_I : 6 +GRID_J : 6 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 23.1600995270528 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 30 +COORDINATES : 2350 2550 +GRID_I : 7 +GRID_J : 6 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 10.5588939631308 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 31 +COORDINATES : 2350 2650 +GRID_I : 8 +GRID_J : 6 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 6.16622884470281 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 32 +COORDINATES : 2350 2750 +GRID_I : 9 +GRID_J : 6 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 3.56045833109614 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 33 +COORDINATES : 2350 2850 +GRID_I : 10 +GRID_J : 6 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 2.05445464926852 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 34 +COORDINATES : 2350 2950 +GRID_I : 11 +GRID_J : 6 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 8240000 +TERRAIN_LEVEL : 1.55983878877717 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 35 +COORDINATES : 2350 3050 +GRID_I : 12 +GRID_J : 6 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 2.05445464926852 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 36 +COORDINATES : 2350 3150 +GRID_I : 13 +GRID_J : 6 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 3.56045833109614 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 37 +COORDINATES : 2350 3250 +GRID_I : 14 +GRID_J : 6 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 6.16622884470281 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 38 +COORDINATES : 2350 3350 +GRID_I : 15 +GRID_J : 6 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 10.5588939631308 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 39 +COORDINATES : 2350 3450 +GRID_I : 16 +GRID_J : 6 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 23.1600995270528 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 40 +COORDINATES : 2450 2650 +GRID_I : 8 +GRID_J : 7 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 6.35738042758434 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 41 +COORDINATES : 2450 2750 +GRID_I : 9 +GRID_J : 7 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 3.78471482020722 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 42 +COORDINATES : 2450 2850 +GRID_I : 10 +GRID_J : 7 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 2.27304493037641 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 43 +COORDINATES : 2450 2950 +GRID_I : 11 +GRID_J : 7 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 7910000 +TERRAIN_LEVEL : 1.76988505193311 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 44 +COORDINATES : 2450 3050 +GRID_I : 12 +GRID_J : 7 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 2.27304493037641 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 45 +COORDINATES : 2450 3150 +GRID_I : 13 +GRID_J : 7 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 3.78471482020722 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 46 +COORDINATES : 2450 3250 +GRID_I : 14 +GRID_J : 7 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 6.35738042758434 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 47 +COORDINATES : 2550 2450 +GRID_I : 6 +GRID_J : 8 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 25.9458371756162 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 48 +COORDINATES : 2550 2550 +GRID_I : 7 +GRID_J : 8 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 12.1985898673437 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 49 +COORDINATES : 2550 2650 +GRID_I : 8 +GRID_J : 8 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 6.77480202466107 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 50 +COORDINATES : 2550 2750 +GRID_I : 9 +GRID_J : 8 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 4.2214909322953 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 51 +COORDINATES : 2550 2850 +GRID_I : 10 +GRID_J : 8 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 2.69564079973767 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 52 +COORDINATES : 2550 2950 +GRID_I : 11 +GRID_J : 8 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 7720000 +TERRAIN_LEVEL : 2.18756394374135 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 53 +COORDINATES : 2550 3050 +GRID_I : 12 +GRID_J : 8 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 2.69564079973767 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 54 +COORDINATES : 2550 3150 +GRID_I : 13 +GRID_J : 8 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 4.2214909322953 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 55 +COORDINATES : 2550 3250 +GRID_I : 14 +GRID_J : 8 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 6.77480202466107 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 56 +COORDINATES : 2550 3350 +GRID_I : 15 +GRID_J : 8 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 12.1985898673437 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 57 +COORDINATES : 2550 3450 +GRID_I : 16 +GRID_J : 8 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 25.9458371756162 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 58 +COORDINATES : 2650 2450 +GRID_I : 6 +GRID_J : 9 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 25.9454986376898 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 59 +COORDINATES : 2650 2550 +GRID_I : 7 +GRID_J : 9 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 11.5802980783443 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 60 +COORDINATES : 2650 2650 +GRID_I : 8 +GRID_J : 9 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 7.30784206737364 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 61 +COORDINATES : 2650 2750 +GRID_I : 9 +GRID_J : 9 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 4.6810092693857 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 62 +COORDINATES : 2650 2850 +GRID_I : 10 +GRID_J : 9 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 3.13836835307344 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 63 +COORDINATES : 2650 2950 +GRID_I : 11 +GRID_J : 9 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 7530000 +TERRAIN_LEVEL : 2.62405865572756 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 64 +COORDINATES : 2650 3050 +GRID_I : 12 +GRID_J : 9 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 3.13836835307344 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 65 +COORDINATES : 2650 3150 +GRID_I : 13 +GRID_J : 9 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 4.6810092693857 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 66 +COORDINATES : 2650 3250 +GRID_I : 14 +GRID_J : 9 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 7.30784206737364 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 67 +COORDINATES : 2650 3350 +GRID_I : 15 +GRID_J : 9 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 11.5802980783443 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 68 +COORDINATES : 2650 3450 +GRID_I : 16 +GRID_J : 9 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 25.9454986376898 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 69 +COORDINATES : 2750 2550 +GRID_I : 7 +GRID_J : 10 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 12.3896797401815 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 70 +COORDINATES : 2750 2650 +GRID_I : 8 +GRID_J : 10 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 7.75675646285862 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 71 +COORDINATES : 2750 2750 +GRID_I : 9 +GRID_J : 10 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 5.00761017336231 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 72 +COORDINATES : 2750 2850 +GRID_I : 10 +GRID_J : 10 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 3.4182236693143 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 73 +COORDINATES : 2750 2950 +GRID_I : 11 +GRID_J : 10 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 7360000 +TERRAIN_LEVEL : 2.89448400576772 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 74 +COORDINATES : 2750 3050 +GRID_I : 12 +GRID_J : 10 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 3.4182236693143 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 75 +COORDINATES : 2750 3150 +GRID_I : 13 +GRID_J : 10 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 5.00761017336231 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 76 +COORDINATES : 2750 3250 +GRID_I : 14 +GRID_J : 10 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 7.75675646285862 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 77 +COORDINATES : 2750 3350 +GRID_I : 15 +GRID_J : 10 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 12.3896797401815 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 78 +COORDINATES : 2850 2350 +GRID_I : 5 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 47.4265803502643 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 79 +COORDINATES : 2850 2450 +GRID_I : 6 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 26.0559135267574 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 80 +COORDINATES : 2850 2550 +GRID_I : 7 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 12.6925304616436 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 81 +COORDINATES : 2850 2650 +GRID_I : 8 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.00857893004018 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 82 +COORDINATES : 2850 2750 +GRID_I : 9 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.22678606486236 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 83 +COORDINATES : 2850 2850 +GRID_I : 10 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 3.62182646319339 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 84 +COORDINATES : 2850 2950 +GRID_I : 11 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 7350000 +TERRAIN_LEVEL : 3.09504755657973 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 85 +COORDINATES : 2850 3050 +GRID_I : 12 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 3.62182646319339 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 86 +COORDINATES : 2850 3150 +GRID_I : 13 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.22678606486236 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 87 +COORDINATES : 2850 3250 +GRID_I : 14 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.00857893004018 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 88 +COORDINATES : 2850 3350 +GRID_I : 15 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 12.6925304616436 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 89 +COORDINATES : 2850 3450 +GRID_I : 16 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 26.0559135267574 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 90 +COORDINATES : 2850 3550 +GRID_I : 17 +GRID_J : 11 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 47.4265803502643 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 91 +COORDINATES : 2950 2450 +GRID_I : 6 +GRID_J : 12 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 27.5286576525177 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 92 +COORDINATES : 2950 2550 +GRID_I : 7 +GRID_J : 12 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 12.5323914187748 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 93 +COORDINATES : 2950 2650 +GRID_I : 8 +GRID_J : 12 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 8.10798082823801 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 94 +COORDINATES : 2950 2750 +GRID_I : 9 +GRID_J : 12 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 5.37423915028801 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 95 +COORDINATES : 2950 2850 +GRID_I : 10 +GRID_J : 12 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 3.77809518243624 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 96 +COORDINATES : 2950 2950 +GRID_I : 11 +GRID_J : 12 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 7140000 +TERRAIN_LEVEL : 3.2496313727146 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 97 +COORDINATES : 2950 3050 +GRID_I : 12 +GRID_J : 12 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 3.77809518243624 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 98 +COORDINATES : 2950 3150 +GRID_I : 13 +GRID_J : 12 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 5.37423915028801 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 99 +COORDINATES : 2950 3250 +GRID_I : 14 +GRID_J : 12 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 8.10798082823801 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 100 +COORDINATES : 2950 3350 +GRID_I : 15 +GRID_J : 12 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 12.5323914187748 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 101 +COORDINATES : 2950 3450 +GRID_I : 16 +GRID_J : 12 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 27.5286576525177 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 102 +COORDINATES : 3050 2450 +GRID_I : 6 +GRID_J : 13 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 28.7563572059112 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 103 +COORDINATES : 3050 2550 +GRID_I : 7 +GRID_J : 13 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 14.0529341181423 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 104 +COORDINATES : 3050 2650 +GRID_I : 8 +GRID_J : 13 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 8.24106015682239 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 105 +COORDINATES : 3050 2750 +GRID_I : 9 +GRID_J : 13 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 5.50194079046242 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 106 +COORDINATES : 3050 2850 +GRID_I : 10 +GRID_J : 13 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 3.86574819628183 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 107 +COORDINATES : 3050 2950 +GRID_I : 11 +GRID_J : 13 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 6950000 +TERRAIN_LEVEL : 3.32173808365165 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 108 +COORDINATES : 3050 3050 +GRID_I : 12 +GRID_J : 13 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 3.86574819628183 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 109 +COORDINATES : 3050 3150 +GRID_I : 13 +GRID_J : 13 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 5.50194079046242 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 110 +COORDINATES : 3050 3250 +GRID_I : 14 +GRID_J : 13 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 8.24106015682239 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 111 +COORDINATES : 3050 3350 +GRID_I : 15 +GRID_J : 13 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 14.0529341181423 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 112 +COORDINATES : 3050 3450 +GRID_I : 16 +GRID_J : 13 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 28.7563572059112 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 113 +COORDINATES : 3150 2550 +GRID_I : 7 +GRID_J : 14 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 13.0577883047159 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 114 +COORDINATES : 3150 2650 +GRID_I : 8 +GRID_J : 14 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 8.45645684980952 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 115 +COORDINATES : 3150 2750 +GRID_I : 9 +GRID_J : 14 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 5.60929434580592 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 116 +COORDINATES : 3150 2850 +GRID_I : 10 +GRID_J : 14 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 3.92647543179947 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 117 +COORDINATES : 3150 2950 +GRID_I : 11 +GRID_J : 14 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 6760000 +TERRAIN_LEVEL : 3.36310995393513 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 118 +COORDINATES : 3150 3050 +GRID_I : 12 +GRID_J : 14 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 3.92647543179947 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 119 +COORDINATES : 3150 3150 +GRID_I : 13 +GRID_J : 14 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 5.60929434580592 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 120 +COORDINATES : 3150 3250 +GRID_I : 14 +GRID_J : 14 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 8.45645684980952 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 121 +COORDINATES : 3150 3350 +GRID_I : 15 +GRID_J : 14 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 13.0577883047159 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 122 +COORDINATES : 3250 2450 +GRID_I : 6 +GRID_J : 15 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 27.9901237767268 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 123 +COORDINATES : 3250 2550 +GRID_I : 7 +GRID_J : 15 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 13.6939305122746 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 124 +COORDINATES : 3250 2650 +GRID_I : 8 +GRID_J : 15 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 8.70254274060899 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 125 +COORDINATES : 3250 2750 +GRID_I : 9 +GRID_J : 15 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 5.73671368359107 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 126 +COORDINATES : 3250 2850 +GRID_I : 10 +GRID_J : 15 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 4.01732312482631 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 127 +COORDINATES : 3250 2950 +GRID_I : 11 +GRID_J : 15 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 6590000 +TERRAIN_LEVEL : 3.45024584738266 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 128 +COORDINATES : 3250 3050 +GRID_I : 12 +GRID_J : 15 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 4.01732312482631 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 129 +COORDINATES : 3250 3150 +GRID_I : 13 +GRID_J : 15 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 5.73671368359107 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 130 +COORDINATES : 3250 3250 +GRID_I : 14 +GRID_J : 15 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 8.70254274060899 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 131 +COORDINATES : 3250 3350 +GRID_I : 15 +GRID_J : 15 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 13.6939305122746 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 132 +COORDINATES : 3250 3450 +GRID_I : 16 +GRID_J : 15 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 27.9901237767268 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 133 +COORDINATES : 3350 2450 +GRID_I : 6 +GRID_J : 16 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 28.3067549513496 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 134 +COORDINATES : 3350 2550 +GRID_I : 7 +GRID_J : 16 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 13.8882741547847 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 135 +COORDINATES : 3350 2650 +GRID_I : 8 +GRID_J : 16 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 8.83823973567904 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 136 +COORDINATES : 3350 2750 +GRID_I : 9 +GRID_J : 16 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 5.84355121892605 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 137 +COORDINATES : 3350 2850 +GRID_I : 10 +GRID_J : 16 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 4.11690818924418 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 138 +COORDINATES : 3350 2950 +GRID_I : 11 +GRID_J : 16 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 6400000 +TERRAIN_LEVEL : 3.54990872439499 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 139 +COORDINATES : 3350 3050 +GRID_I : 12 +GRID_J : 16 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 4.11690818924418 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 140 +COORDINATES : 3350 3150 +GRID_I : 13 +GRID_J : 16 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 5.84355121892605 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 141 +COORDINATES : 3350 3250 +GRID_I : 14 +GRID_J : 16 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 8.83823973567904 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 142 +COORDINATES : 3350 3350 +GRID_I : 15 +GRID_J : 16 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 13.8882741547847 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 143 +COORDINATES : 3350 3450 +GRID_I : 16 +GRID_J : 16 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 28.3067549513496 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 144 +COORDINATES : 3450 2350 +GRID_I : 5 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 51.3346482628722 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 145 +COORDINATES : 3450 2450 +GRID_I : 6 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 29.8165850684388 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 146 +COORDINATES : 3450 2550 +GRID_I : 7 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.6624190830108 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 147 +COORDINATES : 3450 2650 +GRID_I : 8 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.8916588026709 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 148 +COORDINATES : 3450 2750 +GRID_I : 9 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.94320025892437 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 149 +COORDINATES : 3450 2850 +GRID_I : 10 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 4.2197454726022 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 150 +COORDINATES : 3450 2950 +GRID_I : 11 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 6210000 +TERRAIN_LEVEL : 3.64817013875229 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 151 +COORDINATES : 3450 3050 +GRID_I : 12 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 4.2197454726022 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 152 +COORDINATES : 3450 3150 +GRID_I : 13 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.94320025892437 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 153 +COORDINATES : 3450 3250 +GRID_I : 14 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.8916588026709 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 154 +COORDINATES : 3450 3350 +GRID_I : 15 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.6624190830108 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 155 +COORDINATES : 3450 3450 +GRID_I : 16 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 29.8165850684388 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 156 +COORDINATES : 3450 3550 +GRID_I : 17 +GRID_J : 17 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 51.3346482628722 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 157 +COORDINATES : 3550 2450 +GRID_I : 6 +GRID_J : 18 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 31.1015476057533 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 158 +COORDINATES : 3550 2550 +GRID_I : 7 +GRID_J : 18 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 15.2936445871472 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 159 +COORDINATES : 3550 2650 +GRID_I : 8 +GRID_J : 18 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 9.04667392976053 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 160 +COORDINATES : 3550 2750 +GRID_I : 9 +GRID_J : 18 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 6.09802404437634 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 161 +COORDINATES : 3550 2850 +GRID_I : 10 +GRID_J : 18 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 4.33497403414144 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 162 +COORDINATES : 3550 2950 +GRID_I : 11 +GRID_J : 18 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 6000000 +TERRAIN_LEVEL : 3.74680058710631 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 163 +COORDINATES : 3550 3050 +GRID_I : 12 +GRID_J : 18 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 4.33497403414144 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 164 +COORDINATES : 3550 3150 +GRID_I : 13 +GRID_J : 18 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 6.09802404437634 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 165 +COORDINATES : 3550 3250 +GRID_I : 14 +GRID_J : 18 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 9.04667392976053 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 166 +COORDINATES : 3550 3350 +GRID_I : 15 +GRID_J : 18 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 15.2936445871472 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 167 +COORDINATES : 3550 3450 +GRID_I : 16 +GRID_J : 18 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 31.1015476057533 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 168 +COORDINATES : 3650 2550 +GRID_I : 7 +GRID_J : 19 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 14.2425332024679 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 169 +COORDINATES : 3650 2650 +GRID_I : 8 +GRID_J : 19 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 9.30456071859962 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 170 +COORDINATES : 3650 2750 +GRID_I : 9 +GRID_J : 19 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 6.25390643989489 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 171 +COORDINATES : 3650 2850 +GRID_I : 10 +GRID_J : 19 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 4.45256156385127 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 172 +COORDINATES : 3650 2950 +GRID_I : 11 +GRID_J : 19 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 5810000 +TERRAIN_LEVEL : 3.84911846781098 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 173 +COORDINATES : 3650 3050 +GRID_I : 12 +GRID_J : 19 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 4.45256156385127 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 174 +COORDINATES : 3650 3150 +GRID_I : 13 +GRID_J : 19 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 6.25390643989489 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 175 +COORDINATES : 3650 3250 +GRID_I : 14 +GRID_J : 19 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 9.30456071859962 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 176 +COORDINATES : 3650 3350 +GRID_I : 15 +GRID_J : 19 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 14.2425332024679 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 177 +COORDINATES : 3750 2450 +GRID_I : 6 +GRID_J : 20 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 30.2622017799453 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 178 +COORDINATES : 3750 2550 +GRID_I : 7 +GRID_J : 20 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 14.9306686531507 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 179 +COORDINATES : 3750 2650 +GRID_I : 8 +GRID_J : 20 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 9.57764121887742 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 180 +COORDINATES : 3750 2750 +GRID_I : 9 +GRID_J : 20 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 6.39873806282509 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 181 +COORDINATES : 3750 2850 +GRID_I : 10 +GRID_J : 20 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 4.55725879154494 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 182 +COORDINATES : 3750 2950 +GRID_I : 11 +GRID_J : 20 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 5640000 +TERRAIN_LEVEL : 3.94997590609443 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 183 +COORDINATES : 3750 3050 +GRID_I : 12 +GRID_J : 20 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 4.55725879154494 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 184 +COORDINATES : 3750 3150 +GRID_I : 13 +GRID_J : 20 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 6.39873806282509 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 185 +COORDINATES : 3750 3250 +GRID_I : 14 +GRID_J : 20 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 9.57764121887742 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 186 +COORDINATES : 3750 3350 +GRID_I : 15 +GRID_J : 20 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 14.9306686531507 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 187 +COORDINATES : 3750 3450 +GRID_I : 16 +GRID_J : 20 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 30.2622017799453 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 188 +COORDINATES : 3850 2450 +GRID_I : 6 +GRID_J : 21 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 30.5813392730062 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 189 +COORDINATES : 3850 2550 +GRID_I : 7 +GRID_J : 21 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 15.1303956107427 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 190 +COORDINATES : 3850 2650 +GRID_I : 8 +GRID_J : 21 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 9.71964781048216 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 191 +COORDINATES : 3850 2750 +GRID_I : 9 +GRID_J : 21 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 6.50986137625292 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 192 +COORDINATES : 3850 2850 +GRID_I : 10 +GRID_J : 21 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 4.65816168024724 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 193 +COORDINATES : 3850 2950 +GRID_I : 11 +GRID_J : 21 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 5450000 +TERRAIN_LEVEL : 4.04999938530183 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 194 +COORDINATES : 3850 3050 +GRID_I : 12 +GRID_J : 21 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 4.65816168024724 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 195 +COORDINATES : 3850 3150 +GRID_I : 13 +GRID_J : 21 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 6.50986137625292 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 196 +COORDINATES : 3850 3250 +GRID_I : 14 +GRID_J : 21 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 9.71964781048216 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 197 +COORDINATES : 3850 3350 +GRID_I : 15 +GRID_J : 21 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 15.1303956107427 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 198 +COORDINATES : 3850 3450 +GRID_I : 16 +GRID_J : 21 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 30.5813392730062 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 199 +COORDINATES : 3950 2350 +GRID_I : 5 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 55.2000356756941 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 200 +COORDINATES : 3950 2450 +GRID_I : 6 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 32.1635243733931 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 201 +COORDINATES : 3950 2550 +GRID_I : 7 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 14.8714501357476 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 202 +COORDINATES : 3950 2650 +GRID_I : 8 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.76503971544931 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 203 +COORDINATES : 3950 2750 +GRID_I : 9 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.60849140096297 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 204 +COORDINATES : 3950 2850 +GRID_I : 10 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 4.76242908147437 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 205 +COORDINATES : 3950 2950 +GRID_I : 11 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 5260000 +TERRAIN_LEVEL : 4.14999545241125 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 206 +COORDINATES : 3950 3050 +GRID_I : 12 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 4.76242908147437 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 207 +COORDINATES : 3950 3150 +GRID_I : 13 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.60849140096297 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 208 +COORDINATES : 3950 3250 +GRID_I : 14 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.76503971544931 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 209 +COORDINATES : 3950 3350 +GRID_I : 15 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 14.8714501357476 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 210 +COORDINATES : 3950 3450 +GRID_I : 16 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 32.1635243733931 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 211 +COORDINATES : 3950 3550 +GRID_I : 17 +GRID_J : 22 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 55.2000356756941 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 212 +COORDINATES : 4050 2550 +GRID_I : 7 +GRID_J : 23 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 16.5959035423293 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 213 +COORDINATES : 4050 2650 +GRID_I : 8 +GRID_J : 23 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 9.91478236385244 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 214 +COORDINATES : 4050 2750 +GRID_I : 9 +GRID_J : 23 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 6.76246948761186 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 215 +COORDINATES : 4050 2850 +GRID_I : 10 +GRID_J : 23 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 4.87811364661637 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 216 +COORDINATES : 4050 2950 +GRID_I : 11 +GRID_J : 23 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 5050000 +TERRAIN_LEVEL : 4.24999413446834 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 217 +COORDINATES : 4050 3050 +GRID_I : 12 +GRID_J : 23 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 4.87811364661637 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 218 +COORDINATES : 4050 3150 +GRID_I : 13 +GRID_J : 23 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 6.76246948761186 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 219 +COORDINATES : 4050 3250 +GRID_I : 14 +GRID_J : 23 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 9.91478236385244 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 220 +COORDINATES : 4050 3350 +GRID_I : 15 +GRID_J : 23 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 16.5959035423293 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 221 +COORDINATES : 4150 2450 +GRID_I : 6 +GRID_J : 24 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 33.1817519975057 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 222 +COORDINATES : 4150 2550 +GRID_I : 7 +GRID_J : 24 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 15.4515997276558 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 223 +COORDINATES : 4150 2650 +GRID_I : 8 +GRID_J : 24 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 10.1763158444468 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 224 +COORDINATES : 4150 2750 +GRID_I : 9 +GRID_J : 24 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 6.91720769730039 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 225 +COORDINATES : 4150 2850 +GRID_I : 10 +GRID_J : 24 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 4.99380144369467 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 226 +COORDINATES : 4150 2950 +GRID_I : 11 +GRID_J : 24 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 4880000 +TERRAIN_LEVEL : 4.34999862654486 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 227 +COORDINATES : 4150 3050 +GRID_I : 12 +GRID_J : 24 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 4.99380144369467 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 228 +COORDINATES : 4150 3150 +GRID_I : 13 +GRID_J : 24 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 6.91720769730039 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 229 +COORDINATES : 4150 3250 +GRID_I : 14 +GRID_J : 24 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 10.1763158444468 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 230 +COORDINATES : 4150 3350 +GRID_I : 15 +GRID_J : 24 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 15.4515997276558 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 231 +COORDINATES : 4150 3450 +GRID_I : 16 +GRID_J : 24 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 33.1817519975057 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 232 +COORDINATES : 4250 2450 +GRID_I : 6 +GRID_J : 25 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 32.5368029164457 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 233 +COORDINATES : 4250 2550 +GRID_I : 7 +GRID_J : 25 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 16.1715406465346 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 234 +COORDINATES : 4250 2650 +GRID_I : 8 +GRID_J : 25 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 10.4570439101096 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 235 +COORDINATES : 4250 2750 +GRID_I : 9 +GRID_J : 25 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.06358973884556 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 236 +COORDINATES : 4250 2850 +GRID_I : 10 +GRID_J : 25 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.09807854738031 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 237 +COORDINATES : 4250 2950 +GRID_I : 11 +GRID_J : 25 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 4690000 +TERRAIN_LEVEL : 4.44999996674136 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 238 +COORDINATES : 4250 3050 +GRID_I : 12 +GRID_J : 25 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.09807854738031 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 239 +COORDINATES : 4250 3150 +GRID_I : 13 +GRID_J : 25 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.06358973884556 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 240 +COORDINATES : 4250 3250 +GRID_I : 14 +GRID_J : 25 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 10.4570439101096 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 241 +COORDINATES : 4250 3350 +GRID_I : 15 +GRID_J : 25 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 16.1715406465346 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 242 +COORDINATES : 4250 3450 +GRID_I : 16 +GRID_J : 25 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 32.5368029164457 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 243 +COORDINATES : 4350 2450 +GRID_I : 6 +GRID_J : 26 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 32.8559359506418 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 244 +COORDINATES : 4350 2550 +GRID_I : 7 +GRID_J : 26 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 16.3712602098931 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 245 +COORDINATES : 4350 2650 +GRID_I : 8 +GRID_J : 26 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 10.5990467852917 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 246 +COORDINATES : 4350 2750 +GRID_I : 9 +GRID_J : 26 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.17471141179313 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 247 +COORDINATES : 4350 2850 +GRID_I : 10 +GRID_J : 26 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.19898080214832 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 248 +COORDINATES : 4350 2950 +GRID_I : 11 +GRID_J : 26 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 4500000 +TERRAIN_LEVEL : 4.55 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 249 +COORDINATES : 4350 3050 +GRID_I : 12 +GRID_J : 26 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.19898080214832 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 250 +COORDINATES : 4350 3150 +GRID_I : 13 +GRID_J : 26 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.17471141179313 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 251 +COORDINATES : 4350 3250 +GRID_I : 14 +GRID_J : 26 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 10.5990467852917 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 252 +COORDINATES : 4350 3350 +GRID_I : 15 +GRID_J : 26 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 16.3712602098931 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 253 +COORDINATES : 4350 3450 +GRID_I : 16 +GRID_J : 26 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 32.8559359506418 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 254 +COORDINATES : 4450 2450 +GRID_I : 6 +GRID_J : 27 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 34.5104828114368 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 255 +COORDINATES : 4450 2550 +GRID_I : 7 +GRID_J : 27 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 16.0805022973745 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 256 +COORDINATES : 4450 2650 +GRID_I : 8 +GRID_J : 27 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 10.6367847261801 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 257 +COORDINATES : 4450 2750 +GRID_I : 9 +GRID_J : 27 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.27178639955143 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 258 +COORDINATES : 4450 2850 +GRID_I : 10 +GRID_J : 27 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.30325005714378 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 259 +COORDINATES : 4450 2950 +GRID_I : 11 +GRID_J : 27 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 4310000 +TERRAIN_LEVEL : 4.65 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 260 +COORDINATES : 4450 3050 +GRID_I : 12 +GRID_J : 27 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.30325005714378 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 261 +COORDINATES : 4450 3150 +GRID_I : 13 +GRID_J : 27 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.27178639955143 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 262 +COORDINATES : 4450 3250 +GRID_I : 14 +GRID_J : 27 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 10.6367847261801 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 263 +COORDINATES : 4450 3350 +GRID_I : 15 +GRID_J : 27 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 16.0805022973745 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 264 +COORDINATES : 4450 3450 +GRID_I : 16 +GRID_J : 27 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 34.5104828114368 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 265 +COORDINATES : 4550 2450 +GRID_I : 6 +GRID_J : 28 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 35.9032971106976 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 266 +COORDINATES : 4550 2550 +GRID_I : 7 +GRID_J : 28 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 17.8981644223363 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 267 +COORDINATES : 4550 2650 +GRID_I : 8 +GRID_J : 28 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 10.7828909651136 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 268 +COORDINATES : 4550 2750 +GRID_I : 9 +GRID_J : 28 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.42573696145125 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 269 +COORDINATES : 4550 2850 +GRID_I : 10 +GRID_J : 28 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.41893424036281 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 270 +COORDINATES : 4550 2950 +GRID_I : 11 +GRID_J : 28 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 4120000 +TERRAIN_LEVEL : 4.75 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 271 +COORDINATES : 4550 3050 +GRID_I : 12 +GRID_J : 28 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.41893424036281 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 272 +COORDINATES : 4550 3150 +GRID_I : 13 +GRID_J : 28 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.42573696145125 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 273 +COORDINATES : 4550 3250 +GRID_I : 14 +GRID_J : 28 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 10.7828909651136 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 274 +COORDINATES : 4550 3350 +GRID_I : 15 +GRID_J : 28 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 17.8981644223363 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 275 +COORDINATES : 4550 3450 +GRID_I : 16 +GRID_J : 28 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 35.9032971106976 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 276 +COORDINATES : 4650 2450 +GRID_I : 6 +GRID_J : 29 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 35.5287104355493 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 277 +COORDINATES : 4650 2550 +GRID_I : 7 +GRID_J : 29 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 16.6606518892827 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 278 +COORDINATES : 4650 2650 +GRID_I : 8 +GRID_J : 29 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 11.0480567714945 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 279 +COORDINATES : 4650 2750 +GRID_I : 9 +GRID_J : 29 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.58049772132719 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 280 +COORDINATES : 4650 2850 +GRID_I : 10 +GRID_J : 29 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.53461842358184 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 281 +COORDINATES : 4650 2950 +GRID_I : 11 +GRID_J : 29 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 3930000 +TERRAIN_LEVEL : 4.85 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 282 +COORDINATES : 4650 3050 +GRID_I : 12 +GRID_J : 29 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.53461842358184 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 283 +COORDINATES : 4650 3150 +GRID_I : 13 +GRID_J : 29 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.58049772132719 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 284 +COORDINATES : 4650 3250 +GRID_I : 14 +GRID_J : 29 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 11.0480567714945 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 285 +COORDINATES : 4650 3350 +GRID_I : 15 +GRID_J : 29 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 16.6606518892827 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 286 +COORDINATES : 4650 3450 +GRID_I : 16 +GRID_J : 29 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 35.5287104355493 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 287 +COORDINATES : 4750 2450 +GRID_I : 6 +GRID_J : 30 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 34.8113995940813 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 288 +COORDINATES : 4750 2550 +GRID_I : 7 +GRID_J : 30 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 17.4123980161425 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 289 +COORDINATES : 4750 2650 +GRID_I : 8 +GRID_J : 30 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 11.3364313795453 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 290 +COORDINATES : 4750 2750 +GRID_I : 9 +GRID_J : 30 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.72843138344608 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 291 +COORDINATES : 4750 2850 +GRID_I : 10 +GRID_J : 30 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.63889510033751 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 292 +COORDINATES : 4750 2950 +GRID_I : 11 +GRID_J : 30 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 3740000 +TERRAIN_LEVEL : 4.95 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 293 +COORDINATES : 4750 3050 +GRID_I : 12 +GRID_J : 30 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.63889510033751 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 294 +COORDINATES : 4750 3150 +GRID_I : 13 +GRID_J : 30 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.72843138344608 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 295 +COORDINATES : 4750 3250 +GRID_I : 14 +GRID_J : 30 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 11.3364313795453 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 296 +COORDINATES : 4750 3350 +GRID_I : 15 +GRID_J : 30 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 17.4123980161425 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 297 +COORDINATES : 4750 3450 +GRID_I : 16 +GRID_J : 30 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 34.8113995940813 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 298 +COORDINATES : 4850 2450 +GRID_I : 6 +GRID_J : 31 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 35.1305326282774 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 299 +COORDINATES : 4850 2550 +GRID_I : 7 +GRID_J : 31 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 17.6121175795009 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 300 +COORDINATES : 4850 2650 +GRID_I : 8 +GRID_J : 31 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 11.4784342547274 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 301 +COORDINATES : 4850 2750 +GRID_I : 9 +GRID_J : 31 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.83955305639364 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 302 +COORDINATES : 4850 2850 +GRID_I : 10 +GRID_J : 31 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.73979735510551 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 303 +COORDINATES : 4850 2950 +GRID_I : 11 +GRID_J : 31 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 3550000 +TERRAIN_LEVEL : 5.05 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 304 +COORDINATES : 4850 3050 +GRID_I : 12 +GRID_J : 31 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.73979735510551 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 305 +COORDINATES : 4850 3150 +GRID_I : 13 +GRID_J : 31 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.83955305639364 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 306 +COORDINATES : 4850 3250 +GRID_I : 14 +GRID_J : 31 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 11.4784342547274 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 307 +COORDINATES : 4850 3350 +GRID_I : 15 +GRID_J : 31 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 17.6121175795009 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 308 +COORDINATES : 4850 3450 +GRID_I : 16 +GRID_J : 31 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 35.1305326282774 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 309 +COORDINATES : 4950 2450 +GRID_I : 6 +GRID_J : 32 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 36.8574412494804 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 310 +COORDINATES : 4950 2550 +GRID_I : 7 +GRID_J : 32 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 17.2895544590013 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 311 +COORDINATES : 4950 2650 +GRID_I : 8 +GRID_J : 32 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 11.5085256532278 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 312 +COORDINATES : 4950 2750 +GRID_I : 9 +GRID_J : 32 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.93507642357823 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 313 +COORDINATES : 4950 2850 +GRID_I : 10 +GRID_J : 32 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.8440663836744 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 314 +COORDINATES : 4950 2950 +GRID_I : 11 +GRID_J : 32 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 3360000 +TERRAIN_LEVEL : 5.15 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 315 +COORDINATES : 4950 3050 +GRID_I : 12 +GRID_J : 32 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.8440663836744 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 316 +COORDINATES : 4950 3150 +GRID_I : 13 +GRID_J : 32 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.93507642357823 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 317 +COORDINATES : 4950 3250 +GRID_I : 14 +GRID_J : 32 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 11.5085256532278 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 318 +COORDINATES : 4950 3350 +GRID_I : 15 +GRID_J : 32 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 17.2895544590013 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 319 +COORDINATES : 4950 3450 +GRID_I : 16 +GRID_J : 32 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 36.8574412494804 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 320 +COORDINATES : 5050 2450 +GRID_I : 6 +GRID_J : 33 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 38.3041762564351 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 321 +COORDINATES : 5050 2550 +GRID_I : 7 +GRID_J : 33 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 19.2004253023432 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 322 +COORDINATES : 5050 2650 +GRID_I : 8 +GRID_J : 33 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 11.6509995663748 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 323 +COORDINATES : 5050 2750 +GRID_I : 9 +GRID_J : 33 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.08900226757369 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 324 +COORDINATES : 5050 2850 +GRID_I : 10 +GRID_J : 33 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.95975056689342 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 325 +COORDINATES : 5050 2950 +GRID_I : 11 +GRID_J : 33 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 3170000 +TERRAIN_LEVEL : 5.25 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 326 +COORDINATES : 5050 3050 +GRID_I : 12 +GRID_J : 33 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 5.95975056689342 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 327 +COORDINATES : 5050 3150 +GRID_I : 13 +GRID_J : 33 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.08900226757369 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 328 +COORDINATES : 5050 3250 +GRID_I : 14 +GRID_J : 33 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 11.6509995663748 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 329 +COORDINATES : 5050 3350 +GRID_I : 15 +GRID_J : 33 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 19.2004253023433 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 330 +COORDINATES : 5050 3450 +GRID_I : 16 +GRID_J : 33 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 38.3041762564351 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 331 +COORDINATES : 5150 2450 +GRID_I : 6 +GRID_J : 34 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 37.8756688735929 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 332 +COORDINATES : 5150 2550 +GRID_I : 7 +GRID_J : 34 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 17.8697040509095 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 333 +COORDINATES : 5150 2650 +GRID_I : 8 +GRID_J : 34 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 11.9197976985422 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 334 +COORDINATES : 5150 2750 +GRID_I : 9 +GRID_J : 34 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.243787745354 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 335 +COORDINATES : 5150 2850 +GRID_I : 10 +GRID_J : 34 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.07543475011245 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 336 +COORDINATES : 5150 2950 +GRID_I : 11 +GRID_J : 34 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 2980000 +TERRAIN_LEVEL : 5.35 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 337 +COORDINATES : 5150 3050 +GRID_I : 12 +GRID_J : 34 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.07543475011245 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 338 +COORDINATES : 5150 3150 +GRID_I : 13 +GRID_J : 34 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.243787745354 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 339 +COORDINATES : 5150 3250 +GRID_I : 14 +GRID_J : 34 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 11.9197976985422 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 340 +COORDINATES : 5150 3350 +GRID_I : 15 +GRID_J : 34 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 17.8697040509095 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 341 +COORDINATES : 5150 3450 +GRID_I : 16 +GRID_J : 34 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 37.8756688735929 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 342 +COORDINATES : 5250 2450 +GRID_I : 6 +GRID_J : 35 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 37.0859962717169 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 343 +COORDINATES : 5250 2550 +GRID_I : 7 +GRID_J : 35 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 18.6532553857503 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 344 +COORDINATES : 5250 2650 +GRID_I : 8 +GRID_J : 35 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 12.215818848981 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 345 +COORDINATES : 5250 2750 +GRID_I : 9 +GRID_J : 35 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.3932730280466 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 346 +COORDINATES : 5250 2850 +GRID_I : 10 +GRID_J : 35 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.1797116532947 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 347 +COORDINATES : 5250 2950 +GRID_I : 11 +GRID_J : 35 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 2790000 +TERRAIN_LEVEL : 5.45 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 348 +COORDINATES : 5250 3050 +GRID_I : 12 +GRID_J : 35 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.1797116532947 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 349 +COORDINATES : 5250 3150 +GRID_I : 13 +GRID_J : 35 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.3932730280466 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 350 +COORDINATES : 5250 3250 +GRID_I : 14 +GRID_J : 35 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 12.215818848981 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 351 +COORDINATES : 5250 3350 +GRID_I : 15 +GRID_J : 35 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 18.6532553857503 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 352 +COORDINATES : 5250 3450 +GRID_I : 16 +GRID_J : 35 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 37.0859962717169 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 353 +COORDINATES : 5350 2450 +GRID_I : 6 +GRID_J : 36 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 37.4051293059131 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 354 +COORDINATES : 5350 2550 +GRID_I : 7 +GRID_J : 36 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 18.8529749491088 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 355 +COORDINATES : 5350 2650 +GRID_I : 8 +GRID_J : 36 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 12.3578217241631 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 356 +COORDINATES : 5350 2750 +GRID_I : 9 +GRID_J : 36 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.50439470099416 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 357 +COORDINATES : 5350 2850 +GRID_I : 10 +GRID_J : 36 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.28061390806271 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 358 +COORDINATES : 5350 2950 +GRID_I : 11 +GRID_J : 36 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 2600000 +TERRAIN_LEVEL : 5.54999987000494 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 359 +COORDINATES : 5350 3050 +GRID_I : 12 +GRID_J : 36 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.28061390806271 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 360 +COORDINATES : 5350 3150 +GRID_I : 13 +GRID_J : 36 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.50439470099416 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 361 +COORDINATES : 5350 3250 +GRID_I : 14 +GRID_J : 36 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 12.3578217241631 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 362 +COORDINATES : 5350 3350 +GRID_I : 15 +GRID_J : 36 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 18.8529749491088 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 363 +COORDINATES : 5350 3450 +GRID_I : 16 +GRID_J : 36 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 37.4051293059131 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 364 +COORDINATES : 5450 2450 +GRID_I : 6 +GRID_J : 37 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 39.204399687524 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 365 +COORDINATES : 5450 2550 +GRID_I : 7 +GRID_J : 37 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 18.4986066206281 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 366 +COORDINATES : 5450 2650 +GRID_I : 8 +GRID_J : 37 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 12.3802665802755 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 367 +COORDINATES : 5450 2750 +GRID_I : 9 +GRID_J : 37 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.59836644760504 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 368 +COORDINATES : 5450 2850 +GRID_I : 10 +GRID_J : 37 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.38487972284376 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 369 +COORDINATES : 5450 2950 +GRID_I : 11 +GRID_J : 37 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 2410000 +TERRAIN_LEVEL : 5.64999372022042 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 370 +COORDINATES : 5450 3050 +GRID_I : 12 +GRID_J : 37 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.38487972284376 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 371 +COORDINATES : 5450 3150 +GRID_I : 13 +GRID_J : 37 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.59836644760504 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 372 +COORDINATES : 5450 3250 +GRID_I : 14 +GRID_J : 37 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 12.3802665802755 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 373 +COORDINATES : 5450 3350 +GRID_I : 15 +GRID_J : 37 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 18.4986066206281 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 374 +COORDINATES : 5450 3450 +GRID_I : 16 +GRID_J : 37 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 39.204399687524 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 375 +COORDINATES : 5550 2450 +GRID_I : 6 +GRID_J : 38 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 40.7050554021725 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 376 +COORDINATES : 5550 2550 +GRID_I : 7 +GRID_J : 38 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 20.5026861823502 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 377 +COORDINATES : 5550 2650 +GRID_I : 8 +GRID_J : 38 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 12.5191081676359 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 378 +COORDINATES : 5550 2750 +GRID_I : 9 +GRID_J : 38 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.75225564660888 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 379 +COORDINATES : 5550 2850 +GRID_I : 10 +GRID_J : 38 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.50054341598228 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 380 +COORDINATES : 5550 2950 +GRID_I : 11 +GRID_J : 38 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 2220000 +TERRAIN_LEVEL : 5.74996772955223 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 381 +COORDINATES : 5550 3050 +GRID_I : 12 +GRID_J : 38 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.50054341598228 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 382 +COORDINATES : 5550 3150 +GRID_I : 13 +GRID_J : 38 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.75225564660888 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 383 +COORDINATES : 5550 3250 +GRID_I : 14 +GRID_J : 38 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 12.5191081676359 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 384 +COORDINATES : 5550 3350 +GRID_I : 15 +GRID_J : 38 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 20.5026861823502 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 385 +COORDINATES : 5550 3450 +GRID_I : 16 +GRID_J : 38 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 40.7050554021725 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 386 +COORDINATES : 5650 2450 +GRID_I : 6 +GRID_J : 39 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 40.2226273116366 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 387 +COORDINATES : 5650 2550 +GRID_I : 7 +GRID_J : 39 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 19.0787562125363 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 388 +COORDINATES : 5650 2650 +GRID_I : 8 +GRID_J : 39 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 12.7915104559304 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 389 +COORDINATES : 5650 2750 +GRID_I : 9 +GRID_J : 39 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.90704345823986 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 390 +COORDINATES : 5650 2850 +GRID_I : 10 +GRID_J : 39 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.61621901222821 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 391 +COORDINATES : 5650 2950 +GRID_I : 11 +GRID_J : 39 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 2030000 +TERRAIN_LEVEL : 5.84996863667166 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 392 +COORDINATES : 5650 3050 +GRID_I : 12 +GRID_J : 39 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.61621901222821 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 393 +COORDINATES : 5650 3150 +GRID_I : 13 +GRID_J : 39 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 8.90704345823986 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 394 +COORDINATES : 5650 3250 +GRID_I : 14 +GRID_J : 39 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 12.7915104559304 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 395 +COORDINATES : 5650 3350 +GRID_I : 15 +GRID_J : 39 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 19.0787562125363 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 396 +COORDINATES : 5650 3450 +GRID_I : 16 +GRID_J : 39 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 40.2226273116366 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 397 +COORDINATES : 5750 2450 +GRID_I : 6 +GRID_J : 40 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 39.3605929493525 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 398 +COORDINATES : 5750 2550 +GRID_I : 7 +GRID_J : 40 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 19.8940460430274 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 399 +COORDINATES : 5750 2650 +GRID_I : 8 +GRID_J : 40 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.0951001696857 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 400 +COORDINATES : 5750 2750 +GRID_I : 9 +GRID_J : 40 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.05803726806916 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 401 +COORDINATES : 5750 2850 +GRID_I : 10 +GRID_J : 40 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.72050451020801 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 402 +COORDINATES : 5750 2950 +GRID_I : 11 +GRID_J : 40 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 1840000 +TERRAIN_LEVEL : 5.94999433015035 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 403 +COORDINATES : 5750 3050 +GRID_I : 12 +GRID_J : 40 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.72050451020801 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 404 +COORDINATES : 5750 3150 +GRID_I : 13 +GRID_J : 40 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.05803726806916 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 405 +COORDINATES : 5750 3250 +GRID_I : 14 +GRID_J : 40 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.0951001696857 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 406 +COORDINATES : 5750 3350 +GRID_I : 15 +GRID_J : 40 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 19.8940460430274 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 407 +COORDINATES : 5750 3450 +GRID_I : 16 +GRID_J : 40 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 39.3605929493525 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 408 +COORDINATES : 5850 2450 +GRID_I : 6 +GRID_J : 41 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 39.6796570317375 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 409 +COORDINATES : 5850 2550 +GRID_I : 7 +GRID_J : 41 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 20.0936291473613 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 410 +COORDINATES : 5850 2650 +GRID_I : 8 +GRID_J : 41 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.2369977620251 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 411 +COORDINATES : 5850 2750 +GRID_I : 9 +GRID_J : 41 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.16909703132525 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 412 +COORDINATES : 5850 2850 +GRID_I : 10 +GRID_J : 41 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.82138598446303 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 413 +COORDINATES : 5850 2950 +GRID_I : 11 +GRID_J : 41 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 1650000 +TERRAIN_LEVEL : 6.04998649151906 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 414 +COORDINATES : 5850 3050 +GRID_I : 12 +GRID_J : 41 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.82138598446303 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 415 +COORDINATES : 5850 3150 +GRID_I : 13 +GRID_J : 41 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.16909703132525 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 416 +COORDINATES : 5850 3250 +GRID_I : 14 +GRID_J : 41 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.2369977620251 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 417 +COORDINATES : 5850 3350 +GRID_I : 15 +GRID_J : 41 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 20.0936291473613 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 418 +COORDINATES : 5850 3450 +GRID_I : 16 +GRID_J : 41 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 39.6796570317375 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 419 +COORDINATES : 5950 2450 +GRID_I : 6 +GRID_J : 42 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 41.5510610275501 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 420 +COORDINATES : 5950 2550 +GRID_I : 7 +GRID_J : 42 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 19.7072543376751 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 421 +COORDINATES : 5950 2650 +GRID_I : 8 +GRID_J : 42 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.2516106896468 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 422 +COORDINATES : 5950 2750 +GRID_I : 9 +GRID_J : 42 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.26134259494426 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 423 +COORDINATES : 5950 2850 +GRID_I : 10 +GRID_J : 42 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.92540537187757 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 424 +COORDINATES : 5950 2950 +GRID_I : 11 +GRID_J : 42 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 1460000 +TERRAIN_LEVEL : 6.14968505751341 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 425 +COORDINATES : 5950 3050 +GRID_I : 12 +GRID_J : 42 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 6.92540537187757 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 426 +COORDINATES : 5950 3150 +GRID_I : 13 +GRID_J : 42 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.26134259494426 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 427 +COORDINATES : 5950 3250 +GRID_I : 14 +GRID_J : 42 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.2516106896468 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 428 +COORDINATES : 5950 3350 +GRID_I : 15 +GRID_J : 42 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 19.7072543376751 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 429 +COORDINATES : 5950 3450 +GRID_I : 16 +GRID_J : 42 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 41.5510610275501 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 430 +COORDINATES : 6050 2450 +GRID_I : 6 +GRID_J : 43 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 43.1055495921361 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 431 +COORDINATES : 6050 2550 +GRID_I : 7 +GRID_J : 43 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 21.8043585248911 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 432 +COORDINATES : 6050 2650 +GRID_I : 8 +GRID_J : 43 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.3865842521944 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 433 +COORDINATES : 6050 2750 +GRID_I : 9 +GRID_J : 43 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.41455087376623 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 434 +COORDINATES : 6050 2850 +GRID_I : 10 +GRID_J : 43 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 7.04027838242983 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 435 +COORDINATES : 6050 2950 +GRID_I : 11 +GRID_J : 43 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 1270000 +TERRAIN_LEVEL : 6.24881700275738 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 436 +COORDINATES : 6050 3050 +GRID_I : 12 +GRID_J : 43 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 7.04027838242983 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 437 +COORDINATES : 6050 3150 +GRID_I : 13 +GRID_J : 43 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.41455087376623 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 438 +COORDINATES : 6050 3250 +GRID_I : 14 +GRID_J : 43 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.3865842521944 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 439 +COORDINATES : 6050 3350 +GRID_I : 15 +GRID_J : 43 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 21.8043585248911 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 440 +COORDINATES : 6050 3450 +GRID_I : 16 +GRID_J : 43 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 43.1055495921361 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 441 +COORDINATES : 6150 2450 +GRID_I : 6 +GRID_J : 44 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 42.5692320311951 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 442 +COORDINATES : 6150 2550 +GRID_I : 7 +GRID_J : 44 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 20.2872408295661 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 443 +COORDINATES : 6150 2650 +GRID_I : 8 +GRID_J : 44 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.6614485824347 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 444 +COORDINATES : 6150 2750 +GRID_I : 9 +GRID_J : 44 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.56883262121548 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 445 +COORDINATES : 6150 2850 +GRID_I : 10 +GRID_J : 44 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 7.15589043681182 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 446 +COORDINATES : 6150 2950 +GRID_I : 11 +GRID_J : 44 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 1080000 +TERRAIN_LEVEL : 6.34892650635979 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 447 +COORDINATES : 6150 3050 +GRID_I : 12 +GRID_J : 44 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 7.15589043681182 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 448 +COORDINATES : 6150 3150 +GRID_I : 13 +GRID_J : 44 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.56883262121548 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 449 +COORDINATES : 6150 3250 +GRID_I : 14 +GRID_J : 44 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.6614485824347 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 450 +COORDINATES : 6150 3350 +GRID_I : 15 +GRID_J : 44 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 20.2872408295661 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 451 +COORDINATES : 6150 3450 +GRID_I : 16 +GRID_J : 44 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 42.5692320311951 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 452 +COORDINATES : 6250 2450 +GRID_I : 6 +GRID_J : 45 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 41.635027370114 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 453 +COORDINATES : 6250 2550 +GRID_I : 7 +GRID_J : 45 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 21.1297964869718 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 454 +COORDINATES : 6250 2650 +GRID_I : 8 +GRID_J : 45 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.9695677301109 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 455 +COORDINATES : 6250 2750 +GRID_I : 9 +GRID_J : 45 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.72082592509442 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 456 +COORDINATES : 6250 2850 +GRID_I : 10 +GRID_J : 45 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 7.26081134504222 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 457 +COORDINATES : 6250 2950 +GRID_I : 11 +GRID_J : 45 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 890000 +TERRAIN_LEVEL : 6.44970235349672 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 458 +COORDINATES : 6250 3050 +GRID_I : 12 +GRID_J : 45 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 7.26081134504222 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 459 +COORDINATES : 6250 3150 +GRID_I : 13 +GRID_J : 45 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 9.72082592509442 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 460 +COORDINATES : 6250 3250 +GRID_I : 14 +GRID_J : 45 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 13.9695677301109 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 461 +COORDINATES : 6250 3350 +GRID_I : 15 +GRID_J : 45 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 21.1297964869718 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 462 +COORDINATES : 6250 3450 +GRID_I : 16 +GRID_J : 45 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 41.635027370114 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 463 +COORDINATES : 6350 2750 +GRID_I : 9 +GRID_J : 46 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 9.83103930150884 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 464 +COORDINATES : 6350 2850 +GRID_I : 10 +GRID_J : 46 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 7.36443354746198 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 465 +COORDINATES : 6350 2950 +GRID_I : 11 +GRID_J : 46 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 700000 +TERRAIN_LEVEL : 6.55022081324363 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 466 +COORDINATES : 6350 3050 +GRID_I : 12 +GRID_J : 46 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 7.36443354746199 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 467 +COORDINATES : 6350 3150 +GRID_I : 13 +GRID_J : 46 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 9.83103930150884 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 468 +COORDINATES : 6450 2650 +GRID_I : 8 +GRID_J : 47 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 14.1017334889866 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 469 +COORDINATES : 6450 2750 +GRID_I : 9 +GRID_J : 47 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 9.93070718500234 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 470 +COORDINATES : 6450 2850 +GRID_I : 10 +GRID_J : 47 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 7.46779820678883 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 471 +COORDINATES : 6450 2950 +GRID_I : 11 +GRID_J : 47 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 570000 +TERRAIN_LEVEL : 6.65093658541701 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 472 +COORDINATES : 6450 3050 +GRID_I : 12 +GRID_J : 47 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 7.46779820678883 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 473 +COORDINATES : 6450 3150 +GRID_I : 13 +GRID_J : 47 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 9.93070718500234 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 474 +COORDINATES : 6450 3250 +GRID_I : 14 +GRID_J : 47 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 14.1017334889866 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 475 +COORDINATES : 6550 2550 +GRID_I : 7 +GRID_J : 48 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 21.4677988038519 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 476 +COORDINATES : 6550 2650 +GRID_I : 8 +GRID_J : 48 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 14.2002872215518 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 477 +COORDINATES : 6550 2750 +GRID_I : 9 +GRID_J : 48 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 10.0596379108404 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 478 +COORDINATES : 6550 2850 +GRID_I : 10 +GRID_J : 48 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.58058318985555 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 479 +COORDINATES : 6550 2950 +GRID_I : 11 +GRID_J : 48 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 420000 +TERRAIN_LEVEL : 6.75445577659309 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 480 +COORDINATES : 6550 3050 +GRID_I : 12 +GRID_J : 48 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 7.58058318985555 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 481 +COORDINATES : 6550 3150 +GRID_I : 13 +GRID_J : 48 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 10.0596379108404 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 482 +COORDINATES : 6550 3250 +GRID_I : 14 +GRID_J : 48 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 60000 +TERRAIN_LEVEL : 14.2002872215518 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 483 +COORDINATES : 6550 3350 +GRID_I : 15 +GRID_J : 48 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 50000 +TERRAIN_LEVEL : 21.4677988038519 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 484 +COORDINATES : 6650 2350 +GRID_I : 5 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 47.4695085871265 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 485 +COORDINATES : 6650 2450 +GRID_I : 6 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 33.7183269089733 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 486 +COORDINATES : 6650 2550 +GRID_I : 7 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 21.5739589259492 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 487 +COORDINATES : 6650 2650 +GRID_I : 8 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 14.438642568404 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 488 +COORDINATES : 6650 2750 +GRID_I : 9 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 110000 +TERRAIN_LEVEL : 10.19950662154 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 489 +COORDINATES : 6650 2850 +GRID_I : 10 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 120000 +TERRAIN_LEVEL : 7.69455708007415 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 490 +COORDINATES : 6650 2950 +GRID_I : 11 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 250000 +TERRAIN_LEVEL : 6.85750750061697 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 491 +COORDINATES : 6650 3050 +GRID_I : 12 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 120000 +TERRAIN_LEVEL : 7.69455708007415 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 492 +COORDINATES : 6650 3150 +GRID_I : 13 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 110000 +TERRAIN_LEVEL : 10.19950662154 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 493 +COORDINATES : 6650 3250 +GRID_I : 14 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 100000 +TERRAIN_LEVEL : 14.438642568404 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 494 +COORDINATES : 6650 3350 +GRID_I : 15 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 90000 +TERRAIN_LEVEL : 21.5739589259492 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 495 +COORDINATES : 6650 3450 +GRID_I : 16 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 80000 +TERRAIN_LEVEL : 33.7183269089733 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 496 +COORDINATES : 6650 3550 +GRID_I : 17 +GRID_J : 49 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 70000 +TERRAIN_LEVEL : 47.4695085871265 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 497 +COORDINATES : 1850 2950 +GRID_I : 11 +GRID_J : 1 +CROSS_SECTION_TYPE : 1 +CROSS_SECTION_ORIGIN : 0 +DRAINED_AREA : 8950000 +TERRAIN_LEVEL : 1 +BOTTOM_LEVEL : -5 +BOTTOM_WIDTH : 1 +TOP_WIDTH : 1 +HEIGHT : 5 + + +ID : 1 +UPSTREAM_NODE : 1 +DOWNSTREAM_NODE : 497 +ACTIVE : 1 + + +ID : 2 +UPSTREAM_NODE : 2 +DOWNSTREAM_NODE : 3 +ACTIVE : 1 + + +ID : 3 +UPSTREAM_NODE : 3 +DOWNSTREAM_NODE : 4 +ACTIVE : 1 + + +ID : 4 +UPSTREAM_NODE : 4 +DOWNSTREAM_NODE : 5 +ACTIVE : 1 + + +ID : 5 +UPSTREAM_NODE : 5 +DOWNSTREAM_NODE : 6 +ACTIVE : 1 + + +ID : 6 +UPSTREAM_NODE : 6 +DOWNSTREAM_NODE : 7 +ACTIVE : 1 + + +ID : 7 +UPSTREAM_NODE : 7 +DOWNSTREAM_NODE : 1 +ACTIVE : 1 + + +ID : 8 +UPSTREAM_NODE : 8 +DOWNSTREAM_NODE : 7 +ACTIVE : 1 + + +ID : 9 +UPSTREAM_NODE : 9 +DOWNSTREAM_NODE : 8 +ACTIVE : 1 + + +ID : 10 +UPSTREAM_NODE : 10 +DOWNSTREAM_NODE : 9 +ACTIVE : 1 + + +ID : 11 +UPSTREAM_NODE : 11 +DOWNSTREAM_NODE : 10 +ACTIVE : 1 + + +ID : 12 +UPSTREAM_NODE : 12 +DOWNSTREAM_NODE : 11 +ACTIVE : 1 + + +ID : 13 +UPSTREAM_NODE : 13 +DOWNSTREAM_NODE : 14 +ACTIVE : 1 + + +ID : 14 +UPSTREAM_NODE : 14 +DOWNSTREAM_NODE : 15 +ACTIVE : 1 + + +ID : 15 +UPSTREAM_NODE : 15 +DOWNSTREAM_NODE : 16 +ACTIVE : 1 + + +ID : 16 +UPSTREAM_NODE : 16 +DOWNSTREAM_NODE : 17 +ACTIVE : 1 + + +ID : 17 +UPSTREAM_NODE : 17 +DOWNSTREAM_NODE : 18 +ACTIVE : 1 + + +ID : 18 +UPSTREAM_NODE : 18 +DOWNSTREAM_NODE : 7 +ACTIVE : 1 + + +ID : 19 +UPSTREAM_NODE : 19 +DOWNSTREAM_NODE : 18 +ACTIVE : 1 + + +ID : 20 +UPSTREAM_NODE : 20 +DOWNSTREAM_NODE : 19 +ACTIVE : 1 + + +ID : 21 +UPSTREAM_NODE : 21 +DOWNSTREAM_NODE : 20 +ACTIVE : 1 + + +ID : 22 +UPSTREAM_NODE : 22 +DOWNSTREAM_NODE : 21 +ACTIVE : 1 + + +ID : 23 +UPSTREAM_NODE : 23 +DOWNSTREAM_NODE : 22 +ACTIVE : 1 + + +ID : 24 +UPSTREAM_NODE : 24 +DOWNSTREAM_NODE : 25 +ACTIVE : 1 + + +ID : 25 +UPSTREAM_NODE : 25 +DOWNSTREAM_NODE : 26 +ACTIVE : 1 + + +ID : 26 +UPSTREAM_NODE : 26 +DOWNSTREAM_NODE : 18 +ACTIVE : 1 + + +ID : 27 +UPSTREAM_NODE : 27 +DOWNSTREAM_NODE : 26 +ACTIVE : 1 + + +ID : 28 +UPSTREAM_NODE : 28 +DOWNSTREAM_NODE : 27 +ACTIVE : 1 + + +ID : 29 +UPSTREAM_NODE : 29 +DOWNSTREAM_NODE : 30 +ACTIVE : 1 + + +ID : 30 +UPSTREAM_NODE : 30 +DOWNSTREAM_NODE : 31 +ACTIVE : 1 + + +ID : 31 +UPSTREAM_NODE : 31 +DOWNSTREAM_NODE : 32 +ACTIVE : 1 + + +ID : 32 +UPSTREAM_NODE : 32 +DOWNSTREAM_NODE : 33 +ACTIVE : 1 + + +ID : 33 +UPSTREAM_NODE : 33 +DOWNSTREAM_NODE : 34 +ACTIVE : 1 + + +ID : 34 +UPSTREAM_NODE : 34 +DOWNSTREAM_NODE : 26 +ACTIVE : 1 + + +ID : 35 +UPSTREAM_NODE : 35 +DOWNSTREAM_NODE : 34 +ACTIVE : 1 + + +ID : 36 +UPSTREAM_NODE : 36 +DOWNSTREAM_NODE : 35 +ACTIVE : 1 + + +ID : 37 +UPSTREAM_NODE : 37 +DOWNSTREAM_NODE : 36 +ACTIVE : 1 + + +ID : 38 +UPSTREAM_NODE : 38 +DOWNSTREAM_NODE : 37 +ACTIVE : 1 + + +ID : 39 +UPSTREAM_NODE : 39 +DOWNSTREAM_NODE : 38 +ACTIVE : 1 + + +ID : 40 +UPSTREAM_NODE : 40 +DOWNSTREAM_NODE : 41 +ACTIVE : 1 + + +ID : 41 +UPSTREAM_NODE : 41 +DOWNSTREAM_NODE : 42 +ACTIVE : 1 + + +ID : 42 +UPSTREAM_NODE : 42 +DOWNSTREAM_NODE : 34 +ACTIVE : 1 + + +ID : 43 +UPSTREAM_NODE : 43 +DOWNSTREAM_NODE : 34 +ACTIVE : 1 + + +ID : 44 +UPSTREAM_NODE : 44 +DOWNSTREAM_NODE : 34 +ACTIVE : 1 + + +ID : 45 +UPSTREAM_NODE : 45 +DOWNSTREAM_NODE : 44 +ACTIVE : 1 + + +ID : 46 +UPSTREAM_NODE : 46 +DOWNSTREAM_NODE : 45 +ACTIVE : 1 + + +ID : 47 +UPSTREAM_NODE : 47 +DOWNSTREAM_NODE : 48 +ACTIVE : 1 + + +ID : 48 +UPSTREAM_NODE : 48 +DOWNSTREAM_NODE : 49 +ACTIVE : 1 + + +ID : 49 +UPSTREAM_NODE : 49 +DOWNSTREAM_NODE : 50 +ACTIVE : 1 + + +ID : 50 +UPSTREAM_NODE : 50 +DOWNSTREAM_NODE : 51 +ACTIVE : 1 + + +ID : 51 +UPSTREAM_NODE : 51 +DOWNSTREAM_NODE : 43 +ACTIVE : 1 + + +ID : 52 +UPSTREAM_NODE : 52 +DOWNSTREAM_NODE : 43 +ACTIVE : 1 + + +ID : 53 +UPSTREAM_NODE : 53 +DOWNSTREAM_NODE : 43 +ACTIVE : 1 + + +ID : 54 +UPSTREAM_NODE : 54 +DOWNSTREAM_NODE : 53 +ACTIVE : 1 + + +ID : 55 +UPSTREAM_NODE : 55 +DOWNSTREAM_NODE : 54 +ACTIVE : 1 + + +ID : 56 +UPSTREAM_NODE : 56 +DOWNSTREAM_NODE : 55 +ACTIVE : 1 + + +ID : 57 +UPSTREAM_NODE : 57 +DOWNSTREAM_NODE : 56 +ACTIVE : 1 + + +ID : 58 +UPSTREAM_NODE : 58 +DOWNSTREAM_NODE : 59 +ACTIVE : 1 + + +ID : 59 +UPSTREAM_NODE : 59 +DOWNSTREAM_NODE : 60 +ACTIVE : 1 + + +ID : 60 +UPSTREAM_NODE : 60 +DOWNSTREAM_NODE : 61 +ACTIVE : 1 + + +ID : 61 +UPSTREAM_NODE : 61 +DOWNSTREAM_NODE : 62 +ACTIVE : 1 + + +ID : 62 +UPSTREAM_NODE : 62 +DOWNSTREAM_NODE : 52 +ACTIVE : 1 + + +ID : 63 +UPSTREAM_NODE : 63 +DOWNSTREAM_NODE : 52 +ACTIVE : 1 + + +ID : 64 +UPSTREAM_NODE : 64 +DOWNSTREAM_NODE : 52 +ACTIVE : 1 + + +ID : 65 +UPSTREAM_NODE : 65 +DOWNSTREAM_NODE : 64 +ACTIVE : 1 + + +ID : 66 +UPSTREAM_NODE : 66 +DOWNSTREAM_NODE : 65 +ACTIVE : 1 + + +ID : 67 +UPSTREAM_NODE : 67 +DOWNSTREAM_NODE : 66 +ACTIVE : 1 + + +ID : 68 +UPSTREAM_NODE : 68 +DOWNSTREAM_NODE : 67 +ACTIVE : 1 + + +ID : 69 +UPSTREAM_NODE : 69 +DOWNSTREAM_NODE : 70 +ACTIVE : 1 + + +ID : 70 +UPSTREAM_NODE : 70 +DOWNSTREAM_NODE : 71 +ACTIVE : 1 + + +ID : 71 +UPSTREAM_NODE : 71 +DOWNSTREAM_NODE : 72 +ACTIVE : 1 + + +ID : 72 +UPSTREAM_NODE : 72 +DOWNSTREAM_NODE : 63 +ACTIVE : 1 + + +ID : 73 +UPSTREAM_NODE : 73 +DOWNSTREAM_NODE : 63 +ACTIVE : 1 + + +ID : 74 +UPSTREAM_NODE : 74 +DOWNSTREAM_NODE : 63 +ACTIVE : 1 + + +ID : 75 +UPSTREAM_NODE : 75 +DOWNSTREAM_NODE : 74 +ACTIVE : 1 + + +ID : 76 +UPSTREAM_NODE : 76 +DOWNSTREAM_NODE : 75 +ACTIVE : 1 + + +ID : 77 +UPSTREAM_NODE : 77 +DOWNSTREAM_NODE : 76 +ACTIVE : 1 + + +ID : 78 +UPSTREAM_NODE : 78 +DOWNSTREAM_NODE : 79 +ACTIVE : 1 + + +ID : 79 +UPSTREAM_NODE : 79 +DOWNSTREAM_NODE : 80 +ACTIVE : 1 + + +ID : 80 +UPSTREAM_NODE : 80 +DOWNSTREAM_NODE : 81 +ACTIVE : 1 + + +ID : 81 +UPSTREAM_NODE : 81 +DOWNSTREAM_NODE : 82 +ACTIVE : 1 + + +ID : 82 +UPSTREAM_NODE : 82 +DOWNSTREAM_NODE : 83 +ACTIVE : 1 + + +ID : 83 +UPSTREAM_NODE : 83 +DOWNSTREAM_NODE : 84 +ACTIVE : 1 + + +ID : 84 +UPSTREAM_NODE : 84 +DOWNSTREAM_NODE : 73 +ACTIVE : 1 + + +ID : 85 +UPSTREAM_NODE : 85 +DOWNSTREAM_NODE : 84 +ACTIVE : 1 + + +ID : 86 +UPSTREAM_NODE : 86 +DOWNSTREAM_NODE : 85 +ACTIVE : 1 + + +ID : 87 +UPSTREAM_NODE : 87 +DOWNSTREAM_NODE : 86 +ACTIVE : 1 + + +ID : 88 +UPSTREAM_NODE : 88 +DOWNSTREAM_NODE : 87 +ACTIVE : 1 + + +ID : 89 +UPSTREAM_NODE : 89 +DOWNSTREAM_NODE : 88 +ACTIVE : 1 + + +ID : 90 +UPSTREAM_NODE : 90 +DOWNSTREAM_NODE : 89 +ACTIVE : 1 + + +ID : 91 +UPSTREAM_NODE : 91 +DOWNSTREAM_NODE : 92 +ACTIVE : 1 + + +ID : 92 +UPSTREAM_NODE : 92 +DOWNSTREAM_NODE : 93 +ACTIVE : 1 + + +ID : 93 +UPSTREAM_NODE : 93 +DOWNSTREAM_NODE : 94 +ACTIVE : 1 + + +ID : 94 +UPSTREAM_NODE : 94 +DOWNSTREAM_NODE : 95 +ACTIVE : 1 + + +ID : 95 +UPSTREAM_NODE : 95 +DOWNSTREAM_NODE : 96 +ACTIVE : 1 + + +ID : 96 +UPSTREAM_NODE : 96 +DOWNSTREAM_NODE : 84 +ACTIVE : 1 + + +ID : 97 +UPSTREAM_NODE : 97 +DOWNSTREAM_NODE : 96 +ACTIVE : 1 + + +ID : 98 +UPSTREAM_NODE : 98 +DOWNSTREAM_NODE : 97 +ACTIVE : 1 + + +ID : 99 +UPSTREAM_NODE : 99 +DOWNSTREAM_NODE : 98 +ACTIVE : 1 + + +ID : 100 +UPSTREAM_NODE : 100 +DOWNSTREAM_NODE : 99 +ACTIVE : 1 + + +ID : 101 +UPSTREAM_NODE : 101 +DOWNSTREAM_NODE : 100 +ACTIVE : 1 + + +ID : 102 +UPSTREAM_NODE : 102 +DOWNSTREAM_NODE : 103 +ACTIVE : 1 + + +ID : 103 +UPSTREAM_NODE : 103 +DOWNSTREAM_NODE : 104 +ACTIVE : 1 + + +ID : 104 +UPSTREAM_NODE : 104 +DOWNSTREAM_NODE : 105 +ACTIVE : 1 + + +ID : 105 +UPSTREAM_NODE : 105 +DOWNSTREAM_NODE : 106 +ACTIVE : 1 + + +ID : 106 +UPSTREAM_NODE : 106 +DOWNSTREAM_NODE : 107 +ACTIVE : 1 + + +ID : 107 +UPSTREAM_NODE : 107 +DOWNSTREAM_NODE : 96 +ACTIVE : 1 + + +ID : 108 +UPSTREAM_NODE : 108 +DOWNSTREAM_NODE : 107 +ACTIVE : 1 + + +ID : 109 +UPSTREAM_NODE : 109 +DOWNSTREAM_NODE : 108 +ACTIVE : 1 + + +ID : 110 +UPSTREAM_NODE : 110 +DOWNSTREAM_NODE : 109 +ACTIVE : 1 + + +ID : 111 +UPSTREAM_NODE : 111 +DOWNSTREAM_NODE : 110 +ACTIVE : 1 + + +ID : 112 +UPSTREAM_NODE : 112 +DOWNSTREAM_NODE : 111 +ACTIVE : 1 + + +ID : 113 +UPSTREAM_NODE : 113 +DOWNSTREAM_NODE : 114 +ACTIVE : 1 + + +ID : 114 +UPSTREAM_NODE : 114 +DOWNSTREAM_NODE : 115 +ACTIVE : 1 + + +ID : 115 +UPSTREAM_NODE : 115 +DOWNSTREAM_NODE : 116 +ACTIVE : 1 + + +ID : 116 +UPSTREAM_NODE : 116 +DOWNSTREAM_NODE : 117 +ACTIVE : 1 + + +ID : 117 +UPSTREAM_NODE : 117 +DOWNSTREAM_NODE : 107 +ACTIVE : 1 + + +ID : 118 +UPSTREAM_NODE : 118 +DOWNSTREAM_NODE : 117 +ACTIVE : 1 + + +ID : 119 +UPSTREAM_NODE : 119 +DOWNSTREAM_NODE : 118 +ACTIVE : 1 + + +ID : 120 +UPSTREAM_NODE : 120 +DOWNSTREAM_NODE : 119 +ACTIVE : 1 + + +ID : 121 +UPSTREAM_NODE : 121 +DOWNSTREAM_NODE : 120 +ACTIVE : 1 + + +ID : 122 +UPSTREAM_NODE : 122 +DOWNSTREAM_NODE : 123 +ACTIVE : 1 + + +ID : 123 +UPSTREAM_NODE : 123 +DOWNSTREAM_NODE : 124 +ACTIVE : 1 + + +ID : 124 +UPSTREAM_NODE : 124 +DOWNSTREAM_NODE : 125 +ACTIVE : 1 + + +ID : 125 +UPSTREAM_NODE : 125 +DOWNSTREAM_NODE : 126 +ACTIVE : 1 + + +ID : 126 +UPSTREAM_NODE : 126 +DOWNSTREAM_NODE : 127 +ACTIVE : 1 + + +ID : 127 +UPSTREAM_NODE : 127 +DOWNSTREAM_NODE : 117 +ACTIVE : 1 + + +ID : 128 +UPSTREAM_NODE : 128 +DOWNSTREAM_NODE : 127 +ACTIVE : 1 + + +ID : 129 +UPSTREAM_NODE : 129 +DOWNSTREAM_NODE : 128 +ACTIVE : 1 + + +ID : 130 +UPSTREAM_NODE : 130 +DOWNSTREAM_NODE : 129 +ACTIVE : 1 + + +ID : 131 +UPSTREAM_NODE : 131 +DOWNSTREAM_NODE : 130 +ACTIVE : 1 + + +ID : 132 +UPSTREAM_NODE : 132 +DOWNSTREAM_NODE : 131 +ACTIVE : 1 + + +ID : 133 +UPSTREAM_NODE : 133 +DOWNSTREAM_NODE : 134 +ACTIVE : 1 + + +ID : 134 +UPSTREAM_NODE : 134 +DOWNSTREAM_NODE : 135 +ACTIVE : 1 + + +ID : 135 +UPSTREAM_NODE : 135 +DOWNSTREAM_NODE : 136 +ACTIVE : 1 + + +ID : 136 +UPSTREAM_NODE : 136 +DOWNSTREAM_NODE : 137 +ACTIVE : 1 + + +ID : 137 +UPSTREAM_NODE : 137 +DOWNSTREAM_NODE : 138 +ACTIVE : 1 + + +ID : 138 +UPSTREAM_NODE : 138 +DOWNSTREAM_NODE : 127 +ACTIVE : 1 + + +ID : 139 +UPSTREAM_NODE : 139 +DOWNSTREAM_NODE : 138 +ACTIVE : 1 + + +ID : 140 +UPSTREAM_NODE : 140 +DOWNSTREAM_NODE : 139 +ACTIVE : 1 + + +ID : 141 +UPSTREAM_NODE : 141 +DOWNSTREAM_NODE : 140 +ACTIVE : 1 + + +ID : 142 +UPSTREAM_NODE : 142 +DOWNSTREAM_NODE : 141 +ACTIVE : 1 + + +ID : 143 +UPSTREAM_NODE : 143 +DOWNSTREAM_NODE : 142 +ACTIVE : 1 + + +ID : 144 +UPSTREAM_NODE : 144 +DOWNSTREAM_NODE : 145 +ACTIVE : 1 + + +ID : 145 +UPSTREAM_NODE : 145 +DOWNSTREAM_NODE : 146 +ACTIVE : 1 + + +ID : 146 +UPSTREAM_NODE : 146 +DOWNSTREAM_NODE : 147 +ACTIVE : 1 + + +ID : 147 +UPSTREAM_NODE : 147 +DOWNSTREAM_NODE : 148 +ACTIVE : 1 + + +ID : 148 +UPSTREAM_NODE : 148 +DOWNSTREAM_NODE : 149 +ACTIVE : 1 + + +ID : 149 +UPSTREAM_NODE : 149 +DOWNSTREAM_NODE : 150 +ACTIVE : 1 + + +ID : 150 +UPSTREAM_NODE : 150 +DOWNSTREAM_NODE : 138 +ACTIVE : 1 + + +ID : 151 +UPSTREAM_NODE : 151 +DOWNSTREAM_NODE : 150 +ACTIVE : 1 + + +ID : 152 +UPSTREAM_NODE : 152 +DOWNSTREAM_NODE : 151 +ACTIVE : 1 + + +ID : 153 +UPSTREAM_NODE : 153 +DOWNSTREAM_NODE : 152 +ACTIVE : 1 + + +ID : 154 +UPSTREAM_NODE : 154 +DOWNSTREAM_NODE : 153 +ACTIVE : 1 + + +ID : 155 +UPSTREAM_NODE : 155 +DOWNSTREAM_NODE : 154 +ACTIVE : 1 + + +ID : 156 +UPSTREAM_NODE : 156 +DOWNSTREAM_NODE : 155 +ACTIVE : 1 + + +ID : 157 +UPSTREAM_NODE : 157 +DOWNSTREAM_NODE : 158 +ACTIVE : 1 + + +ID : 158 +UPSTREAM_NODE : 158 +DOWNSTREAM_NODE : 159 +ACTIVE : 1 + + +ID : 159 +UPSTREAM_NODE : 159 +DOWNSTREAM_NODE : 160 +ACTIVE : 1 + + +ID : 160 +UPSTREAM_NODE : 160 +DOWNSTREAM_NODE : 161 +ACTIVE : 1 + + +ID : 161 +UPSTREAM_NODE : 161 +DOWNSTREAM_NODE : 162 +ACTIVE : 1 + + +ID : 162 +UPSTREAM_NODE : 162 +DOWNSTREAM_NODE : 150 +ACTIVE : 1 + + +ID : 163 +UPSTREAM_NODE : 163 +DOWNSTREAM_NODE : 162 +ACTIVE : 1 + + +ID : 164 +UPSTREAM_NODE : 164 +DOWNSTREAM_NODE : 163 +ACTIVE : 1 + + +ID : 165 +UPSTREAM_NODE : 165 +DOWNSTREAM_NODE : 164 +ACTIVE : 1 + + +ID : 166 +UPSTREAM_NODE : 166 +DOWNSTREAM_NODE : 165 +ACTIVE : 1 + + +ID : 167 +UPSTREAM_NODE : 167 +DOWNSTREAM_NODE : 166 +ACTIVE : 1 + + +ID : 168 +UPSTREAM_NODE : 168 +DOWNSTREAM_NODE : 169 +ACTIVE : 1 + + +ID : 169 +UPSTREAM_NODE : 169 +DOWNSTREAM_NODE : 170 +ACTIVE : 1 + + +ID : 170 +UPSTREAM_NODE : 170 +DOWNSTREAM_NODE : 171 +ACTIVE : 1 + + +ID : 171 +UPSTREAM_NODE : 171 +DOWNSTREAM_NODE : 172 +ACTIVE : 1 + + +ID : 172 +UPSTREAM_NODE : 172 +DOWNSTREAM_NODE : 162 +ACTIVE : 1 + + +ID : 173 +UPSTREAM_NODE : 173 +DOWNSTREAM_NODE : 172 +ACTIVE : 1 + + +ID : 174 +UPSTREAM_NODE : 174 +DOWNSTREAM_NODE : 173 +ACTIVE : 1 + + +ID : 175 +UPSTREAM_NODE : 175 +DOWNSTREAM_NODE : 174 +ACTIVE : 1 + + +ID : 176 +UPSTREAM_NODE : 176 +DOWNSTREAM_NODE : 175 +ACTIVE : 1 + + +ID : 177 +UPSTREAM_NODE : 177 +DOWNSTREAM_NODE : 178 +ACTIVE : 1 + + +ID : 178 +UPSTREAM_NODE : 178 +DOWNSTREAM_NODE : 179 +ACTIVE : 1 + + +ID : 179 +UPSTREAM_NODE : 179 +DOWNSTREAM_NODE : 180 +ACTIVE : 1 + + +ID : 180 +UPSTREAM_NODE : 180 +DOWNSTREAM_NODE : 181 +ACTIVE : 1 + + +ID : 181 +UPSTREAM_NODE : 181 +DOWNSTREAM_NODE : 182 +ACTIVE : 1 + + +ID : 182 +UPSTREAM_NODE : 182 +DOWNSTREAM_NODE : 172 +ACTIVE : 1 + + +ID : 183 +UPSTREAM_NODE : 183 +DOWNSTREAM_NODE : 182 +ACTIVE : 1 + + +ID : 184 +UPSTREAM_NODE : 184 +DOWNSTREAM_NODE : 183 +ACTIVE : 1 + + +ID : 185 +UPSTREAM_NODE : 185 +DOWNSTREAM_NODE : 184 +ACTIVE : 1 + + +ID : 186 +UPSTREAM_NODE : 186 +DOWNSTREAM_NODE : 185 +ACTIVE : 1 + + +ID : 187 +UPSTREAM_NODE : 187 +DOWNSTREAM_NODE : 186 +ACTIVE : 1 + + +ID : 188 +UPSTREAM_NODE : 188 +DOWNSTREAM_NODE : 189 +ACTIVE : 1 + + +ID : 189 +UPSTREAM_NODE : 189 +DOWNSTREAM_NODE : 190 +ACTIVE : 1 + + +ID : 190 +UPSTREAM_NODE : 190 +DOWNSTREAM_NODE : 191 +ACTIVE : 1 + + +ID : 191 +UPSTREAM_NODE : 191 +DOWNSTREAM_NODE : 192 +ACTIVE : 1 + + +ID : 192 +UPSTREAM_NODE : 192 +DOWNSTREAM_NODE : 193 +ACTIVE : 1 + + +ID : 193 +UPSTREAM_NODE : 193 +DOWNSTREAM_NODE : 182 +ACTIVE : 1 + + +ID : 194 +UPSTREAM_NODE : 194 +DOWNSTREAM_NODE : 193 +ACTIVE : 1 + + +ID : 195 +UPSTREAM_NODE : 195 +DOWNSTREAM_NODE : 194 +ACTIVE : 1 + + +ID : 196 +UPSTREAM_NODE : 196 +DOWNSTREAM_NODE : 195 +ACTIVE : 1 + + +ID : 197 +UPSTREAM_NODE : 197 +DOWNSTREAM_NODE : 196 +ACTIVE : 1 + + +ID : 198 +UPSTREAM_NODE : 198 +DOWNSTREAM_NODE : 197 +ACTIVE : 1 + + +ID : 199 +UPSTREAM_NODE : 199 +DOWNSTREAM_NODE : 200 +ACTIVE : 1 + + +ID : 200 +UPSTREAM_NODE : 200 +DOWNSTREAM_NODE : 201 +ACTIVE : 1 + + +ID : 201 +UPSTREAM_NODE : 201 +DOWNSTREAM_NODE : 202 +ACTIVE : 1 + + +ID : 202 +UPSTREAM_NODE : 202 +DOWNSTREAM_NODE : 203 +ACTIVE : 1 + + +ID : 203 +UPSTREAM_NODE : 203 +DOWNSTREAM_NODE : 204 +ACTIVE : 1 + + +ID : 204 +UPSTREAM_NODE : 204 +DOWNSTREAM_NODE : 205 +ACTIVE : 1 + + +ID : 205 +UPSTREAM_NODE : 205 +DOWNSTREAM_NODE : 193 +ACTIVE : 1 + + +ID : 206 +UPSTREAM_NODE : 206 +DOWNSTREAM_NODE : 205 +ACTIVE : 1 + + +ID : 207 +UPSTREAM_NODE : 207 +DOWNSTREAM_NODE : 206 +ACTIVE : 1 + + +ID : 208 +UPSTREAM_NODE : 208 +DOWNSTREAM_NODE : 207 +ACTIVE : 1 + + +ID : 209 +UPSTREAM_NODE : 209 +DOWNSTREAM_NODE : 208 +ACTIVE : 1 + + +ID : 210 +UPSTREAM_NODE : 210 +DOWNSTREAM_NODE : 209 +ACTIVE : 1 + + +ID : 211 +UPSTREAM_NODE : 211 +DOWNSTREAM_NODE : 210 +ACTIVE : 1 + + +ID : 212 +UPSTREAM_NODE : 212 +DOWNSTREAM_NODE : 213 +ACTIVE : 1 + + +ID : 213 +UPSTREAM_NODE : 213 +DOWNSTREAM_NODE : 214 +ACTIVE : 1 + + +ID : 214 +UPSTREAM_NODE : 214 +DOWNSTREAM_NODE : 215 +ACTIVE : 1 + + +ID : 215 +UPSTREAM_NODE : 215 +DOWNSTREAM_NODE : 216 +ACTIVE : 1 + + +ID : 216 +UPSTREAM_NODE : 216 +DOWNSTREAM_NODE : 205 +ACTIVE : 1 + + +ID : 217 +UPSTREAM_NODE : 217 +DOWNSTREAM_NODE : 216 +ACTIVE : 1 + + +ID : 218 +UPSTREAM_NODE : 218 +DOWNSTREAM_NODE : 217 +ACTIVE : 1 + + +ID : 219 +UPSTREAM_NODE : 219 +DOWNSTREAM_NODE : 218 +ACTIVE : 1 + + +ID : 220 +UPSTREAM_NODE : 220 +DOWNSTREAM_NODE : 219 +ACTIVE : 1 + + +ID : 221 +UPSTREAM_NODE : 221 +DOWNSTREAM_NODE : 222 +ACTIVE : 1 + + +ID : 222 +UPSTREAM_NODE : 222 +DOWNSTREAM_NODE : 223 +ACTIVE : 1 + + +ID : 223 +UPSTREAM_NODE : 223 +DOWNSTREAM_NODE : 224 +ACTIVE : 1 + + +ID : 224 +UPSTREAM_NODE : 224 +DOWNSTREAM_NODE : 225 +ACTIVE : 1 + + +ID : 225 +UPSTREAM_NODE : 225 +DOWNSTREAM_NODE : 226 +ACTIVE : 1 + + +ID : 226 +UPSTREAM_NODE : 226 +DOWNSTREAM_NODE : 216 +ACTIVE : 1 + + +ID : 227 +UPSTREAM_NODE : 227 +DOWNSTREAM_NODE : 226 +ACTIVE : 1 + + +ID : 228 +UPSTREAM_NODE : 228 +DOWNSTREAM_NODE : 227 +ACTIVE : 1 + + +ID : 229 +UPSTREAM_NODE : 229 +DOWNSTREAM_NODE : 228 +ACTIVE : 1 + + +ID : 230 +UPSTREAM_NODE : 230 +DOWNSTREAM_NODE : 229 +ACTIVE : 1 + + +ID : 231 +UPSTREAM_NODE : 231 +DOWNSTREAM_NODE : 230 +ACTIVE : 1 + + +ID : 232 +UPSTREAM_NODE : 232 +DOWNSTREAM_NODE : 233 +ACTIVE : 1 + + +ID : 233 +UPSTREAM_NODE : 233 +DOWNSTREAM_NODE : 234 +ACTIVE : 1 + + +ID : 234 +UPSTREAM_NODE : 234 +DOWNSTREAM_NODE : 235 +ACTIVE : 1 + + +ID : 235 +UPSTREAM_NODE : 235 +DOWNSTREAM_NODE : 236 +ACTIVE : 1 + + +ID : 236 +UPSTREAM_NODE : 236 +DOWNSTREAM_NODE : 237 +ACTIVE : 1 + + +ID : 237 +UPSTREAM_NODE : 237 +DOWNSTREAM_NODE : 226 +ACTIVE : 1 + + +ID : 238 +UPSTREAM_NODE : 238 +DOWNSTREAM_NODE : 237 +ACTIVE : 1 + + +ID : 239 +UPSTREAM_NODE : 239 +DOWNSTREAM_NODE : 238 +ACTIVE : 1 + + +ID : 240 +UPSTREAM_NODE : 240 +DOWNSTREAM_NODE : 239 +ACTIVE : 1 + + +ID : 241 +UPSTREAM_NODE : 241 +DOWNSTREAM_NODE : 240 +ACTIVE : 1 + + +ID : 242 +UPSTREAM_NODE : 242 +DOWNSTREAM_NODE : 241 +ACTIVE : 1 + + +ID : 243 +UPSTREAM_NODE : 243 +DOWNSTREAM_NODE : 244 +ACTIVE : 1 + + +ID : 244 +UPSTREAM_NODE : 244 +DOWNSTREAM_NODE : 245 +ACTIVE : 1 + + +ID : 245 +UPSTREAM_NODE : 245 +DOWNSTREAM_NODE : 246 +ACTIVE : 1 + + +ID : 246 +UPSTREAM_NODE : 246 +DOWNSTREAM_NODE : 247 +ACTIVE : 1 + + +ID : 247 +UPSTREAM_NODE : 247 +DOWNSTREAM_NODE : 248 +ACTIVE : 1 + + +ID : 248 +UPSTREAM_NODE : 248 +DOWNSTREAM_NODE : 237 +ACTIVE : 1 + + +ID : 249 +UPSTREAM_NODE : 249 +DOWNSTREAM_NODE : 248 +ACTIVE : 1 + + +ID : 250 +UPSTREAM_NODE : 250 +DOWNSTREAM_NODE : 249 +ACTIVE : 1 + + +ID : 251 +UPSTREAM_NODE : 251 +DOWNSTREAM_NODE : 250 +ACTIVE : 1 + + +ID : 252 +UPSTREAM_NODE : 252 +DOWNSTREAM_NODE : 251 +ACTIVE : 1 + + +ID : 253 +UPSTREAM_NODE : 253 +DOWNSTREAM_NODE : 252 +ACTIVE : 1 + + +ID : 254 +UPSTREAM_NODE : 254 +DOWNSTREAM_NODE : 255 +ACTIVE : 1 + + +ID : 255 +UPSTREAM_NODE : 255 +DOWNSTREAM_NODE : 256 +ACTIVE : 1 + + +ID : 256 +UPSTREAM_NODE : 256 +DOWNSTREAM_NODE : 257 +ACTIVE : 1 + + +ID : 257 +UPSTREAM_NODE : 257 +DOWNSTREAM_NODE : 258 +ACTIVE : 1 + + +ID : 258 +UPSTREAM_NODE : 258 +DOWNSTREAM_NODE : 259 +ACTIVE : 1 + + +ID : 259 +UPSTREAM_NODE : 259 +DOWNSTREAM_NODE : 248 +ACTIVE : 1 + + +ID : 260 +UPSTREAM_NODE : 260 +DOWNSTREAM_NODE : 259 +ACTIVE : 1 + + +ID : 261 +UPSTREAM_NODE : 261 +DOWNSTREAM_NODE : 260 +ACTIVE : 1 + + +ID : 262 +UPSTREAM_NODE : 262 +DOWNSTREAM_NODE : 261 +ACTIVE : 1 + + +ID : 263 +UPSTREAM_NODE : 263 +DOWNSTREAM_NODE : 262 +ACTIVE : 1 + + +ID : 264 +UPSTREAM_NODE : 264 +DOWNSTREAM_NODE : 263 +ACTIVE : 1 + + +ID : 265 +UPSTREAM_NODE : 265 +DOWNSTREAM_NODE : 266 +ACTIVE : 1 + + +ID : 266 +UPSTREAM_NODE : 266 +DOWNSTREAM_NODE : 267 +ACTIVE : 1 + + +ID : 267 +UPSTREAM_NODE : 267 +DOWNSTREAM_NODE : 268 +ACTIVE : 1 + + +ID : 268 +UPSTREAM_NODE : 268 +DOWNSTREAM_NODE : 269 +ACTIVE : 1 + + +ID : 269 +UPSTREAM_NODE : 269 +DOWNSTREAM_NODE : 270 +ACTIVE : 1 + + +ID : 270 +UPSTREAM_NODE : 270 +DOWNSTREAM_NODE : 259 +ACTIVE : 1 + + +ID : 271 +UPSTREAM_NODE : 271 +DOWNSTREAM_NODE : 270 +ACTIVE : 1 + + +ID : 272 +UPSTREAM_NODE : 272 +DOWNSTREAM_NODE : 271 +ACTIVE : 1 + + +ID : 273 +UPSTREAM_NODE : 273 +DOWNSTREAM_NODE : 272 +ACTIVE : 1 + + +ID : 274 +UPSTREAM_NODE : 274 +DOWNSTREAM_NODE : 273 +ACTIVE : 1 + + +ID : 275 +UPSTREAM_NODE : 275 +DOWNSTREAM_NODE : 274 +ACTIVE : 1 + + +ID : 276 +UPSTREAM_NODE : 276 +DOWNSTREAM_NODE : 277 +ACTIVE : 1 + + +ID : 277 +UPSTREAM_NODE : 277 +DOWNSTREAM_NODE : 278 +ACTIVE : 1 + + +ID : 278 +UPSTREAM_NODE : 278 +DOWNSTREAM_NODE : 279 +ACTIVE : 1 + + +ID : 279 +UPSTREAM_NODE : 279 +DOWNSTREAM_NODE : 280 +ACTIVE : 1 + + +ID : 280 +UPSTREAM_NODE : 280 +DOWNSTREAM_NODE : 281 +ACTIVE : 1 + + +ID : 281 +UPSTREAM_NODE : 281 +DOWNSTREAM_NODE : 270 +ACTIVE : 1 + + +ID : 282 +UPSTREAM_NODE : 282 +DOWNSTREAM_NODE : 281 +ACTIVE : 1 + + +ID : 283 +UPSTREAM_NODE : 283 +DOWNSTREAM_NODE : 282 +ACTIVE : 1 + + +ID : 284 +UPSTREAM_NODE : 284 +DOWNSTREAM_NODE : 283 +ACTIVE : 1 + + +ID : 285 +UPSTREAM_NODE : 285 +DOWNSTREAM_NODE : 284 +ACTIVE : 1 + + +ID : 286 +UPSTREAM_NODE : 286 +DOWNSTREAM_NODE : 285 +ACTIVE : 1 + + +ID : 287 +UPSTREAM_NODE : 287 +DOWNSTREAM_NODE : 288 +ACTIVE : 1 + + +ID : 288 +UPSTREAM_NODE : 288 +DOWNSTREAM_NODE : 289 +ACTIVE : 1 + + +ID : 289 +UPSTREAM_NODE : 289 +DOWNSTREAM_NODE : 290 +ACTIVE : 1 + + +ID : 290 +UPSTREAM_NODE : 290 +DOWNSTREAM_NODE : 291 +ACTIVE : 1 + + +ID : 291 +UPSTREAM_NODE : 291 +DOWNSTREAM_NODE : 292 +ACTIVE : 1 + + +ID : 292 +UPSTREAM_NODE : 292 +DOWNSTREAM_NODE : 281 +ACTIVE : 1 + + +ID : 293 +UPSTREAM_NODE : 293 +DOWNSTREAM_NODE : 292 +ACTIVE : 1 + + +ID : 294 +UPSTREAM_NODE : 294 +DOWNSTREAM_NODE : 293 +ACTIVE : 1 + + +ID : 295 +UPSTREAM_NODE : 295 +DOWNSTREAM_NODE : 294 +ACTIVE : 1 + + +ID : 296 +UPSTREAM_NODE : 296 +DOWNSTREAM_NODE : 295 +ACTIVE : 1 + + +ID : 297 +UPSTREAM_NODE : 297 +DOWNSTREAM_NODE : 296 +ACTIVE : 1 + + +ID : 298 +UPSTREAM_NODE : 298 +DOWNSTREAM_NODE : 299 +ACTIVE : 1 + + +ID : 299 +UPSTREAM_NODE : 299 +DOWNSTREAM_NODE : 300 +ACTIVE : 1 + + +ID : 300 +UPSTREAM_NODE : 300 +DOWNSTREAM_NODE : 301 +ACTIVE : 1 + + +ID : 301 +UPSTREAM_NODE : 301 +DOWNSTREAM_NODE : 302 +ACTIVE : 1 + + +ID : 302 +UPSTREAM_NODE : 302 +DOWNSTREAM_NODE : 303 +ACTIVE : 1 + + +ID : 303 +UPSTREAM_NODE : 303 +DOWNSTREAM_NODE : 292 +ACTIVE : 1 + + +ID : 304 +UPSTREAM_NODE : 304 +DOWNSTREAM_NODE : 303 +ACTIVE : 1 + + +ID : 305 +UPSTREAM_NODE : 305 +DOWNSTREAM_NODE : 304 +ACTIVE : 1 + + +ID : 306 +UPSTREAM_NODE : 306 +DOWNSTREAM_NODE : 305 +ACTIVE : 1 + + +ID : 307 +UPSTREAM_NODE : 307 +DOWNSTREAM_NODE : 306 +ACTIVE : 1 + + +ID : 308 +UPSTREAM_NODE : 308 +DOWNSTREAM_NODE : 307 +ACTIVE : 1 + + +ID : 309 +UPSTREAM_NODE : 309 +DOWNSTREAM_NODE : 310 +ACTIVE : 1 + + +ID : 310 +UPSTREAM_NODE : 310 +DOWNSTREAM_NODE : 311 +ACTIVE : 1 + + +ID : 311 +UPSTREAM_NODE : 311 +DOWNSTREAM_NODE : 312 +ACTIVE : 1 + + +ID : 312 +UPSTREAM_NODE : 312 +DOWNSTREAM_NODE : 313 +ACTIVE : 1 + + +ID : 313 +UPSTREAM_NODE : 313 +DOWNSTREAM_NODE : 314 +ACTIVE : 1 + + +ID : 314 +UPSTREAM_NODE : 314 +DOWNSTREAM_NODE : 303 +ACTIVE : 1 + + +ID : 315 +UPSTREAM_NODE : 315 +DOWNSTREAM_NODE : 314 +ACTIVE : 1 + + +ID : 316 +UPSTREAM_NODE : 316 +DOWNSTREAM_NODE : 315 +ACTIVE : 1 + + +ID : 317 +UPSTREAM_NODE : 317 +DOWNSTREAM_NODE : 316 +ACTIVE : 1 + + +ID : 318 +UPSTREAM_NODE : 318 +DOWNSTREAM_NODE : 317 +ACTIVE : 1 + + +ID : 319 +UPSTREAM_NODE : 319 +DOWNSTREAM_NODE : 318 +ACTIVE : 1 + + +ID : 320 +UPSTREAM_NODE : 320 +DOWNSTREAM_NODE : 321 +ACTIVE : 1 + + +ID : 321 +UPSTREAM_NODE : 321 +DOWNSTREAM_NODE : 322 +ACTIVE : 1 + + +ID : 322 +UPSTREAM_NODE : 322 +DOWNSTREAM_NODE : 323 +ACTIVE : 1 + + +ID : 323 +UPSTREAM_NODE : 323 +DOWNSTREAM_NODE : 324 +ACTIVE : 1 + + +ID : 324 +UPSTREAM_NODE : 324 +DOWNSTREAM_NODE : 325 +ACTIVE : 1 + + +ID : 325 +UPSTREAM_NODE : 325 +DOWNSTREAM_NODE : 314 +ACTIVE : 1 + + +ID : 326 +UPSTREAM_NODE : 326 +DOWNSTREAM_NODE : 325 +ACTIVE : 1 + + +ID : 327 +UPSTREAM_NODE : 327 +DOWNSTREAM_NODE : 326 +ACTIVE : 1 + + +ID : 328 +UPSTREAM_NODE : 328 +DOWNSTREAM_NODE : 327 +ACTIVE : 1 + + +ID : 329 +UPSTREAM_NODE : 329 +DOWNSTREAM_NODE : 328 +ACTIVE : 1 + + +ID : 330 +UPSTREAM_NODE : 330 +DOWNSTREAM_NODE : 329 +ACTIVE : 1 + + +ID : 331 +UPSTREAM_NODE : 331 +DOWNSTREAM_NODE : 332 +ACTIVE : 1 + + +ID : 332 +UPSTREAM_NODE : 332 +DOWNSTREAM_NODE : 333 +ACTIVE : 1 + + +ID : 333 +UPSTREAM_NODE : 333 +DOWNSTREAM_NODE : 334 +ACTIVE : 1 + + +ID : 334 +UPSTREAM_NODE : 334 +DOWNSTREAM_NODE : 335 +ACTIVE : 1 + + +ID : 335 +UPSTREAM_NODE : 335 +DOWNSTREAM_NODE : 336 +ACTIVE : 1 + + +ID : 336 +UPSTREAM_NODE : 336 +DOWNSTREAM_NODE : 325 +ACTIVE : 1 + + +ID : 337 +UPSTREAM_NODE : 337 +DOWNSTREAM_NODE : 336 +ACTIVE : 1 + + +ID : 338 +UPSTREAM_NODE : 338 +DOWNSTREAM_NODE : 337 +ACTIVE : 1 + + +ID : 339 +UPSTREAM_NODE : 339 +DOWNSTREAM_NODE : 338 +ACTIVE : 1 + + +ID : 340 +UPSTREAM_NODE : 340 +DOWNSTREAM_NODE : 339 +ACTIVE : 1 + + +ID : 341 +UPSTREAM_NODE : 341 +DOWNSTREAM_NODE : 340 +ACTIVE : 1 + + +ID : 342 +UPSTREAM_NODE : 342 +DOWNSTREAM_NODE : 343 +ACTIVE : 1 + + +ID : 343 +UPSTREAM_NODE : 343 +DOWNSTREAM_NODE : 344 +ACTIVE : 1 + + +ID : 344 +UPSTREAM_NODE : 344 +DOWNSTREAM_NODE : 345 +ACTIVE : 1 + + +ID : 345 +UPSTREAM_NODE : 345 +DOWNSTREAM_NODE : 346 +ACTIVE : 1 + + +ID : 346 +UPSTREAM_NODE : 346 +DOWNSTREAM_NODE : 347 +ACTIVE : 1 + + +ID : 347 +UPSTREAM_NODE : 347 +DOWNSTREAM_NODE : 336 +ACTIVE : 1 + + +ID : 348 +UPSTREAM_NODE : 348 +DOWNSTREAM_NODE : 347 +ACTIVE : 1 + + +ID : 349 +UPSTREAM_NODE : 349 +DOWNSTREAM_NODE : 348 +ACTIVE : 1 + + +ID : 350 +UPSTREAM_NODE : 350 +DOWNSTREAM_NODE : 349 +ACTIVE : 1 + + +ID : 351 +UPSTREAM_NODE : 351 +DOWNSTREAM_NODE : 350 +ACTIVE : 1 + + +ID : 352 +UPSTREAM_NODE : 352 +DOWNSTREAM_NODE : 351 +ACTIVE : 1 + + +ID : 353 +UPSTREAM_NODE : 353 +DOWNSTREAM_NODE : 354 +ACTIVE : 1 + + +ID : 354 +UPSTREAM_NODE : 354 +DOWNSTREAM_NODE : 355 +ACTIVE : 1 + + +ID : 355 +UPSTREAM_NODE : 355 +DOWNSTREAM_NODE : 356 +ACTIVE : 1 + + +ID : 356 +UPSTREAM_NODE : 356 +DOWNSTREAM_NODE : 357 +ACTIVE : 1 + + +ID : 357 +UPSTREAM_NODE : 357 +DOWNSTREAM_NODE : 358 +ACTIVE : 1 + + +ID : 358 +UPSTREAM_NODE : 358 +DOWNSTREAM_NODE : 347 +ACTIVE : 1 + + +ID : 359 +UPSTREAM_NODE : 359 +DOWNSTREAM_NODE : 358 +ACTIVE : 1 + + +ID : 360 +UPSTREAM_NODE : 360 +DOWNSTREAM_NODE : 359 +ACTIVE : 1 + + +ID : 361 +UPSTREAM_NODE : 361 +DOWNSTREAM_NODE : 360 +ACTIVE : 1 + + +ID : 362 +UPSTREAM_NODE : 362 +DOWNSTREAM_NODE : 361 +ACTIVE : 1 + + +ID : 363 +UPSTREAM_NODE : 363 +DOWNSTREAM_NODE : 362 +ACTIVE : 1 + + +ID : 364 +UPSTREAM_NODE : 364 +DOWNSTREAM_NODE : 365 +ACTIVE : 1 + + +ID : 365 +UPSTREAM_NODE : 365 +DOWNSTREAM_NODE : 366 +ACTIVE : 1 + + +ID : 366 +UPSTREAM_NODE : 366 +DOWNSTREAM_NODE : 367 +ACTIVE : 1 + + +ID : 367 +UPSTREAM_NODE : 367 +DOWNSTREAM_NODE : 368 +ACTIVE : 1 + + +ID : 368 +UPSTREAM_NODE : 368 +DOWNSTREAM_NODE : 369 +ACTIVE : 1 + + +ID : 369 +UPSTREAM_NODE : 369 +DOWNSTREAM_NODE : 358 +ACTIVE : 1 + + +ID : 370 +UPSTREAM_NODE : 370 +DOWNSTREAM_NODE : 369 +ACTIVE : 1 + + +ID : 371 +UPSTREAM_NODE : 371 +DOWNSTREAM_NODE : 370 +ACTIVE : 1 + + +ID : 372 +UPSTREAM_NODE : 372 +DOWNSTREAM_NODE : 371 +ACTIVE : 1 + + +ID : 373 +UPSTREAM_NODE : 373 +DOWNSTREAM_NODE : 372 +ACTIVE : 1 + + +ID : 374 +UPSTREAM_NODE : 374 +DOWNSTREAM_NODE : 373 +ACTIVE : 1 + + +ID : 375 +UPSTREAM_NODE : 375 +DOWNSTREAM_NODE : 376 +ACTIVE : 1 + + +ID : 376 +UPSTREAM_NODE : 376 +DOWNSTREAM_NODE : 377 +ACTIVE : 1 + + +ID : 377 +UPSTREAM_NODE : 377 +DOWNSTREAM_NODE : 378 +ACTIVE : 1 + + +ID : 378 +UPSTREAM_NODE : 378 +DOWNSTREAM_NODE : 379 +ACTIVE : 1 + + +ID : 379 +UPSTREAM_NODE : 379 +DOWNSTREAM_NODE : 380 +ACTIVE : 1 + + +ID : 380 +UPSTREAM_NODE : 380 +DOWNSTREAM_NODE : 369 +ACTIVE : 1 + + +ID : 381 +UPSTREAM_NODE : 381 +DOWNSTREAM_NODE : 380 +ACTIVE : 1 + + +ID : 382 +UPSTREAM_NODE : 382 +DOWNSTREAM_NODE : 381 +ACTIVE : 1 + + +ID : 383 +UPSTREAM_NODE : 383 +DOWNSTREAM_NODE : 382 +ACTIVE : 1 + + +ID : 384 +UPSTREAM_NODE : 384 +DOWNSTREAM_NODE : 383 +ACTIVE : 1 + + +ID : 385 +UPSTREAM_NODE : 385 +DOWNSTREAM_NODE : 384 +ACTIVE : 1 + + +ID : 386 +UPSTREAM_NODE : 386 +DOWNSTREAM_NODE : 387 +ACTIVE : 1 + + +ID : 387 +UPSTREAM_NODE : 387 +DOWNSTREAM_NODE : 388 +ACTIVE : 1 + + +ID : 388 +UPSTREAM_NODE : 388 +DOWNSTREAM_NODE : 389 +ACTIVE : 1 + + +ID : 389 +UPSTREAM_NODE : 389 +DOWNSTREAM_NODE : 390 +ACTIVE : 1 + + +ID : 390 +UPSTREAM_NODE : 390 +DOWNSTREAM_NODE : 391 +ACTIVE : 1 + + +ID : 391 +UPSTREAM_NODE : 391 +DOWNSTREAM_NODE : 380 +ACTIVE : 1 + + +ID : 392 +UPSTREAM_NODE : 392 +DOWNSTREAM_NODE : 391 +ACTIVE : 1 + + +ID : 393 +UPSTREAM_NODE : 393 +DOWNSTREAM_NODE : 392 +ACTIVE : 1 + + +ID : 394 +UPSTREAM_NODE : 394 +DOWNSTREAM_NODE : 393 +ACTIVE : 1 + + +ID : 395 +UPSTREAM_NODE : 395 +DOWNSTREAM_NODE : 394 +ACTIVE : 1 + + +ID : 396 +UPSTREAM_NODE : 396 +DOWNSTREAM_NODE : 395 +ACTIVE : 1 + + +ID : 397 +UPSTREAM_NODE : 397 +DOWNSTREAM_NODE : 398 +ACTIVE : 1 + + +ID : 398 +UPSTREAM_NODE : 398 +DOWNSTREAM_NODE : 399 +ACTIVE : 1 + + +ID : 399 +UPSTREAM_NODE : 399 +DOWNSTREAM_NODE : 400 +ACTIVE : 1 + + +ID : 400 +UPSTREAM_NODE : 400 +DOWNSTREAM_NODE : 401 +ACTIVE : 1 + + +ID : 401 +UPSTREAM_NODE : 401 +DOWNSTREAM_NODE : 402 +ACTIVE : 1 + + +ID : 402 +UPSTREAM_NODE : 402 +DOWNSTREAM_NODE : 391 +ACTIVE : 1 + + +ID : 403 +UPSTREAM_NODE : 403 +DOWNSTREAM_NODE : 402 +ACTIVE : 1 + + +ID : 404 +UPSTREAM_NODE : 404 +DOWNSTREAM_NODE : 403 +ACTIVE : 1 + + +ID : 405 +UPSTREAM_NODE : 405 +DOWNSTREAM_NODE : 404 +ACTIVE : 1 + + +ID : 406 +UPSTREAM_NODE : 406 +DOWNSTREAM_NODE : 405 +ACTIVE : 1 + + +ID : 407 +UPSTREAM_NODE : 407 +DOWNSTREAM_NODE : 406 +ACTIVE : 1 + + +ID : 408 +UPSTREAM_NODE : 408 +DOWNSTREAM_NODE : 409 +ACTIVE : 1 + + +ID : 409 +UPSTREAM_NODE : 409 +DOWNSTREAM_NODE : 410 +ACTIVE : 1 + + +ID : 410 +UPSTREAM_NODE : 410 +DOWNSTREAM_NODE : 411 +ACTIVE : 1 + + +ID : 411 +UPSTREAM_NODE : 411 +DOWNSTREAM_NODE : 412 +ACTIVE : 1 + + +ID : 412 +UPSTREAM_NODE : 412 +DOWNSTREAM_NODE : 413 +ACTIVE : 1 + + +ID : 413 +UPSTREAM_NODE : 413 +DOWNSTREAM_NODE : 402 +ACTIVE : 1 + + +ID : 414 +UPSTREAM_NODE : 414 +DOWNSTREAM_NODE : 413 +ACTIVE : 1 + + +ID : 415 +UPSTREAM_NODE : 415 +DOWNSTREAM_NODE : 414 +ACTIVE : 1 + + +ID : 416 +UPSTREAM_NODE : 416 +DOWNSTREAM_NODE : 415 +ACTIVE : 1 + + +ID : 417 +UPSTREAM_NODE : 417 +DOWNSTREAM_NODE : 416 +ACTIVE : 1 + + +ID : 418 +UPSTREAM_NODE : 418 +DOWNSTREAM_NODE : 417 +ACTIVE : 1 + + +ID : 419 +UPSTREAM_NODE : 419 +DOWNSTREAM_NODE : 420 +ACTIVE : 1 + + +ID : 420 +UPSTREAM_NODE : 420 +DOWNSTREAM_NODE : 421 +ACTIVE : 1 + + +ID : 421 +UPSTREAM_NODE : 421 +DOWNSTREAM_NODE : 422 +ACTIVE : 1 + + +ID : 422 +UPSTREAM_NODE : 422 +DOWNSTREAM_NODE : 423 +ACTIVE : 1 + + +ID : 423 +UPSTREAM_NODE : 423 +DOWNSTREAM_NODE : 424 +ACTIVE : 1 + + +ID : 424 +UPSTREAM_NODE : 424 +DOWNSTREAM_NODE : 413 +ACTIVE : 1 + + +ID : 425 +UPSTREAM_NODE : 425 +DOWNSTREAM_NODE : 424 +ACTIVE : 1 + + +ID : 426 +UPSTREAM_NODE : 426 +DOWNSTREAM_NODE : 425 +ACTIVE : 1 + + +ID : 427 +UPSTREAM_NODE : 427 +DOWNSTREAM_NODE : 426 +ACTIVE : 1 + + +ID : 428 +UPSTREAM_NODE : 428 +DOWNSTREAM_NODE : 427 +ACTIVE : 1 + + +ID : 429 +UPSTREAM_NODE : 429 +DOWNSTREAM_NODE : 428 +ACTIVE : 1 + + +ID : 430 +UPSTREAM_NODE : 430 +DOWNSTREAM_NODE : 431 +ACTIVE : 1 + + +ID : 431 +UPSTREAM_NODE : 431 +DOWNSTREAM_NODE : 432 +ACTIVE : 1 + + +ID : 432 +UPSTREAM_NODE : 432 +DOWNSTREAM_NODE : 433 +ACTIVE : 1 + + +ID : 433 +UPSTREAM_NODE : 433 +DOWNSTREAM_NODE : 434 +ACTIVE : 1 + + +ID : 434 +UPSTREAM_NODE : 434 +DOWNSTREAM_NODE : 435 +ACTIVE : 1 + + +ID : 435 +UPSTREAM_NODE : 435 +DOWNSTREAM_NODE : 424 +ACTIVE : 1 + + +ID : 436 +UPSTREAM_NODE : 436 +DOWNSTREAM_NODE : 435 +ACTIVE : 1 + + +ID : 437 +UPSTREAM_NODE : 437 +DOWNSTREAM_NODE : 436 +ACTIVE : 1 + + +ID : 438 +UPSTREAM_NODE : 438 +DOWNSTREAM_NODE : 437 +ACTIVE : 1 + + +ID : 439 +UPSTREAM_NODE : 439 +DOWNSTREAM_NODE : 438 +ACTIVE : 1 + + +ID : 440 +UPSTREAM_NODE : 440 +DOWNSTREAM_NODE : 439 +ACTIVE : 1 + + +ID : 441 +UPSTREAM_NODE : 441 +DOWNSTREAM_NODE : 442 +ACTIVE : 1 + + +ID : 442 +UPSTREAM_NODE : 442 +DOWNSTREAM_NODE : 443 +ACTIVE : 1 + + +ID : 443 +UPSTREAM_NODE : 443 +DOWNSTREAM_NODE : 444 +ACTIVE : 1 + + +ID : 444 +UPSTREAM_NODE : 444 +DOWNSTREAM_NODE : 445 +ACTIVE : 1 + + +ID : 445 +UPSTREAM_NODE : 445 +DOWNSTREAM_NODE : 446 +ACTIVE : 1 + + +ID : 446 +UPSTREAM_NODE : 446 +DOWNSTREAM_NODE : 435 +ACTIVE : 1 + + +ID : 447 +UPSTREAM_NODE : 447 +DOWNSTREAM_NODE : 446 +ACTIVE : 1 + + +ID : 448 +UPSTREAM_NODE : 448 +DOWNSTREAM_NODE : 447 +ACTIVE : 1 + + +ID : 449 +UPSTREAM_NODE : 449 +DOWNSTREAM_NODE : 448 +ACTIVE : 1 + + +ID : 450 +UPSTREAM_NODE : 450 +DOWNSTREAM_NODE : 449 +ACTIVE : 1 + + +ID : 451 +UPSTREAM_NODE : 451 +DOWNSTREAM_NODE : 450 +ACTIVE : 1 + + +ID : 452 +UPSTREAM_NODE : 452 +DOWNSTREAM_NODE : 453 +ACTIVE : 1 + + +ID : 453 +UPSTREAM_NODE : 453 +DOWNSTREAM_NODE : 454 +ACTIVE : 1 + + +ID : 454 +UPSTREAM_NODE : 454 +DOWNSTREAM_NODE : 455 +ACTIVE : 1 + + +ID : 455 +UPSTREAM_NODE : 455 +DOWNSTREAM_NODE : 456 +ACTIVE : 1 + + +ID : 456 +UPSTREAM_NODE : 456 +DOWNSTREAM_NODE : 457 +ACTIVE : 1 + + +ID : 457 +UPSTREAM_NODE : 457 +DOWNSTREAM_NODE : 446 +ACTIVE : 1 + + +ID : 458 +UPSTREAM_NODE : 458 +DOWNSTREAM_NODE : 457 +ACTIVE : 1 + + +ID : 459 +UPSTREAM_NODE : 459 +DOWNSTREAM_NODE : 458 +ACTIVE : 1 + + +ID : 460 +UPSTREAM_NODE : 460 +DOWNSTREAM_NODE : 459 +ACTIVE : 1 + + +ID : 461 +UPSTREAM_NODE : 461 +DOWNSTREAM_NODE : 460 +ACTIVE : 1 + + +ID : 462 +UPSTREAM_NODE : 462 +DOWNSTREAM_NODE : 461 +ACTIVE : 1 + + +ID : 463 +UPSTREAM_NODE : 463 +DOWNSTREAM_NODE : 464 +ACTIVE : 1 + + +ID : 464 +UPSTREAM_NODE : 464 +DOWNSTREAM_NODE : 465 +ACTIVE : 1 + + +ID : 465 +UPSTREAM_NODE : 465 +DOWNSTREAM_NODE : 457 +ACTIVE : 1 + + +ID : 466 +UPSTREAM_NODE : 466 +DOWNSTREAM_NODE : 465 +ACTIVE : 1 + + +ID : 467 +UPSTREAM_NODE : 467 +DOWNSTREAM_NODE : 466 +ACTIVE : 1 + + +ID : 468 +UPSTREAM_NODE : 468 +DOWNSTREAM_NODE : 469 +ACTIVE : 1 + + +ID : 469 +UPSTREAM_NODE : 469 +DOWNSTREAM_NODE : 470 +ACTIVE : 1 + + +ID : 470 +UPSTREAM_NODE : 470 +DOWNSTREAM_NODE : 471 +ACTIVE : 1 + + +ID : 471 +UPSTREAM_NODE : 471 +DOWNSTREAM_NODE : 465 +ACTIVE : 1 + + +ID : 472 +UPSTREAM_NODE : 472 +DOWNSTREAM_NODE : 471 +ACTIVE : 1 + + +ID : 473 +UPSTREAM_NODE : 473 +DOWNSTREAM_NODE : 472 +ACTIVE : 1 + + +ID : 474 +UPSTREAM_NODE : 474 +DOWNSTREAM_NODE : 473 +ACTIVE : 1 + + +ID : 475 +UPSTREAM_NODE : 475 +DOWNSTREAM_NODE : 476 +ACTIVE : 1 + + +ID : 476 +UPSTREAM_NODE : 476 +DOWNSTREAM_NODE : 477 +ACTIVE : 1 + + +ID : 477 +UPSTREAM_NODE : 477 +DOWNSTREAM_NODE : 478 +ACTIVE : 1 + + +ID : 478 +UPSTREAM_NODE : 478 +DOWNSTREAM_NODE : 479 +ACTIVE : 1 + + +ID : 479 +UPSTREAM_NODE : 479 +DOWNSTREAM_NODE : 471 +ACTIVE : 1 + + +ID : 480 +UPSTREAM_NODE : 480 +DOWNSTREAM_NODE : 479 +ACTIVE : 1 + + +ID : 481 +UPSTREAM_NODE : 481 +DOWNSTREAM_NODE : 480 +ACTIVE : 1 + + +ID : 482 +UPSTREAM_NODE : 482 +DOWNSTREAM_NODE : 481 +ACTIVE : 1 + + +ID : 483 +UPSTREAM_NODE : 483 +DOWNSTREAM_NODE : 482 +ACTIVE : 1 + + +ID : 484 +UPSTREAM_NODE : 484 +DOWNSTREAM_NODE : 485 +ACTIVE : 1 + + +ID : 485 +UPSTREAM_NODE : 485 +DOWNSTREAM_NODE : 486 +ACTIVE : 1 + + +ID : 486 +UPSTREAM_NODE : 486 +DOWNSTREAM_NODE : 487 +ACTIVE : 1 + + +ID : 487 +UPSTREAM_NODE : 487 +DOWNSTREAM_NODE : 488 +ACTIVE : 1 + + +ID : 488 +UPSTREAM_NODE : 488 +DOWNSTREAM_NODE : 489 +ACTIVE : 1 + + +ID : 489 +UPSTREAM_NODE : 489 +DOWNSTREAM_NODE : 490 +ACTIVE : 1 + + +ID : 490 +UPSTREAM_NODE : 490 +DOWNSTREAM_NODE : 479 +ACTIVE : 1 + + +ID : 491 +UPSTREAM_NODE : 491 +DOWNSTREAM_NODE : 490 +ACTIVE : 1 + + +ID : 492 +UPSTREAM_NODE : 492 +DOWNSTREAM_NODE : 491 +ACTIVE : 1 + + +ID : 493 +UPSTREAM_NODE : 493 +DOWNSTREAM_NODE : 492 +ACTIVE : 1 + + +ID : 494 +UPSTREAM_NODE : 494 +DOWNSTREAM_NODE : 493 +ACTIVE : 1 + + +ID : 495 +UPSTREAM_NODE : 495 +DOWNSTREAM_NODE : 494 +ACTIVE : 1 + + +ID : 496 +UPSTREAM_NODE : 496 +DOWNSTREAM_NODE : 495 +ACTIVE : 1 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/ImpermeableFraction.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/ImpermeableFraction.dat new file mode 100644 index 000000000..796390ddf --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/ImpermeableFraction.dat @@ -0,0 +1,1067 @@ +COMENT1 : Grid generated by MOHID Studio +COMENT2 : Generation Time: 01-07-2010 17:29:34 +LATITUDE : 2950 +LONGITUDE : 4300 +COORD_TIP : 3 +SRID : -1 +ILB_IUB : 1 21 +JLB_JUB : 1 50 +ORIGIN : 1800 1900 +GRID_ANGLE : 0 +CONSTANT_SPACING_X : 1 +CONSTANT_SPACING_Y : 1 +DX : 100 +DY : 100 +FILL_VALUE : -99 + +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 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +0.5 +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 +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 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/ImpermeableFraction_Total.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/ImpermeableFraction_Total.dat new file mode 100644 index 000000000..773470bef --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/ImpermeableFraction_Total.dat @@ -0,0 +1,1067 @@ +COMENT1 : Grid generated by MOHID Studio +COMENT2 : Generation Time: 01-07-2010 17:29:34 +LATITUDE : 2950 +LONGITUDE : 4300 +COORD_TIP : 3 +SRID : -1 +ILB_IUB : 1 21 +JLB_JUB : 1 50 +ORIGIN : 1800 1900 +GRID_ANGLE : 0 +CONSTANT_SPACING_X : 1 +CONSTANT_SPACING_Y : 1 +DX : 100 +DY : 100 +FILL_VALUE : -99 + +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 +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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +1.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 +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 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/InitialWaterLevel0.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/InitialWaterLevel0.dat new file mode 100644 index 000000000..09b2e53af --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/InitialWaterLevel0.dat @@ -0,0 +1,1067 @@ +COMENT1 : Grid generated by MOHID Studio +COMENT2 : Generation Time: 01-07-2010 17:29:34 +LATITUDE : 2950 +LONGITUDE : 4300 +COORD_TIP : 3 +SRID : -1 +ILB_IUB : 1 21 +JLB_JUB : 1 50 +ORIGIN : 1800 1900 +GRID_ANGLE : 0 +CONSTANT_SPACING_X : 1 +CONSTANT_SPACING_Y : 1 +DX : 100 +DY : 100 +FILL_VALUE : -99 + +40.9569894394871 +42.3773886109264 +45.1658425738637 +47.9371493850183 +49.3574187823605 +50.3400667764837 +51.2907142042112 +52.3346700531935 +53.4014287197243 +54.3862240618547 +55.3500241447463 +56.3302446144369 +57.3690911198067 +58.404263292282 +59.3789319015797 +60.3378884152898 +61.314280377875 +62.3534311532764 +63.3923891408943 +64.3685538389054 +65.3275865793979 +66.3037937043009 +67.3429677748531 +68.3821417697699 +69.3583488053498 +70.317382274059 +71.2935893261529 +72.3327634061967 +73.3719374862405 +74.3481445383343 +75.3071780073185 +76.2833850594123 +77.3225591394561 +78.3617332194999 +79.3379402715937 +80.296973740578 +81.2731807926718 +82.3123548727156 +83.3515289527594 +84.3277360048532 +85.2866354788386 +86.2538602766937 +87.2396055853382 +88.2626396634807 +89.2853881059222 +90.2000414158084 +90.3303824485435 +88.05815110986 +85.7461098963934 +85.8622297069461 +32.9347252907232 +35.250447612876 +40.4470496838663 +45.6299317737861 +47.9451674256524 +49.1316768398825 +50.1502768814203 +51.2784470723175 +52.4073686827744 +53.3567997359456 +54.2652443803164 +55.2161264417571 +56.2865551952826 +57.3471225553326 +58.2769202822121 +59.170681945112 +60.1098122876029 +61.1790884663491 +62.248287881122 +63.1825487738408 +64.0773631682699 +65.0170362396483 +66.0867272120388 +67.1564181560422 +68.0905298755323 +68.9853447062377 +69.9251986267104 +70.9948897681596 +72.0645809096088 +72.9985119427908 +73.8933267734962 +74.8333613922252 +75.9030525336744 +76.9727436751236 +77.9064940100493 +78.8013088407547 +79.74152415774 +80.8112152991892 +81.8809064406384 +82.8144760773078 +83.7092909080132 +84.64390789676 +85.6045285158298 +86.5492934557612 +87.3253860882245 +87.6663735164784 +85.9763438742481 +79.1709104122007 +72.3099369589043 +70.5671488260627 +26.4980503604541 +29.5032895871395 +35.643437213854 +41.8616078875175 +45.0151605757334 +46.6726016156955 +48.0151600005096 +49.2752146349194 +50.3139495762205 +51.2059346875114 +52.0852554089511 +53.0480438714627 +54.1099242158511 +55.112204195215 +55.9739912011071 +56.8274137635478 +57.7719352758402 +58.8295288146704 +59.8398879391002 +60.70652593652 +61.5635215608591 +62.513288384351 +63.574251711022 +64.5830848075898 +65.4469345195407 +66.3039316533864 +67.2564910635929 +68.319148862882 +69.3262882440956 +70.1873463921154 +71.044343525961 +71.9996945000987 +73.064046081634 +74.0694916806013 +74.92775826469 +75.7847553985356 +76.7428979366044 +77.8089433003862 +78.8126951171071 +79.6681701372646 +80.5251672711102 +81.4861013731102 +82.5210222121689 +83.1259094916212 +83.2087911961608 +82.5374180861781 +79.1483429483818 +70.2618367840604 +61.4594942259835 +58.2148417445545 +21.2750401654909 +24.6071638801049 +30.6306276069979 +37.5193541532953 +41.0378578379892 +43.2226491219407 +45.0551582584658 +45.8557582285271 +47.0660393552545 +47.7011011151772 +48.5497642876496 +49.7014877571856 +50.441752664278 +51.6407847507169 +52.2158718992036 +53.0243030983585 +54.1640687793709 +54.8782269135133 +56.1058350148374 +56.6707672255315 +57.4863538045743 +58.6516879441324 +59.3485125568804 +60.5939504329251 +61.138724415817 +61.9543140718109 +63.1398131664938 +63.8188130118402 +65.0820758608789 +65.6066871654277 +66.4222768214216 +67.6279385944476 +68.2891134667999 +69.5702012888326 +70.0746499150383 +70.8902395710322 +72.1160640224013 +72.7594139217596 +74.0583267167864 +74.542612664649 +75.3582023206429 +76.6041894503551 +77.2297049584521 +78.4432794084312 +77.5285071988985 +75.7288031664998 +71.4523447791349 +61.1172164792377 +52.254983547353 +48.0833340342505 +16.0170829511232 +18.7079435800119 +23.3203301847318 +30.0134439100822 +35.1880099740124 +37.1836647763178 +37.4121823472242 +36.7185694874705 +39.1757752145468 +40.6994617578789 +41.4265803502643 +41.5048932060945 +40.6818921759243 +43.1782713078623 +44.6812996993006 +45.3484211160451 +45.3346482628722 +44.378088188996 +47.0142140734009 +48.5919619357793 +49.2678681757891 +49.2000356756941 +48.1186341718666 +50.8796075663209 +52.5126233667959 +53.1885334312294 +53.0654392467343 +51.8591952371865 +54.7450111373611 +56.4332891401603 +57.1091992045938 +56.9308428177745 +55.5997563025063 +58.6104147084012 +60.3539549135247 +61.0298649779582 +60.7962463888147 +59.3403173678262 +62.4758182794414 +64.2746206868892 +64.9505307513227 +64.6616010786726 +63.0807539521534 +66.3411362349861 +67.9267773853025 +66.0833012649067 +58.5429912190448 +48.2828637869416 +41.4695085871265 +37.8973215913083 +9.78647686016 +10.9405165038566 +12.7303470241639 +14.9727216122037 +16.7042795687407 +17.1600995270528 +18.6167074364528 +19.9458371756162 +19.9454986376898 +19.6541587074245 +20.0559135267574 +21.5286576525177 +22.7563572059112 +22.5190143059774 +21.9901237767268 +22.3067549513496 +23.8165850684388 +25.1015476057533 +24.8347891131422 +24.2622017799453 +24.5813392730062 +26.1635243733931 +27.5024179649601 +27.1817519975057 +26.5368029164457 +26.8559359506418 +28.5104828114368 +29.9032971106976 +29.5287104355493 +28.8113995940813 +29.1305326282774 +30.8574412494804 +32.3041762564351 +31.8756688735929 +31.0859962717169 +31.4051293059131 +33.204399687524 +34.7050554021725 +34.2226273116366 +33.3605929493525 +33.6796570317375 +35.5510610275501 +37.1055495921361 +36.5692320311951 +35.635027370114 +35.6720995448169 +33.4128230870746 +30.2264032322608 +27.7183269089733 +26.183123224921 +3.937306943058 +3.96680808999372 +4.0130977064606 +3.82420720752948 +4.3590035263411 +4.5588939631308 +4.5029206181429 +6.1985898673437 +5.5802980783443 +6.3896797401815 +6.6925304616436 +6.5323914187748 +8.0529341181423 +7.0577883047159 +7.6939305122746 +7.8882741547847 +7.6624190830108 +9.2936445871472 +8.2425332024679 +8.9306686531507 +9.1303956107427 +8.8714501357476 +10.5959035423293 +9.4515997276558 +10.1715406465346 +10.3712602098931 +10.0805022973745 +11.8981644223363 +10.6606518892827 +11.4123980161425 +11.6121175795009 +11.2895544590013 +13.2004253023432 +11.8697040509095 +12.6532553857503 +12.8529749491088 +12.4986066206281 +14.5026861823502 +13.0787562125363 +13.8940460430274 +14.0936291473613 +13.7072543376751 +15.8043585248911 +14.2872408295661 +15.1297964869718 +15.3178041950692 +14.8147970175017 +15.4677988038519 +15.5739589259492 +15.5306445194154 +0.0865606776718097 +-0.11538163590228 +-0.21937571446935 +-0.14833048975851 +0.0134777056440898 +0.16622884470281 +0.35738042758434 +0.77480202466107 +1.30784206737364 +1.75675646285862 +2.00857893004018 +2.10798082823801 +2.24106015682239 +2.45645684980952 +2.70254274060899 +2.83823973567904 +2.8916588026709 +3.04667392976053 +3.30456071859962 +3.57764121887742 +3.71964781048216 +3.76503971544931 +3.91478236385244 +4.1763158444468 +4.4570439101096 +4.5990467852917 +4.6367847261801 +4.7828909651136 +5.0480567714945 +5.3364313795453 +5.4784342547274 +5.5085256532278 +5.6509995663748 +5.9197976985422 +6.215818848981 +6.3578217241631 +6.3802665802755 +6.5191081676359 +6.7915104559304 +7.0951001696857 +7.2369977620251 +7.2516106896468 +7.3865842521944 +7.6614485824347 +7.9695677301109 +8.1065048021162 +8.1017334889866 +8.2002872215518 +8.438642568404 +8.6126118394034 +-2.29970287343913 +-2.50408774288645 +-2.60265814929605 +-2.61369414972436 +-2.5604278839497 +-2.43954166890386 +-2.21528517979278 +-1.7785090677047 +-1.3189907306143 +-0.99238982663769 +-0.77321393513764 +-0.62576084971199 +-0.49805920953758 +-0.39070565419408 +-0.26328631640893 +-0.15644878107395 +-0.05679974107563 +0.0980240443763396 +0.25390643989489 +0.39873806282509 +0.50986137625292 +0.60849140096297 +0.76246948761186 +0.91720769730039 +1.06358973884556 +1.17471141179313 +1.27178639955143 +1.42573696145125 +1.58049772132719 +1.72843138344608 +1.83955305639364 +1.93507642357823 +2.08900226757369 +2.243787745354 +2.3932730280466 +2.50439470099416 +2.59836644760504 +2.75225564660888 +2.90704345823986 +3.05803726806916 +3.16909703132525 +3.26134259494426 +3.41455087376623 +3.56883262121548 +3.72082592509442 +3.83103930150884 +3.93070718500234 +4.0596379108404 +4.19950662154 +4.3109486354397 +-3.68260201877004 +-3.9014848741119 +-4.0318793742055 +-4.07669891675301 +-4.04789325424953 +-3.94554535073148 +-3.72695506962359 +-3.30435920026233 +-2.86163164692656 +-2.5817763306857 +-2.37817353680661 +-2.22190481756376 +-2.13425180371817 +-2.07352456820053 +-1.98267687517369 +-1.88309181075582 +-1.7802545273978 +-1.66502596585856 +-1.54743843614873 +-1.44274120845506 +-1.34183831975276 +-1.23757091852563 +-1.12188635338363 +-1.00619855630533 +-0.90192145261969 +-0.80101919785168 +-0.69674994285622 +-0.58106575963719 +-0.46538157641816 +-0.36110489966249 +-0.26020264489449 +-0.1559336163256 +-0.0402494331065801 +0.0754347501124499 +0.1797116532947 +0.28061390806271 +0.38487972284376 +0.50054341598228 +0.61621901222821 +0.72050451020801 +0.82138598446303 +0.92540537187757 +1.04027838242983 +1.15589043681182 +1.26081134504222 +1.36443354746198 +1.46779820678883 +1.58058318985555 +1.69455708007415 +1.79432157267811 +-5 +-4.65 +-4.6 +-4.56478563236635 +-4.53980731541088 +-4.44016121122283 +-4.23011494806689 +-3.81243605625865 +-3.37594134427244 +-3.10551599423228 +-2.90495244342027 +-2.7503686272854 +-2.67826191634835 +-2.63689004606487 +-2.54975415261734 +-2.45009127560501 +-2.35182986124771 +-2.25319941289369 +-2.15088153218902 +-2.05002409390557 +-1.95000061469817 +-1.85000454758875 +-1.75000586553166 +-1.65000137345514 +-1.55000003325864 +-1.45 +-1.35 +-1.25 +-1.15 +-1.05 +-0.95 +-0.85 +-0.75 +-0.65 +-0.55 +-0.45000012999506 +-0.35000627977958 +-0.25003227044777 +-0.15003136332834 +-0.05000566984965 +0.0499864915190598 +0.14968505751341 +0.24881700275738 +0.34892650635979 +0.44970235349672 +0.55022081324363 +0.65093658541701 +0.75445577659309 +0.85750750061697 +0.95389022807431 +-3.68260201877004 +-3.9014848741119 +-4.0318793742055 +-4.07669891675301 +-4.04789325424953 +-3.94554535073148 +-3.72695506962359 +-3.30435920026233 +-2.86163164692656 +-2.5817763306857 +-2.37817353680661 +-2.22190481756376 +-2.13425180371817 +-2.07352456820053 +-1.98267687517369 +-1.88309181075582 +-1.7802545273978 +-1.66502596585856 +-1.54743843614873 +-1.44274120845506 +-1.34183831975276 +-1.23757091852563 +-1.12188635338363 +-1.00619855630533 +-0.90192145261969 +-0.80101919785168 +-0.69674994285622 +-0.58106575963719 +-0.46538157641816 +-0.36110489966249 +-0.26020264489449 +-0.1559336163256 +-0.0402494331065801 +0.0754347501124499 +0.1797116532947 +0.28061390806271 +0.38487972284376 +0.50054341598228 +0.61621901222821 +0.72050451020801 +0.82138598446303 +0.92540537187757 +1.04027838242983 +1.15589043681182 +1.26081134504222 +1.36443354746199 +1.46779820678883 +1.58058318985555 +1.69455708007415 +1.79432157267811 +-2.29970287343913 +-2.50408774288645 +-2.60265814929605 +-2.61369414972436 +-2.5604278839497 +-2.43954166890386 +-2.21528517979278 +-1.7785090677047 +-1.3189907306143 +-0.99238982663769 +-0.77321393513764 +-0.62576084971199 +-0.49805920953758 +-0.39070565419408 +-0.26328631640893 +-0.15644878107395 +-0.05679974107563 +0.0980240443763396 +0.25390643989489 +0.39873806282509 +0.50986137625292 +0.60849140096297 +0.76246948761186 +0.91720769730039 +1.06358973884556 +1.17471141179313 +1.27178639955143 +1.42573696145125 +1.58049772132719 +1.72843138344608 +1.83955305639364 +1.93507642357823 +2.08900226757369 +2.243787745354 +2.3932730280466 +2.50439470099416 +2.59836644760504 +2.75225564660888 +2.90704345823986 +3.05803726806916 +3.16909703132525 +3.26134259494426 +3.41455087376623 +3.56883262121548 +3.72082592509442 +3.83103930150884 +3.93070718500234 +4.0596379108404 +4.19950662154 +4.3109486354396 +0.0865606776718097 +-0.11538163590228 +-0.21937571446935 +-0.14833048975851 +0.0134777056440898 +0.16622884470281 +0.35738042758434 +0.77480202466107 +1.30784206737364 +1.75675646285862 +2.00857893004018 +2.10798082823801 +2.24106015682239 +2.45645684980952 +2.70254274060899 +2.83823973567904 +2.8916588026709 +3.04667392976053 +3.30456071859962 +3.57764121887742 +3.71964781048216 +3.76503971544931 +3.91478236385244 +4.1763158444468 +4.4570439101096 +4.5990467852917 +4.6367847261801 +4.7828909651136 +5.0480567714945 +5.3364313795453 +5.4784342547274 +5.5085256532278 +5.6509995663748 +5.9197976985422 +6.215818848981 +6.3578217241631 +6.3802665802755 +6.5191081676359 +6.7915104559304 +7.0951001696857 +7.2369977620251 +7.2516106896468 +7.3865842521944 +7.6614485824347 +7.9695677301109 +8.1065048021162 +8.1017334889866 +8.2002872215518 +8.438642568404 +8.6126118394034 +3.937306943058 +3.96680808999373 +4.0130977064606 +3.82420720752948 +4.3590035263411 +4.5588939631308 +4.5029206181429 +6.1985898673437 +5.5802980783443 +6.3896797401815 +6.6925304616436 +6.5323914187748 +8.0529341181423 +7.0577883047159 +7.6939305122746 +7.8882741547847 +7.6624190830108 +9.2936445871472 +8.2425332024679 +8.9306686531507 +9.1303956107427 +8.8714501357476 +10.5959035423293 +9.4515997276558 +10.1715406465346 +10.3712602098931 +10.0805022973745 +11.8981644223363 +10.6606518892827 +11.4123980161425 +11.6121175795009 +11.2895544590013 +13.2004253023433 +11.8697040509095 +12.6532553857503 +12.8529749491088 +12.4986066206281 +14.5026861823502 +13.0787562125363 +13.8940460430274 +14.0936291473613 +13.7072543376751 +15.8043585248911 +14.2872408295661 +15.1297964869718 +15.3178041950691 +14.8147970175017 +15.4677988038519 +15.5739589259492 +15.5306445194154 +9.78647686016 +10.9405165038566 +12.7303470241639 +14.9727216122037 +16.7042795687407 +17.1600995270528 +18.6167074364528 +19.9458371756162 +19.9454986376898 +19.6541587074245 +20.0559135267574 +21.5286576525177 +22.7563572059112 +22.5190143059774 +21.9901237767268 +22.3067549513496 +23.8165850684388 +25.1015476057533 +24.8347891131422 +24.2622017799453 +24.5813392730062 +26.1635243733931 +27.5024179649601 +27.1817519975057 +26.5368029164457 +26.8559359506418 +28.5104828114368 +29.9032971106976 +29.5287104355493 +28.8113995940813 +29.1305326282774 +30.8574412494804 +32.3041762564351 +31.8756688735929 +31.0859962717169 +31.4051293059131 +33.204399687524 +34.7050554021725 +34.2226273116366 +33.3605929493525 +33.6796570317375 +35.5510610275501 +37.1055495921361 +36.5692320311951 +35.635027370114 +35.6720995448169 +33.4128230870746 +30.2264032322608 +27.7183269089733 +26.183123224921 +16.0170829511232 +18.7079435800119 +23.3203301847318 +30.0134439100822 +35.1880099740124 +37.1836647763178 +37.4121823472242 +36.7185694874705 +39.1757752145468 +40.6994617578789 +41.4265803502643 +41.5048932060945 +40.6818921759243 +43.1782713078623 +44.6812996993006 +45.3484211160451 +45.3346482628722 +44.378088188996 +47.0142140734009 +48.5919619357793 +49.2678681757891 +49.2000356756941 +48.1186341718666 +50.8796075663209 +52.5126233667959 +53.1885334312294 +53.0654392467343 +51.8591952371865 +54.7450111373611 +56.4332891401603 +57.1091992045938 +56.9308428177745 +55.5997563025064 +58.6104147084012 +60.3539549135247 +61.0298649779583 +60.7962463888147 +59.3403173678262 +62.4758182794414 +64.2746206868892 +64.9505307513227 +64.6616010786726 +63.0807539521534 +66.3411362349861 +67.9267773853025 +66.0833012649067 +58.5429912190448 +48.2828637869416 +41.4695085871265 +37.8973215913083 +21.2750401654909 +24.6071638801049 +30.6306276069979 +37.5193541532953 +41.0378578379892 +43.2226491219407 +45.0551582584658 +45.8557582285271 +47.0660393552545 +47.7011011151772 +48.5497642876496 +49.7014877571856 +50.441752664278 +51.6407847507169 +52.2158718992036 +53.0243030983585 +54.1640687793709 +54.8782269135133 +56.1058350148374 +56.6707672255315 +57.4863538045743 +58.6516879441324 +59.3485125568804 +60.5939504329251 +61.138724415817 +61.9543140718109 +63.1398131664938 +63.8188130118402 +65.0820758608789 +65.6066871654277 +66.4222768214216 +67.6279385944476 +68.2891134667999 +69.5702012888326 +70.0746499150383 +70.8902395710322 +72.1160640224013 +72.7594139217596 +74.0583267167864 +74.542612664649 +75.3582023206429 +76.6041894503551 +77.2297049584521 +78.4432794084312 +77.5285071988985 +75.7288031664998 +71.4523447791349 +61.1172164792377 +52.254983547353 +48.0833340342505 +26.4980503604541 +29.5032895871395 +35.643437213854 +41.8616078875175 +45.0151605757334 +46.6726016156955 +48.0151600005096 +49.2752146349194 +50.3139495762205 +51.2059346875114 +52.0852554089511 +53.0480438714627 +54.1099242158511 +55.1122041952149 +55.9739912011071 +56.8274137635478 +57.7719352758402 +58.8295288146704 +59.8398879391002 +60.70652593652 +61.5635215608591 +62.513288384351 +63.574251711022 +64.5830848075898 +65.4469345195407 +66.3039316533864 +67.2564910635929 +68.319148862882 +69.3262882440956 +70.1873463921154 +71.044343525961 +71.9996945000987 +73.064046081634 +74.0694916806013 +74.92775826469 +75.7847553985356 +76.7428979366044 +77.8089433003862 +78.8126951171071 +79.6681701372646 +80.5251672711102 +81.4861013731102 +82.5210222121689 +83.1259094916212 +83.2087911961608 +82.5374180861781 +79.1483429483818 +70.2618367840604 +61.4594942259835 +58.2148417445545 +32.9347252907232 +35.250447612876 +40.4470496838663 +45.6299317737861 +47.9451674256524 +49.1316768398825 +50.1502768814203 +51.2784470723175 +52.4073686827744 +53.3567997359456 +54.2652443803164 +55.2161264417571 +56.2865551952826 +57.3471225553326 +58.2769202822121 +59.170681945112 +60.1098122876029 +61.1790884663491 +62.248287881122 +63.1825487738408 +64.0773631682699 +65.0170362396483 +66.0867272120388 +67.1564181560422 +68.0905298755323 +68.9853447062377 +69.9251986267104 +70.9948897681596 +72.0645809096088 +72.9985119427908 +73.8933267734962 +74.8333613922252 +75.9030525336744 +76.9727436751236 +77.9064940100493 +78.8013088407547 +79.74152415774 +80.8112152991892 +81.8809064406384 +82.8144760773078 +83.7092909080132 +84.64390789676 +85.6045285158298 +86.5492934557612 +87.3253860882245 +87.6663735164784 +85.9763438742481 +79.1709104122007 +72.3099369589043 +70.5671488260627 +40.9569894394871 +42.3773886109264 +45.1658425738637 +47.9371493850183 +49.3574187823605 +50.3400667764837 +51.2907142042112 +52.3346700531935 +53.4014287197243 +54.3862240618547 +55.3500241447463 +56.3302446144369 +57.3690911198067 +58.404263292282 +59.3789319015797 +60.3378884152898 +61.314280377875 +62.3534311532764 +63.3923891408943 +64.3685538389054 +65.3275865793979 +66.3037937043009 +67.3429677748531 +68.3821417697699 +69.3583488053498 +70.317382274059 +71.2935893261529 +72.3327634061967 +73.3719374862405 +74.3481445383343 +75.3071780073185 +76.2833850594123 +77.3225591394561 +78.3617332194999 +79.3379402715937 +80.296973740578 +81.2731807926718 +82.3123548727156 +83.3515289527594 +84.3277360048532 +85.2866354788386 +86.2538602766937 +87.2396055853382 +88.2626396634807 +89.2853881059222 +90.2000414158084 +90.3303824485435 +88.05815110986 +85.7461098963934 +85.8622297069461 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Slope.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Slope.dat new file mode 100644 index 000000000..c93ed9404 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/Slope.dat @@ -0,0 +1,1067 @@ +COMENT1 : Grid generated by MOHID Studio +COMENT2 : Generation Time: 01-07-2010 17:29:34 +LATITUDE : 2950 +LONGITUDE : 4300 +COORD_TIP : 3 +SRID : -1 +ILB_IUB : 1 21 +JLB_JUB : 1 50 +ORIGIN : 1800 1900 +GRID_ANGLE : 0 +CONSTANT_SPACING_X : 1 +CONSTANT_SPACING_Y : 1 +DX : 100 +DY : 100 +FILL_VALUE : -99 + +4.22672779900938E-07 +4.21188402865447E-07 +3.84394398352721E-07 +2.776857128398E-07 +1.46404102615549E-07 +9.5721526446005E-08 +8.04122124497548E-08 +8.35892643177649E-08 +8.02754136448777E-08 +7.77654093645884E-08 +7.8775959547546E-08 +7.80933308454609E-08 +8.0546599643727E-08 +8.3143348570546E-08 +8.29584818082114E-08 +8.47725934910238E-08 +8.43928493733656E-08 +8.69841886983374E-08 +8.97387411907228E-08 +8.93060199779224E-08 +9.09403890486289E-08 +9.04926059432453E-08 +9.3047367922928E-08 +9.58080826667876E-08 +9.53602778396189E-08 +9.69935277621786E-08 +9.65457168459518E-08 +9.9093774640945E-08 +1.01861180975934E-07 +1.014133700597E-07 +1.03046619560138E-07 +1.02598808643904E-07 +1.05140174449542E-07 +1.07914272773886E-07 +1.07466461857651E-07 +1.09099711358097E-07 +1.08651900441863E-07 +1.11186574258146E-07 +1.13967364571845E-07 +1.13519553655611E-07 +1.1535689919067E-07 +1.18283113501244E-07 +1.21694271839435E-07 +1.33150938726351E-07 +1.61287359753673E-07 +2.62880798133108E-07 +5.1193956921319E-07 +6.60318011690559E-07 +8.05644801647958E-07 +1.00379273891135E-06 +5.49585968293295E-07 +5.5563751768256E-07 +5.34383038541394E-07 +3.86384683898224E-07 +2.58747094141513E-07 +1.96574710237187E-07 +1.70739285382821E-07 +1.6267559211909E-07 +1.64207412622199E-07 +1.63394692411401E-07 +1.65034149557541E-07 +1.65753564935049E-07 +1.68550305829537E-07 +1.72308883412328E-07 +1.7491342278419E-07 +1.77394514918122E-07 +1.78659693839521E-07 +1.81727916485408E-07 +1.85686548109389E-07 +1.88117918895165E-07 +1.90351565886555E-07 +1.91427887640534E-07 +1.94397161580962E-07 +1.98350500803791E-07 +2.0082712247598E-07 +2.03061436064986E-07 +2.04092211967155E-07 +2.07029484339198E-07 +2.11014781771187E-07 +2.13536901969383E-07 +2.15771215864174E-07 +2.16756493132058E-07 +2.19661791858197E-07 +2.23679062936087E-07 +2.26246681773669E-07 +2.28480995668459E-07 +2.29420774296956E-07 +2.322940993772E-07 +2.36343344100985E-07 +2.38953980388802E-07 +2.41021969630054E-07 +2.41757666669367E-07 +2.53387515753166E-07 +2.78067462044057E-07 +3.32350723571308E-07 +4.57232508036703E-07 +6.7461610236842E-07 +8.44907869219242E-07 +1.01273996595864E-06 +1.09267189220535E-06 +5.94864921483622E-07 +6.29029503494618E-07 +5.92614900643543E-07 +4.89414817460834E-07 +3.46631622106387E-07 +3.0140524991971E-07 +2.83864929674029E-07 +2.61261601532166E-07 +2.75695225987741E-07 +2.76893306340906E-07 +2.80386833244644E-07 +2.89508019147358E-07 +2.81133341601619E-07 +2.96502615024556E-07 +2.96840819344848E-07 +3.01381558932164E-07 +3.11775701877375E-07 +3.02993485188992E-07 +3.19167121532525E-07 +3.18919604675428E-07 +3.23212132402757E-07 +3.33808168089852E-07 +3.24035582036837E-07 +3.41080156988667E-07 +3.40483075437076E-07 +3.44776354440854E-07 +3.55735993205176E-07 +3.45092039611057E-07 +3.63007931648157E-07 +3.62047183011343E-07 +3.66340462363123E-07 +3.77663773963412E-07 +3.66148503044951E-07 +3.84935712406398E-07 +3.83611290933616E-07 +3.87904570285396E-07 +3.99591554721653E-07 +3.87204966478844E-07 +4.06863493164634E-07 +4.05175398855885E-07 +4.09300360090009E-07 +4.18174475202621E-07 +4.03865115934366E-07 +4.52915347446503E-07 +5.02440635783224E-07 +6.0145562743711E-07 +7.31026976778638E-07 +9.48963185280573E-07 +1.08955605601426E-06 +1.08905012905834E-06 +4.85424395378918E-07 +5.12704921136998E-07 +5.59786915995463E-07 +5.82357763329514E-07 +4.79722894305654E-07 +4.5933139378545E-07 +4.95651704895149E-07 +4.88807193615407E-07 +5.18529009664354E-07 +4.90059440617184E-07 +4.9574257253399E-07 +5.41542402730482E-07 +5.2783621207303E-07 +5.55797019875615E-07 +5.26393744781546E-07 +5.335220596581E-07 +5.82994972335053E-07 +5.67988163691629E-07 +5.97284548586802E-07 +5.64803809149296E-07 +5.71694623952565E-07 +6.23932938346505E-07 +6.07418224130999E-07 +6.38291906577949E-07 +6.02969853767566E-07 +6.09860624673806E-07 +6.64943822985556E-07 +6.46889426339693E-07 +6.79302819593369E-07 +6.41135847844394E-07 +6.48026618750635E-07 +7.05954737504911E-07 +6.86360645573982E-07 +7.20313734112724E-07 +6.79301841921221E-07 +6.86192612827461E-07 +7.46965652024269E-07 +7.25831864808268E-07 +7.6132464863208E-07 +7.17467835998047E-07 +7.2435970590187E-07 +7.87241509941598E-07 +7.55638646592816E-07 +7.80662461828535E-07 +7.47311300095477E-07 +8.06857080245025E-07 +9.17625179496813E-07 +9.12706599869423E-07 +9.50953753617922E-07 +8.98871299351463E-07 +6.81979240966408E-07 +7.59719774875096E-07 +9.51869575331232E-07 +1.15275913616017E-06 +1.34691826301144E-06 +1.4008806382799E-06 +1.41904934636351E-06 +1.43583082515931E-06 +1.47052722464142E-06 +1.52536965062227E-06 +1.54079278994892E-06 +1.53009815479922E-06 +1.53603456611481E-06 +1.57841951683981E-06 +1.64121224304618E-06 +1.66005971266514E-06 +1.64746165599374E-06 +1.65177391876891E-06 +1.69480504837134E-06 +1.76017754620116E-06 +1.77865357841994E-06 +1.76346471062258E-06 +1.76655684616089E-06 +1.81094048975067E-06 +1.87901839722018E-06 +1.89749463113283E-06 +1.8796005620353E-06 +1.88135114893094E-06 +1.9270763969747E-06 +1.99785971629423E-06 +2.01633595020688E-06 +1.99573646925934E-06 +1.99614545632334E-06 +2.04321230419874E-06 +2.11670103536827E-06 +2.13517726928093E-06 +2.11187237648337E-06 +2.11093976371574E-06 +2.15934821142277E-06 +2.2355443627112E-06 +2.25402724153889E-06 +2.22802064292556E-06 +2.22343173604679E-06 +2.24217730822489E-06 +2.26460590704802E-06 +2.21641247086346E-06 +1.93513622789718E-06 +1.64228211982987E-06 +1.36312875499137E-06 +1.2385482093886E-06 +7.35213636524614E-07 +7.6638290201584E-07 +1.00467361658128E-06 +1.23138817831391E-06 +1.44751182974894E-06 +1.58634269775032E-06 +1.5582601186437E-06 +1.62076847292975E-06 +1.59856602426279E-06 +1.70333414123857E-06 +1.72944727091467E-06 +1.66164312118039E-06 +1.73197674447268E-06 +1.71688339359593E-06 +1.83507263574637E-06 +1.86413286384107E-06 +1.78986410296316E-06 +1.86262410154573E-06 +1.84342885073229E-06 +1.9678079391374E-06 +1.99706669703056E-06 +1.91605654235178E-06 +1.99207239651221E-06 +1.96967929556034E-06 +2.10095587086084E-06 +2.1302150345536E-06 +2.04230773347167E-06 +2.1215211443E-06 +2.09593063563477E-06 +2.23410460564661E-06 +2.26336376933937E-06 +2.16855907354611E-06 +2.25096989208779E-06 +2.22218197570921E-06 +2.36725334043237E-06 +2.39651250412513E-06 +2.29481041362054E-06 +2.38041863987559E-06 +2.34843455109774E-06 +2.50040583734783E-06 +2.52967000261112E-06 +2.42107909181815E-06 +2.50988963643522E-06 +2.46697472227485E-06 +2.55267557232847E-06 +2.37216774821422E-06 +2.0520047690386E-06 +1.70890011786353E-06 +1.3479495105764E-06 +1.28335334054961E-06 +5.56468871871733E-07 +5.65721675430675E-07 +6.35090653896431E-07 +6.91324460868767E-07 +7.52484931371103E-07 +8.05833813774618E-07 +8.15954850985527E-07 +8.77890357342018E-07 +8.4292013690398E-07 +8.50946049578225E-07 +8.63709870068456E-07 +8.73963967642014E-07 +9.40463138915918E-07 +9.03402214510425E-07 +9.1507874239149E-07 +9.29314572298723E-07 +9.40121343311961E-07 +1.01090594714559E-06 +9.70272301098812E-07 +9.81547961833731E-07 +9.95814479978266E-07 +1.00642782746205E-06 +1.08109673291796E-06 +1.03665389305104E-06 +1.04795157182832E-06 +1.06221805650714E-06 +1.07280910856792E-06 +1.15134834675695E-06 +1.10303559589919E-06 +1.11435551118154E-06 +1.12862199586035E-06 +1.13919081141607E-06 +1.22160011028788E-06 +1.16941729874734E-06 +1.18075945053475E-06 +1.19502593521356E-06 +1.20557251426422E-06 +1.29185290640902E-06 +1.2358028925953E-06 +1.24716847575389E-06 +1.26143543930291E-06 +1.27196207544706E-06 +1.36215189714375E-06 +1.302357403554E-06 +1.30858420059434E-06 +1.24515144423407E-06 +1.15995452825992E-06 +1.08680474959147E-06 +9.93235975131142E-07 +9.71289754611626E-07 +3.73264762644644E-07 +3.79949964254228E-07 +3.81858786662687E-07 +4.01162155275203E-07 +3.93366298866365E-07 +4.0019906472654E-07 +4.52663923957728E-07 +3.99934834487191E-07 +4.57869526603297E-07 +4.17151219165074E-07 +4.22995383176505E-07 +4.80008888959031E-07 +4.2809884247511E-07 +4.94373926312914E-07 +4.51742460318003E-07 +4.57593379397779E-07 +5.17942072831301E-07 +4.60702924036205E-07 +5.30519180746445E-07 +4.84074660884631E-07 +4.90091235265782E-07 +5.54309033646824E-07 +4.92683740754807E-07 +5.66928801806542E-07 +5.1678903785462E-07 +5.22805580992504E-07 +5.90739064810489E-07 +5.24699199903462E-07 +6.03358871178699E-07 +5.49503553832327E-07 +5.55520096970211E-07 +6.27169171332188E-07 +5.56714744304347E-07 +6.39788977700401E-07 +5.82218069810034E-07 +5.88234612947913E-07 +6.63599482256006E-07 +5.88730876717165E-07 +6.76219269398719E-07 +6.14932257567694E-07 +6.20946817425135E-07 +7.00035070741268E-07 +6.20766583614349E-07 +7.12562786435999E-07 +6.47281928376371E-07 +6.50069971833329E-07 +6.7698600275785E-07 +6.54486804002039E-07 +6.63411486761042E-07 +6.61612246052367E-07 +1.92298417373698E-07 +1.82754818193957E-07 +1.86329968129084E-07 +1.90613805636887E-07 +1.94419733180715E-07 +1.96119085608461E-07 +1.95402390749576E-07 +2.00622390465722E-07 +2.07658407258142E-07 +2.10166641801083E-07 +2.12132834388949E-07 +2.13808954990376E-07 +2.1623471359679E-07 +2.20380323209633E-07 +2.25494876263387E-07 +2.27698556979062E-07 +2.28696438184199E-07 +2.31995416713875E-07 +2.37355513300621E-07 +2.41853516656044E-07 +2.43989465663472E-07 +2.44900319738039E-07 +2.48108428103414E-07 +2.53463247338051E-07 +2.5815386634886E-07 +2.60304973819376E-07 +2.61092778073328E-07 +2.6423095509164E-07 +2.69655408474194E-07 +2.74468979972666E-07 +2.76620111392692E-07 +2.77285095629016E-07 +2.80353521842993E-07 +2.85847726029883E-07 +2.90784117545982E-07 +2.92935358471058E-07 +2.93478273776446E-07 +2.96476425097669E-07 +3.02038614241365E-07 +3.07094932975978E-07 +3.09247961695903E-07 +3.09685144058236E-07 +3.12576049426668E-07 +3.18135510039566E-07 +3.23089892710132E-07 +3.24956012879311E-07 +3.24949853005133E-07 +3.26019207450501E-07 +3.28358418258436E-07 +3.33291338370202E-07 +1.22226174659526E-07 +1.39600699093167E-07 +1.29301655907021E-07 +1.27878577567041E-07 +1.28363027560505E-07 +1.30470981607265E-07 +1.33403338000355E-07 +1.31164843265567E-07 +1.30344286547836E-07 +1.33273514384761E-07 +1.35394247550278E-07 +1.37391243496149E-07 +1.3992305659753E-07 +1.44123027178364E-07 +1.46067107568168E-07 +1.47344780631202E-07 +1.49533716035772E-07 +1.51006091430462E-07 +1.54030510730115E-07 +1.56272917684202E-07 +1.5781749319429E-07 +1.60048633571831E-07 +1.61435887915902E-07 +1.64545575095701E-07 +1.66804493072781E-07 +1.68364701857404E-07 +1.70595115644602E-07 +1.71926219191476E-07 +1.75091905315439E-07 +1.77351749178719E-07 +1.78911982779798E-07 +1.81141499334907E-07 +1.82416632565871E-07 +1.85638289005746E-07 +1.87899033124087E-07 +1.89459380600898E-07 +1.91688154160467E-07 +1.92907336984306E-07 +1.96183263924293E-07 +1.98441638364278E-07 +1.99999753321884E-07 +2.02225972825051E-07 +2.03395471563934E-07 +2.066870832739E-07 +2.0886107423086E-07 +2.10595745295891E-07 +2.11833786934571E-07 +2.12749466169934E-07 +2.13724242884173E-07 +2.11023491980106E-07 +1.04672486509436E-07 +7.55384113942249E-08 +5.82106416442421E-08 +5.00152574160333E-08 +5.03759950516932E-08 +5.2667787608212E-08 +5.76631856838435E-08 +4.93714499568697E-08 +4.12465452402747E-08 +4.62718820251388E-08 +4.79392309769061E-08 +4.70858630218966E-08 +5.05534205056928E-08 +5.51155423771102E-08 +5.44504745159505E-08 +5.41817325535094E-08 +5.50531557968014E-08 +5.61567476661977E-08 +5.68852061067666E-08 +5.76844384687533E-08 +5.81093005046675E-08 +5.88999465907701E-08 +5.9850792000592E-08 +6.08013920734588E-08 +6.15916594870595E-08 +6.19988280503963E-08 +6.27890509911292E-08 +6.37396869646824E-08 +6.46906765310434E-08 +6.54808994717759E-08 +6.58880400764971E-08 +6.66782630172291E-08 +6.76288882032057E-08 +6.85798885571433E-08 +6.93701114978763E-08 +6.9777122163231E-08 +7.0566954885759E-08 +7.15194943834466E-08 +7.24698415785415E-08 +7.32562171583254E-08 +7.36526313550591E-08 +7.44319400563611E-08 +7.54499482172773E-08 +7.63825501540956E-08 +7.72249954441216E-08 +7.75703407191887E-08 +7.82838209245254E-08 +7.8774548856338E-08 +7.9081655114367E-08 +7.05747597342024E-08 +1.09345429439385E-07 +1.17554243320969E-07 +9.97589648344166E-08 +9.59611542209396E-08 +9.4885708791471E-08 +9.56397336279321E-08 +9.60142682814742E-08 +9.81709653466359E-08 +1.01174258279753E-07 +1.01596568366486E-07 +1.02580982209556E-07 +1.04514210820144E-07 +1.05700190796153E-07 +1.07604814888278E-07 +1.09519686163321E-07 +1.10548066490836E-07 +1.12021802656614E-07 +1.13455761701046E-07 +1.15944889404849E-07 +1.17445591783765E-07 +1.18409877963356E-07 +1.19929603572754E-07 +1.21337841501576E-07 +1.23802658640979E-07 +1.25340079802785E-07 +1.26329073623021E-07 +1.2784881263063E-07 +1.29222606810719E-07 +1.31721642894705E-07 +1.33259697184885E-07 +1.34248730039266E-07 +1.35767911273776E-07 +1.37107376039848E-07 +1.3964074153785E-07 +1.41179358356006E-07 +1.42168570327087E-07 +1.43687645756929E-07 +1.44992158326886E-07 +1.47558510785635E-07 +1.49096100441034E-07 +1.5008799478718E-07 +1.51611845497647E-07 +1.52861103322829E-07 +1.55436451072713E-07 +1.56933583380339E-07 +1.58099761516771E-07 +1.58906941070016E-07 +1.59855965247628E-07 +1.60952171102854E-07 +1.62722451173938E-07 +1.70246222218039E-07 +1.7045890907445E-07 +1.73444776169148E-07 +1.77028639193204E-07 +1.80766849375457E-07 +1.83140245308578E-07 +1.84157129905317E-07 +1.85570723876007E-07 +1.89255352570522E-07 +1.92369976745825E-07 +1.94892399791206E-07 +1.96997846300034E-07 +1.99196746901343E-07 +2.03708295192409E-07 +2.07997640801034E-07 +2.10376795691453E-07 +2.12083224628746E-07 +2.14126506761878E-07 +2.18806797590252E-07 +2.22885287668571E-07 +2.25347355400182E-07 +2.2703722085609E-07 +2.28992575067845E-07 +2.33725458383448E-07 +2.37928579640224E-07 +2.40399907496338E-07 +2.42007954695227E-07 +2.43872929823992E-07 +2.48695991304471E-07 +2.52980859538279E-07 +2.55452202083834E-07 +2.56978583556235E-07 +2.58753311982744E-07 +2.63666620165479E-07 +2.68033154125776E-07 +2.70504563836294E-07 +2.71949740261506E-07 +2.736338488724E-07 +2.78635923083676E-07 +2.83081782622867E-07 +2.85552618282797E-07 +2.86926706829909E-07 +2.88497053116677E-07 +2.93517488809641E-07 +2.97846983671834E-07 +2.99984272437113E-07 +3.00413330211147E-07 +3.00778578084126E-07 +3.0212696531958E-07 +3.032550895909E-07 +3.42521049202516E-07 +3.43313857096092E-07 +3.4489644066886E-07 +3.61895685937042E-07 +3.57596630455571E-07 +3.63273779557537E-07 +4.03405808461074E-07 +3.62848467618783E-07 +4.11565166948843E-07 +3.81154659798764E-07 +3.86060586812288E-07 +4.30048728207421E-07 +3.88903436989211E-07 +4.43120863266317E-07 +4.11711959481015E-07 +4.16753892308989E-07 +4.63332218134891E-07 +4.18335147578647E-07 +4.75724862729802E-07 +4.41296651470729E-07 +4.46436747110534E-07 +4.95916492173067E-07 +4.47360029092539E-07 +5.08327135463053E-07 +4.71108576786681E-07 +4.76248622648054E-07 +5.28545261204538E-07 +4.76430236781717E-07 +5.40955936835897E-07 +5.00920516629034E-07 +5.06060562490406E-07 +5.61174111314246E-07 +5.05500556314159E-07 +5.73584786945605E-07 +5.30732456471386E-07 +5.35872502332754E-07 +5.93803229581136E-07 +5.34571647265361E-07 +6.0621407670246E-07 +5.60543792652575E-07 +5.65682325529351E-07 +6.26439234999526E-07 +5.63662860936919E-07 +6.38768960996553E-07 +5.90017611388404E-07 +5.92429836342672E-07 +6.11611517604256E-07 +5.93358248250388E-07 +6.02544881314368E-07 +6.03948078196057E-07 +4.95431934761402E-07 +5.04978017820296E-07 +5.72664124541355E-07 +6.32178147980287E-07 +6.86969412834381E-07 +7.39965712477922E-07 +7.55223399063943E-07 +7.97074155165415E-07 +7.77939813437964E-07 +7.79686098337303E-07 +7.92017784248592E-07 +8.07582186233677E-07 +8.53551258392508E-07 +8.3433335173827E-07 +8.3907292167417E-07 +8.52637170729289E-07 +8.69034697145811E-07 +9.17595922898005E-07 +8.96016650489992E-07 +8.99939773251744E-07 +9.13596466186059E-07 +9.30306748629939E-07 +9.81315197692289E-07 +9.57348174139818E-07 +9.60841730693569E-07 +9.74498453340727E-07 +9.91638151033476E-07 +1.04508284560254E-06 +1.01867991164527E-06 +1.02174404417717E-06 +1.03540076682432E-06 +1.05296988853893E-06 +1.10885061245286E-06 +1.08001164915072E-06 +1.08264635766076E-06 +1.09630308030792E-06 +1.11430162604438E-06 +1.17261919976388E-06 +1.14134647831091E-06 +1.14355295745554E-06 +1.15721023091012E-06 +1.17564095787447E-06 +1.23642649363217E-06 +1.20281775950429E-06 +1.19945599138091E-06 +1.13547601722625E-06 +1.05962816310063E-06 +9.78402609217639E-07 +8.85287187138815E-07 +8.64478172957534E-07 +8.69578513692455E-07 +8.97836868351538E-07 +1.17983653066732E-06 +1.446478939657E-06 +1.70195397768173E-06 +1.87460732703368E-06 +1.83439192342768E-06 +1.89710709195574E-06 +1.88116054981476E-06 +2.01429581032362E-06 +2.04642190748354E-06 +1.95571494300351E-06 +2.02694689242329E-06 +2.02054902273434E-06 +2.17052631064289E-06 +2.20603253149365E-06 +2.10684484864758E-06 +2.17999965204029E-06 +2.16949981925387E-06 +2.32744357038568E-06 +2.36326615100863E-06 +2.25537339116425E-06 +2.33150486529994E-06 +2.31809515681616E-06 +2.48496640796142E-06 +2.52078950863126E-06 +2.40396968436053E-06 +2.48301059661906E-06 +2.46669160286717E-06 +2.6424901955465E-06 +2.67831329621634E-06 +2.55256613041155E-06 +2.63451632793819E-06 +2.6152880489182E-06 +2.80001398313158E-06 +2.83583708380141E-06 +2.70116257646257E-06 +2.78602205925732E-06 +2.7638857302833E-06 +2.95754153284636E-06 +2.99337030546355E-06 +2.84977989779078E-06 +2.93755482429248E-06 +2.90275340981564E-06 +3.01319408267012E-06 +2.78728673084574E-06 +2.41000509455029E-06 +2.00680143294777E-06 +1.57946137804848E-06 +1.51357930630506E-06 +6.66601782983636E-07 +7.94462359570694E-07 +1.02517774987397E-06 +1.32090285777253E-06 +1.5794954693117E-06 +1.63223769859187E-06 +1.62689156622624E-06 +1.59858010265023E-06 +1.68106442654221E-06 +1.76111558149404E-06 +1.77681566637358E-06 +1.74737377349627E-06 +1.71024771762383E-06 +1.80462514574021E-06 +1.89479556692349E-06 +1.91426904691173E-06 +1.88111678306826E-06 +1.83878061991288E-06 +1.93749461123072E-06 +2.03218059362084E-06 +2.05121066019937E-06 +2.01370486874338E-06 +1.96656280646677E-06 +2.0701835410759E-06 +2.16930882995811E-06 +2.18833916066106E-06 +2.1463943399396E-06 +2.0943538876112E-06 +2.20287305481416E-06 +2.3064376128797E-06 +2.32546794358264E-06 +2.27908385367785E-06 +2.222144972279E-06 +2.33556256855241E-06 +2.44356639580128E-06 +2.46259672650422E-06 +2.4117733674161E-06 +2.3499360569468E-06 +2.46825208229065E-06 +2.58069770622821E-06 +2.59973639988414E-06 +2.54447745006279E-06 +2.47597800160854E-06 +2.57555900193611E-06 +2.64571311119564E-06 +2.60184459970162E-06 +2.21497438231768E-06 +1.76403679962161E-06 +1.42252865736572E-06 +1.23835758558194E-06 +6.91219217939571E-07 +6.4312641514922E-07 +6.67911624051637E-07 +6.26822417644621E-07 +4.91727462793867E-07 +4.78653738298521E-07 +4.91748299856357E-07 +5.01757321537694E-07 +5.19171548345612E-07 +5.10117340629517E-07 +5.17522422681316E-07 +5.45362736566113E-07 +5.44372683260374E-07 +5.56426233687301E-07 +5.47784499001659E-07 +5.56915737499323E-07 +5.87433480001843E-07 +5.86272312372619E-07 +5.98239394580675E-07 +5.87875721841297E-07 +5.96743666760205E-07 +6.28506728720004E-07 +6.26945406528393E-07 +6.39430109712244E-07 +6.27657812718894E-07 +6.36525688016379E-07 +6.69703179965646E-07 +6.67685511686508E-07 +6.80626609305808E-07 +6.6743981099378E-07 +6.76307686291269E-07 +7.10899682011208E-07 +7.08425644602976E-07 +7.21823111351375E-07 +7.07221809268667E-07 +7.16089684566155E-07 +7.52096184056782E-07 +7.49165777519441E-07 +7.63019613396944E-07 +7.47003807543554E-07 +7.55872520549067E-07 +7.92091827862697E-07 +7.74146855653523E-07 +7.67664750432491E-07 +7.76655128013468E-07 +8.27766845042876E-07 +9.39058002680511E-07 +1.05432902620984E-06 +1.19265564039482E-06 +1.20732676195956E-06 +4.62761865375488E-07 +6.09125368680439E-07 +6.65507897493696E-07 +5.80722406660789E-07 +4.28083006887741E-07 +3.53797334113355E-07 +3.35931043495602E-07 +3.09872374855322E-07 +3.33400999077439E-07 +3.28013659843316E-07 +3.2960535635534E-07 +3.42932486564732E-07 +3.32532066307874E-07 +3.57715505550852E-07 +3.5158212542414E-07 +3.54289888530186E-07 +3.69092820338694E-07 +3.57869956142474E-07 +3.84737007626994E-07 +3.77649172024288E-07 +3.8001425381635E-07 +3.9540774121401E-07 +3.82735467618725E-07 +4.10926377881168E-07 +4.03092815110929E-07 +4.05458291610524E-07 +4.21606374038141E-07 +4.07606362174183E-07 +4.37124956984152E-07 +4.285367308285E-07 +4.30902207549337E-07 +4.47804957018483E-07 +4.32477258849212E-07 +4.63323539964497E-07 +4.53980646767321E-07 +4.56346123488156E-07 +4.74003539998828E-07 +4.57348155524249E-07 +4.89522122944838E-07 +4.79424562706135E-07 +4.81683029031362E-07 +4.98075795900142E-07 +4.80263430853943E-07 +5.44969427805869E-07 +5.93269768786914E-07 +7.42280516942738E-07 +9.44444526881987E-07 +1.03261132825779E-06 +9.99474088949873E-07 +9.58929010662601E-07 +6.77128097477113E-07 +6.24345028115976E-07 +5.03216074605617E-07 +3.18386472493888E-07 +2.06200199449676E-07 +1.66358556661119E-07 +1.49749475749483E-07 +1.40476593271162E-07 +1.39998091482882E-07 +1.39243644003391E-07 +1.42856426403079E-07 +1.4506444254945E-07 +1.44665283195653E-07 +1.45187297060383E-07 +1.49177755057602E-07 +1.5359304378857E-07 +1.56477125523444E-07 +1.56289825156368E-07 +1.56670679607356E-07 +1.6046316157655E-07 +1.64707351734339E-07 +1.67454255919143E-07 +1.67190192506005E-07 +1.67551761927234E-07 +1.71381951072234E-07 +1.7562728331729E-07 +1.78338967307027E-07 +1.78054552833898E-07 +1.78436433693883E-07 +1.82301821579865E-07 +1.86547154305895E-07 +1.89223640557905E-07 +1.8891889843054E-07 +1.89321106944758E-07 +1.93221692576484E-07 +1.97467025302514E-07 +2.00108313808782E-07 +1.99783244027187E-07 +2.00205780195635E-07 +2.04137660876688E-07 +2.0812137927596E-07 +2.09897730614326E-07 +2.18489236191427E-07 +2.36244237404994E-07 +2.77445229684719E-07 +3.65015790696763E-07 +5.38316812928559E-07 +8.44915166602882E-07 +1.15232139851458E-06 +1.22148873354446E-06 +6.64827807546286E-07 +6.62493010566199E-07 +6.04619216666396E-07 +4.36775662954875E-07 +2.30281019233102E-07 +1.505617006541E-07 +1.26481470880254E-07 +1.31478699299755E-07 +1.26266298165459E-07 +1.22318278037483E-07 +1.23907786268197E-07 +1.22834070228375E-07 +1.2669285033921E-07 +1.30777312310407E-07 +1.30486532846634E-07 +1.33339973971967E-07 +1.32742669245529E-07 +1.36818622379851E-07 +1.41151295741766E-07 +1.40470662616415E-07 +1.43041384124088E-07 +1.42337059941494E-07 +1.46355480068178E-07 +1.50697846119881E-07 +1.49993487770793E-07 +1.5256244895501E-07 +1.5185808102836E-07 +1.55865956051074E-07 +1.60218847398163E-07 +1.595144794715E-07 +1.62083439991757E-07 +1.61379072065095E-07 +1.6537642116605E-07 +1.69739838434898E-07 +1.69035470508236E-07 +1.71604431028504E-07 +1.70900063101842E-07 +1.74886886281039E-07 +1.79260829471644E-07 +1.78556461544983E-07 +1.81446447514897E-07 +1.86049130102987E-07 +1.9141458779748E-07 +2.09434936138818E-07 +2.53691098336389E-07 +4.13488809735542E-07 +8.05236763711078E-07 +1.03862324916794E-06 +1.26720974855822E-06 +1.57887935437366E-06 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/SoilDepth.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/SoilDepth.dat new file mode 100644 index 000000000..4d8c245c6 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/SoilDepth.dat @@ -0,0 +1,1067 @@ +COMENT1 : Grid generated by MOHID Studio +COMENT2 : Generation Time: 01-07-2010 17:29:34 +LATITUDE : 2950 +LONGITUDE : 4300 +COORD_TIP : 3 +SRID : -1 +ILB_IUB : 1 21 +JLB_JUB : 1 50 +ORIGIN : 1800 1900 +GRID_ANGLE : 0 +CONSTANT_SPACING_X : 1 +CONSTANT_SPACING_Y : 1 +DX : 100 +DY : 100 +FILL_VALUE : -99 + +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/SoilID.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/SoilID.dat new file mode 100644 index 000000000..8d6b23988 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/SoilID.dat @@ -0,0 +1,1067 @@ +COMENT1 : Grid generated by MOHID Studio +COMENT2 : Generation Time: 01-07-2010 17:29:34 +LATITUDE : 2950 +LONGITUDE : 4300 +COORD_TIP : 3 +SRID : -1 +ILB_IUB : 1 21 +JLB_JUB : 1 50 +ORIGIN : 1800 1900 +GRID_ANGLE : 0 +CONSTANT_SPACING_X : 1 +CONSTANT_SPACING_Y : 1 +DX : 100 +DY : 100 +FILL_VALUE : -99 + +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/UrbanDrainage.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/UrbanDrainage.dat new file mode 100644 index 000000000..b5e2d1c43 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/DigitalTerrain/UrbanDrainage.dat @@ -0,0 +1,1067 @@ +COMENT1 : Grid generated by MOHID Studio +COMENT2 : Generation Time: 01-07-2010 17:29:34 +LATITUDE : 2950 +LONGITUDE : 4300 +COORD_TIP : 3 +SRID : -1 +ILB_IUB : 1 21 +JLB_JUB : 1 50 +ORIGIN : 1800 1900 +GRID_ANGLE : 0 +CONSTANT_SPACING_X : 1 +CONSTANT_SPACING_Y : 1 +DX : 100 +DY : 100 +FILL_VALUE : -99 + +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 +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 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +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 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +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 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +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 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +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 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +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 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +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 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +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 +1 +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 +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 +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 +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 +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 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/NodeTimeSeriesLocation.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/NodeTimeSeriesLocation.dat new file mode 100644 index 000000000..c630760fb --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/NodeTimeSeriesLocation.dat @@ -0,0 +1,25 @@ +Time Series Locations for : ..\General Data\Digital Terrain\Drainage Network.dnt +DT_OUTPUT_TIME : 100 +MAX_BUFFER_SIZE : 10000 + +Point Coordinates - Ignored by MOHID Land + +30 : POINT(4250 2950) +57 : POINT(6650 2950) +2 : POINT(2050 2950) + + + +NODE_ID : 2 +NAME : Downstream + + + +NODE_ID : 30 +NAME : Middle + + + +NODE_ID : 57 +NAME : Upstream + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/NodeTimeSeriesLocation_HighDensity.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/NodeTimeSeriesLocation_HighDensity.dat new file mode 100644 index 000000000..1f2dc4baa --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/NodeTimeSeriesLocation_HighDensity.dat @@ -0,0 +1,30 @@ +!Time Series Locations for C:\Users\frank\Documents\MOHID Studio\Projects\MOHID Land Unit Tests\SchematicWatershed\General Data\Digital Terrain\Drainage Network_HighDensity.dnt +DT_OUTPUT_TIME : 60 +MAX_BUFFER_SIZE : 10000 + +Point Coordinates - Ignored by MOHID Land + +1 : POINT(1950 2950) +7 : POINT(2050 2950) +5 : POINT(2050 2750) +6 : POINT(2050 2850) +17 : POINT(2150 2850) +18 : POINT(2150 2950) +19 : POINT(2150 3050) +26 : POINT(2250 2950) +8 : POINT(2050 3050) +9 : POINT(2050 3150) + + +1 +7 +5 +6 +17 +18 +19 +26 +8 +9 + + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/TimeSeriesLocation.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/TimeSeriesLocation.dat new file mode 100644 index 000000000..604a19145 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/TimeSeriesLocation.dat @@ -0,0 +1,26 @@ +!Time Series Locations for C:\Users\frank\Documents\MOHID Studio\Projects\MOHID Land Unit Tests\SchematicWatershed\General Data\Digital Terrain\UrbanDrainage.dat +DT_OUTPUT_TIME : 60 +MAX_BUFFER_SIZE : 10000 + + + +NAME : RuralArea +LOCALIZATION_I : 7 +LOCALIZATION_J : 21 +LOCALIZATION_K : 12 + + + +NAME : ImpermeableArea +LOCALIZATION_I : 14 +LOCALIZATION_J : 32 +LOCALIZATION_K : 12 + + + +NAME : UrbanArea +LOCALIZATION_I : 7 +LOCALIZATION_J : 32 +LOCALIZATION_K : 12 + + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/TimeSeriesLocation.xml b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/TimeSeriesLocation.xml new file mode 100644 index 000000000..07c0b69a5 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/TimeSeriesLocation.xml @@ -0,0 +1,20 @@ + + + + + 0 + RuralArea + POINT(3850 2550) + + + 1 + ImpermeableArea + POINT(4950 3250) + + + 2 + UrbanArea + POINT(4950 2550) + + + \ No newline at end of file diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/TimeSeriesLocation_Old.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/TimeSeriesLocation_Old.dat new file mode 100644 index 000000000..33266aca5 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/GeneralData/TimeSeriesLocation_Old.dat @@ -0,0 +1,39 @@ +!Time Series Locations for C:\Users\frank\Documents\MOHID Studio\Projects\MOHID Land Unit Tests\SchematicWatershed\General Data\Digital Terrain\UrbanDrainage.dat +DT_OUTPUT_TIME : 60 +MAX_BUFFER_SIZE : 10000 + + + +NAME : RuralArea +COORD_X : 3850 +COORD_Y : 2550 +LOCALIZATION_K : 1 + + + +NAME : ImpermeableArea +COORD_X : 4950 +COORD_Y : 3250 +LOCALIZATION_K : 1 + + + +NAME : UrbanArea +COORD_X : 4950 +COORD_Y : 2550 +LOCALIZATION_K : 1 + + + +NAME : Node1 +COORD_X : 1950 +COORD_Y : 2950 +LOCALIZATION_K : 1 + + + +NAME : Node7 +COORD_X : 2050 +COORD_Y : 2950 +LOCALIZATION_K : 1 + diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_1.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_1.dat new file mode 100644 index 000000000..da3793ab8 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_1.dat @@ -0,0 +1,31 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Atmosphere +!Please complete and comment/uncomment for your specific needs +! +! +! +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + +!A property block +! +!NAME : air temperature +!UNITS : ºC +!DESCRIPTION : air temperature description +!FILE_IN_TIME : TIMESERIE +!FILENAME : ../GeneralData/BoundaryConditions/Meteo.srm +!DATA_COLUMN : 4 +!DEFAULTVALUE : 18.5 +!REMAIN_CONSTANT : 0 +!TIME_SERIE : 1 +!OUTPUT_HDF : 1 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers, http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_10.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_10.dat new file mode 100644 index 000000000..a45a470d0 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_10.dat @@ -0,0 +1,32 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Atmosphere +!Please complete and comment/uncomment for your specific needs +! +! +! +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + +NAME : precipitation +UNITS : mm +DESCRIPTION : precipitation +DEFAULTVALUE : 0.0 +FILE_IN_TIME : TIMESERIE +FILENAME : ../GeneralData/BoundaryConditions/Rainfall9mmx6h.srm +DATA_COLUMN : 2 +REMAIN_CONSTANT : 0 +TIME_SERIE : 1 +OUTPUT_HDF : 0 +ACCUMULATE_VALUES : 1 + + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_14.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_14.dat new file mode 100644 index 000000000..da3793ab8 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_14.dat @@ -0,0 +1,31 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Atmosphere +!Please complete and comment/uncomment for your specific needs +! +! +! +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + +!A property block +! +!NAME : air temperature +!UNITS : ºC +!DESCRIPTION : air temperature description +!FILE_IN_TIME : TIMESERIE +!FILENAME : ../GeneralData/BoundaryConditions/Meteo.srm +!DATA_COLUMN : 4 +!DEFAULTVALUE : 18.5 +!REMAIN_CONSTANT : 0 +!TIME_SERIE : 1 +!OUTPUT_HDF : 1 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers, http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_2.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_2.dat new file mode 100644 index 000000000..da3793ab8 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_2.dat @@ -0,0 +1,31 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Atmosphere +!Please complete and comment/uncomment for your specific needs +! +! +! +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + +!A property block +! +!NAME : air temperature +!UNITS : ºC +!DESCRIPTION : air temperature description +!FILE_IN_TIME : TIMESERIE +!FILENAME : ../GeneralData/BoundaryConditions/Meteo.srm +!DATA_COLUMN : 4 +!DEFAULTVALUE : 18.5 +!REMAIN_CONSTANT : 0 +!TIME_SERIE : 1 +!OUTPUT_HDF : 1 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers, http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_3.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_3.dat new file mode 100644 index 000000000..da3793ab8 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_3.dat @@ -0,0 +1,31 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Atmosphere +!Please complete and comment/uncomment for your specific needs +! +! +! +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + +!A property block +! +!NAME : air temperature +!UNITS : ºC +!DESCRIPTION : air temperature description +!FILE_IN_TIME : TIMESERIE +!FILENAME : ../GeneralData/BoundaryConditions/Meteo.srm +!DATA_COLUMN : 4 +!DEFAULTVALUE : 18.5 +!REMAIN_CONSTANT : 0 +!TIME_SERIE : 1 +!OUTPUT_HDF : 1 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers, http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_4.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_4.dat new file mode 100644 index 000000000..75b43c8c3 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_4.dat @@ -0,0 +1,31 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Atmosphere +!Please complete and comment/uncomment for your specific needs +! +! +! +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + +!A property block +! +!NAME : air temperature +!UNITS : C +!DESCRIPTION : air temperature description +!FILE_IN_TIME : TIMESERIE +!FILENAME : ../GeneralData/BoundaryConditions/Meteo.srm +!DATA_COLUMN : 4 +!DEFAULTVALUE : 18.5 +!REMAIN_CONSTANT : 0 +!TIME_SERIE : 1 +!OUTPUT_HDF : 1 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_5.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_5.dat new file mode 100644 index 000000000..75b43c8c3 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_5.dat @@ -0,0 +1,31 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Atmosphere +!Please complete and comment/uncomment for your specific needs +! +! +! +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + +!A property block +! +!NAME : air temperature +!UNITS : C +!DESCRIPTION : air temperature description +!FILE_IN_TIME : TIMESERIE +!FILENAME : ../GeneralData/BoundaryConditions/Meteo.srm +!DATA_COLUMN : 4 +!DEFAULTVALUE : 18.5 +!REMAIN_CONSTANT : 0 +!TIME_SERIE : 1 +!OUTPUT_HDF : 1 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_6.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_6.dat new file mode 100644 index 000000000..a45a470d0 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_6.dat @@ -0,0 +1,32 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Atmosphere +!Please complete and comment/uncomment for your specific needs +! +! +! +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + +NAME : precipitation +UNITS : mm +DESCRIPTION : precipitation +DEFAULTVALUE : 0.0 +FILE_IN_TIME : TIMESERIE +FILENAME : ../GeneralData/BoundaryConditions/Rainfall9mmx6h.srm +DATA_COLUMN : 2 +REMAIN_CONSTANT : 0 +TIME_SERIE : 1 +OUTPUT_HDF : 0 +ACCUMULATE_VALUES : 1 + + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_8.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_8.dat new file mode 100644 index 000000000..a45a470d0 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Atmosphere_8.dat @@ -0,0 +1,32 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Atmosphere +!Please complete and comment/uncomment for your specific needs +! +! +! +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + +NAME : precipitation +UNITS : mm +DESCRIPTION : precipitation +DEFAULTVALUE : 0.0 +FILE_IN_TIME : TIMESERIE +FILENAME : ../GeneralData/BoundaryConditions/Rainfall9mmx6h.srm +DATA_COLUMN : 2 +REMAIN_CONSTANT : 0 +TIME_SERIE : 1 +OUTPUT_HDF : 0 +ACCUMULATE_VALUES : 1 + + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_1.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_1.dat new file mode 100644 index 000000000..87444ecc7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_1.dat @@ -0,0 +1,16 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +TRESHOLD_AREA : 100000 +DELINEATE_BASIN : 1 +OUTLET_I : 11 +OUTLET_J : 2 +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_10.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_10.dat new file mode 100644 index 000000000..87444ecc7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_10.dat @@ -0,0 +1,16 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +TRESHOLD_AREA : 100000 +DELINEATE_BASIN : 1 +OUTLET_I : 11 +OUTLET_J : 2 +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_14.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_14.dat new file mode 100644 index 000000000..87444ecc7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_14.dat @@ -0,0 +1,16 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +TRESHOLD_AREA : 100000 +DELINEATE_BASIN : 1 +OUTLET_I : 11 +OUTLET_J : 2 +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_2.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_2.dat new file mode 100644 index 000000000..87444ecc7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_2.dat @@ -0,0 +1,16 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +TRESHOLD_AREA : 100000 +DELINEATE_BASIN : 1 +OUTLET_I : 11 +OUTLET_J : 2 +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_3.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_3.dat new file mode 100644 index 000000000..87444ecc7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_3.dat @@ -0,0 +1,16 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +TRESHOLD_AREA : 100000 +DELINEATE_BASIN : 1 +OUTLET_I : 11 +OUTLET_J : 2 +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_4.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_4.dat new file mode 100644 index 000000000..87444ecc7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_4.dat @@ -0,0 +1,16 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +TRESHOLD_AREA : 100000 +DELINEATE_BASIN : 1 +OUTLET_I : 11 +OUTLET_J : 2 +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_5.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_5.dat new file mode 100644 index 000000000..87444ecc7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_5.dat @@ -0,0 +1,16 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +TRESHOLD_AREA : 100000 +DELINEATE_BASIN : 1 +OUTLET_I : 11 +OUTLET_J : 2 +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_6.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_6.dat new file mode 100644 index 000000000..87444ecc7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_6.dat @@ -0,0 +1,16 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +TRESHOLD_AREA : 100000 +DELINEATE_BASIN : 1 +OUTLET_I : 11 +OUTLET_J : 2 +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_8.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_8.dat new file mode 100644 index 000000000..87444ecc7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/BasinGeometry_8.dat @@ -0,0 +1,16 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +TRESHOLD_AREA : 100000 +DELINEATE_BASIN : 1 +OUTLET_I : 11 +OUTLET_J : 2 +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_1.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_1.dat new file mode 100644 index 000000000..16409f2ef --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_1.dat @@ -0,0 +1,35 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +ATMOSPHERE : 0 +EVAPOTRANSPIRATION : 0 +POROUS_MEDIA : 0 +RUN_OFF : 1 +DRAINAGE_NET : 1 +VEGETATION : 0 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Evapotranspiration property block +! +!NAME : reference evapotranspiration +!UNITS : m/s +!DESCRIPTION : fao evapotranspiration +!DEFAULTVALUE : 0.0 +!REMAIN_CONSTANT : 0 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_10.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_10.dat new file mode 100644 index 000000000..d63804ffd --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_10.dat @@ -0,0 +1,36 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +ATMOSPHERE : 1 +EVAPOTRANSPIRATION : 0 +POROUS_MEDIA : 1 +RUN_OFF : 1 +DRAINAGE_NET : 1 +VEGETATION : 0 +VERIFY_MASS : 1 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Evapotranspiration property block +! +!NAME : reference evapotranspiration +!UNITS : m/s +!DESCRIPTION : fao evapotranspiration +!DEFAULTVALUE : 0.0 +!REMAIN_CONSTANT : 0 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_14.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_14.dat new file mode 100644 index 000000000..16409f2ef --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_14.dat @@ -0,0 +1,35 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +ATMOSPHERE : 0 +EVAPOTRANSPIRATION : 0 +POROUS_MEDIA : 0 +RUN_OFF : 1 +DRAINAGE_NET : 1 +VEGETATION : 0 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Evapotranspiration property block +! +!NAME : reference evapotranspiration +!UNITS : m/s +!DESCRIPTION : fao evapotranspiration +!DEFAULTVALUE : 0.0 +!REMAIN_CONSTANT : 0 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_2.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_2.dat new file mode 100644 index 000000000..16409f2ef --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_2.dat @@ -0,0 +1,35 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +ATMOSPHERE : 0 +EVAPOTRANSPIRATION : 0 +POROUS_MEDIA : 0 +RUN_OFF : 1 +DRAINAGE_NET : 1 +VEGETATION : 0 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Evapotranspiration property block +! +!NAME : reference evapotranspiration +!UNITS : m/s +!DESCRIPTION : fao evapotranspiration +!DEFAULTVALUE : 0.0 +!REMAIN_CONSTANT : 0 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_3.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_3.dat new file mode 100644 index 000000000..16409f2ef --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_3.dat @@ -0,0 +1,35 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +ATMOSPHERE : 0 +EVAPOTRANSPIRATION : 0 +POROUS_MEDIA : 0 +RUN_OFF : 1 +DRAINAGE_NET : 1 +VEGETATION : 0 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Evapotranspiration property block +! +!NAME : reference evapotranspiration +!UNITS : m/s +!DESCRIPTION : fao evapotranspiration +!DEFAULTVALUE : 0.0 +!REMAIN_CONSTANT : 0 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_4.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_4.dat new file mode 100644 index 000000000..35d353139 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_4.dat @@ -0,0 +1,35 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +ATMOSPHERE : 0 +EVAPOTRANSPIRATION : 0 +POROUS_MEDIA : 1 +RUN_OFF : 1 +DRAINAGE_NET : 1 +VEGETATION : 0 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Evapotranspiration property block +! +!NAME : reference evapotranspiration +!UNITS : m/s +!DESCRIPTION : fao evapotranspiration +!DEFAULTVALUE : 0.0 +!REMAIN_CONSTANT : 0 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_5.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_5.dat new file mode 100644 index 000000000..35d353139 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_5.dat @@ -0,0 +1,35 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +ATMOSPHERE : 0 +EVAPOTRANSPIRATION : 0 +POROUS_MEDIA : 1 +RUN_OFF : 1 +DRAINAGE_NET : 1 +VEGETATION : 0 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Evapotranspiration property block +! +!NAME : reference evapotranspiration +!UNITS : m/s +!DESCRIPTION : fao evapotranspiration +!DEFAULTVALUE : 0.0 +!REMAIN_CONSTANT : 0 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_6.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_6.dat new file mode 100644 index 000000000..d63804ffd --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_6.dat @@ -0,0 +1,36 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +ATMOSPHERE : 1 +EVAPOTRANSPIRATION : 0 +POROUS_MEDIA : 1 +RUN_OFF : 1 +DRAINAGE_NET : 1 +VEGETATION : 0 +VERIFY_MASS : 1 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Evapotranspiration property block +! +!NAME : reference evapotranspiration +!UNITS : m/s +!DESCRIPTION : fao evapotranspiration +!DEFAULTVALUE : 0.0 +!REMAIN_CONSTANT : 0 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_8.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_8.dat new file mode 100644 index 000000000..d63804ffd --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Basin_8.dat @@ -0,0 +1,36 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Basin +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +ATMOSPHERE : 1 +EVAPOTRANSPIRATION : 0 +POROUS_MEDIA : 1 +RUN_OFF : 1 +DRAINAGE_NET : 1 +VEGETATION : 0 +VERIFY_MASS : 1 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Evapotranspiration property block +! +!NAME : reference evapotranspiration +!UNITS : m/s +!DESCRIPTION : fao evapotranspiration +!DEFAULTVALUE : 0.0 +!REMAIN_CONSTANT : 0 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_1.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_1.dat new file mode 100644 index 000000000..8f2720cb7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_1.dat @@ -0,0 +1,28 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Discharges +!Please complete and comment/uncomment for your specific needs +! +! 50. 48 +! + +!Sample Discharge Block + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 60 +DEFAULT_FLOW_VALUE : 0.1 + + + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 54 +DEFAULT_FLOW_VALUE : 0.1 + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_14.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_14.dat new file mode 100644 index 000000000..82e89f260 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_14.dat @@ -0,0 +1,28 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Discharges +!Please complete and comment/uncomment for your specific needs +! +! 50. 48 +! + +!Sample Discharge Block + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 60 +DEFAULT_FLOW_VALUE : 1.0 + + + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 54 +DEFAULT_FLOW_VALUE : 1.0 + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_2.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_2.dat new file mode 100644 index 000000000..8f2720cb7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_2.dat @@ -0,0 +1,28 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Discharges +!Please complete and comment/uncomment for your specific needs +! +! 50. 48 +! + +!Sample Discharge Block + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 60 +DEFAULT_FLOW_VALUE : 0.1 + + + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 54 +DEFAULT_FLOW_VALUE : 0.1 + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_3.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_3.dat new file mode 100644 index 000000000..8f2720cb7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_3.dat @@ -0,0 +1,28 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Discharges +!Please complete and comment/uncomment for your specific needs +! +! 50. 48 +! + +!Sample Discharge Block + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 60 +DEFAULT_FLOW_VALUE : 0.1 + + + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 54 +DEFAULT_FLOW_VALUE : 0.1 + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_4.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_4.dat new file mode 100644 index 000000000..8f2720cb7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_4.dat @@ -0,0 +1,28 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Discharges +!Please complete and comment/uncomment for your specific needs +! +! 50. 48 +! + +!Sample Discharge Block + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 60 +DEFAULT_FLOW_VALUE : 0.1 + + + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 54 +DEFAULT_FLOW_VALUE : 0.1 + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_5.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_5.dat new file mode 100644 index 000000000..8f2720cb7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_5.dat @@ -0,0 +1,28 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Discharges +!Please complete and comment/uncomment for your specific needs +! +! 50. 48 +! + +!Sample Discharge Block + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 60 +DEFAULT_FLOW_VALUE : 0.1 + + + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 54 +DEFAULT_FLOW_VALUE : 0.1 + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_6.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_6.dat new file mode 100644 index 000000000..8f2720cb7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Discharges_6.dat @@ -0,0 +1,28 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Discharges +!Please complete and comment/uncomment for your specific needs +! +! 50. 48 +! + +!Sample Discharge Block + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 60 +DEFAULT_FLOW_VALUE : 0.1 + + + +NAME : Sample Discharge +DESCRIPTION : Mean June Value +NODE_ID : 54 +DEFAULT_FLOW_VALUE : 0.1 + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_1.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_1.dat new file mode 100644 index 000000000..63ba46445 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_1.dat @@ -0,0 +1,39 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Drainage Network +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +NETWORK_FILE : ../GeneralData/DigitalTerrain/Drainage Network.dnt +GLOBAL_MANNING : 0.15 +MIN_WATER_DEPTH : 0.01 +DISCHARGES : 1 +HYDRODYNAMIC_APROX : 3 !1 - KinematicWave. 2 - DiffusionWave. 3 - DynamicWave +ALLOW_BACKWATER : 1 +!DOWNSTREAM_BOUNDARY : 1 +DOWNSTREAM_BOUNDARY : 1 !0 - Dam. 1 - ZeroDepthGradient. 2 - CriticalDepth. 3 - ImposedWaterLevel. 4 - ImposedVelocity +!DEFAULT_VALUE : -0.3 !Imposed downstream value +!FILE_IN_TIME : TIMESERIE +!FILENAME : ../GeneralData/BoundaryConditions/Tide.srm +!DATA_COLUMN : 2 + +STABILIZE : 1 +STABILIZE_FACTOR : 0.01 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +!Start / Continuous Computation +INITIAL_WATER_DEPTH : 0.0 +CONTINUOUS : 0 + +!Output Options +TIME_SERIE_LOCATION : ../GeneralData/NodeTimeSeriesLocation.dat +OUTPUT_TIME : 0 3600 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_10.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_10.dat new file mode 100644 index 000000000..f705758f8 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_10.dat @@ -0,0 +1,35 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Drainage Network +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +NETWORK_FILE : ../GeneralData/DigitalTerrain/Drainage Network.dnt +GLOBAL_MANNING : 0.15 +MIN_WATER_DEPTH : 0.0001 +DISCHARGES : 0 +HYDRODYNAMIC_APROX : 3 !1 - KinematicWave. 2 - DiffusionWave. 3 - DynamicWave +DOWNSTREAM_BOUNDARY : 3 !0 - Dam. 1 - ZeroDepthGradient. 2 - CriticalDepth. 3 - ImposedWaterLevel. 4 - ImposedVelocity +DEFAULT_VALUE : -50.0 !Imposed downstream value + +STABILIZE : 1 +STABILIZE_FACTOR : 0.01 +STABILIZE_MIN_FACTOR : 0.001 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +!Start / Continuous Computation +INITIAL_WATER_DEPTH : 0.0 +CONTINUOUS : 0 + +!Output Options +TIME_SERIE_LOCATION : ../GeneralData/NodeTimeSeriesLocation.dat +OUTPUT_TIME : 0 3600 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_14.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_14.dat new file mode 100644 index 000000000..0648e1931 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_14.dat @@ -0,0 +1,34 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Drainage Network +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +NETWORK_FILE : ../GeneralData/DigitalTerrain/Drainage Network.dnt +GLOBAL_MANNING : 0.15 +MIN_WATER_DEPTH : 0.0001 +DISCHARGES : 1 +HYDRODYNAMIC_APROX : 3 !1 - KinematicWave. 2 - DiffusionWave. 3 - DynamicWave +DOWNSTREAM_BOUNDARY : 3 !0 - Dam. 1 - ZeroDepthGradient. 2 - CriticalDepth. 3 - ImposedWaterLevel. 4 - ImposedVelocity +DEFAULT_VALUE : -50.0 !Imposed downstream value + +STABILIZE : 1 +STABILIZE_FACTOR : 0.01 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +!Start / Continuous Computation +INITIAL_WATER_DEPTH : 0.0 +CONTINUOUS : 0 + +!Output Options +TIME_SERIE_LOCATION : ../GeneralData/NodeTimeSeriesLocation.dat +OUTPUT_TIME : 0 3600 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_2.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_2.dat new file mode 100644 index 000000000..92b68a179 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_2.dat @@ -0,0 +1,34 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Drainage Network +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +NETWORK_FILE : ../GeneralData/DigitalTerrain/Drainage Network.dnt +GLOBAL_MANNING : 0.15 +MIN_WATER_DEPTH : 0.0001 +DISCHARGES : 1 +HYDRODYNAMIC_APROX : 3 !1 - KinematicWave. 2 - DiffusionWave. 3 - DynamicWave +DOWNSTREAM_BOUNDARY : 2 !0 - Dam. 1 - ZeroDepthGradient. 2 - CriticalDepth. 3 - ImposedWaterLevel. 4 - ImposedVelocity +!DEFAULT_VALUE : 1.0 !Imposed downstream value + +STABILIZE : 1 +STABILIZE_FACTOR : 0.01 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +!Start / Continuous Computation +INITIAL_WATER_DEPTH : 0.0 +CONTINUOUS : 0 + +!Output Options +TIME_SERIE_LOCATION : ../GeneralData/NodeTimeSeriesLocation.dat +OUTPUT_TIME : 0 3600 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_3.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_3.dat new file mode 100644 index 000000000..b2a9b9ce5 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_3.dat @@ -0,0 +1,34 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Drainage Network +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +NETWORK_FILE : ../GeneralData/DigitalTerrain/Drainage Network.dnt +GLOBAL_MANNING : 0.15 +MIN_WATER_DEPTH : 0.0001 +DISCHARGES : 1 +HYDRODYNAMIC_APROX : 3 !1 - KinematicWave. 2 - DiffusionWave. 3 - DynamicWave +DOWNSTREAM_BOUNDARY : 0 !0 - Dam. 1 - ZeroDepthGradient. 2 - CriticalDepth. 3 - ImposedWaterLevel. 4 - ImposedVelocity +!DEFAULT_VALUE : 2.0 !Imposed downstream value + +STABILIZE : 1 +STABILIZE_FACTOR : 0.01 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +!Start / Continuous Computation +INITIAL_WATER_DEPTH : 0.0 +CONTINUOUS : 0 + +!Output Options +TIME_SERIE_LOCATION : ../GeneralData/NodeTimeSeriesLocation.dat +OUTPUT_TIME : 0 3600 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_4.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_4.dat new file mode 100644 index 000000000..9bcd735b8 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_4.dat @@ -0,0 +1,34 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Drainage Network +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +NETWORK_FILE : ../GeneralData/DigitalTerrain/Drainage Network.dnt +GLOBAL_MANNING : 0.15 +MIN_WATER_DEPTH : 0.0001 +DISCHARGES : 0 +HYDRODYNAMIC_APROX : 3 !1 - KinematicWave. 2 - DiffusionWave. 3 - DynamicWave +DOWNSTREAM_BOUNDARY : 1 !0 - Dam. 1 - ZeroDepthGradient. 2 - CriticalDepth. 3 - ImposedWaterLevel. 4 - ImposedVelocity +!DEFAULT_VALUE : 1.0 !Imposed downstream value + +STABILIZE : 1 +STABILIZE_FACTOR : 0.01 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +!Start / Continuous Computation +INITIAL_WATER_DEPTH : 0.0 +CONTINUOUS : 0 + +!Output Options +TIME_SERIE_LOCATION : ../GeneralData/NodeTimeSeriesLocation.dat +OUTPUT_TIME : 0 3600 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_5.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_5.dat new file mode 100644 index 000000000..0648e1931 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_5.dat @@ -0,0 +1,34 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Drainage Network +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +NETWORK_FILE : ../GeneralData/DigitalTerrain/Drainage Network.dnt +GLOBAL_MANNING : 0.15 +MIN_WATER_DEPTH : 0.0001 +DISCHARGES : 1 +HYDRODYNAMIC_APROX : 3 !1 - KinematicWave. 2 - DiffusionWave. 3 - DynamicWave +DOWNSTREAM_BOUNDARY : 3 !0 - Dam. 1 - ZeroDepthGradient. 2 - CriticalDepth. 3 - ImposedWaterLevel. 4 - ImposedVelocity +DEFAULT_VALUE : -50.0 !Imposed downstream value + +STABILIZE : 1 +STABILIZE_FACTOR : 0.01 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +!Start / Continuous Computation +INITIAL_WATER_DEPTH : 0.0 +CONTINUOUS : 0 + +!Output Options +TIME_SERIE_LOCATION : ../GeneralData/NodeTimeSeriesLocation.dat +OUTPUT_TIME : 0 3600 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_6.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_6.dat new file mode 100644 index 000000000..98a8c6d1e --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_6.dat @@ -0,0 +1,36 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Drainage Network +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +NETWORK_FILE : ../GeneralData/DigitalTerrain/Drainage Network.dnt +GLOBAL_MANNING : 0.15 +MIN_WATER_DEPTH : 0.0001 +DISCHARGES : 0 +HYDRODYNAMIC_APROX : 3 !1 - KinematicWave. 2 - DiffusionWave. 3 - DynamicWave +DOWNSTREAM_BOUNDARY : 3 !0 - Dam. 1 - ZeroDepthGradient. 2 - CriticalDepth. 3 - ImposedWaterLevel. 4 - ImposedVelocity +DEFAULT_VALUE : -50.0 !Imposed downstream value + +STABILIZE : 1 +STABILIZE_FACTOR : 0.01 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +!GEO_CONVERSATION_FACTOR : 110000 !To convert from Geographic to Metric Coordinates - depends on your place + +!Start / Continuous Computation +INITIAL_WATER_DEPTH : 0.0 +CONTINUOUS : 0 + +!Output Options +TIME_SERIE_LOCATION : ../GeneralData/NodeTimeSeriesLocation.dat +OUTPUT_TIME : 0 3600 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_8.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_8.dat new file mode 100644 index 000000000..dc7bbf081 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/DrainageNetwork_8.dat @@ -0,0 +1,36 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Drainage Network +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +NETWORK_FILE : ../GeneralData/DigitalTerrain/Drainage Network.dnt +GLOBAL_MANNING : 0.15 +MIN_WATER_DEPTH : 0.0001 +DISCHARGES : 0 +HYDRODYNAMIC_APROX : 3 !1 - KinematicWave. 2 - DiffusionWave. 3 - DynamicWave +DOWNSTREAM_BOUNDARY : 3 !0 - Dam. 1 - ZeroDepthGradient. 2 - CriticalDepth. 3 - ImposedWaterLevel. 4 - ImposedVelocity +DEFAULT_VALUE : -50.0 !Imposed downstream value + +STABILIZE : 1 +STABILIZE_FACTOR : 0.005 +MAX_ITERATIONS : 100000 +STABILIZE_MIN_FACTOR : 0.001 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +!Start / Continuous Computation +INITIAL_WATER_DEPTH : 0.0 +CONTINUOUS : 0 + +!Output Options +TIME_SERIE_LOCATION : ../GeneralData/NodeTimeSeriesLocation.dat +OUTPUT_TIME : 0 3600 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_10.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_10.dat new file mode 100644 index 000000000..f6aec7e67 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_10.dat @@ -0,0 +1,41 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +MINIMUMDEPTH : 0.1000 +FACESOPTION : 2 + + +!Cartesian Top - MOHID Land + +ID : 1 +TYPE : CARTESIANTOP +LAYERS : 12 +LAYERTHICKNESS : 1.0 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.05 + + +!Cartesian Domain +! +!ID : 1 +!TYPE : CARTESIAN +!LAYERS : 11 +!LAYERTHICKNESS : 4500 510 200 150 130 20 15 10 5 4.9 0.1 +!DOMAINDEPTH : -99.00 +!MININITIALLAYERTHICKNESS : 0.01 +! + +!Cartesian Top - MOHID Land +! +!ID : 1 +!TYPE : CARTESIANTOP +!LAYERS : 10 +!LAYERTHICKNESS : 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_14.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_14.dat new file mode 100644 index 000000000..68a21625d --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_14.dat @@ -0,0 +1,23 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +!Global Options +MINIMUMDEPTH : 0.1000 +FACESOPTION : 2 + +!Cartesian Top - MOHID Land + +ID : 1 +TYPE : CARTESIANTOP +LAYERS : 10 +LAYERTHICKNESS : 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2013. Action Modulers, http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_2.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_2.dat new file mode 100644 index 000000000..c55b3111d --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_2.dat @@ -0,0 +1,43 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +MINIMUMDEPTH : 0.1000 +FACESOPTION : 2 + +!Sigma Domain + +ID : 1 +TYPE : SIGMA +LAYERS : 3 +LAYERTHICKNESS : 0.4 0.3 0.3 +DOMAINDEPTH : -99.00 +TOLERANCEDEPTH : 0.0500 + + + +!Cartesian Domain +! +!ID : 1 +!TYPE : CARTESIAN +!LAYERS : 11 +!LAYERTHICKNESS : 4500 510 200 150 130 20 15 10 5 4.9 0.1 +!DOMAINDEPTH : -99.00 +!MININITIALLAYERTHICKNESS : 0.01 +! + +!Cartesian Top - MOHID Land +! +!ID : 1 +!TYPE : CARTESIANTOP +!LAYERS : 10 +!LAYERTHICKNESS : 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers, http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_4.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_4.dat new file mode 100644 index 000000000..0d76301ec --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_4.dat @@ -0,0 +1,22 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +MINIMUMDEPTH : 0.1000 +FACESOPTION : 2 + +!Cartesian Top - MOHID Land + +ID : 1 +TYPE : CARTESIANTOP +LAYERS : 12 +LAYERTHICKNESS : 1.0 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.05 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_5.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_5.dat new file mode 100644 index 000000000..0a6cb4a02 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_5.dat @@ -0,0 +1,24 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +MINIMUMDEPTH : 0.1000 +FACESOPTION : 2 + +!Cartesian Top - MOHID Land + +ID : 1 +TYPE : CARTESIANTOP +LAYERS : 12 +LAYERTHICKNESS : 1.0 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.05 + + + +! +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_6.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_6.dat new file mode 100644 index 000000000..f6aec7e67 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_6.dat @@ -0,0 +1,41 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +MINIMUMDEPTH : 0.1000 +FACESOPTION : 2 + + +!Cartesian Top - MOHID Land + +ID : 1 +TYPE : CARTESIANTOP +LAYERS : 12 +LAYERTHICKNESS : 1.0 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.05 + + +!Cartesian Domain +! +!ID : 1 +!TYPE : CARTESIAN +!LAYERS : 11 +!LAYERTHICKNESS : 4500 510 200 150 130 20 15 10 5 4.9 0.1 +!DOMAINDEPTH : -99.00 +!MININITIALLAYERTHICKNESS : 0.01 +! + +!Cartesian Top - MOHID Land +! +!ID : 1 +!TYPE : CARTESIANTOP +!LAYERS : 10 +!LAYERTHICKNESS : 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_8.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_8.dat new file mode 100644 index 000000000..f6aec7e67 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Geometry_8.dat @@ -0,0 +1,41 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Geometry +!Please complete and comment/uncomment for your specific needs +! +! +! +MINIMUMDEPTH : 0.1000 +FACESOPTION : 2 + + +!Cartesian Top - MOHID Land + +ID : 1 +TYPE : CARTESIANTOP +LAYERS : 12 +LAYERTHICKNESS : 1.0 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.05 + + +!Cartesian Domain +! +!ID : 1 +!TYPE : CARTESIAN +!LAYERS : 11 +!LAYERTHICKNESS : 4500 510 200 150 130 20 15 10 5 4.9 0.1 +!DOMAINDEPTH : -99.00 +!MININITIALLAYERTHICKNESS : 0.01 +! + +!Cartesian Top - MOHID Land +! +!ID : 1 +!TYPE : CARTESIANTOP +!LAYERS : 10 +!LAYERTHICKNESS : 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 +! + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_1.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_1.dat new file mode 100644 index 000000000..4f57e3ad8 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_1.dat @@ -0,0 +1,7 @@ +START : 2000 1 1 0 0 0 +END : 2000 1 2 0 0 0 +DT : 1 +VARIABLEDT : 1 +MAXDT : 20 +GMTREFERENCE : 0 +DT_PREDICTION_INTERVAL : 10 diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_10.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_10.dat new file mode 100644 index 000000000..df6716935 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_10.dat @@ -0,0 +1,7 @@ +START : 2000 1 1 0 0 0 +END : 2000 1 2 0 0 0 +DT : 10 +VARIABLEDT : 1 +MAXDT : 600 +GMTREFERENCE : 0 +DT_PREDICTION_INTERVAL : 60 diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_14.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_14.dat new file mode 100644 index 000000000..df6716935 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_14.dat @@ -0,0 +1,7 @@ +START : 2000 1 1 0 0 0 +END : 2000 1 2 0 0 0 +DT : 10 +VARIABLEDT : 1 +MAXDT : 600 +GMTREFERENCE : 0 +DT_PREDICTION_INTERVAL : 60 diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_2.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_2.dat new file mode 100644 index 000000000..df6716935 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_2.dat @@ -0,0 +1,7 @@ +START : 2000 1 1 0 0 0 +END : 2000 1 2 0 0 0 +DT : 10 +VARIABLEDT : 1 +MAXDT : 600 +GMTREFERENCE : 0 +DT_PREDICTION_INTERVAL : 60 diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_3.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_3.dat new file mode 100644 index 000000000..df6716935 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_3.dat @@ -0,0 +1,7 @@ +START : 2000 1 1 0 0 0 +END : 2000 1 2 0 0 0 +DT : 10 +VARIABLEDT : 1 +MAXDT : 600 +GMTREFERENCE : 0 +DT_PREDICTION_INTERVAL : 60 diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_4.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_4.dat new file mode 100644 index 000000000..df6716935 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_4.dat @@ -0,0 +1,7 @@ +START : 2000 1 1 0 0 0 +END : 2000 1 2 0 0 0 +DT : 10 +VARIABLEDT : 1 +MAXDT : 600 +GMTREFERENCE : 0 +DT_PREDICTION_INTERVAL : 60 diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_5.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_5.dat new file mode 100644 index 000000000..df6716935 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_5.dat @@ -0,0 +1,7 @@ +START : 2000 1 1 0 0 0 +END : 2000 1 2 0 0 0 +DT : 10 +VARIABLEDT : 1 +MAXDT : 600 +GMTREFERENCE : 0 +DT_PREDICTION_INTERVAL : 60 diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_6.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_6.dat new file mode 100644 index 000000000..df6716935 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_6.dat @@ -0,0 +1,7 @@ +START : 2000 1 1 0 0 0 +END : 2000 1 2 0 0 0 +DT : 10 +VARIABLEDT : 1 +MAXDT : 600 +GMTREFERENCE : 0 +DT_PREDICTION_INTERVAL : 60 diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_8.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_8.dat new file mode 100644 index 000000000..df6716935 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Model_8.dat @@ -0,0 +1,7 @@ +START : 2000 1 1 0 0 0 +END : 2000 1 2 0 0 0 +DT : 10 +VARIABLEDT : 1 +MAXDT : 600 +GMTREFERENCE : 0 +DT_PREDICTION_INTERVAL : 60 diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_1.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_1.dat new file mode 100644 index 000000000..91be0c241 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_1.dat @@ -0,0 +1,17 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../schematicWatershed/res +ROOT_SRT : ../../schematicWatershed/res/Run1/ +IN_MODEL : ../../schematicWatershed/data/Model_1.dat +SURF_DAT : ../../schematicWatershed/data/Atmosphere_1.dat +SURF_HDF : ../../schematicWatershed/res/Atmosphere_1.hdf +BASIN_DATA : ../../schematicWatershed/data/Basin_1.dat +BASIN_HDF : ../../schematicWatershed/res/Basin_1.hdf +BASIN_FIN : ../../schematicWatershed/res/Basin_1.fin +RUNOFF_DATA : ../../schematicWatershed/data/RunOff_1.dat +RUNOFF_HDF : ../../schematicWatershed/res/RunOff_1.hdf +RUNOFF_FIN : ../../schematicWatershed/res/RunOff_1.fin +BASIN_GEOMETRY : ../../schematicWatershed/data/Basin Geometry_1.dat +DRAINAGE_NETWORK : ../../schematicWatershed/data/Drainage Network_1.dat +DRAINAGE_NETWORK_HDF : ../../schematicWatershed/res/Drainage Network_1.hdf +DRAINAGE_NETWORK_FIN : ../../schematicWatershed/res/Drainage Network_1.fin +DISCHARG : ../../schematicWatershed/data/Discharges_1.dat diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_10.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_10.dat new file mode 100644 index 000000000..c8882453c --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_10.dat @@ -0,0 +1,20 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../schematicWatershed/res +ROOT_SRT : ../../schematicWatershed/res/Run10/ +IN_MODEL : ../../schematicWatershed/data/Model_10.dat +SURF_DAT : ../../schematicWatershed/data/Atmosphere_10.dat +SURF_HDF : ../../schematicWatershed/res/Atmosphere_10.hdf +BASIN_DATA : ../../schematicWatershed/data/Basin_10.dat +BASIN_HDF : ../../schematicWatershed/res/Basin_10.hdf +BASIN_FIN : ../../schematicWatershed/res/Basin_10.fin +POROUS_DATA : ../../schematicWatershed/data/Porous Media_10.dat +POROUS_HDF : ../../schematicWatershed/res/Porous Media_10.hdf +POROUS_FIN : ../../schematicWatershed/res/Porous Media_10.fin +RUNOFF_DATA : ../../schematicWatershed/data/RunOff_10.dat +RUNOFF_HDF : ../../schematicWatershed/res/RunOff_10.hdf +RUNOFF_FIN : ../../schematicWatershed/res/RunOff_10.fin +BASIN_GEOMETRY : ../../schematicWatershed/data/Basin Geometry_10.dat +DOMAIN : ../../schematicWatershed/data/Geometry_10.dat +DRAINAGE_NETWORK : ../../schematicWatershed/data/Drainage Network_10.dat +DRAINAGE_NETWORK_HDF : ../../schematicWatershed/res/Drainage Network_10.hdf +DRAINAGE_NETWORK_FIN : ../../schematicWatershed/res/Drainage Network_10.fin diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_11.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_11.dat new file mode 100644 index 000000000..9802fd472 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_11.dat @@ -0,0 +1,20 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../schematicWatershed/res +ROOT_SRT : ../../schematicWatershed/res/Run11/ +IN_MODEL : ../../schematicWatershed/data/Model_11.dat +SURF_DAT : ../../schematicWatershed/data/Atmosphere_11.dat +SURF_HDF : ../../schematicWatershed/res/Atmosphere_11.hdf +BASIN_DATA : ../../schematicWatershed/data/Basin_11.dat +BASIN_HDF : ../../schematicWatershed/res/Basin_11.hdf +BASIN_FIN : ../../schematicWatershed/res/Basin_11.fin +POROUS_DATA : ../../schematicWatershed/data/Porous Media_11.dat +POROUS_HDF : ../../schematicWatershed/res/Porous Media_11.hdf +POROUS_FIN : ../../schematicWatershed/res/Porous Media_11.fin +RUNOFF_DATA : ../../schematicWatershed/data/RunOff_11.dat +RUNOFF_HDF : ../../schematicWatershed/res/RunOff_11.hdf +RUNOFF_FIN : ../../schematicWatershed/res/RunOff_11.fin +BASIN_GEOMETRY : ../../schematicWatershed/data/Basin Geometry_11.dat +DOMAIN : ../../schematicWatershed/data/Geometry_11.dat +DRAINAGE_NETWORK : ../../schematicWatershed/data/Drainage Network_11.dat +DRAINAGE_NETWORK_HDF : ../../schematicWatershed/res/Drainage Network_11.hdf +DRAINAGE_NETWORK_FIN : ../../schematicWatershed/res/Drainage Network_11.fin diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_12.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_12.dat new file mode 100644 index 000000000..7dc5276a2 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_12.dat @@ -0,0 +1,17 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../SchematicWatershed/res +ROOT_SRT : ../../SchematicWatershed/res/Run12/ +IN_MODEL : ../../SchematicWatershed/data/Model_12.dat +SURF_DAT : ../../SchematicWatershed/data/Atmosphere_12.dat +SURF_HDF : ../../SchematicWatershed/res/Atmosphere_12.hdf +BASIN_DATA : ../../SchematicWatershed/data/Basin_12.dat +BASIN_HDF : ../../SchematicWatershed/res/Basin_12.hdf +BASIN_FIN : ../../SchematicWatershed/res/Basin_12.fin +RUNOFF_DATA : ../../SchematicWatershed/data/RunOff_12.dat +RUNOFF_HDF : ../../SchematicWatershed/res/RunOff_12.hdf +RUNOFF_FIN : ../../SchematicWatershed/res/RunOff_12.fin +BASIN_GEOMETRY : ../../SchematicWatershed/data/Basin Geometry_12.dat +DRAINAGE_NETWORK : ../../SchematicWatershed/data/Drainage Network_12.dat +DRAINAGE_NETWORK_HDF : ../../SchematicWatershed/res/Drainage Network_12.hdf +DRAINAGE_NETWORK_FIN : ../../SchematicWatershed/res/Drainage Network_12.fin +DISCHARG : ../../SchematicWatershed/data/Discharges_12.dat diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_13.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_13.dat new file mode 100644 index 000000000..589d0b6ec --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_13.dat @@ -0,0 +1,16 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../SchematicWatershed/res +ROOT_SRT : ../../SchematicWatershed/res/Run13/ +IN_MODEL : ../../SchematicWatershed/data/Model_13.dat +SURF_DAT : ../../SchematicWatershed/data/Atmosphere_13.dat +SURF_HDF : ../../SchematicWatershed/res/Atmosphere_13.hdf +BASIN_DATA : ../../SchematicWatershed/data/Basin_13.dat +BASIN_HDF : ../../SchematicWatershed/res/Basin_13.hdf +BASIN_FIN : ../../SchematicWatershed/res/Basin_13.fin +RUNOFF_DATA : ../../SchematicWatershed/data/RunOff_13.dat +RUNOFF_HDF : ../../SchematicWatershed/res/RunOff_13.hdf +RUNOFF_FIN : ../../SchematicWatershed/res/RunOff_13.fin +BASIN_GEOMETRY : ../../SchematicWatershed/data/Basin Geometry_13.dat +DRAINAGE_NETWORK : ../../SchematicWatershed/data/Drainage Network_13.dat +DRAINAGE_NETWORK_HDF : ../../SchematicWatershed/res/Drainage Network_13.hdf +DRAINAGE_NETWORK_FIN : ../../SchematicWatershed/res/Drainage Network_13.fin diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_14.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_14.dat new file mode 100644 index 000000000..664d98bbd --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_14.dat @@ -0,0 +1,17 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../schematicWatershed/res +ROOT_SRT : ../../schematicWatershed/res/Run14/ +SURF_DAT : ../../schematicWatershed/data/Atmosphere_14.dat +SURF_HDF : ../../schematicWatershed/res/Atmosphere_14.hdf +BASIN_DATA : ../../schematicWatershed/data/Basin_14.dat +BASIN_HDF : ../../schematicWatershed/res/Basin_14.hdf +BASIN_FIN : ../../schematicWatershed/res/Basin_14.fin +BASIN_GEOMETRY : ../../schematicWatershed/data/Basin Geometry_14.dat +DRAINAGE_NETWORK : ../../schematicWatershed/data/Drainage Network_14.dat +DRAINAGE_NETWORK_HDF : ../../schematicWatershed/res/Drainage Network_14.hdf +DRAINAGE_NETWORK_FIN : ../../schematicWatershed/res/Drainage Network_14.fin +IN_MODEL : ../../schematicWatershed/data/Model_14.dat +RUNOFF_DATA : ../../schematicWatershed/data/RunOff_14.dat +RUNOFF_HDF : ../../schematicWatershed/res/RunOff_14.hdf +RUNOFF_FIN : ../../schematicWatershed/res/RunOff_14.fin +DISCHARG : ../../schematicWatershed/data/Discharges_14.dat diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_2.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_2.dat new file mode 100644 index 000000000..f31875d67 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_2.dat @@ -0,0 +1,17 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../schematicWatershed/res +ROOT_SRT : ../../schematicWatershed/res/Run2/ +IN_MODEL : ../../schematicWatershed/data/Model_2.dat +SURF_DAT : ../../schematicWatershed/data/Atmosphere_2.dat +SURF_HDF : ../../schematicWatershed/res/Atmosphere_2.hdf +BASIN_DATA : ../../schematicWatershed/data/Basin_2.dat +BASIN_HDF : ../../schematicWatershed/res/Basin_2.hdf +BASIN_FIN : ../../schematicWatershed/res/Basin_2.fin +RUNOFF_DATA : ../../schematicWatershed/data/RunOff_2.dat +RUNOFF_HDF : ../../schematicWatershed/res/RunOff_2.hdf +RUNOFF_FIN : ../../schematicWatershed/res/RunOff_2.fin +BASIN_GEOMETRY : ../../schematicWatershed/data/Basin Geometry_2.dat +DRAINAGE_NETWORK : ../../schematicWatershed/data/Drainage Network_2.dat +DRAINAGE_NETWORK_HDF : ../../schematicWatershed/res/Drainage Network_2.hdf +DRAINAGE_NETWORK_FIN : ../../schematicWatershed/res/Drainage Network_2.fin +DISCHARG : ../../schematicWatershed/data/Discharges_2.dat diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_3.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_3.dat new file mode 100644 index 000000000..89db3dcf8 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_3.dat @@ -0,0 +1,17 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../schematicWatershed/res +ROOT_SRT : ../../schematicWatershed/res/Run3/ +IN_MODEL : ../../schematicWatershed/data/Model_3.dat +SURF_DAT : ../../schematicWatershed/data/Atmosphere_3.dat +SURF_HDF : ../../schematicWatershed/res/Atmosphere_3.hdf +BASIN_DATA : ../../schematicWatershed/data/Basin_3.dat +BASIN_HDF : ../../schematicWatershed/res/Basin_3.hdf +BASIN_FIN : ../../schematicWatershed/res/Basin_3.fin +RUNOFF_DATA : ../../schematicWatershed/data/RunOff_3.dat +RUNOFF_HDF : ../../schematicWatershed/res/RunOff_3.hdf +RUNOFF_FIN : ../../schematicWatershed/res/RunOff_3.fin +BASIN_GEOMETRY : ../../schematicWatershed/data/Basin Geometry_3.dat +DRAINAGE_NETWORK : ../../schematicWatershed/data/Drainage Network_3.dat +DRAINAGE_NETWORK_HDF : ../../schematicWatershed/res/Drainage Network_3.hdf +DRAINAGE_NETWORK_FIN : ../../schematicWatershed/res/Drainage Network_3.fin +DISCHARG : ../../schematicWatershed/data/Discharges_3.dat diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_4.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_4.dat new file mode 100644 index 000000000..b903f54c7 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_4.dat @@ -0,0 +1,20 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../schematicWatershed/res +ROOT_SRT : ../../schematicWatershed/res/Run4/ +IN_MODEL : ../../schematicWatershed/data/Model_4.dat +SURF_DAT : ../../schematicWatershed/data/Atmosphere_4.dat +SURF_HDF : ../../schematicWatershed/res/Atmosphere_4.hdf +BASIN_DATA : ../../schematicWatershed/data/Basin_4.dat +BASIN_HDF : ../../schematicWatershed/res/Basin_4.hdf +BASIN_FIN : ../../schematicWatershed/res/Basin_4.fin +POROUS_DATA : ../../schematicWatershed/data/Porous Media_4.dat +POROUS_HDF : ../../schematicWatershed/res/Porous Media_4.hdf +POROUS_FIN : ../../schematicWatershed/res/Porous Media_4.fin +RUNOFF_DATA : ../../schematicWatershed/data/RunOff_4.dat +RUNOFF_HDF : ../../schematicWatershed/res/RunOff_4.hdf +RUNOFF_FIN : ../../schematicWatershed/res/RunOff_4.fin +BASIN_GEOMETRY : ../../schematicWatershed/data/Basin Geometry_4.dat +DOMAIN : ../../schematicWatershed/data/Geometry_4.dat +DRAINAGE_NETWORK : ../../schematicWatershed/data/Drainage Network_4.dat +DRAINAGE_NETWORK_HDF : ../../schematicWatershed/res/Drainage Network_4.hdf +DRAINAGE_NETWORK_FIN : ../../schematicWatershed/res/Drainage Network_4.fin diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_5.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_5.dat new file mode 100644 index 000000000..af2dbb9a0 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_5.dat @@ -0,0 +1,21 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../schematicWatershed/res +ROOT_SRT : ../../schematicWatershed/res/Run5/ +IN_MODEL : ../../schematicWatershed/data/Model_5.dat +SURF_DAT : ../../schematicWatershed/data/Atmosphere_5.dat +SURF_HDF : ../../schematicWatershed/res/Atmosphere_5.hdf +BASIN_DATA : ../../schematicWatershed/data/Basin_5.dat +BASIN_HDF : ../../schematicWatershed/res/Basin_5.hdf +BASIN_FIN : ../../schematicWatershed/res/Basin_5.fin +POROUS_DATA : ../../schematicWatershed/data/Porous Media_5.dat +POROUS_HDF : ../../schematicWatershed/res/Porous Media_5.hdf +POROUS_FIN : ../../schematicWatershed/res/Porous Media_5.fin +RUNOFF_DATA : ../../schematicWatershed/data/RunOff_5.dat +RUNOFF_HDF : ../../schematicWatershed/res/RunOff_5.hdf +RUNOFF_FIN : ../../schematicWatershed/res/RunOff_5.fin +BASIN_GEOMETRY : ../../schematicWatershed/data/Basin Geometry_5.dat +DOMAIN : ../../schematicWatershed/data/Geometry_5.dat +DRAINAGE_NETWORK : ../../schematicWatershed/data/Drainage Network_5.dat +DRAINAGE_NETWORK_HDF : ../../schematicWatershed/res/Drainage Network_5.hdf +DRAINAGE_NETWORK_FIN : ../../schematicWatershed/res/Drainage Network_5.fin +DISCHARG : ../../schematicWatershed/data/Discharges_5.dat diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_6.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_6.dat new file mode 100644 index 000000000..f2256dad4 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_6.dat @@ -0,0 +1,20 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../schematicWatershed/res +ROOT_SRT : ../../schematicWatershed/res/Run6/ +IN_MODEL : ../../schematicWatershed/data/Model_6.dat +SURF_DAT : ../../schematicWatershed/data/Atmosphere_6.dat +SURF_HDF : ../../schematicWatershed/res/Atmosphere_6.hdf +BASIN_DATA : ../../schematicWatershed/data/Basin_6.dat +BASIN_HDF : ../../schematicWatershed/res/Basin_6.hdf +BASIN_FIN : ../../schematicWatershed/res/Basin_6.fin +POROUS_DATA : ../../schematicWatershed/data/Porous Media_6.dat +POROUS_HDF : ../../schematicWatershed/res/Porous Media_6.hdf +POROUS_FIN : ../../schematicWatershed/res/Porous Media_6.fin +RUNOFF_DATA : ../../schematicWatershed/data/RunOff_6.dat +RUNOFF_HDF : ../../schematicWatershed/res/RunOff_6.hdf +RUNOFF_FIN : ../../schematicWatershed/res/RunOff_6.fin +BASIN_GEOMETRY : ../../schematicWatershed/data/Basin Geometry_6.dat +DOMAIN : ../../schematicWatershed/data/Geometry_6.dat +DRAINAGE_NETWORK : ../../schematicWatershed/data/Drainage Network_6.dat +DRAINAGE_NETWORK_HDF : ../../schematicWatershed/res/Drainage Network_6.hdf +DRAINAGE_NETWORK_FIN : ../../schematicWatershed/res/Drainage Network_6.fin diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_7.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_7.dat new file mode 100644 index 000000000..fbead63a4 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_7.dat @@ -0,0 +1,20 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../schematicWatershed/res +ROOT_SRT : ../../schematicWatershed/res/Run7/ +IN_MODEL : ../../schematicWatershed/data/Model_7.dat +SURF_DAT : ../../schematicWatershed/data/Atmosphere_7.dat +SURF_HDF : ../../schematicWatershed/res/Atmosphere_7.hdf +BASIN_DATA : ../../schematicWatershed/data/Basin_7.dat +BASIN_HDF : ../../schematicWatershed/res/Basin_7.hdf +BASIN_FIN : ../../schematicWatershed/res/Basin_7.fin +POROUS_DATA : ../../schematicWatershed/data/Porous Media_7.dat +POROUS_HDF : ../../schematicWatershed/res/Porous Media_7.hdf +POROUS_FIN : ../../schematicWatershed/res/Porous Media_7.fin +RUNOFF_DATA : ../../schematicWatershed/data/RunOff_7.dat +RUNOFF_HDF : ../../schematicWatershed/res/RunOff_7.hdf +RUNOFF_FIN : ../../schematicWatershed/res/RunOff_7.fin +BASIN_GEOMETRY : ../../schematicWatershed/data/Basin Geometry_7.dat +DOMAIN : ../../schematicWatershed/data/Geometry_7.dat +DRAINAGE_NETWORK : ../../schematicWatershed/data/Drainage Network_7.dat +DRAINAGE_NETWORK_HDF : ../../schematicWatershed/res/Drainage Network_7.hdf +DRAINAGE_NETWORK_FIN : ../../schematicWatershed/res/Drainage Network_7.fin diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_8.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_8.dat new file mode 100644 index 000000000..0e2ff99de --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_8.dat @@ -0,0 +1,20 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../schematicWatershed/res +ROOT_SRT : ../../schematicWatershed/res/Run8/ +IN_MODEL : ../../schematicWatershed/data/Model_8.dat +SURF_DAT : ../../schematicWatershed/data/Atmosphere_8.dat +SURF_HDF : ../../schematicWatershed/res/Atmosphere_8.hdf +BASIN_DATA : ../../schematicWatershed/data/Basin_8.dat +BASIN_HDF : ../../schematicWatershed/res/Basin_8.hdf +BASIN_FIN : ../../schematicWatershed/res/Basin_8.fin +POROUS_DATA : ../../schematicWatershed/data/Porous Media_8.dat +POROUS_HDF : ../../schematicWatershed/res/Porous Media_8.hdf +POROUS_FIN : ../../schematicWatershed/res/Porous Media_8.fin +RUNOFF_DATA : ../../schematicWatershed/data/RunOff_8.dat +RUNOFF_HDF : ../../schematicWatershed/res/RunOff_8.hdf +RUNOFF_FIN : ../../schematicWatershed/res/RunOff_8.fin +BASIN_GEOMETRY : ../../schematicWatershed/data/Basin Geometry_8.dat +DOMAIN : ../../schematicWatershed/data/Geometry_8.dat +DRAINAGE_NETWORK : ../../schematicWatershed/data/Drainage Network_8.dat +DRAINAGE_NETWORK_HDF : ../../schematicWatershed/res/Drainage Network_8.hdf +DRAINAGE_NETWORK_FIN : ../../schematicWatershed/res/Drainage Network_8.fin diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_9.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_9.dat new file mode 100644 index 000000000..3a1522e85 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/Nomfich_9.dat @@ -0,0 +1,17 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../../schematicWatershed/res +ROOT_SRT : ../../schematicWatershed/res/Run9/ +IN_MODEL : ../../schematicWatershed/data/Model_9.dat +SURF_DAT : ../../schematicWatershed/data/Atmosphere_9.dat +SURF_HDF : ../../schematicWatershed/res/Atmosphere_9.hdf +BASIN_DATA : ../../schematicWatershed/data/Basin_9.dat +BASIN_HDF : ../../schematicWatershed/res/Basin_9.hdf +BASIN_FIN : ../../schematicWatershed/res/Basin_9.fin +RUNOFF_DATA : ../../schematicWatershed/data/RunOff_9.dat +RUNOFF_HDF : ../../schematicWatershed/res/RunOff_9.hdf +RUNOFF_FIN : ../../schematicWatershed/res/RunOff_9.fin +BASIN_GEOMETRY : ../../schematicWatershed/data/Basin Geometry_9.dat +DRAINAGE_NETWORK : ../../schematicWatershed/data/Drainage Network_9.dat +DRAINAGE_NETWORK_HDF : ../../schematicWatershed/res/Drainage Network_9.hdf +DRAINAGE_NETWORK_FIN : ../../schematicWatershed/res/Drainage Network_9.fin +DISCHARG : ../../schematicWatershed/data/Discharges_9.dat diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_10.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_10.dat new file mode 100644 index 000000000..d4c51581a --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_10.dat @@ -0,0 +1,75 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Porous Media +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +THETA_HYDRO_COEF : 0.98 +CUT_OFF_THETA_HIGH : 1e-15 +BOTTOM_FILE : ../GeneralData/DigitalTerrain/BottomTopography_.new + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 + +!Soil Type Block + +ID : 1 +THETA_S : 0.40 +THETA_R : 0.10 +N_FIT : 1.5 +SAT_K : 2.7777e-6 +ALPHA : 0.84 +L_FIT : 0.50 + + + +!Horizon Block + +KLB : 1 +KUB : 12 + + +NAME : SoilID +INITIALIZATION_METHOD : CONSTANT +DEFAULTVALUE : 1 + + + +NAME : Theta +INITIALIZATION_METHOD : CONSTANT +DEFAULTVALUE : 0.35 + + + +!Ground Water Initialization + +NAME : waterlevel +INITIALIZATION_METHOD : ASCII_FILE +DEFAULTVALUE : 0 +REMAIN_CONSTANT : 0 +FILENAME : ../GeneralData/DigitalTerrain/InitialWaterLevel0.dat + + +!Impermeable Fraction + +NAME : impermeablefraction +INITIALIZATION_METHOD : ASCII_FILE +DEFAULTVALUE : 0 +REMAIN_CONSTANT : 1 +FILENAME : ../GeneralData/DigitalTerrain/ImpermeableFraction_Total.dat + + + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_14.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_14.dat new file mode 100644 index 000000000..1b8d51723 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_14.dat @@ -0,0 +1,93 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Porous Media +!Please complete and comment/uncomment for your specific needs +! +! +! + +!Compute Options +THETA_HYDRO_COEF : 0.98 !fraction of saturation to start computing hydrostatic pressure +CUT_OFF_THETA_HIGH : 1e-15 !limit to thetaS to consider saturation value +CUT_OFF_THETA_LOW : 1e-15 !limit to thetaR to consider residual value +BOTTOM_FILE : ../GeneralData/DigitalTerrain/DTM_Bottom.dat + +IGNORE_WATER_COLUMN_ON_EVAP : 1 +LIMIT_EVAP_WATER_VEL : 1 !connect/disconnect limitation of evaporation to conductivity +LIMIT_EVAP_HEAD : 0 !connect/disconnect limitation of evaporation to head +HEAD_LIMIT : -150 !head limit to evaporation (if LIMIT_EVAP_HEAD : 1) + +HORIZONTAL_K_FACTOR : 10.0 !horizontal conductivity multiplying factor + +!Stability Options +STABILIZE : 1 !connect/disconnect stability criteria +STABILIZE_FACTOR : 0.05 !fraction of cell volume allowed for volume variation in one time step (if STABILIZE : 1) +MIN_ITERATIONS : 2 !minimum number of internal iteration to start asking for a lower global dt +MAX_ITERATIONS : 1000 !maximum number of internal iterations allowed for the module +DT_FACTOR : 1.5 !factor for next internal dt prediction (increase dt by the factor if stable, reduce otherwise) + + +!Horizon Block + +KLB : 1 +KUB : 8 + + +NAME : SoilID +!INITIALIZATION_METHOD : ASCII_FILE +!FILENAME : ../GeneralData/Other\PorousMedia\SoilID.dat +DEFAULTVALUE : 1 +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 + + + +NAME : Theta +INITIALIZATION_METHOD : CONSTANT +DEFAULTVALUE : 0.35 + + + +!Ground Water Aquifer Initialization + +NAME : waterlevel +INITIALIZATION_METHOD : ASCII_FILE +FILENAME : ../GeneralData/DigitalTerrain/DTM_Bottom.dat +DEFAULTVALUE : 0 +REMAIN_CONSTANT : 1 + + +!Impermeable Fraction + +NAME : impermeablefraction +!INITIALIZATION_METHOD : ASCII_FILE +!FILENAME : ../GeneralData/Other\PorousMedia\Impermeability.dat +DEFAULTVALUE : 0 +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 + + + +!Output Options +SURFACE_OUTPUT_TIME : 0 7200 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeries\TimeSeriesLocation.dat + + +!Soil Type Block + +ID : 1 +THETA_S : 0.3859 +THETA_R : 0.0476 +N_FIT : 1.39 +SAT_K : 3.5556e-6 +ALPHA : 2.75 +L_FIT : 0.50 +THETA_CV_MIN : 0.2844 +THETA_CV_MAX : 0.3791 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2013. Action Modulers, http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_2.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_2.dat new file mode 100644 index 000000000..b10600a31 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_2.dat @@ -0,0 +1,70 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Porous Media +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +THETA_HYDRO_COEF : 0.98 +CUT_OFF_THETA_HIGH : 1e-15 +!BOTTOM_FILE : ../GeneralData/DigitalTerrain/BottomTopography.dat + +!Soil Type Block +! +!ID : 1 +!THETA_S : 0.40 +!THETA_R : 0.10 +!N_FIT : 1.5 +!SAT_K : 2.7777e-6 +!ALPHA : 0.84 +!L_FIT : 0.50 +! + + +!Horizon Block +! +!KLB : 1 +!KUB : 10 + +! +!NAME : SoilID +!INITIALIZATION_METHOD : CONSTANT +!DEFAULTVALUE : 1 +! + +! +!NAME : Theta +!INITIALIZATION_METHOD : CONSTANT +!DEFAULTVALUE : 0.35 +! +! + +!Ground Water Initialization +! +!NAME : waterlevel +!INITIALIZATION_METHOD : ASCII_FILE +!DEFAULTVALUE : 0 +!REMAIN_CONSTANT : 0 +!FILENAME : ../GeneralData/Initial Conditions\InitialWaterLevel.dat +! + +!Impermeable Fraction +! +!NAME : impermeablefraction +!DEFAULTVALUE : 0 +!REMAIN_CONSTANT : 1 +! + + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers, http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_4.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_4.dat new file mode 100644 index 000000000..064544737 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_4.dat @@ -0,0 +1,73 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Porous Media +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +THETA_HYDRO_COEF : 0.98 +CUT_OFF_THETA_HIGH : 1e-15 +BOTTOM_FILE : ../GeneralData/DigitalTerrain/BottomTopography_.new + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 + +!Soil Type Block + +ID : 1 +THETA_S : 0.40 +THETA_R : 0.10 +N_FIT : 1.5 +SAT_K : 2.7777e-6 +ALPHA : 0.84 +L_FIT : 0.50 + + + +!Horizon Block + +KLB : 1 +KUB : 12 + + +NAME : SoilID +INITIALIZATION_METHOD : CONSTANT +DEFAULTVALUE : 1 + + + +NAME : Theta +INITIALIZATION_METHOD : CONSTANT +DEFAULTVALUE : 0.35 + + + +!Ground Water Initialization + +NAME : waterlevel +INITIALIZATION_METHOD : ASCII_FILE +DEFAULTVALUE : 0 +REMAIN_CONSTANT : 0 +FILENAME : ../GeneralData/DigitalTerrain/InitialWaterLevel0.dat + + +!Impermeable Fraction + +NAME : impermeablefraction +DEFAULTVALUE : 0 +REMAIN_CONSTANT : 1 + + + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_5.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_5.dat new file mode 100644 index 000000000..064544737 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_5.dat @@ -0,0 +1,73 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Porous Media +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +THETA_HYDRO_COEF : 0.98 +CUT_OFF_THETA_HIGH : 1e-15 +BOTTOM_FILE : ../GeneralData/DigitalTerrain/BottomTopography_.new + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 + +!Soil Type Block + +ID : 1 +THETA_S : 0.40 +THETA_R : 0.10 +N_FIT : 1.5 +SAT_K : 2.7777e-6 +ALPHA : 0.84 +L_FIT : 0.50 + + + +!Horizon Block + +KLB : 1 +KUB : 12 + + +NAME : SoilID +INITIALIZATION_METHOD : CONSTANT +DEFAULTVALUE : 1 + + + +NAME : Theta +INITIALIZATION_METHOD : CONSTANT +DEFAULTVALUE : 0.35 + + + +!Ground Water Initialization + +NAME : waterlevel +INITIALIZATION_METHOD : ASCII_FILE +DEFAULTVALUE : 0 +REMAIN_CONSTANT : 0 +FILENAME : ../GeneralData/DigitalTerrain/InitialWaterLevel0.dat + + +!Impermeable Fraction + +NAME : impermeablefraction +DEFAULTVALUE : 0 +REMAIN_CONSTANT : 1 + + + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_6.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_6.dat new file mode 100644 index 000000000..064544737 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_6.dat @@ -0,0 +1,73 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Porous Media +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +THETA_HYDRO_COEF : 0.98 +CUT_OFF_THETA_HIGH : 1e-15 +BOTTOM_FILE : ../GeneralData/DigitalTerrain/BottomTopography_.new + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 + +!Soil Type Block + +ID : 1 +THETA_S : 0.40 +THETA_R : 0.10 +N_FIT : 1.5 +SAT_K : 2.7777e-6 +ALPHA : 0.84 +L_FIT : 0.50 + + + +!Horizon Block + +KLB : 1 +KUB : 12 + + +NAME : SoilID +INITIALIZATION_METHOD : CONSTANT +DEFAULTVALUE : 1 + + + +NAME : Theta +INITIALIZATION_METHOD : CONSTANT +DEFAULTVALUE : 0.35 + + + +!Ground Water Initialization + +NAME : waterlevel +INITIALIZATION_METHOD : ASCII_FILE +DEFAULTVALUE : 0 +REMAIN_CONSTANT : 0 +FILENAME : ../GeneralData/DigitalTerrain/InitialWaterLevel0.dat + + +!Impermeable Fraction + +NAME : impermeablefraction +DEFAULTVALUE : 0 +REMAIN_CONSTANT : 1 + + + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_8.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_8.dat new file mode 100644 index 000000000..d4c51581a --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/PorousMedia_8.dat @@ -0,0 +1,75 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: Porous Media +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +THETA_HYDRO_COEF : 0.98 +CUT_OFF_THETA_HIGH : 1e-15 +BOTTOM_FILE : ../GeneralData/DigitalTerrain/BottomTopography_.new + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 + +!Soil Type Block + +ID : 1 +THETA_S : 0.40 +THETA_R : 0.10 +N_FIT : 1.5 +SAT_K : 2.7777e-6 +ALPHA : 0.84 +L_FIT : 0.50 + + + +!Horizon Block + +KLB : 1 +KUB : 12 + + +NAME : SoilID +INITIALIZATION_METHOD : CONSTANT +DEFAULTVALUE : 1 + + + +NAME : Theta +INITIALIZATION_METHOD : CONSTANT +DEFAULTVALUE : 0.35 + + + +!Ground Water Initialization + +NAME : waterlevel +INITIALIZATION_METHOD : ASCII_FILE +DEFAULTVALUE : 0 +REMAIN_CONSTANT : 0 +FILENAME : ../GeneralData/DigitalTerrain/InitialWaterLevel0.dat + + +!Impermeable Fraction + +NAME : impermeablefraction +INITIALIZATION_METHOD : ASCII_FILE +DEFAULTVALUE : 0 +REMAIN_CONSTANT : 1 +FILENAME : ../GeneralData/DigitalTerrain/ImpermeableFraction_Total.dat + + + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE : 1 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_1.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_1.dat new file mode 100644 index 000000000..90912716e --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_1.dat @@ -0,0 +1,45 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: RunOff +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +MIN_WATER_COLUMN : 0.0001 +HYDRODYNAMIC_APROX : 3 +DISCHARGES : 0 + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +SIMPLE_CHANNEL_FLOW : 1 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Overland Manning Block + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.015 + + + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.000 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_10.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_10.dat new file mode 100644 index 000000000..a577810ef --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_10.dat @@ -0,0 +1,57 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: RunOff +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +MIN_WATER_COLUMN : 0.00001 +HYDRODYNAMIC_APROX : 3 +DISCHARGES : 0 + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +SIMPLE_CHANNEL_FLOW : 1 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Overland Manning Block + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.015 + + + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.000 + + +STORM_WATER : 1 +STORM_WATER_INF_VEL : 1.4e-5 +STORM_WATER_FLOW_VEL : 0.1 + + +INITIALIZATION_METHOD : ASCII_FILE +DEFAULTVALUE : 0 +REMAIN_CONSTANT : 1 +FILENAME : ../GeneralData/DigitalTerrain/UrbanDrainage.dat + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_14.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_14.dat new file mode 100644 index 000000000..a9cd47c07 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_14.dat @@ -0,0 +1,45 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: RunOff +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +MIN_WATER_COLUMN : 0.00001 +HYDRODYNAMIC_APROX : 3 +DISCHARGES : 0 + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +SIMPLE_CHANNEL_FLOW : 1 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Overland Manning Block + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.015 + + + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.000 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_2.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_2.dat new file mode 100644 index 000000000..df306652d --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_2.dat @@ -0,0 +1,46 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: RunOff +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +MIN_WATER_COLUMN : 0.00001 +ROUTING : 1 +DISCHARGES : 0 + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +SIMPLE_CHANNEL_FLOW : 1 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Overland Manning Block + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.015 + + + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.000 + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_3.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_3.dat new file mode 100644 index 000000000..df306652d --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_3.dat @@ -0,0 +1,46 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: RunOff +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +MIN_WATER_COLUMN : 0.00001 +ROUTING : 1 +DISCHARGES : 0 + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +SIMPLE_CHANNEL_FLOW : 1 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Overland Manning Block + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.015 + + + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.000 + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_4.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_4.dat new file mode 100644 index 000000000..a9cd47c07 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_4.dat @@ -0,0 +1,45 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: RunOff +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +MIN_WATER_COLUMN : 0.00001 +HYDRODYNAMIC_APROX : 3 +DISCHARGES : 0 + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +SIMPLE_CHANNEL_FLOW : 1 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Overland Manning Block + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.015 + + + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.000 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_5.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_5.dat new file mode 100644 index 000000000..11eb8d952 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_5.dat @@ -0,0 +1,46 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: RunOff +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +MIN_WATER_COLUMN : 0.00001 +HYDRODYNAMIC_APROX : 3 +DISCHARGES : 0 + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +SIMPLE_CHANNEL_FLOW : 1 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Overland Manning Block + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.015 + + + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.000 + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_6.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_6.dat new file mode 100644 index 000000000..11eb8d952 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_6.dat @@ -0,0 +1,46 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: RunOff +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +MIN_WATER_COLUMN : 0.00001 +HYDRODYNAMIC_APROX : 3 +DISCHARGES : 0 + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +SIMPLE_CHANNEL_FLOW : 1 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Overland Manning Block + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.015 + + + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.000 + + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_8.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_8.dat new file mode 100644 index 000000000..69978dd2b --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/data/RunOff_8.dat @@ -0,0 +1,46 @@ +!MOHID Studio Sample Data File +!This file contains the most common options. +!MODULE: RunOff +!Please complete and comment/uncomment for your specific needs +! +! +! +!Compute Options +MIN_WATER_COLUMN : 0.00001 +HYDRODYNAMIC_APROX : 3 +DISCHARGES : 0 + +STABILIZE : 1 +STABILIZE_FACTOR : 0.05 +MAX_ITERATIONS : 100000 +LIMIT_DT_COURANT : 0 +MAX_COURANT : 0.5 + +SIMPLE_CHANNEL_FLOW : 1 + +!Start / Continuous Computation +CONTINUOUS : 0 + +!Output Options +OUTPUT_TIME : 0 3600 +TIME_SERIE_LOCATION : ../GeneralData/TimeSeriesLocation.dat + +!Overland Manning Block + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.015 + + + +FILE_IN_TIME : NONE +INITIALIZATION_METHOD : CONSTANT +REMAIN_CONSTANT : 1 +DEFAULTVALUE : 0.000 + + +! +!For more information about MOHID please visit MOHID's forum: http://www.mohid.com/forum/ +!Copyright (C) 2010. Action Modulers. http://www.actionmodulers.com +! diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/exe/nomfich.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/exe/nomfich.dat new file mode 100644 index 000000000..922c958b4 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/exe/nomfich.dat @@ -0,0 +1,20 @@ +IN_BASIN : ../GeneralData/DigitalTerrain/DTM_SampleCatchment2.dat +ROOT : ../res +ROOT_SRT : ../res/Run10/ +IN_MODEL : ../data/Model_10.dat +SURF_DAT : ../data/Atmosphere_10.dat +SURF_HDF : ../res/Atmosphere_10.hdf +BASIN_DATA : ../data/Basin_10.dat +BASIN_HDF : ../res/Basin_10.hdf +BASIN_FIN : ../res/Basin_10.fin +POROUS_DATA : ../data/PorousMedia_10.dat +POROUS_HDF : ../res/PorousMedia_10.hdf +POROUS_FIN : ../res/PorousMedia_10.fin +RUNOFF_DATA : ../data/RunOff_10.dat +RUNOFF_HDF : ../res/RunOff_10.hdf +RUNOFF_FIN : ../res/RunOff_10.fin +BASIN_GEOMETRY : ../data/BasinGeometry_10.dat +DOMAIN : ../data/Geometry_10.dat +DRAINAGE_NETWORK : ../data/DrainageNetwork_10.dat +DRAINAGE_NETWORK_HDF : ../res/DrainageNetwork_10.hdf +DRAINAGE_NETWORK_FIN : ../res/DrainageNetwork_10.fin \ No newline at end of file diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/exe/tree.dat b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/exe/tree.dat new file mode 100644 index 000000000..96c829483 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/exe/tree.dat @@ -0,0 +1,3 @@ +Automatic Generated Tree File +by MOHID GUI ++~/Mohid/Solutions/mohid-in-linux/test/schematicWatershed/exe diff --git a/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/res/Run10/.gitkeep b/Solutions/mohid-in-linux/test/mohidland/schematicWatershed/res/Run10/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/GeneralData/geometry/Tanque_15m.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/GeneralData/geometry/Tanque_15m.dat new file mode 100644 index 000000000..0a1fcb2a4 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/GeneralData/geometry/Tanque_15m.dat @@ -0,0 +1,65 @@ +FILL_VALUE : -99 +ILB_IUB : 1 5 +JLB_JUB : 1 5 +COORD_TIP : 5 +ZONE : 29 +ORIGIN : 0.0000000E+00 0.0000000E+00 +GRID_ANGLE : 0.0000000E+00 +LATITUDE : 38.00000 +LONGITUDE : 9.000000 + + + + + +0.0000000E+00 +5.000000 +10.00000 +15.00000 +20.00000 +25.00000 + + + + +0.0000000E+00 +5.000000 +10.00000 +15.00000 +20.00000 +25.00000 + + +! + + + -99.00000 + -99.00000 + -99.00000 + -99.00000 + -99.00000 + -99.00000 + 15.0000 + 15.0000 + 15.0000 + -99.00000 + -99.00000 + 15.0000 + 15.0000 + 15.0000 + -99.00000 + -99.00000 + 15.0000 + 15.0000 + 15.0000 + -99.00000 + -99.00000 + -99.00000 + -99.00000 + -99.00000 + -99.00000 + + +! + + diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/GeneralData/geometry/Tanque_25m.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/GeneralData/geometry/Tanque_25m.dat new file mode 100644 index 000000000..34b4ba24e --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/GeneralData/geometry/Tanque_25m.dat @@ -0,0 +1,65 @@ +FILL_VALUE : -99 +ILB_IUB : 1 5 +JLB_JUB : 1 5 +COORD_TIP : 5 +ZONE : 29 +ORIGIN : 0.0000000E+00 0.0000000E+00 +GRID_ANGLE : 0.0000000E+00 +LATITUDE : 38.00000 +LONGITUDE : 9.000000 + + + + + +0.0000000E+00 +5.000000 +10.00000 +15.00000 +20.00000 +25.00000 + + + + +0.0000000E+00 +5.000000 +10.00000 +15.00000 +20.00000 +25.00000 + + +! + + + -99.00000 + -99.00000 + -99.00000 + -99.00000 + -99.00000 + -99.00000 + 25.0000 + 25.0000 + 25.0000 + -99.00000 + -99.00000 + 25.0000 + 25.0000 + 25.0000 + -99.00000 + -99.00000 + 25.0000 + 25.0000 + 25.0000 + -99.00000 + -99.00000 + -99.00000 + -99.00000 + -99.00000 + -99.00000 + + +! + + diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/GeneralData/outputs/TimeSerieLocation_tank.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/GeneralData/outputs/TimeSerieLocation_tank.dat new file mode 100644 index 000000000..7f6c916fe --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/GeneralData/outputs/TimeSerieLocation_tank.dat @@ -0,0 +1,9 @@ +DT_OUTPUT_TIME : 3600. +MAX_BUFFER_SIZE : 10000. + + +NAME : vm_layer_1 +LOCALIZATION_I : 2 +LOCALIZATION_J : 2 +LOCALIZATION_K : 1 + diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Atmosphere_1.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Atmosphere_1.dat new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/FreeVerticalMovement_1.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/FreeVerticalMovement_1.dat new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Geometry_1.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Geometry_1.dat new file mode 100644 index 000000000..e287df1e8 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Geometry_1.dat @@ -0,0 +1,16 @@ +MINIMUMDEPTH : 0.1 + + +ID : 1 +TYPE : SIGMA + +LAYERS : 1 +LAYERTHICKNESS : 1 + +TOLERANCEDEPTH : 0.05 +DOMAINDEPTH : -99.0 +MININITIALLAYERTHICKNESS : 0.05 + + + + diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Hydrodynamic_1.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Hydrodynamic_1.dat new file mode 100644 index 000000000..cf0ffe74c --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Hydrodynamic_1.dat @@ -0,0 +1,22 @@ +ADV_METHOD_H : 4 +TVD_LIMIT_H : 4 + +BAROCLINIC : 0 +CONTINUOUS : 0 +SUBMODEL : 0 +TIDE : 0 +WATER_DISCHARGES : 0 +ENERGY : 0 + +EVOLUTION : No_hydrodynamic + +TIME_SERIE : 0 +RESIDUAL : 0 + +TIDEPOTENTIAL : 0 +WIND : 0 +ATM_PRESSURE : 0 +SURFACEWATERFLUX : 0 +DATA_ASSIMILATION : 0 + +OUTPUT_TIME : 0 3600. diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/InterfaceSedimentWater_1.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/InterfaceSedimentWater_1.dat new file mode 100644 index 000000000..1e4e2f923 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/InterfaceSedimentWater_1.dat @@ -0,0 +1,5 @@ + +INITIALIZATION_METHOD : CONSTANT +DEFAULTVALUE : 0.0025 + + diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/InterfaceWaterAir_1.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/InterfaceWaterAir_1.dat new file mode 100644 index 000000000..fcbb89347 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/InterfaceWaterAir_1.dat @@ -0,0 +1 @@ +RUGOSITY : 0.0025 diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Model_1.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Model_1.dat new file mode 100644 index 000000000..f587bae86 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Model_1.dat @@ -0,0 +1,6 @@ +START : 2009 3 1 0 0 0 +END : 2009 3 2 0 0 0 +DT : 120. +VARIABLEDT : 0 +GMTREFERENCE : 0 +SPLITTING : Double_Splitting diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Nomfich_1.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Nomfich_1.dat new file mode 100644 index 000000000..77f08818b --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Nomfich_1.dat @@ -0,0 +1,25 @@ +IN_BATIM : ..\..\GeneralData\geometry\Tanque_25m.dat +ROOT : ..\res\ +ROOT_SRT : ..\res\Run1\ +IN_MODEL : ..\data\Model_1.dat +SURF_DAT : ..\data\Atmosphere_1.dat +SURF_HDF : ..\res\Atmosphere_1.hdf +DOMAIN : ..\data\Geometry_1.dat +AIRW_DAT : ..\data\InterfaceWaterAir_1.dat +AIRW_HDF : ..\res\InterfaceWaterAir_1.hdf +AIRW_FIN : ..\res\InterfaceWaterAir_1.fin +BOT_DAT : ..\data\InterfaceSedimentWater_1.dat +BOT_HDF : ..\res\InterfaceSedimentWater_1.hdf +BOT_FIN : ..\res\InterfaceSedimentWater_1.fin +IN_DAD3D : ..\data\Hydrodynamic_1.dat +OUT_DESF : ..\res\Hydrodynamic_1.hdf +OUT_FIN : ..\res\Hydrodynamic_1.fin +IN_TURB : ..\data\Turbulence_1.dat +TURB_HDF : ..\res\Turbulence_1.hdf +DISPQUAL : ..\data\WaterProperties_1.dat +EUL_HDF : ..\res\WaterProperties_1.hdf +EUL_FIN : ..\res\WaterProperties_1.fin +FREE_DAT : ..\data\Free Vertical Movement_1.dat +LIFE_DATA : ..\data\Life_1.dat +OUTWATCH : ..\res\Outwatch_1.txt +DT_LOG : ..\res\DTLog_1.txt diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Turbulence_1.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Turbulence_1.dat new file mode 100644 index 000000000..d639355b5 --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/Turbulence_1.dat @@ -0,0 +1,2 @@ +VISCOSITY_V : 0.0010 +VISCOSITY_H : 5.0000 \ No newline at end of file diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/WaterProperties_1.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/data/WaterProperties_1.dat new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/exe/nomfich.dat b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/exe/nomfich.dat new file mode 100644 index 000000000..21adbb5fb --- /dev/null +++ b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/exe/nomfich.dat @@ -0,0 +1,25 @@ +IN_BATIM : ../GeneralData/geometry/Tanque_25m.dat +ROOT : ../res/ +ROOT_SRT : ../res/Run1/ +IN_MODEL : ../data/Model_1.dat +SURF_DAT : ../data/Atmosphere_1.dat +SURF_HDF : ../res/Atmosphere_1.hdf +DOMAIN : ../data/Geometry_1.dat +AIRW_DAT : ../data/InterfaceWaterAir_1.dat +AIRW_HDF : ../res/InterfaceWaterAir_1.hdf +AIRW_FIN : ../res/InterfaceWaterAir_1.fin +BOT_DAT : ../data/InterfaceSedimentWater_1.dat +BOT_HDF : ../res/InterfaceSedimentWater_1.hdf +BOT_FIN : ../res/InterfaceSedimentWater_1.fin +IN_DAD3D : ../data/Hydrodynamic_1.dat +OUT_DESF : ../res/Hydrodynamic_1.hdf +OUT_FIN : ../res/Hydrodynamic_1.fin +IN_TURB : ../data/Turbulence_1.dat +TURB_HDF : ../res/Turbulence_1.hdf +DISPQUAL : ../data/WaterProperties_1.dat +EUL_HDF : ../res/WaterProperties_1.hdf +EUL_FIN : ../res/WaterProperties_1.fin +FREE_DAT : ../data/FreeVerticalMovement_1.dat +LIFE_DATA : ../data/Life_1.dat +OUTWATCH : ../res/Outwatch_1.txt +DT_LOG : ../res/DTLog_1.txt diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/res/DTLog_1.txt b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/res/DTLog_1.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/res/Hydrodynamic_1.hdf5 b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/res/Hydrodynamic_1.hdf5 new file mode 100644 index 000000000..cd226b664 Binary files /dev/null and b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/res/Hydrodynamic_1.hdf5 differ diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/res/Res1/.gitkeep b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/res/Res1/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/Solutions/mohid-in-linux/test/mohidwater/25m_deep/res/Run1/.gitkeep b/Solutions/mohid-in-linux/test/mohidwater/25m_deep/res/Run1/.gitkeep new file mode 100644 index 000000000..e69de29bb