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

Annotation of /MITgcm_contrib/Friis_ODV/transODV.sh

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


Revision 1.1 - (hide 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 edhill 1.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