Part I - Set-up and prompts

How to Use ChatGPT to Learn Hydrological Modelling (I): set-up, prompts and trustworthy answers

Estimated reading time: 16-21 minutes

Before we begin: learning in an age of rapidly changing AI

Preparing university students for professional practice has become more difficult for one additional reason: we do not know exactly what AI tools will be capable of by the time today’s students graduate. Generative AI is evolving quickly and is already changing how we search for information, write, analyse data, program and solve problems. The educational challenge, therefore, is not merely to adopt a new technology, but to decide what to use it for and which student capabilities we actually want to strengthen.

Recent discussion highlights both opportunities and risks. Generative AI can widen access to explanations, personalise support and accelerate some tasks, but it can also encourage shallow learning, dependence and a false sense of mastery when it is used to produce polished answers without the necessary reasoning. In higher education, this has led to growing emphasis on critical thinking, adaptability, curiosity and lifelong learning, as well as on pedagogical frameworks that focus on purposeful integration rather than technology alone.

That is the purpose of this three-part tutorial series. It is not designed to teach you how to obtain quick answers. It is designed to help you use generative AI to build knowledge, question explanations, detect errors, practise reasoning, work more efficiently and receive feedback without outsourcing understanding. In IIO409, ChatGPT can help you write a function in R, propose a calibration strategy or explain GLUE in seconds. But you still need to be the person who can interpret a new result, modify a procedure and defend every modelling decision.

The sequence is deliberate. Part I focuses on setting up ChatGPT and obtaining useful, verifiable answers. Part II uses it as a Socratic tutor for conceptual understanding and critical thinking. Part III uses it as a base R programming companion for practical work and vibe coding without sacrificing reproducibility, validation or understanding.


ChatGPT can be genuinely useful for learning hydrological modelling, but its usefulness depends largely on how you use it. If you type only “Explain hydrological model calibration”, you may receive a correct general answer, but one that is still far too broad to be genuinely helpful in IIO409. If, instead, you define who you are, what you are learning, what your problem is, what prior knowledge you already have and what kind of answer you need, the conversation becomes much closer to a useful tutorial.

In IIO409 this matters especially. The course is not simply about running a rainfall-runoff model. You are expected to learn how to formulate a conceptual model, choose data and models, analyse sensitivity, calibrate and verify, interpret uncertainty, regionalise and discuss climate-change impacts. In other words, you must learn to make and defend modelling decisions.

Visual summary of Part I

1. Before you ask: set up the context

One of the simplest and most effective ways to improve ChatGPT’s replies is to give it stable information about yourself and about the course.

You do not need to write a biography. You need to provide the context that materially changes the answer.

A good initial context for an IIO409 student might be:

I am a Civil Engineering student in Chile taking IIO409 Hydrological Modelling.

I have already completed an R course and I can work with data.frame objects,
matrices, functions, plots and packages.
In this course I need to learn rainfall-runoff modelling, hydrometeorological data,
sensitivity analysis, calibration, verification, uncertainty, regionalisation
and climate change.

I work in base R. I do not want to use tidyverse.

When you help me:
- prioritise conceptual understanding and hydrological reasoning;
- do not invent references, R functions or results;
- separate facts, assumptions and inferences;
- if important information is missing, ask me before answering;
- for R code, deliver simple, reproducible and verifiable solutions;
- explain why each important step works;
- tell me how to check whether the result is correct.

You can store part of this information in Custom Instructions. Custom Instructions are available on both free and paid ChatGPT accounts, although the exact features and limits may vary by plan.

A particularly useful instruction is:

Before answering a technical task, check whether any missing information could materially change the answer.
If so, ask me up to three focused questions before continuing.

This simple rule reduces one of the most common failure modes: ChatGPT silently filling in missing information that you never provided.

Why does this help?

A language model does not automatically know your learning objective, your software ecosystem or the constraints of the task. When context is missing, it generates a plausible continuation. In hydrological modelling, a plausible assumption can still be methodologically wrong.

For example, if you ask:

How should I calibrate my model?

at least these questions are missing:

  • Which model?
  • Which variable are you calibrating against?
  • What is the purpose of the model?
  • What warm-up period are you using?
  • What are the calibration and verification periods?
  • What objective function do you want to optimise?
  • Which parameters are calibratable?
  • What ranges are physically acceptable?

A confident reply to such an underspecified question should make you cautious rather than reassured.


2. The R-C-T-F structure: Role + Context + Task + Format

