1 |
|
2 |
|
3 |
Below is a list of proposed, self guided exercises. I generally tried to order |
4 |
the exercises by increasing complexity. While none of them is really challenging, |
5 |
the various exercises aim to give you with first hand experience with the data sets |
6 |
and tools discussed over the course of the IAP activity. Here it is assumed that you have |
7 |
completed the set up of the activities as explained in guidelines/iap-idma-instructions. |
8 |
|
9 |
tips : - look for answers/examples in the programs we ran together in class #1 and #2 |
10 |
- type ‘help read_nctiles’ in matlab and similarly for all other functions |
11 |
- use the matlab debugger to go through computations step by step |
12 |
|
13 |
Argo profile data exercises: |
14 |
———————————— |
15 |
|
16 |
1) modify idma_float_plot.m to display salinity rather than temperature records |
17 |
|
18 |
2) starting from the output of idma_float_plot.m (“p”) interpolate the data to |
19 |
daily values, the apply convn to filter out sub-monthly fluctuations |
20 |
tip : use 30 days as the practical definition of “monthly” |
21 |
|
22 |
3) extract all profiles from argo_feb2013_2008_to_2010_model.nc |
23 |
that are located in the box defined by 10N-30N and 180W-120W |
24 |
tip : use MITprof_subset in analogy with idma_float_plot.m |
25 |
|
26 |
4) compute 12 monthly mean temperature profiles for one float (“p”) or for |
27 |
all profiles in the 10N-30N and 180W-120W box (see exercise #2). |
28 |
tip: get profiles’ month from the prof_date or prof_YYYYMMDD fields |
29 |
|
30 |
5) compute normalized model-data differences |
31 |
d=(p.prof_Testim-p.prof_T).*sqrt(p.prof_Tweight) |
32 |
then compute its # of entries for each depth level, |
33 |
and plot its histogram for a chosen level |
34 |
|
35 |
6) compute vertical gradients of temperature profiles, compute temperature |
36 |
anomalies from the same profiles, and combine the two to infer vertical |
37 |
displacements of isotherms. |
38 |
|
39 |
ECCO/gcmfaces exercises: |
40 |
———————————— |
41 |
|
42 |
1) modify example_transports.m to compute the oceanic mass transport |
43 |
between Boston and Paris using gcmfaces_lines_transp.m and calc_transports.m |
44 |
|
45 |
2) identify the Surface Height Anomaly variable from the files in nctiles_climatology, |
46 |
read its series of monthly fields into memory using read_nctiles.m, and display |
47 |
its temporal standard deviation |
48 |
|
49 |
3) identify the grid cell area and land mask variables in mygrid, load the ETAN |
50 |
monthly time series, and compute the area weighted average of monthly |
51 |
Surface Height Anomaly between 10E and 10W |
52 |
|
53 |
4) load the UVELMASS and VVELMASS variables, compute the global |
54 |
overturning stream function for each month, and display its evolution at 25N |
55 |
|
56 |
5) load the UVELMASS and VVELMASS variables, extract one vertical level, |
57 |
then compute its zonal and meridional components, divergence and rotational |
58 |
tip : routines that do such computations are located in gcmfaces_calc/ with |
59 |
examples in gcmfaces_diags/diags_set_*.m |
60 |
|
61 |
6) modify example_smooth.m to apply the diffusive smoother to the following field : |
62 |
unity at one point, zeros everywhere else, NaN over land. Run this computation |
63 |
via the matlab debugger and visualize the intermediate operations (gradients, |
64 |
flux convergence, exchanges, etc.). |
65 |
|
66 |
MITgcm exercises: |
67 |
————————— |
68 |
|
69 |
1) increase experiment duration for adjustment.cs-32x32x1, |
70 |
tutorial_held_suarez_cs, and tutorial_plume_on_slope |
71 |
by editing their respective input/data as follows: |
72 |
- tutorial_held_suarez_cs/input/data: |
73 |
< nTimeSteps=16, |
74 |
> nTimeSteps=69120, |
75 |
- tutorial_plume_on_slope/input/data: |
76 |
< nTimeSteps=20, |
77 |
> nTimeSteps=8640, |
78 |
- adjustment.cs-32x32x1/input/data: |
79 |
< nTimeSteps=24, |
80 |
> endTime=172800., |
81 |
|
82 |
2) compile and run the experiments using testreport using the command |
83 |
./testreport -fast -t tutorial_plume_on_slope |
84 |
and accordingly for the other two. Note: the -fast option activates |
85 |
compiler optimization, which accelerates the runs greatly. |
86 |
|
87 |
notes : - to learn more about testreport type 'testreport --help' or |
88 |
see mitgcm.org/public/devel_HOWTO/devel_HOWTO.pdf |
89 |
- 'testreport -clean' is useful to reset an experiment. |
90 |
- testreport links the various inputs in the 'run/' subdirectory |
91 |
and then automatically runs the model ('mitgcmuv'). As long as |
92 |
you do not empty 'run/' then you can exectute the model directly |
93 |
using this command: './mitgcmuv > output.txt'. |
94 |
|
95 |
4) use the mitgcm_plot_adju_cs32.m, mitgcm_plot_held_suarez.m, and mitgcm_plot_plume.m |
96 |
(http://mitgcm.org/viewvc/MITgcm/MITgcm_contrib/gael/comm/course-idma2016/matlab/) |
97 |
to display results (type e.g. 'help mitgcm_plot_adju_cs32' first). |
98 |
|
99 |
notes: this assumes that gcmfaces has been installed and added to the Matlab |
100 |
path as explained at the beginning of idma2016-instructions.pdf |