- Timestamp:
- 2011-10-26T19:26:37+02:00 (13 years ago)
- Location:
- branches/dev_2802_OBStools
- Files:
-
- 2 added
- 16 deleted
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_2802_OBStools/DOC/TexFiles/Chapters/Chap_OBS.tex
r2483 r3002 784 784 interpolating polynomial in the spline are set to zero. 785 785 At the bottom boundary, this is done using the land-ocean mask. 786 787 788 \section{Observation Utilities} 789 790 Some tools for viewing and processing of observation and feedback files are provided in the NEMO 791 repository for convenience. These are OBSTOOLS which is a series of Fortran programs which are helpful to 792 deal with feedback files. They do such tasks as observation file conversion, printing of file contents, 793 some basic statistical analysis of feedback files. The other tool is an IDL program called dataplot which 794 uses a graphical interface to visualise observations and feedback files. OBSTOOLS and dataplot are 795 described in more detail below. 796 797 \subsection{OBSTOOLS} 798 799 A series of Fortran utilities is provided with NEMO called OBSTOOLS. This are helpful in handling 800 observation files and the feedback file output from the NEMO observation operator. The utilities are as 801 follows 802 803 \subsubsection{corio2fb} 804 805 The program corio2fb converts profile observation files from the Coriolis format to the standard feedback 806 format. The program is called in the following way: 807 808 \begin{alltt} 809 \footnotesize 810 \begin{verbatim} 811 corio2fb.exe outputfile inputfile1 inputfile2 ... 812 \end{verbatim} 813 \end{alltt} 814 815 \subsubsection{enact2fb} 816 817 The program enact2fb converts profile observation files from the ENACT format to the standard feedback 818 format. The program is called in the following way: 819 820 \begin{alltt} 821 \footnotesize 822 \begin{verbatim} 823 enact2fb.exe outputfile inputfile1 inputfile2 ... 824 \end{verbatim} 825 \end{alltt} 826 827 \subsubsection{fbcomb} 828 829 The program fbcomb combines multiple feedback files produced by individual processors in an MPI run of 830 NEMO into a single feedback file. The program is called in the following way: 831 832 \begin{alltt} 833 \footnotesize 834 \begin{verbatim} 835 fbcomb.exe outputfile inputfile1 inputfile2 ... 836 \end{verbatim} 837 \end{alltt} 838 839 \subsubsection{fbmatchup} 840 841 The program fbmatchup will match observations from two feedback files. The program is called in the 842 following way: 843 844 \begin{alltt} 845 \footnotesize 846 \begin{verbatim} 847 fbmatchup.exe outputfile inputfile1 varname1 inputfile2 varname2 ... 848 \end{verbatim} 849 \end{alltt} 850 851 852 \subsubsection{fbprint} 853 854 The program fbprint will print the contents of a feedback file or files to standard output. Selected 855 information can be output using optional arguments. The program is called in the following way: 856 857 \begin{alltt} 858 \footnotesize 859 \begin{verbatim} 860 fbprint.exe [options] inputfile 861 862 options: 863 -b shorter output 864 -q Select observations based on QC flags 865 -Q Select observations based on QC flags 866 -B Select observations based on QC flags 867 -u unsorted 868 -s ID select station ID 869 -t TYPE select observation type 870 -v NUM1-NUM2 select variable range to print by number (default all) 871 -a NUM1-NUM2 select additional variable range to print by number (default all) 872 -e NUM1-NUM2 select extra variable range to print by number (default all) 873 -d output date range 874 -D print depths 875 -z use zipped files 876 \end{verbatim} 877 \end{alltt} 878 879 \subsubsection{fbsel} 880 881 The program fbsel will select or subsample observations. The program is called in the following way: 882 883 \begin{alltt} 884 \footnotesize 885 \begin{verbatim} 886 fbsel.exe <input filename> <output filename> 887 \end{verbatim} 888 \end{alltt} 889 890 \subsubsection{fbstat} 891 892 The program fbstat will output summary statistics in different global areas into a number of files. The 893 program is called in the following way: 894 895 \begin{alltt} 896 \footnotesize 897 \begin{verbatim} 898 fbstat.exe [-nmlev] <filenames> 899 \end{verbatim} 900 \end{alltt} 901 902 \subsubsection{fbthin} 903 904 The program fbthin will thin the data to 1 degree resolution. The code could easily be modified to thin to 905 a different resolution. The program is called in the following way: 906 907 \begin{alltt} 908 \footnotesize 909 \begin{verbatim} 910 fbthin.exe inputfile outputfile 911 \end{verbatim} 912 \end{alltt} 913 914 \subsubsection{sla2fb} 915 916 The program sla2fb will convert an AVISO SLA format file to feedback format. The program is called in the 917 following way: 918 919 \begin{alltt} 920 \footnotesize 921 \begin{verbatim} 922 sla2fb.exe [-s type] outputfile inputfile1 inputfile2 ... 923 924 Option: 925 -s Select altimeter data_source 926 \end{verbatim} 927 \end{alltt} 928 929 \subsubsection{vel2fb} 930 931 The program vel2fb will convert TAO/PIRATA/RAMA currents files to feedback format. The program is called in the 932 following way: 933 934 \begin{alltt} 935 \footnotesize 936 \begin{verbatim} 937 vel2fb.exe outputfile inputfile1 inputfile2 ... 938 \end{verbatim} 939 \end{alltt} 940 941 \subsection{dataplot} 942 943 An IDL program called dataplot is included which uses a graphical interface to visualise observations and 944 feedback files. It is possible to zoom in, plot individual profiles and calculate some basic statistics. To 945 plot some data 946 947 \begin{alltt} 948 \footnotesize 949 \begin{verbatim} 950 IDL> dataplot, "filename" 951 \end{verbatim} 952 \end{alltt} 953 954 To read multiple files into dataplot, for example multiple feedback files from different 955 processors or from different days, the easiest method is to use the spawn command to generate a list of 956 files which can then be passed to dataplot. 957 958 \begin{alltt} 959 \footnotesize 960 \begin{verbatim} 961 IDL> spawn, 'ls profb*', files 962 IDL> dataplot, files 963 \end{verbatim} 964 \end{alltt} 965 966 Fig~\ref{fig:obsdataplotmain} shows the main window which is launched when dataplot starts. This is split 967 into three parts. At the top there is a menu bar which contains a variety of drop down menus. Areas - zooms 968 into prespecified regions; plot - plots the data as a timeseries or a T-S diagram if appropriate; Find - 969 allows data to be searches; Config - sets various configuration options. 970 971 The middle part is a plot of the geographical location of the observations. This will plot the observation 972 value, the model background value or observation minus background value depending on the option selected in 973 the radio button at the bottom of the window. The plotting range can be changed by clicking on the colour 974 bar. The title of the plot gives some basic information about the date range and depth range shown, the 975 extreme values, and the mean and rms values. It is possible to zoom in using a drag-box. You may also zoom 976 in or out using the mouse wheel. 977 978 The bottom part of the window controls what is visible in the plot above. There are two bars which select 979 the level range plotted (for profile data). The other bars below select the date range shown. The bottom of 980 the figure allows the choice to plot the mean, root mean square, standard deviation, mean square values. As 981 mentioned above here you can choose to plot the observation value, the model background value or 982 observation minus background value. The next group of radio buttons selects the map projection. This can 983 either be regular latitude longitude grid, or north or south polar stereographic. The next group of 984 radio buttons will plot bad observations, switch to salinity and plot density for profile observations. The 985 rightmost group of buttons will print the plot window as a postscript, save it as png, or exit from 986 dataplot. 987 988 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 989 \begin{figure} \begin{center} 990 \includegraphics[width=10cm,height=12cm,angle=-90.]{./TexFiles/Figures/Fig_OBS_dataplot_main} 991 \caption{ \label{fig:obsdataplotmain} 992 Main window of dataplot.} 993 \end{center} \end{figure} 994 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 995 996 If a profile point is clicked with the mouse button a plot of the observation and background values 997 as a function of depth (Fig~\ref{fig:obsdataplotprofile}). 998 999 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1000 \begin{figure} \begin{center} 1001 \includegraphics[width=10cm,height=12cm,angle=-90.]{./TexFiles/Figures/Fig_OBS_dataplot_prof} 1002 \caption{ \label{fig:obsdataplotprofile} 1003 Profile plot from dataplot.} 1004 \end{center} \end{figure} 1005 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1006 1007 1008 1009 -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/dataplot/colorbar_idl.pro
r2945 r3002 2 2 PRO colorbar_idl, datain, colors, lablevels, datalevels, data=data, $ 3 3 textcolor=textcolor, mincolor=mincolor, position=position 4 4 ;-------------------------------------------------------------------- 5 5 ; datain - gives the range of values which are represented by colors 6 6 ; colors - color values 7 7 ; lablevels - label levels 8 ; D. J. Lea Nov 2008 9 ;- 10 11 ; remember graphics keywords 8 ; 9 ; Author: D. J. Lea Nov 2008 10 ;-------------------------------------------------------------------- 11 12 ; keep current graphics keywords 12 13 13 14 psave=!p -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/dataplot/dataplot.pro
r2945 r3002 3 3 ; IDL widget based plotting routine for plotting observation and background values 4 4 ; 5 ; D. J. Lea - Feb 20085 ; Author: D. J. Lea - Feb 2008 6 6 ; 7 7 ;+---------------------------------------------------------------------------------------- -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/dataplot/dataplot_txttimeseries.pro
r2945 r3002 1 ; plot mean and rms2 3 1 pro plotts1, arrsv, title, typestr, minperc=minperc, $ 4 2 juldatemin=juldatemin, juldatemax=juldatemax, $ 5 3 emax=emax, emin=emin 6 7 4 ;+-------------------------------------------------------- 5 ; plot mean and rms timeseries 6 ; 7 ; Author: D. J. Lea Feb 2008 8 ;+-------------------------------------------------------- 8 9 9 10 ;date_label = LABEL_DATE(DATE_FORMAT = $ -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/dataplot/nice_contourlevels.pro
r2945 r3002 1 1 function nice_contourlevels, data, nlevels=nlevels 2 ;+---------------------------------------------------------------------------------------- 3 ; nice_contourlevels.pro 4 ; 5 ; Select nice contour levels based on the data input and the number of levels 6 ; 7 ; Author: D. J. Lea - Feb 2008 8 ; 9 ;+---------------------------------------------------------------------------------------- 2 10 3 11 if (n_elements(nlevels) eq 0) then nlevels=15 -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/dataplot/pr2.pro
r2945 r3002 24 24 file=file,$ 25 25 destination=destination 26 ;+ 26 ;+---------------------------------------------------------- 27 27 ; NAME:pr2 28 28 ; like pr, but uses nice fonts 29 ; 30 ; Author: D. J. Lea Feb 2008 31 ;+---------------------------------------------------------- 29 32 30 33 COMMON pr2, view_landscape -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/dataplot/prend2.pro
r2945 r3002 1 1 PRO PREND2,in_printer,keep=keep,noprint=noprint,double=double,$ 2 2 view=view,spin_landscape_ps=spin_landscape_ps,$ 3 3 eps_preview=eps_preview,colour_preview=colour_preview,$ … … 5 5 ;+ 6 6 ; NAME:prend 7 ; 8 ; Author: D. J. Lea Feb 2008 7 9 8 10 COMMON pr2, view_landscape 9 11 10 if keyword_set(view) then begin 11 12 device,/close 13 set_plot,'x' 14 15 if keyword_set(view) then begin 16 12 17 ; get filename of postscript device 13 14 r = fstat(!D.UNIT)15 filename = r.name16 17 if (view_landscape) then begin18 spawn,'gv -landscape -swap '+filename19 endif else begin20 spawn,'gv '+filename21 endelse22 18 23 endif 19 r = fstat(!D.UNIT) 20 filename = r.name 24 21 25 set_plot,'x' 22 if (view_landscape) then begin 23 spawn,'gv -landscape -swap '+filename 24 endif else begin 25 spawn,'gv '+filename 26 endelse 26 27 28 endif 27 29 28 30 !p.font=-1 -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/dataplot/read_cdfobs.pro
r2945 r3002 10 10 ProfileNum=ProfileNum, error=error, $ 11 11 notfussy=notfussy,VarName=VarName 12 ;- 12 ;+-------------------------------------------------------------------------- 13 ; Read in observation and feedback files 14 ; detects filetype and calls the appropriate reading routine 15 ; 16 ; Author: D. J. Lea Feb 2008 17 ;+-------------------------------------------------------------------------- 18 13 19 ; Declare error label. 14 20 ON_IOERROR, IOERROR -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/dataplot/read_seaice.pro
r2945 r3002 5 5 nodates=nodates, quiet=quiet 6 6 ;------------------------------------------------------------ 7 ;PVWave program to read in netcdf files of altimeter data. 7 ;IDL program to read in netcdf files of sea ice data. 8 ; 9 ;Author: D. J. Lea Feb 2008 8 10 ; 9 11 ;------------------------------------------------------------ -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/dataplot/read_sla.pro
r2945 r3002 7 7 ;+----------------------------------------------------------- 8 8 ;IDL program to read in netcdf files of altimeter data. 9 ; 10 ;Author: D. J. Lea - Feb 2008 9 11 ; 10 12 ;------------------------------------------------------------ -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/dataplot/read_sst.pro
r2945 r3002 5 5 quiet=quiet 6 6 ;------------------------------------------------------------ 7 ;PVWave program to read in netcdf files of altimeter data. 7 ;IDL program to read in netcdf files of altimeter data. 8 ; 9 ;Author: D. J. Lea - Feb 2008 8 10 ; 9 11 ;------------------------------------------------------------ -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/dataplot/sec_to_dt.pro
r2945 r3002 77 77 ; print, 'n_elements(days) ', n_elements(days) 78 78 79 ; get the julian and hen add the days, then back to julian79 ; get the julian and then add the days, then back to julian 80 80 81 81 ; FOR i=0L, N_ELEMENTS(days)-1 DO BEGIN -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/src/fbmatchup.F90
r3000 r3002 11 11 !! 12 12 !! Usage: 13 !! fbmatchup outputfile inputfile1 varname1 inputfile2 varname2 ...13 !! fbmatchup.exe outputfile inputfile1 varname1 inputfile2 varname2 ... 14 14 !! 15 15 !! Optional: -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/src/fbprint.F90
r3000 r3002 11 11 !! 12 12 !! Usage : 13 !! fbprint [options] inputfile13 !! fbprint.exe [options] inputfile 14 14 !! Options : 15 15 !! -b shorter output -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/src/fbsel.F90
r3000 r3002 11 11 !! 12 12 !! Usage: 13 !! fbsel <input filename> <output filename>13 !! fbsel.exe <input filename> <output filename> 14 14 !! 15 15 !! History : -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/src/fbstat.F90
r3000 r3002 12 12 !! 13 13 !! Usage: 14 !! fbstat [-nmlev] <filenames>14 !! fbstat.exe [-nmlev] <filenames> 15 15 !! Optional: 16 16 !! namelist = namfbstat.in -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/src/fbthin.F90
r3000 r3002 11 11 !! 12 12 !! Usage: 13 !! fbthin inputfile outputfile13 !! fbthin.exe inputfile outputfile 14 14 !! 15 15 !! Required: -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/src/sla2fb.F90
r3000 r3002 11 11 !! 12 12 !! Usage: 13 !! sla2fb [-s type] outputfile inputfile1 inputfile2 ...13 !! sla2fb.exe [-s type] outputfile inputfile1 inputfile2 ... 14 14 !! Option: 15 15 !! -s Select altimeter data_source -
branches/dev_2802_OBStools/NEMOGCM/TOOLS/OBSTOOLS/src/vel2fb.F90
r3000 r3002 11 11 !! 12 12 !! Usage: 13 !! vel2fb outputfile inputfile1 inputfile2 ...13 !! vel2fb.exe outputfile inputfile1 inputfile2 ... 14 14 !! 15 15 !! History :
Note: See TracChangeset
for help on using the changeset viewer.