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. |
7 |
|
8 |
tips : - look for answers/examples in the programs we ran together in class #1 and #2 |
9 |
- type ‘help read_nctiles’ in matlab and similarly for all other functions |
10 |
- use the matlab debugger to go through computations step by step |
11 |
|
12 |
notes on matlab software and exercises: |
13 |
—————————————————— |
14 |
|
15 |
Having the up-to-date matlab software (gcmfaces and MITprof) set-up is pre-requisite. |
16 |
|
17 |
1) if you did this set-up by following steps 1 and 2 of computing/iap-idma-readme (i.e. |
18 |
using setup_gcmfaces_and_mitprof.csh) then the ‘software exercise’ #1 is for you |
19 |
|
20 |
2) If you operate on a windows PC where shell scripting, cvs, etc cannot be relied upon, |
21 |
then ‘software exercise’ #2 below is for you. |
22 |
|
23 |
software exercises: |
24 |
————————— |
25 |
|
26 |
1) in a terminal window, go to your copy of gcmfaces and update it using cvs, |
27 |
then do the same thing with MITprof. |
28 |
tip : see http://mitgcm.org/public/using_cvs.html |
29 |
|
30 |
2) set-up the matlab software manually |
31 |
tip : see instructions provided at the beginning of |
32 |
http://mitgcm.org/viewvc/*checkout*/MITgcm/MITgcm_contrib/gael/matlab_class/gcmfaces.pdf |
33 |
|
34 |
Argo profile data exercises: |
35 |
———————————— |
36 |
|
37 |
1) modify idma_float_plot.m to display salinity rather than temperature records |
38 |
|
39 |
2) starting from the output of idma_float_plot.m (“p”) interpolate the data to |
40 |
daily values, the apply convn to filter out sub-monthly fluctuations |
41 |
tip : use 30 days as the practical definition of “monthly” |
42 |
|
43 |
3) extract all profiles from argo_feb2013_2008_to_2010_model.nc |
44 |
that are located in the box defined by 10N-30N and 180W-120W |
45 |
tip : use MITprof_subset in analogy with idma_float_plot.m |
46 |
|
47 |
4) compute 12 monthly mean temperature profiles for one float (“p”) or for |
48 |
all profiles in the 10N-30N and 180W-120W box (see exercise #2). |
49 |
tip: get profiles’ month from the prof_date or prof_YYYYMMDD fields |
50 |
|
51 |
5) compute normalized model-data differences |
52 |
d=(p.prof_Testim-p.prof_T).*sqrt(p.prof_Tweight) |
53 |
then compute its # of entries for each depth level, |
54 |
and plot its histogram for a chosen level |
55 |
|
56 |
6) compute vertical gradients of temperature profiles, compute temperature |
57 |
anomalies from the same profiles, and combine the two to infer vertical |
58 |
displacements of isotherms. |
59 |
|
60 |
ECCO/gcmfaces exercises: |
61 |
———————————— |
62 |
|
63 |
1) modify example_transports.m to compute the oceanic mass transport |
64 |
between Boston and Paris using gcmfaces_lines_transp.m and calc_transports.m |
65 |
|
66 |
2) identify the Surface Height Anomaly variable from the files in nctiles_climatology, |
67 |
read its series of monthly fields into memory using read_nctiles.m, and display |
68 |
its temporal standard deviation |
69 |
|
70 |
3) identify the grid cell area and land mask variables in mygrid, load the ETAN |
71 |
monthly time series, and compute the area weighted average of monthly |
72 |
Surface Height Anomaly between 10E and 10W |
73 |
|
74 |
4) load the UVELMASS and VVELMASS variables, compute the global |
75 |
overturning stream function for each month, and display its evolution at 25N |
76 |
|
77 |
5) load the UVELMASS and VVELMASS variables, extract one vertical level, |
78 |
then compute its zonal and meridional components, divergence and rotational |
79 |
tip : routines that do such computations are located in gcmfaces_calc/ with |
80 |
examples in gcmfaces_diags/diags_set_*.m |
81 |
|
82 |
6) modify example_smooth.m to apply the diffusive smoother to the following field : |
83 |
unity at one point, zeros everywhere else, NaN over land. Run this computation |
84 |
via the matlab debugger and visualize the intermediate operations (gradients, |
85 |
flux convergence, exchanges, etc.). |
86 |
|
87 |
MITgcm exercises: |
88 |
————————— |
89 |
|
90 |
1) increase experiment duration for adjustment.cs-32x32x1, |
91 |
tutorial_held_suarez_cs, and tutorial_plume_on_slope |
92 |
|
93 |
tips : - if using testreport for longer runs then use the -fast option |
94 |
- for tutorial_held_suarez_cs/input/data: |
95 |
< nTimeSteps=16, |
96 |
> nTimeSteps=69120, |
97 |
- for tutorial_plume_on_slope/input/data: |
98 |
< nTimeSteps=20, |
99 |
> nTimeSteps=8640, |
100 |
- for adjustment.cs-32x32x1/input/data: |
101 |
< nTimeSteps=24, |
102 |
> endTime=172800., |
103 |
|
104 |
2) compile, run, and display utorial_held_suarez_cs with diagnostic package |
105 |
|
106 |
tips : - adjustment.cs-32x32x1 provides a working example using pkg/diagnostics |
107 |
- pkg/diagnostics needs to be activated at compile time (packages.conf), and |
108 |
at run time (data.pkg), and then configured at run time (data.diagnostics) |