1 |
|
|
2 |
(last edit : oct. 3rd, 2012) |
( last edited : October 14th, 2014 -- author : Gael Forget ) |
3 |
|
|
4 |
--------------------------------------------------------------- |
--------------------------------------------------------------- |
5 |
A) setup the experiments (incl. llc90 and cs32 core2.cnyf runs) |
A) setup the experiments (incl. llc90 and cs32 core2.cnyf runs) |
22 |
If otherwise, see http://mitgcm.org/public/source_code.html |
If otherwise, see http://mitgcm.org/public/source_code.html |
23 |
3) step2 creates a directory global_oce_tmp_download that |
3) step2 creates a directory global_oce_tmp_download that |
24 |
contains the experiments directories. Move them (incl. |
contains the experiments directories. Move them (incl. |
25 |
global_oce_input_fields) to MITgcm/verification and cd to |
global_oce_input_fields) to MITgcm/verification. Once you |
26 |
that location. Once you have done this succesfully you may want |
have done this succesfully you may want to remove the empty |
27 |
to remove global_oce_tmp_download. We wont need it anymore. |
global_oce_tmp_download directory. We wont need it anymore. |
28 |
4) exectute MITgcm with testreport. Two examples from one machine. |
4) exectute MITgcm with testreport. Two examples from one machine. |
29 |
To run the cs32 test on one cpu : |
To run the cs32 test on one cpu : |
30 |
./testreport -t global_oce_cs32 |
./testreport -t global_oce_cs32 |
31 |
And to run the llc90 test on 12 cpus, using mpi |
And to run the llc90 test on 24 cpus, using mpi |
32 |
./testreport -match 6 -of=../tools/build_options/linux_amd64_gfortran -MPI 12 -command 'mpirun -np TR_NPROC ./mitgcmuv' -t global_oce_llc90 |
./testreport -of=../tools/build_options/linux_amd64_gfortran -MPI 24 -command 'mpirun -np TR_NPROC ./mitgcmuv' -t 'global_oce_cs32 global_oce_llc90' |
33 |
The optfile may be swaped for one that better suits your machine. |
The optfile may be swaped for one that better suits your machine. |
34 |
5) for llc90 experiment testreport should show something like |
|
35 |
Y Y Y Y> 6<16 16 12 12 16 16 13 11 12 11 11 11 12 13 10 11 . . pass global_oce_llc90 |
Notes: - when using mpi and netcdf, testreport expects two environment variables : |
36 |
Y Y Y N .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . N/O global_oce_llc90.core2 |
export MPI_INC_DIR=/opt/local/include |
37 |
Y Y Y N .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . N/O global_oce_llc90.ecco_v4 |
export NETCDF_ROOT=/opt/local |
38 |
Y Y Y N .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . N/O global_oce_llc90.ecmwf |
or something similar depending on your computing environment |
39 |
implying that the main experiment ran as expected in global_oce_llc90/run. In contrast |
- whether with testreport or not mpi and netcdf libraries are a pre-requisite |
40 |
the sub-experiments, by default, fail by omission of surface forcing fields. This |
5) upon completion of the experiments, testreport should return something like |
41 |
omission saves disk space and download time. In case you want to run the sub-experiments, |
Y Y Y Y>16<16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 . . pass global_oce_cs32 |
42 |
you will need to obtain additional inputs. Contact us about this if applies. |
Y Y Y Y> 7<16 16 12 12 16 16 13 11 13 12 10 11 13 13 11 11 . . FAIL global_oce_llc90 |
43 |
|
Y Y Y Y>10<16 13 12 12 13 16 14 11 13 13 11 11 13 13 11 11 . . pass global_oce_llc90.core2 |
44 |
|
Y Y Y Y> 4<13 11 9 9 12 16 11 9 10 12 10 10 11 10 8 10 . . FAIL global_oce_llc90.ecco_v4 |
45 |
|
Y Y Y Y> 7<10 11 12 11 12 11 13 10 10 12 11 11 12 11 11 10 . . FAIL global_oce_llc90.ecmwf |
46 |
|
implying that the main experiment ran as expected in global_oce_llc90/run. |
47 |
|
|
48 |
----------------------------------------------------------------------- |
----------------------------------------------------------------------- |
49 |
B) in case you want to change stuff on your end, or for troubleshooting |
B) in case you want to change stuff on your end, or for troubleshooting |
50 |
----------------------------------------------------------------------- |
----------------------------------------------------------------------- |
51 |
|
|
|
0) to run the core2, ecmwf, and ecco_v4 subexperiments you will need |
|
|
extra stuff in global_oce_input_fields. Contact us if need be. |
|
|
|
|
52 |
1) In linking the experiments to one another we rely on 'build/genmake_local' and |
1) In linking the experiments to one another we rely on 'build/genmake_local' and |
53 |
'input*/prepare_run' which may be worth a special mention, at least to new MITgcm users. |
'input*/prepare_run' which may be worth a special mention, at least to new MITgcm users. |
54 |
|
|
63 |
e.g. global_oce_cs32 will get shared files from global_oce_llc90. If you move |
e.g. global_oce_cs32 will get shared files from global_oce_llc90. If you move |
64 |
the directories appart, you will need to edit the paths in input*/prepare_run |
the directories appart, you will need to edit the paths in input*/prepare_run |
65 |
1.4) the logic we followed in linking exps to one another : |
1.4) the logic we followed in linking exps to one another : |
66 |
- forward subexperiments : get local namelists then run input/prepare_run |
- forward subexperiments : get input.xxx/namelists then run input/prepare_run |
67 |
- adjoint subexperiments : get input_ad.x/namelists then run corresponding forward |
- adjoint subexperiments : get input_ad.xxx/namelists then run corresponding forward |
68 |
subexperiment input.x/prepare_run (that itself ultimately runs input/prepare_run) |
subexperiment input.xxx/prepare_run (that itself ultimately runs input/prepare_run) |
69 |
|
|
70 |
2) In a couple .h files (that you find in the build directory after compiling) |
2) In a couple .h files (that you find in the build directory after compiling) |
71 |
small size parameters are used as a default (to save memory of course) |
small size parameters are used as a default (to save memory of course) |
72 |
and they can become limiting in certain cases : |
and they can become limiting in certain cases : |
73 |
- you may want to integrate the model beyond a few time steps. You will need to |
- you may want to integrate the model beyond a few time steps. You will need to |
74 |
edit ecco_cost.h, increase nchklev_1, nchklev_2, nchklev_3 and recompile. |
increase nchklev_1/_2/_3 in tamc.h (e.g. use the values in tamc.h_itXX) and recompile. |
75 |
- you may want to use pkg/profiles (i.e. process insitu data via data.profiles). |
- you may want to use pkg/profiles (i.e. process insitu data via data.profiles). |
76 |
You will need to edit profiles.h to increase NOBSGLOB, and recompile. |
You will need to increase NOBSGLOB in PROFILES_SIZE.h (e.g. use PROFILES_SIZE.h_itXX), and recompile. |
77 |
|
|
78 |
3) To run the adjoint subexperiments you need the taf/tamc software/license. |
3) To run the adjoint subexperiments you need the taf/tamc software/license. |
79 |
|
|
|
|
|
80 |
--------------------------------------------------------------- |
--------------------------------------------------------------- |
|
Cheers, |
|
|
Gael |
|
81 |
--------------------------------------------------------------- |
--------------------------------------------------------------- |
82 |
|
|
|
|
|
|
|
|