/[MITgcm]/MITgcm_contrib/Friis_ODV/transODV.sh
ViewVC logotype

Contents of /MITgcm_contrib/Friis_ODV/transODV.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download) (as text)
Thu Oct 28 13:37:48 2004 UTC (18 years, 3 months ago) by edhill
Branch: MAIN
CVS Tags: HEAD
File MIME type: application/x-sh
 o example script from Karsten Friis that re-formats MITgcm NetCDF output
   for input by the Ocean Data View (ODV) program

1 # !/.
2 # Karsten Friis
3 # script 'transODV.sh' to transform the netCDF output of the MITgcm for an ODV input file
4 # the output file is finally a merged data file at a certain time step
5 # the nco commands[http://nco.sourceforge.net] have to be installed
6 # a 12 month TS average file 'TStave_12month.nc' has to be stored somewhere
7
8 # reading and merging of the chosen output variables
9 ncks -v XC,YC,RC,Depth,HFacS grid.000001.nc ODV.nc
10 ncks -A -v iter,o2,po4,alk,dic,dop ptracers.000001.nc ODV.nc
11
12 # inventing coded (grid) station IDs like 12801, 12864, 00101, 00164
13 ncap -O -s "StatID[XC,YC]=(XC/2.8125+0.5)*1000+(YC/2.8125+32.5))" ODV.nc ODV_is1.nc
14 rm ODV.nc
15 ncatted -O -a long_name,StatID,c,c,Station_gridpoint_ID ODV_is1.nc ODV_is2.nc
16 ncap -O -s "sample_depth[RC]=abs(RC)" ODV_is2.nc ODV_is3.nc
17 ncatted -O -a units,sample_depth,c,c,"m" ODV_is3.nc ODV.nc
18 rm ODV_is1.nc
19 rm ODV_is2.nc
20 rm ODV_is3.nc
21
22 # the following steps transform the units to bottle data units
23 # this is not absolutely needed, but helps for comparisons with observations
24
25 ncap -O -s "O2[o2]=(o2)*1000" ODV.nc ODV_is1.nc
26 rm ODV.nc
27 ncatted -O -a units,O2,c,c,"umol L-1" ODV_is1.nc ODV.nc
28 rm ODV_is1.nc
29
30 ncap -O -s "PO4[po4]=(po4)*1000" ODV.nc ODV_is1.nc
31 rm ODV.nc
32 ncatted -O -a units,PO4,c,c,"umol L-1" ODV_is1.nc ODV.nc
33 rm ODV_is1.nc
34
35 ncap -O -s "AT[alk]=(alk)*1000" ODV.nc ODV_is1.nc
36 rm ODV.nc
37 ncatted -O -a units,AT,c,c,"umol L-1" ODV_is1.nc ODV.nc
38 rm ODV_is1.nc
39
40 ncap -O -s "CT[dic]=(dic)*1000" ODV.nc ODV_is1.nc
41 rm ODV.nc
42 ncatted -O -a units,CT,c,c,"umol L-1" ODV_is1.nc ODV.nc
43 rm ODV_is1.nc
44
45 ncap -O -s "DOP[dop]=(dop)*1000" ODV.nc ODV_is1.nc
46 rm ODV.nc
47 ncatted -O -a units,DOP,c,c,"umol L-1" ODV_is1.nc ODV.nc
48 rm ODV_is1.nc
49
50 # this prints out some information about what has happend that far
51 # and shows the 'iter' values
52 ncks -v iter ODV.nc tmp1.nc
53 ncdump tmp1.nc | more
54 rm tmp1.nc
55
56 # iter shows the time steps that can be cut out from the merged ODV data file
57 # the first time step gets the Index 0 the second 1 and so on
58 read -p "Enter the time slice You would like to get (start counting with 0,1): " SLICE
59 read -p "Please enter the month of the time slice (01-12) you have just choosen, i.e. type in 00 for the average year:" monthID
60 read -p "Enter the ID of this run (eg, A, B, ..) and slice (1,2,...): " runID
61 ncks -d T,$SLICE,$SLICE ODV.nc ODV_$runID.nc
62
63 # the system path is ../../../../../../../diatom/s0/kfriis/MITgcm_instructions/TS_nc/TSout_$monthID.nc
64 # but has to be modified for other systems than mine
65 ncks -A -v Ttave,Stave ../../../../../../../diatom/s0/kfriis/MITgcm_instructions/TS_nc/TSout_$monthID.nc ODV_$runID.nc
66 ncks -A -v time_tsnumber monitor.000001.nc ODV_$runID.nc
67 ncap -O -s "cruise_name[time_tsnumber]=time_tsnumber/time_tsnumber" ODV_$runID.nc ODV_is3.nc
68 rm ODV_$runID.nc
69 mv ODV_is3.nc ODV_$runID.nc
70
71 ncks -v iter,StatID,XC,YC,Depth,HFacS,sample_depth,Ttave,Stave,O2,PO4,CT,AT,DOP,cruise_name ODV_$runID.nc ODV_is1.nc
72 rm ODV_$runID.nc
73 mv ODV_is1.nc ODV_$runID.nc
74
75 ls

  ViewVC Help
Powered by ViewVC 1.1.22