| 1 |
gforget |
1.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 |
gforget |
1.2 |
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 |
gforget |
1.1 |
|
| 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 |
|
|
|
| 72 |
|
|
tips : - if using testreport for longer runs then use the -fast option |
| 73 |
|
|
- for tutorial_held_suarez_cs/input/data: |
| 74 |
|
|
< nTimeSteps=16, |
| 75 |
|
|
> nTimeSteps=69120, |
| 76 |
|
|
- for tutorial_plume_on_slope/input/data: |
| 77 |
|
|
< nTimeSteps=20, |
| 78 |
|
|
> nTimeSteps=8640, |
| 79 |
|
|
- for adjustment.cs-32x32x1/input/data: |
| 80 |
|
|
< nTimeSteps=24, |
| 81 |
|
|
> endTime=172800., |
| 82 |
|
|
|
| 83 |
|
|
2) compile, run, and display utorial_held_suarez_cs with diagnostic package |
| 84 |
|
|
|
| 85 |
|
|
tips : - adjustment.cs-32x32x1 provides a working example using pkg/diagnostics |
| 86 |
|
|
- pkg/diagnostics needs to be activated at compile time (packages.conf), and |
| 87 |
|
|
at run time (data.pkg), and then configured at run time (data.diagnostics) |