Regolazione Pluriennale di un serbatoio idrico ad uso promiscuo

La regolazione pluriennale di grandi invasi è da sempre un argomento dei più interessanti, e riuscire a riportare l’esperienza di progettista in un programma per calcolatore che tratti appunto questo specifico argomento, è lavoro che da lustro e soddisfazione.

Lo scopo dell’inserimento di questo documento in questo sito è presto detto: quando il mio capo, una certa estate,  stava andando in ferie, aveva un cruccio non da poco: il programma in Fortran che girava su un Host dell’IBM, del quale programma stava verificando per l’ennessima volta i dati di uscita, perchè non funzionava.
Dovendo lasciare la sua amata creatura ferma per un mese, tentò come si dice, una cosa che non avrebbe fatto danno ma avrebbe tenuto occupato per un mese un suo dipendente, che altrimenti avrebbe passato il suo mese di agosto al lavoro senza fare niente di utile.

Mi ritrovai così per le mani, senza conoscere il Fortran, senza conoscere l’Host, senza conoscere niente, una pila di fogli stampati e due scatole di schede perforate, e la lapidaria frase “veda un pò perche il programma non funziona…” senza avere altre spiegazioni o appunti che avrebbero agevolato il compito.

Che era una bella fregatura lo avevo capito subito: dovevo abbandonare l’idea di fare il programma sui bioritmi (cosa che allora andava alla moda, si consultavano alcune tabelle per sapere se quel giorno ti tirava più il ciclo fisico, oppure il ciclo dell’intelletto oppure quello emotivo), e dovevo leggere quella montagna di carta di cui non capivo neanche se era scritto in lingua oppure in geroglifici.

Ma le sfide mi sono sempre piaciute, mi vuoi tenere al chiodo per tutto agosto?…. e va bene, però questo coso di programma te lo farò funzionare io.

Mi misi subito all’opera, in libreria mi andai a comprare un libro che parlava di Fortran, mi misi a rintracciare gli esempi del libro sul listato del programma (che potrete verificare da soli erano migliaia di righe) e cominciai a capire come funzionava il Fortran.

Mi misi anche a studiare la lunga serie dei dati di input e le tabelle di output, finchè un giorno  mi salto all’occhio, su una delle tabelle di output, che il serbatoio ogni inizio d’anno partiva dalla stessa quota di invaso.

Misi sulle schede perforate alcune schede per la stampa di alcune variabili e cominciai ad analizzare le stampe parziali: per farla breve scoprii che nel listato del programma, su una certa subroutine, mancava il richiamo della variabile della quota di invaso, e pertanto ad ogni cambio di anno, il programma non passando alla subroutine il livello d’invaso al 31 dicembre, questi al 1 gennaio ripartiva non con la quota di invaso del giorno precedente ma con quella di progetto di partenza della simulazione.   AVEVO TROVATO L’INGHIPPO!!!!!

Ma intanto era passato il mese di agosto e io dovevo andare in ferie a settembre.

Con il capo non ci saremmo incontrati, così gli lasciai sulla scrivania il tabulato originale che mi aveva dato, con evidenziato l’errore, e i tabulati dei risultati con l’errore eliminato e i livelli di invaso corretti.

Quando tornai dalle ferie, pensavo che mi avrebbe chiamato, ringraziato, chiesto come avevo fatto: niente di tutto questo, nessuna soddisfazione, solo un breve accenno al fatto che questi calcolatori sono un mistero, e si perdono anche le istruzioni.

Nel seguito i file pdf del listato del programma Fortran