Changeset 3069 for branches/dev_2802_OBStools/DOC/TexFiles
- Timestamp:
- 2011-11-09T16:18:38+01:00 (13 years ago)
- Location:
- branches/dev_2802_OBStools/DOC/TexFiles
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_2802_OBStools/DOC/TexFiles/Chapters/Chap_ASM.tex
r2483 r3069 15 15 The ASM code adds the functionality to apply increments to the model variables: 16 16 temperature, salinity, sea surface height, velocity and sea ice concentration. 17 These are read into the model from a NetCDF file which may be produced by data18 assimilation . The code can also output model background fields which are used17 These are read into the model from a NetCDF file which may be produced by separate data 18 assimilation code. The code can also output model background fields which are used 19 19 as an input to data assimilation code. This is all controlled by the namelist 20 20 \textit{nam\_asminc}. There is a brief description of all the namelist options -
branches/dev_2802_OBStools/DOC/TexFiles/Chapters/Chap_OBS.tex
r3026 r3069 13 13 $\ $\newline % force a new line 14 14 15 The observation and model comparison code (OBS) reads in observation files 16 (profile temperature and salinity, sea surface temperature, sea level anomaly,17 sea ice concentration, and velocity) and calculates an interpolated model equivalent 18 value at the observation location and nearest model timestep. The OBS code is 19 called from \np{opa.F90} in order to initialise the model and to calculate the 20 model equivalent values for observations on the 0th timestep. The code is then 21 called again after each timestep from \np{step.F90}. The code was originally 22 developed for use with NEMOVAR. 23 24 For all data types a 2D horizontal interpolator is needed 25 to interpolate the model fields to the observation location.26 For {\em in situ} profiles, a 1D vertical interpolator is needed in addition to 27 provide model fields at the observation depths. Currently this only works in 28 z-level model configurations, but is being developed to work with a 29 generalised vertical coordinate system. 30 Temperature data from moored buoys (TAO, TRITON, PIRATA) in the 31 ENACT/ENSEMBLES data-base are available as daily averaged quantities. For this 32 type of observation the 33 observation operator will compare such observations to the model temperature15 The observation and model comparison code (OBS) reads in observation files (profile 16 temperature and salinity, sea surface temperature, sea level anomaly, sea ice concentration, 17 and velocity) and calculates an interpolated model equivalent value at the observation 18 location and nearest model timestep. The resulting data are saved in a ``feedback'' file (or 19 files). The code was originally developed for use with the NEMOVAR data assimilation code, but 20 can be used for validation or verification of model or any other data assimilation system. 21 22 The OBS code is called from \np{opa.F90} for model initialisation and to calculate the model 23 equivalent values for observations on the 0th timestep. The code is then called again after 24 each timestep from \np{step.F90}. To build with the OBS code active \key{diaobs} must be 25 set. 26 27 For all data types a 2D horizontal interpolator is needed to interpolate the model fields to 28 the observation location. For {\em in situ} profiles, a 1D vertical interpolator is needed in 29 addition to provide model fields at the observation depths. Currently this only works in 30 z-level model configurations, but is being developed to work with a generalised vertical 31 coordinate system. Temperature data from moored buoys (TAO, TRITON, PIRATA) in the 32 ENACT/ENSEMBLES data-base are available as daily averaged quantities. For this type of 33 observation the observation operator will compare such observations to the model temperature 34 34 fields averaged over one day. The relevant observation type may be specified in the namelist 35 using \np{endailyavtypes}. Otherwise the model value from the nearest 36 timestep to the observation time is used. 37 38 The resulting data are saved in a ``feedback'' file (or files) which can be used 39 for model validation and verification and also to provide information for data 40 assimilation. This code is controlled by the namelist \textit{nam\_obs}. To 41 build with the OBS code active \key{diaobs} must be set. 42 43 Section~\ref{OBS_example} introduces a test example of the observation operator 44 code including where to obtain data and how to setup the namelist. 45 Section~\ref{OBS_details} introduces some more technical details of the 46 different observation types used and also shows a more complete namelist. 47 Finally section~\ref{OBS_theory} introduces some of the theoretical aspects of 48 the observation operator including interpolation methods and running on multiple 49 processors. 35 using \np{endailyavtypes}. Otherwise the model value from the nearest timestep to the 36 observation time is used. 37 38 The code is controlled by the namelist \textit{nam\_obs}. See the following sections for more 39 details on setting up the namelist. 40 41 Section~\ref{OBS_example} introduces a test example of the observation operator code including 42 where to obtain data and how to setup the namelist. Section~\ref{OBS_details} introduces some 43 more technical details of the different observation types used and also shows a more complete 44 namelist. Section~\ref{OBS_theory} introduces some of the theoretical aspects of the 45 observation operator including interpolation methods and running on multiple processors. 46 Section~\ref{OBS_obsutils} introduces some utilities to help working with the files produced 47 by the OBS code. 50 48 51 49 % ================================================================ … … 69 67 \item Add the following to the NEMO namelist to run the observation 70 68 operator on this data. Set the \np{enactfiles} namelist parameter to the 71 observation file name (or link in to \np{profiles\_01\.nc}):69 observation file name: 72 70 \end{enumerate} 73 71 … … 76 74 %------------------------------------------------------------------------------------------------------------- 77 75 78 The option \np{ln\_t3d} and \np{ln\_s3d} switch on the temperature and salinity76 The options \np{ln\_t3d} and \np{ln\_s3d} switch on the temperature and salinity 79 77 profile observation operator code. The \np{ln\_ena} switch turns on the reading 80 78 of ENACT/ENSEMBLES type profile data. The filename or array of filenames are … … 88 86 Setting \np{ln\_grid\_global} means that the code distributes the observations 89 87 evenly between processors. Alternatively each processor will work with 90 observations located within the model subdomain .91 92 The NEMOVAR system contains utilitiesto plot the feedback files, convert and93 recombine the files. These are available on request from the NEMOVAR team.88 observations located within the model subdomain (see section~\ref{OBS_parallel}). 89 90 A number of utilities are now provided to plot the feedback files, convert and 91 recombine the files. These are explained in more detail in section~\ref{OBS_obsutils}. 94 92 95 93 \section{Technical details} … … 713 711 714 712 \subsection{Parallel aspects of horizontal interpolation} 713 \label{OBS_parallel} 715 714 716 715 For horizontal interpolation, there is the basic problem that the … … 779 778 \subsection{Vertical interpolation operator} 780 779 781 The vertical interpolation is achieved using either a cubic spline or780 Vertical interpolation is achieved using either a cubic spline or 782 781 linear interpolation. For the cubic spline, the top and 783 782 bottom boundary conditions for the second derivative of the … … 785 784 At the bottom boundary, this is done using the land-ocean mask. 786 785 786 \newpage 787 787 788 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 789 \label{OBS_obsutils} 790 791 Some tools for viewing and processing of observation and feedback files are provided in the 792 NEMO repository for convenience. These include OBSTOOLS which are a collection of Fortran 793 programs which are helpful to deal with feedback files. They do such tasks as observation file 794 conversion, printing of file contents, some basic statistical analysis of feedback files. The 795 other tool is an IDL program called dataplot which uses a graphical interface to visualise 796 observations and feedback files. OBSTOOLS and dataplot are described in more detail below. 797 798 \subsection{Obstools} 799 800 A series of Fortran utilities is provided with NEMO called OBSTOOLS. This are helpful in 801 handling observation files and the feedback file output from the NEMO observation operator. 802 The utilities are as follows 802 803 803 804 \subsubsection{corio2fb} 804 805 805 The program corio2fb converts profile observation files from the Coriolis format to the standard feedback806 format. The program is called in the following way:806 The program corio2fb converts profile observation files from the Coriolis format to the 807 standard feedback format. The program is called in the following way: 807 808 808 809 \begin{alltt} … … 815 816 \subsubsection{enact2fb} 816 817 817 The program enact2fb converts profile observation files from the ENACT format to the standard feedback818 f ormat. The program is called in the following way:818 The program enact2fb converts profile observation files from the ENACT format to the standard 819 feedback format. The program is called in the following way: 819 820 820 821 \begin{alltt} … … 827 828 \subsubsection{fbcomb} 828 829 829 The program fbcomb combines multiple feedback files produced by individual processors in an MPI run of830 NEMO into a single feedback file. The program is called in the following way:830 The program fbcomb combines multiple feedback files produced by individual processors in an 831 MPI run of NEMO into a single feedback file. The program is called in the following way: 831 832 832 833 \begin{alltt} … … 839 840 \subsubsection{fbmatchup} 840 841 841 The program fbmatchup will match observations from two feedback files. The program is called in the 842 The program fbmatchup will match observations from two feedback files. The program is called 843 in the following way: 844 845 \begin{alltt} 846 \footnotesize 847 \begin{verbatim} 848 fbmatchup.exe outputfile inputfile1 varname1 inputfile2 varname2 ... 849 \end{verbatim} 850 \end{alltt} 851 852 853 \subsubsection{fbprint} 854 855 The program fbprint will print the contents of a feedback file or files to standard output. 856 Selected information can be output using optional arguments. The program is called in the 842 857 following way: 843 844 \begin{alltt}845 \footnotesize846 \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. Selected855 information can be output using optional arguments. The program is called in the following way:856 858 857 859 \begin{alltt} … … 868 870 -s ID select station ID 869 871 -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) 872 -v NUM1-NUM2 select variable range to print by number 873 (default all) 874 -a NUM1-NUM2 select additional variable range to print by number 875 (default all) 876 -e NUM1-NUM2 select extra variable range to print by number 877 (default all) 873 878 -d output date range 874 879 -D print depths … … 879 884 \subsubsection{fbsel} 880 885 881 The program fbsel will select or subsample observations. The program is called in the following way: 886 The program fbsel will select or subsample observations. The program is called in the 887 following way: 882 888 883 889 \begin{alltt} … … 890 896 \subsubsection{fbstat} 891 897 892 The program fbstat will output summary statistics in different global areas into a number of files. The893 program is called in the following way:898 The program fbstat will output summary statistics in different global areas into a number of 899 files. The program is called in the following way: 894 900 895 901 \begin{alltt} … … 902 908 \subsubsection{fbthin} 903 909 904 The program fbthin will thin the data to 1 degree resolution. The code could easily be modified to thin to905 a different resolution. The program is called in the following way:910 The program fbthin will thin the data to 1 degree resolution. The code could easily be 911 modified to thin to a different resolution. The program is called in the following way: 906 912 907 913 \begin{alltt} … … 914 920 \subsubsection{sla2fb} 915 921 916 The program sla2fb will convert an AVISO SLA format file to feedback format. The program is called in the917 following way:922 The program sla2fb will convert an AVISO SLA format file to feedback format. The program is 923 called in the following way: 918 924 919 925 \begin{alltt} … … 929 935 \subsubsection{vel2fb} 930 936 931 The program vel2fb will convert TAO/PIRATA/RAMA currents files to feedback format. The program is called in the932 following way:937 The program vel2fb will convert TAO/PIRATA/RAMA currents files to feedback format. The program 938 is called in the following way: 933 939 934 940 \begin{alltt} … … 943 949 To build the obstools use in the tools directory use ./maketools -n OBSTOOLS -m [ARCH]. 944 950 945 \subsection{dataplot} 946 947 An IDL program called dataplot is included which uses a graphical interface to visualise observations and 948 feedback files. It is possible to zoom in, plot individual profiles and calculate some basic statistics. To 949 plot some data 950 951 \subsection{Dataplot} 952 953 An IDL program called dataplot is included which uses a graphical interface to visualise 954 observations and feedback files. It is possible to zoom in, plot individual profiles and 955 calculate some basic statistics. To plot some data run IDL and then: 951 956 \begin{alltt} 952 957 \footnotesize … … 957 962 958 963 To read multiple files into dataplot, for example multiple feedback files from different 959 processors or from different days, the easiest method is to use the spawn command to generate a list of 960 files which can then be passed to dataplot. 961 962 \begin{alltt} 963 \footnotesize 964 \begin{verbatim} 965 IDL> spawn, 'ls profb*', files 964 processors or from different days, the easiest method is to use the spawn command to generate 965 a list of files which can then be passed to dataplot. 966 \begin{alltt} 967 \footnotesize 968 \begin{verbatim} 969 IDL> spawn, 'ls profb*.nc', files 966 970 IDL> dataplot, files 967 971 \end{verbatim} 968 972 \end{alltt} 969 973 970 Fig~\ref{fig:obsdataplotmain} shows the main window which is launched when dataplot starts. This is split 971 into three parts. At the top there is a menu bar which contains a variety of drop down menus. Areas - zooms 972 into prespecified regions; plot - plots the data as a timeseries or a T-S diagram if appropriate; Find - 973 allows data to be searches; Config - sets various configuration options. 974 975 The middle part is a plot of the geographical location of the observations. This will plot the observation 976 value, the model background value or observation minus background value depending on the option selected in 977 the radio button at the bottom of the window. The plotting range can be changed by clicking on the colour 978 bar. The title of the plot gives some basic information about the date range and depth range shown, the 979 extreme values, and the mean and rms values. It is possible to zoom in using a drag-box. You may also zoom 980 in or out using the mouse wheel. 981 982 The bottom part of the window controls what is visible in the plot above. There are two bars which select 983 the level range plotted (for profile data). The other bars below select the date range shown. The bottom of 984 the figure allows the choice to plot the mean, root mean square, standard deviation, mean square values. As 985 mentioned above here you can choose to plot the observation value, the model background value or 986 observation minus background value. The next group of radio buttons selects the map projection. This can 987 either be regular latitude longitude grid, or north or south polar stereographic. The next group of 988 radio buttons will plot bad observations, switch to salinity and plot density for profile observations. The 989 rightmost group of buttons will print the plot window as a postscript, save it as png, or exit from 990 dataplot. 974 Fig~\ref{fig:obsdataplotmain} shows the main window which is launched when dataplot starts. 975 This is split into three parts. At the top there is a menu bar which contains a variety of 976 drop down menus. Areas - zooms into prespecified regions; plot - plots the data as a 977 timeseries or a T-S diagram if appropriate; Find - allows data to be searched; Config - sets 978 various configuration options. 979 980 The middle part is a plot of the geographical location of the observations. This will plot the 981 observation value, the model background value or observation minus background value depending 982 on the option selected in the radio button at the bottom of the window. The plotting colour 983 range can be changed by clicking on the colour bar. The title of the plot gives some basic 984 information about the date range and depth range shown, the extreme values, and the mean and 985 rms values. It is possible to zoom in using a drag-box. You may also zoom in or out using the 986 mouse wheel. 987 988 The bottom part of the window controls what is visible in the plot above. There are two bars 989 which select the level range plotted (for profile data). The other bars below select the date 990 range shown. The bottom of the figure allows the option to plot the mean, root mean square, 991 standard deviation or mean square values. As mentioned above you can choose to plot the 992 observation value, the model background value or observation minus background value. The next 993 group of radio buttons selects the map projection. This can either be regular latitude 994 longitude grid, or north or south polar stereographic. The next group of radio buttons will 995 plot bad observations, switch to salinity and plot density for profile observations. The 996 rightmost group of buttons will print the plot window as a postscript, save it as png, or exit 997 from dataplot. 991 998 992 999 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 993 1000 \begin{figure} \begin{center} 994 \includegraphics[width=10cm,height=12cm,angle=-90.]{./TexFiles/Figures/Fig_OBS_dataplot_main} 1001 %\includegraphics[width=10cm,height=12cm,angle=-90.]{./TexFiles/Figures/Fig_OBS_dataplot_main} 1002 \includegraphics[width=9cm,angle=-90.]{./TexFiles/Figures/Fig_OBS_dataplot_main} 995 1003 \caption{ \label{fig:obsdataplotmain} 996 1004 Main window of dataplot.} … … 998 1006 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 999 1007 1000 If a profile point is clicked with the mouse button a plot of the observation and background values1001 as a function of depth (Fig~\ref{fig:obsdataplotprofile}).1008 If a profile point is clicked with the mouse button a plot of the observation and background 1009 values as a function of depth (Fig~\ref{fig:obsdataplotprofile}). 1002 1010 1003 1011 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1004 1012 \begin{figure} \begin{center} 1005 \includegraphics[width=10cm,height=12cm,angle=-90.]{./TexFiles/Figures/Fig_OBS_dataplot_prof} 1013 %\includegraphics[width=10cm,height=12cm,angle=-90.]{./TexFiles/Figures/Fig_OBS_dataplot_prof} 1014 \includegraphics[width=7cm,angle=-90.]{./TexFiles/Figures/Fig_OBS_dataplot_prof} 1006 1015 \caption{ \label{fig:obsdataplotprofile} 1007 Profile plot from dataplot .}1016 Profile plot from dataplot produced by right clicking on a point in the main window.} 1008 1017 \end{center} \end{figure} 1009 1018 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> -
branches/dev_2802_OBStools/DOC/TexFiles/Namelist/namobs_example
r2298 r3069 57 57 ln_s3d = .true. 58 58 ln_ena = .true. 59 enactfiles = ' profiles_01.nc'59 enactfiles = 'enact.1.nc' 60 60 ln_grid_global = .true. 61 61 ln_grid_search_lookup = .true.
Note: See TracChangeset
for help on using the changeset viewer.