There is no single magic formula for writing prompts. For this course, however, it is useful to think in four parts.

Prompt architecture

R: Role

State the perspective from which you want the answer.

Examples:

Act as a university tutor with expertise in hydrological modelling.
Act as a very critical methodological reviewer.
Act as a Socratic tutor. Do not give me the answer immediately.

The role does not magically turn ChatGPT into a true expert. It helps to guide the style and depth of the answer.

C: Context

Provide the information needed to understand the problem.

For example:

I am working on a pluvial catchment in south-central Chile.
I have daily precipitation, daily temperature and observed daily discharge.
I want to assess a conceptual rainfall-runoff model.

If you are working on the course project, add:

  • catchment;
  • period;
  • temporal resolution;
  • available data;
  • model;
  • aim of the analysis;
  • decisions already taken;
  • constraints.

T: Task

State exactly what ChatGPT must do.

A weak task:

Tell me about KGE.

A better one:

Explain which error components KGE attempts to summarise and why two simulations
with the same KGE can still behave very differently hydrologically.

Even better:

After explaining it, give me two hypothetical simulations with the same KGE but
different hydrological errors and ask me which one would be preferable for low flows.
Do not answer that last question until I reply.

F: Format

Tell ChatGPT how you want the answer delivered.

Answer in this order:
1. conceptual explanation;
2. hydrological example;
3. common mistake;
4. one question to check whether I understood.
Maximum 500 words.

For programming:

Provide:
1. strategy;
2. a base R function;
3. a small reproducible example;
4. checks of the result;
5. possible errors.
Do not use tidyverse.

3. A long prompt is not necessarily a good prompt

A common mistake is to assume that a prompt must be huge.

What matters is not length itself, but the removal of relevant ambiguity.

A good conversation can also be iterative:

Me: I need to learn global sensitivity analysis for IIO409.
Before explaining it, ask me what I already know.

ChatGPT: What do you understand by the sensitivity of a parameter?

Me: I think it measures how much the output changes when the parameter changes.

ChatGPT: Good. What limitation does that definition have if you vary one parameter while all others stay fixed?

This kind of exchange often produces more learning than asking for an encyclopaedic explanation of Sobol indices.

OpenAI’s Study Mode was designed around a similar logic: interactive questions, scaffolded explanations and checks of understanding. The underlying principle is simple and powerful: if you want to learn, do not ask only for content; ask to be questioned.


4. The instruction you should use for ambiguous problems

A very useful general rule is to tell ChatGPT explicitly that it should ask questions before solving when key information is missing.

For IIO409, I recommend making this a standard instruction:

Do not assume data, methods or objectives that I have not given you.
If missing information could change the solution, ask me before answering.
Ask at most three questions, prioritising the ones with the greatest methodological impact.

For instance:

My simulation obtained KGE = 0.76. Is my model good?

A methodologically serious response should ask, among other things:

  • good for what purpose?
  • is this calibration or verification?
  • which KGE components produce that value?
  • how does the model behave for the processes or flow ranges that matter?

Hydrological modelling is not about classifying isolated metrics as “good” or “bad”.


5. ChatGPT can still be wrong even when it sounds confident

A fluent reply is not evidence of correctness.

ChatGPT may:

  • invent a reference;
  • attribute an equation to the wrong author;
  • use a non-existent R function;
  • confuse function arguments;
  • assume units;
  • invent numerical values;
  • misread a figure;
  • suggest a methodological strategy that is not appropriate for your aim.

That is why you need a verification stage.

Reliability loop

Rule 1: separate facts from proposals

Ask:

Separate your answer into:
- facts that can be checked;
- assumptions you are making;
- interpretation;
- recommendation.

Rule 2: request sources when they really matter

For each important scientific claim, provide a verifiable reference.
Do not invent DOI numbers. If you are not sufficiently sure of a reference, say so.

Then check the article yourself.

Do not cite ChatGPT as a substitute for a scientific source.

Rule 3: when dealing with R, run the code

Do not ask only:

Is this code correct?

Run it.

Check:

stopifnot(length(sim) == length(obs))
stopifnot(all(is.finite(sim)))
stopifnot(!anyNA(sim))

Inspect plots. Test the function on a small case with a known behaviour. Check dates and units.

Rule 4: ask for counter-examples

Give me a case in which this recommendation would be wrong.

This is particularly useful in modelling.

Rule 5: ask it to criticise itself

Now act as a critical reviewer.
Identify the three weakest points in your previous answer.

