This is, in my intention, gentle introduction to the Extended Petri Net on which we wrote a paper recently. That is the definitive reference on the topic. However, a presentation can smooth out some difficulties that the constraint a paper imposes do not allow. So, below, please find the presentation, bu clicking on the Figure.
My reflections and notes about hydrology and being a hydrologist in academia. The daily evolution of my work. Especially for my students, but also for anyone with the patience to read them.
Friday, October 9, 2020
Introducing the Extended Petri Net using an example
Thursday, October 8, 2020
Snowdrops
to waken again, to feel
in damp earth my body
able to respond again, remembering
after so long how to open again
in the cold light
of earliest spring--
afraid, yes, but among you again
crying yes risk joy
in the raw wind of the new world.
Thursday, October 1, 2020
WATZON seminar series - I
The Project WATZON has almost finished the first year of work. It was a troubled year, since the COVID-19 pandemic and we could not meet and do the field work required. However, we learn to use better the resources Internet brought to us. Upon the initiative of Paolo Nasta we started a series of on-line conferences on the tools and topics of the project. He is providing in these days seminars about the use of Hydrus-1D, a leading software for estimating infiltration by using Richards equation. He accepted his material to be uploaded on my VIMEO WATZON Channel.
To interested people, Paolo suggest the following material
Lecture 1: Introduction to Hydrus-1D - First part
- Please download this file https://www.pc-progress.com/en/Default.aspx?h1d-lib-isotope
- Replace the computational module. You need to replace these two exe files in the Hydrus folder. For example, for me (Paolo Nasta) is C:\Program Files (x86)\PC-Progress\Hydrus-1D 4.xx
- download the Stumpp's example and run it. Stumpp data here.
In the PRIN WATZON activities, we sample the isotope concentration in the rainfall (very frequently!), plant, soil (at different depths) and groundwater table sporadically (it means every two weeks hopefully). So we use rainfall-isotope conc. as input.
We use the other sporadic isotope concentrations (in soil, plant, groundwater) as observation data for inverse modeling in Hydrus-1D. In inverse modeling we optimize the unknown parameters related to water flow (vG parameters, Feddes parameters) and solute transport (dispersivity, solute root uptake etc.).
Once we get the optimized parameters, we can have fun and run long-term simulations with known precipitation, known rainfall-isotope and calculate soil residence time, or travel times from rainfall to transpired water or to groundwater in each site. Please, let me know. I think it is getting quite clear so far. "
Monday, September 21, 2020
On doing good presentations and slides
Really there are different situations to cope with. You can be at a scientific conference (usual time 12 minutes plus discussion), you have to present for an examination or to get your graduation (time depending of which one, from few minutes to 45 minutes plus discussion). Each one of the occasions is different and your contents have to be tailored to it.
As Academia StackExchange writes, you have to answer a few questions:
Who is my audience? What is their prior knowledge? Why are they there and what are their motivations for attending/reading? What do they want to take away from you provide them with?
What is my own motivation? Do I want to teach them something new? Do I want to illustrate how smart I am? Do I want to give an overview of a field that everyone in the audience should understand, or do I want to impress a few key people?
- Put your audience at the center
- A presentation is not a paper (even if it can share it overall structure)
- Do not overwhelm the audience (with data, formulas, concepts)
- Tell your story
- evoke questions
- encourage people to learn more about your work
A starting point in your process of stepping away from the PowerPoint precipice I can recommend is some cool advice from David J.P. Phillips. In his entertaining and informative TEDx Talk, David shares five design principles that will cognitively and psychologically optimize your PowerPoint slides. These design principles are:
- One message per slide
- Use slides as props for you to deliver your message, not the other way round
- The most important part of your slide should be the biggest
- Use contrast to focus the viewer's attention and a black slide background
- No more than six objects per slide “ (My note: I use at most three and standardize some places where people know where to find lateral or further information)
"
Personally blessing Open Science, I also add some further attentions:
- Always put the references (the needed ones) and provide a link to them
- Advertise that your slides are photo friendly
- Tell people where they can find your presentation eventually for further inspection
- One is the design of the layout of your slides. I prefer simplicity over complicate layouts. As already said, no more than three objects in a slide. I usually have two bands, at top and bottom, and usually a white core. On the to band I put the title of the slides or a phrase that helps to connect it to others, or sometimes, a joke or a comment. On the bottom I put the mane of the slides’s Authors, the copyright (in my case creative commons) to let know the people that the can reuse my slides, following some rules (not sure that people respect it).
- The other is the graphics, plots, drawings, that contains scientific messages. These graphics have to be self-explanatory, clear, with fonts larger than those on papers (if possible). For other informations of figures in scientific writing see, for instance, here.
- Use very few words. We recommend no more than six lines of type per slide, with at most seven words per line. Try translating statements into bullet statements or an outline. Keep the wording tight; use simple language, minimal jargon terminology, and short, uncomplicated sentences. Even removing small words can make a big difference (e.g., say “assay results” rather than “results of assays”). Remember that you will also be speaking to your audience. These slides are visual support of what you are saying, not a substitute for your oral presentation.
- Choose the right font. Use a typeface that is easy to read, such as Times New Roman, Arial or Courier. If you are a Macintosh user avoid fonts that do not go across platforms, such as Helvetica. Studies show that text written in all capital letters is hard to follow; it is better to use bold print than all caps. Use the same typeface throughout your presentation. We recommend using 1.5 spacing so that the lines are easier to follow. Then use a font that is about as large as the slide will accommodate, for example title lines size 44, major text 32, and minor text 24.
- Choose the right color(s), keeping in mind that 1/8 of your audience is color blind, on average. We recommend using contrasting colors, light type on a dark background or vice versa, like white on cobalt blue, or dark green on a pale yellow. Avoid red type - it looks good on your computer but is virtually impossible to read off of the slide screen. And at all costs avoid bright yellow as a background, it is blinding for everyone.
Often, it is said that focusing on what you want want to say, instead of what the audience is interested in hearing is a pitfall. However, you do not have to misunderstand this message: the audience wants to hear about your research. "Tell them “One of the most common mistakes I see in people giving presentations is that they present only information I already know. This usually happens when they spend nearly all of the presentation going over the existing literature and giving background information on their particular case. You need only to discuss the literature with which you are directly engaging and contributing. Your background information should only include what is absolutely necessary. If you are giving a 15-minute presentation, by the 6th minute, you need to be discussing your data or case study. At conferences, people are there to learn about your new and exciting research, not to hear a summary of old work."
Finally "presentations often include interactions in the dorm of questions and answers. This is a great opportunity to provide whatever additional information the audience desires. For fear of omitting something important, most speakers try to say too much in their presentations. A better approach is to be selective in the presentation itself and to allow enough time for questions and answers and, of course, to prepare well by anticipating the questions the audience might have.
A last topic
The last topic I want to cover is the presence of equations in your slides. I found on Academia Stack Exchange the following that I share:
"I teach in a mathematical field (statistics) and I always encourage my students to minimise equations in their presentations, and never present equations that they are not going to go through and explain clearly to the audience. Sometimes basic equations showing your model form are useful, but sometimes you can give an explanation without the aid of mathematics. In any case, you should only show equations if they assist the audience in understanding your work, and if you are willing to take time in your presentation to go through each equation and explain it.
Including mathematical equations in a presentation solely to "show the complexity of the research" (i.e., show off) is academic masturbation. It bamboozles the audience for the purpose of aggrandising the speaker. Don't do it --- push back on their suggestion to the contrary.”
I have to say that sometimes I did it (maybe was an overreactions) with the intention to contrast the idea that my discipline was sliding to much towards a descriptive aptitude that I see as a betray of its core based on physics. I strongly believe that equations are necessary, but they are a highly specialized compressed form to represent physical reality and explaining them requires a lot of time and, probably requires different technicalities with respect, to the more general scientific discourse. Therefore I encourage you to be aware that when you put an equation you have to meditate about it. As Bill Dietrich once said to me: one equation and you loose one reader (was referred to papers), one graphic and you gain one.
Convey the meaning of equations and their treatment in slides requires another post, I guess.
- A paper for helping you
- Verbal and non verbal communication and other tips
- Do not overwhelm the audience
- Nice suggestions, still the presentation violates some rules, I guess
- A set of resources
- From Northwestern University
- Other videos googleing
Tuesday, September 15, 2020
DevOps - Or about streamlining what is needed to do modelling carpentry
This morning I learnt a new word: DevOps, which seems to be the contraction of software Development and IT Operations. I.ve got it from the presentation my former student Daniele Dalla Torre gave at the Biennial iEMMs 2020 conference (find his presentation and others about his work here). He captured my attention with the following picture you find below
Wikipedia comes to help in understanding what exactly this means by listing the following items:
- Coding – code development and review, source code management tools, code merging.
- Building – continuous integration tools, build status.
- Testing – continuous testing tools that provide quick and timely feedback on business risks.
- Packaging – artifact repository, application pre-deployment staging.
- Releasing – change management, release approvals, release automation.
- Configuring – infrastructure configuration and management, infrastructure as code tools.
- Monitoring – applications performance monitoring, end-user experience.
The figure contains some further information by annotating some tools. Also note that he intelligently added "Plan". So the steps are actually 8, not 7. Planning in his figure is under the OSF , the Open Science Framework, the place where we upload the material of our projects, literature, thinking. Some other colleagues use Slack for this, but on the latter I do not have much experience. Certainly a place where all the material regarding a project and the interactions among people is preserved is necessary. In Coding he puts Git. Github is the public repository where all of our software is uploaded. Git is a "Control Version System" (CVS), a place where researchers upload the versions and modification of their software, maintaining. Ghere exist other, like, for instance, Mercurial, but we use Git. There is actually a misuse of Git among my students. While it is thought to be used continuously along the process of development, they use it only at the end of the process, to upload a reasonable version of their work. I think it does not exploit the good of a CVS but that is the state-of-art at the moment. When you have written your software (in contemporary practice is quite obvious that you used a IDE for doing it - Eclipse, Netbeans or IntelliJ in our case) you have to build your software, which means, compiling and assembling it in some executable. Naive and simple building is made inside the IDEs but complex software building needs a builder. Our chain of tools uses Gradle, whose symbol is a small elephant. In turn, Gradle means learning a further DSL language, for making the build. Testing means two things: preparing tests for assessing the correctness of the code and running the tests. Also this practice is not so common in scientific practice. One reason is that our models usually have complex outputs which is difficult to characterize but this happens mostly because hydrologists are ignorant of good software building practice. For instance, in the Figure is mentioned JUNIT 5 which is quite a natural choice for who is working with Java. If the software pass its tests, it is supposed to be packaged in a release. Travis CI symbolized by the a mustachioed face should do this pass. In fact, I believe it does only part of the job, which goes back to run the test and providing a final compiled version of the code. Actually this sort of packaging is not completely operational, since the software can be eventually brought to a computer and installed in it with the right switch for working. Docker (the whale in Deploy) simplify it by providing a standard client to any computer (with some problem for MS Windows, indeed). It works fine in my Mac Computer, and calling it from within Jupyter lab notebooks provides a nice solution. However, I feel the problem of the distribution of the software (through a tool like Anaconda's conda can be) and treating all the dependencies among the libraries, is still an open question. Configurations and maintenance of the code and the details of configurations of the software is the further step.
Finally comes the application performance management (APM) is the monitoring and management of performance and availability of software applications. APM strives to detect and diagnose complex application performance problems to maintain an expected level of service. APM is "the translation of IT metrics into business meaning ([i.e.] value)." This latter maybe is not so central in scientific applications for which other types of tests, screening and case studies are probably more relevant.
Monday, September 14, 2020
iEMSs 2020 In Brussels but mostly on-line
iEMSs stands for international Modelling and Software Society. Every two years, on the even years, the Society has its own conference which was held, so far, once in Europe and once in North America. iEMS is home of very interesting information regarding Modelling and Software in Hydrology and Water Resources. Due to Covid-SARS-2 (a.k.a. as Covid-19) this year conference in completely online. You can access it at www.iEMSs2020.com.
At the www.iEMSs2020.com website you will find the schedules structures per day -> per room -> convening block/session. Timing is given in CEST (Brussels local time).
In the CVENT app, the presentations are organized according to submission sessions. The timing is adjusted to your own local time. You have received installation instructions in your mailbox.You can also access the CVENT programme via the web version for your PC/laptop
https://event.eur.crowdcompass.com/iemss2020
We have been shifting abstracts between sessions, especially for the abstracts that were submitted within the A0…F0 sessions, but also to take into account differences in time zones of presenters. But at the end of the road both tools should lead you to the same schedule. So in either way you should find your way to the right room at the right timing. To start, I hope to see you all during the Opening Ceremony at 14:00 Brussels time!
The password to access the ZOOM room is iEMSs2020
The sessions will be recorded and will be available to all in case you miss an important session.
You can obtain documents and video recordings of the presentations from the Moodle platform of Open Water Network: https://moodle.glownetwork.net by logging in at https://moodle.glownetwork.net/login/index.php. Your username is your ‘email address’ (all small letters) and your password is iEMSs2020.
Tuesday, August 11, 2020
Spatial lite 5 is out
Directly from the Spatialite site (Wikipedia):
- SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.
- SQLite is intrinsically simple and lightweight:
- a single lightweight library implementing the full SQL engine
- standard SQL implementation: almost complete SQL-92
- no complex client/server architecture
- a whole database simply corresponds to a single monolithic file (no size limits)
- any DB-file can be safely exchanged across different platforms, because the internal architecture is universally portable
- no installation, no configuration
- Source code can be found here.
- Last but not least, Spatial lite is an open source effort by Alessandro Furieri
For who are treating geospatial data, putting all of it in a small sqlite database is a valuable option. We did not investigate this option enough and, I promise, in future, we'll do better. However, the Adige database, is implemented as an sqlite/spatialite file. More information in the sqlite website.