Running Pangolin¶
Configuration file¶
Copy the template config.template
to another file (the default is
config
). Edit it following the information given in the comments (a
comment beging with !).
As an example, we show here a small config file :
nb_partitions = 27
nb_lat2 = 5
t_start = 201301010000
t_end = 201301020000
dt=5.
T_winds = 0100
T_output = 0100
output_dir = output
output_winds_dir = output
test_case = testsuite_cv
input_dir = input
input_winds_dir = input
Here, we set the model with 27 MPI processes, which should be run with
27 cores to have true parallelism. The number of latitude on the grid is
10 (twice nb_lat2
). The simulation is set to run for two whole days,
with a time step of 5 minutes. Winds are read every hour and data is
written every hour. Ratio and winds have different input and output
folders for more flexibility. Finally, we use winds implemented in the
model for debug purposes with:
test_case = testsuite_cv
How to run¶
Quickstart¶
Warning
Before a run, the TZ variable must be set always be set to GMT. In bash, do:
$ export TZ=GMT
Start the script simulation_run and follow the instructions. You can specify the number of processus (which should the number of partitions). Here is an example run:
$ ./simulation_run.pl
Enter the number of processus:
Number of partitions (start):
3
Number of partitions (end):
9
You can directly override the number of processus for several runs or a single one:
$ ./simulation_run.pl --start=3 --end=9
$ ./simulation_run.pl --startend=126
Here is the result of a sample run:
Simulation
b partitions = 3
logfilepangolin.log_4906
Warning : Analytical case (for debug)
Warning : CFL set from timestep
Nb processes = 3
Nb partitions = 3
* Reading configuration file config.new done
* Initializing simulation done
New global grid with 80 latitudes on an hemisphere
Three partitions
Numerical ratio (always)
Reading ratio (sequential)/wkdir/pae2/praga/input/gaussianhills_80lat/ratio_1_201301010000.h5
Analytical winds
skipping merid winds check (partition_class)
* Partitioning done
* Starting simulation...
Run from 2013/01/01 00:00 to 2013/01/13 00:00
Duration 12.000 days(nb iter= 864, dt= 20.00min, CFL= 0.95605)
* Simulation done
* Cleaning...
Customization¶
You can start the executable by hand with:
$ mpirun -np 9 bin/pangolin
By default, config
is the configuration file but this can be changed
with:
$ mpirun -np 9 bin/pangolin --config=other.config
Starting jobs is done with a PBS script pbs_run.batch
. You must edit
it in order to specify the running time. Also, you can add you own
specifications in it (sourcing files, loading modules...).
Remarks¶
Timesteps¶
In the configuration file, the different timesteps are given in minutes. However, in the code, we only deal with times in seconds (possible overflow for large simulations ?).
I/O¶
The simulation needs only a starting and ending time given in the format YYYYMMDDHHMM. The period is on the form HHMM. It will deduce the needed running time and the number of iterations according to the timestep. But it will not check every data file is here. So a missing file will only be found when needed.
Winds¶
- Winds are interpolated linearly.
- In input, winds are positive if they point towards the north. However, the correction will change the sign for the model : positive will thus mean toward the south.
- They must be given in m/s on the Earth. The model will convert them in degree/s.