This does not guarantee correctness, but it often reveals hidden assumptions.


6. Do not ask it to think for you: ask it to help you think

If your aim is learning, avoid prompts like:

Solve this exercise.

Prefer:

I want to solve this exercise myself.
Do not give me the final solution.
Ask me one question at a time and only give a hint if I get stuck.

Another useful variation is:

First ask me to explain, in my own words, what I think will happen.
Then challenge my explanation.
Only at the end show me a reference solution.

This completely changes ChatGPT’s function: from answer generator to reasoning trainer.


7. Free or Plus for IIO409?

This question matters, especially when a monthly subscription would be a significant cost for the student’s household.

My recommendation for this course

I do not think students need ChatGPT Plus in order to pass IIO409 or to learn hydrological modelling well.

The free tier is often enough for:

  • studying concepts;
  • asking practice questions;
  • checking short fragments of R;
  • preparing discussion points;
  • using Study Mode;
  • rehearsing oral explanations.

A paid plan can be useful when you work intensively with longer conversations, files, code and repeated tool use. But this is mainly a matter of convenience and productivity, not educational necessity.

When might a paid plan be worth it?

It may make sense if:

  • you use ChatGPT heavily for programming and debugging;
  • you regularly work with uploaded files;
  • you analyse longer documents;
  • the free-tier limits interrupt your work often;
  • you are in a particularly intensive phase of the project.

When would I not pay for it?

I would not pay only to:

  • ask for definitions;
  • summarise notes;
  • generate practice questions;
  • review short code;
  • brainstorm study ideas.

For those tasks, the quality of the study method usually matters much more than the type of plan.

An equity consideration

No essential learning activity in the course should depend on a student’s ability to pay for a subscription. If two students have the same knowledge and one cannot afford a paid plan, that should not create an academic disadvantage.

Treat a paid plan, therefore, as an optional productivity tool, not as a requirement.


8. Five prompts you can save today

Prompt 1: Socratic tutor

Act as a Socratic tutor for hydrological modelling for a Civil Engineering student.
I want to learn [TOPIC].

First ask me what I currently understand.
Then ask me one question at a time.
Do not give me the solution before I answer.
When I make a mistake, identify the conceptual error and give me a hint.
At the end, give me a slightly different problem to test transfer.

Prompt 2: conceptual checker

I am going to explain [CONCEPT] in my own words.
Do not rewrite it immediately.

Assess my explanation in terms of:
1. correct ideas;
2. incomplete ideas;
3. mistakes;
4. implicit assumptions;
5. one question that reveals whether I really understand it.

Prompt 3: methodological critic

Act as a critical reviewer of a hydrological modelling study.
Do not try to be nice: look for methodological weaknesses.

I will describe my methodology.
Identify problems that could affect:
- data consistency;
- warm-up;
- calibration;
- verification;
- objective function;
- identifiability;
- uncertainty;
- interpretation.

Prioritise the problems by impact and explain how to check each one.

Prompt 4: programming companion

Help me solve this problem in base R, without tidyverse.

Before writing code:
1. summarise the goal;
2. identify inputs and outputs;
3. ask me for any crucial missing information.

Then deliver a minimal reproducible solution.
Include automatic checks and explain how to verify the result.
Do not invent functions or package arguments.

Prompt 5: hallucination detector

Review your previous answer as if you were an auditor.
Flag every claim that depends on:
- a reference;
- a software function;
- a number;
- a date;
- an assumption that I did not provide.

For each one, tell me how I can verify it independently.

9. Checklist before you trust an answer

Before using a reply from ChatGPT in IIO409, ask yourself:

  • Do I understand why the answer makes sense?
  • Have I identified its assumptions?
  • Can I explain it without copying its wording?
  • Can I think of at least one case in which it would not hold?
  • Have I checked the references and functions?
  • Have I run the code?
  • Have I checked units and dates?
  • Could I defend this decision in front of my lecturer?

If the answer to several of these is “no”, you are not finished yet.


10. Final idea: using ChatGPT well means asking better questions

The aim is not to memorise a set of “magic prompts”.

The aim is to develop a habit:

define the problem more clearly, make assumptions explicit, ask for evidence, test the result and refine the solution.

That is exactly the same habit you need in good hydrological modelling.

In Part II we will apply this logic to the theory component of IIO409: how to use ChatGPT to study concepts, read articles critically, diagnose modelling cases and prepare for assessments in which memorising definitions is not enough.

docs