BSc Thesis / Πτυχιακη διατριβη

265
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΓΕΩΠΟΝΙΑΣ ΤΟΜΕΑΣ ΕΓΓΕΙΩΝ ΒΕΛΤΙΩΣΕΩΝ ΕΔΑΦΟΛΟΓΙΑΣ ΚΑΙ ΓΕΩΡΓΙΚΗΣ ΜΗΧΑΝΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΓΕΝΙΚΗΣ ΚΑΙ ΓΕΩΡΓΙΚΗΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΒΕΛΤΙΩΣΕΩΝ θΕΣΣΑΛΟΝΙΚΗ 2005 ΓΡΑΦΙΚΗ ΑΠΕΙΚΟΝΙΣΗ ΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΤΟΥ ΜΑΘΗΜΑΤΙΚΟΥ ΜΟΝΤΕΛΟΥ SWBACROS ΣΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ MATLAB liquid liquid liquid liquid liquid / |lIkwId /n [C,U] a substance that flows freely eg water , milk or oil ΠΤΥΧΙΑΚΗ ΔΙΑΤΡΙΒΗ ΠΑΡΑΣΚΕΥΑΣ ΧΑΡΑΛΑΜΠΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ ΜΠΑΜΠΑΤΖΙΜΟΠΟΥΛΟΣ ΧΡΗΣΤΟΣ ΚΑΘΗΓΗΤΗΣ

description

"Γραφική απεικόνιση των αποτελεσμάτων του μαθηματικού μοντέλου SWBACROS στο περιβάλλον της MATLAB" Τμήμα Γεωπονίας, Α.Π.Θ., 2005

Transcript of BSc Thesis / Πτυχιακη διατριβη

Page 1: BSc Thesis / Πτυχιακη διατριβη

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΓΕΩΠΟΝΙΑΣ

ΤΟΜΕΑΣ ΕΓΓΕΙΩΝ ΒΕΛΤΙΩΣΕΩΝ ΕΔΑΦΟΛΟΓΙΑΣ ΚΑΙ ΓΕΩΡΓΙΚΗΣ ΜΗΧΑΝΙΚΗΣΕΡΓΑΣΤΗΡΙΟ ΓΕΝΙΚΗΣ ΚΑΙ ΓΕΩΡΓΙΚΗΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΒΕΛΤΙΩΣΕΩΝ

θΕΣΣΑΛΟΝΙΚΗ 2005

ΓΡΑΦΙΚΗ ΑΠΕΙΚΟΝΙΣΗ ΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΤΟΥ ΜΑΘΗΜΑΤΙΚΟΥ ΜΟΝΤΕΛΟΥ SWBACROS

ΣΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ MATLAB

liquid

liquid

liquidliquidliquid / |lIkwId /n [C,U] a substance that flows freely eg water , milk or oil

ΠΤΥΧΙΑΚΗ ΔΙΑΤΡΙΒΗΠΑΡΑΣΚΕΥΑΣ ΧΑΡΑΛΑΜΠΟΣ

ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣΜΠΑΜΠΑΤΖΙΜΟΠΟΥΛΟΣ ΧΡΗΣΤΟΣ

ΚΑΘΗΓΗΤΗΣ

Page 2: BSc Thesis / Πτυχιακη διατριβη

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

ΤΜΗΜΑ ΓΕΩΠΟΝΙΑΣ ΤΟΜΕΑΣ ΕΓΓΕΙΩΝ ΒΕΛΤΙΩΣΕΩΝ ΕΔΑΦΟΛΟΓΙΑΣ ΚΑΙ ΓΕΩΡΓΙΚΗΣ ΜΗΧΑΝΙΚΗΣ

ΕΡΓΑΣΤΗΡΙΟ ΓΕΝΙΚΗΣ ΚΑΙ ΓΕΩΡΓΙΚΗΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΒΕΛΤΙΩΣΕΩΝ

ΓΡΑΦΙΚΗ ΑΠΕΙΚΟΝΙΣΗ ΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΤΟΥ ΜΑΘΗΜΑΤΙΚΟΥ ΜΟΝΤΕΛΟΥ SWBACROS ΣΤΟ

ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ MATLAB

liquid / |lIkwId /n [C,U] a substance that flows freely eg water , milk or oil

ΠΤΥΧΙΑΚΗ ΔΙΑΤΡΙΒΗ ΠΑΡΑΣΚΕΥΑΣ ΧΑΡΑΛΑΜΠΟΣ

ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ ΜΠΑΜΠΑΤΖΙΜΟΠΟΥΛΟΣ ΧΡΗΣΤΟΣ

ΚΑΘΗΓΗΤΗΣ Α.Π.Θ.

ΘΕΣΣΑΛΟΝΙΚΗ 2005

Page 3: BSc Thesis / Πτυχιακη διατριβη

στους γονείς μου

Page 4: BSc Thesis / Πτυχιακη διατριβη

στο μέτωπο σου μια θάλασσα αναπαύεται . του φόβου οι σταγόνες, δελφίνια που παίζουν μέρα με τη μέρα δυναμώνει το κύμα της, αναριγά, τα αρμυρίκια δαγκώνει

καταλαβαίνει πως ήρθε η ώρα της, ήρθε η ώρα να πει την αλήθεια «νυν απολύεις τον δούλο σου, δέσποτα» και σε σκεπάζει, όπως η μάνα τη νύχτα.

θανάσης παπακωνσταντίνου, liquid

Page 5: BSc Thesis / Πτυχιακη διατριβη

Πρόλογος i

Πρόλογος

Το υδατικό ισοζύγιο της ακόρεστης ζώνης του εδάφους αποτελεί σημαντικό

αντικείμενο μελέτης για το γεωπόνο των εγγείων βελτιώσεων. Με την ακριβέστερη

κατανόηση των φυσικών διαδικασιών που το επηρεάζουν, ο γεωπόνος των εγγείων

βελτιώσεων θα μπορεί να παρέχει τις καταλληλότερες συμβουλές στον παραγωγό με

σκοπό τη μεγιστοποίηση της παραγωγής. Επίσης, η μελέτη του υδατικού ισοζυγίου

συμβάλλει και στην ορθολογική διαχείριση των υδατικών πόρων, οι διαθέσιμες

ποσότητες των οποίων βρίσκονται παγκοσμίως σε καθοδική πορεία. Αυτό οφείλεται

στην αλματώδη αύξηση της ζήτησης του νερού για οικιακή, βιομηχανική και

αρδευτική χρήση.

Οι αριθμητικές λύσεις της εξίσωσης κίνησης του νερού στην ακόρεστη ζώνη

του εδάφους, οι οποίες ξεκίνησαν να χρησιμοποιούνται τη δεκαετία του 60, έδωσαν

τη θέση τους σε πιο εξελιγμένα μαθηματικά μοντέλα. Τα μοντέλα αυτά καλούνται να

περιγράψουν το υδατικό ισοζύγιο του εδάφους λαμβάνοντας υπόψη διάφορες

παραμέτρους εισόδου όπως αρδεύσεις, βροχοπτώσεις, κλιματικές συνθήκες και

χαρακτηριστικά του εδάφους.

Το μαθηματικό μοντέλο SWBACROS, το οποίο αναπτύχθηκε από τον

καθηγητή Χρήστο Μπαμπατζιμόπουλο, βασίζεται στην αριθμητική επίλυση της

εξίσωσης Richards. Έχει τη δυνατότητα του υπολογισμού με μεγάλη ακρίβεια του

υδατικού ισοζυγίου του εδάφους, παρέχοντας τις βασικές πληροφορίες που

απαιτούνται για τον προγραμματισμό των αρδεύσεων. Ειδικότερα, λαμβάνει υπόψη

την ποσότητα του νερού που εισάγεται στο έδαφος με άρδευση ή βροχόπτωση και

υπολογίζει, μεταξύ των άλλων, την υγρασία σε σχέση με το βάθος κατά τη διάρκεια

της καλλιεργητικής περιόδου, καθώς και τη βαθιά διήθηση ή την προς τα επάνω

κίνηση του εδαφικού νερού από το ριζικό σύστημα των φυτών.

Η εργασία αυτή πραγματοποιήθηκε στα πλαίσια του προπτυχιακού κύκλου

σπουδών της κατεύθυνσης Εγγείων Βελτιώσεων, Εδαφολογίας και Γεωργικής

Μηχανικής του Τμήματος Γεωπονίας της Σχολής Γεωτεχνικών Επιστημών του

Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης.

Page 6: BSc Thesis / Πτυχιακη διατριβη

Πρόλογος ii

Σκοπός της εργασίας αυτής ήταν η ανάπτυξη ενός προγράμματος

ηλεκτρονικού υπολογιστή στο περιβάλλον της MATLAB με τη βοήθεια του οποίου

γίνεται η γραφική απεικόνιση των αποτελεσμάτων του μαθηματικού μοντέλου

SWBACROS, καθώς και η εισαγωγή δεδομένων σε αυτό.

Η διατριβή αυτή έχει την παρακάτω διάρθρωση :

Στο πρώτο κεφάλαιο παρουσιάζεται μία ανασκόπηση της σύγχρονης

βιβλιογραφίας που υπάρχει γύρω από τα μαθηματικά μοντέλα.

Στο δεύτερο κεφάλαιο γίνεται μία παρουσία της μαθηματικής προσομοίωσης

της κίνησης του εδαφικού νερού καθώς και μία αναλυτική αναφορά στο μαθηματικό

μοντέλο SWBACROS.

Το τρίτο κεφάλαιο χωρίζεται σε δύο μέρη. Στο πρώτο μέρος γίνεται μια

σύντομη αναφορά στο περιβάλλον της MATLAB, στις εντολές της και στη

δημιουργία εφαρμογών με γραφικό περιβάλλον εργασίας (GUI εφαρμογές). Στο

δεύτερο μέρος παρουσιάζεται το πρόγραμμα LIQUID και γίνεται εκτενής αναφορά

στο κάθε βήμα του προγράμματος.

Αμέσως μετά παρουσιάζεται, η βιβλιογραφία που χρησιμοποιήθηκε για την

συγγραφή της εργασίας αυτής και το παράρτημα με τον πηγαίο κώδικα και τα αρχεία

δεδομένων του προγράμματος LIQUID κάθως και ένα παράδειγμα το οποίο

περιγράφει τη σύνδεση μεταξύ MATLAB και Visual Fortran.

Η εργασία αυτή γράφτηκε σε δύο υπολογιστές. Σε έναν Pentium 4 1.7 GHz

και στο φορητό υπολογιστή του αδερφού μου Αργύρη, τον οποίο ευχαριστώ πολύ

για την παραχώρηση του, ένα Pentium 4 3.0 GHz. Το κείμενο αυτό είναι γραμμένο

στο Microsoft Word XP, ενώ το LIQUID δημιουργήθηκε στο περιβάλλον της

MATLAB 7 (R14). Οι παρεμβάσεις στο κώδικα του SWBACROS έγιναν στη

DIGITAL Visual Fortran Professional Edition v6.0a και τα capture των διάφορων

εικόνων του LIQUID και της MATLAB έγιναν με τη χρήση του προγράμματος

TechSmith SnagΙt v7. Oι μαθηματικές εξισώσεις έγιναν με το πρόγραμμα

MathType v5.2. Τέλος το εξώφυλλο της εργασίας αυτής σχεδιάστηκε με το

πρόγραμμα Adobe Illustrator CS.

Page 7: BSc Thesis / Πτυχιακη διατριβη

Πρόλογος iii

Η εργασία αυτή ολοκληρώθηκε με τις υποδείξεις του επιβλέποντα καθηγητή κ.

Χρήστου Μπαμπατζιμόπουλου, του Εργαστηρίου Γενικής και Γεωργικής

Υδραυλικής και Βελτιώσεων, τον οποίο ευχαριστώ θερμά τόσο για το ενδιαφέρον

θέμα διατριβής που μου ανάθεσε – αναπτερώνοντας τη θέληση μου για ακαδημαϊκή

αναζήτηση – όσο και για τη συνεχή βοήθεια και στήριξη που χρειάστηκα για να την

ολοκληρώσω.

Ακόμη, ιδιαίτερες ευχαριστίες θα ήθελα να δώσω στον κ. Αριστοτέλη

Μπαμπατζιμόπουλο, διδακτορικό φοιτητή του πανεπιστημίου του Michigan, όχι

μόνο για την ιδέα πραγματοποίησης της εργασίας αυτής στο περιβάλλον της

MATLAB αλλά και για τις συμβουλές και τη βοήθεια που μου παρείχε κατά τη

διάρκεια της εκπόνησής της.

Θα ήθελα να ευχαριστήσω ακόμη τον κ. Κωνσταντίνο Παπαρρίζο, καθηγητή

του Τμήματος Εφαρμοσμένης Πληροφορικής του Πανεπιστήμιου Μακεδονίας και

τον κ. Άγγελο Σιφαλέρα υποψήφιο διδάκτορα του τμήματος Εφαρμοσμένης

Πληροφορικής του Πανεπιστημίου Μακεδονίας, καθώς η προθυμία τους και η

βοήθεια που μου παρείχαν χωρίς καμία οπισθοβουλία συνέβαλλαν σημαντικά στη

διεκπεραίωση της παρούσας διατριβής. Τον κ. Χαράλαμπο Γεωργούση,

επιστημονικό συνεργάτη του Εργαστηρίου Γενικής και Γεωργικής Υδραυλικής και

Βελτιώσεων, τον κ. Πανταζή Γεωργίου, μέλος Ειδικού και Εργαστηριακού

Διδακτικού Προσωπικού του Εργαστηρίου Γενικής και Γεωργικής Υδραυλικής και

Βελτιώσεων και τον κ. Βασίλη Λίτσκα, μεταπτυχιακό φοιτητή του Τμήματος

Γεωπονίας, για τις συμβουλές που μου παρείχαν κατά τη διάρκεια της εκπόνησης της

εργασίας αυτής. Όλους τους διδάσκοντες της κατεύθυνσης Εγγείων Βελτιώσεων,

Εδαφολογίας και Γεωργικής Μηχανικής για τις γνώσεις που μου πρόσφεραν κατά τη

διάρκεια της φοίτησης μου στο πρόγραμμα των προπτυχιακών σπουδών του

Τμήματος Γεωπονίας. Ευκαιρίας δοθείσης, – αν και δε συνέβαλαν άμεσα στη

εκπόνηση της εργασίας αυτής – θα ήθελα να ευχαριστήσω τους καθηγητές μου στο

φροντιστήριο πληροφορικής Data Station, όχι τόσο για τις πολλές γνώσεις και

εμπειρίες που μου προσέφεραν αλλά γιατί έκαναν πάρα πολλούς ανθρώπους, μαζί και

εμένα να αγαπήσουν τον προγραμματισμό.

Page 8: BSc Thesis / Πτυχιακη διατριβη

Πρόλογος iv

Τέλος, θα ήταν αδύνατο να μην ευχαριστήσω του γονείς μου, που όλα τα

χρόνια της ζωής μου με στηρίζουν με όλες τους τις δυνάμεις.

Θεσσαλονίκη, Σεπτέμβριος 2005

Χαράλαμπος Γ. Παρασκευάς

Page 9: BSc Thesis / Πτυχιακη διατριβη

Περιεχόμενα v

Κεφάλαιο 1 Εισαγωγή ..................................................................................................1 1.1 Γενικά ......................................................................................................................................... 1 1.2 Ανασκόπηση βιβλιογραφίας..................................................................................................... 2 Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού ......................9 2.1 Εξίσωση Richards ..................................................................................................................... 9 2.1.1 Περιγραφή της εξίσωσης Richards .................................................................................... 9 2.1.2 Περιγραφή του όρου S(h).................................................................................................10 2.1.2.1 Περιγραφή του όρου Smax............................................................................................11 2.1.2.2 Περιγραφή του όρου α(h)............................................................................................13

2.1.3 Περιγραφή της ακόρεστης υδραυλικής αγωγιμότητας και της υδραυλικής χωρητικότητας του εδάφους.......................................................................................................17

2.2 Το μαθηματικό μοντέλο SWBACROS................................................................................18 2.2.1 Γενικά ..................................................................................................................................18 2.2.2 Αριθμητική επίλυση ...........................................................................................................19 2.2.3 Οριακές συνθήκες ..............................................................................................................23 2.2.3.1 Επάνω οριακή συνθήκη................................................................................................23 2.2.3.2 Κάτω οριακές συνθήκες ...............................................................................................25

2.3 Επίλυση συστήματος εξισώσεων με τριδιαγωνικό σύστημα συντελεστών ........................30 2.4 Δομή SWBACROS................................................................................................................32 Κεφάλαιο 3 LIQUID.................................................................................................38 3.1 Περί MATLAB.......................................................................................................................38 3.1.1 Εισαγωγικά .........................................................................................................................38 3.1.2 Το περιβάλλον της MATLAB .........................................................................................38 3.1.3 Δημιουργία GUI εφαρμογών ...........................................................................................41 3.1.4 Ανάλυση εντολών MATLAB που χρησιμοποιούνται στο κώδικα του LIQUID.......43

3.2 Περί LIQUID.........................................................................................................................54 3.2.1 Γενικά – Δομή LIQUID ..................................................................................................54 3.2.2 Ανάλυση βημάτων LIQUID ............................................................................................57 3.2.2.1 Βήμα 1ο (liquid.m)........................................................................................................57 3.2.2.2 Βήμα 2ο (LIQUIDstep2.m)........................................................................................58 3.2.2.3 Βήμα 3ο (LIQUIDstep3.m)........................................................................................63 3.2.2.4 Βήμα 4ο (LIQUIDstep4.m)........................................................................................66 3.2.2.5 Βήμα 5ο (LIQUIDstep5.m)........................................................................................69 3.2.2.6 Μενού LIQUID (LIQUIDmenu.m).........................................................................72 3.2.2.6.1 Διαθέσιμες γραφικές παραστάσεις .........................................................................75 3.2.2.6.2 Hydraulic conductivity (m/day) of unsaturated soil per depth (Υδραυλική αγωγιμότητα του εδάφους (m/day) σε σχέση με το βάθος) ..............................................78 3.2.2.6.3 Negative pressure (m) of the soil water per depth (Αρνητική πίεση (m) του εδαφικού νερού σε σχέση με το βάθος) ................................................................................79 3.2.2.6.4 Initial moisture per depth (Αρχική υγρασία του εδάφους σε σχέση με το βάθος)........................................................................................................................................80 3.2.2.6.5 Initial Soil Profile data : 3 in one plots................................................................81 3.2.2.6.6 Soil cover (0.0-1.0) per day (Εδαφοκάλυψη σε σχέση με την ημέρα του έτους)83 3.2.2.6.7 Root depth (m) per day (Βάθος ριζικού συστήματος (m) σε σχέση με την ημέρα του έτους)......................................................................................................................84 3.2.2.6.8 Leaf Area Index per day (Δείκτης φυλλικής επιφάνειας σε σχέση με την ημέρα του έτους)..................................................................................................................................85 3.2.2.6.9 Minimum pressure (m) per day (Ελάχιστη πίεση (m) εδαφικού νερού)..........86

Page 10: BSc Thesis / Πτυχιακη διατριβη

Περιεχόμενα vi

3.2.2.6.10 Soil Cover, Root Depth, Leaf Area Index, Minimum Pressure : 4 in one (4 plots) .........................................................................................................................................87 3.2.2.6.11 Water content (cm) of the soil profile at the end of day per day (Ποσότητα εδαφικού νερού (cm) στο τέλος της ημέρας σε σχέση με την ημέρα του έτους) .............89 3.2.2.6.12 Potential and actual evaporation (cm) per day (Δυναμική και πραγματική εξάτμιση (cm) από την επιφάνεια του εδάφους σε σχέση με την ημέρα του έτους) ........90 3.2.2.6.13 Potential and actual transpiration (cm) per day (Δυναμική και πραγματική διαπνοή (cm) σε σχέση με την ημέρα του έτους) ................................................................92 3.2.2.6.14 Precipitation/irrigation and intercepted rain (cm) per day (Βροχόπτωση / άρδευση και υδατοσυγκράτηση (cm) σε σχέση με την ημέρα του έτους) ........................93 3.2.2.6.15 Flux through top and bottom boundary (cm) per day (Ροή δια μέσου το επάνω και του κάτω ορίου (cm) σε σχέση με την ημέρα του έτους) .................................94 3.2.2.6.16 Water balance results : 5 in one (6 plots)..........................................................96 3.2.2.6.17 Incremental water balance error (Αυξητικό λάθος υδατικού ισοζυγίου) .......98 3.2.2.6.18 Cumulative water balance error (Αθροιστικό λάθος υδατικού ισοζυγίου) ....99 3.2.2.6.19 Water balance error : 2 in one (2 plots) ..........................................................100 3.2.2.6.20 Cum. precipitation/irrigation (cm) per day (Αθροιστική βροχόπτωση / άρδευση (cm) σε σχέση με την ημέρα του έτους) .............................................................102 3.2.2.6.21 Cum. potential and actual transpiration (cm) per day (Αθροιστική δυναμική και πραγματική διαπνοή (cm) σε σχέση με την ημέρα του έτους) ..................................103 3.2.2.6.22 Cum. potential and actual evaporation (cm) per day (Αθροιστική δυναμική και πραγματική εξάτμιση (cm) από την επιφάνεια του εδάφους σε σχέση με την ημέρα του έτους)................................................................................................................................104 3.2.2.6.23 Cum. flux through top and bottom boundary (cm) per day (Αθροιστική ροή δια μέσου το επάνω και του κάτω ορίου (cm) σε σχέση με την ημέρα του έτους)106 3.2.2.6.24 Cum. water balance results : 4 in one (5 plots)..............................................107 3.2.2.6.25 Potential evapotranspiration (mm/day) per day (Δυναμική εξατμισοδιαπνοή (mm/day) σε σχέση με την ημέρα του έτους) ...................................................................109 3.2.2.6.26 Reference crop evapotranspiration (mm/day) per day (Εξατμισοδιαπνοή αναφοράς (mm/day) σε σχέση με την ημέρα του έτους) .................................................110 3.2.2.6.27 Evapotranspiration : 2 in one (2 plots) ...........................................................111 3.2.2.6.28 Evapotranspiration : 2 in one (1 plot).............................................................113 3.2.2.6.29 Water content profile (3D) (Τρισδιάστατο προφίλ περιεχόμενης υγρασίας)114 3.2.2.6.30 Water content profiles at : ΗΜ/ΝΙΕΣ (Προφίλ περιεχόμενης υγρασίας σε συγκεκριμένες ημερομηνίες) ................................................................................................116

3.2.3 Μεταβλητές LIQUID .....................................................................................................119 3.2.4 Παρεμβάσεις LIQUID στον κώδικα του SWBACROS ............................................129 3.2.5 Αρχεία και εγκατάσταση του LIQUID ........................................................................135 3.2.6 Εξαγωγή – εκτύπωση γραφικών παραστάσεων.............................................................136 3.2.7 MATLAB Compiler .......................................................................................................140 Βιβλιογραφία ........................................................................................................... 146 Παράρτημα Ι .......................................................................................................... 156 Παράδειγμα σύνδεσης MATLAB και FORTRAN................................................................156 Παράρτημα ΙΙ ......................................................................................................... 160 Κώδικας των αρχείων του LIQUID (liquid.m, LIQUIDstep2.m, LIQUIDstep3.m, LIQUIDstep4.m, LIQUIDstep5.m και LIQUIDmenu.m) και τα αρχεία δεδομένων ....160

Page 11: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 1 Εισαγωγή 1

Κεφάλαιο 1 Εισαγωγή

1.1 Γενικά

Η περιγραφή και η προσομοίωση της κίνησης του νερού στο σύστημα έδαφος

- φυτό - ατμόσφαιρα, είναι το αντικείμενο ενός μεγάλου αριθμού εργασιών κατά την

προηγούμενη δεκαετία. Το γεγονός αυτό έχει άμεση σχέση με την ανάγκη να δοθούν

λύσεις σε προβλήματα που αναφέρονται στον ορθολογικό προγραμματισμό των

αρδεύσεων, στον καλύτερο σχεδιασμό των στραγγίσεων, στην πρόβλεψη της τύχης

των αγροχημικών που εφαρμόζονται στο έδαφος, στην πρόβλεψη τους ύψους της

παραγωγής μιας καλλιέργειας καθώς και σε ένα πλήθος άλλων προβλημάτων

γενικότερης γεωργικής και περιβαλλοντικής διαχείρισης. Η δημιουργία όλων αυτών

των αναγκών και προβλημάτων οφείλεται στους διαρκώς αυξανόμενους ρυθμούς

εντατικοποίησης της γεωργίας. Δεδομένου ότι τα υδάτινα αποθέματα δεν είναι

ανεξάντλητα, ενώ ήδη παρατηρείται σε μεγάλο βαθμό ποιοτική υποβάθμιση των

χαρακτηριστικών τους, γίνεται φανερή η σπουδαιότητα της ανάπτυξης μεθόδων και

εργαλείων με τα οποία θα παρακολουθούνται και θα προβλέπονται οι επιπτώσεις των

ανθρωπογενών παρεμβάσεων στο περιβάλλον.

Τα παραπάνω προβλήματα επέβαλαν την ανάπτυξη μαθηματικών μοντέλων,

τα οποία αποτελούν σήμερα διεθνώς μια πολύ συνηθισμένη πρακτική για τον

ορθολογικό προγραμματισμό των αρδεύσεων και τον υπολογισμό σωστών πρακτικών

διαχείρισης του αρδευτικού νερού. Τα μοντέλα αυτά βασίζονται στην περιγραφή της

κίνησης του νερού του εδάφους με μαθηματικές εξισώσεις κάτω από διάφορες

συνθήκες πρόσληψης νερού με άρδευση, βροχόπτωση κ.ά. και απώλειας με εξάτμιση,

βαθιά διήθηση κ.ά. λαμβάνοντας υπόψη όλα τα χαρακτηριστικά του εδάφους.

Ωστόσο οι σχετικές δυνατότητες των υπαρχόντων μοντέλων καθώς και η

αξιοπιστία των αποτελεσμάτων τους απασχολούν ακόμα τους επιστήμονες. Αυτό

οφείλεται κυρίως στη μη διαθεσιμότητα κατάλληλων δεδομένων για την επαλήθευση

των μοντέλων και στην ανεπάρκεια απεικόνισης τους, όσον αφορά τις

αλληλεπιδράσεις και τις διεργασίες μεταξύ, εδάφους, νερού, φυτού και ατμόσφαιρας.

Page 12: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 1 Εισαγωγή 2

Για αυτό το λόγο θα πρέπει να γίνει μια ευρεία δοκιμή και επαλήθευση των μοντέλων

υδατικής ροής πριν αυτά υιοθετηθούν για γεωργικές και περιβαλλοντικές εφαρμογές.

Η χρησιμοποίηση της δυνατότητας γραφικής απεικόνισης των δεδομένων και

των αποτελεσμάτων από τους υπολογιστές καθιστά πιο εύχρηστα τα μοντέλα, αφού

βοηθά στην εύκολη ανάλυση των αποτελεσμάτων και την ασφαλέστερη εξαγωγή

συμπερασμάτων.

1.2 Ανασκόπηση βιβλιογραφίας

Η περιγραφή της κίνησης του νερού μέσα στο έδαφος και κατά συνέπεια το

υγρασιακό καθεστώς της εδαφικής κατατομής, επιτυγχάνεται μέσω της εξίσωσης του

Richards. Η έντονη μη γραμμικότητα της εξίσωσης του Richards οφείλεται στο

γεγονός ότι τόσο η ακόρεστη υδραυλική αγωγιμότητα όσο και η εδαφική τάση είναι

συναρτήσεις της περιεχόμενης στο έδαφος υγρασίας. Αναλυτικές λύσεις της εξίσωσης

αυτής είναι δυνατές μόνο κάτω από εξιδανικευμένες συνθήκες. Ανασκόπηση

αναλυτικών λύσεων της εξίσωσης, κάτω από εξιδανικευμένες συνθήκες γίνεται, πέραν

των άλλων, από τον Αντωνόπουλο (1988) και τους Feddes et al. (1988).

Η ραγδαία ανάπτυξη των αριθμητικών μεθόδων, συνάρτηση της αντίστοιχης

ανάπτυξης στο χώρο της επιστήμης των υπολογιστών και της πάγιας ανάγκης για την

αντιμετώπιση προβλημάτων κάτω από φυσικές συνθήκες, απλούστευσε τη διαδικασία

της επίλυσης της εξίσωσης του Richards. Οι δύο κυρίαρχες χρησιμοποιούμενες

αριθμητικές μέθοδοι είναι αυτή των πεπερασμένων στοιχείων και αυτή των

πεπερασμένων διαφορών. Μερικές λύσεις της εξίσωσης του Richards με τη μέθοδο

των πεπερασμένων στοιχείων δίνονται από τους Bruch and Zyvoloski (1973),

Neuman (1973), Tzimopoulos (1978), Van Genuchten (1978), Huyakorn et al.

(1984), Khaleel and Yeh (1985), Kaluarachi and Parker (1987), Αντωνόπουλος

(1988), Feddes et al. (1988), Marino and Tracy (1988), Antonopoulos (1993),

Antonopoulos (1994).

Η αριθμητική μέθοδος των πεπερασμένων διαφορών είναι αυτή, που

χρησιμοποιείται κυρίως στη μελέτη της ακόρεστης ροής στο έδαφος (Nimah and

Page 13: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 1 Εισαγωγή 3

Hanks, 1973 a, b, Feddes et al., 1974, Belmans et al., 1983, Wasseling et al., 1989,

Wagenet and Hutson, 1989, Govindaraju and Kavvas, 1992). Την μέθοδο αυτή

χρησιμοποιεί και το μοντέλο SWBACROS (Babajimopoulos, 1995). Είναι

σημαντικό να τονιστεί ότι η αριθμητική μέθοδος των πεπερασμένων διαφορών

υπερέχει συγκριτικά αυτής των πεπερασμένων στοιχείων όσο αφορά τη μελέτη της

κίνησης του νερού στην ακόρεστη ζώνη του εδάφους (Babajimopoulos, 1991).

Η αριθμητική επίλυση της εξίσωσης Richards παρουσιάζεται στη

βιβλιογραφία με δύο μορφές. Στην πρώτη χωρίς να λαμβάνεται υπ’ όψη η πρόσληψη

του νερού από τις ρίζες του φυτού και στη δεύτερη συμπεριλαμβάνοντας και το

φαινόμενο της πρόσληψης. Χαρακτηριστικές εργασίες της πρώτης μορφής είναι οι

εργασίες των Haverkamp et al. (1977), De Jong and Cameron (1979), Higuchi

(1984), Babajimopoulos (1991). Στην κατηγορία αυτή μπορούμε να κατατάξουμε

και την εργασία των Terzidis and Babajimopoulos (1987) όπου το εδαφικό προφίλ

χωρίζεται σε δύο ζώνες : στη ζώνη που αναπτύσσεται το ριζικό σύστημα του φυτού

και στη ζώνη που εκτείνεται κάτω από αυτή. Στην πρώτη ζώνη υπολογίζεται μία μέση

υγρασία χρησιμοποιώντας όλους τους όρους που υπεισέρχονται στην εξίσωση του

υδατικού ισοζυγίου και στη συνέχεια η υγρασία αυτή χρησιμοποιείται ως οριακή

συνθήκη για την αριθμητική επίλυση της εξίσωσης Richards στη δεύτερη ζώνη.

Στη δεύτερη μορφή η πρόσληψη νερού από τη ρίζα υπεισέρχεται στην

εξίσωση του Richards μέσω ενός μαθηματικού όρου που ονομάζεται όρος

πρόσληψης (Sink term ή Plant Root Extraction Term). Από τις πρώτες εργασίες

που συναντούμε αυτόν τον όρο είναι των Whisler et al. (1969), Molz and Remson

(1970), Nimah and Hanks (1973a) and (1973b), Feddes et al. (1974) και Rowse et

al. (1978).

Σταθμό αποτέλεσε η εργασία των Feddes et al. (1978), όπου παρουσιάζεται

το μοντέλο SWATR (Soil Water Actual Transpiration), το οποίο βασίζεται στην

αριθμητική επίλυση της εξίσωσης Richards με την πεπλεγμένη μέθοδο πεπερασμένων

διαφορών.

Page 14: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 1 Εισαγωγή 4

Οι Morgan et al. (1980) παρουσίασαν ένα δυναμικό μοντέλο για την

παραγωγή του καλαμποκιού συναρτήσει της διαθέσιμης ημερήσιας εδαφικής

υγρασίας.

Οι Hoogland et al. (1981) βελτίωσαν το μοντέλο SWATR, όσον αφορά τον

υπολογισμό του προσλαμβανόμενου νερού από τις ρίζες. Θεωρήθηκε ότι η μέγιστη

πρόσληψη δεν είναι σταθερή αλλά μεταβάλλεται στο βάθος. Με τον τρόπο αυτό κατά

την έναρξη μίας ξηράς περιόδου οι ρίζες μπορούν να εκμεταλλεύονται τα ανώτερα

στρώματα αφήνοντας την υγρασία των κατωτέρων στρωμάτων αχρησιμοποίητη, ενώ

σε εδάφη με ξηρά επιφανειακά στρώματα και υψηλή υπόγεια στάθμη, η περισσότερη

υγρασία προσλαμβάνεται από τα στρώματα που είναι κοντά στην υπόγεια στάθμη.

Οι Van Wijk and Feddes (1982) χρησιμοποίησαν τα μοντέλα SWATR και

CROPR για να εκτιμήσουν το βάθος τοποθέτησης των στραγγιστικών σωλήνων στις

αποδόσεις των καλλιεργειών, για μια σειρά των ετών και για διάφορους τύπους

εδαφών.

Οι Belmans et al. (1983) βελτίωσαν το μοντέλο SWATR δημιουργώντας το

SWATRE (Soil Water Actual Transpiration Extended), το οποίο χρησιμοποιεί

διαφορετικό σχήμα επίλυσης (Crank – Nicolson) και αντιμετωπίζει μία ευρύτερη

κατηγορία οριακών συνθηκών.

Οι Warrick and Gardner (1983) υπολόγισαν την παραγωγή μιας καλλιέργειας

για διάφορους τύπους εδαφών και διαθέσιμων ποσοτήτων νερού.

Οι Feddes et al. (1984) συνδύασαν τα μοντέλα SWATRE και CROPR

δημιουργώντας το μοντέλο SWACRO που μπορεί να υπολογίζει την πραγματική

ανάπτυξη μιας πατατοκαλλιέργειας κάτω από ένα μεγάλο εύρος οριακών συνθηκών.

Οι Dinar et al. (1986) προσδιόρισαν ένα δυναμικό μοντέλο το οποίο

αποτελείται από μία συνάρτηση νερού-παραγωγής.

Οι Letey and Dinar (1986) παρουσίασαν συναρτήσεις παραγωγής-νερού και

πρότειναν ένα μοντέλο για την προσαρμογή τους όταν οι καλλιέργειες αρδεύονται με

αλατούχο νερό.

Οι Van Wijk and Feddes (1986) επεξέτειναν την εργασία τους του 1982,

χρησιμοποιώντας τα μοντέλα SWATRE και CROPR για να μελετήσουν τις

Page 15: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 1 Εισαγωγή 5

επιδράσεις της στράγγισης του εδάφους στην ευκολία εκτέλεσης εργασιών στο

χωράφι με γεωργικά μηχανήματα την άνοιξη, στο χρόνο σποράς / φύτευσης, στο

χρόνο βλάστησης, στη διαπνοή και στην ανάπτυξη / παραγωγή ξηράς ουσίας των

καλλιεργειών για διάφορους τύπους εδαφών κάτω από διάφορες μετεωρολογικές

συνθήκες.

Ο Feddes (1987) περιγράφει αναλυτικά το μοντέλο SWACRO και δίνει

παραδείγματα από όπου φαίνεται η ισχύς των μοντέλων στην πρόβλεψη της

απόδοσης των καλλιεργειών κάτω από διάφορες πολύπλοκες συνθήκες ροής.

Οι Wasseling and Van der Boerk (1987) χρησιμοποίησαν το μοντέλο

SWATRE για τον ορθολογικό σχεδιασμό των αρδεύσεων και συμπέραναν ότι με τη

χρήση των σωστών δεδομένων το μοντέλο μπορεί να γίνει ένα πολύ χρήσιμο

εργαλείο στο σωστό προγραμματισμό των αρδεύσεων.

Οι Bresies and Dagan (1988) εκτίμησαν τις διακυμάνσεις της παραγωγής

συναρτήσει διαφόρων παραμέτρων που την επηρεάζουν. Επίσης προσπάθησαν να

ξεχωρίσουν εκείνες τις παραμέτρους που έχουν τη μεγαλύτερη επίδραση στην

παραγωγή μιας αρδευόμενης καλλιέργειας.

Οι Feddes et al. (1988) χρησιμοποίησαν το μοντέλο SWACRO για τον

υπολογισμό του υδατικού ισοζυγίου και της απόδοσης μιας πατατοκαλλιέργειας σ’

ένα ιλυοαμμώδες έδαφος κάτω από διάφορες συνθήκες συμπίεσης με πολύ καλά

αποτελέσματα.

Οι Ghali and Svehlik (1988) έδειξαν το σημαντικότατο ρόλο που παίζουν στη

διαμόρφωση της εδαφικής υγρασίας τα βαθύτερα στρώματα του εδάφους σε

καλλιεργούμενα και αρδευόμενα εδάφη.

Ο Prasad (1988) επέλεξε πέντε καλλιέργειες για προσομοίωση και πρότεινε

μια καινούργια συνάρτηση για τον υπολογισμό της πρόσληψης της υγρασίας του

εδάφους από το ριζικό σύστημα των φυτών.

Οι Hopmans and Guttierez-Rave (1988) χρησιμοποίησαν την ανάλυση

Monte Carlo και παρουσίασαν μία διαδικασία για τη ρύθμιση του μοντέλου

πρόσληψης υγρασίας από το ριζικό σύστημα λαμβάνοντας υπόψη τη μεταβλητότητα

των υδραυλικών ιδιοτήτων του εδάφους χρησιμοποιώντας το μοντέλο SWATRE.

Page 16: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 1 Εισαγωγή 6

Οι Hopmans and Stricker (1989) χρησιμοποίησαν την ανάλυση Monte Carlo

και το μοντέλο SWATRE και πρότειναν ένα στοχαστικό-ντετερμινιστικό μοντέλο

που προσομοιώνει την ροή στην ακόρεστη ζώνη του εδάφους.

Οι Stockle and Campell (1989) πρότειναν ένα μοντέλο για την προσομοίωση

της επίδρασης του νερού και του αζώτου στην παραγωγή του σιταριού.

Οι De Jond and Kabat (1990) χρησιμοποίησαν το μοντέλο SWACROP για

την προσομοίωση του υδατικού ισοζυγίου και την παραγωγή στο γρασίδι.

Ο Wallach (1990) παρουσιάζει ένα δισδιάστατο μοντέλο, που προσομοιώνει

την κατανομή της εδαφικής υγρασίας σε ένα μη ομοιόμορφα αρδευόμενο αγρό,

συνυπολογίζοντας την πρόσληψη νερού από τις ρίζες.

Οι Brinson and Perrier (1991) πρότειναν ένα ημιεμπειρικό μοντέλο για την

εξάτμιση από την επιφάνεια του εδάφους το οποίο μπορεί να ενταχθεί σε μοντέλα

προσομοίωσης της παραγωγής.

Οι Singh et al. (1991) παρουσίασαν, για τον προγραμματισμό της άρδευσης

σε καλλιέργεια πατάτας το μοντέλο SimISP, το οποίο χρησιμοποιώντας κλιματικές

και εδαφικές παραμέτρους υπολογίζει εξάτμιση, διαπνοή και την ανάπτυξη της

καλλιέργειας.

Οι Vereecken et al. (1991) παρουσίασαν και επιβεβαίωσαν μία νέα έκδοση

του SWATRER, το μοντέλο SWATNIT, στο οποίο περιλαμβάνεται το μοντέλο

SUCROS που περιγράφει την ανάπτυξη της καλλιέργειας και τη μεταφορά της μάζας

και τους μετασχηματισμούς του αζώτου. Η επιβεβαίωση των μοντέλων έγινε με

πειραματικά δεδομένα χειμερινού σιταριού για διαφορετικές ποσοτικές λιπάνσεις.

Οι Bradford and Letey (1992) χρησιμοποίησαν το τροποποιημένο μοντέλο

Van Genuchten-Hanks για την προσομοίωση της παραγωγής του βαμβακιού, με

τρεις ή τέσσερις αρδεύσεις κατά τη καλλιεργητική περίοδο, τόσο υπό συνθήκες καλής

στράγγισης όσο και ύπαρξης υψηλής υπόγειας στάθμης.

Οι Rasiah et al. (1992) εκτίμησαν, σε καλλιέργεια σόγιας, την επίδραση που

έχουν οι διάφοροι μέθοδοι προσδιορισμού των παραμέτρων (γραμμικοί-μη

γραμμικοί) και οι διάφορες συναρτήσεις πρόσληψης νερού από τις ρίζες (συνεχείς-μη

Page 17: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 1 Εισαγωγή 7

συνεχείς), στον προσδιορισμό των παραμέτρων και στην προσομοίωση της

πρόσληψης του νερού από τις ρίζες.

Οι Govindaraju and Kavvas (1993), επέλυσαν αναλυτικά την εξίσωση του

Richards υποθέτοντας ένα εδαφικό προφίλ υγρασίας παρόμοιο με αυτό των Green

and Ampt. Η λύση τους αν και ενδιαφέρουσα έχει τους περιορισμούς των αναλυτικών

λύσεων.

Οι Clemente et al. (1994) κάνουν μια σύγκριση μεταξύ τριών γνωστών

μοντέλων πρόβλεψης της μεταβολής της εδαφικής υγρασίας που συνυπολογίζουν και

το φαινόμενο της πρόσληψης (SWATRE, LEACHW και SWASIM) με δύο σετ

δεδομένων από δύο διαφορετικούς τύπους εδάφους. Δίνουν ταυτοχρόνως και τα

αποδεκτά (κατ’ αυτούς) επίπεδα της απόκλισης μεταξύ προβλέψεων και μετρήσεων.

Οι Babajimopoulos et al. (1995) παρουσιάζουν το μοντέλο SWBACROS,

που χρησιμοποιεί για την επίλυση της εξίσωσης Richards τη μέθοδο πρόβλεψης-

διόρθωσης των Douglas-Jones. Το μοντέλο μπορεί να επιλύσει και το αντίστροφο

πρόβλημα, δηλαδή να υπολογίσει τις εδαφικές παραμέτρους από γνωστές τιμές του

ύψους πίεσης ή της υγρασίας σε συγκεκριμένα βάθη και χρονικές στιγμές με τη

μέθοδο Rosenbrock. Η εφαρμογή του μοντέλου γίνεται σε αγρό καλλιεργημένο με

βαμβάκι.

Ο Μπίλας (1995) εφαρμόζει το μοντέλο SWBACROS στην πρόβλεψη της

εδαφικής υγρασίας, της παραγωγής και στον προγραμματισμό της άρδευσης του

βαμβακιού.

Οι Zhang and Elliot (1996) παρουσιάζουν το δισδιάστατο μοντέλο VS2D,

εφαρμόζοντάς το για μια καλλιεργητική περίοδο σε καλλιέργεια φιστικιού. Ο όρος

πρόσληψης είναι μία συνάρτηση της κατανομής πυκνότητας του ριζικού συστήματος.

Ο Antonopoulos (1997) παρουσιάζει, με τη βοήθεια αριθμητικού μοντέλου

που χρησιμοποιεί τη μέθοδο των πεπερασμένων στοιχείων, σύγκριση μεταξύ

αριθμητικών προβλέψεων και μετρημένων τιμών για τρεις διαφορετικές τιμές της

μέγιστης προσλαμβανόμενης ποσότητας νερού από τη ρίζα Smax (Feddes et al.,

1978, Prasad, 1988 και σταθερή τιμή) και για τρεις τιμές του κρίσιμου ύψους πίεσης

για δυο σετ δεδομένων από την περιοχή Θεσσαλονίκης και τη Θεσσαλία.

Page 18: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 1 Εισαγωγή 8

Ο Αντωνόπουλος (1998) παρουσιάζει το μοντέλο WANISIM (Water and

Nitrogen SIMulation), που χρησιμοποιεί την αριθμητική μέθοδο των πεπερασμένων

στοιχείων για την επίλυση της εξίσωσης Richards. Το μοντέλο WANISIM

περιγράφει τη δυναμική του εδαφικού νερού και του αζώτου σε καλλιεργούμενο

έδαφος κάτω από συνθήκες μεταβαλλόμενης εισροής (λόγω βροχής και άρδευσης)

και διαφορετικών χρονικών και ποσοτικών αζωτούχων λιπάνσεων.

Απαραίτητος όμως, για την προσομοίωση της δυναμικής του εδαφικού νερού

σε ένα καλλιεργούμενο έδαφος, είναι και ο ακριβής υπολογισμός της δυναμικής

εξατμισοδιαπνοής. Θα πρέπει λοιπόν να αναφέρουμε τις ερευνητικές εργασίες των

Πανώρα και Μαυρουδή (1993, 1994, 1995) οι οποίοι έχουν ασχοληθεί εκτεταμένα

με το φαινόμενο της εξατμισοδιαπνοής και τον υπολογισμό της στην λεκάνη του

ποταμού Λουδία.

Τέλος αξίζει να σημειωθεί ότι εργασία ανάλογη με την παρούσα σε

περιβάλλον DOS πραγματοποιήθηκε το 1998 από τους Κυριακίδη Ιάκωβο και

Κωνσταντινίδη Χρήστο στα πλαίσια της προπτυχιακής διατριβής τους (Η χρήση

μαθηματικών μοντέλων στη μελέτη του υδατικού ισοζυγίου καλλιεργούμενων εδαφών

– Γραφική απεικόνιση των αποτελεσμάτων του μαθηματικού μοντέλου

SWBACROS)

Page 19: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 9

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού

2.1 Εξίσωση Richards

2.1.1 Περιγραφή της εξίσωσης Richards

Η χρήση μαθηματικών μοντέλων για την προσομοίωση της κίνησης του νερού

έχει διαδοθεί πολύ μεταξύ των ερευνητών τα τελευταία χρόνια. Τα μοντέλα που

περιγράφουν την κίνηση του νερού στο έδαφος βασίζονται στην επίλυση της

εξίσωσης Richards (2.1), η οποία περιγράφει τη μονοδιάστατη κίνηση του νερού

στην ακόρεστη ζώνη ενός καλλιεργούμενου εδάφους :

h hC(h) K( ) 1 S(h)t z z

∂ ∂ ∂⎡ ⎤⎛ ⎞= θ − −⎜ ⎟⎢ ⎥∂ ∂ ∂⎝ ⎠⎣ ⎦ (2.1)

όπου :

h = ύψος πίεσης του εδαφικού νερού [L],

t = χρόνος [T],

C(h) = υδραυλική χωρητικότητα του εδάφους (dθ/dh) [L-1],

θ = εδαφική υγρασία κατ’ όγκο [L3 L-3],

z = κατακόρυφη συντεταγμένη με θετική φορά προς τα κάτω και με αρχή την

επιφάνεια του εδάφους [L],

K(θ) = ακόρεστη υδραυλική αγωγιμότητα [L T-1],

S(h) = προσλαμβανόμενη από τις ρίζες του φυτού ποσότητα νερού [T-1]

Η πρόσληψη του νερού από τα φυτά είναι συνάρτηση πολλών παραγόντων

(όπως η πυκνότητα, η κατανομή και το μήκος των ριζών, το είδος του εδάφους καθώς

και από το είδος του φυτού) και η ακριβής επίδραση των οποίων είναι εξαιρετικά

δύσκολο να κατανοηθεί. Ο προσδιορισμός των επιδράσεων αυτών συνεπάγεται

χρονοβόρο και πολυδάπανο πειραματισμό, ο οποίος όμως με τη σειρά του δε θα

μπορούσε να οδηγήσει σε συμπεράσματα και ακριβείς περιγραφές των διαδικασιών

που περιλαμβάνονται στην πρόσληψη του νερού από τα φυτά. Για αυτό το λόγο

Page 20: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 10

έχουν προταθεί απλούστερες εκφράσεις για την περιγραφή της πρόσληψης του νερού

από τα φυτά. Οι εκφράσεις αυτές δεν απαιτούν τη γνώση των πολύπλοκων φυσικών

διεργασιών που σχετίζονται με την απορρόφηση του εδαφικού νερού από τις ρίζες

εκφράζονται σε μια πιο μακροσκοπική κλίμακα, θεωρώντας το ριζικό σύστημα και το

έδαφος που το περιβάλλει σαν ένα ενιαίο κομμάτι. Σ’ αυτή την περίπτωση η

πρόσληψη του νερού από τα φυτά περιγράφεται από μία συνεχή συνάρτηση (sink

term, S(h)), η οποία προστίθεται απλά στην εξίσωση Richards. Ο όρος S(h)

περιγράφεται αναλυτικά στην επόμενη παράγραφο 2.1.2 .

2.1.2 Περιγραφή του όρου S(h)

Ο όρος S(h) της εξίσωσης Richards (2.1) μπορεί να προσεγγιστεί από μία

σχέση της μορφής (Feddes et al., 1978)

S(h)= α(h) Smax (2.2)

όπου :

Smax = η μέγιστη δυνατή πρόσληψη νερού από τις ρίζες και στη γενική περίπτωση

είναι συνάρτηση του βάθους του ριζοστρώματος,

α(h) = περιοριστικός παράγοντας και είναι μια αδιάστατη συνάρτηση του ύψους

πίεσης

Εκτενής αναφορά των α(h) και Smax γίνεται στις δύο επόμενες παραγράφους

(2.1.2.1 και 2.1.2.2)

Η διαπνεόμενη από το φυτό ποσότητα νερού Tα υπολογίζεται από τη σχέση :

Τα=L

0

S(h)dz∫ (2.3)

όπου :

L = το βάθος του ριζικού συστήματος

Όταν το έδαφος βρίσκεται στην υδατοϊκανότητα, τότε η πρόσληψη νερού από

το φυτό είναι μέγιστη - δηλαδή α(h)=1 - όπως και η διαπνοή του. Η μέγιστη λοιπόν

διαπνοή (δυναμική) TP υπολογίζεται από τη σχέση (2.3) για α(h)=1 :

Page 21: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 11

ΤΡ=L

max0

S (z)dz∫ (2.4)

Η δυναμική διαπνοή ΤΡ μπορεί να υπολογιστεί από τη σχέση :

ΤΡ = ΕΤΡ – EP (2.5)

όπου :

ΕΤΡ = η δυναμική εξατμισοδιαπνοή,

ΕΡ = η δυναμική εξάτμιση από την επιφάνεια του εδάφους, η οποία υπολογίζεται από

τη σχέση των Ritchie, 1972 και Al-Khafaf et al., 1978 : ( 0,623LAI )

P PE ET e −= ⋅ (2.6)

όπου :

LAI = ο δείκτης φυλλικής επιφάνειας (leaf area index)

Αν η άρδευση / βροχόπτωση είναι μικρότερη από 1cm/day, η εξάτμιση από

την επιφάνεια του εδάφους Eα μπορεί να υπολογιστεί από τη σχέση (Black et. al,

1969) : b bE t (t 1)α = σ − σ − (2.7)

όπου :

σ = παράμετρος εξαρτώμενη από το έδαφος με εύρος τιμών 3,34 με 5,8 (για

εξάτμιση σε mm/day) (Al-Khafaf et al., 1978, Ritchie, 1972),

t = χρόνος σε ημέρες,

b = εκθέτης (b=0,6 μετά από πειράματα των Al-Khafaf et al., 1978)

2.1.2.1 Περιγραφή του όρου Smax

Οι Molz and Remson (1970) πρότειναν ένα γραμμικό μοντέλο, σύμφωνα με

το οποίο γίνεται η παραδοχή ότι το 40% της κατανάλωσης νερού από το φυτό

πραγματοποιείται από το ανώτερο τεταρτημόριο του ριζικού συστήματος, το 30%

από το αμέσως κατώτερο τέταρτο και το 20% και 10% από τα υπόλοιπα δύο

τέταρτα αντίστοιχα. Σύμφωνα με τις παραδοχές αυτές η σχέση τους έχει τη μορφή :

P Pmax

1,6T 1,8TS (z) zL L

= − + (2.8)

Page 22: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 12

όπου :

L = το βάθος του ριζικού συστήματος,

ΤΡ = η δυναμική διαπνοή

Οι Feddes et al. (1978) στο μοντέλο που παρουσίασαν, θεώρησαν ότι ισχύει,

όσον αφορά την προσλαμβανόμενη ποσότητα νερού, η σχέση (2.2). Δέχθηκαν επίσης

ότι η ποσότητα Smax δεν μεταβάλλεται με το βάθος αλλά παραμένει σταθερή

εξαρτώμενη αποκλειστικά από τη δυναμική διαπνοή. Έτσι χρησιμοποίησαν την

ακόλουθη σχέση :

Smax = ΤΡ/L (2.9)

όπου :

L = το βάθος ριζικού συστήματος,

ΤΡ = η δυναμική διαπνοή

Οι Hoogland et al. (1981) σε μία προσπάθεια να βελτιώσουν το μοντέλο

SWATR, όσον αφορά τον υπολογισμό της προσλαμβανόμενης ποσότητας νερού και

σε αντίθεση με τους Feddes et al. (1978), θεώρησαν ότι το Smax κάτω από συνθήκες

δυναμικής διαπνοής, μειώνεται συναρτήσει του βάθους γραμμικά σύμφωνα με τη

σχέση :

Smax = a – b z , |z|≤ L

(2.10)

όπου :

a , b = σταθερές που υπολογίζονται από πειραματικά δεδομένα πρόσληψης νερού

Ο Prasad (1988) υιοθετώντας τη σχέση (2.10) των Hoogland et al. (1981) και

υποθέτοντας ότι η πρόσληψη νερού στο κατώτερο άκρο του ριζικού συστήματος

είναι μηδέν, καθώς και ότι η συνολική ποσότητα νερού που προσλαμβάνεται από τις

ρίζες ισούται με τη δυναμική διαπνοή, κατέληξε σε μία σχέση που είναι από τις

ευρύτερα αποδεκτές. Έτσι θεωρώντας ότι Smax=0 για z=L προκύπτει από τη (2.10)

ότι :

a-bL=0 (2.11)

Page 23: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 13

Η παραδοχή ότι η συνολική ποσότητα νερού που προσλαμβάνεται από τις

ρίζες ισούται με τη δυναμική διαπνοή, όταν υπάρχει πλήρης επάρκεια νερού,

περιγράφεται από τη σχέση (2.4) : L

max0

S (z)dz∫ = ΤΡ (2.12)

Σύμφωνα με τις εξισώσεις (2.10), (2.11), (2.12) παίρνουμε τις :

a=2 ΤΡ/z (2.13)

b=2 ΤΡ/z2 (2.14)

Με αντικατάσταση των δύο τελευταίων εξισώσεων (2.13), (2.14) στην (2.10)

οδηγούμαστε στη σχέση :

Pmax

2T zS (z) 1L L

⎛ ⎞= −⎜ ⎟⎝ ⎠

(2.15)

2.1.2.2 Περιγραφή του όρου α(h)

Σύμφωνα με τον Molz (1981), η μαθηματική περιγραφή των μοντέλων, που

λαμβάνουν ως καθοριστικό παράγοντα για τον υπολογισμό της προσλαμβανόμενης

από τη ρίζα ποσότητας νερού τη δυναμική διαπνοή (2.2), περιλαμβάνει πέραν του

Smax και τον περιοριστικό παράγοντα α(h). Ο περιοριστικός παράγοντας α(h), είναι

μία αδιάστατη συνάρτηση που εξαρτάται από το ύψος πίεσης (συνεπώς και την

υγρασία) και κυμαίνεται μεταξύ 0 και 1. Η φυσική σημασία του εκφράζει το λόγο

μεταξύ της πραγματικά προσλαμβανόμενης ποσότητας νερού από τις ρίζες (S(z)),

προς τη μέγιστη δυνατή (Smax), η οποία προκύπτει κάτω από συνθήκες υγρασίας, που

επιτρέπουν την απρόσκοπτη πρόσληψη νερού από τη ρίζα.

Οι Cowan (1965), Van Keulen (1975) και Nerpin et al. (1976) έδειξαν ότι η

δυνατότητα ενός φυτού να διατηρεί τη διαπνοή σε επίπεδο δυναμικής διαπνοής

αρχίζει να μειώνεται όταν η τιμή του ύψους πίεσης στο έδαφος πέσει κάτω από μια

τιμή, την οποία ονόμασαν κρίσιμη (hc). Οι Yang and De Jong (1971) έδειξαν ότι η

τιμή του hc εξαρτάται από την ζήτηση νερού από την ατμόσφαιρα, δηλαδή από τον

ρυθμό εξατμισοδιαπνοής. Οι Feddes et al. (1978), δέχθηκαν ότι η τιμή του hc,

Page 24: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 14

ανάλογα με την καλλιέργεια κυμαίνεται μεταξύ -1000 και -500 cm όπως και το ότι η

τιμή του hc μπορεί να θεωρηθεί σταθερή χωρίς να προκύπτει μεγάλο σφάλμα κατά τη

μαθηματική προσομοίωση του φαινομένου. Ο Diels (1994) προτείνει μία

μεγαλύτερη κύμανση του hc μεταξύ -1000 και -100 cm.

Μία άλλη τιμή του ύψους πίεσης η οποία παίζει καθοριστικό ρόλο στην

παραμετροποίηση της συμπεριφοράς της ρίζας, είναι εκείνη, πέραν της οποίας

επικρατούν ακατάλληλες συνθήκες αερισμού στο ριζόστρωμα. Η τιμή αυτή της

πίεσης ονομάζεται σημείο αναεροβίωσης (hα). Τέτοιες συνθήκες έχουν ως

αποτέλεσμα την αναστολή της λειτουργίας της ρίζας σύμφωνα με τον Feddes et al.

(1978), άλλα και άλλους (Novak, 1987 και Prasad, 1988). Θα πρέπει ακόμα να

αναφερθεί το προφανές γεγονός, ότι πέραν του σημείου μόνιμης μάρανσης (hPWP), η

ρίζα δεν προσλαμβάνει το νερό. Σύμφωνα με τους De Jong et al. (1992) η τιμή του

hPWP κυμαίνεται μεταξύ -20000 και -15000 cm.

Στο σχήμα 2.1 φαίνεται η μεταβολή του όρου S(h) και α(h) σε σχέση με την

απόλυτη τιμή του ύψους πίεσης της εδαφικής υγρασίας σύμφωνα με τους Feddes et

al. (1978) και τον Novak (1987). Στο σχήμα αυτό, η τιμή του α(h) παραμένει μηδέν

για 0 < h ≤ hα , παίρνει τη μέγιστη τιμή της για hα < h ≤ hc και μεταβάλλεται

γραμμικά για hc < h ≤ hPWP

Σχήμα 2.1 Μεταβολή του όρου α(h) με το ύψος πίεσης (Feddes et al., 1978)

Page 25: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 15

Μία διαφορετική περιγραφή της παραμέτρου α(h) δίνεται από τον Prasad

(1988) (σχήμα 2.2). Σύμφωνα με αυτόν, η τιμή του α(h) παραμένει μηδέν για 0 < h

≤ hα , μεταβάλλεται γραμμικά από μηδέν έως ένα για hα<h≤ hFC, διατηρεί την τιμή

ένα για hFC < h ≤ hc και μεταβάλλεται γραμμικά από ένα έως μηδέν για hc < h ≤

hPWP. Ισχύουν δηλαδή οι παρακάτω σχέσεις :

α(h)=0 για hα ≤ h < 0 ή h ≤ hPWP

α(h)= a

FC a

h hh h

⎛ ⎞−⎜ ⎟−⎝ ⎠

για hα < h ≤ hFC

α(h)=1 για hc ≤ h < hFC

α(h)=( ) ( )PWP c PWPh h / h h− − για hPWP ≤ h < hc

Σχήμα 2.2 Μεταβολή του όρου α(h) με το ύψος πίεσης (Prasad, 1988)

Μία διαφορετική περιγραφή της παραμέτρου α(h) δίνεται από τους Wyseure

et al. (1994) (σχήμα 2.3). Σύμφωνα με αυτόν η τιμή του α(h) παραμένει μηδέν για 0

< h ≤ hα , μεταβάλλεται γραμμικά από μηδέν έως ένα για hα < h ≤ hFC , διατηρεί

την τιμή ένα για hFC < h ≤ hc και μεταβάλλεται υπερβολικά από ένα έως μηδέν για

hc < h ≤ hPWP (σχήμα 2.3). Ισχύουν δηλαδή οι παρακάτω σχέσεις :

α(h)=0 για hα ≤ h < 0 ή h ≤ hPWP

Page 26: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 16

α(h)= a

FC a

h hh h

⎛ ⎞−⎜ ⎟−⎝ ⎠

για hα < h ≤ hFC

α(h)=1 για hc ≤ h < hFC

α(h)=PWP PWP c

1 1/h 1 h hh

⎛ ⎞⎜ ⎟ ⎛ ⎞

⎜ ⎟⎜ ⎟− −⎝ ⎠⎜ ⎟⎝ ⎠

για hPWP ≤ h < hc

Σχήμα 2.3 Μεταβολή του όρου α(h) με το ύψος πίεσης (Wyseure et al., 1994)

Στην περιγραφή αυτή η μεταβολή μεταξύ hc και hPWP είναι υπερβολική, καθώς

σύμφωνα με τους Mahey et al. (1984), η γραμμική μεταβολή, που υιοθετείται από τις

άλλες προσεγγίσεις του περιοριστικού παράγοντα α(h), έχει ως αποτέλεσμα τη

χαμηλή ευαισθησία του όσων αφορά το κρίσιμο σημείο πέραν του οποίου το φυτό

βρίσκεται σε κατάσταση στρες. Αν υιοθετηθεί λοιπόν η γραμμική μεταβολή το φυτό

θα προσλαμβάνει νερό με ευκολία μέχρι το σημείο μόνιμης μάρανσης, ενώ σύμφωνα

με την υπερβολική μεταβολή η δυνατότητα του φυτού να προσλαμβάνει νερό μεταξύ

hc και hPWP περιορίζεται κατά πολύ.

Page 27: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 17

2.1.3 Περιγραφή της ακόρεστης υδραυλικής αγωγιμότητας και της υδραυλικής χωρητικότητας του εδάφους

Στο μαθηματικό μοντέλο η ακόρεστη υδραυλική αγωγιμότητα K(h)

περιγράφεται από την εξίσωση Van Genuchten (1978, 1980) :

( ) 2mn 1 n

m /2n

1 h 1 ( h)K(h) K(s)

1 ( h)

−− ⎡ ⎤− α + α⎣ ⎦=

⎡ ⎤+ α⎣ ⎦ (2.16)

όπου :

K(s) = η υδραυλική αγωγιμότητα στον κορεσμό ή κορεσμένη υδραυλική

αγωγιμότητα (saturated hydraulic conductivity),

α = συντελεστής προσδιοριζόμενος από την χαρακτηριστική καμπύλη [L-1],

n, m = εμπειρικές παράμετροι προσδιοριζόμενοι από την χαρακτηριστική καμπύλη

Η σχέση που συνδέει τα m,n είναι η :

1m 1n

= −

Ενώ η χαρακτηριστική καμπύλη περιγράφεται από τη σχέση :

rn m

s r

1[1 ( h) ]

θ − θΩ = =

θ − θ + α (2.17)

όπου :

θ = περιεχόμενη στο έδαφος υγρασία κατ’ όγκο [L3 L-3],

θr = υπολειμματική υγρασία [L3 L-3],

θs = υγρασία κορεσμού [L3 L-3]

Με παραγώγιση της τελευταίας σχέσης (2.17) ως προς h παίρνουμε την

υδραυλική χωρητικότητα C(h) :

( )m 1 n 1ns s

2mn

( )m 1 ( h) n hdC(h)dh 1 ( h)

− −⎡ ⎤− θ − θ + α α αθ ⎣ ⎦= =⎡ ⎤+ α⎣ ⎦

(2.18)

Page 28: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 18

2.2 Το μαθηματικό μοντέλο SWBACROS

2.2.1 Γενικά

Το μοντέλο SWBACROS (Simulation of the Water BAlance of a CROpped

Soil) αναπτύχθηκε το 1995 στο εργαστήριο Γενικής και Γεωργικής Υδραυλικής και

Βελτιώσεων από τον καθηγητή κ. Χρήστο Μπαμπατζιμόπουλο (Babajimopoulos et

al., 1995) και βασίζεται στην αριθμητική επίλυση της εξίσωση Richards με τη μέθοδο

πρόβλεψης διόρθωσης των Douglas-Jones (Douglas and Jones, 1963)

Το μοντέλο έχει εφαρμοστεί σε δύο αγρούς καλλιεργούμενους με βαμβάκι και

σε ένα αργό καλλιεργούμενο με ζαχαρότευτλα. Κατά την πρώτη εφαρμογή τα

πειραματικά δεδομένα ελήφθησαν σε πειραματικό αγρό στη Λάρισα το 1994

(Καλφούντζος, 1994). Κατά τη δεύτερη εφαρμογή τα δεδομένα ελήφθησαν στο

Ινστιτούτο Εγγείων Βελτιώσεων της Σίνδου το 1995 για τον προγραμματισμό μιας

καλλιέργειας βαμβακιού (Μπαμπατζιμόπουλος κ.ά., 1995). Στις δύο αυτές

εφαρμογές τα αποτελέσματα του SWBACROS συγκρίθηκαν με αυτά του γνωστού

μοντέλου SWATRE. Οι δύο αυτές εφαρμογές έδειξαν ότι το SWBACROS μπορεί

να περιγράψει πολύ ικανοποιητικά το υδατικό ισοζύγιο του εδάφους ενώ φάνηκε και

μία σταθερή υπεροχή του SWBACROS έναντι του SWATRE. Τα αποτελέσματα

συγκρίθηκαν με αυτά του κλασικού τρόπου προγραμματισμού των αρδεύσεων και

έδειξαν ότι το SWBACROS μπορεί να επιφέρει σημαντική οικονομία αρδευτικού

νερού και να εξελιχθεί σε ένα πολύ καλό μέσο για τον προγραμματισμό των

αρδεύσεων (Babajimopoulos et al., 1995). Κατά την τρίτη εφαρμογή το μοντέλο

εφαρμόστηκε σε έναν αγρό καλλιεργούμενο με ζαχαρότευτλα στην Κορυφή Ημαθίας

την καλλιεργητική περίοδο του έτους 1997 (Μπαμπατζιμόπουλος, 2000). Η

εφαρμογή αυτή έδειξε ότι το μοντέλο SWBACROS μπορεί να παίξει ένα πολύ

σημαντικό ρόλο στον ορθολογικό προγραμματισμό της άρδευσης των

ζαχαροτεύτλων.

Page 29: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 19

2.2.2 Αριθμητική επίλυση

Το μαθηματικό μοντέλο SWBACROS βασίζεται στην αριθμητική επίλυση της

εξίσώσης Richards (2.1) με τη μέθοδο πρόβλεψης – διόρθωσης των Douglas-Jones

(Douglas and Jones, 1963). Η μέθοδος αυτή είναι μία πεπλεγμένη (implicit)

μέθοδος που έχει αποδειχθεί μία από τις πιο ικανοποιητικές, στην προσομοίωση της

μονοδιάστατης κίνησης του νερού στην ακόρεστη ζώνη του εδάφους (Haverkamp et

al., 1997, Babajimopoulos et al., 1991, Babajimopoulos, 2000).

Σχήμα 2.4 Δίκτυο πεπερασμένων διαφορών

Θεωρώντας το δίκτυο του σχήματος 2.5 η μέθοδος περιγράφεται από τις

παρακάτω εξισώσεις (Μπαμπατζιμόπουλος, 1991) :

Page 30: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 20

1 Δz1

…………...………............................................................. 2 Δz2

.……….…………………...…......................................... . . .

…………………………….............................................. j-1 Δzj-1

……….....…………………..………………..……… j Δzj

……….....…………………..………………..……… j+1 Δzj+1

……….....…………………..………………..……… . . .

(+)

Σχήμα 2.5 Δίκτυο υπολογισμών

Εξίσωση πρόβλεψης :

( )n 1/2 n

n n 1/2 n nz z

h hK h 1 S Ct/2

++ −⎡ ⎤δ δ − − =⎣ ⎦ Δ

(2.19)

Εξίσωση διόρθωσης :

( ) ( )n 1 n

n 1/2 n 1/2 n 1/2 n n 1/2 n 1/2z z z

1 h hK h 1 K h 1 S C2 t

++ + + + + −⎡ ⎤⎡ ⎤δ δ − + δ − − =⎣ ⎦⎣ ⎦ Δ

(2.20)

όπου :

δz = ο τελεστής των κεντρικών διαφορών,

n = η χρονική στιγμή. Έτσι Δt = tn+1 - tn

Αναλυτικότερα η εξίσωση πρόβλεψης (2.19) μπορεί να γραφεί :

n 1/2 n 1/2 n 1/2 n 1/2 n 1/2 nj 1 j j j 1 j jn n n n

j 1/2 j 1/2 j jj j 1 j 1 jj

h h h h h h1 K 1 K 1 S Cz z z zz t/22 2

+ + + + ++ −

+ −+ −

⎡ ⎤⎛ ⎞ ⎛ ⎞⎢ ⎥⎜ ⎟ ⎜ ⎟− − −

− − − − =⎢ ⎥⎜ ⎟ ⎜ ⎟Δ + Δ Δ + ΔΔ Δ⎢ ⎥⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎢ ⎥⎝ ⎠ ⎝ ⎠⎣ ⎦(2.21)

όπου :

Page 31: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 21

zj = η απόσταση μεταξύ δύο κομβικών σημείων j και (j+1) και

η υδραυλική αγωγιμότητα στο ενδιάμεσο κομβικό σημείο (j+1/2) και (j-1/2)

εκτιμάται σαν ο γεωμετρικός μέσος, δηλαδή θα έχουμε :

n n nj 1/2 j 1 jK K K− −= ⋅

n n nj 1/2 j j 1K K K+ += ⋅

Η εξίσωση (2.21) μετά την εκτέλεση των πράξεων και αναδιάταξη των όρων

γράφεται σε τριδιαγωνική μορφή ως εξής :

( ) ( ) ( )n n nj 1/2 j 1/2 j 1/2n 1/2

j 1n n nj j 1 j j j j 1 j j j 1 j j j

t K t K t Kh 1

z z z C z z z C z z z C+ + −+

++ + −

⎡ ⎤ ⎡ ⎤Δ ⋅ Δ ⋅ Δ ⋅− + + + ⋅⎢ ⎥ ⎢ ⎥

Δ + Δ Δ Δ + Δ Δ Δ + Δ Δ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

( ) ( )nj 1/2n 1/2 n 1/2 n n n n

j j 1 j 1/2 j 1/2 j jn nnj j jj 1 j j j

t K t th h K K h S2 z C 2Cz z z C

−+ +− − +

⎡ ⎤Δ ⋅ Δ Δ+ − = − + −⎢ ⎥

ΔΔ + Δ Δ⎢ ⎥⎣ ⎦

(2.22)

Η εξίσωση (2.22) είναι γραμμένη με την ακόλουθη μορφή, η οποία και

επιλύεται με τον αλγόριθμο του Thomas (παράγραφος 2.3) : n 1/2 n 1/2 n 1/2

j j 1 j j j j 1 jA h B h C h D+ + ++ −+ + =

όπου :

( )nj 1/2

j nj j 1 j j

t KA

z z z C+

+

Δ ⋅= −

Δ + Δ Δ ,

( ) ( )n nj 1/2 j 1/2

j n nj j 1 j j j 1 j j j

t K t KB 1

z z z C z z z C+ −

+ −

Δ ⋅ Δ ⋅= + +

Δ + Δ Δ Δ + Δ Δ

( )nj 1/2

j nj 1 j j j

t KC

z z z C−

Δ ⋅= −

Δ + Δ Δ ,

( )n n n nj j 1/2 j 1/2 j jn n

j j j

t tD K K h S2 z C 2C− +Δ Δ

= − + −Δ

Αναλυτικότερα η εξίσωση διόρθωσης (2.20) μπορεί να γραφεί ως εξής :

Page 32: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 22

n 1 n 1 n 1 n 1j 1 j j j 1n 1/2 n 1/2

j 1/2 j 1/2j j 1 j 1 jj

h h h h1 2 K 1 K 1z z z z2 z2 2

+ + + ++ −+ +

+ −− −

⎡ ⎡ ⎛ ⎞ ⎛ ⎞⎢ ⎢ ⎜ ⎟ ⎜ ⎟− −

− − − +⎢ ⎢ ⎜ ⎟ ⎜ ⎟Δ + Δ Δ + ΔΔ⎢ ⎢ ⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎢ ⎢ ⎝ ⎠ ⎝ ⎠⎣⎣

n n n 1 nj 1 j j jn 1/2 n 1/2 n 1/2

j 1/2 j jj j 1

h h h hK 1 S Cz z t

2

+++ + +

−+

⎤⎤⎛ ⎞⎥⎥⎜ ⎟− −

+ − − =⎥⎥⎜ ⎟Δ + Δ Δ⎥⎥⎜ ⎟⎜ ⎟ ⎥⎥⎝ ⎠⎦⎦

(2.23)

όπου :

zj = η απόσταση μεταξύ δύο κομβικών σημείων j και (j+1) και

η υδραυλική αγωγιμότητα στο ενδιάμεσο κομβικό σημείο (j+1/2) και (j-1/2)

εκτιμάται σαν ο γεωμετρικός μέσος με τον τρόπο που υπολογίστηκε στην εξίσωση

πρόβλεψης.

Η εξίσωση (2.23) μετά την εκτέλεση των πράξεων και αναδιάταξη των όρων

γράφεται σε τριδιαγωνική μορφή ως εξής :

( ) ( ) ( )n n 1/2 n 1/2j 1/2 j 1/2 j 1/2n 1

j 1n n 1/2 n 1/2j j 1 j j j j 1 j j j 1 j j j

t K t K t Kh 1

z z z C z z z C z z z C

+ ++ + ++

+ + ++ + −

⎡ ⎤ ⎡ ⎤Δ ⋅ Δ ⋅ Δ ⋅− + + + ⋅⎢ ⎥ ⎢ ⎥

Δ + Δ Δ Δ + Δ Δ Δ + Δ Δ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

( ) ( )n 1/2j 1/2n 1 n 1 n 1/2 n 1/2

j j 1 j 1/2 j 1/2n 1/2n 1/2j jj j 1 j j

t K th h K Kz Cz z z C

+−+ + + +

− − +++−

⎡ ⎤Δ ⋅ Δ+ − = − +⎢ ⎥

ΔΔ + Δ Δ⎢ ⎥⎣ ⎦

( ) ( ) ( ) ( )n 1/2 n 1/2j 1/2 j 1/2n n n n

j 1 j j j 1n 1/2 n 1/2j j 1 j j j j 1 j j

t K t Kh h h h

z z 1 z C z z z C

+ ++ −

+ −+ ++ −

Δ ⋅ Δ ⋅+ − − − +

Δ + Δ + Δ Δ + Δ Δ

n n 1/2j jn 1/2

j

th SC

++

Δ+ − (2.24)

Η εξίσωση (2.24) είναι γραμμένη με την ακόλουθη μορφή, η οποία και

επιλύεται με τον αλγόριθμο του Thomas (παράγραφος 2.3) : n 1/2 n 1/2 n 1/2

j j 1 j j j j 1 jA h B h C h D+ + ++ −+ + =

όπου :

Page 33: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 23

( )n 1/2j 1/2

j n 1/2j j 1 j j

t KA

z z z C

++

++

Δ ⋅= −

Δ + Δ Δ ,

( ) ( )n 1/2 n 1/2j 1/2 j 1/2

j n 1/2 n 1/2j j 1 j j j 1 j j j

t K t KB 1

z z z C z z z C

+ ++ +

+ ++ −

Δ ⋅ Δ ⋅= + +

Δ + Δ Δ Δ + Δ Δ,

( )nj 1/2

j nj 1 j j j

t KC

z z z C−

Δ ⋅= −

Δ + Δ Δ,

( ) ( ) ( )n 1/2j 1/2n 1/2 n 1/2 n n

j j 1/2 j 1/2 j 1 jn 1/2 n 1/2j j j j 1 j j

t KtD K K h hz C z z 1 z C

+++ +

− + ++ ++

Δ ⋅Δ= − + − −Δ Δ + Δ + Δ

( ) ( )n 1/2j 1/2 n n n n 1/2

j j 1 j jn 1/2n 1/2jj j 1 j j

t K th h h SCz z z C

+− +

− ++−

Δ ⋅ Δ− − + −Δ + Δ Δ

2.2.3 Οριακές συνθήκες

2.2.3.1 Επάνω οριακή συνθήκη

Η οριακή συνθήκη στην επιφάνεια του εδάφους είναι γνωστή εισροή και

δίνεται από τη σχέση :

hP K 1z∂⎛ ⎞= − −⎜ ⎟∂⎝ ⎠

(2.25)

Η εισροή Ρ υπολογίζεται από τη σχέση :

Ρ = R – Eα – INT (2.26)

όπου :

R = η άρδευση / βροχόπτωση,

ΙΝΤ = η υδατοσυγκράτηση,

Eα = η πραγματική εξάτμιση από την επιφάνεια του εδάφους που δίνεται από τις

σχέσεις (2.6) και (2.7)

Η αντικατάσταση της (2.25) στην εξίσωση πρόβλεψης (2.19) δίνει τελικά :

Page 34: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 24

n 1/2 n 1/2 n 1/2 nj 1 j j jn n 1/2 n n

j 1/2 j j jj j 1j

h h h h1 K 1 P S Cz zz t/22

+ + ++ +

++

⎡ ⎤⎛ ⎞⎢ ⎥⎜ ⎟− −

− − − =⎢ ⎥⎜ ⎟Δ + ΔΔ Δ⎢ ⎥⎜ ⎟⎜ ⎟⎢ ⎥⎝ ⎠⎣ ⎦

Η εξίσωση (2.21) μετά την εκτέλεση των πράξεων και αναδιάταξη των όρων

γράφεται σε τριδιαγωνική μορφή ως εξής :

( ) ( )n nj 1/2 j 1/2n 1/2 n 1/2

j 1 jn nj j 1 j j j j 1 j j

t K t Kh 1 h

z z z C z z z C+ ++ +

++ +

⎡ ⎤ ⎡ ⎤Δ ⋅ Δ ⋅− + + =⎢ ⎥ ⎢ ⎥

Δ + Δ Δ Δ + Δ Δ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

( )n 1/2 n n nj j 1/2 j jn n

j j j

t tP K h Sz C 2C

++

Δ Δ= − + −Δ

(2.27)

Η εξίσωση (2.27) είναι γραμμένη με την ακόλουθη μορφή, η οποία και

επιλύεται με τον αλγόριθμο του Thomas (παράγραφος 2.3) : n 1/2 n 1/2

j j 1 j j jA h B h D+ ++ + =

όπου :

( )nj 1/2

j nj j 1 j j

t KA

z z z C+

+

Δ ⋅= −

Δ + Δ Δ ,

( )nj 1/2

j nj j 1 j j

t KB 1

z z z C+

+

Δ ⋅= +

Δ + Δ Δ ,

( )n 1/2 n n nj j j 1/2 j jn n

j j j

t tD P K h S2 z C 2C

++

Δ Δ= − + −

Δ

Η εξίσωση διόρθωσης (2.20) αντίστοιχα γράφεται μετά την εκτέλεση των

πράξεων και αναδιάταξη των όρων σε τριδιαγωνική μορφή ως εξής :

( ) ( )n 1/2 n 1/2j 1/2 j 1/2n 1 n 1

j 1 jn 1/2 n 1/2j j 1 j j j j 1 j j

t K t Kh 1 h

z z z C z z z C

+ ++ ++ +

++ ++ +

⎡ ⎤ ⎡ ⎤Δ ⋅ Δ ⋅− + + =⎢ ⎥ ⎢ ⎥

Δ + Δ Δ Δ + Δ Δ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

( ) ( )n n 1 n 1/2j j j 1/2n 1/2 n n n

j 1/2 j 1 j jn 1/2 n 1/2j j j j 1 j j

P P t Kt K h h hz C 2 z z z C

+ +++

− ++ ++

⎛ ⎞− Δ ⋅Δ= − + + − + −⎜ ⎟⎜ ⎟Δ Δ + Δ Δ⎝ ⎠

Page 35: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 25

n 1/2jn 1/2

j

t SC

++

Δ− (2.28)

Η εξίσωση (2.28) είναι γραμμένη με την ακόλουθη μορφή, η οποία και

επιλύεται με τον αλγόριθμο του Thomas (παράγραφος 2.3) : n 1 n 1

j j 1 j j jA h B h D+ ++ + =

όπου :

( )n 1/2j 1/2

j n 1/2j j 1 j j

t KA

z z z C

++

++

Δ ⋅= −

Δ + Δ Δ ,

( )n 1/2j 1/2

j n 1/2j j 1 j j

t KB 1

z z z C

++

++

Δ ⋅= +

Δ + Δ Δ ,

( ) ( )n n 1 n 1/2j j j 1/2n 1/2 n n n

j j 1/2 j 1 j jn 1/2 n 1/2j j j j 1 j j

P P t KtD K h h hz C 2 z z z C

+ +++

− ++ ++

⎛ ⎞− Δ ⋅Δ= − + + − + −⎜ ⎟⎜ ⎟Δ Δ + Δ Δ⎝ ⎠

n 1/2jn 1/2

j

t SC

++

Δ−

2.2.3.2 Κάτω οριακές συνθήκες

Το μοντέλο SWBACROS είναι έτσι γραμμένο ώστε να δέχεται μία από τις

ακόλουθες κάτω οριακές συνθήκες :

A. Γνωστή υπόγεια στάθμη

B. Ελεύθερη στράγγιση

Γ. Μηδενική ροή

Α. Γνωστή υπόγεια στάθμη

Όταν ο τελευταίος κόμβος του δικτύου βρίσκεται στο όριο της υπόγειας

στάθμης του νερού τότε το ύψος πίεσης στο σημείο αυτό θα τείνει προς το μηδέν

αφού το έδαφος θα είναι κορεσμένο. Έτσι με γνωστή την τιμή του ύψους πίεσης στον

τελευταίο κόμβο Ν, η λύση σταματά στον κόμβο Ν-1.

Page 36: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 26

Η εξίσωση πρόβλεψης (2.19) για j=N-1 γράφεται : n 1/2 n 1/2j j j j 1h F G h+ +

+= +

Αντίστοιχα η εξίσωση διόρθωσης (2.20) για j=N-1 γράφεται : n 1 n 1j j j j 1h F G h+ +

+= +

Οι συντελεστές Fj και Gj εκφράζονται από τις σχέσεις :

j j j 1j

j j j 1

D C FF

B C G−

−=

+

jj

j j j 1

AG

B C G −

−=

+

όπου οι F1 και G1 προσδιορίζονται από την επάνω οριακή συνθήκη.

Β. Ελεύθερη στράγγιση Κατά την ελεύθερη στράγγιση, η ροή στο κάτω όριο qb ισούται με K(h). Έτσι

η εξίσωση πρόβλεψης (2.19) στο κάτω όριο (j=N) γράφεται σε τριδιαγωνική μορφή

ως εξής:

( ) ( )n nj 1/2 j 1/2n 1/2 n 1/2

j j 1n nj 1 j j j j 1 j j j

t K t K1 h h

z z z C z z z C− −+ +

−− −

⎡ ⎤Δ ⋅ Δ ⋅+ − =⎢ ⎥

Δ + Δ Δ Δ + Δ Δ⎢ ⎥⎣ ⎦

( )n n n nj 1/2 j 1/2 j jn n

j j j

t tK K h S2 z C C− +Δ Δ

= − + −Δ

(2.29)

Η εξίσωση (2.29) είναι γραμμένη με την ακόλουθη μορφή, η οποία και

επιλύεται με τον αλγόριθμο του Thomas (παράγραφος 2.3) : n 1/2 n 1/2

j j j j 1 jB h C h D+ +−+ = (2.30)

όπου :

( )nj 1/2

j nj 1 j j j

t KB 1

z z z C−

Δ ⋅= +

Δ + Δ Δ ,

Page 37: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 27

( )nj 1/2 n 1/2

j j 1nj 1 j j j

t KC h

z z z C− +

−−

Δ ⋅= −

Δ + Δ Δ ,

( )n n n nj j 1/2 j 1/2 j jn n

j j j

t tD K K h S2 z C C− +Δ Δ

= − + −Δ

Η εξίσωση (2.30) δίνει τελικά :

j j j 1n 1/2j j

j j j 1

D C Fh F

B C G−+

−= =

+

Αντίστοιχα η εξίσωση διόρθωσης (2.20) γράφεται σε τριδιαγωνική μορφή ως

εξής :

( ) ( )n 1/2 n 1/2j 1/2 j 1/2n 1 n 1

j j 1n 1/2 n 1/2j 1 j j j j j 1 j j

t K t K1 h h

z z z C z z z C

+ +− −+ +

−+ +− −

⎡ ⎤Δ ⋅ Δ ⋅+ − =⎢ ⎥

Δ + Δ Δ Δ + Δ Δ⎢ ⎥⎣ ⎦

( ) ( ) ( )n 1/2j 1/2n 1/2 n 1/2 n n n

j 1/2 j 1/2 j j 1 jn 1/2 n 1/2j j j j 1 j j

t Kt K K h h hz C z z z C

+−+ +

− + −+ +−

Δ ⋅Δ= − − − + −Δ Δ + Δ Δ

n 1/2jn 1/2

j

t SC

++

Δ− (2.31)

Η εξίσωση (2.31) είναι γραμμένη με την ακόλουθη μορφή, η οποία και

επιλύεται με τον αλγόριθμο του Thomas (παράγραφος 2.3) : n 1 n 1

j j j j 1 jB h C h D+ +−+ = (2.32)

όπου :

( )n 1/2j 1/2

j n 1/2j 1 j j j

t KB 1

z z z C

+−

+−

Δ ⋅= +

Δ + Δ Δ ,

( )n 1/2j 1/2 n 1/2

j j 1n 1/2j 1 j j j

t KC h

z z z C

+− +

−+−

Δ ⋅= −

Δ + Δ Δ ,

( ) ( ) ( )n 1/2j 1/2n 1/2 n 1/2 n n n

j j 1/2 j 1/2 j j 1 jn 1/2 n 1/2j j j j 1 j j

t KtD K K h h hz C z z z C

+−+ +

− + −+ +−

Δ ⋅Δ= − − − + −Δ Δ + Δ Δ

Page 38: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 28

n 1/2jn 1/2

j

t SC

++

Δ−

Η εξίσωση (2.32) δίνει τελικά :

n 1j jh F+ = = j j j 1

j j j 1

D C FB C G

+

Γ. Μηδενική ροή Όταν η ροή είναι μηδενική στο κάτω όριο (j=N) τότε σύμφωνα με το νόμο

του Darcy :

j N

hP K 1 0z =

∂⎛ ⎞= − − =⎜ ⎟∂⎝ ⎠

Oπότε η εξίσωση πρόβλεψης (2.19) γράφεται τελικά σε τριδιαγωνική μορφή

ως εξής :

( ) ( )n n nj 1/2 j 1/2 j 1/2n 1/2 n 1/2 n

j j 1 jnn nj jj 1 j j j j 1 j j j

t K t K t K1 h h h

2 z Cz z z C z z z C− − −+ +

−− −

⎡ ⎤Δ ⋅ Δ ⋅ Δ ⋅+ − = + −⎢ ⎥

ΔΔ + Δ Δ Δ + Δ Δ⎢ ⎥⎣ ⎦

njn

j

t S2CΔ

− (2.33)

Η εξίσωση (2.33) είναι γραμμένη με την ακόλουθη μορφή, η οποία και

επιλύεται με τον αλγόριθμο του Thomas (παράγραφος 2.3) :

n 1/2 n 1/2j j j j 1 jB h C h D+ +

−+ = (2.34)

όπου :

( )nj 1/2

j nj 1 j j j

t KB 1

z z z C−

Δ ⋅= +

Δ + Δ Δ ,

( )nj 1/2

j nj 1 j j j

t KC

z z z C−

Δ ⋅= −

Δ + Δ Δ ,

nj 1/2 n n

j j jn nj j j

t K tD h S2 z C 2C

−Δ ⋅ Δ= + −

Δ

Page 39: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 29

Από την εξίσωση (2.34) προκύπτει τελικά ότι :

n 1/2j jh F+ = = j j j 1

j j j 1

D C FB C G

−+

Αντίστοιχα η εξίσωση διόρθωσης (2.20) γράφεται σε τριδιαγωνική μορφή ως

εξής :

( ) ( )n 1/2 n 1/2j 1/2 j 1/2n 1 n 1

j j 1n nj 1 j j j j j 1 j j

t K t K1 h h

z z z C z z z C

+ +− −+ +

−− −

⎡ ⎤ ⎡ ⎤Δ ⋅ Δ ⋅+ − =⎢ ⎥ ⎢ ⎥

Δ + Δ Δ Δ + Δ Δ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

( ) ( )n 1/2 n 1/2j 1/2 j 1/2 n n n n 1/2

j j 1 j jn 1/2 n 1/2n 1/2j j jj j 1 j j

t K t K th h h Sz C Cz z 1 z C

+ +− − +

−+ ++−

Δ ⋅ Δ ⋅ Δ= − − + −Δ Δ + Δ + Δ

(2.35)

Η εξίσωση (2.35) είναι γραμμένη με την ακόλουθη μορφή, η οποία και

επιλύεται με τον αλγόριθμο του Thomas (παράγραφος 2.3) : n 1 n 1

j j j j 1 jB h C h D+ +−+ = (2.36)

όπου :

( )n 1/2j 1/2

j nj 1 j j j

t KB 1

z z z C

+−

Δ ⋅= +

Δ + Δ Δ ,

( )n 1/2j 1/2

j nj 1 j j j

t KC

z z z C

+−

Δ ⋅= −

Δ + Δ Δ ,

( ) ( )n 1/2 n 1/2j 1/2 j 1/2 n n n n 1/2

j j j 1 j jn 1/2 n 1/2n 1/2j j jj j 1 j j

t K t K tD h h h Sz C Cz z 1 z C

+ +− − +

−+ ++−

Δ ⋅ Δ ⋅ Δ= − − + −Δ Δ + Δ + Δ

Από την εξίσωση (2.36) παίρνουμε τελικά :

n 1j jh F+ = = j j j 1

j j j 1

D C FB C G

−+

(2.37)

Page 40: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 30

2.3 Επίλυση συστήματος εξισώσεων με τριδιαγωνικό σύστημα συντελεστών

Όπως είδαμε και στη προηγούμενη παράγραφο συστήματα εξισώσεων με

τριδιαγωνικό πίνακα συντελεστών των αγνώστων εμφανίζονται πολύ συχνά κατά την

αριθμητική επίλυση μερικών διαφορικών εξισώσεων, όπως επίσης και σε διάφορες

άλλες εφαρμογές της αριθμητικής ανάλυσης.

Τα συστήματα έχουν τη μορφή :

b1x1 + c1x2 = d1

a2x1 + b2x2 + c2x3 = d2

a3x2 + b3x3 + c3x4 = d3

……

…… (2.38)

aixi-1+bixi +cixi+1 = di

……

an-1xn-2 + bn-1xn-1 + cn-1xn = dn-1

anxn-1 + bnxn = dn

Είναι προφανές ότι από την πρώτη εξίσωση μπορούμε να εκφράσουμε το x1

ως συνάρτηση του x2. Αν αντικαταστήσουμε την τιμή αυτή του x1 στη δεύτερη

εξίσωση, θα μας δώσει το x2 ως συνάρτηση του x3. Επαναλαμβάνοντας αυτές τις

αντικαταστάσεις μέχρι την τελευταία εξίσωση θα πάρουμε απ’ αυτήν την τιμή του xn

και με αντίστροφη αντικατάσταση όλους τους υπόλοιπους αγνώστους.

Για να αναπτύξουμε λοιπόν τον αλγόριθμο για τη λύση του συστήματος (2.38),

πρέπει να χρησιμοποιήσουμε ένα τύπο επαναφοράς της μορφής :

xi=Gixi+1+Fi (2.39)

όπου :

Gi , Fi = συντελεστές που πρέπει να προσδιορισθούν

Page 41: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 31

Αντικαθιστώντας την (2.39) στη γενική εξίσωση του συστήματος (2.38)

παίρνουμε :

( )i i 1 i i 1 i i i i 1 ia G x F b x c x d− − ++ + + =

ή

i i i 1 ii i 1

i i 1 i i i 1 i

c a F dx xa G b a G b

−+

− −

− − += +

+ +

απ’ όπου συμπεραίνουμε ότι :

ii

i i 1 i

cGa G b−

−=

+ (2.40)

i i 1 ii

i i 1 i

a F dFa G b

− +=

+ (2.41)

Η εφαρμογή των (2.40) και (2.41) απαιτεί τις τιμές των Gi και Fi. Από την

πρώτη εξίσωση του συστήματος (2.38) παίρνουμε :

i 11 2

i 1

c dx xb b−

= +

απ’ όπου συνάγουμε ότι

i1

i

cGb−

=

και

11

1

dFb

=

Απομένει η εύρεση του xn για να μπορέσουμε να εφαρμόσουμε τον τύπο

επαναφοράς (2.39) για τον υπολογισμό των αγνώστων. Αντικατάσταση της (2.39)

στην τελευταία εξίσωση του (2.38) δίνει :

( )n n 1 n n 1 n n na G x F b x d− −+ + =

ή

Page 42: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 32

n n 1 nn n

n n 1 n

a F dx Fa G b

− += =

+

Ο παραπάνω αλγόριθμος, που ονομάζεται αλγόριθμος του Τhomas

συνοψίζεται από τις παρακάτω σχέσεις :

xn=Fn

xi=Gixi+1+Fi , i=n-1,n-2,…,1

όπου : 11

1

cGb

= − ,

11

1

dFb

=

ii

i i 1 i

cGa G b−

= −+

, i=2,3,4,…,n

i i 1 ii

i i 1 i

a F dFa G b

− +=

+ , i=2,3,4,…,n

2.4 Δομή SWBACROS

Το πρόγραμμα SWBACROS είναι γραμμένο στη γλώσσα προγραμματισμού

FORTRAN. Το κυρίως πρόγραμμα αποτελείται από τα εξής τέσσερα αρχεία :

Sink1e.f90

Το αρχείο Sink1e.f90 είναι το βασικό αρχείο του SWBACROS και περιέχει

τις υπορουτίνες του προγράμματος που το όνομα τους ξεκινά από τα γράμματα Α-Ε.

Sinkff.f90

Το αρχείο Sinkff.f90 περιέχει τις υπορουτίνες του προγράμματος που το

όνομα τους ξεκινά από το γράμμα F.

Sinkip.f90

Page 43: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 33

Το αρχείο Sinkip.f90 περιέχει τις υπορουτίνες του προγράμματος που το

όνομα τους ξεκινά από τα γράμματα I-P.

Sinkp9.f90

Το αρχείο Sinkp9.f90 περιέχει τις υπορουτίνες του προγράμματος που το

όνομα τους ξεκινά από τα γράμματα R-W.

Τα αρχεία εισόδου (input files) που χρειάζονται για την εισαγωγή δεδομένων

είναι τα ακόλουθα 4 (τέσσερα) :

gndata

Το GNDATA είναι το βασικό αρχείο δεδομένων του SWBACROS. Στον

παρακάτω πίνακα βλέπουμε τις μεταβλητές του GNDATA μαζί με τη σημασία τους.

Μεταβλητή

SWBACROS

Σημασία

IDIN Αρχική ημέρα υπολογισμών (Initial Day)

IMIN Αρχικός μήνας υπολογισμών (Initial Month)

IYIN Αρχικό έτος υπολογισμών (Initial Year)

IDLAST Τελική ημέρα υπολογισμών (Last Day)

IMLAST Τελικός μήνας υπολογισμών (Last Month)

IYLAST Τελικό έτος υπολογισμών (Last Year)

IDTDAY Τρέχουσα ημέρα (Today, Current Day)

IMTDAY Τρέχων μήνας (Current Month)

IYTDAY Τρέχον έτος (Current Year)

METHOD Επιλογή της αριθμητικής μεθόδου που θα χρησιμοποιήσει το

SWBACROS (Douglas – Jones predictor ή Implicit method)

MAXITER Μέγιστος αριθμός επαναλήψεων (η μεταβλητή χρησιμοποιείται

μόνο κατά την Implicit μέθοδο)

JMAX Μέγιστος αριθμός κόμβων (Nodal points)

Page 44: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 34

DEPTH Βάθος ακόρεστης ζώνης εδάφους (σε m)

DTPAR

Επιλογή του χρονικού βήματος που χρησιμοποιεί το SWBACROS

(σταθερό ή μεταβλητό χρονικό βήμα)

DT Αρχικό βήμα (για σταθερό ή μεταβλητό χρονικό βήμα) (σε min)

DTMIN Ελάχιστο βήμα για το μεταβλητό χρονικό βήμα (σε min)

DTMAX Μέγιστο βήμα για το μεταβλητό χρονικό βήμα (σε min)

ZETA Παράμετρος σύγκλισης για το μεταβλητό χρονικό βήμα (σε min)

OPT Επιλογή είδους εκτέλεσης του SWBACROS (Βελτιστοποιημένη ή

Κανονική εκτέλεση)

LAYER Αριθμός εδαφικών οριζόντων

OUT1 Αρχείο που περιέχει τα αποτελέσματα του υδατικού ισοζυγίου του

εδάφους

OUT2 Αρχείο που περιέχει τα αποτελέσματα των χαρακτηριστικών του

εδαφικού προφίλ

IBBC Επιλογή για την κάτω οριακή συνθήκη

IRWUT Ενεργοποίηση / απενεργοποίηση της πρόσληψης υγρασίας από τις

ρίζες του φυτού

MODUPT Επιλογή για χρήση του μοντέλου για τη μέγιστη δυνατή πρόσληψη

νερού από τις ρίζες (Feddes ή Prasad)

PSI1 Σημείο αναεροβίωσης (σε m) για τον υπολογισμό της πρόσληψης

νερού από τις ρίζες

PSI2 Κρίσιμο ύψος πίεσης (σε m)

PSI3 Ύψος πίεσης στην υδατοϊκανότητα (σε m)

IΤBC Επιλογή για την πάνω οριακή συνθήκη

UDFLUX Ροή δοσμένη από τον χρήστη για την πάνω οριακή συνθήκη (σε

m/day)

SIGMA Coefficient in actual evaporation function

PETIND Επιλογή για χρήση της μεθόδου υπολογισμού της δυναμικής

εξατμισοδιαπνοής (τροποποιημένης μεθόδου Penman ή από αρχείο

εισόδου)

Page 45: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 35

IPETC Επιλογή για εξαγωγή ή μη των παραμέτρων που χρησιμοποιήθηκαν

στον υπολογισμό της εξατμισοδιαπνοής στο αρχείο OUT1

IAVER Επιλογή για τον υπολογισμό της δυναμικής εξατμισοδιαπνοής

(κάνοντας χρήση καθημερινών δεδομένων ή παίρνοντας τον μέσο

όρο των κλιματολογικών δεδομένων για 10 ημέρες)

IRS Επιλογή για τον υπολογισμό της ηλιακής ακτινοβολίας (από το

αρχείο δεδομένων PNMETEO ή από το SWBACROS)

VRATIO Λόγος της ταχύτητας του ανέμου κατά τη διάρκεια της ημέρας και

της νύχτας

LFIRST Οι τιμές για το πρώτο σημείο κάθε κόμβου του κάθε εδαφικού

ορίζοντα

LLAST Οι τιμές για το τελευταίο σημείο κάθε κόμβου του κάθε εδαφικού

ορίζοντα

AKS Οι τιμές της κορεσμένης υδραυλικής αγωγιμότητας κάθε εδαφικού

ορίζοντα

THETS Οι τιμές της υπολειμματικής υγρασίας (θs) κάθε εδαφικού ορίζοντα

THETD Οι τιμές της περιεχόμενης στο έδαφος υγρασίας κατ’ όγκο (θ) κάθε

εδαφικού ορίζοντα

AV Συντελεστής α προσδιοριζόμενος από την χαρακτηριστική καμπύλη

στην εξίσωση Van Genuchten κάθε εδαφικού ορίζοντα

ANV Εμπειρική παράμετρος n προσδιοριζόμενη από την χαρακτηριστική

καμπύλη στην εξίσωση Van Genuchten κάθε εδαφικού ορίζοντα

DELZ Οι τιμές του μεγέθους (σε m) κάθε κελιού

Y Οι τιμές των αρχικών τιμών της αρνητικής πίεσης (σε m) κάθε

κόμβου

pldata

Το αρχείο PLDATA περιέχει τα δεδομένα για τον υπολογισμό της

πρόσληψης της υγρασίας από το ριζικό σύστημα. Απαραίτητα προϋπόθεση για την

χρήση αυτών των δεδομένων είναι η ενεργοποίηση από τον χρήστη της πρόσληψης

Page 46: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 36

της υγρασίας από τις ρίζες του φυτού (μεταβλητή IRWUT του αρχείου GNDATA).

Οι μεταβλητές που περιέχονται σε αυτό το αρχείο φαίνονται στον παρακάτω πίνακα :

Μεταβλητή SWBACROS Σημασία

SC Εδαφοκάλυψη (0.0-1.0)

ROOTDP Βάθος ριζικού συστήματος (σε m)

CF1 Φυτικός συντελεστής καλλιέργειας

pnmeteo

Το αρχείο PNMETEO περιέχει τα μετεωρολογικά στοιχεία τα οποία είναι

απαραίτητα για τον υπολογισμό της εξατμισοδιαπνοής μέσω της τροποποιημένης

μεθόδου του Penman. Απαραίτητα προϋπόθεση για την χρησιμοποίηση των

δεδομένων του αρχείο είναι να επιλεγεί η μέθοδος αυτή από το χρήστη μέσω της

μεταβλητής PETIND. Στον παρακάτω πίνακα βλέπουμε της μεταβλητές που

περιέχονται στο αρχείο αυτό.

Μεταβλητή

SWBACROS

Σημασία

ALT Υψόμετρο μετεωρολογικού σταθμού (σε m)

PLAT Γεωγραφικό πλάτος μετεωρολογικού σταθμού (σε μοίρες)

STNAME Όνομα μετεωρολογικού σταθμού

TM Μέση ημερήσια θερμοκρασία

RME Πίεση κορεσμού υδρατμών

RMA Πραγματική πίεση υδρατμών

ALH Πραγματική καθημερινή ηλιοφάνεια (σε ώρες)

V24 Ταχύτητα ανέμου (σε m/sec)

RAIN Αρδευση / βροχόπτωση κατά τη διάρκεια της ημέρας (σε mm/day)

RS Ηλιακή ακτινοβολία (σε mm/day)

Page 47: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 2 Μαθηματική προσομοίωση της κίνησης του εδαφικού νερού 37

optim

Το αρχείο OPTIM περιέχει δεδομένα για την εκτίμηση των παραμέτρων. Τα

δεδομένα αυτά χρησιμοποιούνται όταν επιλεγεί από τον χρήστη η εκτέλεση

βελτιστοποιημένη εκτέλεση, μέσω της μεταβλητής OPT.

Τα αρχεία εξόδου (output files), αν και ορίζονται από τον χρήστη (OUT1

και OUT2), είναι συνήθως τα εξής:

profile.out

water.bal

Για περισσότερες πληροφορίες, όσον αφορά τη δομή του προγράμματος

SWBACROS, ο αναγνώστης παραπέμπεται στο εγχειρίδιο οδηγιών του

(Babajimopoulos, SWBACROS Simulation of the water balance of a cropped soil,

Thessaloniki, June 1996)

Page 48: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 38

Κεφάλαιο 3 LIQUID

3.1 Περί MATLAB

3.1.1 Εισαγωγικά

Η MATLAB είναι ένα ολοκληρωμένο περιβάλλον προγραμματισμού και

ταυτόχρονα μία υψηλού επιπέδου γλώσσα προγραμματισμού. Οι δυνατότητές της

είναι τόσες πολλές που τόμοι ολόκληροι δεν θα ήταν αρκετοί για να τις περιγράψουν.

Η MATLAB χρησιμοποιείται κυρίως για τεχνικό προγραμματισμό και αυτό γιατί

έχει μεγάλες γραφικές δυνατότητες, ευκολία και ταχύτητα υλοποίησης αλγορίθμων

καθώς και πάρα πολλές έτοιμες συναρτήσεις. Ακόμη εντυπωσιακές λειτουργίες της

είναι ο αντικειμενοστρεφής προγραμματισμός, η δημιουργία GUI (Graphical User

Interfaces) καθώς και η δημιουργία μαθηματικών μοντέλων. Η τελευταία έκδοση της

MATLAB 7 (R14) είναι και αυτή στην οποία γράφτηκε το πρόγραμμα LIQUID.

3.1.2 Το περιβάλλον της MATLAB

Ο χώρος εργασίας της ΜΑΤLAB, όπως αυτό φαίνεται στην εικόνα 3.1.1,

χωρίζεται σε τρία μέρη. Στη μέση και αριστερά βλέπουμε τα περιεχόμενα (αρχεία)

του τρέχοντος καταλόγου Current directory (Τρέχων κατάλογος). Έτσι στο

Current directory – C:\LIQUID βλέπουμε τα αρχεία του καταλόγου LIQUID το

οποίο περιέχει το αρχεία του προγράμματος LIQUID. Στο δεξί μέρος της οθόνης

υπάρχει το Command Window (παράθυρο εντολών) είναι ο χώρος στον οποίο

δίνει ο χρήστης τις εντολές. Και τέλος στο κάτω αριστερό μέρος, υπάρχει το

Command History (ιστορικό εντολών) το οποίο περιέχει το ιστορικό των εντολών

που ο χρήστης πληκτρολόγησε στο προηγούμενο μέρος.

Page 49: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 39

Εικόνα 3.1.1 – Επιφάνεια εργασίας της MATLAB

Η γραμμή του παραθύρου εντολών στην οποία γράφεται οτιδήποτε εισάγεται

από το πληκτρολόγιο ονομάζεται γραμμή εντολών (command line). Είναι η

τελευταία γραμμή στην οποία εμφανίζεται το σύμβολο προτροπής (prompt) της

ΜΑΤLAB. Το σύμβολο προτροπής είναι το σύμβολο >> για την επαγγελματική

έκδοση της MATLAB. Δεξιά του συμβόλου προτροπής αναβοσβήνει ο δρομέας, μια

κάθετη | γραμμή. Το αναβόσβημα του δρομέα αποτελεί ένδειξη ότι η MATLAB

είναι έτοιμη να δεχθεί εντολές. Συνήθως οι εντολές τελειώνουν με το πάτημα του

πλήκτρου enter. Όπως σ’ όλες τις γλώσσες προγραμματισμού, έτσι και στη

MATLAB, κάθε εντολή είναι μια διαταγή προς εκτέλεση. Οι εντολές έχουν

αυστηρότατους κανόνες σύνταξης, κάθε παραβίαση των οποίων οδηγεί σε μηνύματα

λάθους.

Τα αρχεία της MATLAB χαρακτηρίζονται από τη προέκταση .m, για τη

δημιουργία των οποίων κάνουμε χρήση του M-file editor, οπού σε κάθε σειρά

γράφουμε μία εντολή.

Μερικά γενικά χαρακτηριστικά της MATLAB είναι και τα παρακάτω :

1) Η MATLAB δουλεύει με διπλή ακρίβεια. Κάνει διάκριση μεταξύ κεφαλαίων

και πεζών. Όλες οι εντολές του εισάγονται με πεζά. Όλες οι παράμετροι

Page 50: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 40

εντολών εισάγονται με το μείον -ΠΑΡΑΜΕΤΡΟΣ (π.χ. save LIQUID -

append)

2) Οι μεταβλητές αρχίζουν πάντα με γράμμα (ποτέ με αριθμό ή σύμβολο)

3) Οι δείκτες αρχίζουν από το 1 (και όχι από το 0)

4) Το ελληνικό ερωτηματικό (;) μετά από μία δήλωση, έχει ως αποτέλεσμα να

μην παρουσιαστούν τα αποτελέσματα της δήλωσης αυτής στην οθόνη της

MATLAB

5) Το βασικό στοιχείο της MATLAB είναι ο πίνακας. Τα διανύσματα

εκφράζονται ως πίνακας διάστασης 1xN ενώ οι αριθμοί ως πίνακες διάστασης

1x1

6) Τα σχόλια (που ακολουθούν το σύμβολο %) δεν εκτελούνται

7) Για να σταματήσουμε την εκτέλεση μιας εντολής ή την εμφάνιση των

αποτελεσμάτων στην οθόνη, πατάμε Ctrl+C

8) Οι σχεσιακοί συντελεστές της ΜΑΤLAB είναι για την ισότητα == και για την

ανισότητα ~=

9) Οι πράξεις είναι + πρόσθεση, - αφαίρεση, * πολλαπλασιασμός, / ή \

διαίρεση, ^ ύψωση σε δύναμη

Βοήθημα στη κατανόηση των παρακάτω εντολών καθώς και πολλά

παραδείγματα, μπορεί να δώσει η βοήθεια της MATLAB (Matlab Help) (από το τη

γραμμή μενού Help Matlab Help, ή πατώντας το πλήκτρο F1 από οποιοδήποτε

σημείο της MATLAB). Ακόμη σημαντικότατο βοήθημα κατανόησης της MATLAB

αποτελεί και το εγχειρίδιο χρήσης της, το Matlab Reference Book, το οποίο

βρίσκεται στο δικτυακό τόπο της κατασκευάστριας εταιρείας της MATLAB,

MathWorks (MATLAB Documentation) (σε HTML και PDF μορφή). Για την

HTML μορφή του Matlab Reference Βook ο αναγνώστης παραπέμπεται στην

ηλεκτρονική διεύθυνση της εταιρείας MathWorks

www.mathworks.com/access/helpdesk/techdoc/matlab.html , ενώ για την PDF

μορφή στην www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/

Page 51: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 41

Για περισσότερες πληροφορίες για τα πρώτα βήματα στη MATLAB ο

αναγνώστης παραπέμπεται στο Matlab Reference Book : Getting Started with

MATLAB

3.1.3 Δημιουργία GUI εφαρμογών

Η MATLAB προσφέρει στο χρήστη τη δυνατότητα να κατασκευάσει δικές

του γραφικές διεπιφάνειες GUI (Graphical User Interfaces). Η χρησιμότητα αυτής

της λειτουργίας είναι μεγάλη, επειδή τα προγράμματα – εφαρμογές τα οποία

περιέχουν γραφική διεπιφάνεια γίνονται πιο φιλικές στον τελικό χρήστη. Η

εργαλειοθήκη η οποία δημιουργεί τις GUI εφαρμογές ονομάζεται GUIDE και

περιέχει μια πληθώρα χρήσιμων εργαλείων όπως κουμπιά, πλαίσια κ.ά.

Μια GUI εφαρμογή συνήθως αποτελείται από διάφορα παράθυρα τα οποία

περιέχουν ποικίλα στοιχεία ελέγχου όπως πεδία κειμένου, γραμμές κύλισης κ.ά.. Τα

παράθυρα αυτά είναι δυνατόν να καλούν το ένα το άλλο, να δέχονται δεδομένα από

τον χρήστη, να μεταβιβάζουν δεδομένα από το ένα παράθυρο στο άλλο και γενικά να

επιτελούν διάφορες λειτουργίες. Το GUIDE για να το πετύχει αυτό δημιουργεί για

κάθε νέο παράθυρο, δύο αρχεία. Τα αρχεία αυτά είναι ένα FIG – αρχείο και ένα m

– αρχείο.

To FIG αρχείο, ουσιαστικά είναι το παράθυρο – figure (φόρμα) όπου το

MATLAB αποθηκεύει τα στοιχεία ελέγχου και την ακριβή τους θέση. Στο αρχείο

αυτό ο προγραμματιστής σχεδιάζει την εμφάνιση του παραθύρου.

Στο m αρχείο, στο οποίο ο προγραμματιστής πρέπει να γράψει τον κώδικα

που θα ενσωματωθεί στα στοιχεία ελέγχου (π.χ. κουμπιά ή φόρμες εισαγωγής

δεδομένων), ώστε αυτά να εκτελούν τις επιθυμητές λειτουργίες.

Πρέπει να σημειωθεί ότι κάθε αρχείο fig πρέπει να συνοδεύεται από το

αντίστοιχο αρχείο m με το ίδιο όνομα (για παράδειγμα το αρχείο liquid.fig

συνοδεύεται από το liquid.m). Αν για κάποιο λόγο, χαθεί ή καταστραφεί το m

αρχείο, τότε το fig παράθυρο δεν θα είναι πλέον λειτουργικό. Κάθε φορά που ο

Page 52: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 42

χρήστης δημιουργεί ένα νέο παράθυρο (figure), το GUIDE δημιουργεί αυτομάτως

και τους δύο προαναφερθέντες τύπους αρχείων.

Η εκκίνηση του GUIDE (εικόνα 3.1.2) γίνεται εύκολα με τρεις τρόπους.

• με τη κλήση της ομώνυμης συνάρτησης από τη γραμμή εντολών της

MATLAB

>> guide

• επιλέγοντας από τη γραμμή μενού File New GUI , και

• επιλέγοντας από τη επιλογή Start (της ΜΑΤLAB) MATLAB GUIDE

(Gui Builder)

Εικόνα 3.1.2 – Αρχικός οδηγός του GUIDE

Για την επεξεργασία / αλλαγή κάποιου αρχείου που κατασκευάστηκε με την

εργαλειοθήκη του GUIDE, αρκεί να πληκτρολογήσουμε στη γραμμή εντολών

>> guide ΟΝΟΜΑ_ΑΡΧΕΙΟΥ

(π.χ. >> guide LIQUIDmenu )

Για περισσότερες πληροφορίες για τη δημιουργία GUI εφαρμογών και την

εργαλειοθήκη GUIDE ο αναγνώστης παραπέμπεται στο Matlab Reference Book :

Creating Graphical Users Interfaces

Page 53: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 43

3.1.4 Ανάλυση εντολών MATLAB που χρησιμοποιούνται στο κώδικα του LIQUID

Στο κεφάλαιο αυτό γίνεται μια αναφορά στις εντολές της ΜΑΤLAB που

χρησιμοποιούνται στον κώδικα του LIQUID (βλέπε Παράρτημα).

save

Η εντολή save έχει τη δυνατότητα να αποθηκεύει τις μεταβλητές της MATLAB σε

αρχεία της επιλογής μας, είτε σε ASCII, είτε σε binary μορφή.

Η σύνταξη της είναι η ακόλουθη : save ONOMA_ΑΡΧΕΙΟΥ ΜΕΤΑΒΛΗΤΗ1 ΜΕΤΑΒΛΗΤΗ2 … ΠΑΡΑΜΕΤΡΟΙ

Στο LIQUID επιλέχθηκε η δεύτερη μορφή, η binary. Η εντολή save βρίσκει χρήση

στον κώδικα του LIQUID στα βήματα 2,3,4,5 (παράρτημα LIQUIDstep2.m,

LIQUIDstep3.m, LIQUIDstep4.m, LIQUIDstep5.m), βήματα κατά τα οποία

αποθηκεύουμε τις μεταβλητές που δίνει ο χρήστης. Χαρακτηριστικά στο βήμα 4 του

LIQUID γίνεται αποθήκευση των μεταβλητών SizeNodalPoints1 και InitialY1 στο

αρχείο LIQUIDvars (αν παραλειφθεί η προέκταση του αρχείου και το είδος του,

αυτόματα η MATLAB επιλέγει τη binary μορφή δίνοντας τη προέκταση .mat MAT-

files). Η παράμετρος –append ορίζει στη save ότι θα γίνει προσθήκη των

μεταβλητών μας στο αρχείο (και όχι επαναδημιουργία του αρχείου του και εγγραφή

μόνο των δύο μεταβλητών). save LIQUIDvars SizeNodalPoints1 InitialY1 -append

load

Η εντολή load συνδυάζεται με τη μεταβλητή save. Η εντολή load φορτώνει στη

μνήμη τις μεταβλητές ενός αρχείου.

Η σύνταξη της είναι η ακόλουθη : load ONOMA_ΑΡΧΕΙΟΥ

Page 54: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 44

Η ακόλουθη εντολή φορτώνει στη μνήμη όλες τις μεταβλητές του αρχείου

LIQUIDvars.mat (αν παραλειφθεί η προέκταση, αυτόματα η MATLAB επιλέγει την

.mat) που θα χρησιμοποιήσουμε στο πρόγραμμα μας load LIQUIDvars

fopen, fprintf, fclose

Οι τρεις αυτές εντολές συνδυάζονται και μας βοηθάνε στη δημιουργία ascii αρχείων

και στην αποθήκευση μεταβλητών με συγκεκριμένο format μέσα σε αυτά. Με την

εντολή fopen ορίζουμε το όνομα του αρχείου που επιθυμούμε να αποθηκεύσουμε

τις μεταβλητές μας καθώς και το είδος του (ascii, binary). Η εντολή fprintf

αποθηκεύει στο αρχείο, που ορίσαμε στην εντολή fopen, κάποιες μεταβλητές με ένα

συγκεκριμένο format. Τέλος η εντολή fclose κλείνει το αρχείο.

Η σύνταξη τους fid=fopen(‘ΟΝΟΜΑ_ΑΡΧΕΙΟΥ’,’ΠΑΡΑΜΕΤΡΟΙ’)

fprintf (fid,format,ΜΕΤΑΒΛΗΤΗ1,ΜΕΤΑΒΛΗΤΗ2,…)

.

.

.

status=fclose(fid)

(η επιλογή των ονομάτων των μεταβλητών status, fid έγινε τυχαία)

Οι εντολές αυτές βρίσκουν χρήση στο 6ο βήμα του LIQUID (παράρτημα

LIQUIDmenu.m), βήμα κατά το οποίο δημιουργούμε το αρχείο GNDATA

(παράγραφος 3.2.5) από τις μεταβλητές που έδωσε ο χρήστης στα βήματα 2,3,4.

Έτσι έχουμε στο LIQUIDmenu.m :

fid=fopen('GNDATA','w');

fprintf(fid,'%1.0f,%1.0f,%4.0f\n',IDIN,IMIN,IYIN);

fprintf(fid,'%1.0f,%1.0f,%4.0f\n',IDLAST,IMLAST,IYLAST);

Page 55: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 45

fprintf(fid,'%1.0f,%1.0f,%4.0f\n',IDTDAY,IMTDAY,IYTDAY);

.

.

fprintf(fid,'%s\n',OUTPUTFILE1);

fprintf(fid,'%s\n',OUTPUTFILE2);

.

. status = fclose(fid)

Με την πρώτη εντολή ανοίγουμε το αρχείο GNDATA. Με την παράμετρο ‘w’

ορίζουμε ότι το αρχείο GNDATA προορίζεται για εγγραφή και τα περιεχόμενά του

θα διαγραφούν.

Με τις τρεις επόμενες εντολές γράφουμε στο αρχείο GNDATA τις μεταβλητές

IDIN, IMIN, IYIN, IDLAST, IMLAST, IYLAST, IDTDAY, IMTDAY,

IYTDAY. Τα formats εγγραφής δίνονται με την ακόλουθη μορφή :

%ΕΛΑΧΙΣΤΟ_ΜΗΚΟΣ_ΠΕΔΙΟΥ.ΑΡΙΘΜΟΣ_ΔΕΚΑΔΙΚΩΝ_ΨΗΦΙΩΝf

το f σημαίνει ότι το πεδίο θα είναι αριθμητικής μορφής, το κόμμα (,) ανάμεσα στα

δύο formats δείχνει ότι θα τα χωρίζει το κόμμα (,) ενώ το \n σημαίνει ότι μετά την

εγγραφή των μεταβλητών πηγαίνει στο επόμενο record.

Έτσι αν οι τιμές των μεταβλητών είναι IDIN=1, IMIN=4, IYIN=2005,

IDLAST=16, IMLAST=4, IYLAST=2005, IDTDAY=29, IMTDAY=5,

IYTDAY=2005 οι τρείς πρώτες γραμμές του αρχείου GNDATA θα είναι :

1,4,2005

16,4,2005

29,5,2005

Η διαφορά των δύο επόμενων fprintf, με όλα τα προηγούμενα fprintf, είναι το s το

οποίο δείχνει ότι οι μεταβλητές που γράφουμε (OUTPUTFILE1, OUTPUTFILE2)

είναι αλφαριθμητικής μορφής (string).

Page 56: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 46

Με την ολοκλήρωση των εγγραφών μας, στην τελευταία εντολή, κλείνουμε το αρχείο

GNDATA και αποθηκεύουμε το αποτέλεσμα της εγγραφής στη μεταβλητή status (η

μεταβλητή status μπορεί να παραλειφθεί, μπορούμε δηλαδή απλά να γράψουμε

fclose(fid)).

plot

Η βασικότερη και πιο δημοφιλής εντολή γραφικών της MATLAB είναι η plot με την

οποία γίνονται δισδιάστατες γραφικές παραστάσεις καμπυλών.

Η σύνταξη της εντολής plot έχει παραπάνω από μία μορφές. Ενδεικτικά γίνεται

αναφορά σε εκείνες που συναντώνται στον κώδικα του LIQUID (παράρτημα

LIQUIDmenu.m):

plot(METABΛΗΤΗ1,ΜΕΤΑΒΛΗΤΗ2,ΠΑΡΑΜΕΤΡΟΣ1)

Η εντολή αυτή ενώνει τα διαδοχικά σημεία των

(ΜΕΤΑΒΛΗΤΗ1i,METABΛΗΤΗ2i) , i=1,2,…, ενώ η ΠΑΡΑΜΕΤΡΟΣ1 ορίζει

το στυλ, χρώμα και το είδος των σημαδιών της γραφικής παράστασης

plot(ΜΕΤΑΒΛΗΤΗ1,ΜΕΤΑΒΛΗΤΗ2,ΠΑΡΑΜΕΤΡΟΣ1,ΜΕΤΑΒΛΗΤΗ3,ΜΕΤΑΒΛΗΤΗ4,Π

ΑΡΑΜΕΤΡΟΣ2)

Η εντολή αυτή ενώνει τα διαδοχικά σημεία των (ΜΕΤΑΒΛΗΤΗ1i,

METABΛΗΤΗ2i) , i=1,2,… με ΠΑΡΑΜΕΤΡΟΣ1 (στυλ, χρώμα) και

(ΜΕΤΑΒΛΗΤΗ3i,METABΛΗΤΗ4i) , i=1,2,… με ΠΑΡΑΜΕΤΡΟΣ2 (στυλ,

χρώμα)

plot(METAΒΛΗΤ1,ΜΕΤΑΒΛΗΤ2,ΜΕΤΑΒΛΗΤ3,ΜΕΤΑΒΛΗΤ4,ΜΕΤΑΒΛΗΤ5,ΜΕΤΑΒΛΗ

Τ6)

Η εντολή αυτή ενώνει τα διαδοχικά σημεία των (ΜΕΤΑΒΛΗΤΗ1i,

METABΛΗΤΗ2i), (ΜΕΤΑΒΛΗΤΗ3i,METABΛΗΤΗ4i), (ΜΕΤΑΒΛΗΤΗ5i,

METABΛΗΤΗ6i) , i=1,2,…

Page 57: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 47

Στον παρακάτω πίνακα φαίνονται όλες οι διαθέσιμες επιλογές για αλλαγή των

χρωμάτων, στυλ γραμμής και είδους σημαδιών των γραφικών παραστάσεων.

Χρώμα Σημάδια Μορφή γραμμής

Y (κίτρινο) . (τελεία) - (συνεχής)

M (ιώδες) o (κύκλος) : (τελείες)

C (κυανό) x (σημείο x) -. (τελείες και παύλες)

R (κόκκινο) + (σημείο +) -- (διακεκομένη)

G (πράσινο) * (αστερίσκος)

B (γαλάζιο) s (τετράγωνο)

W (άσπρο) d (ρόμβος)

K (μαύρο) v (βέλος κάτω)

^ (βέλος πάνω)

< (βέλος αριστερά)

> (βέλος δεξιά)

p (πεντάγωνο)

h (εξάγωνο)

Στην παρακάτω εντολή γίνεται ένα παράδειγμα χρήσης του παραπάνω πίνακα (για

την αλλαγή του χρώματος, του στυλ γραμμής καθώς και του σημαδιού των γραφικών

παραστάσεων) plot(x,y,’ro-.‘,x1,y1,’k*-‘)

Ετσι η εντολή αυτή εμφανίζει σε μία γραφική παράσταση τα (xi,yi) με κόκκινες

τελείες και παύλες, με κύκλους για σημεία και τα (x1i,y1i) με μαύρη συνεχή γραμμή

με αστερίσκους για σημεία

Η αλλαγή του πάχους της γραμμής των γραφικών παραστάσεων γίνεται με την

παράμετρο LineWidth (‘LineWidth’,ΜΕΓΕΘΟΣ), δηλαδή plot(x,y,’y.-‘,’LineWidth’,3)

Page 58: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 48

Η εντολή plot χρησιμοποιείται σχεδόν σε όλες τις functions γραφικών του LIQUID

(LIQUIDmenu). Μαζί με την εντολή plot χρησιμοποιούμε και κάποιες άλλες

εντολές που μας βοηθάνε στην καλύτερη απεικόνιση των δεδομένων μας.

subplot (x,y,N)

Η εντολή subplot χρησιμοποιείται κατά την περίπτωση που επιθυμούμε να

χωρίσουμε την γραφική μας παράσταση σε περισσότερες από μία. Η εντολή αυτή

χωρίζει τη σελίδα μας σε x επι y γραφικές παραστάσεις και κάνει ενεργή την Ν-

ιοστή (βλέπε παράρτημα LIQUIDmenu.m τη function THREEinONE)

xlabel (‘Ονομα άξονα x’)

Με την εντολή xlabel ορίζουμε το όνομα του άξονα xx’

ylabel (‘Ονομα άξονα y’)

Με την εντολή ylabel ορίζουμε το όνομα του άξονα yy’

title (‘Τίτλος γραφικής παράστασης’,’fontsize’,Mέγεθος)

Με την εντολή title ορίζουμε τον τίτλο της γραφικής παράστασης καθώς και το

μέγεθος της μέσω της παραμέτρου ‘fontsize’

figure (‘Name’,’Όνομα γραφικής παράστασης’)

Η εντολή figure ορίζει όνομα στην γραφική μας παράσταση (όνομα του

παράθυρου) (εμφανίζεται πάνω αριστερά στο παράθυρό της γραφικής)

legend (‘Όνομα υπομνήματος’)

Με την εντολή legend ορίζουμε το όνομα του υπομνήματος μας. Για την

περίπτωση κατά την οποία έχουμε να εμφανίσουμε παραπάνω από δύο ζευγάρια

μεταβλητών για παράδειγμα plot(METABΛΗΤΗ1,ΜΕΤΑΒΛΗΤΗ2,ΜΕΤΑΒΛΗΤΗ3,

ΜΕΤΑΒΛΗΤΗ4,ΜΕΤΑΒΛΗΤΗ5,ΜΕΤΑΒΛΗΤΗ6) και θέλουμε υπομνήματα και για τα

τρία ζευγάρια, αυτό γίνεται με την εντολή

Page 59: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 49

legend(‘Υπόμνημα των 1,2’,’Υπόμνημα των 3,4’,‘Υπόμνημα των

5,6’)

Η αλλαγή της θέσης του υπομνήματος μπορεί να γίνει είτε χειροκίνητα σέρνοντάς

το με τον δείκτη του ποντικιού στη θέση που εμείς επιθυμούμε, είτε με την

παράμετρο ‘Location’ όπως παρακάτω : legend(‘Όνομα υπομνήματος’,’Location’,No)

Οι τιμές της No για την θέση του υπομνήματος φαίνονται στον παρακάτω πίνακα :

Τιμή Νο Θέση υπομνήματος

-1 Δεξιά έξω από την γραφική παράσταση

0 Επιλέγεται από η MATLAB θέση μέσα στη γραφική παράσταση ώστε

να υπάρχουν οι ελάχιστες δυνατές επικαλύψεις

1 Πάνω δεξιά γωνία μέσα στην γραφική παράσταση

2 Πάνω αριστερή γωνία μέσα στην γραφική παράσταση

3 Κάτω αριστερή γωνία μέσα στην γραφική παράσταση

4 Κάτω δεξιά γωνία μέσα στην γραφική παράσταση

grid on / off

Η εντολή grid εμφανίζει (on) ή δεν εμφανίζει (off) τις γραμμές του πλέγματος της

γραφικής μας παράστασης. Η MATLAB έχει ως προεπιλογή την μη εμφάνιση των

γραμμών του πλέγματος (grid off)

clf

Η εντολή clf καθαρίζει τον χώρο της γραφικής μας παράστασης

bar(ΜΕΤΑΒΛΗΤΗ1,ΜΕΤΑΒΛΗΤΗ2,’ΧΡΩΜΑ_ΜΠΑΡΑΣ’)

Η εντολή bar εμφανίζει σε ραβδόγραμμα (μπάρα) τη ΜΕΤΑΒΛΗΤΗ2 και τη

ΜΕΤΑΒΛΗΤΗ1. Το χρώμα της μπάρας (’ΧΡΩΜΑ_ΜΠΑΡΑΣ’) είναι ανάλογο με

αυτό που χρησιμοποιούμε στην εντολή plot.

Page 60: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 50

Έτσι για να έχουμε πράσινο χρώμα μπάρας για το συγκεκριμένο παράδειγμα θα

χρησιμοποιήσουμε την παράμετρο ’g’ bar(METAΒΛΗΤΗ1,ΜΕΤΑΒΛΗΤΗ2,’g’)

Η μόνη εφαρμογή της εντολής bar γίνεται στην παράγραφο 3.2.2.6.14 (Precipitation

/ Irrigation and intercepted rain per day)

surfc(ΜΕΤΑΒΛΗΤΗ1,ΜΕΤΑΒΛΗΤΗ2,ΜΕΤΑΒΛΗΤΗ3)

H εντολή surfc εμφανίζει σε τρισδιάστατο σύστημα συντεταγμένων τις

ΜΕΤΑΒΛΗΤΗ3, ΜΕΤΑΒΛΗΤΗ2 και ΜΕΤΑΒΛΗΤΗ1.

Η μόνη εφαρμογή της εντολής surfc γίνεται στην παράγραφο 3.2.2.6.29 (Water

content profile (3D))

textread

Η εντολή textread χρησιμοποιείται για να διαβάσουμε από αρχεία ascii δεδομένα

συγκεκριμένου format.

Η σύνταξη της : [ΜΕΤΑΒΛΗΤΗ1 ΜΕΤΑΒΛΗΤΗ2 ΜΕΤΑΒΛΗΤΗ3 …]=textread(‘ONOMA_AΡΧΕΙΟΥ’,

’format’ ,’ΠΑΡΑΜΕΤΡΟΙ’)

Παράδειγμα χρήσης της εντολής textread

Έστω ότι θέλουμε να διαβάσουμε από το αρχείο INPUT.TXT τις μεταβλητές

MEGETHOS και XRONOS που βρίσκονται με τη μορφή στηλών μέσα σε αυτό,

όπως παρακάτω :

Μέγεθος Χρόνος

1 1.4

2 2.3

3 3.5

4 3.6

Page 61: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 51

Το αρχείο αυτό έχει μία γραμμή για επικεφαλίδα και τα δεδομένα που θέλουμε είναι

αριθμητικά και βρίσκονται σε δύο στήλες. Η μορφή που θα έχει η εντολή textread

για να διαβάσει τα δεδομένα αυτά και να τα αποθηκεύει στους πίνακες MEGETHOS

και XRONOS θα είναι η : [MEGETHOS XRONOS]=textread('INPUT.TXT','%f %f','headerlines',

1)

Το '%f %f' σημαίνει ότι έχουμε αριθμητικά δεδομένα σε δύο στήλες (για την εντολή

textread δεν έχει σημασία σε πόση απόσταση (χαρακτήρες) βρίσκονται τα δεδομένα

αρκεί να βρίσκονται σε μορφή στηλών) και το 'headerlines',1 δηλώνει ότι

παραλείπεται η ανάγνωση της πρώτης σειράς.

Το περιεχόμενο των MEGETHOS και XRONOS μετά την εντολή textread θα είναι

MEGETHOS = [1 2 3 4] και XRONOS=[1.4 2.3 3.5 3.6]

Η εντολή textread χρησιμοποιείται στο LIQUIDmenu για να διαβάζει από τα text

αρχεία, που δημιουργούνται μετά την εκτέλεση του SWBACROS, τα δεδομένα που

θα εμφανίσει γραφικά το LIQUID

closereq

Η εντολή closereq κλείνει το ενεργό παράθυρο μας. Χρησιμοποιείται στο

LIQUID, όταν αλλάζουμε βήμα καθώς και όταν επιλέγουμε την έξοδο από αυτό.

global METABLHTH1 METABLHTH2 …

Η εντολή global κάνει τις μεταβλητές ΜΕΤΑΒLHTH1, METABLHTH2, … ,

κοινές για όσες συναρτήσεις κάνουν χρήση της εντολής αυτής. Συνηθίζεται να

χρησιμοποιούμε την εντολή στην αρχή του προγράμματος, όπου και ορίζουμε όλες

τις μεταβλητές που θα χρησιμοποιήσουμε και σε κάθε function ξεχωριστά καλούμε

την εντολή μόνο με τις μεταβλητές χρειαζόμαστε.

Page 62: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 52

Ένα παράδειγμα χρήσης της εντολής global βλέπουμε στις παρακάτω εντολές. Στο

κυρίως πρόγραμμα στο οποίο ορίζουμε πέντε μεταβλητές global και δύο υπορουτίνες

στις οποίες χρησιμοποιούμε τέσσερις μεταβλητές από αυτές. Στη πρώτη υπορουτίνα

ADD_METABLHTES χρησιμοποιούμε τις μεταβλητές ΜΕΤΑBLHTH1 και

METABLHTH2 τις οποίες αθροίζουμε, ενώ στη δεύτερη DIV_METABLHTES

διαιρούμε τη METABLHTH3 με την METABLHTH4.

% Αρχή του προγράμματος

global METABLHTH1 METABLHTH2 METABLHTH3 METABLHTH4 METABLHTH5

.

.

.

% Υπορουτίνα ADD_METABLHTES

function [result]=ADD_METABLHTES

global METABLHTH1 METABLHTH2

result= METABLHTH1+METABLHTH2;

.

.

.

% Υπορουτίνα DIV_METABLHTES

function [result1]=ADD_METABLHTES

global METABLHTH3 METABLHTH4

result1= METABLHTH3/METABLHTH4;

str2num, num2str

Οι δύο αυτές functions έχουν αντίθετες λειτουργίες. Η πρώτη, η str2num (string to

number) μετατρέπει μία αλφαριθμητική τιμή σε αριθμητική.

Η σύνταξη της : METABLHTH_ARITHMITIKH=str2num(METABLHTH_ALFARITHMITIKH)

Για παράδειγμα αν έχουμε μια αλφαριθμητική τιμή ‘15’ για την μεταβλητή Α

(Α=’15’) και επιθυμούμε να την μετατρέψουμε σε αριθμητική τιμή και να την

Page 63: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 53

αποθηκεύσουμε στη μεταβλητή Β, τότε η εντολή που θα χρησιμοποιήσουμε θα είναι

η : Β=str2num(A)

Η δεύτερη function, num2str (number to string) μετατρέπει μια αριθμητική τιμή

σε αλφαριθμητική.

Η σύνταξη της : METABLHTH_ALFARITHMITIKH =str2num(METABLHTH_ARITHMITIKH)

Για παράδειγμα αν έχουμε μια αριθμητική τιμή 15 για την μεταβλητή C (C=15) και

επιθυμούμε να την μετατρέψουμε σε αλφαριθμητική τιμή και να την αποθηκεύσουμε

στη μεταβλητή D, τότε η εντολή που θα χρησιμοποιήσουμε θα είναι η : D=num2str(C)

Η function str2num βρίσκει χρήση στο LIQUID, όταν λαμβάνουμε στοιχεία από

τη φόρμα μας (τα οποία τα παίρνουμε πάντα σε αλφαριθμητική μορφή) και θέλουμε

να τα μετατρέψουμε σε αριθμητικά στοιχεία για να τα επεξεργαστούμε. Και

αντίστοιχα η function num2str βρίσκει χρήση στο LIQUID, όταν θέλουμε να

εμφανίσουμε στοιχεία στη φόρμα μας που έχουμε αποθηκευμένα σε αριθμητική

μορφή.

get, set

Οι δύο αυτές εντολές έχουν αντίθετη λειτουργία. Η πρώτη, η get, χρησιμοποιείται

στην περίπτωση που θέλουμε να πάρουμε από τις φόρμες τα στοιχεία που

καταχώρησε ο χρήστης, ενώ η δεύτερη, η set, χρησιμοποιείται για να ορίσουμε την

τιμή κάποιου text box ή κουμπιού στις φόρμες μας.

Η σύνταξη της εντολής get είναι η παρακάτω : METABLHTH1=get(handles.METABLHTHFORMAS,’String’)

Page 64: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 54

Κατά τη δημιουργία του αρχείου fig ορίζουμε για κάθε κουμπί, text box που

δημιουργούμε μία μεταβλητή callback. Για να πάρουμε για παράδειγμα στο βήμα 2

του LIQUID από το text box του Maximum number of soil layers την μεταβλητή

LAYER (παράγραφος 3.2.2.2) χρησιμοποιούμε την εντολή : LAYER=get(handles.LAYER,’String’)

Η σύνταξη της εντολής set είναι η παρακάτω : set(handles.METABLHTHFORMAS,’String’,’TIMH_METABLHTHS’)

Για να ακολουθήσουμε ένα αντίστροφο παράδειγμα και να θέσουμε την τιμή ‘5’ στο

Maximum number of soil layers χρησιμοποιούμε την εντολή set με την ακόλουθη

μορφή set(handles.LAYER,’String’,’5’)

Για περισσότερες πληροφορίες για τις παραπάνω εντολές της MATLAB ο

αναγνώστης παραπέμπεται στα Matlab Reference Book: Getting started with

MATLAB, Programing, Programming Tips, Creating Graphical User Interfaces,

Using MATLAB Graphics, Function Reference Volume 1 A-E, Function

Reference Volume 2 F-O, Function Reference Volume 3 P-Z και MAT-file

Format

3.2 Περί LIQUID

3.2.1 Γενικά – Δομή LIQUID

Σκοπός της παρούσας εργασίας είναι η δημιουργία ενός προγράμματος

φιλικού προς τον χρήστη, στo περιβάλλον της ΜATLAB, με τη βοήθεια του οποίου

γίνεται η γραφική απεικόνιση των αποτελεσμάτων του μαθηματικού μοντέλου

SWBACROS καθώς και η εισαγωγή δεδομένων σε αυτό.

Page 65: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 55

Το LIQUID είναι ένα πρόγραμμα το οποίο, αναπτύχθηκε στα πλαίσια της

διατριβής αυτής, συνδυάζει τη Visual Fortran και τη MATLAB με μία αμφίδρομη

σχέση. Η αμφίδρομη αυτή σχέση περιγράφεται στα παρακάτω τρία βήματα.

Στο πρώτο βήμα γίνεται η εισαγωγή των δεδομένων του SWBACROS

μέσω του περιβάλλοντος της MATLAB και η αποθήκευση τους στο αρχείο εισόδου

δεδομένων του SWBACROS (GNDATA).

Στο δεύτερο βήμα εκτελείται το μοντέλο SWBACROS (μέσω του αρχείου

sink1e.exe) με τα δεδομένα που του δώσαμε στο προηγούμενο βήμα.

Στο τρίτο βήμα, αφού έχουν δημιουργηθεί από το SWBACROS τα αρχεία

αποτελεσμάτων, το LIQUID διαβάζει τα δεδομένα από τα αρχεία αυτά και τα

εμφανίζει γραφικά στη MATLAB.

Ένα απλό παράδειγμα το οποίο περιγράφει την αμφίδρομη σχέση μεταξύ

Visual Fortran και MATLAB περιγράφεται στο πρώτο μέρος του παραρτήματος.

Αποσκοπώντας στη δημιουργία ενός προγράμματος φιλικού προς τον χρήστη,

το LIQUID πραγματώθηκε με την μορφή wizard. Είναι δηλαδή χωρισμένο στα

εξής βήματα (steps) τα οποία είναι και ξεχωριστά αρχεία :

1ο βήμα, αρχείο liquid.m

Στο βήμα αυτό εμφανίζονται κάποιες εισαγωγικές πληροφορίες για το

πρόγραμμά μας (όνομα δημιουργού, επιβλέποντα καθηγητή και το έτος

δημιουργίας) (παράγραφος 3.2.2.1),

2ο βήμα, αρχείο LIQUIDstep2.m

Στο βήμα αυτό εισάγονται οι βασικές μεταβλητές για την εκτέλεση του

SWBACROS (για το αρχείο εισαγωγής δεδομένων GNDATA) (παράγραφος

3.2.2.2),

3ο βήμα, αρχείο LIQUIDstep3.m

Στο τρίτο βήμα εισάγουμε τον αρχικό και τον τελικό κόμβο του κάθε

ορίζοντα καθώς και την κορεσμένη υδραυλική αγωγιμότητα Ks, την υγρασία

Page 66: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 56

κορεσμού, την υπολειμματική υγρασία καθώς και τους συντελεστές α,n για την

εξίσωση του Van Genuchten, για κάθε εδαφικό ορίζοντα (παράγραφος 3.2.2.3),

4ο βήμα, αρχείο LIQUIDstep4.m

Στο βήμα αυτό εισάγουμε το μέγεθος (σε m) και την αρχική τιμή της

αρνητικής πίεσης κάθε κελιού (παράγραφος 3.2.2.4).

Με την ολοκλήρωση του τέταρτου βήματος έχουμε εισάγει όλες τις

μεταβλητές για το αρχείο GNDATA (παράγραφος 2.4),

5ο βήμα, αρχείο LIQUIDstep5.m

Στο βήμα αυτό εισάγουμε τις ημερομηνίες για τις οποίες επιθυμούμε το

πρόγραμμα να εμφανίσει το υδατικό προφίλ (παράγραφος 3.2.2.5),

6ο βήμα, αρχείο LIQUIDmenu.m

Το βήμα αυτό είναι το τελευταίο βήμα του LIQUID. Το LIQUIDmenu.m

είναι το βασικό μενού του προγράμματος, το οποίο περιέχει τις διαθέσιμες

γραφικές παραστάσεις (παράγραφος 3.2.2.6).

Για την εκτέλεση του LIQUID αρκεί να πληκτρολογήσουμε στο Command

Window (εικόνα 3.2.1)

>> liquid

Page 67: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 57

Εικόνα 3.2.1 – Εκτέλεση LIQUID

3.2.2 Ανάλυση βημάτων LIQUID

3.2.2.1 Βήμα 1ο (liquid.m)

Το αρχείο liquid.m εμφανίζει στην οθόνη μας, μετά την εκτέλεσή του (εικόνα

3.2.1), το αρχικό interface (εικόνα 3.2.2) του προγράμματος. Εκτός από τις γενικές

πληροφορίες για το όνομα του δημιουργού, του επιβλέποντα καθηγητή, το έτος

δημιουργίας του, έχει και δύο κουμπιά (buttons) τα οποία είναι τα εξής :

Next > Step 2 Το κουμπί αυτό μας πηγαίνει στο δεύτερο βήμα (Step 2) του

LIQUID. H function που αντιστοιχεί στο κουμπί αυτό είναι η

NEXTSTEP2, η οποία μέσω της εντολής closereq κλείνει το

υπάρχων αρχείο liquid.m και καλεί το αρχείο

LIQUIDstep2.m,

Exit Το κουμπί αυτό εμφανίζει το dialog box της εικόνας 3.2.3.

Επιλέγοντας Yes το LIQUID κλείνει, μέσω της εντολής

Page 68: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 58

closereq και επιστρέφουμε στο περιβάλλον των Windows. Αν

επιλεγεί από το χρήστη, το No, επιστρέφουμε στο LIQUID. H

function που αντιστοιχεί στο κουμπί αυτό είναι η

EXITTOWINDOWS.

Εικόνα 3.2.2– Πρώτο βήμα LIQUID

Εικόνα 3.2.3– Ερώτηση για έξοδο από το LIQUID

3.2.2.2 Βήμα 2ο (LIQUIDstep2.m)

Το LIQUIDstep2.m αποτελεί το βασικό interface εισαγωγής δεδομένων

του προγράμματος (εικόνα 3.2.4). Στο βήμα αυτό εισάγουμε τα βασικότερα

δεδομένα για την εκτέλεση του SWBACROS.

Η φόρμα έχει τέσσερα κουμπιά :

Page 69: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 59

< Back Το κουμπί αυτό μας πηγαίνει στο προηγούμενο βήμα (Step 1)

του LIQUID. H function που αντιστοιχεί στο κουμπί αυτό είναι

η BACKSTEP1, η οποία μέσω της εντολής closereq κλείνει το

ενεργό αρχείο LIQUIDstep2.m και καλεί το αρχείο liquid.m,

Next > Step 3 Το κουμπί αυτό μας πηγαίνει στο τρίτο βήμα (Step 3) του

LIQUID. H function που αντιστοιχεί στο κουμπί αυτό είναι η

NEXTSTEP3, η οποία μέσω της εντολής closereq κλείνει το

ενεργό αρχείο LIQUIDstep2.m και καλεί το αρχείο

LIQUIDstep3.m. Πριν καλέσει το πρόγραμμά μας το αρχείο

LIQUIDstep3.m, γίνεται έλεγχος για τον αν συμπληρώθηκαν

όλες οι τιμές της φόρμας από το χρήστη,

Exit Η function ΕΧΙΤΤΟWINDOWS που αντιστοιχεί στο κουμπί

Exit είναι ίδια για όλα τα βήματα του LIQUID. Η περιγραφή

της έγινε στην προηγούμενη παράγραφο 3.2.2.1 (Βήμα 1ο

(liquid.m),

Load latest SWBACROS values Το κουμπί αυτό συμπληρώνει τη φόρμα

μας, με τις μεταβλητές που είχαμε

συμπληρώσει στην προηγούμενη εκτέλεση

του SWBACROS. Η function που

αντιστοιχεί στο κουμπί αυτό είναι η

LOADING (εικόνα 3.2.5).

Page 70: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 60

Εικόνα 3.2.4– Δεύτερο βήμα LIQUID (άδεια φόρμα)

Page 71: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 61

Εικόνα 3.2.5– Δεύτερο βήμα LIQUID (συμπληρωμένη φόρμα, μετά το Load latest SWBACROS

values)

Page 72: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 62

Στο βήμα αυτό εισάγουμε τις μεταβλητές : IDIN, ΙMIN, IYIN, IDLAST,

IMLAST, IYLAST, ΜΕΤHOD1, METHOD2, MAXITER, JMAX, DTPAR1,

DTPAR2, DT2, DT1, DTMIN, DTMAX, ZETA1, OPT1, OPT2, LAYER,

OUTPUTFILE1, OUTPUTFILE2, IBBC1, IBBC2, IBBC3, IRWUT,

MODUPT1, MODUPT2, PSI1, PSI2, PSI3, DaysForWaterContentProfiles,

ITBC1, ITBC2, ITBC3, UDFLUX, SIGMA, IAVER1, IAVER2, IRS1, IRS2,

SIGMA, PETIND1, PETIND3, PETIND2, IPETC, VRATIO,

UNAVAILSW, EXCELEXPORT

Αναλυτική παρουσίαση όλων των μεταβλητών του προγράμματος μαζί με τη

σημασία τους γίνεται στην παράγραφο 3.2.3

Για κάθε μία από τις μεταβλητές που αναφέρονται παραπάνω υπάρχουν 2

functions. Η Callback που μας επιστρέφει τη τιμή που έχει επιλέξει ο χρήστης και η

CreateFcn η οποία περιέχει τις ρυθμίσεις για το πλαίσιο εισαγωγής στη φόρμα μας

(χρώμα πλαισίου, μέγεθος γραμματοσειράς κ.ά) (παράδειγμα για την μεταβλητή

IDIN υπάρχουν δύο functions η IDIN_Callback και η IDIN_CreateFcn)

Σε κάθε μεταβλητή που εισάγει ο χρήστης γίνεται λογικός έλεγχος της τιμής

αυτής και εμφανίζεται μήνυμα στην περίπτωση λάθους (π.χ. δεν μπορούμε να

εισάγουμε τιμή 32 για την αρχική ημέρα υπολογισμών (IDIN) (εικόνα 3.2.6α), ούτε

αρνητική τιμή για τον αριθμό των εδαφικών οριζόντων (LAYER) (εικόνα 3.2.6β))

Εικόνα 3.2.6α– Μήνυμα λάθους για την αρχική ημερομηνία υπολογισμών

Εικόνα 3.2.6β– Μήνυμα λάθους για τους διαφορετικούς εδαφικούς ορίζοντες

Page 73: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 63

3.2.2.3 Βήμα 3ο (LIQUIDstep3.m)

Στο LIQUIDstep3.m συμπληρώνουμε δεδομένα για κάθε εδαφικό

ορίζοντα. Εισάγουμε τον αρχικό και τον τελικό κόμβο του κάθε ορίζοντα, τις τιμές

της κορεσμένης υδραυλικής αγωγιμότητας, της υγρασίας κορεσμού (θs), της

υπολειμματικής υγρασίας (θr), καθώς και τους συντελεστές α,n για την εξίσωση του

Van Genuchten για κάθε εδαφικό ορίζοντα (εικόνα 3.2.7)

Η φόρμα έχει τέσσερα κουμπιά :

< Back Το κουμπί αυτό μας πηγαίνει στο προηγούμενο βήμα (Step 2)

του LIQUID. H function που αντιστοιχεί στο κουμπί αυτό είναι

η BACKSTEP2, η οποία μέσω της εντολής closereq κλείνει το

ενεργό αρχείο LIQUIDstep3.m και καλεί το αρχείο

LIQUIDstep2.m,

Next > Step 4 Το κουμπί αυτό μας πηγαίνει στο τέταρτο (Step 4) του

LIQUID. H function που αντιστοιχεί στο κουμπί αυτό είναι η

NEXTSTEP4, η οποία μέσω της εντολής closereq κλείνει το

ενεργό αρχείο LIQUIDstep3.m και καλεί το αρχείο

LIQUIDstep4.m. Πριν καλέσει το πρόγραμμά μας το αρχείο

LIQUIDstep4.m, γίνεται έλεγχος για το αν συμπληρώθηκαν

όλες οι τιμές της φόρμας από τον χρήστη,

Exit Η function ΕΧΙΤΤΟWINDOWS που αντιστοιχεί στο κουμπί

Exit είναι ίδια για όλα τα βήματα του LIQUID. Η περιγραφή

της έγινε στην προηγούμενη παράγραφο 3.2.2.1 (Βήμα 1ο

(liquid.m)),

Load latest SWBACROS values Το κουμπί αυτό συμπληρώνει τη φόρμα

μας, με τις μεταβλητές που είχαμε

Page 74: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 64

συμπληρώσει στην προηγούμενη εκτέλεση

του SWBACROS. Η function που

αντιστοιχεί στο κουμπί αυτό είναι η

LOADING2 (εικόνα 3.2.8).

Εικόνα 3.2.7– Τρίτο βήμα LIQUID (άδεια φόρμα)

Page 75: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 65

Εικόνα 3.2.8– Τρίτο βήμα LIQUID (συμπληρωμένη φόρμα, μετά το Load latest SWBACROS

values)

Στο βήμα αυτό εισάγουμε τις μεταβλητές : FirstNodalPoint1,

LastNodalPoint1, AKS1, THETS1, THETD1, AV1, ANV1

Αναλυτική παρουσίαση όλων των μεταβλητών του προγράμματος μαζί με τη

σημασία τους γίνεται στην παράγραφο 3.2.3

Σε κάθε μεταβλητή που εισάγει ο χρήστης γίνεται λογικός έλεγχος των τιμών

αυτών και εμφανίζεται μήνυμα στην περίπτωση λάθους (π.χ. δεν μπορούμε να

εισάγουμε αλφαριθμητική τιμή για το First Nodal Point. Στην εικόνα 3.2.9 βλέπουμε

Page 76: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 66

το μήνυμα λάθους που εμφανίζεται αν ο χρήστης εισάγει την τιμή a για τον πρώτο

κόμβο του εδαφικού ορίζοντα 1).

Εικόνα 3.2.9– Μήνυμα λάθους για το πρώτο σημείο κάθε ορίζοντα

3.2.2.4 Βήμα 4ο (LIQUIDstep4.m)

Στο LIQUIDstep4.m συμπληρώνουμε τα απαραίτητα δεδομένα για κάθε

κελί (cell). Στο βήμα αυτά εισάγουμε το μήκος, καθώς και την αρχική τιμή της

αρνητικής πίεσης κάθε κελιού (εικόνα 3.2.9).

Η φόρμα έχει τέσσερα κουμπιά :

< Back Το κουμπί αυτό μας πηγαίνει στο προηγούμενο βήμα (Step 3)

του LIQUID. H function που αντιστοιχεί στο κουμπί αυτό είναι

η BACKSTEP3, η οποία μέσω της εντολής closereq κλείνει το

υπάρχον αρχείο LIQUIDstep4.m και καλεί το αρχείο

LIQUIDstep3.m,

Next > Step 5 Το κουμπί αυτό μας πηγαίνει στο πέμπτο βήμα (Step 5) του

LIQUID. H function που αντιστοιχεί στο κουμπί αυτό είναι η

NEXTSTEP5, η οποία μέσω της εντολής closereq κλείνει το

ενεργό αρχείο LIQUIDstep4.m και καλεί το αρχείο

LIQUIDstep5.m. Πριν καλέσει το πρόγραμμά μας το αρχείο

LIQUIDstep5.m, γίνεται έλεγχος για τον αν συμπληρώθηκαν

όλες οι τιμές της φόρμας από τον χρήστη,

Page 77: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 67

Exit Η function ΕΧΙΤΤΟWINDOWS που αντιστοιχεί στο κουμπί

Exit είναι ίδια για όλα τα βήματα του LIQUID. Η περιγραφή

της έγινε στην παράγραφο 3.2.2.1 (Βήμα 1ο (liquid.m)),

Load latest SWBACROS values Το κουμπί αυτό συμπληρώνει τη φόρμα

μας, με τις μεταβλητές που είχαμε

συμπληρώσει στην προηγούμενη εκτέλεση

του SWBACROS. Η function που

αντιστοιχεί στο κουμπί αυτό είναι η

LOADING3 (εικόνα 3.2.11).

Εικόνα 3.2.10– Τέταρτο βήμα LIQUID (άδεια φόρμα)

Page 78: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 68

Εικόνα 3.2.11– Τέταρτο βήμα LIQUID (συμπληρωμένη φόρμα, μετά το Load latest

SWBACROS values)

Στο βήμα αυτό εισάγουμε τις μεταβλητές : SizeNodalPoints1, InitialY1

Αναλυτική παρουσίαση όλων των μεταβλητών του προγράμματος μαζί με τη

σημασία τους γίνεται στην παράγραφο 3.2.3

Για κάθε μεταβλητή που εισάγει ο χρήστης γίνεται εκτός του ελέγχου για

συμπλήρωση όλων των τιμών γίνεται και λογικός έλεγχος των τιμών αυτών και

εμφανίζεται μήνυμα στην περίπτωση λάθους (π.χ. δεν μπορούμε να εισάγουμε

αλφαριθμητική τιμή για το Size of each cell. Στην εικόνα 3.2.12 βλέπουμε το μήνυμα

Page 79: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 69

λάθους που εμφανίζεται αν ο χρήστης εισάγει έστω την τιμή k για το μέγεθος του

κελιού).

Εικόνα 3.2.12– Μήνυμα λάθους για το μέγεθος του κελιού

3.2.2.5 Βήμα 5ο (LIQUIDstep5.m)

Το LIQUIDstep5 συμπληρώνουμε τις ημερομηνίες σε ημέρες του έτους για

τις οποίες επιθυμούμε να δούμε το εδαφικό προφίλ (εικόνα 3.2.13).

Η φόρμα έχει τρία κουμπιά :

< Back Το κουμπί αυτό μας πηγαίνει στο προηγούμενο βήμα (Step 4)

του LIQUID. H function που αντιστοιχεί στο κουμπί αυτό είναι

η BACKSTEP4, η οποία μέσω της εντολής closereq κλείνει το

υπάρχον αρχείο LIQUIDstep5.m και καλεί το αρχείο

LIQUIDstep4.m,

Next > Menu Το κουμπί αυτό μας πηγαίνει στο τελευταίο βήμα (Menu) του

LIQUID. H function που αντιστοιχεί στο κουμπί αυτό είναι η

NEXTmainmenu, η οποία μέσω της εντολής closereq κλείνει

το ενεργό αρχείο LIQUIDstep5.m και καλεί το αρχείο

LIQUIDmenu.m. Πριν κλείσει το πρόγραμμά μας το αρχείο

LIQUIDstep5.m, γίνεται έλεγχος για τον αν συμπληρώθηκαν

όλες οι τιμές της φόρμας από τον χρήστη,

Page 80: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 70

Exit Η function ΕΧΙΤΤΟWINDOWS που αντιστοιχεί στο κουμπί

Exit είναι ίδια για όλα τα βήματα του LIQUID. Η περιγραφή

της έγινε στην παράγραφο 3.2.2.1 (Βήμα 1ο (liquid.m)),

Εικόνα 3.2.13– Πέμπτο βήμα LIQUID (άδεια φόρμα)

Page 81: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 71

Εικόνα 3.2.14– Πέμπτο βήμα LIQUID (η επιλογή των ημερών είναι τυχαία)

Στο βήμα αυτό εισάγουμε τις τιμές για τις : DAYSPROFILES1

Αναλυτική παρουσίαση όλων των μεταβλητών του προγράμματος μαζί με τη

σημασία τους γίνεται στην παράγραφο 3.2.3

Εκτός από τις τρεις functions που δημιουργούνται από τα τρία κουμπιά

υπάρχει και μία ακόμη η Gr2Jul. Η Gr2Jul μετατρέπει τις ημερομηνίες, που

δόθηκαν στο 2ο βήμα, από τη γρηγοριανή ημερομηνία σε αύξοντα αριθμό της

συγκεκριμένης ημέρας από την αρχή του έτους.

Για κάθε μέρα που εισάγει ο χρήστης το LIQUID ελέγχει τα νούμερα που

δόθηκαν για το αν βρίσκονται ανάμεσα στην αρχική και τελική ημερομηνία

υπολογισμών και εμφανίζει μήνυμα στην περίπτωση λάθους (π.χ. αν εισάγουμε για

την εκτέλεση που βλέπουμε στην εικόνα 3.2.14 την ημερομηνία 99 το πρόγραμμα

Page 82: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 72

εμφανίζει το μήνυμα λάθους της εικόνας 3.2.15, αφού η αρχική ημερομηνία

υπολογισμών είναι η ημέρα 100).

Εικόνα 3.2.15– Μήνυμα λάθους για τις ημέρες για τις οποίες επιθυμεί ο χρήστης να δει το εδαφικό

προφίλ

3.2.2.6 Μενού LIQUID (LIQUIDmenu.m)

Το LIQUIDmenu.m είναι το μενού του προγράμματος στο οποίο

εμφανίζονται όλες οι προς εμφάνιση γραφικές παραστάσεις (εικόνα 3.2.16). Στην

αρχή του βήματος αυτού δημιουργείται το αρχείο GNDATA (παράγραφος 2.4)

και τρέχει στο background το μοντέλο SWBACROS μέσω του αρχείου

sink1e.exe. Αφού έχουν δημιουργηθεί από το SWBACROS τα αρχεία

αποτελεσμάτων, το LIQUID διαβάζει τα δεδομένα από αυτά και τα εμφανίζει

γραφικά στη MATLAB.

Η φόρμα έχει δύο κουμπιά :

< Back Το κουμπί αυτό μας πηγαίνει στο προηγούμενο βήμα (Step 5) του

LIQUID. H function που αντιστοιχεί στο κουμπί αυτό είναι η

BACKSTEP5, η οποία μέσω της εντολής closereq κλείνει το υπάρχον

αρχείο LIQUIDmenu.m και καλεί το αρχείο LIQUIDstep5.m,

Exit Η function FINALEXIT που αντιστοιχεί στο κουμπί Exit είναι

αντίστοιχη με την ΕΧΙΤΤΟWINDOWS που είδαμε σε όλα τα

προηγούμενα βήματα. Η περιγραφή της έγινε στην παράγραφο 3.2.2.1

(Βήμα 1ο (liquid.m)),

Page 83: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 73

Εικόνα 3.2.16– Μενού LIQUID

Page 84: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 74

Εκτός από τις δύο functions που αντιστοιχούν στα δύο κουμπιά (<Back,

Next) και τις functions των γραφικών παραστάσεων υπάρχουν και έξι άλλες τις

οποίες βλέπουμε παράκατω.

• VIEWINITSOIL (View data files : Initial Soil profile data). Η function

αυτή εμφανίζει το αρχείο INITSOIL.TXT

• VIEWEVAPOTRANS (View data files : Evapotranspiration). Η function

αυτή εμφανίζει το αρχείο EVAPOTRANS.TXT

• VIEWSCRD (View data files : SC, RD, LAI, Ymin). Η function αυτή

εμφανίζει το αρχείο DAYSCRDetc.TXT

• VIEWCONTENTPROFILE (View data files : Water content profiles).

Η function αυτή εμφανίζει το αρχείο PROFILE.TXT

• VIEWWATERBAL (View data files : Water balance results). Η οποία

εμφανίζει το αρχείο WATERBAL.TXT

Ολες οι παραπάνω functions εμφανίζουν τα αρχεία δεδομένων μέσω του

σημειωματαρίου των windows (notepad). Τα πέντε αρχεία δεδομένων του LIQUID

παρουσιάζονται αναλυτικά στην παράγραφο 3.2.4

• Jul2Gr . Η Jul2Gr παρουσιάστηκε στο προηγούμενο βήμα του LIQUID

(παράγραφος 3.2.2.5).

Στο βήμα αυτό γίνεται και η εξαγωγή των αποτελεσμάτων του SWBACROS

σε excel αρχείο. Απαραίτητη προϋπόθεση για αυτό είναι να ενεργοποιήσει ο

χρήστης στο βήμα 2 την επιλογή Export results of SWBACROS in Excel (XLS)

files (εικόνα 3.2.4 και 3.2.5). Το πρόγραμμα αποθηκεύει όλα τα δεδομένα που

διαβάζει από το αρχεία δεδομένων σε ένα αρχείο excel. Η αποθήκευση γίνεται μέσω

της εντολής xlswrite.

Page 85: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 75

Το αρχείο excel που δημιουργείται έχει όνομα της μορφής liquidXXX-

YYY.xls, όπου ΧΧΧ είναι η αρχική ημερομηνία των υπολογισμών και YYY είναι η

τελική ημερομηνία των υπολογισμών σε ημέρες του έτους.

Στην περίπτωση κατά την οποία στο φάκελο του LIQUID υπάρχει αρχείο με

το ίδιο όνομα, το πρόγραμμα το κάνει overwrite αυτόματα.

Για περισσότερες πληροφορίες για την εντολή xlswrite και το Excel

exportation ο αναγνώστης παραπέμπεται στο Matlab Reference Book : Function

Reference Volume 3 P-Z

3.2.2.6.1 Διαθέσιμες γραφικές παραστάσεις

Οι γραφικές παραστάσεις είναι χωρισμένες σε πέντε ομάδες (εικόνα 3.2.16) :

α) Initial Soil profile data

Η ομάδα Initial Soil profile data περιέχει τις γραφικές παραστάσεις :

• Hydraulic conductivity (m/day) of unsaturated soil per depth

(Υδραυλική αγωγιμότητα του εδάφους (m/day) σε σχέση με το βάθος),

• Negative pressure (m) of the soil water per depth (Αρνητική πίεση (m)

του εδαφικού νερού),

• Initial moisture per depth (Αρχική υγρασία του εδάφους σε σχέση με το

βάθος),

• Initial Soil Profile Data : 3 in one (3 plots)

β) Soil cover, Root Depth, Leaf Area Index, Minumum pressure

Στην ομάδα Soil cover, Root Depth, Leaf Area Index, Minimum

pressure περιέχονται οι γραφικές παραστάσεις :

• Soil cover (0.0-1.0) per day (Εδαφοκάλυψη σε σχέση με την ημέρα του

έτους),

Page 86: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 76

• Root depth (m) per day (Βάθος ριζικού συστήματος (m) σε σχέση με την

ημέρα του έτους),

• Leaf Area Index per day (Δείκτης φυλλικής επιφάνειας σε σχέση με την

ημέρα του έτους),

• Minimum pressure (m) per day (Ελάχιστη πίεση (m) εδαφικού νερού),

• Soil Cover , Root Depth, Leaf Area Index, Minimum Pressure : (4 in

one) (4 plots)

γ) Water balance results

Η ομάδα Water balance results περιέχει τις γραφικές παραστάσεις :

• Water content (cm) of the soil profile at the end of the day (Ποσότητα

εδαφικού νερού (cm) στο τέλος της ημέρας σε σχέση με την ημέρα του έτους),

• Potential and actual evaporation (cm) per day (Δυναμική και

πραγματική εξάτμιση (cm) από την επιφάνεια του εδάφους σε σχέση με την

ημέρα του έτους),

• Potential and actual transpiration (cm) per day (Δυναμική και

πραγματική διαπνοή (cm) σε σχέση με την ημέρα του έτους),

• Precipitation/irrigation and intercepted rain (cm) per day

(Βροχόπτωση / άρδευση και υδατοσυγκράτηση (cm) σε σχέση με την ημέρα

του έτους),

• Flux through top and bottom boundary (cm) per day (Ροή δια μέσου

του επάνω και του κάτω ορίου (cm) σε σχέση με την ημέρα του έτους),

• Water balance results : 5 in one (6 plots)

Εκτός από τις παραπάνω, υπάρχουν και δύο υποομάδες γραφικών

παραστάσεων οι οποίες είναι οι : Water balance error (%), Cumulative water

balance results.

Στην πρώτη υποομάδα ανήκουν οι γραφικές παραστάσεις :

Page 87: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 77

• Incremental water balance error (Αυξητικό λάθος υδατικού ισοζυγίου),

• Cumulative water balance error (Αθροιστικό λάθος υδατικού ισοζυγίου),

• Water balance error : 2 in one (2 plots)

Η δεύτερη υποομάδα περίεχει τις γραφικές παραστάσεις :

• Cum. precipitation and irrigation (cm) per day (Αθροιστική

βροχόπτωση / άρδευση (cm) σε σχέση με την ημέρα του έτους),

• Cum. potential and actual transpiration (cm) per day (Αθροιστική

δυναμική και πραγματική διαπνοή (cm) σε σχέση με την ημέρα του έτους),

• Cum. potential and actual evaporation (cm) per day (Αθροιστική

δυναμική και πραγματική εξάτμιση (cm) σε σχέση με την ημέρα του έτους),

• Cum. flux through top and bottom boundary (cm) per day (Αθροιστική

ροή δια μέσου του επάνω και του κάτω ορίου (cm) σε σχέση με την ημέρα

του έτους),

• Cum. water balance results : 4 in one (5 plots)

δ) Reference and potential evapotranspiration

Στην ομάδα Reference and potential evapotranspiration περιέχονται οι

γραφικές παραστάσεις :

• Potential evapotranspiration (mm/day) per day (Δυναμική

εξατμισοδιαπνοή (mm/day) σε σχέση με την ημέρα του έτους),

• Reference crop evapotranspiration (mm/day) per day

(Εξατμισοδιαπνοή αναφοράς (mm/day) σε σχέση με την ημέρα του έτους),

• Evapotranspiration : 2 in one (2 plots),

• Evapotranspiration : 1 in one (2 plot)

ε) Water content profiles

Στην ομάδα Water content profiles ανήκουν οι γραφικές παραστάσεις :

• Water content profile (3D) (Τρισδιάστατο προφίλ περιεχόμενης υγρασίας),

Page 88: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 78

• Water content profiles at : ΗΜ/ΝΙΕΣ (Προφίλ περιεχόμενης υγρασίας

σε συγκεκριμένες ημερομηνίες)

Στις επόμενες παραγράφους παρουσιάζονται όλες οι γραφικές παραστάσεις

που είδαμε παραπάνω. Για κάθε γραφική παράσταση αναφέρονται το όνομα της

συνάρτησης που αντιστοιχεί σε αυτή, οι μεταβλητές που χρησιμοποιεί, ο κώδικας

της MATLAB καθώς και μία ενδεικτική εικόνα της. Τα δεδομένα που

χρησιμοποιήθηκαν είναι υποθετικά και χρησιμοποιήθηκαν για λόγους επίδειξης των

δυνατοτήτων του προγράμματος LIQUID και είναι τα αποτελέσματα των δεδομένων

που δόθηκαν στις εικόνες 3.2.5, 3.2.8, 3.2.11 και 3.2.14.

3.2.2.6.2 Hydraulic conductivity (m/day) of unsaturated soil per depth (Υδραυλική αγωγιμότητα του εδάφους (m/day) σε σχέση με το βάθος)

Όνομα συνάρτησης : DEPTHperAK

Μεταβλητές που εμφανίζονται : ΑΚ, Depth

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.17 δείχνει την υδραυλική

αγωγιμότητα του εδάφους (AK) (σε m/day) σε σχέση με το βάθος (Depth) (σε cm)

Κώδικας MATLAB global Depth AK clf figNumber=figure('Name','Initial hydraulic conductivity of unsaturated soil'); hold on title(strcat('Initial hydraulic conductivity of unsaturated soil per depth'),'fontsize',20) set(gca,'YDir','reverse') plot(AK,Depth,'R.-') grid on ylabel('Depth (cm)') xlabel('Hydraulic conductivity (m/day)') legend('Hydraulic conductivity (m/day)') hold off

Page 89: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 79

Εικόνα 3.2.17– Υδραυλική αγωγιμότητα σε σχέση με το βάθος

3.2.2.6.3 Negative pressure (m) of the soil water per depth (Αρνητική πίεση (m) του εδαφικού νερού σε σχέση με το βάθος)

Όνομα συνάρτησης : DEPTHperY

Μεταβλητές που εμφανίζονται : Y, Depth

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.18 δείχνει την αρνητική

πίεση του εδαφικού νερού (Y) (σε m) σε σχέση με το βάθος (Depth) (σε cm)

Κώδικας MATLAB global Depth Y clf figNumber=figure('Name','Initial pressure of the soil water'); hold on title(strcat('Initial pressure of the soil water per depth'),'fontsize',20) set(gca,'YDir','reverse') plot(Y,Depth,'G.-','LineWidth',1) grid on

Page 90: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 80

ylabel('Depth (cm)') xlabel('Initial pressure (m)') legend('Initial pressure of the soil water') hold off

Εικόνα 3.2.18– Αρνητική πίεση σε σχέση με το βάθος

3.2.2.6.4 Initial moisture per depth (Αρχική υγρασία του εδάφους σε σχέση με το βάθος)

Όνομα συνάρτησης : DEPTHperINITIALMOISTURE

Μεταβλητές που εμφανίζονται : INITIALMOISTURE, Depth

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.19 δείχνει την αρχική

υγρασία του εδάφους (INITIALMOISTURE) (σε %) σε σχέση με το βάθος

(Depth) (σε cm)

Κώδικας MATLAB global Depth INITIALMOISTURE

Page 91: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 81

clf figNumber=figure('Name','Initial moisture per depth'); hold on title(strcat('Initial moisture'),'fontsize',20) set(gca,'YDir','reverse') plot(100*INITIALMOISTURE,Depth,'R.-','LineWidth',1) grid on ylabel('Depth (cm)') xlabel('Initial moisture(%)') legend('Initial moisture per depth') hold off

Εικόνα 3.2.19– Αρχική υγρασία του εδάφους σε σχέση με το βάθος

3.2.2.6.5 Initial Soil Profile data : 3 in one plots

Όνομα συνάρτησης : THREEinONEINITSOIL

Μεταβλητές που εμφανίζονται : INITIALMOISTURE, Y, AK, Depth

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.20 μας δείχνει τις

προηγούμενες τρεις γραφικές παραστάσεις (Hydraulic conductivity of

unsaturated soil per depth, Negative pressure of the soil water, Initial

moisture per depth) σε ένα παράθυρο

Page 92: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 82

Κώδικας MATLAB global Depth AK INITIALMOISTURE Y clf figNumber=figure('Name','Initial Soil profile'); subplot(3,1,1) hold on title(strcat('Initial hydraulic conductivity of unsaturated soil per depth'),'fontsize',11) set(gca,'YDir','reverse') plot(AK,Depth,'Y.-','LineWidth',1) grid on ylabel('Depth (cm)') xlabel('Hydraulic conductivity (m/day)') legend('Hydraulic conductivity (m/day)') hold off subplot(3,1,2) hold on title(strcat('Initial moisture per depth'),'fontsize',11) set(gca,'YDir','reverse') plot(100*INITIALMOISTURE,Depth,'R.-','LineWidth',1) grid on ylabel('Depth (cm)') xlabel('Initial moisture(%)') legend('Initial moisture (%)') hold off subplot(3,1,3) hold on title(strcat('Initial pressure of the soil water per depth'),'fontsize',11) set(gca,'YDir','reverse') plot(Y,Depth,'G.-','LineWidth',1) grid on ylabel('Depth (cm)') xlabel('Initial pressure (m)') legend('Initial pressure (m)') hold off

Page 93: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 83

Εικόνα 3.2.20– Initial Soil Profile data : 3 in one plots (3 γραφικές παραστάσεις σε μία)

3.2.2.6.6 Soil cover (0.0-1.0) per day (Εδαφοκάλυψη σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : DAYperSC

Μεταβλητές που εμφανίζονται : SC, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.21 δείχνει την

εδαφοκάλυψη (SC) (0.0-1.0) σε σχέση με την ημέρα του έτους (Day)

Κώδικας MATLAB global Day SC clf figNumber=figure('Name','Soil Cover'); hold on title(strcat('Soil cover per day'),'fontsize',20) plot(Day,SC,'R.-') grid on xlabel('Day') ylabel('Soil cover (0.0-1.0)')

Page 94: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 84

legend('Soil cover per day') hold off

Εικόνα 3.2.21– Εδαφοκάλυψη σε σχέση με την ημέρα του έτους

3.2.2.6.7 Root depth (m) per day (Βάθος ριζικού συστήματος (m) σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : DAYperRD

Μεταβλητές που εμφανίζονται : RD, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.22 δείχνει το βάθος του

ριζικού συστήματος (RD) σε σχέση με την ημέρα του έτους (Day)

Κώδικας MATLAB global Day ROOTDP clf figNumber=figure('Name','Root depth'); hold on title(strcat('Root depth per day'),'fontsize',20)

Page 95: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 85

plot(Day,ROOTDP,'K.-') grid on xlabel('Day') ylabel('Root depth (m)') legend('Root depth (m)') hold off

Εικόνα 3.2.22– Βάθος ριζικού συστήματος σε σχέση με την ημέρα του έτους

3.2.2.6.8 Leaf Area Index per day (Δείκτης φυλλικής επιφάνειας σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : DAYperALAI

Μεταβλητές που εμφανίζονται : ALAI, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.23 δείχνει το δείκτη

φυλλικής επιφάνειας (ALAI) σε σχέση με την ημέρα του έτους (Day)

Κώδικας MATLAB global Day ALAI

Page 96: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 86

clf figNumber=figure('Name','Leaf Area Index'); hold on title(strcat('Leaf Area Index per day'),'fontsize',20) plot(Day,ALAI,'b.-') grid on xlabel('Day') ylabel('Leaf Area Index') legend('Leaf Area Index') hold off

Εικόνα 3.2.23– Δείκτης φυλλικής επιφάνειας σε σχέση με την ημέρα του έτους

3.2.2.6.9 Minimum pressure (m) per day (Ελάχιστη πίεση (m) εδαφικού νερού)

Όνομα συνάρτησης : DAYperYMIN

Μεταβλητές που εμφανίζονται : YMIN, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.24 δείχνει το ελάχιστη

πίεση του εδαφικού νερού (YMIN) σε σχέση με την ημέρα του έτους (Day)

Page 97: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 87

Κώδικας MATLAB global Day YMIN clf figNumber=figure('Name','Minimum Pressure'); hold on title(strcat('Minimum pressure per day'),'fontsize',20) plot(Day,YMIN,'G.-') grid on xlabel('Day') ylabel('Minimum pressure (m)') legend('Minimum pressure (m)') hold off

Εικόνα 3.2.24– Ελάχιστη πίεση εδαφικού νερού σε σχέση με την ημέρα του έτους

3.2.2.6.10 Soil Cover, Root Depth, Leaf Area Index, Minimum Pressure : 4 in one (4 plots)

Όνομα συνάρτησης : FOURinONESCRD

Μεταβλητές που εμφανίζονται : SC, RD, ALAI, YMIN, Day

Page 98: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 88

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.25 δείχνει τις τέσσερις

προηγούμενες γραφικές παραστάσεις (Soil cover (0.0-1.0) per day, Leaf Area

Index per day, Root depth (m) per day, Minimum pressure (m) soil per day)

σε ένα παράθυρο

Κώδικας MATLAB global Day SC ROOTDP ALAI YMIN clf figNumber=figure('Name','Soil cover , Root Depth , Leaf Area Index , Minimum pressure'); subplot(2,2,1) hold on title(strcat('Soil cover per day'),'fontsize',15) plot(Day,SC,'R.-') grid on xlabel('Day') ylabel('Soil cover (0.0-1.0)') legend('Soil cover per day') hold off subplot(2,2,2) hold on title(strcat('Root depth per day'),'fontsize',15) plot(Day,ROOTDP,'K.-') grid on xlabel('Day') ylabel('Root depth (m)') legend('Root depth (m)') hold off subplot(2,2,3) hold on title(strcat('Leaf Area Index per day'),'fontsize',15) plot(Day,ALAI,'C.-') grid on xlabel('Day') ylabel('Leaf Area Index') legend('Leaf Area Index') hold off subplot(2,2,4) hold on title(strcat('Minimum pressure per day'),'fontsize',15) plot(Day,YMIN,'G.-') grid on xlabel('Day') ylabel('Minimum pressure (m)') legend('Minimum pressure (m)') hold off

Page 99: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 89

Εικόνα 3.2.25– Soil Cover, Root Depth, Leaf Area Index, Minimum Pressure : 4 in one (4

plots) (4 γραφικές παραστάσεις σε μία)

3.2.2.6.11 Water content (cm) of the soil profile at the end of day per day (Ποσότητα εδαφικού νερού (cm) στο τέλος της ημέρας σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : WCENDperDAY

Μεταβλητές που εμφανίζονται : WCEND, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.26 δείχνει την ποσότητα

του εδαφικού νερού στο τέλος της ημέρας (WCEND) (σε cm) σε σχέση με την

ημέρα του έτους (Day)

Κώδικας MATLAB global Day WCEND clf figNumber=figure('Name','Water content of the soil profile at the end of the day'); hold on

Page 100: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 90

title(strcat('Water content of the soil profile at the end of the day'),'fontsize',20) plot(Day,WCEND,'R.-','LineWidth',1) grid on xlabel('Day') ylabel('Water content of the soil profile at the end of the day (cm)') legend('Water content of the soil profile at the end of the day (cm)') hold off

Εικόνα 3.2.26– Ποσότητα εδαφικού νερού στο τέλος της ημέρας σε σχέση με την ημέρα του έτους

3.2.2.6.12 Potential and actual evaporation (cm) per day (Δυναμική και πραγματική εξάτμιση (cm) από την επιφάνεια του εδάφους σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : EVAPperDAY

Μεταβλητές που εμφανίζονται : ACTEVAP, POTEVAP, Day

Page 101: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 91

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.27 δείχνει την δυναμική

(POTEVAP) (σε cm) και την πραγματική (ACTEVAP) (σε cm) εξάτμιση από την

επιφάνεια του εδάφους σε σχέση με την ημέρα του έτους (Day)

Κώδικας MATLAB global Day POTEVAP ACTEVAP clf figNumber=figure('Name','Potential and actual evaporation per day'); hold on title(strcat('Potential and actual evaporation per day'),'fontsize',20) plot(Day,POTEVAP,'R.-',Day,ACTEVAP) grid on xlabel('Day') ylabel('Evaporation (cm)') legend('Potential evaporation (cm)','Actual evaporation (cm)') hold off

Εικόνα 3.2.27– Δυναμική και πραγματική εξάτμιση από την επιφάνεια του εδάφους σε σχέση με

την ημέρα του έτους

Page 102: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 92

3.2.2.6.13 Potential and actual transpiration (cm) per day (Δυναμική και πραγματική διαπνοή (cm) σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : TRANSperDAY

Μεταβλητές που εμφανίζονται : POTTRANS, ACTTRANS, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.28 δείχνει την δυναμική

(POTTRANS) (σε cm) και την πραγματική (ACTTRANS) (σε cm) εξάτμιση από

την επιφάνεια του εδάφους σε σχέση με την ημέρα του έτους (Day)

Κώδικας MATLAB global Day POTTRANS ACTTRANS clf figNumber=figure('Name','Potential and actual transpiration per day'); hold on title(strcat('Potential and actual transpiration (cm) per day'),'fontsize',20) plot(Day,POTTRANS,'R.-',Day,ACTTRANS) grid on xlabel('Day') ylabel('Transpiration (cm)') legend('Potential transpiration (cm)','Actual transpiration (cm)') hold off

Page 103: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 93

Εικόνα 3.2.28– Δυναμική και πραγματική διαπνοή σε σχέση με την ημέρα του έτους

3.2.2.6.14 Precipitation/irrigation and intercepted rain (cm) per day (Βροχόπτωση / άρδευση και υδατοσυγκράτηση (cm) σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : ACTPRECandAINTERperDAY

Μεταβλητές που εμφανίζονται : ACTPREC, AINTER, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.29 δείχνει την

βροχόπτωση / άρδευση (ACTPREC) (σε cm) και την υδατοσυγκράτηση

(AINTER) (σε cm) σε σχέση με την ημέρα του έτους (Day)

Κώδικας MATLAB global Day ACTPREC AINTER clf figNumber=figure('Name','Precipitation / irrigation and intercepted rain per day'); hold on title(strcat('Precipitation / irrigation and intercepted rain per day'),'fontsize',20)

Page 104: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 94

bar(Day,ACTPREC,'r') plot(Day,10*AINTER,'--*') grid on xlabel('Day') ylabel('Precipitation and irrigation (cm)') legend('Precipitation and irrigation (cm)','Intercepted rain (cm)') hold off

Εικόνα 3.2.29– Βροχόπτωση / άρδευση και υδατοσυγκράτηση σε σχέση με την ημέρα του έτους

3.2.2.6.15 Flux through top and bottom boundary (cm) per day (Ροή δια μέσου το επάνω και του κάτω ορίου (cm) σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : QTPandQBTperDAY

Μεταβλητές που εμφανίζονται : QTP, QBT, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.30 δείχνει την ροή δια

μέσου του επάνω (QTP) (σε cm) και του κάτω ορίου (QBT) (σε cm) σε σχέση με

την ημέρα του έτους (Day)

Page 105: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 95

Κώδικας MATLAB global Day QTP QBT clf figNumber=figure('Name','Flux through top and bottom boundary per day'); subplot(2,1,1) hold on title(strcat('Flux through top boundary per day'),'fontsize',18) plot(Day,QTP,'R.-') grid on xlabel('Day') ylabel('Flux through top boundary (cm)') legend('Flux through top boundary (cm)') hold off subplot(2,1,2) hold on title(strcat('Flux through bottom boundary per day'),'fontsize',18) plot(Day,QBT) grid on xlabel('Day') ylabel('Flux through bottom boundary (cm)') legend('Flux through bottom boundary (cm)') hold off

Εικόνα 3.2.30– Ροή δια μέσου του επάνω και κάτω ορίου σε σχέση με την ημέρα του έτους

Page 106: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 96

3.2.2.6.16 Water balance results : 5 in one (6 plots)

Όνομα συνάρτησης : FIVEINONEWATERBALANCE

Μεταβλητές που εμφανίζονται : WCEND, ACTPREC, POTTRANS,

ACTTRANS, POTEVAP, ACTEVAP, QTP, QBT, AINTER, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.31 δείχνει τις πέντε

προηγούμενες γραφικές παραστάσεις (Water content (cm) of the soil profile at

the end of the day per day, Potential and actual evaporation (cm) per day,

Potential and actual transpiration (cm) per day, Precipitation / irrigation

and intercepted rain (cm) per day, Flux through top and bottom boundary

(cm) per day) σε ένα παράθυρο

Κώδικας MATLAB global Day WCEND ACTPREC POTTRANS ACTTRANS POTEVAP ACTEVAP QTP QBT AINTER clf figNumber=figure('Name','5 in one Water balance results'); subplot(3,2,1) hold on title(strcat('Water content of the soil profile at the end of the day'),'fontsize',12) plot(Day,WCEND,'R.-','LineWidth',1) grid on xlabel('Day') ylabel('Water content at the end of the day (cm)') legend('Water content at the end of the day (cm)') hold off subplot(3,2,2) hold on title(strcat('Precipitation / irrigation and intercepted rain per day'),'fontsize',12) bar(Day,ACTPREC,'r') plot(Day,10*AINTER,'--*') grid on xlabel('Day') ylabel('Precipitation and irrigation (cm)') legend('Precipitation and irrigation (cm)','Intercepted rain (cm)') hold off subplot(3,2,3) hold on

Page 107: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 97

title(strcat('Potential and actual evaporation per day'),'fontsize',12) plot(Day,POTEVAP,'R.-',Day,ACTEVAP) grid on xlabel('Day') ylabel('Evaporation (cm)') legend('Potential evaporation (cm)','Actual evaporation (cm)') hold off subplot(3,2,4) hold on title(strcat('Potential and actual transpiration per day'),'fontsize',12) plot(Day,POTTRANS,'R.-',Day,ACTTRANS) grid on xlabel('Day') ylabel('Transpiration (cm)') legend('Potential transpiration (cm)','Actual transpiration (cm)') hold off subplot(3,2,5) hold on title(strcat('Flux through top boundary per day'),'fontsize',12) plot(Day,QTP,'R.-') grid on xlabel('Day') ylabel('Flux through top boundary (cm)') legend('Flux through top boundary (cm)') hold off subplot(3,2,6) hold on title(strcat('Flux through bottom boundary per day'),'fontsize',12) plot(Day,QBT) grid on xlabel('Day') ylabel('Flux through bottom boundary (cm)') legend('Flux through bottom boundary (cm)') hold off

Page 108: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 98

Εικόνα 3.2.31– Water balance results : 5 in one (6 plots) (5 γραφικές παραστάσεις σε μία)

3.2.2.6.17 Incremental water balance error (Αυξητικό λάθος υδατικού ισοζυγίου)

Όνομα συνάρτησης : EPSINCperDAY

Μεταβλητές που εμφανίζονται : EPSINC, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.32 δείχνει το αυξητικό

λάθος υδατικού ισοζυγίου (EPSINC) (σε %) σε σχέση με την ημέρα του έτους

(Day)

Κώδικας MATLAB global Day EPSINC clf figNumber=figure('Name','Incremental water balance error'); hold on title(strcat('Incremental water balance error (%)'),'fontsize',20) plot(Day,EPSINC,'R.-','LineWidth',1) grid on

Page 109: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 99

xlabel('Day') ylabel('Incremental water balance error (%)') legend('Incremental water balance error (%)') hold off

Εικόνα 3.2.32– Αυξητικό λάθος υδατικού ισοζυγίου

3.2.2.6.18 Cumulative water balance error (Αθροιστικό λάθος υδατικού ισοζυγίου)

Όνομα συνάρτησης : EPSΤΟΤperDAY

Μεταβλητές που εμφανίζονται : EPSΤΟΤ, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.33 δείχνει το αθροιστικό

λάθος υδατικού ισοζυγίου (EPSΤΟΤ) (σε %) σε σχέση με την ημέρα του έτους

(Day)

Κώδικας MATLAB global Day EPSTOT clf

Page 110: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 100

figNumber=figure('Name','Cumulative water balance error')'; hold on title(strcat('Cumulative water balance error'),'fontsize',20) plot(Day,EPSTOT,'R.-','LineWidth',1) grid on xlabel('Day') ylabel('Cumulative water balance error (%)') legend('Cumulative water balance error (%)') hold off

Εικόνα 3.2.33– Αθροιστικό λάθος υδατικού ισοζυγίου

3.2.2.6.19 Water balance error : 2 in one (2 plots)

Όνομα συνάρτησης : TWOINONEWATERBALANCEERROR

Μεταβλητές που εμφανίζονται : EPSINC, EPSΤΟΤ, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.34 δείχνει τις δύο

προηγούμενες γραφικές παραστάσεις (Incremental water balance error (%),

Cumulative water balance error (%)) σε ένα παράθυρο

Page 111: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 101

Κώδικας MATLAB global Day EPSINC EPSTOT clf figNumber=figure('Name','Water balance errors'); subplot(2,1,1) hold on title(strcat('Incremental water balance error (%)'),'fontsize',15) plot(Day,EPSINC,'B*-') grid on xlabel('Day') ylabel('Incremental water balance error (%)') legend('Incremental water balance error (%)') hold off subplot(2,1,2) hold on title(strcat('Cumulative water balance error (%)'),'fontsize',15) plot(Day,EPSTOT,'R.-') grid on xlabel('Day') ylabel('Cumulative water balance error (%)') legend('Cumulative water balance error (%)') hold off

Εικόνα 3.2.34– Water balance error : 2 in one (2 plots) (2 γραφικές παραστάσεις σε μία)

Page 112: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 102

3.2.2.6.20 Cum. precipitation/irrigation (cm) per day (Αθροιστική βροχόπτωση / άρδευση (cm) σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : CUMACTPRECperDAY

Μεταβλητές που εμφανίζονται : CUMACTPREC, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.35 δείχνει την αθροιστική

βροχόπτωση / άρδευση (CUMACTPREC) (σε cm) σε σχέση με την ημέρα του

έτους (Day)

Κώδικας MATLAB global Day CUMACTPREC clf figNumber=figure('Name','Cumulative precipitation and irrigation per day'); hold on title(strcat('Cumulative precipitation and irrigation per day'),'fontsize',20) plot(Day,CUMACTPREC,'R.-','LineWidth',1) grid on xlabel('Day') ylabel('Cumulative precipitation and irrigation (cm)') legend('Cumulative precipitation and irrigation (cm)') hold off

Page 113: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 103

Εικόνα 3.2.35– Αθροιστική βροχόπτωση / άρδευση σε σχέση με την ημέρα του έτους

3.2.2.6.21 Cum. potential and actual transpiration (cm) per day (Αθροιστική δυναμική και πραγματική διαπνοή (cm) σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : CUMTRANSperDAY

Μεταβλητές που εμφανίζονται : CUMPOTTRANS, CUMACTTRANS, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.36 δείχνει την αθροιστική

δυναμική (CUMPOTTRANS) (σε cm) και την αθροιστική πραγματική

(CUMACTTRANS) (σε cm) διαπνοή σε σχέση με την ημέρα του έτους (Day)

Κώδικας MATLAB global Day CUMACTTRANS CUMPOTTRANS clf figNumber=figure('Name','Cumulative potential and actual transpiration per day'); hold on

Page 114: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 104

title(strcat('Cumulative potential and actual transpiration'),'fontsize',20) plot(Day,CUMPOTTRANS,'R.-',Day,CUMACTTRANS) grid on xlabel('Day') ylabel('Cumulative transpiration (cm)') legend('Cumulative potential transpiration (cm)','Cumulative actual transpiration (cm)') hold off

Εικόνα 3.2.36– Δυναμική και πραγματική διαπνοή σε σχέση με την ημέρα του έτους

3.2.2.6.22 Cum. potential and actual evaporation (cm) per day (Αθροιστική δυναμική και πραγματική εξάτμιση (cm) από την επιφάνεια του εδάφους σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : CUMEVAPperDAY

Μεταβλητές που εμφανίζονται : CUMPOTEVAP, CUMACTEVAP, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.37 δείχνει την αθροιστική

δυναμική (CUMPOTEVAP) (σε cm) και την αθροιστική πραγματική

Page 115: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 105

(CUMACTEVAP) (σε cm) εξάτμιση από την επιφάνεια του εδάφους σε σχέση με

την ημέρα του έτους (Day)

Κώδικας MATLAB global Day CUMPOTEVAP CUMACTEVAP clf figNumber=figure('Name','Cumulative potential and actual evaporation per day'); hold on title(strcat('Cumulative potential and actual evaporation per day'),'fontsize',20) plot(Day,CUMPOTEVAP,'R.-',Day,CUMACTEVAP) grid on xlabel('Day') ylabel('Cumulative evaporation (cm)') legend('Cumulative potential evaporation','Cumulative actual evaporation (cm)') hold off

Εικόνα 3.2.37– Αθροιστική δυναμική και πραγματική εξάτμιση από την επιφάνεια του εδάφους σε

σχέση με την ημέρα του έτους

Page 116: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 106

3.2.2.6.23 Cum. flux through top and bottom boundary (cm) per day (Αθροιστική ροή δια μέσου το επάνω και του κάτω ορίου (cm) σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : CUMQTPandQBTperDAY

Μεταβλητές που εμφανίζονται : CUMQTP, CUMQBT, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.38 δείχνει την αθροιστική

ροή δια μέσου του επάνω (CUMQTP) (σε cm) και του κάτω ορίου (CUMQBT)

(σε cm) σε σχέση με την ημέρα του έτους (Day)

Κώδικας MATLAB global Day CUMQTP CUMQBT clf figNumber=figure('Name','Cumulative flux through top and bottom boundary per day'); subplot(2,1,1) hold on title(strcat('Cumulative flux through top boundary per day'),'fontsize',18) plot(Day,CUMQTP,'R.-') grid on xlabel('Day') ylabel('Cumulative flux through top boundary (cm)') legend('Cumulative flux through top boundary (cm)') hold off subplot(2,1,2) hold on title(strcat('Cumulative flux through bottom boundary per day'),'fontsize',18) plot(Day,CUMQBT) grid on xlabel('Day') ylabel('Cumulative flux through bottom boundary (cm)') legend('Cumulative flux through bottom boundary (cm)') hold off

Page 117: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 107

Εικόνα 3.2.38– Αθροιστική ροή δια μέσου του επάνω και κάτω ορίου σε σχέση με την ημέρα του

έτους

3.2.2.6.24 Cum. water balance results : 4 in one (5 plots)

Όνομα συνάρτησης : FOURINONECUMWATERBAL

Μεταβλητές που εμφανίζονται : CUMACTPREC, CUMPOTTRANS,

CUMACTTRANS, CUMPOTEVAP, CUMACTEVAP, CUMQTP,

CUMQBT, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.39 δείχνει τις πέντε

προηγούμενες γραφικές παραστάσεις (Cum. Precipitation and irrigation (cm)

per day, Cum. Potential and actual transpiration (cm) per day, Cum.

Potential and actual evaporation (cm) per day, Cum. flux through top and

bottom boundary (cm) per day) σε ένα παράθυρο

Κώδικας MATLAB

Page 118: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 108

global Day CUMACTPREC CUMPOTTRANS CUMACTTRANS CUMPOTEVAP CUMACTEVAP CUMQTP CUMQBT clf figNumber=figure('Name','4 in one cumulative water balance results'); subplot(3,2,1) hold on title(strcat('Cumulative precipitation and irrigation per day'),'fontsize',11) plot(Day,CUMACTPREC,'M.-','LineWidth',1) grid on xlabel('Day') ylabel('Cum.precipitation and irrigation (cm)') legend('Cumulative precipitation and irrigation (cm)') hold off subplot(3,2,2) hold on title(strcat('Cumulative potential and actual evaporation per day'),'fontsize',11) plot(Day,CUMPOTEVAP,'R.-',Day,CUMACTEVAP) grid on xlabel('Day') ylabel('Cum. evaporation (cm)') legend('Cumulative potential evaporation','Cumulative actual evaporation (cm)') hold off subplot(3,2,3) hold on title(strcat('Cumulative potential and actual transpiration'),'fontsize',11) plot(Day,CUMPOTTRANS,'R.-',Day,CUMACTTRANS) grid on xlabel('Day') ylabel('Cum. transpiration (cm)') legend('Cumulative potential transpiration (cm)','Cumulative actual transpiration (cm)') hold off subplot(3,2,4) hold on title(strcat('Cumulative flux through top boundary per day'),'fontsize',11) plot(Day,CUMQTP,'R.-') grid on xlabel('Day') ylabel('Cum. flux through top boundary (cm)') legend('Cumulative flux through top boundary (cm)') hold off subplot(3,2,5) hold on title(strcat('Cum. flux through bottom boundary per day'),'fontsize',11) plot(Day,CUMQBT)

Page 119: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 109

grid on xlabel('Day') ylabel('Cum. flux through bottom boundary (cm)') legend('Cumulative flux through bottom boundary (cm)') hold off

Εικόνα 3.2.39– Cum. water balance results : 4 in one (5 plots) (4 γραφικές παραστάσεις σε μία)

3.2.2.6.25 Potential evapotranspiration (mm/day) per day (Δυναμική εξατμισοδιαπνοή (mm/day) σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : DAYperPET

Μεταβλητές που εμφανίζονται : PET, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.40 δείχνει την δυναμική

εξατμισοδιαπνοή (PET) (σε mm/day) σε σχέση με την ημέρα του έτους (Day)

Κώδικας MATLAB global Day PET clf figNumber=figure('Name','Potential evapotranspiration');

Page 120: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 110

hold on title(strcat('Potential evapotranspiration per day'),'fontsize',20) plot(Day,PET,'B*-','LineWidth',1) grid on xlabel('Day') ylabel('Potential evapotranspiration (mm/day)') legend('Potential evapotranspiration (mm/day)') hold off

Εικόνα 3.2.40– Δυναμική εξατμισοδιαπνοή σε σχέση με την ημέρα του έτους

3.2.2.6.26 Reference crop evapotranspiration (mm/day) per day (Εξατμισοδιαπνοή αναφοράς (mm/day) σε σχέση με την ημέρα του έτους)

Όνομα συνάρτησης : DAYperETR

Μεταβλητές που εμφανίζονται : ETR, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.41 δείχνει την

εξατμισοδιαπνοή αναφοράς (ETR) (σε mm/day) σε σχέση με την ημέρα του

έτους (Day)

Page 121: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 111

Κώδικας MATLAB global Day ETR clf figNumber=figure('Name','Reference crop evapotranspiration'); hold on title(strcat('Reference crop evapotranspiration per day'),'fontsize',20) plot(Day,ETR,'R.-','LineWidth',1) grid on xlabel('Day') ylabel('Reference crop evapotranspiration (mm/day)') legend('Reference crop evapotranspiration (mm/day)') hold off

Εικόνα 3.2.41– Εξατμισοδιαπνοή αναφοράς σε σχέση με την ημέρα του έτους

3.2.2.6.27 Evapotranspiration : 2 in one (2 plots)

Όνομα συνάρτησης : TWOinONEEVAPOTRANS2

Μεταβλητές που εμφανίζονται : PET, ETR, Day

Page 122: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 112

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.42 δείχνει τις δύο

προηγούμενες γραφικές παραστάσεις (Potential evapotranspiration (mm/day)

per day, Reference crop evapotranspiration (mm/day) per day) σε σχέση με

την ημέρα του έτους (Day)

Κώδικας MATLAB global Day PET ETR clf figNumber=figure('Name','Potential and reference crop evapotranspiration'); subplot(2,1,1) hold on title(strcat('Potential evapotranspiration per day'),'fontsize',15) plot(Day,PET,'B*-') grid on xlabel('Day') ylabel('Evapotranspiration (mm/day)') legend('Potential evapotranspiration (mm/day)') hold off subplot(2,1,2) hold on title(strcat('Reference crop evapotranspiration per day'),'fontsize',15) plot(Day,ETR,'R.-') grid on xlabel('Day') ylabel('Evapotranspiration (mm/day)') legend('Refence crop evapotranspiration (mm/day)') hold off

Page 123: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 113

Εικόνα 3.2.42– Evapotranspiration : 2 in one (2 plots) (2 γραφικές παραστάσεις σε μία σελίδα)

3.2.2.6.28 Evapotranspiration : 2 in one (1 plot)

Όνομα συνάρτησης : TWOinONEEVAPOTRANS

Μεταβλητές που εμφανίζονται : PET, ETR, Day

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.43 δείχνει τις γραφικές

παραστάσεις των παραγράφων 3.2.2.6.25 και 3.2.2.6.26 (Potential

evapotranspiration (mm/day) per day, Reference crop evapotranspiration

(mm/day) per day). Είναι ανάλογη με την προηγούμενη (3.2.2.6.27) με τη μόνη

διαφορά ότι η προηγούμενη εμφανίζει την εξατμισοδιαπνοή αναφοράς και τη

δυναμική σε δύο γραφικές παραστάσεις, ενώ η συγκεκριμένη εμφανίζει τα δεδομένα

μας σε μία γραφική παράσταση

Κώδικας MATLAB global Day ETR PET clf

Page 124: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 114

figNumber=figure('Name','Potential and reference crop evapotranspiration'); hold on title(strcat('Potential and Reference crop evapotranspiration per day'),'fontsize',20) plot(Day,PET,'B*-',Day,ETR,'R.-') grid on xlabel('Day') ylabel('Evapotranspiration (mm/day)') legend('Potential evapotranspiration (mm/day)','Refence crop evapotranspiration (mm/day)') hold off

Εικόνα 3.2.43– Evapotranspiration : 2 in one (2 plots) (2 γραφικές παραστάσεις σε μία γραφική)

3.2.2.6.29 Water content profile (3D) (Τρισδιάστατο προφίλ περιεχόμενης υγρασίας)

Όνομα συνάρτησης : WC3D

Μεταβλητές που εμφανίζονται : WaterContent, Depth, Day

Page 125: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 115

Η γραφική παράσταση που απεικονίζεται στην εικόνα 3.2.44 μας δείχνει σε

τρισδιάστατο σύστημα αξόνων την εδαφική υγρασία (WaterContent) (σε (%)), το

βάθος (Depth) (σε cm) καθώς και την ημέρα του έτους (Day).

Η διαφορά της συνάρτησης WC3D από όλες τις άλλες (παράγραφος 3.2.2.6.1) είναι

ότι για να εμφανίσουμε τρισδιάστατα γραφικά κάνουμε χρήση της εντολής surfc

(παράγραφος 3.1.3), με τη μορφή surfc(Depth,Day,WaterContent*100)

Κώδικας MATLAB global WaterContent Depth Day clf figNumber=figure('Name','Water content profile'); hold on title(strcat('Water content profile'),'fontsize',20) surfc(Depth,Day,WaterContent*100) az=-36; el=0; view(az,el); rotate3d on grid on xlabel('Depth of each nodal point (cm)') ylabel('Day') zlabel('Moisture (%)') colorbar hold off

Page 126: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 116

Εικόνα 3.2.44– Τρισδιάστατο προφίλ περιεχόμενης υγρασίας

3.2.2.6.30 Water content profiles at : ΗΜ/ΝΙΕΣ (Προφίλ περιεχόμενης υγρασίας σε συγκεκριμένες ημερομηνίες)

Όνομα συνάρτησης : WATERCONTENT

Μεταβλητές που εμφανίζονται : WaterContent, Depth, THETS1, UNAVAILSW

Η γραφική παράσταση που απεικονίζεται στις εικόνες 3.2.45α και 3.2.45β μας δείχνει

το προφίλ της περιεχόμενης υγρασίας (WaterContent) (σε %) για κάποιες

συγκεκριμένες ημερομηνίες (τις οποίες επέλεξε ο χρήστης στο 5ο βήμα) σε σχέση με

το βάθος (Depth). Στο προφίλ ακόμη εμφανίζονται το μη διαθέσιμο εδαφικό νερό

(UNAVAILSW) (σε %) (κάτω όριο γραφικής παράστασης) καθώς και η μέγιστη

τιμή της υπολειμματικής υγρασίας κάθε εδαφικού ορίζοντα (θs) (THETS1) (σε %)

(επάνω όριο γραφικής παράστασης)

Κώδικας MATLAB

Page 127: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 117

global Depth WaterContent Day JULINITIALDATE DaysForWaterContentProfiles DAYSPROFILES1 UNAVAILSW JMAX IYIN DEPTH THETS1 LAYER LastNodalPoint1 clf TEMP_UNAVAILSW(1:JMAX)= UNAVAILSW; temporary=1; for i=1:JMAX if LastNodalPoint1(temporary) < i temporary=temporary+1; end TEMP_THETAS(i)=THETS1(temporary); end for temp=1:DaysForWaterContentProfiles figNumber=figure('Name','Water Content profile'); plot([WaterContent((DAYSPROFILES1(temp)-JULINITIALDATE+1),:)]*100,Depth,'b.-',TEMP_UNAVAILSW,Depth,'k.--',100*TEMP_THETAS,Depth,'r.--'); [TEMPDAY,TEMPMONTH]=Jul2Gr(DAYSPROFILES1(temp),IYIN); PrintedDate=[num2str(TEMPDAY) '/' num2str(TEMPMONTH) '/' num2str(IYIN)]; title(['Water content profile at : ' PrintedDate ' (' num2str(DAYSPROFILES1(temp)) ' day)'],'fontsize',18); grid on ylabel('Depth (cm)'); set(gca,'YDir','reverse'); xlabel('Moisture (%)'); legend('Moisture','Unavailable Soil water','Maximum moisture content'); end

Page 128: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 118

Εικόνα 3.2.45α– Προφίλ περιεχόμενης υγρασίας για τις ημέρες που επιλέξαμε

Εικόνα 3.2.45β– Προφίλ περιεχόμενης υγρασίας για τις ημέρες που επιλέξαμε

Page 129: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 119

3.2.3 Μεταβλητές LIQUID

Στον παρακάτω πίνακα παρουσιάζονται τα ονόματα των μεταβλητών που

χρησιμοποιεί το LIQUID. Μαζί με αυτό βλέπουμε το όνομα της αντίστοιχης

μεταβλητής στο SWBACROS (όταν αυτή υπάρχει), τον τύπος της (διπλής ακρίβειας,

πίνακας, string) καθώς και η σημασία της.

Μεταβλητή Liquid

(Μεταβλητή SWBACROS)

Τύπος Σημασία

IDIN

(IDIN)

Double precision

Αρχική ημέρα υπολογισμών (Initial Day)

IMIN

(IMIN)

Double precision

Αρχικός μήνας υπολογισμών (Initial

Month)

IYIN

(IYIN)

Double precision

Αρχικό έτος υπολογισμών (Initial Year)

(IYIN : 1990-2020)

IDLAST

(IDLAST)

Double precision

Τελική ημέρα υπολογισμών (Last Day)

IMLAST

(IMLAST)

Double precision

Τελικός μήνας υπολογισμών (Last

Month)

IYLAST

(IYLAST)

Double precision

Τελικό έτος υπολογισμών (Last Year)

(IYLAST : 1990-2020)

IDTDAY

(IDTDAY)

Double precision

Τρέχουσα ημέρα (Today, Current Day)

IMTDAY

(IMTDAY)

Double precision

Τρέχων μήνας (Current Month)

IYTDAY

(IYTDAY)

Double precision

Τρέχον έτος (Current Year)

METHOD1

(METHOD)

Double precision

Επιλογή της αριθμητικής μεθόδου

Douglas – Jones (METHOD1=1)

(Numerical method : Douglas-Jones

predictor corrector)

Page 130: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 120

METHOD2

(METHOD)

Double precision

Επιλογή της αριθμητικής μεθόδου

Implicit (METHOD2=1)

(SWBACROS’s Numerical method :

Implicit method)

MAXITER

(MAXITER)

Double precision

Μέγιστος αριθμός επαναλήψεων (μόνο

κατά την Implicit μέθοδο) (Maximum

number of iterations (for implicit method

ONLY))

JMAX

(JMAX)

Double precision

Μέγιστος αριθμός κόμβων (Nodal

points) (Maximum number of Nodal

points) (JMAX : 1-20)

DEPTH

(DEPTH)

Double precision

Βάθος ακόρεστης ζώνης εδάφους (σε m)

(Depth of the unsaturated zone from soil

surface)

DTPAR1

(DTPAR)

Double precision

Επιλογή για σταθερό χρονικό βήμα

(DTPAR1=1) (Time steps : Constant

time step)

DTPAR2

(DTPAR)

Double precision

Επιλογή για μεταβλητό χρονικό βήμα

(DTPAR2=1) (Time steps : Variable time

step)

DT2

(DT)

Double precision

Αρχικό χρονικό βήμα για το constant

time step (σε min) (Initial time step for

constant time step)

DT1

(DT)

Double precision

Αρχικό χρονικό βήμα για το variable

time step (σε min) (Initial time step for

variable time step)

DTMIN

(DTMIN)

Double precision

Ελάχιστο χρονικό βήμα για το variable

time step (σε min) (Minimum time step

for variable time step)

DTMAX Double precision

Μέγιστο χρονικό βήμα για το variable

Page 131: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 121

(DTMAX) time step (σε min) (Maximum time step

for variable time step)

ZETA1

(ZETA)

Double precision

Παράμετρος σύγκλισης για το variable

time step (σε min) (Convergence

parameter)

OPT1

(OPT)

Double precision

Επιλογή είδους εκτέλεσης : Εκτέλεση

βελτιστοποίησης (OPT1=1) (Type of run

: Optimization run)

OPT2

(OPT)

Double precision

Επιλογή είδους εκτέλεσης : Κανονική

εκτέλεση (OPT2=1) (Type of run :

Normal run)

LAYER

(LAYER)

Double precision

Αριθμός εδαφικών στρώσεων (Number

of different soil layers) (LAYER: 1-14)

OUTPUTFILE1

(OUT1)

String Αρχείο που περιέχει τα αποτελέσματα του

υδατικού ισοζυγίου του εδάφους (Water

balance results file)

OUTPUTFILE2

(OUT2)

String Αρχείο που περιέχει τα αποτελέσματα

των χαρακτηριστικών του εδαφικού

προφίλ (Soil profile characteristics file)

IBBC1

(IBBC)

Double precision

Επιλογή για γνωστή υπόγεια στάθμη για

την κάτω οριακή συνθήκη (IBBC1=1)

(Bottom boundary condition : Constant

head at the bottom boundary)

IBBC2

(IBBC)

Double precision

Επιλογή για ελεύθερη στράγγιση για την

κάτω οριακή συνθήκη (IBBC2=1)

(Bottom boundary condition : Free

drainage)

IBBC3

(IBBC)

Double precision

Επιλογή για μηδενική ροή για την κάτω

οριακή συνθήκη (IBBC3=1) (Bottom

boundary condition : Zero flux)

Page 132: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 122

IRWUT

(IRWUT)

Double precision

Ενεργοποίηση / απενεργοποίηση της

πρόσληψης νερού από τις ρίζες του φυτού

(IRWUT=1 για ενεργοποιημένη

πρόσληψη) (Activate the root water

uptake term)

MODUPT1

(MODUPT)

Double precision

Επιλογή για χρήση του μοντέλου Feddes

για τη μέγιστη δυνατή πρόσληψη νερού

από τις ρίζες (Smax) (MODUPT1=1)

(Maximum water extraction by roots is

constant with depth : Feddes' model) (για

IRWUT=1)

MODUPT2

(MODUPT)

Double precision

Επιλογή για χρήση του μοντέλου Prasad

για τη μέγιστη δυνατή πρόσληψη νερού

από τις ρίζες (Smax) (MODUPT2=1)

(Maximum water extraction by roots

varies with depth : Prasads' model) (για

IRWUT=1)

PSI1

(PSI1)

Double precision

Σημείο αναεροβίωσης (σε m) για τον

υπολογισμό της πρόσληψης νερού από τις

ρίζες (Anaerobiosis point) (για

IRWUT=1)

PSI2

(PSI2)

Double precision

Κρίσιμο ύψος πίεσης (σε m) (Limiting

Point) (για IRWUT=1)

PSI3

(PSI3)

Double precision

Ύψος πίεσης στην υδατοϊκανότητα (σε

m) (Wilting Point) (για IRWUT=1)

DaysForWaterContent

Profiles

(-)

Double precision

Αριθμός ημερών για τις οποίες ο χρήστης

επιθυμεί να δει το εδαφικό προφίλ

(DaysForWaterContentProfiles : 1-9)

IΤBC1

(ITBC)

Double precision

Επιλογή για γνωστό φορτίο για την πάνω

οριακή συνθήκη (ITBC1=1) (Top

Page 133: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 123

boundary condition : Known head)

ITBC2

(ITBC)

Double precision

Επιλογή για γνωστή ροή για την πάνω

οριακή συνθήκη (ITBC2=1) (Top

boundary condition : Known flux)

ITBC3

(ITBC)

Double precision

Επιλογή για ροή δοσμένη από τον

χρήστη για την πάνω οριακή συνθήκη

(ITBC3=1) (Top boundary condition :

User defined flux at the top boundary)

UDFLUX

(UDFLUX)

Double precision

Ροή δοσμένη από τον χρήστη για την

πάνω οριακή συνθήκη (σε m/day) (User

defined flux at the top boundary) (για

ITBC3=1)

SIGMA

(SIGMA)

Double precision

Coefficient in actual evaporation

function (SIGMA) (για ITBC2=1)

PETIND1

(PETIND)

Double precision

Επιλογή για χρήση της τροποποιημένης

μεθόδου Penman για τον υπολογισμό της

δυναμικής εξατμισοδιαπνοής

(PETIND1=1) (Potential

evapotranspiration computation by

modified Penman method)

PETIND2

(PETIND)

Double precision

Επιλογή για να δίνεται η δυναμική

εξατμισοδιαπνοή στο αρχείο εισόδου

PNMETEO (PETIND2=1) (Potential

evapotranspiration computation given

with the input data (PNMETEO)

PETIND3*

(PETIND)

Double precision

Επιλογή για χρήση της μεθόδου

Penman-Montheith για τον υπολογισμό

της δυναμικής εξατμισοδιαπνοής

(PETIND3=1) (Potential

evapotranspiration computation by

Page 134: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 124

modified Penman method)

IPETC

(IPETC)

Double precision

Επιλογή για εξαγωγή ή μη των

παραμέτρων που χρησιμοποιήθηκαν

στον υπολογισμό της εξατμισοδιαπνοής

στο αρχείο OUTFILE1 (ΙPETC=1 για

εξαγωγή) (Parameters used in ETP

computation are printed in first output

file) (για PETIND1=1 ή PETIND3=1)

IAVER1

(IAVER)

Double precision

Επιλογή για τον υπολογισμό της

δυναμικής εξατμισοδιαπνοής κάνοντας

χρήση καθημερινών δεδομένων

(IAVER1=1) (Potential

evapotranspiration computation using

daily data) (για PETIND1=1 ή

PETIND3=1)

IAVER2

(IAVER)

Double precision

Επιλογή για τον υπολογισμό της

δυναμικής εξατμισοδιαπνοής παίρνοντας

τον μέσο όρο των κλιματολογικών

δεδομένων για 10 ημέρες (IAVER2=1)

(Potential evapotranspiration

computation averaging the daily

climatological data over 10 days) (για

PETIND1=1 ή PETIND3=1)

IRS1

(IRS)

Double precision

Επιλογή για τον υπολογισμό της ηλιακής

ακτινοβολίας από το αρχείο δεδομένων

PNMETEO (IRS1=1) (Solar radiation

computation given in PNMETEO) (για

PETIND1=1 ή PETIND3=1)

IRS2

(IRS)

Double precision

Επιλογή για τον υπολογισμό της ηλιακής

ακτινοβολίας από το SWBACROS

Page 135: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 125

(IRS2=1) (Solar radiation computation

computed internally) (για PETIND1=1 ή

PETIND3=1)

VRATIO

(VRATIO)

Double precision

Λόγος της ταχύτητας του ανέμου κατά

τη διάρκεια της ημέρας και της νύχτας

(Ratio of wind speed during day and

night) (για PETIND1=1 ή PETIND3=1)

EXCELEXPORT

(-)

Double precision

Επιλογή για την εξαγωγή των

αποτελεσμάτων του SWBACROS σε

excel αρχείο (για εξαγωγή στο excel

EXCELEXPORT=1)

FirstNodalPoint1(1,j) (LFIRST)

Μονοδιάστατος πίνακας με διαστάσεις (1xLAYER)

Αριθμός του πρώτου κόμβου του κάθε

εδαφικού ορίζοντα (First Nodal Point)

LastNodalPoint1(1,j) (LLAST)

Μονοδιάστατος πίνακας με διαστάσεις (1xLAYER)

Αριθμός του τελευταίου κόμβου του κάθε

εδαφικού ορίζοντα (Last Nodal Point)

AKS1(1,j) (AKS)

Μονοδιάστατος πίνακας με διαστάσεις (1xLAYER)

Οι τιμές της κορεσμένης υδραυλικής

αγωγιμότητας κάθε εδαφικού ορίζοντα

(Saturated hydraulic conductivity)

THETS1(1,j) (THETS)

Μονοδιάστατος πίνακας με διαστάσεις (1xLAYER)

Οι τιμές της υπολειμματικής υγρασίας

(θs) κάθε εδαφικού ορίζοντα (Saturated

moisture content)

THETD1(1,j) (THETD)

Μονοδιάστατος πίνακας με διαστάσεις (1xLAYER)

Οι τιμές της περιεχόμενης στο έδαφος

υγρασίας κατ’ όγκο (θ) κάθε εδαφικού

ορίζοντα (Moisture content of dried soil)

AV1(1,j) (AV)

Μονοδιάστατος πίνακας με διαστάσεις (1xLAYER)

Συντελεστής α προσδιοριζόμενος από την

χαρακτηριστική καμπύλη στην εξίσωση

Van Genuchten κάθε εδαφικού ορίζοντα

(Coefficient a of Van Genuchten model

(1/cm))

ANV1(1,j) Μονοδιάστατος πίνακας με

Εμπειρική παράμετρος n

Page 136: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 126

(ANV) διαστάσεις (1xLAYER)

προσδιοριζόμενη από την χαρακτηριστική

καμπύλη στην εξίσωση Van Genuchten

κάθε εδαφικού ορίζοντα (Coefficient n of

Van Genuchten model)

SizeNodalPoints1(1,j) (DELZ)

Μονοδιάστατος πίνακας με διαστάσεις (1xJMAX)

Μέγεθος (σε m) κάθε κελιού (Size of each

cell)

InitialY1(1,j) (Y)

Μονοδιάστατος πίνακας με διαστάσεις (1xJMAX)

Οι τιμές των αρχικών τιμών της

αρνητικής πίεσης (σε m) κάθε κόμβου

(Initial value of negative pressure (m))

INITIALDATE

(-)

String Αρχική ημερομηνία υπολογισμών (σε

γρηγοριανό ημερολόγιο) (π.χ.

‘30/12/2005’)

LASTDATE

(-)

String Τελική ημερομηνία υπολογισμών (σε

γρηγοριανό ημερολόγιο (π.χ.

‘31/12/2005’)

JULINITIALDATE

(-)

Double precision

Αρχική ημερομηνία υπολογισμών (σε

ημέρα του έτους (π.χ. 364))

JULLASTDATE

(-)

Double precision

Τελική ημερομηνία υπολογισμών (σε

ημέρα του έτους (π.χ. 365))

DAYSPROFILES1(1,j) (-)

Μονοδιάστατος πίνακας με διαστάσεις (1xDaysForWaterContentProfiles)

Περιέχει τις ημερολογιακές ημέρες για

τις οποίες ο χρήστης επιθυμεί να δει το

εδαφικό προφίλ

UNAVAILSW

(-)

Double precision

Μη διαθέσιμο εδαφικό νερό (Unavailable

Soil water)

Depth(1,j) (DP1)

Μονοδιάστατος πίνακας με διαστάσεις (1xJMAX)

Βάθος (σε m) κάθε κόμβου (Depth of

each nodal point)

AK(1,j) (AKS)

Μονοδιάστατος πίνακας με διαστάσεις (1xJMAX)

Αρχική υδραυλική αγωγιμότητα (m/day)

(Hydraulic conductivity of unsaturated

soil)

Page 137: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 127

INITIALMOISTURE(

1,j) (THETA)

Μονοδιάστατος πίνακας με διαστάσεις (1xJMAX)

Αρχική υγρασία του εδάφους (Initial

moisture)

Y(1,j) (Y)

Μονοδιάστατος πίνακας με διαστάσεις (1xJMAX)

Αρχική αρνητική πίεση του εδαφικού

νερού (σε m) (Negative pressure of the

soil water)

ETR(1,j) (ETR)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Εξατμισοδιαπνοή αναφοράς (σε

mm/day) (Reference crop

evapotranspiration)

PET(1,j) (PET)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Δυναμική εξατμισοδιαπνοή (σε mm/day)

(Potential evapotranspiration)

SC(1,j) (SC)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Εδαφοκάλυψη (0.0 – 1.0) (Soil cover)

ROOTDP(1,j) (ROOTDP)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Βάθος ριζικού συστήματος (σε m) (Root

depth)

ALAI(1,j) (ALAIN)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Δείκτης φυλλικής επιφάνειας (Leaf area

index)

YMIN(1,j) (YMIN)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Ελάχιστη πίεση εδαφικού νερού (σε m)

(Minimum pressure)

AINTER(1,j) (AINTER)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Υδατοσυγκράτηση (σε mm/day)

(Intercepted rain)

Day(1,j) (ΝΤΙΜ)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Ημέρα του έτους (Calendar day)

WCEND(1,j) (VOL1)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Ποσότητα εδαφικού νερού στο τέλος της

ημέρας (σε cm) (Water content at the end

of the day)

ACTPREC(1,j) (RAIN)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Βροχόπτωση και άρδευση (σε cm)

(Actual precipitation)

POTTRANS(1,j) Μονοδιάστατος πίνακας με διαστάσεις

Δυναμική διαπνοή (σε cm) (Potential

Page 138: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 128

(PTR) (1xNoD **) transpiration)

ACTTRANS(1,j) (ATR)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Πραγματική διαπνοή (σε cm) (Actual

transpiration)

POTEVAP(1,j) (EV)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Δυναμική εξάτμιση (σε cm) (Potential

evaporation)

ACTEVAP(1,j) (EVA)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Πραγματική εξάτμιση (σε cm) (Actual

evaporation)

QTP(1,j) (QTPOD)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Ροή δια μέσου του επάνω ορίου (σε cm)

(Flux through top boundary)

QBT(1,j) (QBTOD)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Ροή δια μέσου του κάτω ορίου (σε cm)

(Flux through bottom boundary)

EPSINC(1,j) (EPSINC)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Αυξητικό λάθος υδατικού ισοζυγίου (%)

(Incremental water balance error)

CUMACTPREC(1,j) (CUMRAI)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Αθροιστική βροχόπτωση και άρδευση

(σε cm) (Cumulative actual precipitation)

CUMPOTTRANS(1,j) (CUMPTR)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Αθροιστική δυναμική διαπνοή (σε cm)

(Cumulative potential transpiration)

CUMACTTRANS(1,j) (CUMATR)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Αθροιστική πραγματική διαπνοή (σε cm)

(Cumulative actual transpiration)

CUMPOTEVAP(1,j) (CUMEV)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Αθροιστική δυναμική εξάτμιση (σε cm)

(Cumulative potential evaporation)

CUMACTEVAP(1,j) (CUMEVA)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Αθροιστική πραγματική εξάτμιση (σε

cm) (Cumulative actual evaporation)

CUMQTP(1,j) (QTPTOT)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Αθροιστική ροή δια μέσου του επάνω

ορίου (σε cm) (Cumulative flux through

top boundary)

CUMQBT(1,j) (QBTTOT)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Αθροιστική ροή δια μέσου του κάτω

ορίου (σε cm) (Cumulative flux through

bottom boundary)

Page 139: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 129

EPSTOT(1,j) (EPSTOT)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Αθροιστικό λάθος υδατικού ισοζυγίου

(%) (Cumulative water balance error)

NodalPoints(1,j) (-)

Μονοδιάστατος πίνακας με διαστάσεις (1xJMAX)

Κόμβοι των εδαφικών προφίλ (Nodal

points number)

WaterContent(k,j) (THETA)

Πίνακας με διαστάσεις (1xDepth, 1xNoD **)

Ποσότητα εδαφικού νερού (για κάθε

κόμβο και για όλες τις ημέρες) (Water

Content)

DEPTHVar(1,j)

(-)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Οι τιμές του βάθους της ακόρεστης

ζώνης του εδάφους (σε m) για κάθε ημέρα

του έτους

JMAXVar(1,j)

(-)

Μονοδιάστατος πίνακας με διαστάσεις (1xNoD **)

Οι τιμές του μέγιστου αριθμού κόμβων

για κάθε ημέρα του έτους

* η επιλογή PETIND3 για τον υπολογισμό της δυναμικής εξατμισοδιαπνοής με τη

μέθοδο του Penman-Monteith μπήκε για τη μελλοντική δυνατότητα του

SWBACROS να υπολογίζει την εξατμισοδιαπνοή με τη μέθοδο των Penman-

Montheith. Προς το παρόν η επιλογή αυτή δίνει τα ίδια αποτελέσματα με αυτά της

τροποποιημένης μεθόδου Penman.

** NoD (Number of Days) : δεν είναι μεταβλητή του liquid αλλά, χάριν συντομίας,

συμβολίζει τον αριθμό των ημερών για τις οποίες εκτελείται το πρόγραμμα (η

αντίστοιχη μεταβλητή για το SWBACROS είναι η NRDAYS)

3.2.4 Παρεμβάσεις LIQUID στον κώδικα του SWBACROS

Οι παρεμβάσεις στον κώδικα του SWBACROS έγιναν για την εξαγωγή, εκτός

των δύο αρχείων αποτελεσμάτων του SWBACROS, εφτά νέων αρχείων σε τέτοια

μορφή ώστε να διαβάζονται από το LIQUID.

Page 140: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 130

Δημιουργούνται έτσι τα εξής αρχεία τα οποία περιέχουν και τις παρακάτω

αναφερόμενες μεταβλητές.

1) INITSOIL.TXT

Initial Soil Profile Data

Το αρχείο αυτό περιέχει τα δεδομένα που εμφανίζονται στην ομάδα γραφικών

παραστάσεων Initial Soil Profile Data και περιέχει σε τέσσερις στήλες τις

μεταβλητές :

Depth, AK, INITIALMOISTURE, Y

2) EVAPOTRANS.TXT

Reference and potential evapotranspiration

Το αρχείο αυτό περιέχει τα δεδομένα που εμφανίζονται στην ομάδα γραφικών

παραστάσεων Reference and potential evapotranspiration και περιέχει σε δύο

στήλες τις μεταβλητές :

ETR, PET

3) DAYSCRDetc.TXT

Soil cover, Root Depth, Leaf Area Index, Minimum pressure

Tο αρχείο αυτό περιέχει τα δεδομένα που εμφανίζονται στην ομάδα γραφικών

παραστάσεων Soil cover, Root Depth, Leaf Area Index, Minimum pressure

και περιέχει σε πέντε στήλες τις μεταβλητές :

SC, ROOTDP, ALAI, YMIN, AINTER

4) WATERBAL.TXT

Water balance results

Το αρχείο αυτό περιέχει τα δεδομένα που εμφανίζονται στην ομάδα γραφικών

παραστάσεων Water balance results και περιέχει σε δεκαοχτώ στήλες τις

μεταβλητές :

Page 141: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 131

Day, WCEND, ACTPREC, POTTRANS, ACTTRANS, POTEVAP,

ACTEVAP, QTP, QBT, EPSINC, CUMACTPREC, CUMPOTTRANS,

CUMACTTRANS, CUMPOTEVAP, CUMACTEVAP, CUMQTP,

CUMQBT, EPSTOT

5) PROFILE.TXT

Water content profiles

Tο αρχείο αυτό περιέχει τα δεδομένα που εμφανίζονται στην ομάδα γραφικών

παραστάσεων Water content profiles και περιέχει τις τιμές της μεταβλητής :

WaterContent

6) NODAL.TXT

Το αρχείο αυτό περιέχει τις τιμές της μεταβλητής :

NodalPoints

7) DEPTHJMAXVAR.TXT

Το αρχείο αυτό περιέχει τις τιμές των μεταβλητών :

DEPTHVar, JMAXVar

Όλες οι παρεμβάσεις που έγιναν στα κώδικα του SWBACROS είναι οι

ακόλουθες:

Στο αρχείο sink1e.f90 :

!

! LL II QQQQ UU UU II DDDD

! LL II Q Q UU UU II DD D

! LLLL II QQQQQ UUUUU II DDDD

!

OPEN(115,FILE='WATERBAL.txt')

WRITE(115,1920)

OPEN(113,FILE='INITSOIL.txt')

Page 142: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 132

WRITE(113,1950)(DP1(J)*100,AK(J),THETA(J),Y(J),J=1,JMAX)

1950 FORMAT('INITIAL SOIL PROFILE DATA'/,'DEPTH(CM) AK(M/DAY)

INITIAL MOISTURE Y (M)'//(F5.1,4X,2E13.4,9X,F7.3))

1920 FORMAT('WATER BALANCE RESULTS'/21('*')&

&//'1-JULIAN DAYNUMBER'&

&/'2-WATER CONTENT OF THE SOIL PROFILE AT THE END OF THE DAY'&

&/'3-PRECIPITATION AND IRRIGATION'&

&/'4-POTENTIAL TRANSPIRATION'&

&/'5-ACTUAL TRANSPIRATION'&

&/'6-POTENTIAL EVAPORATION'&

&/'7-ACTUAL EVAPORATION'&

&/'8-FLUX THROUGH TOP BOUNDARY (+ = IN)'&

&/'9-FLUX THROUGH BOTTOM BOUNDARY (+ = OUT)'&

&/'10-INCREMENTAL ERROR (%)',&

&/'11-CUMULATIVE PRECIPITATION AND IRRIGATION',&

&/'12-CUMULATIVE POTENTIAL TRANSPIRATION',&

&/'13-CUMULATIVE ACTUAL TRANSPIRATION',&

&/'14-CUMULATIVE POTENTIAL EVAPORATION',&

&/'15-CUMULATIVE ACTUAL EVAPORATION',&

&/'16-CUMULATIVE FLUX THROUGH TOP BOUNDARY',&

&/'17-CUMULATIVE FLUX THROUGH BOTTOM BOUNDARY',&

&/'18-CUMULATIVE WATER BALANCE ERROR (%)',&

&//'ALL UNITS IN CM (EXCEPT 10 , 18)'//&

&' 1 2 3 4 5 6

7 8 9 10 11 12

13&

& 14 15 16 17

18'/)

OPEN(14,FILE='NODAL.txt')

WRITE(14,1999)(J,DP1(J)*100,J=1,JMAX)

1999 FORMAT(I4,2X,F8.3)

!

! LL II QQQQ UU UU II DDDD

! LL II Q Q UU UU II DD D

! LLLL II QQQQQ UUUUU II DDDD

!

Page 143: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 133

Στο αρχείο sink1e.f90 στην υπορουτίνα COMPUT :

!

! LL II QQQQ UU UU II DDDD

! LL II Q Q UU UU II DD D

! LLLL II QQQQQ UUUUU II DDDD

!

WRITE(115,1922)NTIM,VOL1*100,RAIN(NTIM)/10,PTR(NTIM)/10,ATR(NT

IM)*100,EV(NTIM)/10,EVA(NTIM)/10,QTPOD*100,QBTOD*100,EPSINC,CU

MRAI/10,CUMPTR/10,CUMATR*100,CUMEV/10,CUMEVA/10,QTPTOT*100,QBT

TOT*100,EPSTOT

1922

FORMAT(T1,I3,T8,F6.2,T20,F5.3,T30,F5.3,T40,F5.3,T50,F5.3,T60,F

5.3,T70,E10.3,T85,E10.3,T98,E10.3,T112,F5.2,T122,F5.2,T132,F5.

2,T142,F5.2,T152,F5.2,T162,E10.3,T176,E10.3,T190,E10.3)

OPEN(116,file='PROFILE.txt')

WRITE(116,1927) (THETA(J),J=1,JMAX)

1927 FORMAT(30F8.3)

!

! LL II QQQQ UU UU II DDDD

! LL II Q Q UU UU II DD D

! LLLL II QQQQQ UUUUU II DDDD

!

και

!

! LL II QQQQ UU UU II DDDD

! LL II Q Q UU UU II DD D

! LLLL II QQQQQ UUUUU II DDDD

!

open(222,file='DEPTHJMAXVAR.txt')

write(222,667) DEPTH,JMAX,NTIM

667 FORMAT(F5.2,3X,I3,3X,I4)

!

! LL II QQQQ UU UU II DDDD

! LL II Q Q UU UU II DD D

Page 144: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 134

! LLLL II QQQQQ UUUUU II DDDD

!

Στο αρχείο sinkip.f90 στην υπορουτίνα PETP :

!

! LL II QQQQ UU UU II DDDD

! LL II Q Q UU UU II DD D

! LLLL II QQQQQ UUUUU II DDDD

!

OPEN(112,FILE='EVAPOTRANS.txt')

WRITE(112,1970)

WRITE(112,1972)(ETR(I),PET(I),I=JULIN,JULIN+NRDAYS)

1970 FORMAT('REFERENCE AND POTENTIAL EVAPOTRANSPIRATION

(MM/DAY)'/2X,'ETR',6X,'PET'/)

1972 FORMAT(1X,F5.2,4X,F5.2)

!

! LL II QQQQ UU UU II DDDD

! LL II Q Q UU UU II DD D

! LLLL II QQQQQ UUUUU II DDDD

!

Στο αρχείο sinkp9.f90 στην υπορουτίνα TITUNS :

!

! LL II QQQQ UU UU II DDDD

! LL II Q Q UU UU II DD D

! LLLL II QQQQQ UUUUU II DDDD

!

OPEN(111,FILE='DAYSCRDetc.txt')

IF(IRWUT.EQ.1)THEN

WRITE(111,1969)

WRITE(111,1971)(SC(I),ROOTDP(I),ALAI(I),YMIN(I),AINTER(I),&

& I=JULIN,JULIN+NRDAYS)

ENDIF

Page 145: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 135

1969

FORMAT(2X,'SC',2X,'ROOTDP',1X,'ALAI',3X,'YMIN',4X,'AINTER',/7X,'(M)

',10X,'(M)',4X,'(MM/DAY)'/)

1971 FORMAT(1X,F4.2,2X,F4.2,2X,F4.2,2X,F7.0,2X,F5.2)

!

! LL II QQQQ UU UU II DDDD

! LL II Q Q UU UU II DD D

! LLLL II QQQQQ UUUUU II DDDD

!

3.2.5 Αρχεία και εγκατάσταση του LIQUID

Το πρόγραμμα LIQUID εκτός από τα αρχεία (m και fig) που είδαμε στις

προηγούμενες παραγράφους (liquid, LIQUIDstep2, LIQUIDstep3,

LIQUIDstep4, LIQUIDstep5 και LIQUIDmenu) και των αρχείων της

προηγούμενης παραγράφου (3.2.4) (INITSOIL.TXT, EVAPOTRANS.TXT,

DAYSCRDetc.TXT, WATERBAL.TXT, NODAL.TXT, PROFILE.TXT,

DEPTHJMAXVAR.TXT) χρειάζεται και κάποια άλλα αρχεία απαραίτητα για την

εκτέλεση του.

Τα αρχεία αυτά είναι τα παρακάτω :

LIQUIDvars.mat

Το αρχείο LIQUIDvars.mat αποτελεί το αρχείο αποθήκευσης δεδομένων

του LIQUID. Στο αρχείο αυτό αποθηκεύονται σε κάθε βήμα LIQUIDstep2,

LIQUIDstep3, LIQUIDstep4, και LIQUIDstep5 οι μεταβλητές που δίνει ο

χρήστης στις αντίστοιχες φόρμες.

sink1e.exe

Το αρχείο sink1e.exe αποτελεί, όπως είδαμε στην παράγραφο 2.4, το βασικό

αρχείο εκτέλεσης του SWBACROS. Προήλθε από compilation των αρχείων

sink1e.f90, sinkff.f90, sinkip.f90 και sinkp9.f90 μέσα από το περιβάλλον της

Visual Fortran.

Page 146: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 136

templiquid.xls

Το αρχείο templiquid.xls είναι απαραίτητο για την εξαγωγή των

αποτελεσμάτων του SWBACROS σε αρχείο excel.

Το LIQUIDvars.mat και το sink1e.exe είναι απαραίτητα για την εκτέλεση

του LIQUID. Αν για οποιοδήποτε λόγο τα αρχεία αυτά δεν υπάρχουν στο φάκελο

του LIQUID ή έχουν καταστραφεί το LIQUID δεν θα μπορέσει να λειτουργήσει.

Το templiquid.xls μπορεί να παραληφθεί αν ο χρήστης δεν επιθυμεί την

εξαγωγή των αποτελεσμάτων του SWBACROS σε αρχείο excel.

Η εγκατάσταση του LIQUID γίνεται πολύ απλά μεταφέροντας τον φάκελο

LIQUID, του cd-rom που συνοδεύει την πτυχιακή διατριβή, σε φάκελο της

αρεσκείας μας στο σκληρό δίσκο του υπολογιστή μας. Το LIQUID δεν παρουσιάζει

κανένα περιορισμό όσον αφορά το όνομα του φακέλου που εμείς θα επιλέξουμε.

3.2.6 Εξαγωγή – εκτύπωση γραφικών παραστάσεων

Η εξαγωγή των γραφικών παραστάσεων του LIQUID γίνεται με τους εξής

τρόπους.

Ι) Με απευθείας αποθήκευση της γραφικής παράστασης μας σε αρχείο της

επιλογής μας

Επιλέγοντας από το γραμμή μενού File Save (εικόνα 3.2.46), και από τη

γραμμή εργαλείων επιλέγοντας το εικονίδιο της εικόνας 3.2.47

Page 147: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 137

Εικόνα 3.2.46– Αποθήκευση της γραφικής παράστασης

Εικόνα 3.2.47– Αποθήκευση της γραφικής παράστασης

Η MATLAB προσφέρει τη δυνατότητα εξαγωγής των γραφικών παραστάσεων

σε δεκατρία είδη αρχείων, μεταξύ άλλων και σε Adobe Illustrator files (.ai), Bitmap

files (.bmp), JPEG images (.jpg), TIFF files (.tif) καθώς Portable document format

(.pdf) (εικόνα 3.2.48)

Page 148: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 138

Εικόνα 3.2.48– Ορισμός ονόματος και τύπου αρχείου

ΙΙ) Αντιγραφή της γραφικής παράστασης στο πρόχειρο (clipboard)

Η MATLAB για την περίπτωση κατά την οποία επιθυμούμε να μεταφέρουμε

απευθείας τη γραφική μας παράσταση σε κάποια άλλη εφαρμογή (π.χ. Microsoft

Word, Adobe Photoshop) μας δίνει τη δυνατότητα αυτή, επιλέγοντας από τη

γραμμή μενού File Edit Copy Figure (εικόνα 3.2.49). Η γραφική παράσταση

μεταφέρεται στο πρόχειρο (clipboard) και μπορεί εύκολα να μεταφερθεί επιλέγοντας

απλά Paste (επικόλληση) στην εφαρμογή της επιλογής μας.

Page 149: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 139

Εικόνα 3.2.49– Αντιγραφή γραφικής παράστασης στη μνήμη

Για την εκτύπωση των γραφικών παραστάσεων μας μπορούμε, είτε να

επιλέξουμε από την γραμμή εργαλείων κατάλληλο εικονίδιο (εικόνα 3.2.50), είτε

Εικόνα 3.2.50– Εκτύπωση της γραφικής παράστασης

επιλέγοντας από το γραμμή μενού File Print… (εικόνα 3.2.51)

Page 150: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 140

Εικόνα 3.2.51– Εκτύπωση της γραφικής παράστασης

3.2.7 MATLAB Compiler

Ο MATLAB Compiler δίνει τη δυνατότητα στο χρήστη να δημιουργήσει

stand-alone (αυθύπαρκτες) εφαρμογές από το περιβάλλον της MATLAB. Οι

εφαρμογές αυτές δεν απαιτούν την υπάρξη στον υπολογιστή που εγκαθίστανται την

ύπαρξη της MATLAB.

Οι δύο εντολές που συνδυάζονται και μας βοηθούν στη δημιουργία τέτοιων

εφαρμογών είναι η mbuild και η mcc.

Η εντολή mbuild μας βοηθά στο να ορίσουμε τον εξωτερικό compiler που

θα χρησιμοποιήσουμε στην επόμενη εντολή mcc.

Πληκτρολογώντας την εντολή mbuild –setup, η MATLAB ρωτά το

χρήστη για το αν θα ψάξει στο σύστημα μας για τους εγκαταστημένους compilers.

Επιλέγοντας y η MATLAB εμφανίζει τους compilers του συστήματος μας (στην

περίπτωση μας είναι οι : Lcc C version 2.4, Microsoft Visual C/C++ version 6.0).

Αμέσως μετά η εντολή mbuild μας ζητά να ορίσουμε έναν από τους compilers που

Page 151: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 141

θα χρησιμοποιήσουμε. Στο compilation του LIQUID επιλέχθηκε ο δεύτερος

compiler (Microsoft Visual C/C++ version 6.0). >> mbuild -setup Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n? y Select a compiler: [1] Lcc C version 2.4 in C:\MATLAB7\sys\lcc [2] Microsoft Visual C/C++ version 6.0 in C:\Program Files\Microsoft Visual Studio [0] None Compiler: 2 Please verify your choices: Compiler: Microsoft Visual C/C++ 6.0 Location: C:\Program Files\Microsoft Visual Studio Are these correct?([y]/n): y Try to update options file: C:\Documents and Settings\fmayakos\Application Data\MathWorks\MATLAB\R14\compopts.bat From template: C:\MATLAB7\BIN\WIN32\mbuildopts\msvc60compp.bat Done . . . --> "C:\MATLAB7\bin\win32\mwregsvr C:\MATLAB7\bin\win32\mwcomutil.dll" DllRegisterServer in C:\MATLAB7\bin\win32\mwcomutil.dll succeeded --> "C:\MATLAB7\bin\win32\mwregsvr C:\MATLAB7\bin\win32\mwcommgr.dll" DllRegisterServer in C:\MATLAB7\bin\win32\mwcommgr.dll succeeded

Η δεύτερη εντολή mcc (MATLAB to C/C++ Compiler) όπως φανερώνει

και το όνομα της μετατρέπει τον κώδικα της MATLAB σε C/C++ κώδικα και

μέσω του εξωτερικού compiler, που επιλέξαμε στην εντολή mbuild, μετατρέπει τον

κώδικα C/C++ σε stand-alone εφαρμογή.

Η σύνταξη της εντολής mcc είναι η ακόλουθη :

Page 152: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 142

mcc –m ΒΑΣΙΚΟ_ΑΡΧΕΙΟ.m ΠΡΟΣΘΕΤΟ_ΑΡΧΕΙΟ1.m ΠΡΟΣΘΕΤΟ_ΑΡΧΕΙΟ2.m …

Για το compilation του LIQUID κάνουμε χρήση της παρακάτω εντολής mcc –m liquid.m LIQUIDstep2.m LIQUIDstep3.m LIQUIDstep4.m

LIQUIDstep5.m LIQUIDmenu.m

Η παραπάνω εντολή δημιουργεί τα αρχεία liquid.exe και liquid.ctf

(corresponding CTF file) από τα αρχεία liquid.m, LIQUIDstep2.m,

LIQUIDstep3.m, LIQUIDstep4.m, LIQUIDstep5.m και LIQUIDmenu.m.

Το αρχείο ctf είναι απαραίτητο για την εκτέλεση του liquid.exe.

Για την εκτέλεση των δύο παραπάνω αρχείων (liquid.exe, liquid.ctf)

χρειάζονται και οι βιβλιοθήκες (dll files) γραφικών και μαθηματικών συναρτήσεων

της MATLAB. Οι βιβλιοθήκες αυτές βρίσκονται συγκεντρωμένες στο αρχείο

MCRinstaller.exe (MATLAB Component Runtime Installer). Το αρχείο αυτό

βρίσκεται στον φάκελο $MATLAB\toolbox\compiler\deploy\win32, όπου

$MATLAB είναι ο φάκελος στον οποίο έχει εγκατασταθεί η MATLAB (π.χ.

C:\MATLAB7) ή στο φάκελο MCRinstaller του cd-rom που συνοδεύει την εργασία.

Η εγκατάσταση του MCRinstaller περιγράφεται στα παράκατω εικόνες :

Εικόνα 3.2.52– Αρχικό interface εγκατάστασης του MATLAB Component Runtime

Page 153: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 143

Εικόνα 3.2.53– Δεύτερο βήμα της εγκατάστασης του MATLAB Component Runtime

Εικόνα 3.2.54– Επιλογή για τη θέση (φάκελο) στην οποία θα εγκαταστήσουμε το MATLAB

Component Runtime

Page 154: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 144

Εικόνα 3.2.55– Τελευταίο βήμα πριν τη έναρξη αντιγραφής των αρχείων

Εικόνα 3.2.56– Πρόοδος εγκατάστασης του MATLAB Component Runtime

Page 155: BSc Thesis / Πτυχιακη διατριβη

Κεφάλαιο 3 LIQUID 145

Εικόνα 3.2.57– Τέλος εγκατάστασης του MATLAB Component Runtime

Μετά την εγκατάσταση του MATLAB Component Runtime μπορούμε να

εκτελέσουμε το αρχείο liquid.exe σε ένα υπολογιστή που δεν έχει εγκαταστημένη τη

MATLAB. Μπορούμε δηλαδή με τα αρχεία liquid.exe και liquid.ctf, μαζί με τα

αρχεία του που περιγράφτηκαν στις παραγράφους 3.2.4 και 3.2.5 και τα αρχεία του

SWBACROS, να χρησιμοποιήσουμε το LIQUID σε οποιοδήποτε υπολογιστή

επιθυμούμε. Τέλος το MATLAB Component Runtime χρειάζεται να εγκατασταθεί

μόνο μία φορά στο υπολογιστή που επιθυμούμε να χρησιμοποιήσουμε το LIQUID.

Για περισσότερες πληροφορίες για τις παραπάνω εντολές της MATLAB ο

αναγνώστης παραπέμπεται στα Matlab Reference Book: Function Reference

Volume 2 F-O και Matlab Compiler : User’s Guide.

Page 156: BSc Thesis / Πτυχιακη διατριβη

Βιβλιογραφία 146

Βιβλιογραφία

Al-Khafaf, S., P. J. Wierenga, amd B.C. Williams, 1978, ''Evaporative Flux

from Irrigated cotton as related to leaf area index, soil water and evaporative

demand'', Agronomy Journal, 70, pp. 912-917

Antonopoulos, V., 1994, ''Simulation of Water and Nitrogen Dynamics in

Soils During Wastewater Applications by Using a Finite-Element Model'', Water

Res. Manag. ,7 pp 237-251

Antonopoulos, V., 1994, ''Simulation of Water and Nitrogen Dynamics in a

Grassland Irrigated with Wastewater'', in G. Tsakiris and M.A. Santos (ed.),

Advances in Water Resources Technology and Management, A.A. Balkema,

Rotterdam, Brookfiled, pp 263-268

Antonopoulos, V., 1997, ''Simulation of soil Moisture Dynamics on

Irrigated Cotton in Semi-Arid Climates'', Agric. Water Manag., 34, pp 233-246

Babajimopoulos, C., 1991, ''A Douglas-Jones Predictor-Corrector Program

in Simulating One-Dimensional unsaturated flow in soil'', 29,2, pp. 271-286

Babajimopoulos, C., 1996, ''SWBACROS : Simulation of the water balance

of a cropped soil'', Department of Hydraulics, Soil Science and Agricultural

Engineering, Aristotle University of Thessaloniki, Greece

Babajimopoulos, C., 2000, ''Revisiting the Douglas-Jones method for

modelling unsaturated flow in a cultivated soil'' Environmental Modeling &

Software, Elsevier

Babajimopoulos, C., A. Budina, D. Kalfountzos, 1995, ''SWBACROS : A

model for estimation of the water balance of a cropped soil'', Environ. Soft. 10(3),

pp 211-220

Babajimopoulos, C., S. Kavalieratou, 2004, ''Ground water management by

mathematical models'', 2nd International Conference on Information Systems &

Innovative Technologies in agriculture, food and environment, HAICTA 2004,

Thessaloniki, Greece

Page 157: BSc Thesis / Πτυχιακη διατριβη

Βιβλιογραφία 147

Babajimopoulos, C., A. Panoras, I. Mavroudis, and G. Bilas, 1996, ''The

computation of the water balances and the modelling of the irrigation schedule of

a cotton crop with model SWBACROS'', Hydraulic Engineering Software,

Hydrosoft 96, (ed.) W.R. Blain, Computational Mechanics Publications, pp 183-

192

Babajimopoulos, C., A. Panoras, 2004, ''Estimation of the water balance of

cultivated soils by mathematical models'', 2nd International Conference on

Information Systems & Innovative Technologies in agriculture, food and

environment, HAICTA 2004, Thessaloniki, Greece

Belmans, C., J.C. Wesseling, and R.A. Feddes, 1983, ''Simulation Model of

the Water Balance of a Cropped Soil : SWATRE'', Journal of Hydrology, 63, pp

271-286

Black, T.A., W.R. Gardner, and G.W. Thurtell, 1969, ''The prediction of

Evaporation, Drainage and Soil Water Storage for a Bare Soil'', Soil. Sci. Soc.

Amer. Proc., 33, pp 655-660

Beadford, S. and J. Letey, 1992, ''Simulated Effects of Water Table and

Irrigation Scheduling as Factors in Cotton Production'', Irrigation Science, 13, pp

101-107

Bressler, E. and H. Dagan, 1988, ''Variability of Yield of an Irrigated Crop

and Its Causes 1.Statement of the problem and Methodology'', Water Res. Resear.,

24, 3, pp 381-387

Bressler, E. and H. Dagan, 1988, ''Variability of Yield of an Irrigated Crop

and Its Causes 2.Input Data and Illustration of Results'', Water Res. Resear., 24, 3,

pp 389-394

Bressler, E. and H. Dagan, 1988, ''Variability of Yield of an Irrigated Crop

and Its Causes 3.Numerical Simulation and Field Results'', Water Res. Resear., 24,

3, pp 395-401

Brinson, N. and A. Perrier, 1991, ''A Semiempirical Model of Bare Soil

Evaporation for Crop Simulation Modes'', Water Res. Resear., 27, 5, pp 719-727

Page 158: BSc Thesis / Πτυχιακη διατριβη

Βιβλιογραφία 148

Bruch, J.C., and G. Zyvoloski, 1973, ''Solution of Equation for Vertical

Unsaturated Flow'', Soil Sci., 116, pp 417-422

Marchand, P., O.T. Holland, 2003, ''Graphics and GUIs with MATLAB :

Third Edition'', Chapmand & Hall/CRC

Clemente, R.C., R. De Jong, H. N. Hayhoe, W. D. Reynolds, and M. Hares,

1994, ''Testing and Computation of the Three Unsaturated Soil Water Flow

Models'', Agric. Water Manag., 25, pp 135-152

Cowan, I. R., 1965, ''Transport of Water in the Soil-Plant-Atmosphere

System'', J. Appl. Ecol., 2, pp 221-239

De Jong, R. and D.R. Cameron, 1979, ''Computer Simulation Model for

Predicting Soil Water Content Profiles'', Soil Sci., 128, pp 41-48

De Jong, R., and P. Kabat, 1990, ''Modelling Water Balance and Grass

Production'', Soil Sci. Soc. Am. J., 54, pp 1725-1732

Dinar, A., K.C. Knapp and J.D. Rhoades, 1986, ''Production Functions for

Cotton With Dated Irrigation Quantities and Qualities'', Water Res. Resear., 22,

11, pp 1519-1525

Douglas J.J., and B.F. Jones, 1963, ''One Predictor-Corrector Method for

Non Linear Parabolic Differential Equations'', J. SIAM, pp 195-204

Feddes, R.A., E. Bresler, and S.P. Neuman, 1974 ''Field Test of a Modified

Numerical Model for Uptake by Root System'', Water Resour. Res., 10, No 6, pp

1199-1206

Feddes, R.A., P.J. Kowalic and H. Zaradny, 1978, ''Simulation of field water

use and crop yield'', PUDOC, Wageningen, Simulation Monographs, The

Netherlands pp. 189

Feddes, R.A., J.G. Wesseling and R. Wiebing, 1984, ''Simulation of

transpiration and yield of potatoes with the SWACRO-Model'' 9th Triennial

Conference of the European Association of Potato Research (EAPR), Interlaken,

Switzerland

Page 159: BSc Thesis / Πτυχιακη διατριβη

Βιβλιογραφία 149

Feddes, R.A., 1987, ''Simulating Water Management and Crop Production

with the SWACRO-Model'', Proc. 3rd International Workshop on Land Drainage,

Columbus, Ohio

Feddes, R.A., M. De Graaf, J. Bouma, and C.D. Van Loon, 1998,

''Simulation of Water Use and Production of Potatoes as Affected by Soil

Compaction'', Potato Res., 31, pp 225-239

Feddes, R.A., P. Kabat, P.J.T. Van Bakel, J.J.B. Bronswijk and J.

Halbertsma, 1998, ''Modelling soil water dynamics in the unsaturated zone-State of

the Art'' Journal of Hydrology, 100, pp. 69-111

Ghali, G.A., and Z.J. Svehlik, 1988, ''The Influence of Sub-Soil on the

Moisture Regime in Irrigated Fields'', Agric. Water Mang., 14, pp 307-315

Govildaraju, R.S., and Kavvas, M.L., 1993, ''Development of an

Approximate Model for Unsaturated Flow with Root Water Uptake under

Rectangular Water Content Profiles Assumption'', Journal of Hydrology, 146, pp

321-339

Haverkamp, R., M. Vauclin, J. Touma, P.J. Wirenga, and G. Vachaud, 1977,

''A Comparison of Numerical Simulation Model for One-Dimension Infiltration'',

Soil Sci. Soc. Am. J., 41, pp 285-294

Higuchi, M., 1984, ''Numerical Simulation of Soil-Water Flow During

Wetting in a Nonhomgeous Soil'', Journal of Hydrology, 74, pp 323-334

Hoogland J.C., R.A. Feddes and C. Belmans, 1981, ''Root water uptake

model depending on soil water pressurehead and maximum extraction rate'', Acta

Horticulture, 119, pp. 123-136

Hopmans, J.W., and E. Guttierez-Rave, 1988, ''Calibration of Root Water

Uptake Model in Spatially Variable Soils'', Journal of Hydrology, 103, pp 53-65

Hopmans, J.W., and J.N.M. Stricker, 1989, ''Stochastic Analysis of Soil

Water Regime in a Watershed'', Journal of Hydrology, 105, pp 57-84

Hunt, B.R., R.L. Lipsman, J.M. Rosenberg, K.R. Coombes, J.E. Osborn,

G.J. Stuck, 2001, ''A guide to MATLAB for beginners and experienced users'',

Cambridge University Press

Page 160: BSc Thesis / Πτυχιακη διατριβη

Βιβλιογραφία 150

Huyakorn, P.S., S.D. Thomas, and B.M. Thomson, 1984, ''Techniques for

Making Finite Element Competitive in Modelling Flow in Variably Saturated

Porous Media'', Water Resour. Res., 20, pp 1099-1115

Kaluarachi, J.J., and J.C. Parker, 1987, ''Finite Element Analysis of Water

Flow in Variably Saturated Soil'', Journal of Hydrology, 90, pp 269-291

Khaleel, R., and T.C. Yeh, 1985, ''A Galerkin Finite-Element Program for

Simulating Unsaturated Flow in Porous Media'', Ground Water, 23, 1, pp 90-96

Letey, J., and A. Dinar, 1986, ''Simulated Crop-Water Functions for Several

Crop when Irrigated with Saline Water'', Higardia, 54, 1

Mahey, R.K., J. Feyen, and G. Wyseure, 1984, ''Numerical Analysis of

Irrigation Treatments of Barley with Respect to Drainage Losses and Crop

Response'', Trans. ASAE, 27, pp 1805-1810 and 1816

Marino, M.A., and J.C. Tracy, 1988, ''Flow of Water Through Root-soil

Enviroment'', Journal of Irrig. And Drain. Eng., 114, 4, pp 59-64

Mathworks, 2005, ''MATLAB & Simulink : Installation Guide for

Windows''

Mathworks, 2005, ''MATLAB Compiler : User Guide’s (version 4)''

Mathworks, 2005, ''MATLAB Reference Book : Creating Graphical User

Interfaces (version 7), Desktop Tools and Development Environment (version 7),

External Interfaces Reference (version 7), External Interfaces (version 7),

Function Reference Volume 1 A-E (version 7), Function Reference Volume 2 F-

O (version 7), Function Reference Volume 3 P-Z (version 7), Getting started with

MATLAB (version 7), MAT-file Format (version 7), Mathematics (version 7),

Programming Tips (version 7), Programming (version 7), Using MATLAB

Graphics (version 7), Release Notes''

Molz, F.J., and I. Remso, 1970, ''Extraction Term Models of Soil Moisture

Use by Transpiring Plants'', Water Resourc. Res., 6(5), pp 1346-1356

Morgan, T.H., A.W. Biere, and E.T. Kamenasu, 1980, ''A Dynamin Model

of Corn Yield Response to Water'', Water Res. Resear., 16, 1, pp 59-64

Page 161: BSc Thesis / Πτυχιακη διατριβη

Βιβλιογραφία 151

Nerpin, S.W., B.N. Sanojan, and A.A. Arakeljan, 1976, ''Methods of

Estimation of Water Extraction by Roots of Agricultural Plants for Modelling of

Water Transport in the Field'', VASCHNIL, 9, pp 40-42

Neuman, S.P., 1973, ''Saturated-Unsaturated Seepage by Finite Elements'',

Journal of Hydrology Div. Proc., ASCE, 99, pp 2233-2250

Nimah, M.N., and R.J. Hanks, 1973a, ''Model for Estimation Soil Water,

Plant and Atmospheric Interrelations : I. Description and Sensitivity'', Soil Sci.

Soc. Am. Proc., 37, pp 522-527

Nimah, M.N., and R.J. Hanks, 1973b, ''Model for Estimation Soil Water,

Plant and Atmospheric Interrelations : II. Field Test of a Model'', Soil Sci. Soc.

Am. Proc., 37, pp 528-532

Novak, V., 1987, ''Estimation of Soil-water Extraction Paterns by Roots'',

Agric. Water Manag., 12(3), pp 271-278

Prasad, R., 1988, ''A Linear Root Water Uptake Model'', Journal of Hudrol.,

99, pp 297-306

Rasiah, V., G.C. Carison and R.A. Kohl, 1992, ''Assessment of Functions

and Parameter Estimation Methods in Root Water Uptake Simulation'', Soil Sci.

Sco. Am. J., 56, pp 1256-1271

Ritchie, J.T., 1972, ''Model for Predicting Evaporation from a Row Crop

with Incomplete cover'', Water Resourc., 85, pp 1204-1213

Rowse, H.R., D.A. Stone, and A. Gerwitz, 1978, ''Simulation of Water

Distribution in Soil, II. The Model for Cropped Soil and its Comparison with

Experiment'', Plant Soil, 49, pp 533-550

Singh, G., D.M. Brown, and A.G. Barr, 1991, ''Modeling Soil Water Status

for Irrigation Scheduling in Potatoes I. Description and Sensitivity Analysis'',

Agric. Water Manag., 23, pp 329-341

Stockle, C., and G.S. Campbell, 1989, ''Simulation of Crop Response to

Water and Nitrogen : An example using Spring Wheat'', Trans. of the ASAE, 32,

1, pp 66-74

Page 162: BSc Thesis / Πτυχιακη διατριβη

Βιβλιογραφία 152

Terzidis, G. and Babajimopoulos C., 1987, ''Simulation Model of Regional

Groundwater Management (A Case Study of Pieria Aquifer, Greece) '', Proc. of a

Symposium in the Community Programme for Co-ordination of Agricultural

Research, Louvain, Published by the Commision of the European Communities

Tzimopoulos, C., 1978, ''Finite Elements Solution of unsaturated Porous

Media Flow'', Proc. of 2nd Intern. Conf. of Finite Elements in Water Resources,

London, Pentech Press, pp 1.37-1.49

Van Genuchten, M.T., 1978, ''Calculating the unsaturated hydraulic

conductivity with a new, closed-form analytical model'', Research Report 78-WR-

08, Water resourc. Program, Dep. Of Civil Engin., Princeton Univ., Princeton N.

J. pp. 68

Van Keulen, H., 1975, ''Simulation of Water Use and Herbage Growth in

Arid Regions'', Simulation Monograph, Pudoc, Wageningen, pp 176

Van Wijk, A.L.M. and R.A. Feddes, 1982, ''A Model Approach to the

Evaluation of Drainage Effects'', In ''Land Drainage'' (ed. M.J. Gardiner), A

Seminar in the EC Programme of Co-ordination of Research on Land Use and

Rural Resources, Cambridge, UK, July 1981, Balkema, Rotterdam, pp 131-149

Verecken, H., M. Vanclooster and J. Diels, 1991, ''Simulating Water and

Nitrogen Behaviour in Soils Cropped With Winter Wheat'', Fertilizer Research, 27,

pp 233-243

Wagenet, R.J. and Hutson, J.L., 1989, ''LEACHM: Leaching Estimation and

Chemistry Model. Version 2, Center for Enviromental Research, Cornell

University, Ithaca, and New York

Wallach, R., 1990, ''Soilwater Distribution in a Nonuniformly Irrigated Field

with Root Extraction'', Journal of Hydrology, 119, pp 137-150

Warrick, A.W. and W.R. Gardner, 1983, ''Crop Yield as Affected by Spatial

Variations of Soil and Irrgation'', Water Resources Research, 19, 1, pp 181-186

Wasseling, J.G., and B.J. Van der Broek, 1987, ''Prediction of Irrigation

Scheduling with Numerical Model SWATRE'', Proceeding symp., Agrohydrology,

Sept. 29-Oct. 1, IAC, Wageningen

Page 163: BSc Thesis / Πτυχιακη διατριβη

Βιβλιογραφία 153

Wasseling, J.G., P. Kabat, B.J. Van der Broek, 1989, ''Simulation Model of

the Water Balance of a Cropped Soil with Different Types of Boundary

Conditions Including the Possibility of Drainage and Irrigation and the

Calculation of Crop Yield. Instructions for input to SWACROP'' Winand Staring

Centre, Wageningen, The Netherlands

Whisler, F.D., A. Klute, and R.J. Millington, 1968, ''Analysis of Steady State

Evapotranspiration from Soil Column'', Soil Sci. Soc. Am. Proc., 32, pp 167-174

Wyseure, G.C.L., K. Sanmuganathan, and J.R. O’ Callaghan, 1994, ''Use of

Simulation for Combining Rainfed and Irrigated Sugarcane Production in the Dry

Zone of Sri-Lanca'', Computers and Electronics in Agriculture, 11, pp 323-335

Yang, S.J., and E. De Jong, 1971, ''Effect of Soil Water Potential and Bulk

Density on Water Uptake Patterns and Resistance to Flow of Water in Wheat

Plants'', Can. J. Soil Sci., 51, pp 211-220

Zhang, J., R.L. Elliot, 1996, ''Two-Dimensional Simulation of Soil Water

Movement and Peanut Water Uptake Under Field Conditions'', Transac. of

ASAE, 39(2), pp 497-504

Αντωνόπουλος, Β., 1988, ''Επίλυση Προβλημάτων Κίνησης του Εδαφικού

Νερού και Διαλυμένων Ουσιών με μεθόδους Πεπερασμένων στοιχείων'',

Διδακτορική Διατριβή, Τμήμα Γεωπονίας Α.Π.Θ.

Αντωνόπουλος, Β., 1998, ''WANISIM Μονοδιάστατο Μοντέλο

Προσομοίωσης της Δυναμικής του Νερού και του Αζώτου στο Έδαφος'',

Μονογραφία, Τμήμα Γεωπονίας, Α.Π.Θ., Θεσσαλονίκη

Αντωνόπουλος, Β., 2004, ''Υδρολογία της ακόρεστης ζώνης του εδάφους'',

Α.Π.Θ.

Γούκος Δ., 1999 ''Εφαρμογή του μοντέλου SWBACROS στη μελέτη του

υδατικού ισοζυγίου ενός αγρού ζαχαρότευτλων - Διερεύνηση των σχέσεων

πρόσληψης του νερού από τα φυτά'', Μεταπτυχιακή διατριβή, Τμήμα Γεωπονίας,

Α.Π.Θ.

Page 164: BSc Thesis / Πτυχιακη διατριβη

Βιβλιογραφία 154

Καλφούντζος, Δ., 1994, ''Μαθηματική Προσομοίωσης της κίνησης της

εδαφικής υγρασίας σε καλλιεργούμενο έδαφος'', Μεταπτυχιακή διατριβή, Τμήμα

Γεωπονίας, Α.Π.Θ.

Κυριακίδης, Ι., Χ. Κωνσταντινίδης, 1998, ''Η χρήση μαθηματικών μοντέλων

στη μελέτη του υδατικού ισοζυγίου καλλιεργούμενων εδαφών - Γραφική απεικόνιση

των αποτελεσμάτων του μαθηματικού μοντέλου SWBACROS'', Πτυχιακή διατριβή

Μπαμπατζιμόπουλος, Χ., 1999, ''Αριθμητική ανάλυση'', Εκδόσεις Γιαχούδη -

Γιαπούλη, Α.Π.Θ.

Μπαμπατζιμόπουλος, X., 2000, ''Η γλώσσα προγραμματισμού FORTRAN

90/95 εφαρμογές σε περιβάλλον VISUAL FORTRAN'', Εκδόσεις Γιαχούδη –

Γιαπούλη, Α.Π.Θ.

Μπαμπατζιμόπουλος, Χ., 2000, ''Εφαρμογή της πληροφορικής στη μελέτη

του υδατικού ισοζυγίου του εδάφους ενός αγρού ζαχαρότευτλων'', Αριστοτέλειο

Πανεπιστήμιο Θεσσαλονίκης, Ελληνική Βιομηχανία Ζάχαρης, Τελική έκθεση

Μπαμπατζιμόπουλος, X., 2002, ''Αριθμητικές μέθοδοι επίλυσης μερικών

διαφορικών εξισώσεων'', Α.Π.Θ.

Μπαμπατζιμόπουλος, Χ., Α. Πανώρας, Ι. Μαυρουδής, Γ. Μπίλας, Ν.

Παπαγιαννακόπουλος, 1995, ''Προγραμματισμός των αρδεύσεων με χρήση

μαθηματικών μοντέλων'', Υπουργείο Βιομηχανίας, Ενέργειας και Τεχνολογίας, Γ.Γ.

Έρευνας και Τεχνολογίας, Διεύθυνση Υποστήριξης Ερευνητικών Προγραμμάτων,

91ΕΔ457, Τελική έκθεση

Μπαμπατζιμόπουλος, Χ., Α. Πανώρας, Δ. Γούκος, Ν. Μασλάρης, 2001,

''Εφαρμογή του μοντέλου SWBACROS στη μελέτη του υδατικού ισοζυγίου του

εδάφους ενός αγρού ζαχαρότευτλεων'' Πρακτικά 8ου Πανελληνίου Συνεδρίου της

Ελληνιής Υδροτεχνικής ένωσης σελ 469-475

Μπαμπατζιμόπουλος, Χ., Δ. Γούκος, 2001, ''Διερεύνηση των σχέσεων

πρόσληψης νερού από το ριζικό σύστημα σε μοντέλα υπολογισμού του υδατικού

ισοζυγίου καλλιεργούμενων εδαφών'' Πρακτικά 8ου Πανελληνίου Συνεδρίου της

Ελληνικής Υδροτεχνικής ένωσης σελ 459-467

Page 165: BSc Thesis / Πτυχιακη διατριβη

Βιβλιογραφία 155

Μπίλας, Γ., 1995, ''Εφαρμογή του μοντέλου SWBACROS στην Πρόβλεψη

της Παραγωγής και στον Προγραμματισμό της Άρδευσης του Βαμβακιού'',

Μεταπτυχιακή Διατριβή, Ειδίκευση Εγγείων Βελτιώσεων, Τμήμα Γεωπονίας, Α.Π.Θ.

Πανώρας, Α.Γ., και Ι.Γ. Μαυρουδής, 1993, ''Κατανομή της Μέσης

Ημερήσιας Εξατμισοδιαπνοής Καλλιέργειας Αναφοράς στη Λεκάνη Απορροής του

Ποταμού Λουδία'', Υδροτεχνικά, Ε.Υ.Ε.

Πανώρας, Α.Γ., και Ι.Γ. Μαυρουδής, 1994, ''Σχέση Ολικής Ηλιοφάνειας και

Προσπίπτουσας Ηλιακής Ακτινοβολίας στην Πεδιάδα Θεσσαλονίκης'', Υδροτεχνικά,

Ε.Υ.Ε., 4(1)

Πανώρας, Α.Γ., και Ι.Γ. Μαυρουδής, 1995, ''Μέσες ανάγκες σε νερό των

εαρινών καλλιεργειών της λεκάνης απορροής του ποταμού Λουδία'', Γεωτεχνικά

Επιστημονικά Θέματα

Παπαζαφειρίου, Ζ., 1984, ''Βασικές Αρχές και Πρακτική των Αρδεύσεων'',

Α.Π.Θ., Θεσσαλονίκη

Παπαρρίζος, Κ., 2004, ''MATLAB 6.5'', εκδόσεις Ζυγός, Θεσσαλονίκη

Τερζίδης, Γ.Α., και Παπαζαφειρίου, Γ.Ζ., 1997, ''Γεωργική Υδραυλική'',

εκδόσεις Ζήτη, Θεσσαλονίκη

Τερζίδης, Γ.Α., 1985, ''Μαθήματα Υδραυλικής 1. Γενική Υδραυλική'',

εκδόσεις Ζήτη, Θεσσαλονίκη

Τερζίδης, Γ.Α., 1997, ''Εφαρμοσμένη Υδραυλική'', εκδόσεις Ζήτη,

Θεσσαλονίκη

Page 166: BSc Thesis / Πτυχιακη διατριβη

Παράρτημα 156

Παράρτημα Ι

Παράδειγμα σύνδεσης MATLAB και FORTRAN

Ένα απλό παράδειγμα που περιγράφει αυτή την αμφίδρομη σχέση μεταξύ

MATLAB και FORTRAN και βοηθάει στην κατανόηση της λειτουργίας του

LIQUID είναι το παρακάτω. Το παράδειγμα αυτό εμφανίζει γραφικά το βάθος μιας

δεξαμενής συναρτήσει του χρόνου. Ο χρόνος εκκένωσης της δεξαμενής υπολογίζεται

με αριθμητική επίλυση (μέθοδος Euler) της εξίσωσης

οdhΕ μΕ 2ghdt

− =

Ο χρήστης μέσω της MATLAB (αρχείο DEKSAMENH.m) εισάγει τα

δεδομένα του προγράμματος (μ : συντελεστής παροχής, h : αρχικό βάθος σε m,

ΒΗΜΑ : χρονικό βήμα του προγράμματος (dt) σε sec). Τα δεδομένα αυτά

αποθηκεύονται σε ένα αρχείο (input.txt) τα οποία διαβάζει η Fortran (αρχείο

Euler.exe, από το αρχείο Euler.f90). Το αρχείο Euler.exe επιλύει την εξίσωση και

αποθηκεύει στο αρχείο αποτελεσμάτων (output.txt) το βάθος της δεξαμενής για

κάθε χρονικό βήμα. Η MATLAB διαβάζει τα δεδομένα αυτά και τα εμφανίζει

γραφικά.

Ο κώδικας της ΜΑΤLAB του αρχείου DEKSAMENH.m μαζί με τα

σχόλια (% σχόλια) για την ευκολότερη κατανόηση του είναι ο ακόλουθος :

% EKKENOSH DEKSAMENHS % ZHTAME APO TON XRHSTH NA DOSEI TIMH GIA TON SYNTELESTH PAROXHS % (M), TO ARXIKO BA8OS THS DEKSAMENHS (HARX) KAI TO XRONIKO BHMA % (BHMA) M=input('SYNTELESTHS PAROXHS : '); HARX=input('ARXIKO BA8OS (m) : '); BHMA=input('XRONIKO BHMA (sec) : '); % GRAFOYME STO ARXEIO input.txt MESO THS ENTOLHS fprintf TIS % METABLHTES M,HARX,BHMA ME SYGKEKRIMENO FORMAT fid=fopen('input.txt','w'); fprintf(fid,'%1.0f,%1.0f,%2.1f',M,HARX,BHMA);

Page 167: BSc Thesis / Πτυχιακη διατριβη

Παράρτημα 157

fclose(fid); % EKTELOYME TO ARXEIO FORTRAN EULER.exe !EULER % AFOY EXEI OLOKLHROTHEI H EKTELESH TO EULER, EXEI DHMIOYRGHTHEI TO % ARXEIO output.txt KAI APO8HKEYEI TA DEDOMENA POY DIAVAZEI STIS % METABLHTES XRONOS KAI BATHOS [XRONOS BATHOS]=textread('output.txt','%f %f'); % OI PARAKATO ENTOLES EMFANIZOYN TO DEDOMENA MAS SE MIA GRAFIKH % PARASTASH. DINOYN ONOMA STON X KAI STON Y AKSONA (xlabel, ylabel), % DINOYN ONOMA STO YPOMNHMA (legend), DINOYN ONOMA STH GRAFIKH MAS % PARASTASH (title). H ENTOLH POY EMFANIZEI TA DEDOMENA MAS EINAI H plot(XRONOS,BATHOS,'r.-') hold on xlabel('XRONOS (sec)'); grid on ylabel('BATHOS DEKSAMENHS (m)'); title('EKKENOSH DEKSAMENHS') plot(XRONOS,BATHOS,'r.-'); legend('BATHOS DEKSAMENHS (m)'); hold off

Ο κώδικας της Fortran του αρχείου Euler.f90 είναι ο ακόλουθος. Στον

παρακάτω κώδικα η μεταβλητή H περιγράφεται από την εξίσωση o

Eμ 2ghE

− . Η

τιμή E/Eo (διατομής της οπής προς τη διατομή της δεξαμενής) παίρνεται ίση με

1/1000=0.001 στο παράδειγμα μας.

! H : BATHOS DEKSAMENHS (se M) ! M : SYNTELESTHS PAROXHS ! BHMA : DT. XRONIKO BHMA (se SEC) ! ANOIGEI TO ARXEIO input.txt OPEN(8,file='input.txt') ! DIABAZEI ME ELEFTHERO FORMAT TA M,H,BHMA READ(8,*) M,H,BHMA ! ANOIGEI TO ARXEIO output.txt OPEN(9,file='output.txt') ! ARXIKOS XRONOS T=0 T=0 ! GRAFEI TIS ARXIKES SYN8HKES STO ARXEIO output.txt WRITE(9,*) T,H ! ORIZEI TH METABLHTH MAS SYMFONA ME TON TYPO ! -Μ*(Εο/Ε)*(2gH)^(1/2)

Page 168: BSc Thesis / Πτυχιακη διατριβη

Παράρτημα 158

! THN TIMH Eo/E (LOGOS DIATOMHS OPHS PROS DIATOMH EPIFANEIAS PAIRNETAI ! 1/1000=0.001 ! KAI TO g PAIRNETAI 9.81 100 DH=-M*0.001*((2*9.81)**0.5)*(H**0.5)

! TO EPOMENO IF clause YPARXEI GIA NA APOFYGOYME THN YPARXH ! ARNHTIKOY BATHOUS

IF(ABS(BHMA*DH)>H) THEN STOP END IF ! PROS8ESH STO BATHOS MAS TOY DH (EPEIDH TO DH EXEI TIMH ARNHTIKH OYSIASTIKA AFAIREITAI TO DH APO TO H) H=H+DH*BHMA ! PROS8ESH STO XRONO MAS TOY BHMA T=T+BHMA ! EGGRAFH STO ARXEIO TON T,H STO output.txt WRITE(9,*) T,H ! ELEGXOS GIA TO EAN TO BATHOS EINAI MEGALYTERO APO TO ELAXISTO ! BATHOS KAI AN NAI EPISTREFEI STHN ENTOLH 100 IF (H>0) GO TO 100 ! TELOS EPANALHPSHS KAI TELOS TOY PROGRAMMATOS STOP END Η εκτέλεση του αρχείου DEKSAMENH.m γίνεται με την πληκτρολόγηση

της παρακάτω εντολής στο prompt >> της MATLAB

>> DEKSAMENH

Εισάγοντας τα παρακάτω δεδομένα στην οθόνη μας εμφανίζεται η παρακάτω

εικόνα SYNTELESTHS PAROXHS : 1 ARXIKO BA8OS (m) : 6 XRONIKO BHMA (sec) : 5

Page 169: BSc Thesis / Πτυχιακη διατριβη

Παράρτημα 159

Page 170: BSc Thesis / Πτυχιακη διατριβη

Παράρτημα ΙΙ 160

Παράρτημα ΙΙ

Κώδικας των αρχείων του LIQUID (liquid.m, LIQUIDstep2.m, LIQUIDstep3.m, LIQUIDstep4.m, LIQUIDstep5.m και LIQUIDmenu.m) και τα αρχεία δεδομένων

Στις επόμενες σελίδες παρουσιάζεται εκτυπωμένος ο κώδικας του LIQUID

(όπως αυτός εκτυπώνεται από το περιβάλλον της MATLAB) μαζί με τα σχόλια στα

ελληνικά για την ευκολότερη κατανόηση των εντολών. Αμέσως μετά παρουσιάζονται

τα αρχεία δεδομένων που χρησιμοποιήθηκαν στις γραφικές παραστάσεις της

εργασίας αυτής.

Page 171: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\liquid.m 1 of 3

function varargout = liquid(varargin) % LIQUID M-file for liquid.fig % LIQUID, by itself, creates a new LIQUID or raises the existing % singleton*. % % H = LIQUID returns the handle to a new LIQUID or the handle to % the existing singleton*. % % LIQUID('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in LIQUID.M with the given input arguments. % % LIQUID('Property','Value',...) creates a new LIQUID or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before liquid_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to liquid_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Copyright 2002-2003 The MathWorks, Inc. % Edit the above text to modify the response to help liquid % Last Modified by GUIDE v2.5 22-Apr-2005 21:25:03 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @liquid_OpeningFcn, ... 'gui_OutputFcn', @liquid_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback' , []); if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1); end if nargout [varargout1:nargout] = gui_mainfcn(gui_State, varargin:); else gui_mainfcn(gui_State, varargin:); end % End initialization code - DO NOT EDIT % Το liquid έχει τη δομή ενός wizard. Είναι χωρισμένο σε βήματα (steps) τα % οποία είναι τα ακολουθά : % 1ο βήμα αρχείο liquid.m το οποίο περιέχει γενικές πληροφορίες για το % πρόγραμμα % 2ο βήμα αρχείο LIQUIDstep2.m . Βήμα κατά το οποίο εισάγονται οι βασικές % πληροφορίες για την εκτέλεση του SWBACROS (για το αρχείο εισαγωγής % δεδομένων GNDATA). % 3o βήμα αρχειο LIQUIDstep3.m . Βήμα στο οποίο εισάγουμε το αρχικό και το % τελικό σημείο κάθε κόμβου (First Nodal Point , Last Nodal Point) καθώς % και τις τιμές Κ(s) saturated hydraulic conductivity (κορεσμένη υδραυλική

Page 172: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\liquid.m 2 of 3

% αγωγιμότητα) , θs υγρασία κορεσμού , θr υπολειμματική υγρασία , % συντελεστές Α,Ν για την εξίσωση του Van Genuchten , για κάθε ορίζοντα. % 4ο βήμα αρχείο LIQUIDstep4.m . Στο βήμα αυτό εισάγουμε το μέγεθος κάθε % κόμβου καθώς και την αρχική τιμή της αρνητικής πίεσης για κάθε ορίζοντα. % 5ο και τελευταίο βήμα αρχείο LIQUIDmenu.m είναι το βασικό μενού του % προγράμματος το οποίο περιέχει τις διαθέσιμες γραφικές παραστάσεις. % Το αρχείο liquid.m εμφανίζει στην οθόνη μας το αρχικό interface. Εκτός % από τις γενικές πληροφορίες για τον προγραμματιστή , το έτος δημιουργιας % του , έχει τα εξής 3 κουμπία (buttons) : % About (αναλυτικότερες πληροφορίες για το πρόγραμμα και thanks to) % Next > Step 2 (μας μεταφέρει στο δεύτερο βήμα LIQUIDstep2) % Exit (έξοδος από το πρόγραμμα) % --- Executes just before liquid is made visible. function liquid_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to liquid (see VARARGIN) % Choose default command line output for liquid handles.output = hObject; % Μεταφέρει το παράθυρο μας πανω και αριστερά στην οθόνη movegui('northwest'); % Update handles structure guidata(hObject, handles); % UIWAIT makes liquid wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = liquid_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout1 = handles.output; % --- Executes on button press in NEXTSTEP2. function NEXTSTEP2_Callback(hObject, eventdata, handles) % hObject handle to NEXTSTEP2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Η function NEXTSTEP2 μας πηγαινει στο επόμενο βήμα κλείνει το υπάρχον % παράθυρο liquid μέσω της εντολής closereq και καλεί το αρχείο LIQUDstep2 closereq; LIQUIDstep2;

Page 173: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\liquid.m 3 of 3

% --- Executes on button press in EXITTOWINDOWS. function EXITTOWINDOWS_Callback(hObject, eventdata, handles) % hObject handle to EXITTOWINDOWS (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Η function EXITTOWINDOWS κλείνει το liquid εμφανίζοντας πρώτα στην οθόνη ένα % dialog box ρωτώντας Yes ή No στην ερώτηση εξόδου από το liquid exit=questdlg('Exit Liquid?','Exit LIQUID','Yes','No','No'); switch exit case 'Yes' closereq; case 'No' return end

Page 174: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 1 of 28

function varargout = LIQUIDstep2(varargin) % LIQUIDSTEP2 M-file for LIQUIDstep2.fig % LIQUIDSTEP2, by itself, creates a new LIQUIDSTEP2 or raises the existing % singleton*. % % H = LIQUIDSTEP2 returns the handle to a new LIQUIDSTEP2 or the handle to % the existing singleton*. % % LIQUIDSTEP2('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in LIQUIDSTEP2.M with the given input arguments. % % LIQUIDSTEP2('Property','Value',...) creates a new LIQUIDSTEP2 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before LIQUIDstep2_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to LIQUIDstep2_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Copyright 2002-2003 The MathWorks, Inc. % Edit the above text to modify the response to help LIQUIDstep2 % Last Modified by GUIDE v2.5 21-Mar-2005 22:13:55 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @LIQUIDstep2_OpeningFcn, ... 'gui_OutputFcn', @LIQUIDstep2_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback' , []); if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1); end if nargout [varargout1:nargout] = gui_mainfcn(gui_State, varargin:); else gui_mainfcn(gui_State, varargin:); end % End initialization code - DO NOT EDIT % Το LIQUIDstep2 είναι το βασικό interface του προγράμματος. Στο βήμα αυτο % εισάγουμε όλες τις απαραίτητες μεταβλητές του SWBACROS. Η φόρμα έχει 4 % κουμπιά : % < Back το οποίο μας πηγαίνει στο προηγούμενο βήμα , το % Next > Step 3 : μας πηγαίνει στο Step 3 , το % Exit : έξοδος από το liquid , καθώς και το % Load latest SWBACROS variables : γεμίζει τη φόρμα μας με τα δεδομένα της % τελευταίας εκτέλεσης του SWBACROS

Page 175: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 2 of 28

% --- Executes just before LIQUIDstep2 is made visible. function LIQUIDstep2_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to LIQUIDstep2 (see VARARGIN) % Choose default command line output for LIQUIDstep2 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes LIQUIDstep2 wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = LIQUIDstep2_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout1 = handles.output; % Μετακινεί το παράθυρο μας αριστερά και πάνω στην οθόνη movegui('northwest'); % Η εντολή global ... μεταβλητές ... κάνει όλες τις μεταβλητές που % εισάγουμε να μπορούν να χρησιμοποιηθούν από όλες τις function του % προγράμματος μας global IDIN IMIN IYIN IDLAST IMLAST IYLAST METHOD1 METHOD2 MAXITER JMAX DEPTH DTPAR1 DTPAR2 DT1 DT2 DTMIN DTMAX ZETA1 OPT1 OPT2 LAYER OUTPUTFILE1 OUTPUTFILE2 IBBC1 IBBC2 IBBC3 IRWUT MODUPT1 MODUPT2 PSI1 PSI2 PSI3 DaysForWaterContentProfiles ITBC1 ITBC2 ITBC3 UDFLUX SIGMA PETIND1 PETIND2 PETIND3 IPETC IAVER1 IAVER2 IRS1 IRS2 VRATIO EXCELEXPORT UNAVAILSW; % Μεταβλητές % Ολες οι μεταβλητές είναι double ακρίβειας εκτός των OUTPUTFILE1 και % OUTPUTFILE2 οι οποίες είναι char % IDIN : Initial day % IMIN : Initial month % IYIN : Initial year % IDLAST : Last day % IMLAST : Last month % IYLAST : Last year % METHOD1 : Douglas Jones predictor (numerical method) . Η μεταβλήτη % παίρνει την τιμή 1 όταν επιλέξει ο χρήστης την αριθμητική μέθοδο Douglas % Jones % METHOD2 : Implicit method (numerical method) . Η μεταβλήτη παίρνει την % τιμή την τιμή 1 όταν επιλέξει ο χρήστης την αριθμητική μέθοδο Implicit % Κάθε μία από τις μεταβλητές παίρνει την τιμή 0 (μηδέν) αν επιλεγεί η άλλη % αυτόματα (METHOD1=1 ==> METHOD2=0) % MAXITER : Maximum number of iterations % Η τιμή της MAXITER χρησιμοποιείται μόνον όταν έχουμε επιλέξει Implicit

Page 176: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 3 of 28

% Method (δηλαδή METHOD2=1), αλλιώς το πρόγραμμα δίνει την τιμή 0 (μηδέν) % στο MAXITER % JMAX : maximum number of nodal points % DEPTH : Depth of the unsaturated zone from soil surface (m) % DTPAR1 : Constant time step. Η μεταβλητή παίρνει τη τιμή 1 όταν ο % χρήστης επιλέξει το Constant time step % DTPAR2 : Variable time step. Η μεταβλητή παίρνει τη τιμή 1 όταν ο % χρήστης επιλέξει το Variable time step % Αντίστοιχα όταν DTPAR2=1 ==> DTPAR1=0 και το ανάποδο % DT2 : Initial time step (min) για το Constant time step % DT1 : Initial time step (min) για το Variable time step % DTMIN : Minimum time step (min) για το Variable time step % DTMAX : Maximum time step (min) για το Variable time step % ZETA1 : Convergence parameter (min) για το Variable time step % Οταν ο χρήστης επιλέγει DTPAR1=1 (Constant time step) το πρόγραμμα δίνει % στις 3 τελευταίες μεταβλητές (DTMIN,DTMAX,ZETA1) την τιμή 0 (μηδέν) % OPT1 : Optimization run (Type of run). Παίρνει την τιμή 1 όταν ο χρήστης % επιλέξει Optimization run % OPT2 : Normal run (Type of run). Παίρνει την τιμή 1 όταν ο χρήστης % επιλέξει Normal run % Ομοια όπως και στις πάνω μεταβλητές όταν OPT1=1 ==> OPT2=0 % LAYER : Number of different soil layers % OUTPUTFILE1 : Water balance results file % OUTPUTFILE2 : Soil profile characteristics % Bottom Boundary Condition % IBBC1 : Constant head για το Bottom boundary condition. Παίρνει την τιμή % 1 όταν ο χρήστης επιλέξει Constant head % IBBC2 : Constant head για το Bottom boundary condition. Παίρνει την τιμή % 1 όταν ο χρήστης επιλέξει Free drainage % IBBC3 : Constant head για το Bottom boundary condition. Παίρνει την τιμή % 1 όταν ο χρήστης επιλέξει Zero flux % Οταν επιλέξει ο χρήστης π.χ. Constant head δηλαδή IBBC1=1 τότε οι άλλες % δύο μεταβλητές ΙΒΒC2 , IBBC3 παίρνουν τη τιμή 0 (μηδέν) % IRWUT : Activate / Deactivate the root water uptake term. Παίρνει τις % τιμές 1 και 0 αντίστοιχα για activated και deactivated water uptake term % Οι παρακάτω τιμές έχουν σημασία μόνον όταν ο χρήστης επιλέξει IRWUT=1 % δηλαδή όταν έχουμε Activated water uptake term στην αντίθετη περίπτωση οι % 5 παρακάτω μεταβλητές παίρνουν την τιμή 0 (μηδέν) % MODUPT1 : Smax (Maximum water extraction by roots) is constant with depth % (feddes' model).Παίρνει την τιμή 1 όταν ο χρήστης επιλέξει την επιλογή is % constant with depth : feddes' model % MODUPT2 : Smax (Maximum water extraction by roots) varies with depth % (Prasads' model).Παίρνει την τιμή 1 όταν ο χρήστης επιλέξει την επιλογή % varies with depth : prasads' model % Εχουμε και πάλι MODUPT1=1 ==> MODUPT2=0 % PSI1 : Aenarobiosis point (m) % PSI2 : Limiting point (m) % PSI3 : Wilting point (m) % DaysForWaterContentProfiles : Η μεταβλητή αυτή μαζί με την EXCELEXPORT % είναι οι μόνες που χρησιμοποιούνται αποκλειστικά από το LIQUID. Η % μεταβλητή αυτή περιέχει τον αριθμό των ημερών για τις οποίες ο χρήστης % θέλει να εμφανίσει το προφίλ της εδαφικής υγρασίσας (για τις μέρες αυτές % ο χρήστης θα ερωτηθεί στο LIQUIDStep5) % Top Boundary Condition % ITBC1 : Known head για το Top Boundary Condition.Παίρνει την τιμή 1 όταν % ο χρήστης επιλέξει Known head % ITBC2 : Known flux για το Top Boundary Condition.Παίρνει την τιμή 1 όταν % ο χρήστης επιλέξει Known flux

Page 177: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 4 of 28

% ITBC3 : User-defined flux για το Top Boundary Condition. Παίρνει την τιμή % 1 όταν ο χρήστης επιλέξει User-defined flux % Οταν επιλέξει ο χρήστης π.χ. Known flux δηλαδή ITBC2=1 τότε οι άλλες % δύο μεταβλητές ΙTBC1 , ITBC3 παίρνουν τη τιμή 0 (μηδέν) % UDFLUX : User-defined flux (m/day). Η μεταβλητή έχει σημασία για το % πρόγραμμα όταν ITBC3=1. Στις αντίθετες περιπτώσεις παίρνει την τιμή 0 % (μηδέν). Αν ΙΤBC3=1 ==> ITBC1=ITBC2=0 % Οι επόμενες 10 μεταβλητές διαβάζονται από το πρόγραμμα όταν ITBC2=1 % (δηλαδή όταν ο χρήστης επιλέξει Known flux) σε αντίθετη περίπτωση (ITBC3 % διάφορο του 1) οι μεταβλητές SIGMA,PETIND1,PETIND2,PETIND3,IPETC,IAVER, % IAVER2,IRS1,IRS2,VRATIO παίρνουν την τιμη 0 (μηδέν) % SIGMA : Coefficient in actual evapotranspiration function % Potential evapotranspiration computation % PETIND1 : Modified Penman method . Παίρνει την τιμή 1 όταν ο χρήστης % επιλέξει την τροποποιημένη μέθοδο του Penman για υπολογισμό της % εξατμισοδιαπνοής % PETIND3 : Given in the input data (PNMETEO). Παίρνει την τιμή 1 όταν ο % χρήστης επιλέξει οτι η εξατμισοδιαπνοή θα δίνεται από ένα αρχείο % δεδομένων PNMETEO % PETIND2 : Penman-Montheith method. Η επιλογή αυτή είναι ίδια με την πρώτη % PETIND1 και δίνει τα ίδια αποτελέσματα με εκείνη. Το μοντέλο SWBACROS % δίνει τη δυνατότητα μόνο για χρήση της τροποποιημένης μεθόδου Penman. Η % επιλογή αυτή μπήκε για τη μελλοντική δυνατότητα του SWBACROS να % υπόλογιζει την εξατμισοδιαπνοή με τη μέθοδο των Penman-Montheith % Οταν επιλέξει ο χρήστης π.χ. Modified Penman method δηλαδή PEITND1=1 τότε % οι άλλες δύο μεταβλητές PETIND2, PETIND3 παίρνουν τη τιμή 0 (μηδέν) % Οι επόμενες 6 μεταβλητές έχουν σημασία μόνο όταν ο χρήστης έχει επιλέξει % την Modified Penman method (δηλαδή PETIND1=1 στην πάνω επιλογή) ειδάλλως % παίρνουν τη τιμή 0 (μηδέν) % IPETC : Printing parameter for various parameters used in % evapotranspirations' computation. Παίρνει τη τιμή 1 όταν ο χρήστης % επιλέξει να εκτυπώσει στο OUTPUTFILE1 τις παραμέτρους που % χρησιμοποιήθηκαν στον υπολογισμό της εξατμισοδιαπνοής , στην αντίθετη % περίπτωση παίρνει τη τιμή 0 (μηδέν) % IAVER1 : Potential evapotranspiration computation using daily data. Η % μεταβλητή αυτή παίρνει τη τιμή 1 όταν ο χρήστης την επιλέξει % IAVER2 : Potential evapotranspiration computation averaging the daily % climatological data over 10 days. Η μεταβλητή αυτή παίρνει τη τιμή 1 όταν % ο χρήστης την επιλέξει % Αν IAVER1=1 ==> IAVER2=0 και το αντίθετο % IRS1 : Solar radiation computation given in PNMETEO.Η μεταβλητή αυτή % παίρνει τη τιμή 1 όταν ο χρήστης την επιλέξει % IRS2 : Solar radiation computation computed internally. Η μεταβλητή αυτή % παίρνει τη τιμή 1 όταν ο χρήστης την επιλέξει % VRATIO : Ratio of wind speed during day and night % UNAVAILSW : Unavailable soil water.Μη διαθέσιμο εδαφικό νερό % EXCELEXPORT : Η μεταβλητή αυτή χρησιμοποείται αποκλειστικά από το liquid. % Παίρνει τη τιμή 1 εάν ο χρήστης επιθυμεί την εξαγωγή των αποτελεσμάτων % του SWBACROS σε excel αρχείο , σε αντίθετη περίπτωση παίρνει τη τιμη 0 % Για κάθε μεταβλητή που υπάρχει πιό πάνω υπάρχουν 2 function. Η Callback % που μας επιστρέφει τη τιμή που έχει επιλέξει ο χρήστης και τη CreateFcn % η οποία περιέχει ρυθμίσεις για το πλαίσιο εισαγωγής στη φόρμα μας % (χρώματος , μεγέθους γραμματοσειράς) % Το αρχείο LIQUIDvars.mat περιέχει όλες τις μεταβλητές που χρησιμοποιεί το % Liquid.Με τη εντολή load φορτώνει όλες τις μεταβλητές του LIQUIDvars στη % μνήνη

Page 178: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 5 of 28

load LIQUIDvars; % --- Executes on selection change in IDIN. function IDIN_Callback(hObject, eventdata, handles) % hObject handle to IDIN (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns IDIN contents as cell array % contentsget(hObject,'Value') returns selected item from IDIN % --- Executes during object creation, after setting all properties. function IDIN_CreateFcn(hObject, eventdata, handles) % hObject handle to IDIN (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on selection change in IMIN. function IMIN_Callback(hObject, eventdata, handles) % hObject handle to IMIN (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns IMIN contents as cell array % contentsget(hObject,'Value') returns selected item from IMIN % --- Executes during object creation, after setting all properties. function IMIN_CreateFcn(hObject, eventdata, handles) % hObject handle to IMIN (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end

Page 179: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 6 of 28

% --- Executes on selection change in IYIN. function IYIN_Callback(hObject, eventdata, handles) % hObject handle to IYIN (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns IYIN contents as cell array % contentsget(hObject,'Value') returns selected item from IYIN % --- Executes during object creation, after setting all properties. function IYIN_CreateFcn(hObject, eventdata, handles) % hObject handle to IYIN (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on selection change in IMLAST. function IMLAST_Callback(hObject, eventdata, handles) % hObject handle to IMLAST (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns IMLAST contents as cell array % contentsget(hObject,'Value') returns selected item from IMLAST % --- Executes during object creation, after setting all properties. function IMLAST_CreateFcn(hObject, eventdata, handles) % hObject handle to IMLAST (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on selection change in IYLAST. function IYLAST_Callback(hObject, eventdata, handles) % hObject handle to IYLAST (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

Page 180: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 7 of 28

% Hints: contents = get(hObject,'String') returns IYLAST contents as cell array % contentsget(hObject,'Value') returns selected item from IYLAST % --- Executes during object creation, after setting all properties. function IYLAST_CreateFcn(hObject, eventdata, handles) % hObject handle to IYLAST (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on selection change in IDLAST. function IDLAST_Callback(hObject, eventdata, handles) % hObject handle to IDLAST (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns IDLAST contents as cell array % contentsget(hObject,'Value') returns selected item from IDLAST % --- Executes during object creation, after setting all properties. function IDLAST_CreateFcn(hObject, eventdata, handles) % hObject handle to IDLAST (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function MAXITER_Callback(hObject, eventdata, handles) % hObject handle to MAXITER (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of MAXITER as text % str2double(get(hObject,'String')) returns contents of MAXITER as a double % --- Executes during object creation, after setting all properties. function MAXITER_CreateFcn(hObject, eventdata, handles) % hObject handle to MAXITER (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

Page 181: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 8 of 28

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function JMAX_Callback(hObject, eventdata, handles) % hObject handle to JMAX (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of JMAX as text % str2double(get(hObject,'String')) returns contents of JMAX as a double % --- Executes during object creation, after setting all properties. function JMAX_CreateFcn(hObject, eventdata, handles) % hObject handle to JMAX (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function DEPTH_Callback(hObject, eventdata, handles) % hObject handle to DEPTH (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of DEPTH as text % str2double(get(hObject,'String')) returns contents of DEPTH as a double % --- Executes during object creation, after setting all properties. function DEPTH_CreateFcn(hObject, eventdata, handles) % hObject handle to DEPTH (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end

Page 182: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 9 of 28

function DT1_Callback(hObject, eventdata, handles) % hObject handle to DT1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of DT1 as text % str2double(get(hObject,'String')) returns contents of DT1 as a double % --- Executes during object creation, after setting all properties. function DT1_CreateFcn(hObject, eventdata, handles) % hObject handle to DT1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function DTMIN_Callback(hObject, eventdata, handles) % hObject handle to DTMIN (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of DTMIN as text % str2double(get(hObject,'String')) returns contents of DTMIN as a double % --- Executes during object creation, after setting all properties. function DTMIN_CreateFcn(hObject, eventdata, handles) % hObject handle to DTMIN (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function DTMAX_Callback(hObject, eventdata, handles) % hObject handle to DTMAX (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of DTMAX as text

Page 183: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 10 of 28

% str2double(get(hObject,'String')) returns contents of DTMAX as a double % --- Executes during object creation, after setting all properties. function DTMAX_CreateFcn(hObject, eventdata, handles) % hObject handle to DTMAX (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function ZETA1_Callback(hObject, eventdata, handles) % hObject handle to ZETA1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of ZETA1 as text % str2double(get(hObject,'String')) returns contents of ZETA1 as a double % --- Executes during object creation, after setting all properties. function ZETA1_CreateFcn(hObject, eventdata, handles) % hObject handle to ZETA1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function OUTPUTFILE1_Callback(hObject, eventdata, handles) % hObject handle to OUTPUTFILE1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of OUTPUTFILE1 as text % str2double(get(hObject,'String')) returns contents of OUTPUTFILE1 as a double % --- Executes during object creation, after setting all properties. function OUTPUTFILE1_CreateFcn(hObject, eventdata, handles) % hObject handle to OUTPUTFILE1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

Page 184: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 11 of 28

% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function OUTPUTFILE2_Callback(hObject, eventdata, handles) % hObject handle to OUTPUTFILE2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of OUTPUTFILE2 as text % str2double(get(hObject,'String')) returns contents of OUTPUTFILE2 as a double % --- Executes during object creation, after setting all properties. function OUTPUTFILE2_CreateFcn(hObject, eventdata, handles) % hObject handle to OUTPUTFILE2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function LAYER_Callback(hObject, eventdata, handles) % hObject handle to LAYER (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of LAYER as text % str2double(get(hObject,'String')) returns contents of LAYER as a double % --- Executes during object creation, after setting all properties. function LAYER_CreateFcn(hObject, eventdata, handles) % hObject handle to LAYER (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else

Page 185: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 12 of 28

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function UDFLUX_Callback(hObject, eventdata, handles) % hObject handle to UDFLUX (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of UDFLUX as text % str2double(get(hObject,'String')) returns contents of UDFLUX as a double % --- Executes during object creation, after setting all properties. function UDFLUX_CreateFcn(hObject, eventdata, handles) % hObject handle to UDFLUX (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function SIGMA_Callback(hObject, eventdata, handles) % hObject handle to SIGMA (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of SIGMA as text % str2double(get(hObject,'String')) returns contents of SIGMA as a double % --- Executes during object creation, after setting all properties. function SIGMA_CreateFcn(hObject, eventdata, handles) % hObject handle to SIGMA (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on button press in IPETC. function IPETC_Callback(hObject, eventdata, handles) % hObject handle to IPETC (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

Page 186: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 13 of 28

% handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of IPETC function VRATIO_Callback(hObject, eventdata, handles) % hObject handle to VRATIO (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of VRATIO as text % str2double(get(hObject,'String')) returns contents of VRATIO as a double % --- Executes during object creation, after setting all properties. function VRATIO_CreateFcn(hObject, eventdata, handles) % hObject handle to VRATIO (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on button press in IRWUT. function IRWUT_Callback(hObject, eventdata, handles) % hObject handle to IRWUT (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of IRWUT function PSI1_Callback(hObject, eventdata, handles) % hObject handle to PSI1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of PSI1 as text % str2double(get(hObject,'String')) returns contents of PSI1 as a double % --- Executes during object creation, after setting all properties. function PSI1_CreateFcn(hObject, eventdata, handles) % hObject handle to PSI1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

Page 187: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 14 of 28

if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function PSI2_Callback(hObject, eventdata, handles) % hObject handle to PSI2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of PSI2 as text % str2double(get(hObject,'String')) returns contents of PSI2 as a double % --- Executes during object creation, after setting all properties. function PSI2_CreateFcn(hObject, eventdata, handles) % hObject handle to PSI2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function PSI3_Callback(hObject, eventdata, handles) % hObject handle to PSI3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of PSI3 as text % str2double(get(hObject,'String')) returns contents of PSI3 as a double % --- Executes during object creation, after setting all properties. function PSI3_CreateFcn(hObject, eventdata, handles) % hObject handle to PSI3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on selection change in DaysForWaterContentProfiles.

Page 188: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 15 of 28

function DaysForWaterContentProfiles_Callback(hObject, eventdata, handles) % hObject handle to DaysForWaterContentProfiles (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns DaysForWaterContentProfiles contents as cell array % contentsget(hObject,'Value') returns selected item from DaysForWaterContentProfiles % --- Executes during object creation, after setting all properties. function DaysForWaterContentProfiles_CreateFcn(hObject, eventdata, handles) % hObject handle to DaysForWaterContentProfiles (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on button press in EXCELEXPORT. function EXCELEXPORT_Callback(hObject, eventdata, handles) % hObject handle to EXCELEXPORT (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of EXCELEXPORT function DT2_Callback(hObject, eventdata, handles) % hObject handle to DT2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of DT2 as text % str2double(get(hObject,'String')) returns contents of DT2 as a double % --- Executes during object creation, after setting all properties. function DT2_CreateFcn(hObject, eventdata, handles) % hObject handle to DT2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

Page 189: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 16 of 28

end function UNAVAILSW_Callback(hObject, eventdata, handles) % hObject handle to UNAVAILSW (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of UNAVAILSW as text % str2double(get(hObject,'String')) returns contents of UNAVAILSW as a double % --- Executes during object creation, after setting all properties. function UNAVAILSW_CreateFcn(hObject, eventdata, handles) % hObject handle to UNAVAILSW (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white' ); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on button press in NEXTSTEP3. function NEXTSTEP3_Callback(hObject, eventdata, handles) % hObject handle to NEXTSTEP3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Η function ΝΕΧΤSTEP3 πριν μας πάει στο επόμενο βημα το πρόγραμμα ελέγχει % τις επιλογές του χρήστη (αν συμπληρώθηκαν όλες οι απαραίτητες τιμές καθώς % και εκτελεί κάποιους λογικούς ελέγχους των τιμών αυτών) % Για τον έλεγχο των τιμών ημερομηνιών (IDIN,IMIN,IYIN,IDLAST,IMLAST, % IYLAST) δημιουργούνται τα 3 παρακάτω σύνολα DAYSOFMONTH , MONTHS και το % YEARS DAYSOFMONTH=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31]; MONTHS=[1 2 3 4 5 6 7 8 9 10 11 12]; YEARS=[1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020]; % Ολες οι τιμές παίρνονται μέσω τις εντολής get. Η εντολή str2num % μετατρέπει την τιμή που επιστρέφει η MATLAB η οποία είναι string σε % αριθμό %Calculation Dates IDIN IDIN=str2num(get(handles.IDIN,'String')); % Ελεγχος για το αν δώθηκε κάποια τιμή ή αν έχει αριθμητική τιμή και % εμφάνιση ενός error dialog box στην αντίθετη περίπτωση if isnan(IDIN)

Page 190: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 17 of 28

errordlg('You must enter a numeric value for initial day','Bad input in Initial day'); return ; end % Ελεγχος για αρνητικές τιμές και μηδενικές τιμές καθώς και για τιμές % μεγαλύτερες από 31 if IDIN<=0 errordlg('You can not have a negative or 0 zero value for initial day' ,'Bad input in Initial day'); return ; elseif IDIN>31 errordlg('You can not have a value >31 for initial day','Bad input in Initial day'); return ; end % Ελεγχος για το εαν το IDIN είναι μέρος του DAYSOFMONTH if ismember(IDIN,DAYSOFMONTH) error=0; else errordlg('You must enter a integer value for day','Bad input in Initial day'); return ; end %Calculation Dates IMIN IMIN=str2num(get(handles.IMIN,'String')); % Ελεγχος για το αν δώθηκε κάποια τιμή ή αν έχει αριθμητική τιμή και % εμφάνιση ενός error dialog box στην αντίθετη περίπτωση if isnan(IMIN) errordlg('You must enter a numeric value for initial month','Bad input in Initial month'); return ; end % Ελεγχος για αρνητικές τιμές και μηδενικές τιμές καθώς και για τιμές % μεγαλύτερες από 12 if IMIN<=0 errordlg('You can not have a negative or 0 zero value for month','Bad input in Initial month'); return ; elseif IMIN>12 errordlg('You can not have a value >12 for month','Bad input in Initial month'); return ; end % Ελεγχος για το εαν το IMIN είναι μέρος του MONTHS if ismember(IMIN,MONTHS) error=0; else errordlg('You must enter a integer value for month','Bad input in Initial month'); return ; end %Calculation Dates IYIN % Ελεγχος για το αν δώθηκε κάποια τιμή ή αν έχει αριθμητική τιμή και % εμφάνιση ενός error dialog box στην αντίθετη περίπτωση IYIN=str2num(get(handles.IYIN,'String')); if isnan(IYIN) errordlg('You must enter a numeric value for initial year','Bad input in Initial year');

Page 191: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 18 of 28

return ; end % Ελεγχος για αρνητικές τιμές και μηδενικές τιμές if IYIN<=0 errordlg('You can not have a negative or 0 zero value for year','Bad input in Initial year'); return ; end % Ελεγχος για το εαν το IYIN είναι μέρος του YEARS if ismember(IYIN,YEARS) error=0; else errordlg('You must enter a integer value for year or year must be between 1990-2020','Bad input in Initial year'); return ; end %Calculation Dates IDLAST IDLAST=str2num(get(handles.IDLAST,'String')); % Ελεγχος για το αν δώθηκε κάποια τιμή ή αν έχει αριθμητική τιμή και % εμφάνιση ενός error dialog box στην αντίθετη περίπτωση if isnan(IDLAST) errordlg('You must enter a numeric value for last day' ,'Bad input in Last day' ); return ; end % Ελεγχος για αρνητικές τιμές και μηδενικές τιμές καθώς και για τιμές % μεγαλύτερες από 31 if IDLAST<=0 errordlg('You can not have a negative or 0 zero value for day' ,'Bad input in Last day'); return ; elseif IDLAST>31 errordlg('You can not have a value >31 for day','Bad input in Last day'); return ; end % Ελεγχος για το εαν το IDLAST είναι μέρος του DAYSOFMONTH if ismember(IDLAST,DAYSOFMONTH) error=0; else errordlg('You must enter a integer value for day','Bad input in Last day'); return ; end %Calculation Dates IMLAST IMLAST=str2num(get(handles.IMLAST,'String')); % Ελεγχος για το αν δώθηκε κάποια τιμή ή αν έχει αριθμητική τιμή και % εμφάνιση ενός error dialog box στην αντίθετη περίπτωση if isnan(IMLAST) errordlg('You must enter a numeric value for last month','Bad input in Last month'); return ; end % Ελεγχος για αρνητικές τιμές και μηδενικές τιμές καθώς και για τιμές % μεγαλύτερες από 12 if IMLAST<=0 errordlg('You can not have a negative or 0 zero value for month','Bad input in Last month'); return ;

Page 192: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 19 of 28

elseif IMLAST>12 errordlg('You can not have a value >12 for month','Bad input in Last month'); return ; end % Ελεγχος για το εαν το IMLAST είναι μέρος του MONTHS if ismember(IMLAST,MONTHS) error=0; else errordlg('You must enter a integer value for month','Bad input in Last month'); return ; end %Calculation Dates IYLAST IYLAST=str2num(get(handles.IYLAST,'String')); % Ελεγχος για το αν δώθηκε κάποια τιμή ή αν έχει αριθμητική τιμή και % εμφάνιση ενός error dialog box στην αντίθετη περίπτωση if isnan(IYLAST) errordlg('You must enter a numeric value for last year','Bad input in Last year'); return ; end % Ελεγχος για αρνητικές τιμές και μηδενικές τιμές if IYLAST<=0 errordlg('You can not have a negative or 0 zero value for year','Bad input in Last year'); return ; end % Ελεγχος για το εαν το IYLAST είναι μέρος του YEARS if ismember(IYLAST,YEARS) error=0; else errordlg('You must enter a integer value for year or year must be between 1990-2020','Bad input in Last year'); return ; end % Ελεγχος για τον αν το IYLAST είναι μικρότερο το IYIN. Δηλαδή αν το τελικό % έτος ειναι μικρότερο του αρχικού έτους if IYLAST < IYIN errordlg('The value of last year is smaller than the initial year','Bad input in Last and Initial year'); return ; end % Ελεγχος για τον αν το IΜLAST είναι μικρότερο το IΜIN. Δηλαδή αν ο τελικός % μήνας ειναι μικρότερος του αρχικού μήνα if (IYLAST == IYIN) & (IMLAST < IMIN) errordlg('The value of last month is smaller than the initial month','Bad input in Last and Initial month'); return ; end % Ελεγχος για τον αν το IDLAST είναι μικρότερο το IDIN. Δηλαδή αν η τελική % ημέρα είναι μικρότερη της αρχικής ημερομηνίας if (IYLAST == IYIN) & (IMLAST == IMIN) & (IDLAST < IDIN) errordlg('The value of last day is smaller than the initial day','Bad input in Last and Initial day'); return ;

Page 193: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 20 of 28

end %SWBACROS method METHOD1=get(handles.METHOD1,'Value'); METHOD2=get(handles.METHOD2,'Value'); MAXITER=0; if (METHOD2 > METHOD1) MAXITER=str2num(get(handles.MAXITER,'String')); % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το MAXITER if isempty(isnan(MAXITER)) errordlg('You must enter a numeric value for maximum number of iterations','Bad input in Maximum number of iterations'); return ; end % Ελεγχος για αρνητικές και μηδενικές τιμές if MAXITER<=0 errordlg('You can not have a negative or 0 zero value for maximum number of iterations','Bad input in Maximum number of iterations'); return ; end; end %Nodal points JMAX=str2num(get(handles.JMAX,'String')); % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το JMAX if isempty(isnan(JMAX)) errordlg('You must enter a numeric value for maximum number of nodal points','Bad input in Maximum number of nodal points'); return ; end % Ελεγχος για αρνητικές και μηδενικές τιμές if JMAX<=0 errordlg('You can not have a negative or 0 zero value for maximum number of nodal points','Bad input in Maximum number of nodal points'); return ; end % Ελεγχος για τιμές μεγαλύτερες από 20 if JMAX>20 errordlg('You can not have a value >20 for maximum number of nodal points','Bad input in Maximum number of nodal points'); return ; end DEPTH=str2num(get(handles.DEPTH,'String')); % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το DEPTH if isempty(isnan(DEPTH)) errordlg('You must enter a numeric value for depth of the unsaturated zone from soil surface','Bad input in Depth of the unsaturated zone from soil surface'); return ; end % Ελεγχος για αρνητικές και μηδενικές τιμές if DEPTH<=0 errordlg('You can not have a negative or 0 zero value for depth of the unsaturated zone from soil surface','Bad input in Depth of the unsaturated zone from soil surface'); return ; end

Page 194: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 21 of 28

%Time Steps DTPAR1=get(handles.DTPAR1,'Value' ); DTPAR2=get(handles.DTPAR2,'Value' ); if (DTPAR1 > DTPAR2) DT2=str2num(get(handles.DT2,'string')); % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το DT2 if isempty(isnan(DT2)) errordlg('You must enter a numeric value for initial time step in constant time step','Bad input in Initial time step in constant time step' ); return ; end % Ελεγχος για αρνητικές και μηδενικές τιμές if DT2<=0 errordlg('You can not have a negative or 0 zero value for initial time step in constant time step','Bad input in Initial time step in constant time step'); return ; end ZETA1=0; DTMIN=0; DTMAX=0; DT1=0; else DT2=0; DT1=str2num(get(handles.DT1,'string')); DTMIN=str2num(get(handles.DTMIN,'string')); DTMAX=str2num(get(handles.DTMAX,'string')); ZETA1=str2num(get(handles.ZETA1,'string')); % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το DT1 if isempty(isnan(DT1)) errordlg('You must enter a numeric value for initial time step in variable time step','Bad input in Initial time step in variable time step' ); return ; end % Ελεγχος για αρνητικές και μηδενικές τιμές if DT1<=0 errordlg('You can not have a negative or 0 zero value for initial time step in variable time step','Bad input in Initial time step in variable time step'); return ; end % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το DTMIN if isempty(isnan(DTMIN)) errordlg('You must enter a numeric value for minimum time step in variable time step','Bad input in Minimum time step in variable time step' ); return ; end % Ελεγχος για αρνητικές και μηδενικές τιμές if DTMIN<=0 errordlg('You can not have a negative or 0 zero value for minimum time step in variable time step','Bad input in Minimum time step in variable time step'); return ; end % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το DTMAX if isempty(isnan(DTMAX)) errordlg('You must enter a numeric value for maximum time step in variable time step','Bad input in Maximum time step in variable time step' );

Page 195: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 22 of 28

return ; end % Ελεγχος για αρνητικές και μηδενικές τιμές if DTMAX<=0 errordlg('You can not have a negative or 0 zero value for maximum time step in variable time step','Bad input in Maximum time step in variable time step'); return ; end % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το ZETA1 if isempty(isnan(ZETA1)) errordlg('You must enter a numeric value for time step convergence parameter for variable time step','Bad input in Time step convergence parameter for variable time step'); return ; end % Ελεγχος για αρνητικές και μηδενικές τιμές if ZETA1<=0 errordlg('You can not have a negative or 0 zero value for time step convergence parameter for variable time step','Bad input in Time step convergence parameter for variable time step'); return ; end % Ελεγχος για το DTMIN (minimum time step) έχει μεγαλύτερη τιμή για το % DTMAX (maximum time step) if DTMIN>DTMAX errordlg('Minimum time step is greater than the maximum time step in variable time step','Bad input in Minimum and Maximum time step in variable time step'); return ; end end %Output files OUTPUTFILE1=get(handles.OUTPUTFILE1,'String'); OUTPUTFILE2=get(handles.OUTPUTFILE2,'String'); % Eλεγχοι για τον αν δόθηκαν τιμές για τις δύο μεταβλητές OUTPUTFILE1 και % OUTPUTFILE2 if isempty(OUTPUTFILE1) errordlg('You must enter a value for water balance results file','Bad input in the first output file'); return ; end if isempty(OUTPUTFILE2) errordlg('You must enter a value for soil profile characteristics file','Bad input in the second output file'); return ; end %Type of run OPT1=get(handles.OPT1,'Value'); OPT2=get(handles.OPT2,'Value'); %Layers LAYER=str2num(get(handles.LAYER,'String')); % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το LAYER if isempty(isnan(LAYER)) errordlg('You must enter a numeric value for the number of different soil

Page 196: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 23 of 28

layers','Bad input in Number of different soil layers'); return ; end % Ελεγχος για αρνητικές και μηδενικές τιμές if LAYER<=0 errordlg('You can not have a negative or 0 zero value for the number of different soil layers','Bad input in Number of different soil layers'); return ; end % Ελεγχος για τιμές μεγαλύτερες του 14 if LAYER>14 errordlg('You can not have greater number than 14 in number of different soil layers','Bad input in Number of different soil layers'); return ; end % Bottom boundary condition IBBC1=get(handles.IBBC1,'Value'); IBBC2=get(handles.IBBC2,'Value'); IBBC3=get(handles.IBBC3,'Value'); %Days of Water Content Profiles DaysForWaterContentProfiles=str2num(get(handles.DaysForWaterContentProfiles,'String')); % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το % DaysForWaterContentProfiles if isempty(isnan(DaysForWaterContentProfiles)) errordlg('You must enter a numeric value for Days of Water Content Profiles','Bad input in Days of Water Content Profiles'); return ; end % Ελεγχος για αρνητικές και μηδενικές τιμές if DaysForWaterContentProfiles<=0 errordlg('You can not have a negative or 0 zero value for Days of Water Content Profiles','Bad input in Days of Water Content Profiles' ); return ; end % Ελεγχος για τιμές μεγαλύτερες από 9 στo DaysForWaterContentProfiles if DaysForWaterContentProfiles>9 errordlg('You can not have >9 for Days of Water Content Profiles','Bad input in Days of Water Content Profiles'); return ; end %Unavailable soil water UNAVAILSW=str2num(get(handles.UNAVAILSW,'String')); % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το UNAVAILSW if isempty(isnan(UNAVAILSW)) errordlg('You must enter a numeric value for Unavailable soil water','Bad input in Unavailable soil water'); return ; end % Ελεγχος για αρνητικές και μηδενικές τιμές if UNAVAILSW<=0 errordlg('You can not have a negative or 0 zero value for Unavailable soil water','Bad input in Unavailable soil water'); return ; end

Page 197: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 24 of 28

%Root water uptake IRWUT=get(handles.IRWUT,'Value'); MODUPT1=0; MODUPT2=0; PSI1=0; PSI2=0; PSI3=0; if (IRWUT>0) MODUPT1=get(handles.MODUPT1,'Value'); MODUPT2=get(handles.MODUPT2,'Value'); PSI1=str2num(get(handles.PSI1,'string')); PSI2=str2num(get(handles.PSI2,'string')); PSI3=str2num(get(handles.PSI3,'string')); % Ελεγχοι για το εάν δόθηκαν αριθμητικές τιμές PSI1 , PSI2 , PSI3 if isempty(isnan(PSI1)) errordlg('You must enter a numeric value for Anaerobiosis point' ,'Bad input in Anaerobiosis point'); return ; end if isempty(isnan(PSI2)) errordlg('You must enter a numeric value for Limiting point','Bad input in Limiting point'); return ; end if isempty(isnan(PSI3)) errordlg('You must enter a numeric value for Wilting point','Bad input in Wilting point'); return ; end end %Excel export EXCELEXPORT=get(handles.EXCELEXPORT,'Value'); %Top boundary condition ITBC1=get(handles.ITBC1,'Value'); ITBC2=get(handles.ITBC2,'Value'); ITBC3=get(handles.ITBC3,'Value'); UDFLUX=0; SIGMA=0; PETIND1=0; PETIND2=0; PETIND3=0; IPETC=0; IAVER1=0; IAVER2=0; IRS1=0; IRS2=0; VRATIO=0; if (ITBC3>0) UDFLUX=str2num(get(handles.UDFLUX,'string')); % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το UDFLUX if isempty(isnan(UDFLUX)) errordlg('You must enter a numeric value for user defined flux' ,'Bad input in User defined flux');

Page 198: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 25 of 28

return ; end % Ελεγχος για αρνητικές τιμές if UDFLUX<0 errordlg('You can not have a negative value for user defined flux' ,'Bad input in User defined flux'); return ; end; SIGMA=0; PETIND1=0; PETIND2=0; PETIND3=0; IPETC=0; IAVER1=0; IAVER2=0; IRS1=0; IRS2=0; VRATIO=0; elseif (ITBC2>0) UDFLUX=0; SIGMA=str2num(get(handles.SIGMA,'String')); % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το SIGMA if isempty(isnan(SIGMA)) errordlg('You must enter a numeric value for Coefficient in actual evapotranspiration function (SIGMA)','Bad input in Coefficient in actual evapotranspiration function (SIGMA)'); return ; end PETIND1=get(handles.PETIND1,'Value'); PETIND2=get(handles.PETIND2,'Value'); PETIND3=get(handles.PETIND3,'Value'); IPETC=get(handles.IPETC,'Value'); IAVER1=get(handles.IAVER1,'Value'); IAVER2=get(handles.IAVER2,'Value'); IRS1=get(handles.IRS1,'Value' ); IRS2=get(handles.IRS2,'Value' ); VRATIO=str2num(get(handles.VRATIO,'String')); % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το VRATIO if isempty(isnan(VRATIO)) errordlg('You must enter a numeric value for Ratio of wind speed during day and night','Bad input in Ratio of wind speed during day and night' ); return ; end % Ελεγχος για αρνητικές τιμές if VRATIO<0 errordlg('You can not have a negative value for Ratio of wind speed during day and night','Bad input in Ratio of wind speed during day and night'); return ; end end % Αφού πέρασαν όλοι οι ελεγχοι και έχοντας στη μνήμη τις μεταβλητές % προσθέτουμε στο αρχείο LIQUIDvars.mat τις μεταβλητές αυτές save LIQUIDvars IDIN IMIN IYIN IDLAST IMLAST IYLAST METHOD1 METHOD2 MAXITER JMAX DEPTH DTPAR1 DTPAR2 DT1 DT2 DTMIN DTMAX ZETA1 OPT1 OPT2 LAYER OUTPUTFILE1 OUTPUTFILIBBC1 IBBC2 IBBC3 IRWUT MODUPT1 MODUPT2 PSI1 PSI2 PSI3 DaysForWaterContentProfiles

Page 199: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 26 of 28

ITBC1 ITBC2 ITBC3 UDFLUX SIGMA PETIND1 PETIND2 PETIND3 IPETC IAVER1 IAVER2 IRS1 IRSVRATIO EXCELEXPORT UNAVAILSW -append % Κλείνουμε το παράθυρο μας και καλούμε το LIQUIDstep3 closereq; LIQUIDstep3 % --- Executes on button press in BACKSTEP1. function BACKSTEP1_Callback(hObject, eventdata, handles) % hObject handle to BACKSTEP1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Η function BACKSTEP1 μας πηγαίνει στο STEP1 κλείνοντας το υπάρχον % παράθυρό μας closereq; liquid % --- Executes on button press in EXITTOWINDOWS. function EXITTOWINDOWS_Callback(hObject, eventdata, handles) % hObject handle to EXITTOWINDOWS (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Η function ΕΧΙΤΤOWINDOWS κλείνει το liquid εμφανίζοντας πρώτα στην οθόνη ένα % dialog box ρωτώντας Yes ή No στην ερώτηση εξόδου από το liquid exit=questdlg('Exit Liquid?','Exit LIQUID','Yes','No','No'); switch exit case 'Yes' closereq; case 'No' return end % --- Executes on button press in LOADING. function LOADING_Callback(hObject, eventdata, handles) % hObject handle to LOADING (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % H function LOADING φορτώνει τις μεταβλητές τις προηγούμενης εκτέλεσης του % SWBACROS. Στην αρχή του προγράμματος κάναμε global της μεταβλητές και % μέσω της εντολής load τις φορτώνει στη μνήμη. Με τη εντολή set γεμίζουμε % την φόρμα μας με τις τιμές αυτές global IDIN IMIN IYIN IDLAST IMLAST IYLAST METHOD1 METHOD2 MAXITER JMAX DEPTH DTPAR1 DTPAR2 DT1 DT2 DTMIN DTMAX ZETA1 OPT1 OPT2 LAYER OUTPUTFILE1 OUTPUTFILE2 IBBC1 IBBC2 IBBC3 IRWUT MODUPT1 MODUPT2 PSI1 PSI2 PSI3 DaysForWaterContentProfiles ITBC1 ITBC2 ITBC3 UDFLUX SIGMA PETIND1 PETIND2 PETIND3 IPETC IAVER1 IAVER2 IRS1 IRS2 VRATIO EXCELEXPORT UNAVAILSW; set(handles.IDIN,'String',IDIN); set(handles.IMIN,'String',IMIN); set(handles.IYIN,'String',IYIN);

Page 200: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 27 of 28

set(handles.IDLAST,'String',IDLAST); set(handles.IMLAST,'String',IMLAST); set(handles.IYLAST,'String',IYLAST); set(handles.METHOD1,'Value',METHOD1); set(handles.METHOD2,'Value',METHOD2); set(handles.MAXITER,'String',MAXITER); set(handles.JMAX,'String',JMAX); set(handles.DEPTH,'String',DEPTH); set(handles.DTPAR1,'Value',DTPAR1); set(handles.DTPAR2,'Value',DTPAR2); set(handles.DT1,'String',DT1); set(handles.DT2,'String',DT2); set(handles.DTMIN,'String',DTMIN); set(handles.DTMAX,'String',DTMAX); set(handles.ZETA1,'String',ZETA1); set(handles.UNAVAILSW,'String',UNAVAILSW); set(handles.OPT1,'Value' ,OPT1); set(handles.OPT2,'Value' ,OPT2); set(handles.LAYER,'String',LAYER); set(handles.OUTPUTFILE1,'String',OUTPUTFILE1); set(handles.OUTPUTFILE2,'String',OUTPUTFILE2); set(handles.IBBC1,'Value',IBBC1); set(handles.IBBC2,'Value',IBBC2); set(handles.IBBC3,'Value',IBBC3); set(handles.IRWUT,'Value',IRWUT); set(handles.MODUPT1,'Value',MODUPT1); set(handles.MODUPT2,'Value',MODUPT2); set(handles.PSI1,'String',PSI1); set(handles.PSI2,'String',PSI2); set(handles.PSI3,'String',PSI3); set(handles.DaysForWaterContentProfiles,'String',DaysForWaterContentProfiles); set(handles.ITBC1,'Value',ITBC1); set(handles.ITBC2,'Value',ITBC2); set(handles.ITBC3,'Value',ITBC3); set(handles.UDFLUX,'String',UDFLUX); set(handles.SIGMA,'String',SIGMA); set(handles.PETIND1,'Value',PETIND1); set(handles.PETIND2,'Value',PETIND2); set(handles.PETIND3,'Value',PETIND3); set(handles.IAVER1,'Value',IAVER1); set(handles.IAVER2,'Value',IAVER2); set(handles.IPETC,'Value',IPETC); set(handles.IRS1,'Value' ,IRS1);

Page 201: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep2.m 28 of 28

set(handles.IRS2,'Value' ,IRS2); set(handles.VRATIO,'String',VRATIO); set(handles.EXCELEXPORT,'Value',EXCELEXPORT);

Page 202: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep3.m 1 of 6

function varargout = LIQUIDstep3(varargin) % LIQUIDSTEP3 M-file for LIQUIDstep3.fig % LIQUIDSTEP3, by itself, creates a new LIQUIDSTEP3 or raises the existing % singleton*. % % H = LIQUIDSTEP3 returns the handle to a new LIQUIDSTEP3 or the handle to % the existing singleton*. % % LIQUIDSTEP3('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in LIQUIDSTEP3.M with the given input arguments. % % LIQUIDSTEP3('Property','Value',...) creates a new LIQUIDSTEP3 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before LIQUIDstep3_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to LIQUIDstep3_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Copyright 2002-2003 The MathWorks, Inc. % Edit the above text to modify the response to help LIQUIDstep3 % Last Modified by GUIDE v2.5 26-Mar-2005 13:34:26 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @LIQUIDstep3_OpeningFcn, ... 'gui_OutputFcn', @LIQUIDstep3_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback' , []); if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1); end if nargout [varargout1:nargout] = gui_mainfcn(gui_State, varargin:); else gui_mainfcn(gui_State, varargin:); end % End initialization code - DO NOT EDIT % --- Executes just before LIQUIDstep3 is made visible. function LIQUIDstep3_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to LIQUIDstep3 (see VARARGIN) % Choose default command line output for LIQUIDstep3 handles.output = hObject;

Page 203: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep3.m 2 of 6

% Update handles structure guidata(hObject, handles); % UIWAIT makes LIQUIDstep3 wait for user response (see UIRESUME) % uiwait(handles.LIQUIDstep3); % --- Outputs from this function are returned to the command line. function varargout = LIQUIDstep3_OutputFcn(h, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout1 = handles.output; % Ορισμός global μεταβλητών global LAYER FirstNodalPoint LastNodalPoint AKS THETS THETD AV ANV FirstNodalPoint1 LastNodalPoint1 % Μεταβλητές % Ολα τα παρακάτω στοιχεια του προγράμματος είναι πίνακες μονοδιάστατοι % με στοιχεία double ακρίβειας και οι διαστάσεις τους είναι (1,j) με j από % 1 μέχρι LAYER % FirstNodalPoint1(1,j) : Περιέχει τις τιμές για το πρώτο σημείο κάθε % εδαφικού ορίζοντα % LastNodalPoint1(1,j) : Περιέχει τις τιμές για το τελευταίο σημείο κάθε % εδαφικού ορίζοντα % AKS1(1,j) : Saturated hydraulic conductivity % THETS1(1,j) : Saturated moisture content % THETD1(1,j) : Moisture content of dried soil % AV1(1,j) : Coefficient A of Van Genuchten model % ANV1(1,j) : Coefficient N of Van Genuchten model % Φορτώνουμε τις μεταβλήτες του LIQUIDvars.mat load LIQUIDvars; % Μεταφορά του παραθύρου πάνω και αριστερά movegui('northwest'); % Εμφανιση στην οθόνη του Number of different soil horizons καθώς και το % Maximum Number of nodal points HORIZONS=uicontrol('style','text','units' ,'normalized','FontSize',15,'position',[0.330.88 0.05 0.04]); set(HORIZONS,'String',LAYER); NODALPOINTS=uicontrol('style','text','units','normalized','FontSize',15,'position',[0.82 0.88 0.05 0.04]); set(NODALPOINTS,'String',JMAX); % Δημιουργία άδειων text box για την εισαγωγη των First Nodal Point , Last % Nodal Point , Saturated hydraulic conductivity (AKS) , Saturated moisture % content (THETS) , Moisture content of dried soil (THETD) , Coefficient % A,N of Van Genuchten model (AV,ANV) for j=1:LAYER FirstNodalPoint(1,j)=uicontrol

Page 204: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep3.m 3 of 6

('style' ,'edit' ,'background','w','units','normalized','position',[0.1 0.80-0.05*j 0.04 0.03]); LastNodalPoint(1,j)=uicontrol('style' ,'edit' ,'background','w','units','normalized','position',[0.170 0.80-0.05*j 0.04 0.03]); AKS(1,j)=uicontrol('style' ,'edit' ,'background','w','units','normalized','position',[0.24 0.80-0.05*j 0.08 0.03]); THETS(1,j)=uicontrol('style' ,'edit' ,'background','w','units','normalized','position',[0.36 0.80-0.05*j 0.08 0.03]); THETD(1,j)=uicontrol('style' ,'edit' ,'background','w','units','normalized','position',[0.48 0.80-0.05*j 0.08 0.03]); AV(1,j)=uicontrol('style' ,'edit' ,'background','w','units','normalized','position',[0.6 0.80-0.05*j 0.08 0.03]); ANV(1,j)=uicontrol('style' ,'edit' ,'background','w','units','normalized','position',[0.75 0.80-0.05*j 0.08 0.03]); TextHorizons(1,j)=uicontrol('style','text','units','normalized','position',[0.02 0.80-0.05*j 0.04 0.03]); set(TextHorizons(1,j),'String',j); end handles.FirstNodalPoint = FirstNodalPoint; handles.LastNodalPoint = LastNodalPoint; handles.AKS = AKS; handles.THETS = THETS; handles.THETD = THETD; handles.AV = AV; handles.ANV = ANV; guidata(h, handles); % --- Executes on button press in BACKSTEP2. function BACKSTEP2_Callback(h, eventdata, handles) % hObject handle to BACKSTEP2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Πηγαίνει στο Step2 κλείνοντας το παράθυρο closereq; LIQUIDstep2 % --- Executes on button press in NEXTSTEP4. function NEXTSTEP4_Callback(h, eventdata, handles) % hObject handle to NEXTSTEP4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Καλεί την μεταβλητή LAYER που θα χρησιμοποιήσουμε παρακάτω και την % ορίσαμε ως global στην αρχή του προγράμματος global LAYER FirstNodalPoint = handles.FirstNodalPoint;

Page 205: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep3.m 4 of 6

LastNodalPoint = handles.LastNodalPoint; AKS = handles.AKS; THETS = handles.THETS; THETD = handles.THETD; AV = handles.AV; ANV = handles.ANV; for j=1:LAYER % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το FirstNodalPoint if isempty(isnan(str2num(get(handles.FirstNodalPoint(1,j),'String')))) errordlg(['You must enter a numeric value for the first nodal point in horizon ' num2str(j)'], 'Bad input in First Nodal Point'); return ; end % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το LastNodalPoint if isempty(isnan(str2num(get(handles.LastNodalPoint(1,j),'String')))) errordlg(['You must enter a numeric value for the last nodal point in horizon ' num2str(j)'], 'Bad input in Last Nodal Point'); return ; end % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το AKS if isempty(isnan(str2num(get(handles.AKS(1,j),'String')))) errordlg(['You must enter a numeric value for the saturated hydraulic conductivity in horizon ' num2str(j)'],'Bad input in Saturated hydraulic conductivity'); return ; end % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το THETS if isempty(isnan(str2num(get(handles.THETS(1,j),'String')))) errordlg(['You must enter a numeric value for the saturated moisture content in horizon ' num2str(j)'],'Bad input in Saturated moisture content'); return ; end % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το THETD if isempty(isnan(str2num(get(handles.THETD(1,j),'String')))) errordlg(['You must enter a numeric value for the moisture content of dried soil in horizon ' num2str(j)'], 'Bad input in Moisture content of dried soil'); return ; end % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το AV if isempty(isnan(str2num(get(handles.AV(1,j),'String')))) errordlg(['You must enter a numeric value for the Coefficient A of Van Genuchten model in horizon ' num2str(j)'],'Bad input in Coefficient A of Van Genuchten model'); return ; end % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το ANV if isempty(isnan(str2num(get(handles.ANV(1,j),'String')))) errordlg(['You must enter a numeric value for the Coefficient N of Van Genuchten model in horizon ' num2str(j)'],'Bad input in Coefficient N of Van Genuchten model'); return ;

Page 206: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep3.m 5 of 6

end % Αφου πέρασαν επιτυχημένα όλους τους ελέγχους το πρόγραμμα παιρνει τις % τιμές που πληκτρολόγησε ο χρήστης FirstNodalPoint1(1,j)= str2num(get(handles.FirstNodalPoint(1,j),'String')); LastNodalPoint1(1,j)= str2num(get(handles.LastNodalPoint(1,j),'String')); AKS1(1,j)= str2num(get(handles.AKS(1,j),'String')); THETS1(1,j)= str2num(get(handles.THETS(1,j),'String')); THETD1(1,j)= str2num(get(handles.THETD(1,j),'String')); AV1(1,j)=str2num(get(handles.AV(1,j),'String')); ANV1(1,j)= str2num(get(handles.ANV(1,j),'String')); end % Αποθηκεύει τις τιμές που πήραμε στο αρχειο LIQUIDvars.mat κλείνει το % παράθυρο και προχωρά στο LIQUDstep4 save LIQUIDvars FirstNodalPoint1 LastNodalPoint1 AKS1 THETS1 THETD1 AV1 ANV1 -appendclosereq; LIQUIDstep4 % --- Executes on button press in EXITTOWINDOWS. function EXITTOWINDOWS_Callback(h, eventdata, handles) % hObject handle to EXITTOWINDOWS (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Η function ΕΧΙΤΤOWINDOWS κλείνει το liquid εμφανίζοντας πρώτα στην οθόνη % ένα dialog box ρωτώντας Yes ή No στην ερώτηση εξόδου από το liquid exit=questdlg('Exit Liquid?','Exit LIQUID','Yes','No','No'); switch exit case 'Yes' closereq; case 'No' return end % --- Executes on button press in LOADING2. function LOADING2_Callback(h, eventdata, handles) % hObject handle to LOADING2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % H function LOADING φορτώνει τις μεταβλητές τις προηγούμενης εκτέλεσης του % SWBACROS. Στην αρχή του προγράμματος κάναμε global της μεταβλητές και % μέσω της εντολής load τις φορτώνει στη μνήμη. Με τη εντολή set γεμίζουμε % την φόρμα μας με τις τιμές αυτές global LAYER FirstNodalPoint1 LastNodalPoint1 AKS1 THETS1 THETD1 AV1 ANV1 load LIQUIDvars; FirstNodalPoint = handles.FirstNodalPoint; LastNodalPoint = handles.LastNodalPoint; AKS = handles.AKS; THETS = handles.THETS; THETD = handles.THETD; AV = handles.AV;

Page 207: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep3.m 6 of 6

ANV = handles.ANV; [previous_rows,previous_columns]=size(FirstNodalPoint1); for j=1:previous_columns set(handles.FirstNodalPoint(1,j),'String',FirstNodalPoint1(1,j)); set(handles.LastNodalPoint(1,j),'String',LastNodalPoint1(1,j)); set(handles.AKS(1,j),'String',AKS1(1,j)); set(handles.THETS(1,j),'String',THETS1(1,j)); set(handles.THETD(1,j),'String',THETD1(1,j)); set(handles.AV(1,j),'String',AV1(1,j)); set(handles.ANV(1,j),'String',ANV1(1,j)); end guidata(h , handles);

Page 208: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep4.m 1 of 4

function varargout = LIQUIDstep4(varargin) % LIQUIDSTEP4 M-file for LIQUIDstep4.fig % LIQUIDSTEP4, by itself, creates a new LIQUIDSTEP4 or raises the existing % singleton*. % % H = LIQUIDSTEP4 returns the handle to a new LIQUIDSTEP4 or the handle to % the existing singleton*. % % LIQUIDSTEP4('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in LIQUIDSTEP4.M with the given input arguments. % % LIQUIDSTEP4('Property','Value',...) creates a new LIQUIDSTEP4 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before LIQUIDstep4_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to LIQUIDstep4_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Copyright 2002-2003 The MathWorks, Inc. % Edit the above text to modify the response to help LIQUIDstep4 % Last Modified by GUIDE v2.5 26-Mar-2005 14:25:45 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @LIQUIDstep4_OpeningFcn, ... 'gui_OutputFcn', @LIQUIDstep4_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback' , []); if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1); end if nargout [varargout1:nargout] = gui_mainfcn(gui_State, varargin:); else gui_mainfcn(gui_State, varargin:); end % End initialization code - DO NOT EDIT % --- Executes just before LIQUIDstep4 is made visible. function LIQUIDstep4_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to LIQUIDstep4 (see VARARGIN) % Choose default command line output for LIQUIDstep4 handles.output = hObject;

Page 209: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep4.m 2 of 4

% Update handles structure guidata(hObject, handles); % UIWAIT makes LIQUIDstep4 wait for user response (see UIRESUME) % uiwait(handles.LIQUIDstep4); % --- Outputs from this function are returned to the command line. function varargout = LIQUIDstep4_OutputFcn(h, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout1 = handles.output; % Μεταφορά του παραθύρου πάνω και αριστερά movegui('northwest'); % Ορισμός global μεταβλητής global JMAX % Μεταβλητές % Ολα τα παρακάτω στοιχεια του προγράμματος είναι πίνακες μονοδιάστατοι % με στοιχεία double ακρίβειας και οι διαστάσεις τους είναι (1,j) με j από % 1 μέχρι JMAX % SizeNodalPoints1(1,j) : Περιέχει τις τιμές του μεγέθους κάθε κελιού % InitialY1(1,j) : Περιέχει τις τιμές της αρνητικής πίεσης για κάθε κελί % Φορτώνουμε τις μεταβλήτες του LIQUIDvars.mat load LIQUIDvars; % Εμφανιση στην φόρμα του Step4 το Maximum Number of nodal points NODALPOINTS=uicontrol('style','text','units','normalized','FontSize',15,'position',[0.90 0.92 0.05 0.04]); set(NODALPOINTS,'String',JMAX); % Δημιουργία άδειων text box για την εισαγωγη των SizeNodalPoints % και του InitialY for j=1:JMAX SizeNodalPoints(1,j)=uicontrol('style' ,'edit' ,'background','w','units','normalized','position',[0.20 0.88-0.04*j 0.10 0.03]); InitialY(1,j)=uicontrol('style' ,'edit' ,'background','w','units','normalized','position',[0.45 0.88-0.04*j 0.10 0.03]); TextNodalPoints(1,j)=uicontrol('style','text' ,'units','normalized','position',[0.06 0.87-0.04*j 0.04 0.03]); set(TextNodalPoints(1,j),'String',j); end handles.SizeNodalPoints = SizeNodalPoints; handles.InitialY = InitialY; guidata(h, handles);

Page 210: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep4.m 3 of 4

% --- Executes on button press in BACKSTEP3. function BACKSTEP3_Callback(h, eventdata, handles) % hObject handle to BACKSTEP3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Πηγαίνει στο Step3 κλείνοντας το παράθυρο closereq; LIQUIDstep3 % --- Executes on button press in NEXTSTEP5. function NEXTSTEP5_Callback(h, eventdata, handles) % hObject handle to NEXTSTEP5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Καλεί την μεταβλητή JMAX που θα χρησιμοποιήσουμε παρακάτω και την % ορίσαμε ως global στην αρχή του προγράμματος global JMAX SizeNodalPoints = handles.SizeNodalPoints; InitialY = handles.InitialY; for j=1:JMAX % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το SizeNodalPoints if isempty(isnan(str2num(get(handles.SizeNodalPoints(1,j),'String')))) errordlg('You must enter a numeric value for the size of cell' ,'Bad input in Size of cell'); return ; end % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το InitialY if isempty(isnan(str2num(get(handles.InitialY(1,j),'String')))) errordlg('You must enter a numeric value for initial value of negative pressure','Bad input in Initial value of negative pressure'); return ; end % Αφου πέρασαν επιτυχημένα όλους τους ελέγχους το πρόγραμμα παίρνει τις % τιμές που πληκτρολόγησε ο χρήστης SizeNodalPoints1(1,j) = str2num(get(handles.SizeNodalPoints(1,j),'String')); InitialY1(1,j) = str2num(get(handles.InitialY(1,j),'String')); end % Αποθηκεύει τις τιμές που πήραμε στο αρχειο LIQUIDvars.mat κλείνει το % παράθυρο και προχωρά στο LIQUDstep5 save LIQUIDvars SizeNodalPoints1 InitialY1 -append closereq; LIQUIDstep5 % --- Executes on button press in EXITTOWINDOWS. function EXITTOWINDOWS_Callback(hObject, eventdata, handles) % hObject handle to EXITTOWINDOWS (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Η function ΕΧΙΤΤOWINDOWS κλείνει το liquid εμφανίζοντας πρώτα στην οθόνη

Page 211: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep4.m 4 of 4

% ένα dialog box ρωτώντας Yes ή No στην ερώτηση εξόδου από το liquid exit=questdlg('Exit Liquid?','Exit LIQUID','Yes','No','No'); switch exit case 'Yes' closereq; case 'No' return end % --- Executes on button press in LOADING3. function LOADING3_Callback(hObject, eventdata, handles) % hObject handle to LOADING3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % H function LOADING φορτώνει τις μεταβλητές τις προηγούμενης εκτέλεσης του % SWBACROS. Στην αρχή του προγράμματος κάναμε global της μεταβλητές και % μέσω της εντολής load τις φορτώνει στη μνήμη. Με τη εντολή set γεμίζουμε % την φόρμα μας με τις τιμές αυτές global JMAX load LIQUIDvars; SizeNodalPoints = handles.SizeNodalPoints; InitialY = handles.InitialY; [previous_rows,previous_columns]=size(SizeNodalPoints1); for j=1:previous_columns set(handles.SizeNodalPoints(1,j),'String',SizeNodalPoints1(1,j)); set(handles.InitialY(1,j),'String',InitialY1(1,j)); end

Page 212: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep5.m 1 of 5

function varargout = LIQUIDstep5(varargin) % LIQUIDSTEP5 M-file for LIQUIDstep5.fig % LIQUIDSTEP5, by itself, creates a new LIQUIDSTEP5 or raises the existing % singleton*. % % H = LIQUIDSTEP5 returns the handle to a new LIQUIDSTEP5 or the handle to % the existing singleton*. % % LIQUIDSTEP5('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in LIQUIDSTEP5.M with the given input arguments. % % LIQUIDSTEP5('Property','Value',...) creates a new LIQUIDSTEP5 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before LIQUIDstep5_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to LIQUIDstep5_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Copyright 2002-2003 The MathWorks, Inc. % Edit the above text to modify the response to help LIQUIDstep5 % Last Modified by GUIDE v2.5 02-Jan-2005 17:58:57 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @LIQUIDstep5_OpeningFcn, ... 'gui_OutputFcn', @LIQUIDstep5_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback' , []); if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1); end if nargout [varargout1:nargout] = gui_mainfcn(gui_State, varargin:); else gui_mainfcn(gui_State, varargin:); end % End initialization code - DO NOT EDIT % --- Executes just before LIQUIDstep5 is made visible. function LIQUIDstep5_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to LIQUIDstep5 (see VARARGIN) % Choose default command line output for LIQUIDstep5 handles.output = hObject;

Page 213: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep5.m 2 of 5

% Update handles structure guidata(hObject, handles); % UIWAIT makes LIQUIDstep5 wait for user response (see UIRESUME) % uiwait(handles.LIQUIDSTEP5); % --- Outputs from this function are returned to the command line. function varargout = LIQUIDstep5_OutputFcn(h, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % h handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout1 = handles.output; % Μεταφορά του παραθύρου πάνω και αριστερά movegui('northwest'); % Ορισμός global μεταβλητών global DaysForWaterContentProfiles JULINITIALDATE JULLASTDATE INITIALDATE LASTDATE % Μεταβλητές % INITIALDATE : Αρχική ημερομηνία υπολογισμών (Σε γρηγοριανό ημερολόγιο % π.χ. 30/12/2005) (μορφή char) % LASTDATE : Τελική ημερομηνία υπολογισμών (Σε γρηγοριανό ημερολόγιο % π.χ. 31/12/2005) (μορφή char) % JULINITIALDATE : Αρχική ημερομηνία υπολογισμών (Σε ιουλιανό ημερολόγιο % π.χ. 364) (μορφή double) % JULLASTDATE : Τελική ημερομηνία υπολογισμών (Σε ιουλιανό ημερολόγιο % π.χ. 365) (μορφή double) % DAYSPROFILES1(1,j) : Περιέχει τις ημέρες σε ιουλιανό ημερολόγιο για τις % οποίες ο χρήστης επιθυμεί να δει το εδαφικό προφίλ με j από 1 μέχρι % DaysForWaterContentProfiles % Φορτώνουμε τις μεταβλήτες του LIQUIDvars.mat load LIQUIDvars; % Εμφάνιση στη φόρμα μας τις εξής πληροφορίες % Αρχική και τελική ημερομηνία εξομοίωσης και σε γρηγοριανό ημερολόγιο % (π.χ. 1/5/2005) και σε ιουλιανό ημερολόγιο (δηλαδή 121) % Η μετατροπή της γρηγοριανής ημερομηνίας σε ιουλιανή γίνεται με την % function Gr2Jul INITIALDATE=[num2str(IDIN) ,'/', num2str(IMIN) ,'/', num2str(IYIN)]; LASTDATE=[num2str(IDLAST) ,'/', num2str(IMLAST) ,'/', num2str(IYLAST)]; JULINITIALDATE=Gr2Jul(IDIN,IMIN,IYIN); JULLASTDATE=Gr2Jul(IDLAST,IMLAST,IYLAST); INITIALDATE1=uicontrol('style','text','units','normalized','FontSize',12,'FontWeight','bold','position',[0.17 0.82 0.22 0.04]); set(INITIALDATE1,'String',INITIALDATE); LASTDATE2=uicontrol('style','text','units','normalized','FontSize',12,'FontWeight','bold','position',[0.17 0.75 0.22 0.04]);

Page 214: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep5.m 3 of 5

set(LASTDATE2,'String',LASTDATE); JULINITIALDATE1=uicontrol('style' ,'text' ,'units','normalized','FontSize',12,'FontWeight','bold','position',[0.66 0.82 0.16 0.04]); set(JULINITIALDATE1,'String',num2str(JULINITIALDATE)); JULLASTDATE1=uicontrol('style','text','units','normalized','FontSize',12,'FontWeight','bold','position',[0.66 0.75 0.16 0.04]); set(JULLASTDATE1,'String',num2str(JULLASTDATE)); % Δημιουργία άδειων text box για την εισαγωγη των DAYSPROFILE for j=1:DaysForWaterContentProfiles DAYSPROFILES(1,j)=uicontrol('style' ,'edit' ,'backgroundcolor','w','units','normalized','position',[0.08 0.67-0.06*j 0.10 0.05]); end handles.DAYSPROFILES = DAYSPROFILES; guidata(h, handles); % --- Executes on button press in BACKTOSTEP4. function BACKTOSTEP4_Callback(h, eventdata, handles) % h handle to BACKTOSTEP4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Πηγαίνει στο Step4 κλείνοντας το παράθυρο closereq; LIQUIDstep4 % --- Executes on button press in NEXTmainmenu. function NEXTmainmenu_Callback(h, eventdata, handles) % h handle to NEXTmainmenu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Καλεί τις τιμές των μεταβλητών που ορίσαμε ορίσαμε ως global στην αρχή % του προγράμματος global DaysForWaterContentProfiles JULLASTDATE JULINITIALDATE INITIALDATE LASTDATE DAYSPROFILES = handles.DAYSPROFILES; for j=1:DaysForWaterContentProfiles % Ελεγχος για το αν δόθηκε αριθμητική τιμή για το SizeNodalPoints if isempty(isnan(str2num(get(handles.DAYSPROFILES(1,j),'String')))) errordlg(['You must enter a numeric value in date number ' num2str(j)'],'Bad input in Date number'); return ; end % Ελεγχος για το αν η τιμή που δόθηκε βρίσκεται ανάμεσα στην αρχική % και την τελική ημερομονία των υπολογισμών μας if str2num(get(handles.DAYSPROFILES(1,j),'String')) > JULLASTDATE errordlg(['You must enter a value smaller than the last day : ' num2str(JULLASTDATE)],'Bad input in Date number'); return ; end

Page 215: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep5.m 4 of 5

if str2num(get(handles.DAYSPROFILES(1,j),'String')) < JULINITIALDATE errordlg(['You must enter a value greater than the initial day : ' num2str(JULINITIALDATE)],'Bad input in Date number'); return ; end % Αφου πέρασαν επιτυχημένα όλους τους ελέγχους το πρόγραμμα παίρνει τις % τιμές που πληκτρολόγησε ο χρήστης DAYSPROFILES1(1,j) = str2num(get(handles.DAYSPROFILES(1,j),'String')); end % Αποθηκεύει τις τιμές που πήραμε στο αρχειο LIQUIDvars.mat κλείνει το % παράθυρο και προχωρά στο LIQUDstep5 save LIQUIDvars DAYSPROFILES1 JULLASTDATE JULINITIALDATE INITIALDATE LASTDATE -appendclosereq; LIQUIDmenu % --- Executes on button press in EXITTOWINDOWS. function EXITTOWINDOWS_Callback(h, eventdata, handles) % h handle to EXITTOWINDOWS (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Η function ΕΧΙΤΤOWINDOWS κλείνει το liquid εμφανίζοντας πρώτα στην οθόνη % ένα dialog box ρωτώντας Yes ή No στην ερώτηση εξόδου από το liquid exit=questdlg('Exit Liquid?','Exit LIQUID','Yes','No','No'); switch exit case 'Yes' closereq; case 'No' return end % Η function Gr2Jul μετατρέπει την ημερομηνία γρηγοριανού ημερολογίου σε % ιουλιανό.Σας μεταβλητές εισόδου δέχεται τις GrDay,GrMonth,GrYear (ημέρα , % μήνας , χρόνος) κάνει τον έλεγχο για αν το έτος ειναι δίσεκτο και % επιστρέφει την ιουλιανή ημερομηνία μέσω της μεταβλητής εξόδου Julian function [Julian]=Gr2Jul(GrDay,GrMonth,GrYear) Julian=GrDay; MONTH(1)=31; MONTH(3)=31; MONTH(5)=31; MONTH(7)=31; MONTH(8)=31; MONTH(10)=31; MONTH(12)=31; MONTH(4)=30; MONTH(6)=30; MONTH(9)=30; MONTH(11)=30; if rem(GrYear,4)==0 MONTH(2)=29; else MONTH(2)=28;

Page 216: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDstep5.m 5 of 5

end if GrMonth>=2 for j=2:GrMonth Julian=Julian+MONTH(j-1); end end

Page 217: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 1 of 26

function varargout = LIQUIDmenu(varargin) % LIQUIDMENU M-file for LIQUIDmenu.fig % LIQUIDMENU, by itself, creates a new LIQUIDMENU or raises the existing % singleton*. % % H = LIQUIDMENU returns the handle to a new LIQUIDMENU or the handle to % the existing singleton*. % % LIQUIDMENU('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in LIQUIDMENU.M with the given input arguments. % % LIQUIDMENU('Property','Value',...) creates a new LIQUIDMENU or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before LIQUIDmenu_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to LIQUIDmenu_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Copyright 2002-2003 The MathWorks, Inc. % Edit the above text to modify the response to help LIQUIDmenu % Last Modified by GUIDE v2.5 02-Jan-2005 22:55:06 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @LIQUIDmenu_OpeningFcn, ... 'gui_OutputFcn', @LIQUIDmenu_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback' , []); if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1); end if nargout [varargout1:nargout] = gui_mainfcn(gui_State, varargin:); else gui_mainfcn(gui_State, varargin:); end % End initialization code - DO NOT EDIT % --- Executes just before LIQUIDmenu is made visible. function LIQUIDmenu_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to LIQUIDmenu (see VARARGIN) % Choose default command line output for LIQUIDmenu handles.output = hObject;

Page 218: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 2 of 26

% Update handles structure guidata(hObject, handles); % UIWAIT makes LIQUIDmenu wait for user response (see UIRESUME) % uiwait(handles.LIQUIDmenu); % --- Outputs from this function are returned to the command line. function varargout = LIQUIDmenu_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout1 = handles.output; % Μεταφορά του παραθύρου πάνω και αριστερά movegui('northwest'); % Ορισμός global μεταβλητών global DEPTH Depth DAYSPROFILES1 DaysForWaterContentProfiles Day AK INITIALMOISTURE Y ETR PET SC ROOTDP ALAI YMIN AINTER WCEND ACTPREC POTTRANS POTEVAP ACTEVAP QTP QBT EPSINC CUMACTPREC CUMPOTTRANS CUMPOTEVAP CUMACTEVAP CUMQBT EPSTOT CUMACTTRANS ACTTRANS CUMQTP WaterContent NodalPoints JMAX IDIN IMIN IYIN IDLAST IMLAST IYLAST METHOD1 METHOD2 MAXITER DTPAR1 DTPAR2 ZETA1 DTMIN DT2 DTMAX DT1 FirstNodalPoint1 LastNodalPoint1 LAYER AKS1 THETS1 THETD1 AV1 ANV1 IBBC1 IBBC2 IBBC3 ITBC1 ITBC2 ITBC3 OPT1 OPT2 IRWUT UDFLUX MODUPT1 MODUPT2 PSI1 PSI2 PSI3 SIGMA PETIND1 PETIND2 IPETC IAVER1 IAVER2 IRS1 IRS2 VRATIO OUTPUTFILE1 OUTPUTFILE2 SizeNodalPoints1 InitialY1 JULINITIALDATE DAYSPROFILES1 UNAVAILSW JULINITIALDATE JULLASTDATE INITIALDATE LASTDATE DEPTHVar JMAXVar % Μεταβλητές % Ολες οι παρακάτω μεταβλητές είναι διπλής ακρίβειας και όλοι οι πίνακες % (1,j) είναι μονοδιάστατοι % UNAVAILSW : Unavailable Soil water % Depth(1,j) : Depth of each nodal point (j ==> 1..JMAX) % AK(1,j) : Hydraulic conductivity of unsaturated soil (0..Depth) % INITIALMOISTURE(1,j) : Initial moisture (0..Depth) % Y(1,j) : Negative pressure of the soil water (0..Depth) % ETR(1,j) : Reference crop evapotranspiration (j ==> 1..Number of days) % PET(1,j) : Potential evapotranspiration (j ==> 1..Number of days) % SC(1,j): Soil cover (j ==> 1..Number of days) % ROOTDP(1,j) : Root depth (j ==> 1..Number of days) % ALAI(1,j) : Leaf area index (j ==> 1..Number of days) % YMIN(1,j) : Minimum pressure (j ==> 1..Number of days) % AINTER(1,j) : Intercepted rain (j ==> 1..Number of days) % Day(1,j) : Days in julian calendar (j ==> 1..Number of days) % WCEND(1,j) : Water content at the end of the day (j ==> 1..Number of % days) % ACTPREC(1,j) : Actual precipitation (j ==> 1..Number of days) % POTTRANS(1,j) : Potential transpiration (j ==> 1..Number of days) % ACTTRANS(1,j) : Actual transpiration (j ==> 1..Number of days) % POTEVAP(1,j) : Potential evaporation (j ==> 1..Number of days) % ACTEVAP(1,j) : Actual evaporation (j ==> 1..Number of days) % QTP(1,j) : Flux through top boundary (j ==> 1..Number of days)

Page 219: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 3 of 26

% QBT(1,j) : Flux through bottom boundary (j ==> 1..Number of days) % EPSINC(1,j) : Incremental water balance error (j ==> 1..Number of days) % CUMACTPREC(1,j) : Cumulative actual precipitation (j ==> 1..Number of % days) % CUMPOTTRANS(1,j) : Cumulative potential transpiration (j ==> 1..Number of % days) % CUMACTTRANS(1,j) : Cumulative actual transpiration (j ==> 1..Number of % days) % CUMPOTEVAP(1,j) : Cumulative potential evaporation (j ==> 1..Number of % days) % CUMACTEVAP(1,j) : Cumulative actual evaporation (j ==> 1..Number of days) % CUMQTP(1,j) : Cumulative flux through top boundary (j ==> 1..Number of % days) % CUMQBT(1,j) : Cumulative flux through bottom boundary (j ==> 1..Number of % days) % EPSTOT(1,j) : Cumulative water balance error (j ==> 1..Number of days) % NodalPoints(1,j) : Nodal points number (j ==> 1..JMAX) % WaterContent(k,j) : Water content (k ==> 1..Depth , j ==> 1..Number of % days) % IDTDAY : Σημερινή ημέρα από το ρολόι του υπολογιστή % IΜTDAY : Σημερινός μήνας από το ρολόι του υπολογιστή % IΥTDAY : Σημερινό έτος από το ρολόι του υπολογιστή % ! ! ! NEW VARIABLES --> DEPTHVar : Variable depth , JMAXVar : JMAX % Variable % Φορτώνουμε τις μεταβλήτες του LIQUIDvars.mat load LIQUIDvars; % Εμφανιζει στην οθόνη μας τις ημέρες που θέλουμε προφίλ εδαφικής υγρασίας % και στο γρηγοριανό ημερολόγιο και στο ιουλιανό (π.χ. 31/12/2005(365)) for j=1:DaysForWaterContentProfiles TextWaterContentProfiles(1,j)=uicontrol('style' ,'text' ,'foreground','w','units','normalized','FontSize',10,'position',[0.840.75-0.04*j 0.11 0.04]); active.BackgroundColor = [0.9254901960784314 0.9137254901960784 0.8470588235294118]; active.Enable = 'on'; active.ForegroundColor = [0 0 0]; set(findobj(TextWaterContentProfiles,'Type','uicontrol'),active) set(TextWaterContentProfiles,'HandleVisibility','Callback') [TEMPDAY,TEMPMONTH]=Jul2Gr(DAYSPROFILES1(1,j),IYIN); PrintedDay=[num2str(TEMPDAY) '/' num2str(TEMPMONTH) '/' num2str(IYIN) ' (' num2str(DAYSPROFILES1(1,j)) ')']; set(TextWaterContentProfiles(1,j),'String',PrintedDay); end % Εμφανίζει στην οθόνη μας την αρχική και την τελικλη ημερομηνία % υπολογισμών μας και στο γρηγοριανό ημερολόγιο και στο ιουλιανό % (π.χ. Initial and last date : 30/12/2005 (364) - 31/12/2005 (365)) PrintDates=uicontrol('style','text','foreground','w','units','normalized','FontSize',12,'position',[0.2 0.91 0.5 0.04]); active.BackgroundColor = [0.9254901960784314 0.9137254901960784 0.8470588235294118]; active.Enable = 'on'; active.ForegroundColor = [0 0 0]; set(findobj(PrintDates,'Type','uicontrol'),active) set(PrintDates,'HandleVisibility','Callback') set(PrintDates,'String',['Initial and last date : ' INITIALDATE ' (' num2str

Page 220: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 4 of 26

(JULINITIALDATE) ') - ' LASTDATE ' (' num2str(JULLASTDATE) ')']); % Παίρνουμε από το ρολόι του υπολογιστή την σημερινή ημερομηνία str = date; [IYTDAY, IMTDAY, IDTDAY, H, MI, S] = datevec(str); % Αρχίζει η εγγραφή στο αρχειο GNDATA (βασικό αρχείο εισαγωγής των % ρυθμίσεων για το SWBACROS % Δομή GNDATA % record #1 : IDIN,IMIN,IYIN % record #2 : IDLAST,IMLAST,IYLAST % record #3 : IDTDAY,IMTDAY,IYTDAY % record #4 : METHOD1 % ή , MAXITER % ΜΕΤΗΟD2 % record #5 : JMAX,DEPTH % record #6 : DT1 DTPAR1 % ή ,DTMIN,DTMAX,ZETA1 , ή % DT2 DTPAR2 % record #7 : LAYER % record #8 : FirstNodalPoint1(1,1),LastNodalPoint1(1,1) % FirstNodalPoint1(1,1),LastNodalPoint1(1,1) % . . % . . % FirstNodalPoint1(1,LAYER),LastNodalPoint1(1,LAYER) % record #9 : AKS1(1,1),THETS1(1,1),THETD1(1,1),AV1(1,1),ANV1(1,1) % AKS1(1,2),THETS1(1,2),THETD1(1,2),AV1(1,2),ANV1(1,2) % . . . . . % . . . . . % AKS1(1,LAYER),THETS1(1,LAYER),THETD1(1,LAYER),AV1(1,LAYER),ANV1(1,LAYER) % record #10: IBBC1,ITBC1 % ή ή % IBBC2,ITBC2 % ή ή % IBBC3,ITBC3 % record #11: UDFLUX1 (το record αυτό χρειάζεται μόνον όταν IBBC3=1) % record #12: OPT1 % ή % OPT2 % record #13: IRWUT % record #14: MODUPT1 % ή (το record αυτό παραλείπεται αν IRWUT=0) % MODUPT2 % record #15: PSI1,PSI2,PSI3 (το record αυτό παραλείπεται αν IRWUT=0) % record #16: SIGMA1 (το record αυτό παραλείπεται αν ITBC2=0) % record #17: PETIND1 % ή IAVER1 IRS1 % PETIND2,ΙPETC, ή , ή % ή IAVER2 IRS2 % PETIND3 (το record αυτό παραλείπεται αν ITBC2=0) % (Το IPETC ,IAVER1,2 , IRS1,2 έχουν λογική μονον όταν το PETIND2 % είναι διαφορετικό από το 1 αλλιώς παρόλο που εμείς βάζουμε % νούμερα διαβάζονται από το SWBACROS αλλά δεν χρησιμοποιούνται % πουθενά) % record #18: VRATIO1 (το record αυτό παραλείπεται αν ITBC2=0) % record #19: OUTPUTFILE1

Page 221: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 5 of 26

% record #20: OUTPUTFILE2 % record #21: SizeNodalPoints1(1,1) % . % . % SizeNodalPoints1(1,JMAX) % record #22: InitialY1(1,1) % . % . % InitialY1(1,JMAX) fid=fopen('GNDATA','w'); fprintf(fid,'%1.0f,%1.0f,%4.0f\n',IDIN,IMIN,IYIN); fprintf(fid,'%1.0f,%1.0f,%4.0f\n',IDLAST,IMLAST,IYLAST); fprintf(fid,'%1.0f,%1.0f,%4.0f\n',IDTDAY,IMTDAY,IYTDAY); if (METHOD1==1) fprintf(fid,'%1.0f,%1.0f\n',METHOD1,0); else fprintf(fid,'%1.0f,%1.0f\n',METHOD2+1,MAXITER); end fprintf(fid,'%1.0f,%1.0f\n',JMAX,DEPTH); if (DTPAR1==1) fprintf(fid,'%1.0f,%1.0f,%1.0f,%1.0f,%1.0f\n',DT2,DTMIN,DTMAX,ZETA1,1); else fprintf(fid,'%1.0f,%1.0f,%1.0f,%1.0f,%1.0f\n',DT1,DTMIN,DTMAX,ZETA1,2); end fprintf(fid,'%1.0f\n',LAYER); for i=1:LAYER fprintf(fid,'%1.0f,%1.0f\n',FirstNodalPoint1(i),LastNodalPoint1(i)); end for i=1:LAYER fprintf(fid,'%1.4f,%1.4f,%1.4f,%1.4f,%1.4f\n',AKS1(i),THETS1(i),THETD1(i),AV1(i),ANV1(i)); end if (IBBC1==1) IBBC=1; elseif (IBBC2==1) IBBC=2; else IBBC=3; end if (ITBC1==1) ITBC=1; elseif (ITBC2==1) ITBC=2; else ITBC=3; end

Page 222: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 6 of 26

fprintf(fid,'%1.0f,%1.0f\n',IBBC,ITBC); if (ITBC==3) fprintf(fid,'%1.4f\n',UDFLUX); end if (OPT1 > OPT2) fprintf(fid,'%1.0f\n',OPT1); else fprintf(fid,'%1.0f\n',OPT2+1); end fprintf(fid,'%1.0f\n',IRWUT); if (IRWUT == 1) if (MODUPT1 > MODUPT2) fprintf(fid,'%1.0f\n',MODUPT1); else fprintf(fid,'%1.0f\n',MODUPT2+1); end fprintf(fid,'%1.0f,%1.0f,%1.4f\n',PSI1,PSI2,PSI3); end if (ITBC==2) fprintf(fid,'%1.0f\n',SIGMA); if (PETIND1==1) PETIND=1; elseif (PETIND3==1) PETIND=1; else PETIND=2; end fprintf(fid,'%1.0f,%1.0f,%1.0f,%1.0f\n',PETIND,IPETC,IAVER1,IRS1); fprintf(fid,'%1.1f\n',VRATIO); end fprintf(fid,'%s\n',OUTPUTFILE1); fprintf(fid,'%s\n',OUTPUTFILE2); fprintf(fid,'%3.3f\n',SizeNodalPoints1); fprintf(fid,'%3.3f\n',InitialY1); status = fclose(fid); % Αφού έχει ολοκληρώσει την εγγραφή στο GNDATA εκτελεί το SWBACROS στο % background (Sink1e.exe) !Sink1e; % Εχοντας το Sink1e ολοκληρώσει τους υπολογισμούς έχει εξάγει το αρχεία από % το οποία το liquid διαβάζει το δεδομένα μέσω της εντολής textread % Σύνταξη textread % Εστω οτι θέλουμε να διαβάσουμε από το αρχείο INPUT.TXT της μεταβλητές % MEGETHOS και XRONOS που βρίσκονται με τη μορφή στηλών μέσα σε αυτό % INPUT.TXT % Μέγεθος Χρόνος % 1 1.4 % 2 2.3 % 3 3.5

Page 223: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 7 of 26

% 4 3.6 % Το αρχείο αυτό έχει μία γραμμή για επικεφαλίδα και τα δεδομένα που % θέλουμε βρίσκονται σε δύο στήλες και είναι και νούμερα % [MEGETHOS XRONOS]=textread('INPUT.TXT','%f %f','headerlines',1); % Το '%f %f' σημαίνει ότι έχουμε αριθμητικά δεδομένα σε δύο στήλες και το % 'headerlines',1 σημαίνει ότι παραλείπεται η ανάγνωση της πρώτης σειράς % Το περιεχόμενο του MEGETHOS και του XRONOS μετά την εντολή textread θα % είναι MEGETHOS = [1 2 3 4] και XRONOS=[1.4 2.3 3.5 3.6] [Depth AK INITIALMOISTURE Y]=textread('INITSOIL.txt','%f %f %f %f','headerlines',3); [ETR PET]=textread('EVAPOTRANS.txt','%f %f','headerlines',3); [SC ROOTDP ALAI YMIN AINTER]=textread('DAYSCRDetc.txt','%f %f %f %f %f','headerlines',3); [Day WCEND ACTPREC POTTRANS ACTTRANS POTEVAP ACTEVAP QTP QBT EPSINC CUMACTPREC CUMPOTTRANS CUMACTTRANS CUMPOTEVAP CUMACTEVAP CUMQTP CUMQBT EPSTOT]=textread('WATERBAL.txt' ,'%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f','headerlines',26); NodalPoints=textread('NODAL.txt','%f'); WaterContent=dlmread('PROFILE.txt','%f%[^JMAX]'); [DEPTHVar JMAXVar BOOTLESS]=textread('DEPTHJMAXVar.txt','%f %f %f'); % Μέσα στο ακόλουθο if clause γίνεται αν επιλεγεί από το χρήστη το excel % export των δεδομένων του SWBACROS στο αρχείο % LIQUID(ΑΡΧΙΚΗ ΙΟΥΛΙΑΝΗ ΗΜΕΡΑ)-(ΤΕΛΙΚΗ ΙΟΥΛΙΑΝΗ ΗΜΕΡΑ) % π.χ. LIQUID123-125.xls if (EXCELEXPORT == 1) FileName = ['LIQUID' num2str(JULINITIALDATE) '-' num2str(JULLASTDATE)]; if exist([FileName '.xls']) delete([FileName '.xls']); copyfile('templiquid.xls' ,[FileName '.xls']); end waiting = waitbar(0,'Exporting SWBACROS results in EXCEL file.Please wait...'); Header1='Soil Depth';'(cm)' ; xlswrite(FileName,Header1,'Initial Soil Profile Data'); xlswrite(FileName,Depth,'Initial Soil Profile Data','A3'); Header2='Hydraulic';'conductivity (m/day)'; xlswrite(FileName,Header2,'Initial Soil Profile Data','B1'); xlswrite(FileName,AK,'Initial Soil Profile Data','B3'); Header3='Initial';'moisture'; xlswrite(FileName,Header3,'Initial Soil Profile Data','D1'); xlswrite(FileName,INITIALMOISTURE,'Initial Soil Profile Data','D3'); Header4='Negative pressure';'(m)'; xlswrite(FileName,Header4,'Initial Soil Profile Data','E1'); xlswrite(FileName,Y,'Initial Soil Profile Data','E3'); waitbar(10/100) % Soil cover, Root depth, Leaf area index, Minimum pressure Header5='Julian';'Date'; xlswrite(FileName,Header5,'SC,Root Depth,LAI,Y min'); xlswrite(FileName,Day,'SC,Root Depth,LAI,Y min','A3'); Header6='Soil';'cover';

Page 224: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 8 of 26

xlswrite(FileName,Header6,'SC,Root Depth,LAI,Y min','B1'); xlswrite(FileName,SC,'SC,Root Depth,LAI,Y min','B3'); Header7='Area Leaf';'index'; xlswrite(FileName,Header7,'SC,Root Depth,LAI,Y min','C1'); xlswrite(FileName,ALAI,'SC,Root Depth,LAI,Y min','C3'); Header8='Minimum' 'pressure (m)'; xlswrite(FileName,Header8','SC,Root Depth,LAI,Y min','D1'); xlswrite(FileName,YMIN,'SC,Root Depth,LAI,Y min','D3'); Header9='Root' 'depth (m)'; xlswrite(FileName,Header9','SC,Root Depth,LAI,Y min','F1'); xlswrite(FileName,ROOTDP,'SC,Root Depth,LAI,Y min','F3'); waitbar(20/100) % Evapotranspiration xlswrite(FileName,Header5,'Evapotranspiration','A1'); xlswrite(FileName,Day,'Evapotranspiration','A3'); Header11='Reference';'evapotranspiration (mm/day)' ; xlswrite(FileName,Header11,'Evapotranspiration','B1'); xlswrite(FileName,ETR,'Evapotranspiration','B3'); Header12='Potential';'evapotranspiration (mm/day)' ; xlswrite(FileName,Header12,'Evapotranspiration','E1'); xlswrite(FileName,PET,'Evapotranspiration','E3'); waitbar(35/100) % Water balance results xlswrite(FileName,Header5,'Water balance results','A1'); xlswrite(FileName,Day,'Water balance results' ,'A3'); Header13='Water content at';'the end of day (cm)'; xlswrite(FileName,Header13,'Water balance results','B1'); xlswrite(FileName,WCEND,'Water balance results','B3'); Header14='Precipitation &';'irrigation (cm)'; xlswrite(FileName,Header14,'Water balance results','D1'); xlswrite(FileName,ACTPREC,'Water balance results','D3'); Header15='Potential';'transpiration (cm)'; xlswrite(FileName,Header15,'Water balance results','F1'); xlswrite(FileName,POTTRANS,'Water balance results','F3'); Header16='Actual';'transpiration (cm)'; xlswrite(FileName,Header16,'Water balance results','H1'); xlswrite(FileName,ACTTRANS,'Water balance results','H3'); Header17='Potential';'evaporation (cm)'; xlswrite(FileName,Header17,'Water balance results','J1'); xlswrite(FileName,POTEVAP,'Water balance results','J3'); Header18='Actual';'evaporation (cm)'; xlswrite(FileName,Header18,'Water balance results','J1'); xlswrite(FileName,ACTEVAP,'Water balance results','J3'); Header19='Flux through';'top boundary (%)';

Page 225: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 9 of 26

xlswrite(FileName,Header19,'Water balance results','L1'); xlswrite(FileName,QTP,'Water balance results' ,'L3'); Header20='Flux through';'bottom boundary (%)'; xlswrite(FileName,Header20,'Water balance results','N1'); xlswrite(FileName,QBT,'Water balance results' ,'N3'); Header21='Incremental';'error (%)'; xlswrite(FileName,Header21,'Water balance results','P1'); xlswrite(FileName,EPSINC,'Water balance results','P3'); Header22='Cumulative Precipitation';'& irrigation (cm)'; xlswrite(FileName,Header22,'Water balance results','R1'); xlswrite(FileName,CUMACTPREC,'Water balance results','R3'); Header23='Cumulatvive Potential';'transpiration (cm)'; xlswrite(FileName,Header23,'Water balance results','T1'); xlswrite(FileName,CUMPOTTRANS,'Water balance results' ,'T3'); Header24='Cumulative Actual';'transpiration (cm)'; xlswrite(FileName,Header24,'Water balance results','V1'); xlswrite(FileName,ACTTRANS,'Water balance results','V3'); Header25='Cumulative Potential';'evaporation (cm)'; xlswrite(FileName,Header25,'Water balance results','X1'); xlswrite(FileName,CUMPOTEVAP,'Water balance results','X3'); Header26='Cumulative Actual';'evaporation (cm)'; xlswrite(FileName,Header26,'Water balance results','Z1'); xlswrite(FileName,CUMACTEVAP,'Water balance results','Z3'); Header27='Cumulative Flux through';'top boundary (%)'; xlswrite(FileName,Header27,'Water balance results','AB1'); xlswrite(FileName,CUMQTP,'Water balance results','AB3'); Header28='Cumulative Flux through';'bottom boundary (%)'; xlswrite(FileName,Header28,'Water balance results','AD1'); xlswrite(FileName,CUMQBT,'Water balance results','AD3'); Header29='Cumulative water';'balance error (%)'; xlswrite(FileName,Header29,'Water balance results','AF1'); xlswrite(FileName,EPSTOT,'Water balance results','AF3'); waitbar(85/100) LETTERS=['A';'B';'C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T'; Header30='Depth/Day'; xlswrite(FileName,Header30,'Water content profile','A1'); xlswrite(FileName,Day,'Water content profile' ,'A2'); for i=1:JMAX xlswrite(FileName,Depth(i),'Water content profile' ,[LETTERS(i+1) '1']); end xlswrite(FileName,WaterContent,'Water content profile' ,'B2'); waitbar(100/100); close(waiting); msgbox(['LIQUID exported SWBACROS results in ' FileName '.xls' ],'Excel exporting message');

Page 226: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 10 of 26

end % Ολες οι functions εμφάνισης των γραφικών παραστάσεων των δεδομένων που % ακολουθούν έχουν την ακόλουθη μορφή % global ΜΕΤΑΒΛΗΤΗ1 ΜΕΤΑΒΛΗΤΗ2 % Φορτώνει στη μνήμη το δεδομένα (ΜΕΤΑΒΛΗΤΗ1 και ΜΕΤΑΒΛΗΤΗ2) που θα % παρουσιάσει γραφικά η function % clf % Καθαρίζει την οθόνη % figNmumber=figure('Name','ΟΝΟΜΑ ΓΡΑΦΙΚΗΣ ΠΑΡΑΣΤΑΣΤΗΣ') % Ορίζουμε το όνομα της γραφικής παράστασης που εμφανίζεται στο πάνω % αριστερά μέρος του παράθυρου % hold on % . % . εντολές % . % hold off % Ανάμεσα στις δύο αυτές εντολές hold on / hold off εμφανίζουμε τα δεδομένα % και κάνουμε τις ρυθμίσεις που εμείς επιθυμούμε για την γραφική μας % παράσταση % title(strcat('ΤΙΤΛΟΣ ΓΡΑΦΙΚΗΣ ΠΑΡΑΣΤΑΣΗΣ'),'fontsize',ΜΕΓ.ΓΡΑΜΜΑΤΟΣΕΙΡΑΣ) % Ορισμός του τίτλου (πάνω από το γράφημα) καθώς και του μεγέθους αυτού % set(gca,'YDIR','reverse') % Η εντολή αυτή δεν συναντάται σε όλες τις function. Η εντολή αυτή γυρίζει % τη γωνία με την οποία βλέπουμε κατά 90ο δεξιόστροφα (δες όλες τις % γραφικές που είναι ...perDepth) % plot(ΜΕΤΑΒΛΗΤΗ1,ΜΕΤΑΒΛΗΤΗ1,'R.-') % Η παραπάνω εντολή είναι η βασική μας εντολή μιας και αυτή εμφανίζει τα % στοιχεια μας στον Χ άξονα ==> METAΒΛΗΤΗ1 και στον Y αξονα ==> METAΒΛΗΤΗ2 % To 'R.-' σημαίνει R : κόκκινο χρώμα στη γραμμή, . σημαίνει οτι εμφανίζει % μια τελεία σε κάθε σημείο (ΜΕΤΑΒΛΗΤΗ1(1),ΜΕΤΑΒΛΗΤΗ2(1)) και το - σημαίνει % οτι η γραγμμή είναι συνεχής % ylabel('Ονομα άξονα Υ') % Θέτουμε το όνομα του άξονα Υ % xlabel('Ονομα άξονα X') % Θέτουμε το όνομα του άξονα X % legend('Ονομα υπομνήματος') % Ορίζουμε το όνομα του υπομνήματος % Στην περίπτωση που επιθυμούμε να έχουμε πάνω από μια γραφικές (δες π.χ. % THREEinONE).Χρησιμοποιούμε την εντολή subplot(X,Y,N) η οποία χωρίζει το % παράθυρό μας σε Χ επι Υ γραφικές και κάνει ενεργή τη Ν-ιοστή % --- Executes on button press in DEPTHperAK. function DEPTHperAK_Callback(hObject, eventdata, handles) % hObject handle to DEPTHperAK (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Depth AK clf figNumber=figure('Name' ,'Initial hydraulic conductivity of unsaturated soil'); hold on title(strcat('Initial hydraulic conductivity of unsaturated soil per depth'),'fontsize',20) set(gca,'YDir','reverse') plot(AK,Depth,'R.-')

Page 227: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 11 of 26

grid on ylabel('Depth (cm)') xlabel('Hydraulic conductivity (m/day)') legend('Hydraulic conductivity (m/day)') hold off % --- Executes on button press in DEPTHperINITIALMOISTURE. function DEPTHperINITIALMOISTURE_Callback(hObject, eventdata, handles) % hObject handle to DEPTHperINITIALMOISTURE (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Depth INITIALMOISTURE clf figNumber=figure('Name' ,'Initial moisture per depth'); hold on title(strcat('Initial moisture'),'fontsize',20) set(gca,'YDir','reverse') plot(100*INITIALMOISTURE,Depth,'R.-','LineWidth',1) grid on ylabel('Depth (cm)') xlabel('Initial moisture(%)') legend('Initial moisture per depth') hold off % --- Executes on button press in DEPTHperY. function DEPTHperY_Callback(hObject, eventdata, handles) % hObject handle to DEPTHperY (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Depth Y clf figNumber=figure('Name' ,'Initial pressure of the soil water'); hold on title(strcat('Initial pressure of the soil water per depth'),'fontsize',20) set(gca,'YDir','reverse') plot(Y,Depth,'G.-','LineWidth',1) grid on ylabel('Depth (cm)') xlabel('Initial pressure (m)') legend('Initial pressure of the soil water') hold off % --- Executes on button press in THREEinONEINITSOIL. function THREEinONEINITSOIL_Callback(hObject, eventdata, handles) % hObject handle to THREEinONEINITSOIL (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Depth AK INITIALMOISTURE Y clf figNumber=figure('Name' ,'Initial Soil profile'); subplot(3,1,1) hold on

Page 228: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 12 of 26

title(strcat('Initial hydraulic conductivity of unsaturated soil per depth'),'fontsize',11) set(gca,'YDir','reverse') plot(AK,Depth,'Y.-','LineWidth',1) grid on ylabel('Depth (cm)') xlabel('Hydraulic conductivity (m/day)') legend('Hydraulic conductivity (m/day)') hold off subplot(3,1,2) hold on title(strcat('Initial moisture per depth'),'fontsize',11) set(gca,'YDir','reverse') plot(100*INITIALMOISTURE,Depth,'R.-','LineWidth',1) grid on ylabel('Depth (cm)') xlabel('Initial moisture(%)') legend('Initial moisture (%)') hold off subplot(3,1,3) hold on title(strcat('Initial pressure of the soil water per depth'),'fontsize',11) set(gca,'YDir','reverse') plot(Y,Depth,'G.-','LineWidth',1) grid on ylabel('Depth (cm)') xlabel('Initial pressure (m)') legend('Initial pressure (m)') hold off % --- Executes on button press in DAYperETR. function DAYperETR_Callback(hObject, eventdata, handles) % hObject handle to DAYperETR (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day ETR clf figNumber=figure('Name' ,'Reference crop evapotranspiration'); hold on title(strcat('Reference crop evapotranspiration per day'),'fontsize',20) plot(Day,ETR,'R.-','LineWidth',1) grid on xlabel('Day') ylabel('Reference crop evapotranspiration (mm/day)') legend('Reference crop evapotranspiration (mm/day)') hold off % --- Executes on button press in DAYperPET. function DAYperPET_Callback(hObject, eventdata, handles) % hObject handle to DAYperPET (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

Page 229: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 13 of 26

global Day PET clf figNumber=figure('Name' ,'Potential evapotranspiration'); hold on title(strcat('Potential evapotranspiration per day'),'fontsize',20) plot(Day,PET,'B*-','LineWidth',1) grid on xlabel('Day') ylabel('Potential evapotranspiration (mm/day)') legend('Potential evapotranspiration (mm/day)') hold off % --- Executes on button press in TWOinONEEVAPOTRANS. function TWOinONEEVAPOTRANS_Callback(hObject, eventdata, handles) % hObject handle to TWOinONEEVAPOTRANS (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day ETR PET clf figNumber=figure('Name' ,'Potential and reference crop evapotranspiration'); hold on title(strcat('Potential and Reference crop evapotranspiration per day'),'fontsize',20) plot(Day,PET,'B*-',Day,ETR,'R.-') grid on xlabel('Day') ylabel('Evapotranspiration (mm/day)') legend('Potential evapotranspiration (mm/day)','Refence crop evapotranspiration (mm/day)') hold off % --- Executes on button press in TWOinONEEVAPOTRANS2. function TWOinONEEVAPOTRANS2_Callback(hObject, eventdata, handles) % hObject handle to TWOinONEEVAPOTRANS2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day PET ETR clf figNumber=figure('Name' ,'Potential and reference crop evapotranspiration'); subplot(2,1,1) hold on title(strcat('Potential evapotranspiration per day'),'fontsize',15) plot(Day,PET,'B*-') grid on xlabel('Day') ylabel('Evapotranspiration (mm/day)') legend('Potential evapotranspiration (mm/day)') hold off subplot(2,1,2) hold on title(strcat('Reference crop evapotranspiration per day'),'fontsize',15) plot(Day,ETR,'R.-')

Page 230: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 14 of 26

grid on xlabel('Day') ylabel('Evapotranspiration (mm/day)') legend('Refence crop evapotranspiration (mm/day)') hold off % --- Executes on button press in DAYperSC. function DAYperSC_Callback(hObject, eventdata, handles) % hObject handle to DAYperSC (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day SC clf figNumber=figure('Name' ,'Soil Cover'); hold on title(strcat('Soil cover per day'),'fontsize',20) plot(Day,SC,'R.-') grid on xlabel('Day') ylabel('Soil cover (0.0-1.0)') legend('Soil cover per day') hold off % --- Executes on button press in DAYperRD. function DAYperRD_Callback(hObject, eventdata, handles) % hObject handle to DAYperRD (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day ROOTDP clf figNumber=figure('Name' ,'Root depth'); hold on title(strcat('Root depth per day'),'fontsize',20) plot(Day,ROOTDP,'K.-') grid on xlabel('Day') ylabel('Root depth (m)') legend('Root depth (m)') hold off % --- Executes on button press in DAYperALAI. function DAYperALAI_Callback(hObject, eventdata, handles) % hObject handle to DAYperALAI (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day ALAI clf figNumber=figure('Name' ,'Leaf Area Index'); hold on title(strcat('Leaf Area Index per day'),'fontsize',20) plot(Day,ALAI,'b.-') grid on

Page 231: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 15 of 26

xlabel('Day') ylabel('Leaf Area Index') legend('Leaf Area Index') hold off % --- Executes on button press in DAYperYMIIN. function DAYperYMIIN_Callback(hObject, eventdata, handles) % hObject handle to DAYperYMIIN (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day YMIN clf figNumber=figure('Name' ,'Minimum Pressure'); hold on title(strcat('Minimum pressure per day'),'fontsize',20) plot(Day,YMIN,'G.-') grid on xlabel('Day') ylabel('Minimum pressure (m)') legend('Minimum pressure (m)') hold off % --- Executes on button press in FOURinONESCRD. function FOURinONESCRD_Callback(hObject, eventdata, handles) % hObject handle to FOURinONESCRD (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day SC ROOTDP ALAI YMIN clf figNumber=figure('Name' ,'Soil cover , Root Depth , Leaf Area Index , Minimum pressure'); subplot(2,2,1) hold on title(strcat('Soil cover per day'),'fontsize',15) plot(Day,SC,'R.-') grid on xlabel('Day') ylabel('Soil cover (0.0-1.0)') legend('Soil cover per day') hold off subplot(2,2,2) hold on title(strcat('Root depth per day'),'fontsize',15) plot(Day,ROOTDP,'K.-') grid on xlabel('Day') ylabel('Root depth (m)') legend('Root depth (m)') hold off subplot(2,2,3)

Page 232: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 16 of 26

hold on title(strcat('Leaf Area Index per day'),'fontsize',15) plot(Day,ALAI,'C.-') grid on xlabel('Day') ylabel('Leaf Area Index') legend('Leaf Area Index') hold off subplot(2,2,4) hold on title(strcat('Minimum pressure per day'),'fontsize',15) plot(Day,YMIN,'G.-') grid on xlabel('Day') ylabel('Minimum pressure (m)') legend('Minimum pressure (m)') hold off % --- Executes on button press in WCENDperDAY. function WCENDperDAY_Callback(hObject, eventdata, handles) % hObject handle to WCENDperDAY (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day WCEND clf figNumber=figure('Name' ,'Water content of the soil profile at the end of the day'); hold on title(strcat('Water content of the soil profile at the end of the day'),'fontsize',20) plot(Day,WCEND,'R.-','LineWidth',1) grid on xlabel('Day') ylabel('Water content of the soil profile at the end of the day (cm)') legend('Water content of the soil profile at the end of the day (cm)') hold off % --- Executes on button press in ACTPRECandAINTERperDAY. function ACTPRECandAINTERperDAY_Callback(hObject, eventdata, handles) % hObject handle to ACTPRECandAINTERperDAY (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day ACTPREC AINTER clf figNumber=figure('Name' ,'Precipitation / irrigation and intercepted rain per day'); hold on title(strcat('Precipitation / irrigation and intercepted rain per day'),'fontsize',20) bar(Day,ACTPREC,'r') plot(Day,10*AINTER,'--*') grid on xlabel('Day') ylabel('Precipitation and irrigation (cm)') legend('Precipitation and irrigation (cm)','Intercepted rain (cm)' )

Page 233: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 17 of 26

hold off % --- Executes on button press in TRANSperDAY. function TRANSperDAY_Callback(hObject, eventdata, handles) % hObject handle to TRANSperDAY (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day POTTRANS ACTTRANS clf figNumber=figure('Name' ,'Potential and actual transpiration per day'); hold on title(strcat('Potential and actual transpiration (cm) per day'),'fontsize',20) plot(Day,POTTRANS,'R.-',Day,ACTTRANS) grid on xlabel('Day') ylabel('Transpiration (cm)') legend('Potential transpiration (cm)','Actual transpiration (cm)') hold off % --- Executes on button press in EVAPperDAY. function EVAPperDAY_Callback(hObject, eventdata, handles) % hObject handle to EVAPperDAY (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day POTEVAP ACTEVAP clf figNumber=figure('Name' ,'Potential and actual evaporation per day'); hold on title(strcat('Potential and actual evaporation per day'),'fontsize',20) plot(Day,POTEVAP,'R.-',Day,ACTEVAP) grid on xlabel('Day') ylabel('Evaporation (cm)') legend('Potential evaporation (cm)','Actual evaporation (cm)') hold off % --- Executes on button press in QTPandQBTperDAY. function QTPandQBTperDAY_Callback(hObject, eventdata, handles) % hObject handle to QTPandQBTperDAY (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day QTP QBT clf figNumber=figure('Name' ,'Flux through top and bottom boundary per day'); subplot(2,1,1) hold on title(strcat('Flux through top boundary per day'),'fontsize',18) plot(Day,QTP,'R.-') grid on xlabel('Day') ylabel('Flux through top boundary (cm)')

Page 234: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 18 of 26

legend('Flux through top boundary (cm)') hold off subplot(2,1,2) hold on title(strcat('Flux through bottom boundary per day'),'fontsize',18) plot(Day,QBT) grid on xlabel('Day') ylabel('Flux through bottom boundary (cm)') legend('Flux through bottom boundary (cm)') hold off % --- Executes on button press in FIVEINONEWATERBALANCE. function FIVEINONEWATERBALANCE_Callback(hObject, eventdata, handles) % hObject handle to FIVEINONEWATERBALANCE (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day WCEND ACTPREC POTTRANS ACTTRANS POTEVAP ACTEVAP QTP QBT AINTER clf figNumber=figure('Name' ,'5 in one Water balance results'); subplot(3,2,1) hold on title(strcat('Water content of the soil profile at the end of the day'),'fontsize',12) plot(Day,WCEND,'R.-','LineWidth',1) grid on xlabel('Day') ylabel('Water content at the end of the day (cm)') legend('Water content at the end of the day (cm)') hold off subplot(3,2,2) hold on title(strcat('Precipitation / irrigation and intercepted rain per day'),'fontsize',12) bar(Day,ACTPREC,'r') plot(Day,10*AINTER,'--*') grid on xlabel('Day') ylabel('Precipitation and irrigation (cm)') legend('Precipitation and irrigation (cm)','Intercepted rain (cm)' ) hold off subplot(3,2,3) hold on title(strcat('Potential and actual evaporation per day'),'fontsize',12) plot(Day,POTEVAP,'R.-',Day,ACTEVAP) grid on xlabel('Day') ylabel('Evaporation (cm)') legend('Potential evaporation (cm)','Actual evaporation (cm)') hold off subplot(3,2,4)

Page 235: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 19 of 26

hold on title(strcat('Potential and actual transpiration per day'),'fontsize',12) plot(Day,POTTRANS,'R.-',Day,ACTTRANS) grid on xlabel('Day') ylabel('Transpiration (cm)') legend('Potential transpiration (cm)','Actual transpiration (cm)') hold off subplot(3,2,5) hold on title(strcat('Flux through top boundary per day'),'fontsize',12) plot(Day,QTP,'R.-') grid on xlabel('Day') ylabel('Flux through top boundary (cm)') legend('Flux through top boundary (cm)') hold off subplot(3,2,6) hold on title(strcat('Flux through bottom boundary per day'),'fontsize',12) plot(Day,QBT) grid on xlabel('Day') ylabel('Flux through bottom boundary (cm)') legend('Flux through bottom boundary (cm)') hold off % --- Executes on button press in EPSINCperDAY. function EPSINCperDAY_Callback(hObject, eventdata, handles) % hObject handle to EPSINCperDAY (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day EPSINC clf figNumber=figure('Name' ,'Incremental water balance error'); hold on title(strcat('Incremental water balance error (%)'),'fontsize',20) plot(Day,EPSINC,'R.-','LineWidth',1) grid on xlabel('Day') ylabel('Incremental water balance error (%)') legend('Incremental water balance error (%)') hold off % --- Executes on button press in EPSTOTperDAY. function EPSTOTperDAY_Callback(hObject, eventdata, handles) % hObject handle to EPSTOTperDAY (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day EPSTOT

Page 236: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 20 of 26

clf figNumber=figure('Name' ,'Cumulative water balance error')'; hold on title(strcat('Cumulative water balance error'),'fontsize',20) plot(Day,EPSTOT,'R.-','LineWidth',1) grid on xlabel('Day') ylabel('Cumulative water balance error (%)') legend('Cumulative water balance error (%)') hold off % --- Executes on button press in CUMACTPRECperDAY. function CUMACTPRECperDAY_Callback(hObject, eventdata, handles) % hObject handle to CUMACTPRECperDAY (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day CUMACTPREC clf figNumber=figure('Name' ,'Cumulative precipitation and irrigation per day'); hold on title(strcat('Cumulative precipitation and irrigation per day'),'fontsize',20) plot(Day,CUMACTPREC,'R.-','LineWidth',1) grid on xlabel('Day') ylabel('Cumulative precipitation and irrigation (cm)') legend('Cumulative precipitation and irrigation (cm)') hold off % --- Executes on button press in CUMEVAPperDAY. function CUMEVAPperDAY_Callback(hObject, eventdata, handles) % hObject handle to CUMEVAPperDAY (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day CUMPOTEVAP CUMACTEVAP clf figNumber=figure('Name' ,'Cumulative potential and actual evaporation per day'); hold on title(strcat('Cumulative potential and actual evaporation per day' ),'fontsize',20) plot(Day,CUMPOTEVAP,'R.-',Day,CUMACTEVAP) grid on xlabel('Day') ylabel('Cumulative evaporation (cm)') legend('Cumulative potential evaporation','Cumulative actual evaporation (cm)') hold off % --- Executes on button press in TWOINONEWATERBALANCEERROR. function TWOINONEWATERBALANCEERROR_Callback(hObject, eventdata, handles) % hObject handle to TWOINONEWATERBALANCEERROR (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day EPSINC EPSTOT clf

Page 237: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 21 of 26

figNumber=figure('Name' ,'Water balance errors'); subplot(2,1,1) hold on title(strcat('Incremental water balance error (%)'),'fontsize',15) plot(Day,EPSINC,'B*-') grid on xlabel('Day') ylabel('Incremental water balance error (%)') legend('Incremental water balance error (%)') hold off subplot(2,1,2) hold on title(strcat('Cumulative water balance error (%)'),'fontsize',15) plot(Day,EPSTOT,'R.-') grid on xlabel('Day') ylabel('Cumulative water balance error (%)') legend('Cumulative water balance error (%)') hold off % --- Executes on button press in FOURINONECUMWATERBAL. function FOURINONECUMWATERBAL_Callback(hObject, eventdata, handles) % hObject handle to FOURINONECUMWATERBAL (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day CUMACTPREC CUMPOTTRANS CUMACTTRANS CUMPOTEVAP CUMACTEVAP CUMQTP CUMQBT clf figNumber=figure('Name' ,'4 in one cumulative water balance results'); subplot(3,2,1) hold on title(strcat('Cumulative precipitation and irrigation per day'),'fontsize',11) plot(Day,CUMACTPREC,'M.-','LineWidth',1) grid on xlabel('Day') ylabel('Cum.precipitation and irrigation (cm)') legend('Cumulative precipitation and irrigation (cm)') hold off subplot(3,2,2) hold on title(strcat('Cumulative potential and actual evaporation per day' ),'fontsize',11) plot(Day,CUMPOTEVAP,'R.-',Day,CUMACTEVAP) grid on xlabel('Day') ylabel('Cum. evaporation (cm)') legend('Cumulative potential evaporation','Cumulative actual evaporation (cm)') hold off subplot(3,2,3) hold on title(strcat('Cumulative potential and actual transpiration'),'fontsize',11) plot(Day,CUMPOTTRANS,'R.-',Day,CUMACTTRANS) grid on

Page 238: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 22 of 26

xlabel('Day') ylabel('Cum. transpiration (cm)') legend('Cumulative potential transpiration (cm)','Cumulative actual transpiration (cm)') hold off subplot(3,2,4) hold on title(strcat('Cumulative flux through top boundary per day'),'fontsize',11) plot(Day,CUMQTP,'R.-') grid on xlabel('Day') ylabel('Cum. flux through top boundary (cm)') legend('Cumulative flux through top boundary (cm)') hold off subplot(3,2,5) hold on title(strcat('Cum. flux through bottom boundary per day'),'fontsize',11) plot(Day,CUMQBT) grid on xlabel('Day') ylabel('Cum. flux through bottom boundary (cm)') legend('Cumulative flux through bottom boundary (cm)') hold off % --- Executes on button press in CUMTRANSperDAY. function CUMTRANSperDAY_Callback(hObject, eventdata, handles) % hObject handle to CUMTRANSperDAY (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day CUMACTTRANS CUMPOTTRANS clf figNumber=figure('Name' ,'Cumulative potential and actual transpiration per day'); hold on title(strcat('Cumulative potential and actual transpiration'),'fontsize',20) plot(Day,CUMPOTTRANS,'R.-',Day,CUMACTTRANS) grid on xlabel('Day') ylabel('Cumulative transpiration (cm)') legend('Cumulative potential transpiration (cm)','Cumulative actual transpiration (cm)') hold off % --- Executes on button press in CUMQTPandQBTperDAY. function CUMQTPandQBTperDAY_Callback(hObject, eventdata, handles) % hObject handle to CUMQTPandQBTperDAY (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Day CUMQTP CUMQBT clf figNumber=figure('Name' ,'Cumulative flux through top and bottom boundary per day');

Page 239: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 23 of 26

subplot(2,1,1) hold on title(strcat('Cumulative flux through top boundary per day'),'fontsize',18) plot(Day,CUMQTP,'R.-') grid on xlabel('Day') ylabel('Cumulative flux through top boundary (cm)') legend('Cumulative flux through top boundary (cm)') hold off subplot(2,1,2) hold on title(strcat('Cumulative flux through bottom boundary per day'),'fontsize',18) plot(Day,CUMQBT) grid on xlabel('Day') ylabel('Cumulative flux through bottom boundary (cm)') legend('Cumulative flux through bottom boundary (cm)') hold off % --- Executes on button press in WC3D. function WC3D_Callback(hObject, eventdata, handles) % hObject handle to WC3D (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Η function WC3D εμφανίζει μέσω της εντολής surf σε ένα τρισδιάστατο % γράφημα το WaterContent εμφανίζοντας στον Χ αξονα το Depth στον Υ άξονα % το WaterContent (moisture) και Ζ άξονα το Day global WaterContent Depth Day clf figNumber=figure('Name' ,'Water content profile'); hold on title(strcat('Water content profile'),'fontsize',20) surfc(Depth,Day,WaterContent*100) az=-36; el=0; view(az,el); rotate3d on grid on xlabel('Depth of each nodal point (cm)') ylabel('Day') zlabel('Moisture (%)') colorbar hold off % --- Executes on button press in WATERCONTENT. function WATERCONTENT_Callback(hObject, eventdata, handles) % hObject handle to WATERCONTENT (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Depth WaterContent Day JULINITIALDATE DaysForWaterContentProfiles DAYSPROFILES1 UNAVAILSW JMAX IYIN DEPTH THETS1 LAYER LastNodalPoint1 DEPTHVar JMAXVar clf

Page 240: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 24 of 26

for temp=1:DaysForWaterContentProfiles clear TEMP_JMAX TEMP_DEPTH TEMP_UNAVAILSW TEMP_THETAS TEMP_JMAX=JMAXVar(DAYSPROFILES1(temp)-JULINITIALDATE+1); TEMP_UNAVAILSW(1:TEMP_JMAX)= UNAVAILSW; temporary=1; for i=1:TEMP_JMAX if LastNodalPoint1(temporary) < i temporary=temporary+1; end TEMP_THETAS(i)=THETS1(temporary); end figNumber=figure('Name','Water Content profile'); TEMP_WC=WaterContent((DAYSPROFILES1(temp)-JULINITIALDATE+1),1:TEMP_JMAX); plot(TEMP_WC*100,Depth(1:TEMP_JMAX),'b.-',TEMP_UNAVAILSW,Depth(1:TEMP_JMAX),'k.--',100*TEMP_THETAS(1:TEMP_JMAX),Depth(1:TEMP_JMAX),'r.--' ); [TEMPDAY,TEMPMONTH]=Jul2Gr(DAYSPROFILES1(temp),IYIN); PrintedDate=[num2str(TEMPDAY) '/' num2str(TEMPMONTH) '/' num2str(IYIN)]; title(['Water content profile at : ' PrintedDate ' (' num2str(DAYSPROFILES1(temp)) ' day)'],'fontsize',18); grid on ylabel('Depth (cm)'); set(gca,'YDir','reverse'); xlabel('Moisture (%)'); legend('Moisture','Unavailable Soil water','Maximum moisture content'); end % Οι επόμενες πέντε function εμφανίζουν μέσω το notepad (Σημειωματάριο των % Windows) τα 5 αρχεία δεδομένων (INITSOIL.TXT , EVAPOTRANS.TXT , % DAYSCRDetc.TXT , PROFILE.TXT και το WATERBAL.TXT) % --- Executes on button press in VIEWINITSOIL. function VIEWINITSOIL_Callback(hObject, eventdata, handles) % hObject handle to VIEWINITSOIL (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) !notepad INITSOIL.TXT % --- Executes on button press in VIEWEVAPOTRANS. function VIEWEVAPOTRANS_Callback(hObject, eventdata, handles) % hObject handle to VIEWEVAPOTRANS (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) !notepad EVAPOTRANS.TXT % --- Executes on button press in VIEWSCRDetc. function VIEWSCRDetc_Callback(hObject, eventdata, handles) % hObject handle to VIEWSCRDetc (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

Page 241: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 25 of 26

!notepad DAYSCRDetc.TXT % --- Executes on button press in VIEWCONTENTPROFILE. function VIEWCONTENTPROFILE_Callback(hObject, eventdata, handles) % hObject handle to VIEWCONTENTPROFILE (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) !notepad PROFILE.TXT % --- Executes on button press in VIEWWATERBAL. function VIEWWATERBAL_Callback(hObject, eventdata, handles) % hObject handle to VIEWWATERBAL (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) !notepad WATERBAL.TXT % --- Executes on button press in BACKTOSTEP5. function BACKTOSTEP5_Callback(hObject, eventdata, handles) % hObject handle to BACKTOSTEP5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Πηγαίνει στο Step5 κλείνοντας το παράθυρο close all; LIQUIDstep5 % --- Executes on button press in FINALEXIT. function FINALEXIT_Callback(hObject, eventdata, handles) % hObject handle to FINALEXIT (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Η function FINALEXIT κλείνει το liquid εμφανίζοντας πρώτα στην οθόνη % ένα dialog box ρωτώντας Yes ή No στην ερώτηση εξόδου από το liquid exit=questdlg('Exit Liquid?','Exit LIQUID','Yes','No','No'); switch exit case 'Yes' close all; case 'No' return end % Η function Gr2Jul μετατρέπει την ημερομηνία γρηγοριανού ημερολογίου σε % ιουλιανό.Σας μεταβλητές εισόδου δέχεται τις GrDay,GrMonth,GrYear (ημέρα , % μήνας , χρόνος) κάνει τον έλεγχο για αν το έτος ειναι δίσεκτο και % επιστρέφει την ιουλιανή ημερομηνία μέσω της μεταβλητής εξόδου Julian function [GrDay,GrMonth]=Jul2Gr(Julian,GrYear) TEMPDay=Julian;

Page 242: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\LIQUIDmenu.m 26 of 26

MONTH(1)=31; MONTH(3)=31; MONTH(5)=31; MONTH(7)=31; MONTH(8)=31; MONTH(10)=31; MONTH(12)=31; MONTH(4)=30; MONTH(6)=30; MONTH(9)=30; MONTH(11)=30; if rem(GrYear,4)==0 MONTH(2)=29; else MONTH(2)=28; end TEMPMonth=1; while TEMPDay > MONTH(TEMPMonth) TEMPDay= TEMPDay - MONTH(TEMPMonth); TEMPMonth = TEMPMonth+1; end GrDay = TEMPDay; GrMonth = TEMPMonth;

Page 243: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\DAYSCRDetc.txt 1 of 2

SC ROOTDP ALAI YMIN AINTER (M) (M) (MM/DAY) 0.00 0.00 0.00 -7395. 0.00 0.00 0.00 0.00 -8266. 0.00 0.00 0.00 0.00 -3285. 0.00 0.00 0.00 0.00 -4895. 0.00 0.00 0.00 0.00 -7870. 0.00 0.10 0.05 0.00 -9414. 0.00 0.10 0.05 0.00 -8105. 0.00 0.10 0.06 0.00 -8442. 0.00 0.10 0.06 0.00 -6816. 0.00 0.10 0.07 0.00 -7747. 0.00 0.10 0.07 0.00 -9830. 0.00 0.10 0.07 0.00 -10507. 0.00 0.10 0.08 0.00 -3795. 0.00 0.10 0.08 0.00 -4916. 0.00 0.20 0.09 0.00 -7612. 0.00 0.20 0.09 0.00 -10981. 0.00 0.20 0.10 0.00 -11555. 0.00 0.20 0.10 0.00 -10777. 0.00 0.20 0.11 0.00 -9820. 0.00 0.20 0.11 0.00 -5051. 0.00 0.20 0.12 0.00 -3505. 0.00 0.20 0.12 0.00 -3862. 0.00 0.20 0.13 0.00 -6635. 0.00 0.20 0.13 0.00 -8036. 0.00 0.20 0.14 0.00 -11918. 0.00 0.20 0.14 0.00 -16384. 0.00 0.20 0.15 0.20 -13184. 0.00 0.20 0.15 0.20 -11006. 0.00 0.20 0.16 0.20 -5096. 0.00 0.20 0.16 0.20 -1144. 0.00 0.20 0.17 0.20 -3396. 0.00 0.20 0.17 0.20 -7496. 0.00 0.20 0.18 0.20 -8286. 0.00 0.20 0.18 0.20 -3345. 0.00 0.20 0.19 0.20 -5068. 0.00 0.20 0.19 0.20 -8084. 0.00 0.20 0.20 0.20 -9649. 0.00 0.20 0.21 0.20 -8388. 0.00 0.20 0.22 0.20 -8715. 0.00 0.20 0.23 0.21 -7068. 0.00 0.20 0.24 0.21 -7972. 0.00 0.30 0.25 0.22 -10076. 0.00 0.30 0.26 0.23 -10750. 0.00 0.30 0.27 0.23 -3917. 0.00 0.30 0.28 0.24 -5061. 0.00 0.30 0.29 0.25 -7674. 0.00 0.30 0.30 0.26 -11078. 0.00 0.30 0.31 0.28 -11602. 0.00 0.30 0.32 0.29 -10840. 0.00 0.30 0.33 0.30 -9880. 0.00 0.30 0.34 0.32 -5105. 0.00 0.40 0.35 0.33 -3600. 0.00 0.40 0.36 0.35 -3964. 0.00

Page 244: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\DAYSCRDetc.txt 2 of 2

0.40 0.37 0.36 -6752. 0.00 0.40 0.38 0.38 -8147. 0.00 0.40 0.39 0.40 -11962. 0.00 0.40 0.40 0.42 -16362. 0.00 0.40 0.41 0.44 -13074. 0.00 0.40 0.42 0.46 -11133. 0.00 0.40 0.43 0.48 -5155. 0.00 0.40 0.44 0.50 -1191. 0.00 0.50 0.45 0.53 -13314. 0.00 0.50 0.46 0.55 -14134. 0.00 0.50 0.47 0.58 -13226. 0.00 0.50 0.48 0.60 -13851. 0.00 0.50 0.49 0.63 -18695. 0.00 0.50 0.50 0.65 -13210. 0.00 0.50 0.51 0.68 -11844. 0.00 0.50 0.52 0.71 -12565. 0.00 0.50 0.53 0.74 -12690. 0.00 0.50 0.54 0.77 -10423. 0.00 0.60 0.55 0.80 -13194. 0.00 0.60 0.56 0.84 -12753. 0.00 0.60 0.57 0.87 -10832. 0.00 0.60 0.58 0.90 -5118. 0.00 0.60 0.59 0.94 -6370. 0.00 0.60 0.60 0.97 -7780. 0.00 0.60 0.61 1.01 -8680. 0.00 0.60 0.62 1.05 -10762. 0.00 0.60 0.63 1.08 -10457. 0.00 0.60 0.64 1.12 -9556. 0.00 0.70 0.65 1.16 -11145. 0.00 0.70 0.66 1.20 -13150. 0.00 0.70 0.67 1.24 -14178. 0.00 0.70 0.68 1.29 -12225. 0.00 0.70 0.69 1.33 -11523. 0.00 0.80 0.70 1.37 -10891. 0.00 0.80 0.70 1.42 -7862. 0.00 0.80 0.70 1.46 -5851. 0.00 0.90 0.70 1.51 -42089. 0.00 0.90 0.70 1.56 -8721. 0.00 0.90 0.70 1.60 -10440. 0.00 0.90 0.70 1.65 -11352. 0.00 0.90 0.70 1.70 -9893. 0.00 0.90 0.70 1.75 -9984. 0.00 0.90 0.70 1.80 -7345. 0.00 0.90 0.70 1.86 -5952. 0.00 0.90 0.70 1.91 -7243. 0.00 0.90 0.70 1.96 -8776. 0.00 0.90 0.70 2.02 -9760. 0.00 0.90 0.70 2.07 -8528. 0.00

Page 245: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\DEPTHJMAXVAR.txt 1 of 2

1.00 20 100 1.00 20 101 1.00 20 102 1.00 20 103 1.00 20 104 1.00 20 105 1.00 20 106 1.00 20 107 1.00 20 108 1.00 20 109 1.00 20 110 1.00 20 111 1.00 20 112 1.00 20 113 1.00 20 114 1.00 20 115 1.00 20 116 1.00 20 117 1.00 20 118 1.00 20 119 1.00 20 120 1.00 20 121 1.00 20 122 1.00 20 123 1.00 20 124 1.00 20 125 1.00 20 126 1.00 20 127 1.00 20 128 1.00 20 129 1.00 20 130 1.00 20 131 1.00 20 132 1.00 20 133 1.00 20 134 1.00 20 135 1.00 20 136 1.00 20 137 1.00 20 138 1.00 20 139 1.00 20 140 1.00 20 141 1.00 20 142 1.00 20 143 1.00 20 144 1.00 20 145 1.00 20 146 1.00 20 147 1.00 20 148 1.00 20 149 1.00 20 150 1.00 20 151 1.00 20 152 1.00 20 153 1.00 20 154 1.00 20 155

Page 246: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\DEPTHJMAXVAR.txt 2 of 2

1.00 20 156 1.00 20 157 1.00 20 158 1.00 20 159 1.00 20 160 1.00 20 161 1.00 20 162 1.00 20 163 1.00 20 164 1.00 20 165 1.00 20 166 1.00 20 167 1.00 20 168 1.00 20 169 1.00 20 170 1.00 20 171 1.00 20 172 1.00 20 173 1.00 20 174 1.00 20 175 1.00 20 176 1.00 20 177 1.00 20 178 1.00 20 179 1.00 20 180 1.00 20 181 1.00 20 182 1.00 20 183 1.00 20 184 1.00 20 185 1.00 20 186 1.00 20 187 1.00 20 188 1.00 20 189 1.00 20 190 1.00 20 191 1.00 20 192 1.00 20 193 1.00 20 194 1.00 20 195 1.00 20 196 1.00 20 197 1.00 20 198 1.00 20 199 1.00 20 200

Page 247: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\EVAPOTRANS.txt 1 of 2

REFERENCE AND POTENTIAL EVAPOTRANSPIRATION (MM/DAY) ETR PET 3.78 2.83 4.81 3.61 2.77 2.08 3.80 2.85 4.49 3.36 4.19 3.14 5.12 3.84 4.93 3.69 4.16 3.12 4.97 3.73 5.30 3.97 3.00 2.25 2.87 2.15 2.66 2.00 5.99 4.49 6.21 4.66 5.85 4.39 5.38 4.03 5.76 4.32 5.88 4.41 2.76 2.07 3.77 2.83 6.58 4.93 6.72 5.04 5.31 3.98 6.96 5.22 6.87 5.15 7.65 5.74 4.89 3.67 2.01 1.51 3.04 2.28 5.43 4.34 4.95 3.96 2.95 2.36 5.83 4.67 6.84 5.47 5.96 4.77 7.79 6.24 7.71 6.17 7.18 5.74 6.47 5.17 8.31 6.65 5.10 4.08 4.25 3.40 4.05 3.24 7.02 5.62 7.03 5.62 6.52 5.22 6.50 5.20 6.46 5.17 5.58 4.46 3.64 2.92 4.96 3.97

Page 248: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\EVAPOTRANS.txt 2 of 2

7.30 5.84 7.79 6.23 8.98 7.18 9.57 7.65 7.47 5.97 7.49 5.99 4.54 3.63 2.72 2.72 7.17 7.17 8.23 8.23 8.70 8.70 8.09 8.09 10.83 10.83 8.91 8.91 9.81 9.81 5.84 5.84 8.85 8.85 6.97 6.97 7.83 7.83 9.20 9.20 5.17 5.17 4.08 4.08 5.68 5.68 7.48 7.48 7.15 7.15 7.46 7.46 8.15 8.15 7.48 7.48 6.78 6.78 7.38 7.38 7.65 7.65 7.43 7.43 7.61 7.61 7.70 7.70 8.72 8.72 6.26 6.26 6.47 6.47 7.37 7.37 7.29 7.29 8.22 8.22 6.96 6.96 6.67 6.67 7.22 7.22 6.22 6.22 6.96 6.96 7.03 7.03 6.90 6.90 7.89 7.89

Page 249: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\INITSOIL.txt 1 of 1

INITIAL SOIL PROFILE DATA DEPTH(CM) AK(M/DAY) INITIAL MOISTURE Y (M) 2.5 0.3216E-04 0.3383E+00 -7.400 7.5 0.3216E-04 0.3383E+00 -7.400 12.5 0.3216E-04 0.3383E+00 -7.400 17.5 0.3216E-04 0.3383E+00 -7.400 22.5 0.3216E-04 0.3383E+00 -7.400 27.5 0.3216E-04 0.3383E+00 -7.400 32.5 0.3216E-04 0.3383E+00 -7.400 37.5 0.3216E-04 0.3383E+00 -7.400 42.5 0.6264E-05 0.3603E+00 -5.580 47.5 0.6264E-05 0.3603E+00 -5.580 52.5 0.6264E-05 0.3603E+00 -5.580 57.5 0.6264E-05 0.3603E+00 -5.580 62.5 0.3230E-06 0.2878E+00 -8.096 67.5 0.3230E-06 0.2878E+00 -8.096 72.5 0.3230E-06 0.2878E+00 -8.096 77.5 0.3230E-06 0.2878E+00 -8.096 82.5 0.6384E-09 0.2593E+00 -35.800 87.5 0.6384E-09 0.2593E+00 -35.800 92.5 0.6384E-09 0.2593E+00 -35.800 97.5 0.6384E-09 0.2593E+00 -35.800

Page 250: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\NODAL.txt 1 of 1

1 2.500 2 7.500 3 12.500 4 17.500 5 22.500 6 27.500 7 32.500 8 37.500 9 42.500 10 47.500 11 52.500 12 57.500 13 62.500 14 67.500 15 72.500 16 77.500 17 82.500 18 87.500 19 92.500 20 97.500

Page 251: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\PROFILE.txt

1 of 6

0.320 0.331 0.336 0.338 0.338 0.339 0.340 0.342 0.355 0.360 0.360 0.359 0.289 0.288 0.288 0.288

0.259 0.259 0.259 0.259

0.297 0.322 0.331 0.335 0.338 0.339 0.341 0.343 0.353 0.359 0.360 0.358 0.290 0.288 0.288 0.288

0.260 0.259 0.259 0.259

0.284 0.314 0.326 0.332 0.336 0.339 0.341 0.342 0.352 0.358 0.359 0.358 0.291 0.288 0.288 0.287

0.260 0.259 0.259 0.259

0.273 0.308 0.322 0.330 0.334 0.338 0.340 0.342 0.351 0.357 0.358 0.357 0.292 0.288 0.288 0.287

0.260 0.259 0.259 0.259

0.264 0.304 0.319 0.327 0.333 0.336 0.339 0.341 0.350 0.356 0.358 0.357 0.293 0.288 0.288 0.287

0.260 0.259 0.259 0.259

0.256 0.300 0.316 0.325 0.331 0.335 0.338 0.340 0.349 0.355 0.357 0.356 0.294 0.288 0.288 0.287

0.260 0.259 0.259 0.259

0.249 0.297 0.313 0.323 0.329 0.333 0.337 0.339 0.348 0.354 0.357 0.356 0.294 0.288 0.288 0.287

0.260 0.259 0.259 0.259

0.242 0.294 0.311 0.321 0.327 0.332 0.335 0.338 0.347 0.354 0.356 0.355 0.295 0.289 0.288 0.287

0.261 0.259 0.259 0.259

0.235 0.292 0.309 0.319 0.326 0.331 0.334 0.336 0.346 0.353 0.355 0.355 0.295 0.289 0.288 0.287

0.261 0.259 0.259 0.259

0.229 0.290 0.307 0.317 0.324 0.329 0.333 0.335 0.345 0.352 0.355 0.355 0.295 0.289 0.288 0.287

0.261 0.259 0.259 0.259

0.222 0.289 0.306 0.316 0.323 0.328 0.332 0.334 0.344 0.351 0.354 0.354 0.296 0.289 0.288 0.286

0.261 0.259 0.259 0.259

0.216 0.287 0.304 0.314 0.322 0.327 0.330 0.333 0.343 0.351 0.354 0.354 0.296 0.289 0.288 0.286

0.261 0.259 0.259 0.259

0.233 0.286 0.303 0.313 0.320 0.325 0.329 0.332 0.342 0.350 0.353 0.354 0.296 0.289 0.288 0.286

0.261 0.259 0.259 0.259

0.237 0.285 0.302 0.312 0.319 0.324 0.328 0.331 0.341 0.349 0.353 0.353 0.296 0.289 0.288 0.286

0.261 0.259 0.259 0.259

0.230 0.284 0.300 0.311 0.318 0.323 0.327 0.330 0.340 0.348 0.352 0.353 0.297 0.290 0.288 0.286

0.262 0.259 0.259 0.259

0.224 0.282 0.299 0.310 0.317 0.322 0.326 0.329 0.339 0.348 0.352 0.352 0.297 0.290 0.288 0.286

0.262 0.259 0.259 0.259

0.476 0.464 0.446 0.412 0.348 0.324 0.325 0.328 0.338 0.347 0.351 0.352 0.297 0.290 0.288 0.286

0.262 0.259 0.259 0.259

0.388 0.395 0.397 0.394 0.387 0.376 0.360 0.345 0.339 0.346 0.351 0.352 0.297 0.290 0.288 0.286

0.262 0.259 0.259 0.259

0.374 0.379 0.381 0.381 0.378 0.374 0.368 0.363 0.351 0.347 0.350 0.351 0.297 0.290 0.288 0.286

Page 252: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\PROFILE.txt

2 of 6

0.262 0.259 0.259 0.259

0.389 0.385 0.382 0.378 0.376 0.373 0.370 0.366 0.362 0.349 0.350 0.351 0.297 0.290 0.288 0.285

0.262 0.259 0.259 0.259

0.388 0.386 0.383 0.380 0.377 0.374 0.371 0.369 0.368 0.352 0.350 0.351 0.297 0.290 0.288 0.285

0.262 0.259 0.259 0.259

0.408 0.401 0.394 0.387 0.382 0.378 0.374 0.372 0.372 0.355 0.351 0.351 0.297 0.290 0.288 0.285

0.263 0.259 0.259 0.259

0.382 0.386 0.387 0.386 0.384 0.382 0.379 0.376 0.377 0.359 0.352 0.351 0.297 0.291 0.288 0.285

0.263 0.259 0.259 0.259

0.373 0.377 0.380 0.381 0.381 0.380 0.379 0.378 0.381 0.362 0.353 0.351 0.297 0.291 0.288 0.285

0.263 0.259 0.259 0.259

0.366 0.371 0.375 0.377 0.378 0.378 0.378 0.378 0.383 0.366 0.355 0.351 0.297 0.291 0.288 0.285

0.263 0.259 0.259 0.259

0.361 0.367 0.370 0.373 0.375 0.376 0.377 0.377 0.383 0.368 0.357 0.352 0.297 0.291 0.288 0.285

0.263 0.259 0.259 0.259

0.353 0.359 0.364 0.369 0.372 0.373 0.374 0.375 0.382 0.370 0.358 0.353 0.297 0.291 0.288 0.285

0.263 0.259 0.259 0.259

0.346 0.353 0.359 0.364 0.368 0.370 0.372 0.373 0.380 0.370 0.360 0.354 0.297 0.291 0.288 0.285

0.263 0.259 0.259 0.259

0.354 0.355 0.358 0.361 0.365 0.367 0.369 0.370 0.379 0.371 0.361 0.355 0.297 0.291 0.288 0.285

0.264 0.259 0.259 0.259

0.484 0.479 0.472 0.462 0.447 0.425 0.400 0.382 0.378 0.371 0.362 0.356 0.297 0.291 0.288 0.285

0.264 0.259 0.259 0.259

0.444 0.444 0.443 0.442 0.440 0.438 0.435 0.432 0.437 0.384 0.364 0.357 0.298 0.291 0.288 0.285

0.264 0.259 0.259 0.259

0.420 0.424 0.426 0.428 0.430 0.431 0.431 0.431 0.448 0.410 0.373 0.359 0.298 0.291 0.288 0.285

0.264 0.259 0.259 0.259

0.409 0.413 0.417 0.420 0.422 0.424 0.425 0.425 0.443 0.420 0.386 0.364 0.299 0.291 0.288 0.285

0.264 0.259 0.259 0.259

0.403 0.407 0.411 0.413 0.416 0.418 0.419 0.420 0.438 0.422 0.396 0.371 0.300 0.292 0.288 0.284

0.264 0.259 0.259 0.259

0.396 0.401 0.404 0.407 0.410 0.412 0.414 0.415 0.432 0.420 0.401 0.379 0.301 0.292 0.288 0.284

0.264 0.259 0.259 0.259

0.390 0.395 0.399 0.402 0.405 0.408 0.410 0.411 0.427 0.418 0.403 0.385 0.304 0.292 0.288 0.284

0.265 0.259 0.259 0.259

0.386 0.390 0.394 0.397 0.400 0.403 0.405 0.407 0.423 0.416 0.404 0.390 0.306 0.292 0.288 0.284

0.265 0.259 0.259 0.259

Page 253: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\PROFILE.txt

3 of 6

0.380 0.385 0.389 0.393 0.396 0.399 0.401 0.403 0.418 0.414 0.405 0.393 0.309 0.293 0.288 0.284

0.265 0.259 0.259 0.259

0.375 0.380 0.385 0.388 0.392 0.395 0.397 0.399 0.414 0.412 0.405 0.396 0.312 0.293 0.288 0.284

0.265 0.259 0.259 0.259

0.371 0.376 0.381 0.384 0.388 0.391 0.394 0.396 0.410 0.409 0.404 0.397 0.315 0.294 0.288 0.284

0.265 0.259 0.259 0.259

0.367 0.372 0.377 0.381 0.384 0.388 0.390 0.392 0.407 0.407 0.403 0.397 0.317 0.294 0.288 0.284

0.265 0.259 0.259 0.259

0.362 0.368 0.373 0.377 0.380 0.384 0.387 0.389 0.403 0.405 0.402 0.398 0.320 0.295 0.288 0.284

0.265 0.259 0.259 0.259

0.359 0.365 0.370 0.374 0.378 0.381 0.384 0.386 0.400 0.403 0.401 0.398 0.321 0.296 0.288 0.284

0.266 0.259 0.259 0.259

0.368 0.368 0.370 0.373 0.376 0.378 0.381 0.383 0.397 0.401 0.400 0.397 0.323 0.297 0.288 0.284

0.266 0.259 0.259 0.259

0.365 0.367 0.370 0.372 0.374 0.377 0.379 0.381 0.395 0.399 0.399 0.397 0.324 0.298 0.289 0.284

0.266 0.259 0.259 0.259

0.357 0.362 0.366 0.369 0.372 0.375 0.377 0.379 0.392 0.397 0.398 0.396 0.325 0.299 0.289 0.284

0.266 0.259 0.259 0.259

0.487 0.484 0.478 0.470 0.459 0.443 0.422 0.403 0.395 0.395 0.397 0.396 0.326 0.300 0.289 0.284

0.266 0.259 0.259 0.259

0.422 0.428 0.432 0.435 0.436 0.437 0.437 0.437 0.455 0.417 0.399 0.395 0.326 0.300 0.289 0.284

0.266 0.259 0.259 0.259

0.412 0.416 0.420 0.423 0.425 0.427 0.428 0.430 0.450 0.432 0.411 0.398 0.327 0.301 0.289 0.284

0.266 0.259 0.259 0.259

0.406 0.410 0.413 0.416 0.418 0.420 0.422 0.423 0.443 0.433 0.418 0.405 0.328 0.302 0.290 0.284

0.266 0.259 0.259 0.259

0.419 0.418 0.417 0.417 0.417 0.418 0.418 0.420 0.438 0.431 0.421 0.410 0.330 0.303 0.290 0.284

0.267 0.259 0.259 0.259

0.418 0.418 0.418 0.418 0.418 0.418 0.419 0.420 0.437 0.431 0.422 0.414 0.333 0.304 0.290 0.284

0.267 0.259 0.259 0.259

0.432 0.429 0.427 0.425 0.423 0.422 0.421 0.421 0.438 0.431 0.424 0.416 0.335 0.305 0.290 0.284

0.267 0.259 0.259 0.259

0.411 0.414 0.416 0.418 0.419 0.420 0.421 0.422 0.440 0.433 0.425 0.419 0.338 0.306 0.291 0.284

0.267 0.259 0.259 0.259

0.402 0.406 0.408 0.411 0.413 0.415 0.416 0.418 0.437 0.433 0.427 0.421 0.340 0.308 0.291 0.284

0.267 0.259 0.259 0.259

0.395 0.398 0.402 0.404 0.407 0.409 0.411 0.412 0.432 0.431 0.427 0.422 0.342 0.309 0.291 0.284

Page 254: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\PROFILE.txt

4 of 6

0.267 0.259 0.259 0.259

0.388 0.392 0.395 0.398 0.401 0.403 0.405 0.407 0.425 0.428 0.426 0.423 0.344 0.311 0.292 0.284

0.267 0.259 0.259 0.259

0.383 0.387 0.390 0.393 0.396 0.398 0.400 0.402 0.419 0.424 0.425 0.423 0.346 0.312 0.292 0.284

0.268 0.259 0.259 0.259

0.377 0.381 0.385 0.388 0.391 0.393 0.396 0.398 0.414 0.421 0.423 0.422 0.347 0.314 0.293 0.284

0.268 0.259 0.259 0.259

0.382 0.383 0.384 0.386 0.388 0.390 0.393 0.394 0.411 0.418 0.420 0.420 0.347 0.316 0.293 0.284

0.268 0.259 0.259 0.259

0.487 0.484 0.480 0.474 0.466 0.456 0.443 0.432 0.422 0.416 0.419 0.419 0.347 0.317 0.294 0.284

0.268 0.259 0.259 0.259

0.428 0.433 0.437 0.440 0.443 0.444 0.445 0.446 0.472 0.446 0.426 0.420 0.347 0.318 0.295 0.284

0.268 0.259 0.259 0.259

0.416 0.420 0.424 0.427 0.429 0.432 0.433 0.435 0.460 0.449 0.437 0.427 0.348 0.319 0.295 0.285

0.268 0.259 0.259 0.259

0.405 0.410 0.414 0.417 0.419 0.422 0.424 0.425 0.448 0.444 0.439 0.432 0.350 0.321 0.296 0.285

0.268 0.259 0.259 0.259

0.493 0.492 0.491 0.490 0.488 0.485 0.483 0.480 0.512 0.457 0.440 0.434 0.353 0.322 0.297 0.285

0.268 0.259 0.259 0.259

0.444 0.449 0.453 0.456 0.459 0.462 0.464 0.466 0.512 0.503 0.486 0.464 0.359 0.324 0.298 0.285

0.269 0.259 0.259 0.259

0.433 0.437 0.441 0.444 0.447 0.449 0.452 0.454 0.492 0.490 0.485 0.479 0.376 0.327 0.298 0.285

0.269 0.259 0.259 0.259

0.423 0.427 0.430 0.434 0.436 0.439 0.442 0.444 0.477 0.479 0.479 0.478 0.387 0.333 0.300 0.285

0.269 0.259 0.259 0.259

0.416 0.420 0.424 0.427 0.430 0.432 0.435 0.437 0.467 0.471 0.473 0.474 0.390 0.339 0.301 0.286

0.269 0.259 0.259 0.259

0.408 0.412 0.415 0.418 0.421 0.424 0.427 0.429 0.456 0.462 0.465 0.468 0.389 0.345 0.303 0.286

0.269 0.259 0.259 0.259

0.401 0.405 0.409 0.412 0.415 0.418 0.420 0.423 0.447 0.454 0.459 0.463 0.387 0.349 0.305 0.286

0.269 0.259 0.259 0.259

0.394 0.398 0.402 0.405 0.408 0.411 0.414 0.416 0.439 0.446 0.451 0.455 0.383 0.352 0.308 0.287

0.269 0.259 0.259 0.259

0.386 0.390 0.394 0.397 0.401 0.403 0.406 0.409 0.429 0.438 0.443 0.447 0.378 0.354 0.310 0.287

0.270 0.259 0.259 0.259

0.380 0.385 0.389 0.392 0.396 0.398 0.401 0.404 0.423 0.432 0.438 0.442 0.374 0.354 0.313 0.288

0.270 0.259 0.259 0.259

Page 255: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\PROFILE.txt

5 of 6

0.431 0.423 0.415 0.408 0.403 0.401 0.400 0.401 0.419 0.427 0.433 0.437 0.371 0.354 0.315 0.289

0.270 0.259 0.259 0.259

0.384 0.392 0.397 0.400 0.402 0.402 0.403 0.404 0.419 0.423 0.428 0.432 0.367 0.353 0.317 0.289

0.270 0.259 0.259 0.259

0.491 0.490 0.487 0.484 0.479 0.473 0.466 0.458 0.451 0.421 0.422 0.426 0.364 0.353 0.319 0.290

0.270 0.259 0.259 0.259

0.440 0.444 0.448 0.451 0.453 0.455 0.456 0.458 0.493 0.472 0.443 0.427 0.357 0.351 0.320 0.291

0.270 0.259 0.259 0.259

0.426 0.430 0.434 0.437 0.439 0.441 0.443 0.445 0.476 0.467 0.453 0.439 0.355 0.349 0.322 0.292

0.270 0.259 0.259 0.259

0.415 0.419 0.422 0.425 0.428 0.430 0.432 0.434 0.461 0.457 0.450 0.442 0.355 0.348 0.323 0.293

0.271 0.259 0.259 0.259

0.405 0.409 0.413 0.416 0.419 0.421 0.423 0.425 0.449 0.448 0.444 0.439 0.355 0.347 0.323 0.294

0.271 0.259 0.259 0.259

0.396 0.401 0.404 0.408 0.410 0.413 0.415 0.417 0.438 0.439 0.438 0.435 0.354 0.346 0.324 0.295

0.271 0.259 0.259 0.259

0.388 0.392 0.396 0.399 0.402 0.405 0.407 0.409 0.428 0.431 0.431 0.429 0.352 0.340 0.324 0.296

0.271 0.259 0.259 0.259

0.379 0.384 0.388 0.391 0.394 0.397 0.399 0.401 0.419 0.423 0.423 0.422 0.348 0.335 0.324 0.297

0.271 0.259 0.259 0.259

0.370 0.376 0.380 0.384 0.387 0.389 0.392 0.394 0.410 0.415 0.416 0.416 0.343 0.330 0.324 0.298

0.272 0.259 0.259 0.259

0.498 0.498 0.497 0.497 0.496 0.495 0.494 0.491 0.526 0.424 0.409 0.409 0.338 0.324 0.323 0.299

0.272 0.259 0.259 0.259

0.461 0.464 0.465 0.467 0.469 0.471 0.472 0.474 0.525 0.511 0.484 0.440 0.335 0.319 0.322 0.300

0.272 0.259 0.259 0.259

0.467 0.468 0.468 0.468 0.469 0.470 0.471 0.472 0.519 0.508 0.493 0.476 0.347 0.313 0.321 0.300

0.272 0.260 0.259 0.259

0.452 0.454 0.456 0.458 0.460 0.462 0.464 0.466 0.511 0.506 0.498 0.489 0.370 0.312 0.319 0.301

0.272 0.260 0.259 0.259

0.438 0.442 0.445 0.447 0.450 0.453 0.455 0.458 0.498 0.497 0.494 0.489 0.387 0.314 0.318 0.301

0.273 0.260 0.259 0.259

0.428 0.432 0.435 0.438 0.440 0.443 0.446 0.448 0.483 0.485 0.485 0.483 0.391 0.317 0.318 0.302

0.273 0.260 0.259 0.259

0.419 0.423 0.426 0.429 0.432 0.434 0.437 0.439 0.470 0.474 0.475 0.474 0.389 0.319 0.317 0.302

0.273 0.260 0.259 0.259

0.410 0.413 0.416 0.419 0.422 0.425 0.427 0.430 0.457 0.462 0.464 0.464 0.382 0.319 0.317 0.303

Page 256: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\PROFILE.txt

6 of 6

0.273 0.260 0.259 0.259

0.401 0.405 0.408 0.411 0.414 0.417 0.419 0.422 0.446 0.451 0.454 0.455 0.375 0.319 0.316 0.303

0.274 0.260 0.259 0.259

0.393 0.397 0.400 0.404 0.406 0.409 0.412 0.414 0.436 0.442 0.445 0.446 0.368 0.318 0.316 0.303

0.274 0.260 0.259 0.259

0.384 0.388 0.392 0.395 0.398 0.401 0.403 0.406 0.425 0.432 0.435 0.436 0.360 0.315 0.315 0.304

0.274 0.260 0.259 0.259

0.499 0.499 0.499 0.499 0.499 0.499 0.499 0.499 0.585 0.553 0.450 0.429 0.354 0.313 0.315 0.304

0.274 0.260 0.259 0.259

0.458 0.462 0.465 0.468 0.470 0.473 0.476 0.478 0.538 0.537 0.533 0.527 0.392 0.311 0.314 0.304

0.275 0.260 0.259 0.259

0.445 0.449 0.452 0.456 0.459 0.462 0.465 0.468 0.518 0.520 0.521 0.521 0.427 0.321 0.314 0.304

0.275 0.260 0.259 0.259

0.436 0.439 0.443 0.446 0.449 0.452 0.455 0.458 0.502 0.507 0.510 0.512 0.427 0.335 0.314 0.304

0.275 0.260 0.259 0.259

0.426 0.430 0.433 0.436 0.440 0.443 0.446 0.449 0.486 0.493 0.498 0.501 0.418 0.345 0.316 0.305

0.275 0.260 0.259 0.259

Page 257: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\WATERBAL.txt

1 of 7

WATER BALANCE RESULTS

*********************

1-JULIAN DAYNUMBER

2-WATER CONTENT OF THE SOIL PROFILE AT THE END OF THE DAY

3-PRECIPITATION AND IRRIGATION

4-POTENTIAL TRANSPIRATION

5-ACTUAL TRANSPIRATION

6-POTENTIAL EVAPORATION

7-ACTUAL EVAPORATION

8-FLUX THROUGH TOP BOUNDARY (+ = IN)

9-FLUX THROUGH BOTTOM BOUNDARY (+ = OUT)

10-INCREMENTAL ERROR (%)

11-CUMULATIVE PRECIPITATION AND IRRIGATION

12-CUMULATIVE POTENTIAL TRANSPIRATION

13-CUMULATIVE ACTUAL TRANSPIRATION

14-CUMULATIVE POTENTIAL EVAPORATION

15-CUMULATIVE ACTUAL EVAPORATION

16-CUMULATIVE FLUX THROUGH TOP BOUNDARY

17-CUMULATIVE FLUX THROUGH BOTTOM BOUNDARY

18-CUMULATIVE WATER BALANCE ERROR (%)

ALL UNITS IN CM (EXCEPT 10 , 18)

1 2 3 4 5 6 7 8 9 10 11 12

13 14 15 16 17 18

100 31.54 0.140 0.000 0.000 0.283 0.285 -0.144E+00 0.643E-07 0.981E-04 0.14 0.00

0.00 0.28 0.29 -0.144E+00 0.643E-07 0.151E-03

101 31.33 0.000 0.000 0.000 0.361 0.206 -0.206E+00 0.638E-07 0.253E-03 0.14 0.00

0.00 0.64 0.49 -0.350E+00 0.128E-06 0.222E-03

102 31.16 0.000 0.000 0.000 0.208 0.167 -0.167E+00 0.638E-07 0.135E-03 0.14 0.00

0.00 0.85 0.66 -0.517E+00 0.192E-06 0.189E-03

103 31.02 0.000 0.000 0.000 0.285 0.146 -0.146E+00 0.638E-07 0.954E-04 0.14 0.00

0.00 1.14 0.80 -0.663E+00 0.256E-06 0.165E-03

104 30.89 0.000 0.000 0.000 0.336 0.132 -0.132E+00 0.638E-07 0.769E-04 0.14 0.00

0.00 1.47 0.94 -0.795E+00 0.320E-06 0.149E-03

Page 258: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\WATERBAL.txt

2 of 7

105 30.77 0.000 0.000 0.000 0.314 0.121 -0.121E+00 0.638E-07 0.673E-04 0.14 0.00

0.00 1.79 1.06 -0.916E+00 0.383E-06 0.137E-03

106 30.65 0.000 0.000 0.000 0.384 0.114 -0.114E+00 0.638E-07 0.624E-04 0.14 0.00

0.00 2.17 1.17 -0.103E+01 0.447E-06 0.127E-03

107 30.54 0.000 0.000 0.000 0.369 0.107 -0.107E+00 0.638E-07 0.603E-04 0.14 0.00

0.00 2.54 1.28 -0.114E+01 0.511E-06 0.120E-03

108 30.44 0.000 0.000 0.000 0.312 0.102 -0.102E+00 0.638E-07 0.602E-04 0.14 0.00

0.00 2.85 1.38 -0.124E+01 0.575E-06 0.115E-03

109 30.34 0.000 0.000 0.000 0.373 0.098 -0.976E-01 0.638E-07 0.619E-04 0.14 0.00

0.00 3.23 1.48 -0.134E+01 0.639E-06 0.110E-03

110 30.25 0.000 0.000 0.000 0.397 0.094 -0.937E-01 0.638E-07 0.651E-04 0.14 0.00

0.00 3.62 1.57 -0.143E+01 0.703E-06 0.107E-03

111 30.16 0.000 0.000 0.000 0.225 0.090 -0.904E-01 0.638E-07 0.699E-04 0.14 0.00

0.00 3.85 1.66 -0.152E+01 0.767E-06 0.104E-03

112 30.19 0.120 0.000 0.000 0.215 0.087 0.326E-01 0.638E-07 0.476E-04 0.26 0.00

0.00 4.06 1.75 -0.149E+01 0.830E-06 0.105E-03

113 30.16 0.050 0.000 0.000 0.200 0.085 -0.347E-01 0.638E-07 0.155E-04 0.31 0.00

0.00 4.26 1.83 -0.152E+01 0.894E-06 0.103E-03

114 30.08 0.000 0.000 0.000 0.449 0.082 -0.824E-01 0.638E-07 0.519E-04 0.31 0.00

0.00 4.71 1.92 -0.161E+01 0.958E-06 0.101E-03

115 30.00 0.000 0.000 0.000 0.466 0.080 -0.802E-01 0.638E-07 0.530E-04 0.31 0.00

0.00 5.18 2.00 -0.169E+01 0.102E-05 0.982E-04

116 33.56 4.000 0.000 0.000 0.439 0.439 0.356E+01 0.638E-07 0.108E-01 4.31 0.00

0.00 5.62 2.44 0.188E+01 0.109E-05 0.103E+00

117 33.16 0.000 0.000 0.000 0.403 0.400 -0.400E+00 0.638E-07 0.507E-03 4.31 0.00

0.00 6.02 2.84 0.148E+01 0.115E-05 0.130E+00

118 32.99 0.040 0.000 0.000 0.432 0.206 -0.166E+00 0.638E-07 0.702E-04 4.35 0.00

0.00 6.45 3.04 0.131E+01 0.121E-05 0.147E+00

119 33.15 0.330 0.000 0.000 0.441 0.167 0.163E+00 0.638E-07 0.745E-05 4.68 0.00

0.00 6.89 3.21 0.147E+01 0.128E-05 0.130E+00

120 33.25 0.240 0.000 0.000 0.207 0.146 0.943E-01 0.638E-07 0.176E-05 4.92 0.00

0.00 7.10 3.35 0.157E+01 0.134E-05 0.123E+00

121 33.62 0.510 0.000 0.000 0.283 0.132 0.378E+00 0.638E-07 0.197E-04 5.43 0.00

0.00 7.38 3.49 0.195E+01 0.140E-05 0.987E-01

122 33.50 0.000 0.000 0.000 0.493 0.121 -0.121E+00 0.638E-07 0.418E-04 5.43 0.00

0.00 7.88 3.61 0.182E+01 0.147E-05 0.105E+00

123 33.39 0.000 0.000 0.000 0.504 0.114 -0.114E+00 0.638E-07 0.203E-04 5.43 0.00

Page 259: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\WATERBAL.txt

3 of 7

0.00 8.38 3.72 0.171E+01 0.153E-05 0.112E+00

124 33.28 0.000 0.000 0.000 0.398 0.107 -0.107E+00 0.638E-07 0.124E-04 5.43 0.00

0.00 8.78 3.83 0.160E+01 0.160E-05 0.120E+00

125 33.18 0.000 0.000 0.000 0.522 0.102 -0.102E+00 0.638E-07 0.861E-05 5.43 0.00

0.00 9.30 3.93 0.150E+01 0.166E-05 0.128E+00

126 33.02 0.000 0.061 0.061 0.454 0.098 -0.976E-01 0.638E-07 0.326E-04 5.43 0.06

0.06 9.75 4.03 0.140E+01 0.172E-05 0.137E+00

127 32.86 0.000 0.068 0.068 0.506 0.094 -0.937E-01 0.638E-07 0.317E-04 5.43 0.13

0.13 10.26 4.12 0.131E+01 0.179E-05 0.147E+00

128 32.84 0.110 0.043 0.043 0.324 0.090 0.196E-01 0.638E-07 0.119E-05 5.54 0.17

0.17 10.58 4.21 0.133E+01 0.185E-05 0.144E+00

129 36.10 3.410 0.018 0.015 0.133 0.133 0.328E+01 0.638E-07 0.351E-02 8.95 0.19

0.19 10.72 4.34 0.461E+01 0.192E-05 0.462E-01

130 36.31 0.440 0.027 0.023 0.201 0.201 0.239E+00 0.638E-07 0.183E-03 9.39 0.22

0.21 10.92 4.55 0.484E+01 0.198E-05 0.437E-01

131 36.08 0.020 0.051 0.051 0.383 0.205 -0.185E+00 0.634E-07 0.730E-04 9.41 0.27

0.26 11.30 4.75 0.466E+01 0.204E-05 0.454E-01

132 35.86 0.000 0.047 0.047 0.349 0.167 -0.167E+00 0.638E-07 0.315E-04 9.41 0.31

0.31 11.65 4.92 0.449E+01 0.211E-05 0.471E-01

133 35.69 0.000 0.028 0.028 0.208 0.146 -0.146E+00 0.638E-07 0.149E-04 9.41 0.34

0.34 11.86 5.06 0.435E+01 0.217E-05 0.487E-01

134 35.50 0.000 0.055 0.055 0.412 0.132 -0.132E+00 0.638E-07 0.165E-04 9.41 0.40

0.39 12.27 5.20 0.422E+01 0.223E-05 0.502E-01

135 35.32 0.000 0.065 0.065 0.483 0.121 -0.121E+00 0.638E-07 0.153E-04 9.41 0.46

0.46 12.75 5.32 0.409E+01 0.230E-05 0.517E-01

136 35.15 0.000 0.056 0.056 0.421 0.114 -0.114E+00 0.638E-07 0.967E-05 9.41 0.52

0.51 13.17 5.43 0.398E+01 0.236E-05 0.532E-01

137 34.97 0.000 0.074 0.074 0.550 0.107 -0.107E+00 0.638E-07 0.130E-04 9.41 0.59

0.59 13.72 5.54 0.387E+01 0.243E-05 0.547E-01

138 34.79 0.000 0.073 0.073 0.544 0.102 -0.102E+00 0.638E-07 0.120E-04 9.41 0.67

0.66 14.27 5.64 0.377E+01 0.249E-05 0.561E-01

139 34.63 0.000 0.069 0.069 0.506 0.098 -0.976E-01 0.638E-07 0.106E-04 9.41 0.73

0.73 14.77 5.74 0.367E+01 0.255E-05 0.576E-01

140 34.47 0.000 0.064 0.064 0.454 0.094 -0.937E-01 0.638E-07 0.919E-05 9.41 0.80

0.79 15.23 5.83 0.358E+01 0.262E-05 0.591E-01

141 34.29 0.000 0.084 0.084 0.580 0.090 -0.904E-01 0.638E-07 0.119E-04 9.41 0.88

0.88 15.81 5.92 0.349E+01 0.268E-05 0.607E-01

Page 260: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\WATERBAL.txt

4 of 7

142 34.15 0.000 0.053 0.053 0.354 0.087 -0.874E-01 0.638E-07 0.594E-05 9.41 0.94

0.93 16.16 6.01 0.340E+01 0.275E-05 0.622E-01

143 34.14 0.120 0.046 0.046 0.294 0.085 0.353E-01 0.638E-07 0.317E-05 9.53 0.98

0.97 16.45 6.09 0.344E+01 0.281E-05 0.616E-01

144 34.06 0.050 0.046 0.046 0.279 0.082 -0.324E-01 0.638E-07 0.175E-05 9.58 1.03

1.02 16.73 6.18 0.340E+01 0.287E-05 0.622E-01

145 33.90 0.000 0.082 0.082 0.480 0.080 -0.802E-01 0.638E-07 0.206E-04 9.58 1.11

1.10 17.21 6.26 0.332E+01 0.294E-05 0.637E-01

146 37.35 4.000 0.085 0.073 0.477 0.477 0.352E+01 0.638E-07 0.425E-02 13.58 1.19

1.18 17.69 6.73 0.685E+01 0.300E-05 0.342E-01

147 36.88 0.000 0.082 0.076 0.439 0.400 -0.400E+00 0.638E-07 0.212E-03 13.58 1.28

1.25 18.13 7.13 0.645E+01 0.306E-05 0.360E-01

148 36.58 0.000 0.086 0.086 0.435 0.206 -0.206E+00 0.638E-07 0.400E-04 13.58 1.36

1.34 18.56 7.34 0.624E+01 0.313E-05 0.372E-01

149 36.37 0.040 0.089 0.089 0.428 0.167 -0.127E+00 0.638E-07 0.162E-04 13.62 1.45

1.42 18.99 7.51 0.611E+01 0.319E-05 0.380E-01

150 36.47 0.330 0.080 0.080 0.367 0.146 0.184E+00 0.638E-07 0.370E-05 13.95 1.53

1.50 19.36 7.65 0.630E+01 0.326E-05 0.368E-01

151 36.53 0.240 0.054 0.054 0.237 0.132 0.108E+00 0.638E-07 0.384E-06 14.19 1.59

1.56 19.60 7.78 0.641E+01 0.332E-05 0.362E-01

152 36.84 0.510 0.077 0.077 0.320 0.121 0.389E+00 0.638E-07 0.556E-05 14.70 1.66

1.64 19.92 7.91 0.680E+01 0.338E-05 0.342E-01

153 36.61 0.000 0.118 0.118 0.465 0.114 -0.114E+00 0.638E-07 0.346E-04 14.70 1.78

1.75 20.38 8.02 0.668E+01 0.345E-05 0.347E-01

154 36.37 0.000 0.132 0.132 0.491 0.107 -0.107E+00 0.638E-07 0.243E-04 14.70 1.91

1.89 20.87 8.13 0.657E+01 0.351E-05 0.353E-01

155 36.11 0.000 0.158 0.158 0.560 0.102 -0.102E+00 0.638E-07 0.263E-04 14.70 2.07

2.04 21.43 8.23 0.647E+01 0.358E-05 0.359E-01

156 35.83 0.000 0.176 0.176 0.590 0.098 -0.976E-01 0.638E-07 0.262E-04 14.70 2.25

2.22 22.02 8.33 0.638E+01 0.364E-05 0.364E-01

157 35.60 0.000 0.143 0.143 0.455 0.094 -0.937E-01 0.638E-07 0.181E-04 14.70 2.39

2.36 22.48 8.42 0.628E+01 0.370E-05 0.369E-01

158 35.36 0.000 0.149 0.149 0.450 0.090 -0.904E-01 0.638E-07 0.195E-04 14.70 2.54

2.51 22.93 8.51 0.619E+01 0.377E-05 0.375E-01

159 35.29 0.110 0.094 0.094 0.269 0.087 0.226E-01 0.638E-07 0.174E-05 14.81 2.63

2.61 23.20 8.60 0.621E+01 0.383E-05 0.374E-01

160 38.44 3.410 0.073 0.063 0.199 0.199 0.321E+01 0.638E-07 0.293E-02 18.22 2.70

Page 261: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\WATERBAL.txt

5 of 7

2.67 23.39 8.80 0.942E+01 0.389E-05 0.258E-01

161 37.86 0.000 0.200 0.178 0.517 0.400 -0.400E+00 0.638E-07 0.187E-03 18.22 2.91

2.85 23.91 9.20 0.902E+01 0.396E-05 0.268E-01

162 37.41 0.000 0.239 0.239 0.584 0.206 -0.206E+00 0.638E-07 0.596E-04 18.22 3.14

3.09 24.50 9.40 0.882E+01 0.402E-05 0.274E-01

163 36.98 0.000 0.262 0.262 0.608 0.167 -0.167E+00 0.638E-07 0.539E-04 18.22 3.41

3.35 25.10 9.57 0.865E+01 0.409E-05 0.279E-01

164 40.24 4.000 0.253 0.184 0.556 0.556 0.344E+01 0.638E-07 0.584E-02 22.22 3.66

3.53 25.66 10.13 0.121E+02 0.415E-05 0.204E-01

165 39.65 0.000 0.350 0.194 0.733 0.400 -0.400E+00 0.638E-07 0.288E-03 22.22 4.01

3.72 26.39 10.53 0.117E+02 0.421E-05 0.206E-01

166 39.19 0.000 0.298 0.251 0.593 0.206 -0.206E+00 0.638E-07 0.877E-04 22.22 4.31

3.98 26.99 10.73 0.115E+02 0.428E-05 0.210E-01

167 38.70 0.000 0.340 0.326 0.641 0.167 -0.167E+00 0.638E-07 0.680E-04 22.22 4.65

4.30 27.63 10.90 0.113E+02 0.434E-05 0.213E-01

168 38.34 0.000 0.209 0.209 0.375 0.146 -0.146E+00 0.638E-07 0.221E-04 22.22 4.86

4.51 28.00 11.04 0.112E+02 0.440E-05 0.216E-01

169 37.89 0.000 0.327 0.327 0.558 0.132 -0.132E+00 0.638E-07 0.484E-04 22.22 5.18

4.84 28.56 11.18 0.110E+02 0.447E-05 0.218E-01

170 37.50 0.000 0.266 0.266 0.431 0.121 -0.121E+00 0.638E-07 0.322E-04 22.22 5.45

5.10 28.99 11.30 0.109E+02 0.453E-05 0.221E-01

171 37.08 0.000 0.308 0.308 0.475 0.114 -0.114E+00 0.638E-07 0.398E-04 22.22 5.76

5.41 29.46 11.41 0.108E+02 0.460E-05 0.223E-01

172 36.60 0.000 0.373 0.373 0.547 0.107 -0.107E+00 0.638E-07 0.651E-04 22.22 6.13

5.79 30.01 11.52 0.107E+02 0.466E-05 0.225E-01

173 36.28 0.000 0.216 0.216 0.301 0.102 -0.102E+00 0.638E-07 0.216E-04 22.22 6.35

6.00 30.31 11.62 0.106E+02 0.472E-05 0.227E-01

174 36.87 1.000 0.175 0.175 0.232 0.232 0.768E+00 0.638E-07 0.243E-04 23.22 6.52

6.18 30.54 11.85 0.114E+02 0.479E-05 0.213E-01

175 36.30 0.000 0.251 0.251 0.317 0.317 -0.317E+00 0.638E-07 0.239E-03 23.22 6.77

6.43 30.86 12.17 0.111E+02 0.485E-05 0.218E-01

176 39.61 4.000 0.340 0.288 0.408 0.408 0.359E+01 0.638E-07 0.490E-02 27.22 7.11

6.72 31.27 12.58 0.146E+02 0.492E-05 0.174E-01

177 39.03 0.070 0.334 0.260 0.381 0.381 -0.311E+00 0.638E-07 0.206E-03 27.29 7.45

6.98 31.65 12.96 0.143E+02 0.498E-05 0.175E-01

178 38.48 0.000 0.357 0.346 0.389 0.206 -0.206E+00 0.638E-07 0.658E-04 27.29 7.81

7.32 32.04 13.17 0.141E+02 0.504E-05 0.177E-01

Page 262: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\WATERBAL.txt

6 of 7

179 37.91 0.000 0.400 0.400 0.415 0.167 -0.167E+00 0.638E-07 0.636E-04 27.29 8.21

7.72 32.45 13.33 0.140E+02 0.511E-05 0.180E-01

180 37.39 0.000 0.376 0.376 0.372 0.146 -0.146E+00 0.638E-07 0.568E-04 27.29 8.58

8.10 32.83 13.48 0.138E+02 0.517E-05 0.181E-01

181 36.91 0.000 0.349 0.349 0.329 0.132 -0.132E+00 0.638E-07 0.509E-04 27.29 8.93

8.45 33.15 13.61 0.137E+02 0.523E-05 0.183E-01

182 36.40 0.000 0.389 0.389 0.349 0.121 -0.121E+00 0.638E-07 0.605E-04 27.29 9.32

8.84 33.50 13.73 0.136E+02 0.530E-05 0.185E-01

183 35.87 0.000 0.412 0.412 0.352 0.114 -0.114E+00 0.638E-07 0.735E-04 27.29 9.73

9.25 33.86 13.85 0.134E+02 0.536E-05 0.186E-01

184 35.36 0.000 0.410 0.410 0.333 0.107 -0.107E+00 0.638E-07 0.784E-04 27.29 10.14

9.66 34.19 13.95 0.133E+02 0.543E-05 0.188E-01

185 40.34 5.650 0.429 0.333 0.332 0.332 0.532E+01 0.638E-07 0.464E-01 32.94 10.57

9.99 34.52 14.28 0.187E+02 0.549E-05 0.123E-01

186 40.15 0.390 0.443 0.259 0.327 0.327 0.626E-01 0.638E-07 0.308E-02 33.33 11.01

10.25 34.85 14.61 0.187E+02 0.555E-05 0.952E-02

187 40.40 0.800 0.512 0.338 0.361 0.206 0.594E+00 0.638E-07 0.407E-04 34.13 11.53

10.59 35.21 14.82 0.193E+02 0.562E-05 0.922E-02

188 40.15 0.180 0.374 0.264 0.252 0.167 0.130E-01 0.638E-07 0.163E-02 34.31 11.90

10.85 35.46 14.99 0.193E+02 0.568E-05 0.921E-02

189 39.68 0.000 0.394 0.324 0.253 0.146 -0.146E+00 0.638E-07 0.895E-04 34.31 12.29

11.18 35.71 15.13 0.192E+02 0.575E-05 0.928E-02

190 39.13 0.000 0.457 0.424 0.280 0.132 -0.132E+00 0.638E-07 0.815E-04 34.31 12.75

11.60 35.99 15.26 0.190E+02 0.581E-05 0.935E-02

191 38.55 0.000 0.461 0.455 0.269 0.121 -0.121E+00 0.638E-07 0.598E-04 34.31 13.21

12.06 36.26 15.38 0.189E+02 0.587E-05 0.941E-02

192 37.91 0.000 0.528 0.528 0.294 0.114 -0.114E+00 0.638E-07 0.907E-04 34.31 13.74

12.58 36.56 15.50 0.188E+02 0.594E-05 0.946E-02

193 37.35 0.000 0.455 0.455 0.241 0.107 -0.107E+00 0.638E-07 0.697E-04 34.31 14.20

13.04 36.80 15.61 0.187E+02 0.600E-05 0.952E-02

194 36.80 0.000 0.443 0.443 0.224 0.102 -0.102E+00 0.638E-07 0.720E-04 34.31 14.64

13.48 37.02 15.71 0.186E+02 0.606E-05 0.957E-02

195 36.22 0.000 0.487 0.487 0.235 0.098 -0.976E-01 0.638E-07 0.998E-04 34.31 15.13

13.97 37.26 15.80 0.185E+02 0.613E-05 0.962E-02

196 41.73 6.000 0.426 0.296 0.196 0.196 0.580E+01 0.638E-07 0.767E-01 40.31 15.55

14.26 37.45 16.00 0.243E+02 0.619E-05 0.221E-02

197 41.29 0.000 0.484 0.228 0.212 0.212 -0.212E+00 0.638E-07 0.131E-02 40.31 16.04

Page 263: BSc Thesis / Πτυχιακη διατριβη

c:\LIQUID0.7\LIQUID (m files)\WATERBAL.txt

7 of 7

14.49 37.66 16.21 0.241E+02 0.626E-05 0.177E-02

198 40.77 0.000 0.496 0.313 0.207 0.206 -0.206E+00 0.638E-07 0.134E-03 40.31 16.53

14.81 37.87 16.42 0.239E+02 0.632E-05 0.179E-02

199 40.23 0.000 0.493 0.374 0.197 0.167 -0.167E+00 0.638E-07 0.116E-03 40.31 17.03

15.18 38.07 16.59 0.237E+02 0.638E-05 0.181E-02

200 39.59 0.000 0.572 0.494 0.217 0.146 -0.146E+00 0.638E-07 0.122E-03 40.31 17.60

15.67 38.28 16.73 0.236E+02 0.645E-05 0.182E-02

Page 264: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\GNDATA 1 of 2

10,4,2005 19,7,2005 2,10,2005 1,0 20,1 10,10,100,0,2 4 1,8 9,12 13,16 17,20 0.2200,0.5000,0.0650,0.0108,1.2170 0.1500,0.5900,0.0680,0.0239,1.2210 0.0800,0.5300,0.0590,0.0420,1.2040 0.0100,0.5200,0.0700,0.0530,1.1650 2,2 2 1 1 -1,-6,-150.0000 4 1,0,1,0 2.0 WATER.BAL PROFILE.OUT 0.050 0.050 0.050 0.050 0.050 0.050 0.050 0.050 0.050 0.050 0.050 0.050 0.050 0.050 0.050 0.050 0.050 0.050 0.050 0.050 -7.400 -7.400 -7.400 -7.400 -7.400 -7.400 -7.400 -7.400 -5.580 -5.580 -5.580

Page 265: BSc Thesis / Πτυχιακη διατριβη

C:\LIQUID0.7\LIQUID (m files)\GNDATA 2 of 2

-5.580 -8.096 -8.096 -8.096 -8.096 -35.800 -35.800 -35.800 -35.800