Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/README
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/README (revision 2750)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/README (revision 2751)
@@ -1,2 +1,39 @@
-To use these idl tools you need to download some climatogies and mask files;
+#----------------------------------------------------------------------
+# prerequired
+#----------------------------------------------------------------------
+To use these idl tools, you need to download some climatogies and mask files;
that you can find here: http://dodsp.idris.fr/reee512/NEMO_OUT/ORCA2_LIM/
+
+There is the wget command to get all those files (thanks to F. Pinsard)
+wget --recursive -l2 --no-directories --no-parent -A.nc -erobots=off http://dodsp.idris.fr/reee512/NEMO_OUT/ORCA2_LIM/
+
+You will aslo need the meshmask file (set nn_msh = 1 or nn_msh = 7 in your namelist and run the model for at least 1 time step).
+
+#----------------------------------------------------------------------
+# define your std_plot_vardef.sh or std_ts_vardef.sh file
+#----------------------------------------------------------------------
+Use the examples provided in :
+ - std_ts_vardef.sh_1 or std_ts_vardef.sh_2
+ - std_plot_vardef.sh_1 or std_plot_vardef.sh_2
+to build your own std_plot_vardef.sh or std_ts_vardef.sh file.
+
+This file is needed to define you PATH, the experiments and variables names
+
+
+
+
+
+
+
+
+#----------------------------------------------------------------------
+# short note on: How to build IDL virtual Machine:
+#
+. ./std_plot_vardef.sh # or . ./std_ts_vardef.sh
+idl -IDL_STARTUP initenv
+IDL> .r std_main
+IDL> resolve_all
+IDL> save, /routines, filename='std_main.sav'
+IDL> exit
+#
+#----------------------------------------------------------------------
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/fig_ht_fromQ.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/fig_ht_fromQ.pro (revision 2750)
+++ (revision )
@@ -1,90 +1,0 @@
-pro fig_ht_fromQ, Q1, Q2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, MASK_FILENAME = mask_filename, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
-@common
-
- tmask_save = tmask
- ; suppress 1/2 north ligne dans TMASK
- tmask[jpi/2:jpi-1,jpj-1,0] = 0b ; 0 byte
-
- masknp = read_ncdf('tmaskutil', file = 'mesh_mask_partial.nc', /nostruct)
-
- Qave1 = moyenne(Q1,'xy', mask2d = masknp)
- Qave2 = moyenne(Q2,'xy', mask2d = masknp)
-
- Qnet1 = Q1 - Qave1
- Qnet2 = Q2 - Qave2
-
- index=where(gphit eq max(gphit))
- nx=index[0] mod jpi
- gphi_save=gphit
- gphit[0,*]=gphit[nx,*]
- ;
- msk = read_ncdf( 'atlmsk_nomed', filename = mask_filename, _extra = ex)
-
- ; from 2D array to 3D array
- msk = msk.arr[*]#replicate(1., nzt)
-
- ; x average (zonal mean)
- ; *1.E-15 to have PetaWatt
- Q1x = moyenne(Qnet1*e2t,'x', mask2d = masknp,/integration)*1.E-15
- Q2x = moyenne(Qnet2*e2t,'x', mask2d = masknp,/integration)*1.E-15
- Q1x_atl = moyenne(Qnet1*e2t*msk,'x', mask2d = masknp,/integration)*1.E-15
- Q2x_atl = moyenne(Qnet2*e2t*msk,'x', mask2d = masknp,/integration)*1.E-15
- ; northward heat flux transport from antartic
- htr1 = total(Q1x, /cumulative)
- htr2 = total(Q2x, /cumulative)
- htr1_atl = total(reverse(Q1x_atl), /cumulative)
- htr1_atl = -reverse(htr1_atl)
- htr2_atl = total(reverse(Q2x_atl), /cumulative)
- htr2_atl = -reverse(htr2_atl)
-
- bad_gphit = where(gphit[0,*] lt -30.)
- htr1_atl[bad_gphit] = !Values.F_NaN ; we take from values north till 30° South
- htr2_atl[bad_gphit] = !Values.F_NaN ; we take from values north till 30° South
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '004_MHT_'+sEXP1+'-'+sEXP2+'_y'+start_end+ '.ps', /landscape
- endif
-
-; update data informations
- varname = 'MHT'
- varunit = 'Pw'
- vargrid = 'T'
-
- ibce1 = STRTRIM(Qave1, 1)
- ibce2 = STRTRIM(Qave2, 1)
-
- title = sEXP1+' MHT (Black) & Atlantic MHT (Blue) / year '+start_end
- subtitle = sEXP1 + ' (Qnet='+ibce1+' W/m2) - (Qnet='+ibce2+' W/m2)'
-
- plt1d, htr1,'y',min = -2., max = 2.5, TITLE=title, SUBTITLE = subtitle $
- , SMALL = [2,2,1], YTITLE = 'PW', XGRIDSTYLE = 2, TICKLEN = 1, YGRIDSTYLE = 2 , _extra = ex
- plt1d, htr1_atl,'y', COLOR = 50, /ov1d, _extra = ex
-
- if sEXP1 ne sEXP2 then begin
- plt1d, htr2,'y', /ov1d, LINESTYLE = 2, _extra = ex
- plt1d, htr2_atl,'y', /ov1d, LINESTYLE = 2, _extra = ex
-
- title = sEXP1+' - '+sEXP2+' MHT (TeraW) differences / year '+start_end
- plt1d, (htr1-htr2)*1.e3,'y',min = -250., max = 250., TITLE = title $
- , SMALL = [2,2,3], TICKLEN = 1, XGRIDSTYLE = 2 $
- , YTITLE = 'TW', YGRIDSTYLE = 2, /NOERASE, _extra = ex
- plt1d, (htr1_atl - htr2_atl)*1.e3,'y', COLOR = 50, /ov1d, _extra = ex
-
- endif
-
- title = 'Qnet'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- tmask=tmask_save
- gphit=gphi_save
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/getname.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/getname.pro (revision 2750)
+++ (revision )
@@ -1,26 +1,0 @@
-function getname,dir,exp,freq,suff,date
-
- file_list = file_search (dir+'/'+exp+'_*_*_'+freq+'_'+suff+'.nc', count = nb_file )
-
- file_list = file_basename( file_list )
-
- filename = ''
- i = 0
-
- while i lt nb_file and filename eq '' do begin
-
- split_name = STRSPLIT(file_list[i],'_',/EXTRACT )
- date1 = long(split_name[1])
- date2 = long(split_name[2])
-
-
- if date1 - date le 0 and date - date2 le 0 then filename = dir+'/'+file_list[i]
- i = i + 1
-
- endwhile
-
- if filename eq '' then print,'filename does NOT FOUND'
-
- return,filename
-
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/initenv.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/initenv.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/initenv.pro (revision 2751)
@@ -0,0 +1,56 @@
+;
+; This is the initialisation file.
+; it defines the !path and the defaut values of some of the common variables
+;
+; this is supposed to speed-up IDL...
+;
+; a = fltarr(1000,1000,100)
+; a = 0
+;
+; path definition
+;
+!path = expand_path('+' + getenv('SAXO_DIR') ) + ':' + expand_path('+' + !dir)
+;
+; compatibility with the old version
+;
+keep_compatibility, 0
+;
+; define all the commons
+;
+@all_cm
+;
+; define default directories
+;
+homedir = './'
+iodir = './'
+psdir = isadirectory(getenv('PS_DIR'), title = 'Select the default postscripts directory')
+imagedir = './'
+animdir = './'
+;
+; define printer parameters
+;
+printer_human_names = ''
+printer_machine_names = ''
+print_command = ''
+;
+; colors ...
+;
+device, decomposed = 0
+device, retain = 2
+lct, 65
+;
+; postscript parameters ...
+;
+key_portrait = 0
+page_size = [20.9903, 29.7039]
+windowsize_scale = 1.0000
+archive_ps = 0
+;
+;========================================================
+; end of the part that should be modified by the users...
+;========================================================
+;
+; if needed, keep compatibility with the old version
+;
+@updateold
+;
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/plt_bsf.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/plt_bsf.pro (revision 2750)
+++ (revision )
@@ -1,40 +1,0 @@
-pro plt_bsf, U1, U2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- @common
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '005_bsf_'+sEXP1+'_'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
- domdef, 0, 6000
-
-
- bb1 = bsf(U1.arr, refvalue = 0., refpoint = [25, 0] )
- bb2 = bsf(U2.arr, refvalue = 0., refpoint = [25, 0])
-
- title = sEXP1+' Barotropic Stream Function'+' / year '+start_end
- plt, bb1, min =-200., max = 200., int = 10.,/portrait, FORMAT = '(I4)', STYLE= 'so0so' $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, _extra = ex
-
-
- if sEXP1 ne sEXP2 then begin
-
- title = sEXP1+' - '+sEXP2+' Barotropic Stream Function'+' / year '+start_end
- plt, bb1.arr - bb2.arr , min = -20., max = 20., int = 2., FORMAT = '(I2)', STYLE= 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, /NOERASE, _extra = ex
-
- endif
-
- title = 'Barotropic Stream Function'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/plt_msf.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/plt_msf.pro (revision 2750)
+++ (revision )
@@ -1,66 +1,0 @@
-pro plt_msf, V1, V2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, SUBBASIN = subbasin, MASK_FILENAME = mask_filename,_extra = ex
-
- compile_opt idl2, strictarrsubs
-
- @common
-
- if KEYWORD_SET(SUBBASIN) then subname = subbasin
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '024_msf_'+subname+'_'+sEXP1+'_'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
- if KEYWORD_SET(SUBBASIN) then begin
-
- CASE 1 of
- subbasin eq 'Atl' : var = 'atlmsk_nomed'
- subbasin eq 'Ind' : var = 'indmsk'
- subbasin eq 'Pac' : var = 'indpacmsk'
- subbasin eq 'Glo' : var = 'glomsk_nomed'
- ENDCASE
- ;
- msk = read_ncdf( var, filename = mask_filename, /nostruct, _extra = ex )
-
- endif else msk = tmask[*,*,0]
-;
-
-
- CASE subname OF
- 'Glo':lat_ext=[-80,90]
- 'Atl':lat_ext=[-30,90]
- 'Ind':lat_ext=[-30,30]
- 'Pac':lat_ext=[-30,70]
-
- ENDCASE
-
- if subbasin eq 'Pac' then subname = "IndoPac"
-
- domdef, 0, 6000
-
- mm1 = msf(V1.arr, msk, indexboxzoom = ind, maskout = ma)
- mm2 = msf(V2.arr, msk, indexboxzoom = ind, maskout = ma)
- title=sEXP1+' Meridional Stream Function '+subname+'/ year '+start_end
- pltz, mm1, -20., 20., int = 1., boxzoom = [ind[0:1],lat_ext, 0, 5500], /xindex , FORMAT = '(I3)' $
- , small=[1,2,1], COAST_THICK=2 , zoom = 5500, maskdta = ma, /no_partial, TITLE = title, style = 'so0so'
-
- if sEXP1 ne sEXP2 then begin
-
- title=sEXP1+' - '+sEXP2+subname+'/ year '+start_end
- pltz, mm1.arr-mm2.arr, -10., 10., int = 1., boxzoom = [ind[0:1],lat_ext, 0, 5500], /xindex, FORMAT = '(I3)' $
- , small=[1,2,2], COAST_THICK=2, zoom = 5500, maskdta = ma, /no_partial, TITLE = title, /NOERASE, style = 'so0so'
-
- endif
-
- title = + subname+ 'Meridional Stream Function'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_com.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_com.pro (revision 2750)
+++ (revision )
@@ -1,5 +1,0 @@
-;COMMON STD_VAR, std_EXP1, std_EXP2, std_YEAR, std_iodir_data
-;COMMON STD_FIL1, std_file1_T, std_file1_U, std_file1_V, std_file1_W, std_file1_I
-;COMMON STD_FIL2, std_file2_T, std_file2_U, std_file2_V, std_file2_W, std_file2_I
-;COMMON STD_LEVITUS, std_file_Levitus_T, std_file_Levitus_S
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_common.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_common.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_common.pro (revision 2751)
@@ -0,0 +1,9 @@
+COMMON std, cnt $
+ , std_iodir_climato, std_iodir_data $
+ , std_file1_T, std_file2_T $
+ , std_file1_U, std_file2_U $
+ , std_file1_V, std_file2_V $
+ , std_file1_I, std_file2_I $
+ , std_file_msksub $
+ , date1, date2, date1_2, date2_2 $
+ , allrec, blabla, htmltxt
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_main.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_main.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_main.pro (revision 2751)
@@ -0,0 +1,12 @@
+PRO std_main
+@initenv
+;
+ type = getenv('PLOTTYPE')
+ CASE type OF
+ '':print, 'The environment variable PLOTTYPE is not defined. We stop'
+ 'ts':std_ts_all, /postscript
+ 'plot':std_plot_all, /postscript
+ ELSE:print, 'Wrong definition of the environment variable PLOTTYPE. We stop'
+ ENDCASE
+;
+END
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_main.sh
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_main.sh (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_main.sh (revision 2751)
@@ -0,0 +1,231 @@
+#!/bin/sh
+#+
+#
+# .. program:: std_main.sh
+#
+# ================
+# std_main.sh
+# ================
+#
+# -------------------------------------
+# launch idl scripts to produce graphics diagnostics in Postscript, PDF or HTML document
+# -------------------------------------
+#
+# SYNOPSIS
+# ========
+#
+# ``std_main.sh -ts`` or ``std_main.sh -plot``
+#
+# DESCRIPTION
+# ===========
+#
+# .. option:: -ts to produce time series
+# .. option:: -plot to produce maps and sections
+# .. option:: -html to produce html document
+# .. option:: -pdf to produce pdf document
+# .. option:: -noidl to skip the call to IDL and the production of Postscript
+# .. option:: -vm to use IDL virtual machine (free) instead of IDL
+# .. option:: -help to get help!
+#
+# variables have to be defined in std_plot_vardef.sh (or std_ts_vardef.sh)
+# before calling std_main.sh -plot (or std_main.sh -ts)
+#
+# EXAMPLES
+# ========
+# $ ./std_main.sh -ts html
+# $ ./std_main.sh -ts pdf -noidl
+#
+# $ ./std_main.sh -plot -pdf -vm
+#
+# AUTHOR - date
+# ===========
+# Françoise Pinsard - 01/2010 - LOCEAN
+# Simona Flavoni - 01/2010 - LOCEAN
+# Sebastien Masson - 04/2011 - LOCEAN
+#
+#-----------------------------------------------------------
+# Usage...
+#-----------------------------------------------------------
+#
+#-
+system=$(uname)
+case "${system}" in
+ AIX|IRIX64)
+ echo " www : no specific posix checking"
+ ;;
+ *)
+ set -o posix
+ ;;
+esac
+#
+usage="Usage: std_main.sh [OPTION]
+Options
+ -ts to produce time series
+ -plot to produce maps and sections
+ -html to produce html document
+ -pdf to produce pdf document
+ -noidl to skip the call to IDL and the production of Postscript
+ -vm to use IDL virtual machine (free) instead of IDL
+ -help to get this help
+"
+#
+vm=0
+noidl=0
+format=ps
+while [ ! -z "${1}" ]
+do
+ case ${1} in
+ -plot|--plot) PLOTTYPE=plot ;;
+ -ts|--ts) PLOTTYPE=ts ;;
+ -f|-format|--format) format=${2} shift ;;
+ -html|--html) format=html ;;
+ -pdf|--pdf) format=pdf ;;
+ -h|-help|--help)
+ echo "${usage}"
+ exit 0
+ ;;
+ -ni|--ni|-noidl|--noidl) noidl=1 ;;
+ -vm|--vm|-virtual_machine|--virtual_machine) vm=1 ;;
+ *) # other choice
+ echo "${usage}"
+ exit 1
+ ;;
+ esac
+ shift # next flag
+done
+#
+PLOTTYPE=${PLOTTYPE:-NG}
+if [[ ( "$PLOTTYPE" != "plot" ) && ( "$PLOTTYPE" != "ts" ) ]]
+then
+ echo 'the type of plot must be defined with the option -plot or -ts'
+ exit 1
+fi
+export PLOTTYPE
+#
+set -u
+#
+#
+tstexe () {
+ type ${1}
+ status_type=${?}
+ if [ ${status_type} -ne 0 ]
+ then
+ echo "eee : ${2}"
+ exit 1
+ fi
+}
+#
+#-----------------------------------------------------------
+# define output directory for POSTCRIPT files
+#-----------------------------------------------------------
+#
+. ./std_${PLOTTYPE}_vardef.sh
+[ ! -d ${PS_DIR} ] && mkdir -p ${PS_DIR}
+#
+#-----------------------------------------------------------
+# run IDL
+#-----------------------------------------------------------
+#
+if [ $noidl -eq 0 ]
+then
+ tstexe ${idl_command} "idl not found"
+#
+ if [ $vm -eq 1 ]
+ then
+ ${idl_command} -vm=std_main.sav
+ else
+ ${idl_command} -IDL_STARTUP 'initenv' << EOF
+std_${PLOTTYPE}_all, /postscript
+EOF
+ fi
+ status_idl=${?}
+ if [ ${status_idl} -ne 0 ]
+ then
+ echo "eee : error in the execution of IDL"
+ exit 1
+ fi
+fi
+#
+#-----------------------------------------------------------
+# produce the final document
+#-----------------------------------------------------------
+#
+# build the list of ps that has been created by IDL
+pslist=$( grep "img width" ${PS_DIR}/std_${PLOTTYPE}_html_body.txt | sed -e "s/.*src=\(.*\)png.*/\1/" )
+#
+case ${format} in
+#__________________________________________________________
+# PDF
+ pdf)
+# check if ps2pdf available
+ ps2pdf_command=$( which ps2pdf )
+ tstexe ${ps2pdf_command} "ps2pdf not found"
+# check if texexec available
+ texexec_command=$( which texexec )
+ tstexe ${texexec_command} "texexec not found"
+#
+ filepdf=all_${PLOTTYPE}.pdf
+ [ ! -d ${PDF_DIR} ] && mkdir -p ${PDF_DIR}
+ pdflist=''
+ for file in ${pslist} ; do
+ ps2pdf -sPAPERSIZE=a4 ${PS_DIR}/${file}ps ${PDF_DIR}/${file}pdf
+ echo "ps2pdf ${file}ps done"
+ pdflist=${pdflist}' '${PDF_DIR}/${file}pdf
+ done
+ texexec --pdfarrange --result=$PDF_DIR/$filepdf $pdflist
+ rm -f $PDF_DIR/$( basename $filepdf .pdf ).aux $PDF_DIR/$( basename $filepdf .pdf ).log
+ echo ${PDF_DIR}/$filepdf done
+#commented because convert gives images of bad quality
+# convert ${PS_DIR}/*.ps /tmp/all_${PLOTTYPE}.pdf
+# convert -resize 800x600 ${PS_DIR}/${exp1}_${exp2}/ps/*.ps /tmp/all_${PLOTTYPE}.pdf
+ ;;
+#__________________________________________________________
+# HTML
+ html)
+ filehtml=all_${PLOTTYPE}.html
+ [ ! -d ${HTML_DIR} ] && mkdir -p ${HTML_DIR}
+# check if convert available
+ convert_command=$( which convert )
+ tstexe ${convert_command} "convert not found"
+# convert each ps to png
+ for file in ${pslist} ; do
+ ${convert_command} -antialias ${PS_DIR}/${file}ps ${HTML_DIR}/${file}png
+ done
+# creation of the HTML file
+ cat << EOF > ${HTML_DIR}/$filehtml
+
+
+
+
+
+
+EOF
+ cat ${PS_DIR}/std_${PLOTTYPE}_html_body.txt >> ${HTML_DIR}/$filehtml
+ cat << EOF >> ${HTML_DIR}/$filehtml
+
+
+
+EOF
+ echo ${HTML_DIR}/$filehtml done
+ ;;
+ ps) ;; # nothing to do...
+ *)
+ echo " format ${format} not implemented"
+ exit 1
+ ;;
+esac
+
+ #
+#=====================
+# prepare to put images on dods
+# +++ to finish it
+#LOGIN=xxxx
+#Tag_Name=ORCA2_LIM2
+#rsh ${LOGIN}@gaya.idris.fr exec /bin/ksh < /dev/null 2>&1
+# /usr/local/bin/dods_cp ${exp1} DODS/pub/${LOGIN}/${Tag_Name}/CORE2/INTERAN/${PLOTTYPE}_pdf/${exp1} > /dev/null 2>&1
+#EOF
+#=====================
+# end
+exit 0
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_ArcSal.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_ArcSal.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_ArcSal.pro (revision 2751)
@@ -0,0 +1,62 @@
+pro std_plot_ArcSal, S1, S2in, SLevin, Z100 = z100, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ CASE n_params() OF
+ 2:BEGIN
+ Slev = S2in
+ END
+ 3:BEGIN
+ IF S2in.arr[0] EQ -1 THEN return
+ S2 = S2in
+ Slev = Slevin
+ END
+ ENDCASE
+;
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+;
+ IF keyword_set(z100) THEN tmp = min(abs(100 - gdept), ind) ELSE ind = 0
+ sdepref = strtrim(round(gdept[ind]), 1)+'m'
+ filename = cdti3 + '_Arctic_Sal'+sdepref+'_'+std_file1_T
+ IF keyword_set(S2) THEN filename = filename + '_' + std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+;
+ domdef, 20, 380, 60, 90
+;
+ varunit = S1.unit
+ titleorg = 'Salinity ('+sdepref+')!C'
+;
+ IF keyword_set(S2) THEN BEGIN
+ title = titleorg+std_file1_T+ ' - '+std_file2_T
+ plt, S1.arr - S2.arr, MIN = -4., MAX = 4., INTER = 0.2, CELL_FILL = 2, STYLE = 'so0so', format = '(f4.1)' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, CHARSIZE = -0.55, GLINETHICK = 2. $
+ , /ORTHO, MAP = [90, 0, 0], LATDEL = 5, boxzoom = [ind, ind], /zindex, /portrait, _extra = ex
+ ENDIF ELSE BEGIN
+ title = titleorg+std_file1_T
+ plt, S1, MIN = 30.0, MAX = 36., INTER = 0.2, CELL_FILL = 2, format = '(f4.1)' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, CHARSIZE = -0.55, GLINETHICK = 2. $
+ , /ORTHO, MAP = [90, 0, 0], LATDEL = 5, boxzoom = [ind, ind], /zindex, /PORTRAIT, _extra = ex
+ ENDELSE
+;
+ IF keyword_set(S2) THEN BEGIN
+ title = titleorg+std_file2_T+ ' - Levitus'
+ tmp = S2.arr - SLev.arr
+ ENDIF ELSE BEGIN
+ title = titleorg+std_file1_T+ ' - Levitus'
+ tmp = S1.arr - SLev.arr
+ ENDELSE
+ plt, temporary(tmp), MIN = -4., MAX = 4., INTER = 0.2, CELL_FILL = 2, STYLE = 'so0so', format = '(f4.1)' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, CHARSIZE = -0.55, GLINETHICK = 2. $
+ , /ORTHO, MAP = [90, 0, 0], LATDEL = 5, boxzoom = [ind, ind], /zindex, /NOERASE, _extra = ex
+;
+ domdef
+;
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_EqS.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_EqS.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_EqS.pro (revision 2751)
@@ -0,0 +1,34 @@
+pro std_plot_EqS, S1, S2, SLev, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_EqS_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ title = 'Equatorial Salinity!C'+std_file1_T
+ pltz, S1, MININ = 33., MAXIN = 37., INTER = .2, typein = 'xz', FORMAT = '(f4.1)' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, boxzoom = [20., 380., -1., 1., 0., 500.], /PORTRAIT, _extra = ex
+
+ if std_file1_T EQ std_file2_T then begin
+ S = S1.arr - Slev.arr
+ title = title+' - Levitus'
+ ENDIF ELSE BEGIN
+ S = S1.arr - S2.arr
+ title = title+' - '+std_file2_T
+ ENDELSE
+
+ pltz, S, MININ = -1., MAXIN = 1., INTER = 0.1, typein = 'xz', STYLE = 'so0so', FORMAT = '(f4.1)' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, boxzoom = [20., 380., -1., 1., 0., 500.], /noerase, _extra = ex
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
+
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_EqT.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_EqT.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_EqT.pro (revision 2751)
@@ -0,0 +1,42 @@
+pro std_plot_EqT, T1, T2, TLev, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_EqT_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ title = 'Equatorial Temperature!C'+std_file1_T
+ pltz, T1, MININ = 2., MAXIN = 30., INTER = 1., typein = 'xz', FORMAT = '(I2)' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, boxzoom = [20., 380., -1., 1., 0., 500.], /PORTRAIT, _extra = ex
+
+ if std_file1_T EQ std_file2_T then begin
+ T = T1.arr - TLev.arr
+ title = title+' - Levitus'
+ min = -4.
+ max = -min
+ inter = .5
+ fmt = '(I2)'
+ ENDIF ELSE BEGIN
+ T = T1.arr - T2.arr
+ title = title+' - '+std_file2_T
+ min = -2.
+ max = -min
+ inter = .25
+ fmt = '(f4.1)'
+ ENDELSE
+
+ pltz, T, MININ = min, MAXIN = max, INTER = inter, typein = 'xz', STYLE = 'so0so', FORMAT = fmt $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, boxzoom = [20., 380., -1., 1., 0., 500.], /NOERASE, _extra = ex
+ ;
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
+
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_EqU.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_EqU.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_EqU.pro (revision 2751)
@@ -0,0 +1,28 @@
+pro std_plot_EqU, U1, U2, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_EqU_'+std_file1_U
+ if std_file1_U NE std_file2_U then filename = filename + '_'+std_file2_U
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ title = 'Equatorial Zonal Current!C'+std_file1_U
+ pltz, U1, MININ = -1., MAXIN = 1., INTER = .1, typein = 'xz', STYLE = 'so0so', FORMAT = '(f4.1)' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, boxzoom = [20., 380., -1., 1., 0., 500.], ZOOM = 500, /PORTRAIT, _extra = ex
+
+ if std_file1_U NE std_file2_U then begin
+ title = title+' - '+std_file2_U
+ pltz, U1.arr-U2.arr, MININ = -.5, MAXIN = .5, INTER = .1, typein = 'xz', STYLE = 'so0so', FORMAT = '(f4.1)' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, boxzoom = [20., 380., -1., 1., 0., 500.], ZOOM = 500, /PORTRAIT, _extra = ex
+ endif
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_GlobMeanTS.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_GlobMeanTS.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_GlobMeanTS.pro (revision 2751)
@@ -0,0 +1,39 @@
+pro std_plot_GlobMeanTS, T1, T2, TLev, S1, S2, SLev, sEXP1, sEXP2, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_GlobMeanTS_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ varunit = T1.unit
+ title = 'Temperature Global mean!C'+std_file1_T+' - Levitus (Black)'
+ if std_file1_T NE std_file2_T THEN title = title+'!C'+std_file2_T+' - Levitus (Red)'
+ plt1d, T1.arr - TLev.arr, typein = 'z', ticklen = 1, MIN = -2., MAX = 2., boxzoom = [4., 5300.], /KEEPBOTTOM $
+ , small = [1, 2, 1], XGRIDSTYLE = 2, YGRIDSTYLE = 2, TITLE = title, /PORTRAIT, _extra = ex
+ if std_file1_T NE std_file2_T then begin
+ plt1d, T2.arr - TLev.arr, typein = 'z', ticklen = 1, MIN = -2., MAX = 2., boxzoom = [4., 5300.], /KEEPBOTTOM $
+ , /ov1d, COLOR = 250, TITLE = title, _extra = ex
+ endif
+;
+ varunit = S1.unit
+ title = 'Salinity Global mean!C'+std_file1_T+' - Levitus (Black)'
+ if std_file1_T NE std_file2_T THEN title = title+'!C'+std_file2_T+' - Levitus (Red)'
+ plt1d, S1.arr - SLev.arr, typein = 'z', ticklen = 1, MIN = -.2, MAX = .2, boxzoom = [4., 5300.], /KEEPBOTTOM $
+ , small = [1, 2, 2], XGRIDSTYLE = 2, YGRIDSTYLE = 2, TITLE = title, /NOERASE, _extra = ex
+ if std_file1_T NE std_file2_T then begin
+ plt1d, S2.arr - SLev.arr, typein = 'z', ticklen = 1, MIN = -2., MAX = 2., boxzoom = [4., 5300.], /KEEPBOTTOM $
+ , /ov1d, COLOR = 250, TITLE = title, _extra = ex
+ endif
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
+
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_IceFrac.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_IceFrac.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_IceFrac.pro (revision 2751)
@@ -0,0 +1,50 @@
+pro std_plot_IceFrac, Ifra1, Ifra2, ARC = arc, ANT = ant, MARCH = march, SEPT = sept, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+
+ var = 'IceFra'
+ IF keyword_set(arc) THEN var = var+'_Arc_'
+ IF keyword_set(ant) THEN var = var+'_Ant_'
+ IF keyword_set(march) THEN var = var+'March'
+ IF keyword_set(sept) THEN var = var+'Sept'
+
+ filename = cdti3 + '_'+var+'_'+std_file1_I
+ if std_file1_I NE std_file2_I then filename = filename + '_'+std_file2_I
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ IF keyword_set(arc) THEN BEGIN
+ domdef, 20, 380, 50, 90
+ map = [90, 0, 0]
+ ENDIF
+ IF keyword_set(ant) THEN BEGIN
+ domdef, 20, 380, -90, -50
+ map = [-90, 0, 0]
+ ENDIF
+;
+ varunit = Ifra1.unit
+;
+ title = var+'!C'+std_file1_I
+ plt, (Ifra1.arr < 1. ) - 1.E-04, MIN = 0., MAX = 1., INTER = .1, /STRICTFILL, CELL_FILL = 2, format = '(f4.1)' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title $
+ , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = map, /PORTRAIT, _extra = ex
+; ;
+ if std_file1_I NE std_file2_I then begin
+ title = title + std_file2_I
+ plt, Ifra1.arr - Ifra2.arr, MIN = -1, MAX = 1, INTER = .1, STYLE = 'so0so', format = '(f4.1)' $
+ , small = [1, 2, 2], COAST_THICK = 2, CELL_FILL = 2, TITLE = title $
+ , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = map, /NOERASE, _extra = ex
+ endif
+
+ domdef
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_IceThick.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_IceThick.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_IceThick.pro (revision 2751)
@@ -0,0 +1,66 @@
+pro std_plot_IceThick, Ithi1, Ithi2, ARC = arc, ANT = ant, MARCH = march, SEPT = sept, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+
+ var = 'IceThi'
+ IF keyword_set(arc) THEN var = var+'_Arc_'
+ IF keyword_set(ant) THEN var = var+'_Ant_'
+ IF keyword_set(march) THEN var = var+'March'
+ IF keyword_set(sept) THEN var = var+'Sept'
+
+ filename = cdti3 + '_'+var+'_'+std_file1_I
+ if std_file1_I NE std_file2_I then filename = filename + '_'+std_file2_I
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ IF keyword_set(arc) THEN BEGIN
+ domdef, 20, 380, 50, 90
+ vmin = 0.
+ vmax = 10.
+ vint = 0.5
+ fmt = '(i2)'
+ vmind = -3.
+ vmaxd = 3.
+ vintd = 0.5
+ fmtd = '(i2)'
+ map = [90, 0, 0]
+ ENDIF
+ IF keyword_set(ant) THEN BEGIN
+ domdef, 20, 380, -90, -50
+ vmin = 0.
+ vmax = 3.
+ vint = 0.2
+ fmt = '(f4.1)'
+ vmind = -1.
+ vmaxd = 1.
+ vintd = 0.2
+ fmtd = '(f4.1)'
+ map = [-90, 0, 0]
+ ENDIF
+;
+ varunit = Ithi1.unit
+;
+ title = var+'!C'+std_file1_I
+ plt, (Ithi1.arr < 10. ) - 1.E-04, MIN = vmin, MAX = vmax, INTER = vint, /STRICTFILL, CELL_FILL = 2, format = fmt $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title $
+ , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = map, /PORTRAIT, _extra = ex
+; ;
+ if std_file1_I NE std_file2_I then begin
+ title = title + std_file2_I
+ plt, Ithi1.arr - Ithi2.arr, MIN = vmind, MAX = vmaxd, INTER = vintd, STYLE = 'so0so', format = fmtd $
+ , small = [1, 2, 2], COAST_THICK = 2, CELL_FILL = 2, TITLE = title $
+ , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = map, /NOERASE, _extra = ex
+ endif
+
+ domdef
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_Med_Sdepth.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_Med_Sdepth.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_Med_Sdepth.pro (revision 2751)
@@ -0,0 +1,36 @@
+pro std_plot_Med_Sdepth, S1, S2, SLev, lat, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ slat = strtrim(lat, 1)+'N'
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_Med_Sdepth_'+slat+'_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+;
+ title = 'Salinity ('+slat+')!C'+std_file1_T
+ pltz, S1, MININ = 35., MAXIN = 37., INTER = 0.1, FORMAT = '(f4.1)' $
+ , small = [1, 2, 1], COAST_THICK = 2, endpoints = [300., lat, 357., lat], TITLE = title $
+ , boxzoom = [2000.], ZOOM = 2000., /PORTRAIT, _extra = ex
+;
+ if std_file1_T NE std_file2_T then begin
+ title = title+ ' - '+std_file2_T
+ pltz, S1.arr - S2.arr + valmask*(1.-tmask), MININ = -.4, MAXIN = .4, INTER = .05, STYLE = 'so0so', FORMAT = '(f4.1)' $
+ , small = [1, 2, 2], COAST_THICK = 2, endpoints = [300., lat, 357., lat], TITLE = title $
+ , boxzoom = [2000.], ZOOM = 2000., /noerase, _extra = ex
+ endif else begin
+ title = title+ ' - Levitus'
+ pltz, S1.arr - SLev.arr + valmask*(1.-tmask), MININ = -1., MAXIN = 1., INTER = 0.1, STYLE = 'so0so', FORMAT = '(f4.1)' $
+ , small = [1, 2, 2], COAST_THICK = 2, endpoints = [300., lat, 357., lat], TITLE = title $
+ , boxzoom = [2000.], ZOOM = 2000., /noerase, _extra = ex
+ endelse
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_Med_Sspread.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_Med_Sspread.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_Med_Sspread.pro (revision 2751)
@@ -0,0 +1,34 @@
+pro std_plot_Med_Sspread, S1, S2, SLev, depth, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ tmp = min(abs(depth - gdept), ind)
+ sdepref = strtrim(round(gdept[ind]), 1)+'m'
+ filename = cdti3 + '_Med_Sspread_'+sdepref+'_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+;
+ title = 'Salinity ('+sdepref+')!C'+std_file1_T
+ plt, S1, MININ = 35., MAXIN = 37., INTER = 0.1, FORMAT = '(f4.1)' $
+ , small = [1, 2, 1], boxzoom = [270, 365, 5, 70, ind, ind], /zindex, COAST_THICK = 2, TITLE = title, /PORTRAIT, _extra = ex
+;
+ if std_file1_T NE std_file2_T then begin
+ title = title+ ' - '+std_file2_T
+ plt, S1.arr - S2.arr, MININ = -.4, MAXIN = .4, INTER = .05, STYLE = 'so0so', FORMAT = '(f4.1)' $
+ , small = [1, 2, 2], boxzoom = [270, 365, 5, 70, ind, ind], /zindex, COAST_THICK = 2, TITLE = title, /noerase, _extra = ex
+ endif else begin
+ title = title+ ' - Levitus'
+ plt, S1.arr - SLev.arr, MININ = -1., MAXIN = 1., INTER = 0.1, STYLE = 'so0so', FORMAT = '(f4.1)' $
+ , small = [1, 2, 2], boxzoom = [270, 365, 5, 70, ind, ind], /zindex, COAST_THICK = 2, TITLE = title, /noerase, _extra = ex
+ ENDELSE
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_S100m.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_S100m.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_S100m.pro (revision 2751)
@@ -0,0 +1,34 @@
+pro std_plot_S100m, S1, S2, SLev, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ tmp = min(abs(100 - gdept), ind)
+ sdepref = strtrim(round(gdept[ind]), 1)+'m'
+ filename = cdti3 + '_S'+sdepref+'_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+;
+ title = 'Salinity ('+sdepref+')!C'+std_file1_T
+ plt, S1, MIN = 33., MAX = 38.2, INTER = .2, format = '(f4.1)' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, boxzoom = [105., 106.], /PORTRAIT, _extra = ex
+;
+ if std_file1_T NE std_file2_T then begin
+ title = title+ ' - '+std_file2_T
+ plt, S1.arr[*, *, 0] - S2.arr[*, *, 0], MIN = -1., MAX = 1., INTER = .1, STYLE = 'so0so', format = '(f4.1)' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, boxzoom = [105., 106.], /noerase, _extra = ex
+ endif else begin
+ title = title+ ' - Levitus'
+ plt, S1.arr-SLev.arr, MIN = -1., MAX = 1., INTER = 0.1, STYLE = 'so0so', format = '(f4.1)' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, boxzoom = [105., 106.], /noerase, _extra = ex
+ endelse
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_T100m.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_T100m.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_T100m.pro (revision 2751)
@@ -0,0 +1,34 @@
+pro std_plot_T100m, T1, T2, TLev, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ tmp = min(abs(100 - gdept), ind)
+ sdepref = strtrim(round(gdept[ind]), 1)+'m'
+ filename = cdti3 + '_T'+sdepref+'_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+;
+ title = 'Temperature ('+sdepref+')!C'+std_file1_T
+ plt, T1, MIN = -2., MAX = 32., INTER = 1., FORMAT = '(I2)' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, boxzoom = [105., 106.], /portrait, _extra = ex
+;
+ IF std_file1_T NE std_file2_T THEN BEGIN
+ title = title+ ' - '+std_file2_T
+ plt, T1.arr - T2.arr, MIN = -2., MAX = 2., INTER = .2, STYLE = 'so0so', FORMAT = '(f4.1)' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, boxzoom = [105., 106.], /noerase, _extra = ex
+ ENDIF ELSE BEGIN
+ title = title+ ' - Levitus'
+ plt, T1.arr - TLev.arr, MIN = -4., MAX = 4., INTER = .5, STYLE = 'so0so', FORMAT = '(I2)' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, boxzoom = [105., 106.], /noerase, _extra = ex
+ ENDELSE
+;
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_ZonMld.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_ZonMld.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_ZonMld.pro (revision 2751)
@@ -0,0 +1,32 @@
+pro std_plot_ZonMld, MLD1, MLD2, MLD, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_ZonMld_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+ ;
+ title = std_file1_T+' (Black)!C'
+ if std_file1_T NE std_file2_T THEN title = title + std_file2_T+' (Red)!C'
+ title = title + 'DeBoyer (Blue)!C'
+
+ plt1d, -MLD1.arr, MIN = -300., MAX = 0., INTER = 10., typein = 'y' $
+ , small = [1, 1, 1], boxzoom = 5500, ZOOM = 500, CHARSIZE = .8, TITLE = title, /PORTRAIT, _extra = ex
+ ;
+ IF std_file1_T NE std_file2_T THEN $
+ plt1d, -MLD2.arr, MIN = -300., MAX = 0., INTER = 10., typein = 'y' $
+ , /ov1d, COLOR = 250, TITLE = title, /NOERASE, _extra = ex ; color 250 = red
+ ;
+ plt1d, -MLD.arr, MIN = -300., MAX = 0., INTER = 10., typein = 'y' $
+ , /ov1d, COLOR = 100, THICK = 3, TITLE = title, /NOERASE, _extra = ex ; color 100 = blue
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_all.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_all.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_all.pro (revision 2751)
@@ -0,0 +1,364 @@
+pro std_plot_all, doplot = doplot, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+ ; scripts for nemo v3_2 and v3_3
+
+ PRINT, ''
+ PRINT, ' ############################################'
+ PRINT, ''
+ PRINT, ' LAUNCH of std_plots'
+ PRINT, ''
+ PRINT, ' ############################################'
+ PRINT, ''
+;
+ std_iodir_data = isadirectory(getenv('DIR_DATA'), title = 'path of data in NetCdf format')
+ std_iodir_climato = isadirectory(getenv('DIR_CLIMATO'), title = 'path of climatological data')
+ std_iodir_mask = isadirectory(getenv('DIR_MASK'), title = 'path of mask files (ex: subbasins)')
+; meshmask
+ std_file_mesh = isafile(getenv('FILE_MESH_MASK'), title = 'mesh_mask', iodir = std_iodir_mask)
+ std_file_msksub = isafile(getenv('FILE_MASK_SUBDOMAIN'), title = 'sub-bassin masks', iodir = std_iodir_mask)
+
+; Levitus 98
+ std_file_Levitus_T = isafile(getenv('FILE_TEMP_3D'), title = 'Levitus_T', iodir = std_iodir_climato)
+ std_file_Levitus_S = isafile(getenv('FILE_SAL_3D'), title = 'Levitus_S', iodir = std_iodir_climato)
+ std_file_reynolds = isafile(getenv('FILE_SST'), title = 'Reynolds', iodir = std_iodir_climato)
+ std_file_oaflux = isafile(getenv('FILE_FLUX'), title = 'oaflux', iodir = std_iodir_climato)
+ std_file_mld = isafile(getenv('FILE_MLD'), title = 'Mixed layer depth', iodir = std_iodir_climato)
+
+ IF strlowcase(getenv('FILE_GEOHEAT')) EQ 'no' THEN std_file_geoheat = 'no' $
+ ELSE std_file_geoheat = isafile(getenv('FILE_GEOHEAT'), title = 'Geothermal heating', iodir = std_iodir_climato)
+;
+ allrec = 1 - keyword_set(long(getenv('READ_ONLY_FIRST_RECORD')))
+; Output run experience1
+ std_file1_T = isafile(getenv('FILE1_T'), title = 'exp1 grid T input file', iodir = std_iodir_data)
+ std_file1_U = isafile(getenv('FILE1_U'), title = 'exp1 grid U input file', iodir = std_iodir_data)
+ std_file1_V = isafile(getenv('FILE1_V'), title = 'exp1 grid V input file', iodir = std_iodir_data)
+ std_file1_I = isafile(getenv('FILE1_I'), title = 'exp1 ice input file', iodir = std_iodir_data)
+
+; Output run experience2
+ std_file2_T = isafile(getenv('FILE2_T'), title = 'exp2 grid T input file', iodir = std_iodir_data)
+ std_file2_U = isafile(getenv('FILE2_U'), title = 'exp2 grid U input file', iodir = std_iodir_data)
+ std_file2_V = isafile(getenv('FILE2_V'), title = 'exp2 grid V input file', iodir = std_iodir_data)
+ std_file2_I = isafile(getenv('FILE2_I'), title = 'exp2 ice input file', iodir = std_iodir_data)
+
+ PRINT, ''
+ PRINT, ' std_iodir_data : ' + std_iodir_data
+ PRINT, ' std_file1T : ' + std_file1_T
+ PRINT, ' std_file1U : ' + std_file1_U
+ PRINT, ' std_file1V : ' + std_file1_V
+; PRINT, ' std_file1W : ' + std_file1_W
+ PRINT, ' std_file2I : ' + std_file1_I
+ PRINT, ' std_file2T : ' + std_file2_T
+ PRINT, ' std_file2U : ' + std_file2_U
+ PRINT, ' std_file2V : ' + std_file2_V
+; PRINT, ' std_file2W : ' + std_file2_W
+ PRINT, ' std_file2I : ' + std_file2_I
+ PRINT, ''
+
+;#########################################################################
+;########################## Load Grids ################################
+;#########################################################################
+; load the grid
+ load_orca, std_file_mesh
+; reading variables
+ masknp = read_ncdf('tmaskutil', file = std_file_mesh, /nostruct, /cont_nofill)
+;#########################################################################
+;############################ Read Data ################################
+;#########################################################################
+;
+ allrec = 1; - keyword_set(long(getenv('READ_ONLY_FIRST_RECORD')))
+;
+;;; 3D ;;;
+; temperature
+ T1 = read_ncdf(getenv('VAR1_T'), allrecords = allrec, direc = 't', filename = std_file1_T )
+ IF std_file2_T NE std_file1_T THEN BEGIN
+ T2 = read_ncdf(getenv('VAR2_T'), allrecords = allrec, direc = 't', filename = std_file2_T )
+ ENDIF ELSE T2 = {arr:-1}
+ TLev = read_ncdf(getenv('VAR_TEMP_3D'), filename = std_file_Levitus_T )
+ TRey = read_ncdf(getenv('VAR_SST'), filename = std_file_reynolds )
+
+; salinity
+ S1 = read_ncdf(getenv('VAR1_S'), allrecords = allrec, direc = 't', filename = std_file1_T )
+ IF std_file2_T NE std_file1_T THEN BEGIN
+ S2 = read_ncdf(getenv('VAR2_S'), allrecords = allrec, direc = 't', filename = std_file2_T )
+ ENDIF ELSE S2 = {arr:-1}
+ SLev = read_ncdf(getenv('VAR_SAL_3D'), filename = std_file_Levitus_S )
+
+;;; 2D ;;;
+; Net Downward heat flux
+ Q1 = read_ncdf(getenv('VAR1_QNET'), allrecords = allrec, direc = 't', filename = std_file1_T )
+ IF std_file2_T NE std_file1_T THEN BEGIN
+ Q2 = read_ncdf(getenv('VAR2_QNET'), allrecords = allrec, direc = 't', filename = std_file2_T )
+ ENDIF ELSE Q2 = {arr:-1}
+; Geothermal heating
+ IF std_file_geoheat EQ 'no' THEN geo = {arr:float(getenv('VAR_GEOHEAT'))} $
+ ELSE geo = read_ncdf(getenv('VAR_GEOHEAT'), filename = std_file_geoheat )
+ geo = geo.arr*1.e-3 ; convert into W/m2
+;climatology
+ QNET = read_ncdf(getenv('VAR_FLUX'), filename = std_file_oaflux )
+
+; erp (evaporation damping)
+ ERP1 = read_ncdf(getenv('VAR1_ERP'), allrecords = allrec, direc = 't', filename = std_file1_T )
+ ERP1 = {arr:ERP1.arr * 86400., unit:'mm/day', grid:'T'}
+ IF std_file2_T NE std_file1_T THEN BEGIN
+ ERP2 = read_ncdf(getenv('VAR2_ERP'), allrecords = allrec, direc = 't', filename = std_file2_T )
+ ERP2 = {arr:ERP2.arr * 86400., unit:'mm/day', grid:'T'}
+ ENDIF ELSE ERP2 = {arr:-1}
+
+; emp (evaporation minus precipitation)
+ EMP1 = read_ncdf(getenv('VAR1_EMP'), allrecords = allrec, direc = 't', filename = std_file1_T )
+ EMP1 = {arr:EMP1.arr * 86400., unit:'mm/day', grid:'T'}
+ IF std_file2_T NE std_file1_T THEN BEGIN
+ EMP2 = read_ncdf(getenv('VAR2_EMP'), allrecords = allrec, direc = 't', filename = std_file2_T )
+ EMP2 = {arr:EMP2.arr * 86400., unit:'mm/day', grid:'T'}
+ ENDIF ELSE EMP2 = {arr:-1}
+
+;mixed layer depth
+ MLD1 = read_ncdf(getenv('VAR1_MLD'), allrecords = allrec, direc = 't', filename = std_file1_T ) ; 10 m
+ IF std_file2_T NE std_file1_T THEN BEGIN
+ MLD2 = read_ncdf(getenv('VAR2_MLD'), allrecords = allrec, direc = 't', filename = std_file2_T ) ; 10 m
+ ENDIF ELSE MLD2 = {arr:-1}
+;climatology
+ MLD = read_ncdf(getenv('VAR_MLD'), filename = std_file_mld )
+
+; velocities
+ U1 = read_ncdf(getenv('VAR1_U'), allrecords = allrec, direc = 't', filename = std_file1_U )
+ IF strlowcase(getenv('VAR1_U')) EQ 'uocetr_eff' THEN BEGIN
+ U1.arr = U1.arr / e3u_3d(/e2) * umask()
+ U1.unit = 'm/s'
+ ENDIF
+ IF std_file2_U NE std_file1_U THEN BEGIN
+ U2 = read_ncdf(getenv('VAR2_U'), allrecords = allrec, direc = 't', filename = std_file2_U )
+ IF strlowcase(getenv('VAR2_U')) EQ 'uocetr_eff' THEN BEGIN
+ U2.arr = U2.arr / e3u_3d(/e2) * umask()
+ U2.unit = 'm/s'
+ ENDIF
+ ENDIF ELSE U2 = {arr:-1}
+;
+ V1 = read_ncdf(getenv('VAR1_V'), allrecords = allrec, direc = 't', filename = std_file1_V )
+ IF strlowcase(getenv('VAR1_V')) EQ 'vocetr_eff' THEN BEGIN
+ V1.arr = V1.arr / e3v_3d(/e1) * vmask()
+ V1.unit = 'm/s'
+ ENDIF
+ IF std_file2_V NE std_file1_V THEN BEGIN
+ V2 = read_ncdf(getenv('VAR2_V'), allrecords = allrec, direc = 't', filename = std_file2_V )
+ IF strlowcase(getenv('VAR2_V')) EQ 'vocetr_eff' THEN BEGIN
+ V2.arr = V2.arr / e3v_3d(/e1) * vmask()
+ V2.unit = 'm/s'
+ ENDIF
+ ENDIF ELSE V2 = {arr:-1}
+
+; ice
+ Ithi_1 = read_ncdf(getenv('VAR1_Ithick'), allrecords = allrec, filename = std_file1_I )
+ caldat, time, mm
+ march = where(mm EQ 3, cnt)
+ Ithi_march_1 = {arr:1./float(cnt) * total(Ithi_1.arr[*, *, temporary(march)], 3), unit:Ithi_1.unit}
+ sept = where(mm EQ 3, cnt)
+ Ithi_sept_1 = {arr:1./float(cnt) * total(Ithi_1.arr[*, *, temporary(sept)], 3), unit:Ithi_1.unit}
+ undefine, Ithi_1
+;
+ IF std_file2_I NE std_file1_I THEN BEGIN
+ Ithi_2 = read_ncdf(getenv('VAR2_Ithick'), allrecords = allrec, filename = std_file2_I )
+ caldat, time, mm
+ march = where(mm EQ 3, cnt)
+ Ithi_march_2 = {arr:1./float(cnt) * total(Ithi_2.arr[*, *, temporary(march)], 3), unit:Ithi_2.unit}
+ sept = where(mm EQ 3, cnt)
+ Ithi_sept_2 = {arr:1./float(cnt) * total(Ithi_2.arr[*, *, temporary(sept)], 3), unit:Ithi_2.unit}
+ undefine, Ithi_2
+ ENDIF ELSE BEGIN
+ Ithi_march_2 = {arr:-1}
+ Ithi_sept_2 = {arr:-1}
+ ENDELSE
+;
+ Ifra_1 = read_ncdf(getenv('VAR1_Ifrac'), allrecords = allrec, filename = std_file1_I )
+ caldat, time, mm
+ march = where(mm EQ 3, cnt)
+ Ifra_march_1 = {arr:1./float(cnt) * total(Ifra_1.arr[*, *, temporary(march)], 3), unit:Ifra_1.unit}
+ sept = where(mm EQ 9, cnt)
+ Ifra_sept_1 = {arr:1./float(cnt) * total(Ifra_1.arr[*, *, temporary(sept)], 3), unit:Ifra_1.unit}
+ undefine, Ifra_1
+;
+ IF std_file2_I NE std_file1_I THEN BEGIN
+ Ifra_2 = read_ncdf(getenv('VAR2_Ifrac'), allrecords = allrec, filename = std_file2_I )
+ caldat, time, mm
+ march = where(mm EQ 3, cnt)
+ Ifra_march_2 = {arr:1./float(cnt) * total(Ifra_2.arr[*, *, temporary(march)], 3), unit:Ifra_2.unit}
+ sept = where(mm EQ 9, cnt)
+ Ifra_sept_2 = {arr:1./float(cnt) * total(Ifra_2.arr[*, *, temporary(sept)], 3), unit:Ifra_2.unit}
+ undefine, Ifra_2
+ ENDIF ELSE BEGIN
+ Ifra_march_2 = {arr:-1}
+ Ifra_sept_2 = {arr:-1}
+ ENDELSE
+;
+ jpt = 1
+;
+; shorter file names for legends...
+;
+ std_file1_T = file_basename(std_file1_T,'.nc')
+ std_file1_T = (strsplit(std_file1_T,'_grid_T',/extract,/regex))[0]
+ std_file2_T = file_basename(std_file2_T,'.nc')
+ std_file2_T = (strsplit(std_file2_T,'_grid_T',/extract,/regex))[0]
+ std_file1_U = file_basename(std_file1_U,'.nc')
+ std_file1_U = (strsplit(std_file1_U,'_grid_U',/extract,/regex))[0]
+ std_file2_U = file_basename(std_file2_U,'.nc')
+ std_file2_U = (strsplit(std_file2_U,'_grid_U',/extract,/regex))[0]
+ std_file1_V = file_basename(std_file1_V,'.nc')
+ std_file1_V = (strsplit(std_file1_V,'_grid_V',/extract,/regex))[0]
+ std_file2_V = file_basename(std_file2_V,'.nc')
+ std_file2_V = (strsplit(std_file2_V,'_grid_V',/extract,/regex))[0]
+ std_file1_I = file_basename(std_file1_I,'.nc')
+ std_file1_I = (strsplit(std_file1_I,'_icemod',/extract,/regex))[0]
+ std_file2_I = file_basename(std_file2_I,'.nc')
+ std_file2_I = (strsplit(std_file2_I,'_icemod',/extract,/regex))[0]
+
+;#########################################################################
+;###################### STANDARD PLOTS ################################
+;#########################################################################
+
+ IF keyword_set(doplot) EQ 0 THEN doplot = 0
+
+; fixed color tabled
+ lct, 64
+ cnt = 0
+ htmltxt = ''
+;
+ cnt = cnt+1 & blabla = 'Erp salinity damping term'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_erp, ERP1, ERP2, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Evaporation - Precipitation - Runoff term'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_emp, EMP1, EMP2, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Net heat flux'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_qnet, Q1, Q2, QNET, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Meridionnal Heat Transport'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_mht, Q1.arr+geo, Q2.arr+geo, masknp, std_file_msksub, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Global Barotropic stream Function'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_bsf, U1, U2, _extra = ex
+
+ cnt = cnt+1 & blabla = 'mean Temperature diff with New Reynolds'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_sst, T1, T2, TRey, _extra = ex
+
+ cnt = cnt+1 & blabla = 'mean Salinity diff with Levitus'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_sss, S1, S2, SLev, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Arctic mean Salinity diff with Levitus'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_ArcSal, S1, SLev, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Arctic mean Salinity diff with Levitus and exp2'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_ArcSal, S1, S2, SLev, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Arctic mean Salinity diff with Levitus at z=100 meters'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_ArcSal, S1, SLev, /z100, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Arctic mean Salinity diff with Levitus and exp2 at z=100 meters'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_ArcSal, S1, S2, SLev, /z100, _extra = ex
+
+ cnt = cnt+1 & blabla = 'mean Temperature diff with Levitus at z=100 meters'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_T100m, T1, T2, Tlev, _extra = ex
+
+ cnt = cnt+1 & blabla = 'mean Salinity diff with Levitus at z=100 meters'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_S100m, S1, S2, SLev, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Mixed layer depth'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_mld, MLD1, MLD, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Mixed layer depth differences'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_mld, MLD1, MLD2, MLD, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Zonal mean Mixed layer depth'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_ZonMld, MLD1, MLD2, MLD, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Zonal mean Temperature diff with Levitus: Global'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_T, T1, T2, TLev, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Zonal mean Temperature diff with Levitus: Atlantic'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_T, T1, T2, TLev, SUBBASIN = 'Atl', _extra = ex
+
+ cnt = cnt+1 & blabla = 'Zonal mean Temperature diff with Levitus: Indian'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_T, T1, T2, TLev, SUBBASIN = 'Ind', _extra = ex
+
+ cnt = cnt+1 & blabla = 'Zonal mean Temperature diff with Levitus: Pacific'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_T, T1, T2, TLev, SUBBASIN = 'Pac', _extra = ex
+
+ cnt = cnt+1 & blabla = 'Zonal mean Salinity diff with Levitus: Global'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_S, S1, S2, SLev, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Zonal mean Salinity diff with Levitus: Atlantic'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_S, S1, S2, SLev, SUBBASIN = 'Atl', _extra = ex
+
+ cnt = cnt+1 & blabla = 'Zonal mean Salinity diff with Levitus: Indian'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_S, S1, S2, SLev, SUBBASIN = 'Ind', _extra = ex
+
+ cnt = cnt+1 & blabla = 'Zonal mean Salinity diff with Levitus: Pacific'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_S, S1, S2, SLev, SUBBASIN = 'Pac', _extra = ex
+
+ cnt = cnt+1 & blabla = 'Arctic Ice Thickness: MARCH'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_march_1, Ithi_march_2, /ARC, /MARCH, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Arctic Ice Thickness: SEPT'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_sept_1, Ithi_sept_2, /ARC, /SEPT, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Antarctic Ice Thickness: MARCH'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_march_1, Ithi_march_2, /ANT, /MARCH, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Antarctic Ice Thickness: SEPT'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_sept_1, Ithi_sept_2, /ANT, /SEPT, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Arctic Ice Fraction: MARCH'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceFrac, Ifra_march_1, Ifra_march_2, /ARC, /MARCH, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Arctic Ice Fraction: SEPT'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceFrac, Ifra_sept_1, Ifra_sept_2, /ARC, /SEPT, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Antarctic Ice Fraction: MARCH'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceFrac, Ifra_march_1, Ifra_march_2, /ANT, /MARCH, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Antarctic Ice Fraction: SEPT'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceFrac, Ifra_sept_1, Ifra_sept_2, /ANT, /SEPT, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Meridional stream Function: Global (no Med)'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_msf, V1, V2, SUBBASIN = 'GloNoMed', _extra = ex
+
+ cnt = cnt+1 & blabla = 'Meridional stream Function: Atlantic'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_msf, V1, V2, SUBBASIN = 'Atl', _extra = ex
+
+ cnt = cnt+1 & blabla = 'Meridional stream Function: Indian'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_msf, V1, V2, SUBBASIN = 'Ind', _extra = ex
+
+ cnt = cnt+1 & blabla = 'Meridional stream Function: Indo-Pacific'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_msf, V1, V2, SUBBASIN = 'IndoPac', _extra = ex
+
+ cnt = cnt+1 & blabla = 'Equatorial Temperature'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_EqT, T1, T2, Tlev, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Equatorial Salinity'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_EqS, S1, S2, SLev, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Equatorial zonal velocity'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_EqU, U1, U2, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Mediterranean salt tongue at depth=700'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_Med_Sspread, S1, S2, SLev, 700, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Mediterranean salt tongue at depth=1000'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_Med_Sspread, S1, S2, SLev, 1000, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Mediterranean water at lat=40°N'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_Med_Sdepth, S1, S2, SLev, 40, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Mediterranean water at lat=38°N'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_Med_Sdepth, S1, S2, SLev, 38, _extra = ex
+
+ cnt = cnt+1 & blabla = 'Vertical Global mean T & S'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_GlobMeanTS, T1, T2, TLev, S1, S2, SLev, _extra = ex
+
+ IF n_elements(htmltxt) GT 1 THEN putfile, psdir+'std_plot_html_body.txt', htmltxt[1:*]
+
+ return
+END
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_bsf.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_bsf.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_bsf.pro (revision 2751)
@@ -0,0 +1,33 @@
+pro std_plot_bsf, U1, U2, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_BSF_'+std_file1_U
+ if std_file1_U NE std_file2_U then filename = filename + '_'+std_file2_U
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ domdef, 0, 6000
+
+ bb1 = bsf(U1.arr, refvalue = 0., refpoint = [25, 0])
+ title = 'Barotropic Stream Function!C'+std_file1_U
+ plt, bb1, min = -200., max = 200., int = 10., /portrait, FORMAT = '(I4)', STYLE = 'so0so' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, _extra = ex
+
+ if std_file1_U NE std_file2_U then BEGIN
+ bb2 = bsf(U2.arr, refvalue = 0., refpoint = [25, 0])
+ title = 'Barotropic Stream Function!C'+std_file1_U+' - '+std_file2_U
+ plt, bb1.arr - bb2.arr, min = -20., max = 20., int = 2., FORMAT = '(I2)', STYLE = 'so0so' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, /NOERASE, _extra = ex
+ endif
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
+
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_emp.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_emp.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_emp.pro (revision 2751)
@@ -0,0 +1,29 @@
+pro std_plot_emp, EMP1, EMP2, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_Emp_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ title = 'Emp!C'+std_file1_T
+ plt, EMP1, MIN = -10., MAX = 10., INTER = 1., style = 'so0so' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, format = '(i3)', /PORTRAIT, _extra = ex
+
+ if std_file1_T NE std_file2_T then begin
+ title = title+' - '+std_file2_T
+ plt, EMP1.arr - EMP2.arr, MIN = -5., MAX = 5., INTER = 1., style = 'so0so' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, format = '(i3)', /NOERASE, _extra = ex
+ endif
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
+
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_erp.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_erp.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_erp.pro (revision 2751)
@@ -0,0 +1,29 @@
+pro std_plot_erp, ERP1, ERP2, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_Erp_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ title = 'Erp!C'+std_file1_T
+ plt, ERP1, MIN = -5., MAX = 5., INTER = .5, style = 'so0so' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, /PORTRAIT, format = '(i2)', _extra = ex
+
+ if std_file1_T NE std_file2_T then begin
+ title = title+' - '+std_file2_T
+ plt, ERP1.arr - ERP2.arr, MIN = -2., MAX = 2., INTER = .25, style = 'so0so' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, format = '(f4.1)', /NOERASE, _extra = ex
+ endif
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
+
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_mht.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_mht.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_mht.pro (revision 2751)
@@ -0,0 +1,84 @@
+PRO std_plot_domht, Q, masknp, mask_filename, ibce, htr, htr_atl
+
+ compile_opt idl2, strictarrsubs
+
+@common
+
+ Qave = moyenne(Q, 'xy', mask2d = masknp) ; mean value
+ Qnet = Q - Qave
+ ibce = STRTRIM(Qave, 1)
+;
+ msk = read_ncdf('atlmsk_nomed', filename = mask_filename, /nostruct)
+ msk = msk[*]#replicate(1., nzt) ; from 2D array to 3D array
+
+; *1.E-15 to have PetaWatt
+ Qx = moyenne(Qnet*e2t , 'x', mask2d = masknp, /integration)*1.E-15
+ Qx_atl = moyenne(Qnet*e2t*msk, 'x', mask2d = masknp, /integration)*1.E-15
+; northward heat flux transport from antartic
+ htr = total(Qx, /cumulative)
+ htr_atl = total(reverse(Qx_atl), /cumulative) ; ! from north to south
+ htr_atl = -reverse(htr_atl)
+; we take from values north till 30° South
+ htr_atl[where(gphit[0, *] lt -30.)] = !Values.F_NaN
+
+return
+END
+
+pro std_plot_mht, Q1, Q2, masknp, mask_filename, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_MHT_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+; find the x index with the highest latitude (for the plot)
+ index = where(gphit eq max(gphit))
+ nx = index[0] mod jpi
+ gphi_save = gphit
+ gphit[0, *] = gphit[nx, *]
+; compute meridional heat transport
+ std_plot_domht, Q1, masknp, mask_filename, ibce1, htr1, htr1_atl
+
+; update data informations
+ varname = 'MHT'
+ varunit = 'Pw'
+ vargrid = 'T'
+
+ title = 'MHT (Black) & Atlantic MHT (Blue)!C'+std_file1_T
+ subtitle = '(Qnet='+ibce1+' W/m2)'
+ plt1d, htr1, 'y', min = -2., max = 2.5, TITLE = title, SUBTITLE = subtitle, /portrait $
+ , SMALL = [2, 2, 1], YTITLE = 'PW', XGRIDSTYLE = 2, TICKLEN = 1, YGRIDSTYLE = 2, _extra = ex
+ plt1d, htr1_atl, 'y', COLOR = 50, /ov1d, _extra = ex
+
+ if std_file1_T NE std_file2_T then begin
+; compute meridional heat transport
+ std_plot_domht, Q2, masknp, mask_filename, ibce2, htr2, htr2_atl
+
+ title = 'MHT (Black) & Atlantic MHT (Blue)!C'+std_file2_T
+ subtitle = '(Qnet='+ibce2+' W/m2)'
+ plt1d, htr2, 'y', min = -2., max = 2.5, TITLE = title, SUBTITLE = subtitle, /noerase $
+ , SMALL = [2, 2, 2], YTITLE = 'PW', XGRIDSTYLE = 2, TICKLEN = 1, YGRIDSTYLE = 2, _extra = ex
+ plt1d, htr2_atl, 'y', COLOR = 50, /ov1d, _extra = ex
+
+ varunit = 'Tw'
+ title = 'MHT (TeraW) differences!C'+std_file1_T+' - '+std_file2_T
+ plt1d, (htr1-htr2)*1.e3, 'y', min = -250., max = 250., TITLE = title $
+ , SMALL = [2, 2, 3], TICKLEN = 1, XGRIDSTYLE = 2 $
+ , YTITLE = 'TW', YGRIDSTYLE = 2, /NOERASE, _extra = ex
+ plt1d, (htr1_atl - htr2_atl)*1.e3, 'y', COLOR = 50, /ov1d, _extra = ex
+
+ endif
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ gphit = gphi_save
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_mld.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_mld.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_mld.pro (revision 2751)
@@ -0,0 +1,53 @@
+pro std_plot_mld, MLD1, MLD2in, MLDin, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ CASE n_params() OF
+ 2:BEGIN
+ MLD = MLD2in
+ END
+ 3:BEGIN
+ IF MLD2in.arr[0] EQ -1 THEN return
+ MLD2 = MLD2in
+ MLD = MLDin
+ END
+ ENDCASE
+;
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_MLD_'+std_file1_T
+ IF keyword_set(MLD2) THEN filename = filename + '_' + std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+;
+ varunit = MLD1.unit
+ titleorg = 'MLD!C'
+;
+ IF keyword_set(MLD2) THEN BEGIN
+ title = titleorg+std_file1_T+ ' - '+std_file2_T
+ plt, MLD1.arr - MLD2.arr, MIN = -80., MAX = 80., INTER = 10., FORMAT = '(I3)' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, /NOCONTOUR, /PORTRAIT, _extra = ex
+ ENDIF ELSE BEGIN
+ title = titleorg+std_file1_T
+ plt, MLD1, MIN = 0., MAX = 500., INTER = 25., /NOCONTOUR, FORMAT = '(I3)' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, /PORTRAIT, _extra = ex
+ ENDELSE
+;
+ IF keyword_set(MLD2) THEN BEGIN
+ title = titleorg+std_file2_T+ ' - DeBoyer'
+ tmp = MLD2.arr - MLD.arr
+ ENDIF ELSE BEGIN
+ title = titleorg+std_file1_T+ ' - DeBoyer'
+ tmp = MLD1.arr - MLD.arr
+ ENDELSE
+ plt, temporary(tmp), MIN = -80., MAX = 80., INTER = 10., FORMAT = '(I3)' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, /NOCONTOUR, /NOERASE, _extra = ex
+;
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+;
+ return
+end
+
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_msf.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_msf.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_msf.pro (revision 2751)
@@ -0,0 +1,52 @@
+pro std_plot_msf, V1, V2, SUBBASIN = subbasin, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ if KEYWORD_SET(SUBBASIN) then subname = subbasin else subname = "Glo"
+ filename = cdti3 + '_MSF_'+subname+'_'+std_file1_V
+ if std_file1_V NE std_file2_V then filename = filename + '_'+std_file2_V
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+;
+ if KEYWORD_SET(SUBBASIN) then begin
+ CASE subname of
+ 'Atl' : var = 'atlmsk_nomed'
+ 'Ind' : var = 'indmsk'
+ 'IndoPac' : var = 'indpacmsk'
+ 'GloNoMed' : var = 'glomsk_nomed'
+ ENDCASE
+ msk = read_ncdf( var, filename = std_file_msksub, /nostruct, _extra = ex )
+ endif else msk = tmask[*, *, 0]
+;
+ CASE subname OF
+ 'GloNoMed':lat_ext = [-80, 90]
+ 'Glo':lat_ext = [-80, 90]
+ 'Atl':lat_ext = [-30, 90]
+ 'Ind':lat_ext = [-30, 30]
+ 'IndoPac':lat_ext = [-30, 70]
+ ENDCASE
+
+ domdef, 0, 6000
+
+ mm1 = msf(V1.arr, indexboxzoom = ind, maskout = ma)
+ title = 'Meridional Stream Function, '+subname+'!C'+std_file1_V
+ pltz, mm1, 'yz', -20., 20., int = 1., boxzoom = [ind[0:1], lat_ext, 0, 5500], /xindex, FORMAT = '(I3)', /portrait $
+ , small = [1, 2, 1], COAST_THICK = 2, zoom = 5500, maskdta = ma, /no_partial, TITLE = title, style = 'so0so'
+
+ if std_file1_V NE std_file2_V then begin
+ mm2 = msf(V2.arr, indexboxzoom = ind, maskout = ma)
+ title = title+' - '+std_file2_V
+ pltz, mm1.arr-mm2.arr, 'yz', -10., 10., int = 1., boxzoom = [ind[0:1], lat_ext, 0, 5500], /xindex, FORMAT = '(I3)' $
+ , small = [1, 2, 2], COAST_THICK = 2, zoom = 5500, maskdta = ma, /no_partial, TITLE = title, /NOERASE, style = 'so0so'
+ endif
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
+
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_qnet.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_qnet.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_qnet.pro (revision 2751)
@@ -0,0 +1,34 @@
+pro std_plot_qnet, Q1, Q2, QNET, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_Qnet_'+std_file1_T
+ if std_file1_T EQ std_file2_T then filename = filename + '_OAFlux' $
+ ELSE filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ title = 'Qnet!C'+std_file1_T
+ plt, Q1, MIN = -200., MAX = 200., INTER = 20., STYLE = 'so0so' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, FORMAT = '(I4)', /PORTRAIT, _extra = ex
+
+ if std_file1_T EQ std_file2_T then begin
+ title = 'Qnet!C'+std_file1_T+' - OAFlux'
+ Q = Q1.arr - QNET.arr
+ ENDIF ELSE BEGIN
+ title = 'Qnet!C'+std_file1_T+' - '+std_file2_T
+ Q = Q1.arr - Q2.arr
+ ENDELSE
+ plt, Q, MIN = -100, MAX = 100, INTER = 10, STYLE = 'so0so' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, FORMAT = '(I4)', /NOERASE, _extra = ex
+ ;
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
+
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_sss.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_sss.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_sss.pro (revision 2751)
@@ -0,0 +1,34 @@
+pro std_plot_sss, S1, S2, SLev, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_SSS_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ varunit = S1.unit
+
+ title = 'SSS!C'+std_file1_T
+ plt, S1.arr[*, *, 0], MIN = 33., MAX = 41., INTER = .25, format = '(f4.1)' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, /PORTRAIT, _extra = ex
+ ;
+ if std_file1_T NE std_file2_T then begin
+ title = 'SSS!C'+std_file1_T+' - '+std_file2_T
+ plt, S1.arr[*, *, 0] - S2.arr[*, *, 0], MIN = -2., MAX = 2., INTER = 0.2, STYLE = 'so0so' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, /noerase, format = '(f4.1)', _extra = ex
+ endif else begin
+ title = 'SSS!C'+std_file1_T+' - Levitus'
+ plt, S1.arr[*, *, 0] - SLev.arr[*, *, 0], MIN = -3., MAX = 3., INTER = 0.2, STYLE = 'so0so' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, /noerase, format = '(f4.1)', _extra = ex
+ endelse
+ ;
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_sst.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_sst.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_sst.pro (revision 2751)
@@ -0,0 +1,43 @@
+pro std_plot_sst, T1, T2, TRey, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_SST_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ if std_file1_T EQ std_file2_T then begin
+ T = T1.arr[*, *, 0]
+ min = -2.
+ max = 32.
+ inter = 1.
+ STYLE = 0
+ title = 'SST!C'+std_file1_T
+ ENDIF ELSE BEGIN
+ T = T1.arr[*, *, 0] - T2.arr[*, *, 0]
+ min = -1.
+ max = -min
+ inter = 0.1
+ STYLE = 'so0so'
+ title = 'SST!C'+std_file1_T+' - '+std_file2_T
+ ENDELSE
+;
+ varunit = T1.unit
+;
+ plt, T, MIN = min, MAX = max, INTER = inter, STYLE = STYLE $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, FORMAT = '(I2)', /PORTRAIT, _extra = ex
+;
+ title = 'SST!C'+std_file1_T+' - NewReynolds'
+ plt, T1.arr[*, *, 0] - TRey.arr, MIN = -8., MAX = 8., INTER = 0.5, STYLE = 'so0so', FORMAT = '(I2)' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, /NOERASE, _extra = ex
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_vardef.sh_example1
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_vardef.sh_example1 (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_vardef.sh_example1 (revision 2751)
@@ -0,0 +1,105 @@
+#!/bin/sh
+#
+# AUTHOR - date
+# ===========
+# Sebastien Masson - 04/2011 - LOCEAN
+#
+# DESCRIPTION
+# ===========
+# define all varibles needed by std_plot.sh and std_plot.pro
+#
+# EXAMPLES
+# ========
+# $ . ./std_plots_vardef.sh
+#
+#
+#===================== User PATHS =====================
+#
+idl_command=/Applications/itt/idl64/bin/idl
+#
+PS_DIR=$( pwd )/ps
+PDF_DIR=$( pwd )/pdf
+HTML_DIR=$( pwd )/html
+SAXO_DIR=/Users/smasson/SAXO_DIR
+#
+DIR_DATA=/Users/smasson/tmp/idlorca2/res # path of data in NetCDF format
+DIR_CLIMATO=/Users/smasson/tmp/idlorca2/clim # path of climatological data
+DIR_MASK=/Users/smasson/tmp/idlorca2/clim # path of mask files (ex: subbasins)
+#
+#===================== Model GRID =====================
+#
+FILE_MESH_MASK=/Users/smasson/data/vp33beta_mesh_mask_7.nc # meshmask
+FILE_MASK_SUBDOMAIN=subbasins_orca21_nored.nc # sub-bassin masks
+#
+#===================== DATA =====================
+#
+VAR_TEMP_3D=votemper ; FILE_TEMP_3D=data_1y_potential_temperature_nomask.nc # Levitus_T
+VAR_SAL_3D=vosaline ; FILE_SAL_3D=data_1y_salinity_nomask.nc # Levitus_S
+VAR_SST=sst ; FILE_SST=NewREY_ORCA2_1991_2000_1y.nc # Reynolds
+VAR_FLUX=qnet ; FILE_FLUX=OAFlux_1my_01_12_1984_2004_orca2_qnet.nc # flux
+VAR_MLD=mld ; FILE_MLD=mld_DR003_c1m_ORCA2_1y.nc # Mixed layer depth
+#
+# Geothermal heating -> define FILE_GEOHEAT to 'NO' if there is not such forcing
+# -> define VAR_GEOHEAT to a constant if geothermal heating is constant over the domain
+VAR_GEOHEAT=heatflow ; FILE_GEOHEAT=geothermal_heating.nc
+#
+#===================== EXP1 =====================
+#
+FILE1_T=tr33beta_00910101_01001231_1Y_grid_T.nc # exp1 grid T input file
+FILE1_U=tr33beta_00910101_01001231_1Y_grid_U.nc # exp1 grid U input file
+FILE1_V=tr33beta_00910101_01001231_1Y_grid_V.nc # exp1 grid V input file
+FILE1_I=tr33beta_00910101_01001231_1M_icemod.nc # exp1 ice input file
+VAR1_T=thetao
+VAR1_S=so
+VAR1_QNET=qt
+VAR1_ERP=wfcorr
+VAR1_EMP=wfo
+VAR1_MLD=mldr10_1
+VAR1_U=uocetr_eff
+VAR1_V=vocetr_eff
+VAR1_Ithick=sit
+VAR1_Ifrac=sic
+#
+#===================== EXP2 =====================
+#
+FILE2_T=tr33beta_00910101_01001231_1Y_grid_T.nc # exp1 grid T input file
+FILE2_U=tr33beta_00910101_01001231_1Y_grid_U.nc # exp1 grid U input file
+FILE2_V=tr33beta_00910101_01001231_1Y_grid_V.nc # exp1 grid V input file
+FILE2_I=tr33beta_00910101_01001231_1M_icemod.nc # exp1 ice input file
+VAR2_T=thetao
+VAR2_S=so
+VAR2_QNET=qt
+VAR2_ERP=wfcorr
+VAR2_EMP=wfo
+VAR2_MLD=mldr10_1
+VAR2_U=uocetr_eff
+VAR2_V=vocetr_eff
+VAR2_Ithick=sit
+VAR2_Ifrac=sic
+#
+######################### Export Variables ###############################
+#
+#===================== User PATHS =====================
+export PS_DIR PDF_DIR HTML_DIR SAXO_DIR
+export DIR_DATA DIR_CLIMATO DIR_MASK
+#===================== Model GRID =====================
+export FILE_MESH_MASK FILE_MASK_SUBDOMAIN
+#===================== DATA =====================
+export FILE_TEMP_3D VAR_TEMP_3D
+export FILE_SAL_3D VAR_SAL_3D
+export FILE_SST VAR_SST
+export FILE_GEOHEAT VAR_GEOHEAT
+export FILE_FLUX VAR_FLUX
+export FILE_MLD VAR_MLD
+#===================== EXP1 =====================
+export READ_ONLY_FIRST_RECORD
+export FILE1_T FILE1_U FILE1_V FILE1_I
+export VAR1_T VAR1_S VAR1_QNET VAR1_ERP VAR1_EMP VAR1_MLD
+export VAR1_U VAR1_V
+export VAR1_Ithick VAR1_Ifrac
+#===================== EXP2 =====================
+export FILE2_T FILE2_U FILE2_V FILE2_I
+export VAR2_T VAR2_S VAR2_QNET VAR2_ERP VAR2_EMP VAR2_MLD
+export VAR2_U VAR2_V
+export VAR2_Ithick VAR2_Ifrac
+#
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_vardef.sh_example2
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_vardef.sh_example2 (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_vardef.sh_example2 (revision 2751)
@@ -0,0 +1,110 @@
+#!/bin/sh
+#
+# AUTHOR - date
+# ===========
+# Sebastien Masson - 04/2011 - LOCEAN
+#
+# DESCRIPTION
+# ===========
+# define all varibles needed by std_ts.sh and std_ts.pro
+#
+# EXAMPLES
+# ========
+# $ . ./std_plots_vardef.sh
+#
+#
+#===================== User PATHS =====================
+#
+idl_command=/Applications/itt/idl64/bin/idl
+#
+PS_DIR=$( pwd )/ps_core_tag33
+PDF_DIR=$( pwd )/pdf_core_tag33
+HTML_DIR=$( pwd )/html_core_tag33
+SAXO_DIR=/Users/smasson/SAXO_DIR
+#
+DIR_DATA=/Users/smasson/tmp/idlorca2/res # path of data in NetCDF format
+DIR_CLIMATO=/Users/smasson/tmp/idlorca2/clim # path of climatological data
+DIR_MASK=/Users/smasson/tmp/idlorca2/clim # path of mask files (ex: subbasins)
+#
+#===================== Model GRID =====================
+#
+FILE_MESH_MASK=/Users/smasson/data/vp33beta_mesh_mask_7.nc # meshmask
+FILE_MASK_SUBDOMAIN=subbasins_orca21_nored.nc # sub-bassin masks
+#
+#===================== DATA =====================
+#
+VAR_TEMP_3D=votemper ; FILE_TEMP_3D=data_1y_potential_temperature_nomask.nc # Levitus_T
+VAR_SAL_3D=vosaline ; FILE_SAL_3D=data_1y_salinity_nomask.nc # Levitus_S
+VAR_SST=sst ; FILE_SST=NewREY_ORCA2_1991_2000_1y.nc # Reynolds
+VAR_FLUX=qnet ; FILE_FLUX=OAFlux_1my_01_12_1984_2004_orca2_qnet.nc # flux
+VAR_MLD=mld ; FILE_MLD=mld_DR003_c1m_ORCA2_1y.nc # Mixed layer depth
+#
+# Geothermal heating -> define FILE_GEOHEAT to 'NO' if there is not such forcing
+# -> define VAR_GEOHEAT to a constant if geothermal heating is constant over the domain
+VAR_GEOHEAT=heatflow ; FILE_GEOHEAT=geothermal_heating.nc
+#
+#===================== EXP1 =====================
+#
+READ_ONLY_FIRST_RECORD=0 # if 0 then read all records in files else read only the first reacord in each file
+#
+DATE1=10101 ; DATE2=1001231
+#
+VAR1_T=thetao ; V1T_PREF=tmx_2000 ; V1T_SUFF=_1Y_grid_T.nc
+VAR1_S=so ; V1S_PREF=tmx_2000 ; V1S_SUFF=_1Y_grid_T.nc
+VAR1_SSH=zos ; V1SSH_PREF=tmx_2000 ; V1SSH_SUFF=_1Y_grid_T.nc
+VAR1_Q=qns+qsr ; V1Q_PREF=tmx_2000 ; V1Q_SUFF=_1Y_grid_T.nc
+VAR1_EMP=wfo ; V1EMP_PREF=tmx_2000 ; V1EMP_SUFF=_1Y_grid_T.nc
+VAR1_U=uoce_eff ; V1U_PREF=tmx_2000 ; V1U_SUFF=_1Y_grid_U.nc
+VAR1_V=voce_eff ; V1V_PREF=tmx_2000 ; V1V_SUFF=_1Y_grid_V.nc
+VAR1_ICE=sic ; V1ICE_PREF=tmx_2000 ; V1ICE_SUFF=_1Y_icemod.nc
+#
+#===================== EXP2 =====================
+#
+DATE1_2=20010101 ; DATE2_2=21001231
+#
+VAR2_T=thetao ; V2T_PREF=tag33 ; V2T_SUFF=_1Y_grid_T.nc
+VAR2_S=so ; V2S_PREF=tag33 ; V2S_SUFF=_1Y_grid_T.nc
+VAR2_SSH=zos ; V2SSH_PREF=tag33 ; V2SSH_SUFF=_1Y_grid_T.nc
+VAR2_Q=qt ; V2Q_PREF=tag33 ; V2Q_SUFF=_1Y_grid_T.nc
+VAR2_EMP=wfo ; V2EMP_PREF=tag33 ; V2EMP_SUFF=_1Y_grid_T.nc
+VAR2_U=uocetr_eff ; V2U_PREF=tag33 ; V2U_SUFF=_1Y_grid_U.nc
+VAR2_V=vocetr_eff ; V2V_PREF=tag33 ; V2V_SUFF=_1Y_grid_V.nc
+VAR2_ICE=sic ; V2ICE_PREF=tag33 ; V2ICE_SUFF=_1Y_icemod.nc
+#
+######################### Export Variables ###############################
+#
+#===================== User PATHS =====================
+export PS_DIR PDF_DIR HTML_DIR SAXO_DIR
+export DIR_DATA DIR_CLIMATO DIR_MASK
+#===================== Model GRID =====================
+export FILE_MESH_MASK FILE_MASK_SUBDOMAIN
+#===================== DATA =====================
+export FILE_TEMP_3D VAR_TEMP_3D
+export FILE_SAL_3D VAR_SAL_3D
+export FILE_SST VAR_SST
+export FILE_GEOHEAT VAR_GEOHEAT
+export FILE_FLUX VAR_FLUX
+export FILE_MLD VAR_MLD
+#===================== EXP1 =====================
+export READ_ONLY_FIRST_RECORD
+#
+export DATE1 DATE2
+export VAR1_T V1T_PREF V1T_SUFF
+export VAR1_S V1S_PREF V1S_SUFF
+export VAR1_SSH V1SSH_PREF V1SSH_SUFF
+export VAR1_Q V1Q_PREF V1Q_SUFF
+export VAR1_EMP V1EMP_PREF V1EMP_SUFF
+export VAR1_U V1U_PREF V1U_SUFF
+export VAR1_V V1V_PREF V1V_SUFF
+export VAR1_ICE V1ICE_PREF V1ICE_SUFF
+#===================== EXP2 =====================
+export DATE1_2 DATE2_2
+export VAR2_T V2T_PREF V2T_SUFF
+export VAR2_S V2S_PREF V2S_SUFF
+export VAR2_SSH V2SSH_PREF V2SSH_SUFF
+export VAR2_Q V2Q_PREF V2Q_SUFF
+export VAR2_EMP V2EMP_PREF V2EMP_SUFF
+export VAR2_U V2U_PREF V2U_SUFF
+export VAR2_V V2V_PREF V2V_SUFF
+export VAR2_ICE V2ICE_PREF V2ICE_SUFF
+#
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_zonal_S.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_zonal_S.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_zonal_S.pro (revision 2751)
@@ -0,0 +1,55 @@
+pro std_plot_zonal_S, S1, S2, SLev, SUBBASIN = subbasin, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ if KEYWORD_SET(SUBBASIN) then subname = subbasin else subname = "Glo"
+ filename = cdti3 + '_ZonalS_'+subname+'_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+; looking for longitudinal index corresponding to the highest latitude (closest to the North Pole)
+ index = where(gphit eq max(gphit))
+ nx = index[0] mod jpi
+ gphi_save = gphit
+ gphit[0, *] = gphit[nx, *]
+
+ if KEYWORD_SET(SUBBASIN) then begin
+ tmasksv = tmask
+ CASE 1 of
+ subbasin eq 'Atl' : var = 'atlmsk_nomed'
+ subbasin eq 'Ind' : var = 'indmsk_nored'
+ subbasin eq 'Pac' : var = 'pacmsk'
+ ENDCASE
+ msk = read_ncdf( var, filename = std_file_msksub, _extra = ex)
+; from 2D array to 3D array
+ msk = msk.arr[*]#replicate(1., nzt)
+ tmask[firstxt:lastxt, firstyt:lastyt, firstzt:lastzt] = tmask[firstxt:lastxt, firstyt:lastyt, firstzt:lastzt] * msk
+ endif
+;
+ title = 'Salinity, '+subname+'!C'+std_file1_T
+ pltz, S1, MININ = 32., MAXIN = 37., INTER = .2, typein = 'yz', FORMAT = '(f4.1)' $
+ , small = [1, 2, 1], COAST_THICK = 2, TITLE = title, boxzoom = 5500, ZOOM = 1000, /PORTRAIT, _extra = ex
+;
+ if std_file1_T NE std_file2_T then begin
+ title = title+' - '+std_file2_T
+ pltz, S1.arr-S2.arr, MIN = -1., MAX = 1., INTER = .1, typein = 'yz', FORMAT = '(f4.1)', style = 'so0so' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, boxzoom = 5500, ZOOM = 1000, /NOERASE, _extra = ex
+ endif else begin
+ title = title+' - Levitus'
+ pltz, S1.arr-SLev.arr, MININ = -1, MAXIN = 1., INTER = .1, typein = 'yz', FORMAT = '(f4.1)', style = 'so0so' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, boxzoom = 5500, ZOOM = 1000, /NOERASE, _extra = ex
+ endelse
+;
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+;
+ if KEYWORD_SET(SUBBASIN) then tmask = tmasksv
+ gphit = gphi_save
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_zonal_T.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_zonal_T.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_zonal_T.pro (revision 2751)
@@ -0,0 +1,55 @@
+pro std_plot_zonal_T, T1, T2, TLev, SUBBASIN = subbasin, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ if KEYWORD_SET(SUBBASIN) then subname = subbasin else subname = "Glo"
+ filename = cdti3 + '_ZonalT_'+subname+'_'+std_file1_T
+ if std_file1_T NE std_file2_T then filename = filename + '_'+std_file2_T
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+;
+; looking for longitudinal index corresponding to the highest latitude (closest to the North Pole)
+ index = where(gphit eq max(gphit))
+ nx = index[0] mod jpi
+ gphi_save = gphit
+ gphit[0, *] = gphit[nx, *]
+;
+ if KEYWORD_SET(SUBBASIN) then begin
+ tmasksv = tmask
+ CASE 1 of
+ subbasin eq 'Atl' : var = 'atlmsk_nomed'
+ subbasin eq 'Ind' : var = 'indmsk_nored'
+ subbasin eq 'Pac' : var = 'pacmsk'
+ ENDCASE
+ msk = read_ncdf( var, filename = std_file_msksub, _extra = ex)
+; from 2D array to 3D array
+ msk = msk.arr[*]#replicate(1., nzt)
+ tmask[firstxt:lastxt, firstyt:lastyt, firstzt:lastzt] = tmask[firstxt:lastxt, firstyt:lastyt, firstzt:lastzt] * msk
+ endif
+;
+ title = 'Temperature, '+subname+'!C'+std_file1_T
+ pltz, T1, MININ = -2., MAXIN = 30., INTER = 1., typein = 'yz', FORMAT = '(I2)' $
+ , small = [ 1, 2, 1], COAST_THICK = 2, TITLE = title, boxzoom = 5500, ZOOM = 1000, /PORTRAIT, _extra = ex
+;
+ if std_file1_T NE std_file2_T then begin
+ title = title+' - '+std_file2_T
+ pltz, T1.arr-T2.arr, MIN = -2., MAX = 2., INTER = .2, typein = 'yz', FORMAT = '(f4.1)', style = 'so0so' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, boxzoom = 5500, ZOOM = 1000, /NOERASE, _extra = ex
+ endif else begin
+ title = title+' - Levitus'
+ pltz, T1.arr-TLev.arr, MININ = -4., MAXIN = 4., INTER = .5, typein = 'yz', FORMAT = '(I2)', style = 'so0so' $
+ , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, boxzoom = 5500, ZOOM = 1000, /NOERASE, _extra = ex
+ endelse
+;
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+;
+ if KEYWORD_SET(SUBBASIN) then tmask = tmasksv
+ gphit = gphi_save
+;
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plots.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plots.pro (revision 2750)
+++ (revision )
@@ -1,396 +1,0 @@
-pro std_plots, std_EXP1, std_EXP2, ystart, _extra=ex
-
- ; scripts for nemo v3_3
-
-
-PRINT, 'usage: postscript '
-PRINT, '========================================================================'
-PRINT, 'std_plots, ''std_EXP1'', ''std_EXP2'', ystart, /postscript'
-PRINT, '========================================================================'
-PRINT, 'std_plots, ''core2000'', ''core2000'', 1991, /postscript'
-PRINT, '========================================================================'
-
-
- compile_opt idl2, strictarrsubs
-
- PRINT, ''
- PRINT, ' ############################################'
- PRINT, ''
- PRINT, ' LAUNCH of std_plots'
- PRINT, ''
- PRINT, ' ############################################'
- PRINT, ''
-
-
-@common
-@initorca2
-@std_com
-
- year_start = ystart * 10000L + 101L ; year of start (corresponding to filename)
- year_end = (ystart + 9L) * 10000L + 1231L ; year of end (corresponding to filename)
- start_end = string(year_start,format= '(I08)')+'_'+string(year_end,format ='(I08)') ; variable string for filename
-; std_iodir_data = '/Users/sflod/idl_PLOTS/DATA_STORE/RUN_INTERAN/brodie/' ; path of data in NetCdf format
- std_iodir_data = '/Users/sflod/idl_PLOTS/DATA_STORE/RUN_CLIMATO/brodie/' ; path of data in NetCdf format
- std_iodir_climato = '/Users/sflod/idl_PLOTS/CLIMATOLOGIES/' ; path of climatological data
- std_iodir_mask = '/Users/sflod/idl_PLOTS/MASK/' ; path of mask files (ex: subbasins)
-
-;;;;; ==================================================== WARNING ================================================================= ;;;;;;;;;;
- d1 = (ystart + 9L) * 10000L + 101L ; date to select last record of file with 10 years of record
- d2 = year_end ; date to select last record of file with 10 years of record
- id1 = (ystart + 9L) * 10000L + 1201L ; date to select starting date for (monthly) ice output
- id2 = d2 ; date to select last record for (monthly) ice output
- id_mars_1 = (ystart + 9L) * 10000L + 301L ; date to select mars ice output
- id_mars_2 = (ystart + 9L) * 10000L + 331L ; date to select mars ice output
- id_sept_1 = (ystart + 9L) * 10000L + 901L ; date to select september ice output
- id_sept_2 = (ystart + 9L) * 10000L + 930L ; date to select september ice output
-;
-; Levitus 98
- std_file_Levitus_T = 'data_1y_potential_temperature_nomask.nc'
- std_file_Levitus_S = 'data_1y_salinity_nomask.nc'
-
-; Output run experience1
- std_file1_T = std_EXP1+'_'+start_end+'_1Y_grid_T.nc' ; grid T input file
- std_file1_U = std_EXP1+'_'+start_end+'_1Y_grid_U.nc' ; grid U input file
- std_file1_V = std_EXP1+'_'+start_end+'_1Y_grid_V.nc' ; grid V input file
-; std_file1_W = std_EXP1+'_'+start_end+'_1Y_grid_W.nc' ; grid W input file
- std_file1_I = std_EXP1+'_'+start_end+'_1M_icemod.nc' ; ice input file
-
-; Output run experience2
- std_file2_T = std_EXP2+'_'+start_end+'_1Y_grid_T.nc' ; grid T input file
- std_file2_U = std_EXP2+'_'+start_end+'_1Y_grid_U.nc' ; grid U input file
- std_file2_V = std_EXP2+'_'+start_end+'_1Y_grid_V.nc' ; grid V input file
-; std_file2_W = std_EXP2+'_'+start_end+'_1Y_grid_W.nc' ; grid W
- std_file2_I = std_EXP2+'_'+start_end+'_1M_icemod.nc' ; ice input file
-
-
- PRINT, ''
- PRINT, ' std_EXP1 : ', std_EXP1
- PRINT, ' std_EXP2 : ', std_EXP2
- PRINT, ' std_iodir_data : ', std_iodir_data
- PRINT, ' std_file1T : ', std_file1_T
- PRINT, ' std_file1U : ', std_file1_U
- PRINT, ' std_file1V : ', std_file1_V
-; PRINT, ' std_file1W : ', std_file1_W
- PRINT, ' std_file2I : ', std_file1_I
- PRINT, ' std_file2T : ', std_file2_T
- PRINT, ' std_file2U : ', std_file2_U
- PRINT, ' std_file2V : ', std_file2_V
-; PRINT, ' std_file2W : ', std_file2_W
- PRINT, ' std_file2I : ', std_file2_I
- PRINT, ''
-
-;#########################################################################
-; reading variables
-
-;;; 3D ;;;
-; temperature
- T1 = read_ncdf('thetao', d1, d2, filename = std_iodir_data+std_file1_T )
- T2 = read_ncdf('thetao', d1, d2, filename = std_iodir_data+std_file2_T )
- TLev = read_ncdf('votemper', filename = std_iodir_climato+std_file_Levitus_T )
- TRey = read_ncdf('sst' , filename = std_iodir_climato+'NewREY_ORCA2_1991_2000_1y.nc' )
-
-help,T1,T2,TLev,TRey
-
-; salinity
- S1 = read_ncdf('so', d1, d2, filename = std_iodir_data+std_file1_T )
- S2 = read_ncdf('so', d1, d2, filename = std_iodir_data+std_file2_T )
- SLev = read_ncdf('vosaline', filename = std_iodir_climato+std_file_Levitus_S )
-
-; Net Downward heat flux
- Q1 = read_ncdf('qt', d1, d2, filename = std_iodir_data+std_file1_T )
- Q2 = read_ncdf('qt', d1, d2, filename = std_iodir_data+std_file2_T )
- geo = read_ncdf('heatflow', filename= std_iodir_climato+'geothermal_heating.nc' )
- geo = geo.arr*1.e-3 ; convert into W/m2
-
-;climatology
- QNET = read_ncdf('qnet', filename = std_iodir_climato+'OAFlux_1my_01_12_1984_2004_orca2_qnet.nc' )
-
-; erp (evaporation damping)
- ERP1 = read_ncdf('wfcorr', d1, d2, filename = std_iodir_data+std_file1_T )
- ERP2 = read_ncdf('wfcorr', d1, d2, filename = std_iodir_data+std_file2_T )
- ERP1 = ERP1.arr * 86400
- ERP2 = ERP2.arr * 86400
-
-; emp (evaporation minus precipitation)
- EMP1 = read_ncdf('wfo', d1, d2, filename = std_iodir_data+std_file1_T )
- EMP2 = read_ncdf('wfo', d1, d2, filename = std_iodir_data+std_file2_T )
- EMP1 = EMP1.arr * 86400
- EMP2 = EMP2.arr * 86400
-
-;mixed layer depth
- MXL1 = read_ncdf('mldr10_1', d1, d2, filename = std_iodir_data+std_file1_T ) ; 10 m
- MXL2 = read_ncdf('mldr10_1', d1, d2, filename = std_iodir_data+std_file2_T ) ; 10 m
-;climatology
- MLD = read_ncdf('mld', filename = std_iodir_climato+'mld_DR003_c1m_ORCA2_1y.nc' )
-
-; velocities
- U1 = read_ncdf('uocetr_eff', d1, d2, filename = std_iodir_data+std_file1_U )
- U2 = read_ncdf('uocetr_eff', d1, d2, filename = std_iodir_data+std_file2_U )
- e23 = e3u_3d(/e2)
- e23 = e23[*]#replicate(1., jpt)
- U1.arr = U1.arr /e23
- U2.arr = U2.arr /temporary(e23)
- U1.unit = 'm/s'
- U2.unit = 'm/s'
-;
- V1 = read_ncdf('vocetr_eff', d1, d2, filename = std_iodir_data+std_file1_V )
- V2 = read_ncdf('vocetr_eff', d1, d2, filename = std_iodir_data+std_file2_V )
- e13 = e3v_3d(/e1)
- e13 = e13[*]#replicate(1., jpt)
- V1.arr = V1.arr /e13
- V2.arr = V2.arr /temporary(e13)
- V1.unit = 'm/s'
- V2.unit = 'm/s'
-
-; Take into account the Gent & McWilliams "Eddy Induced velocity"
-; Veiv1 = read_ncdf('vomeeivv', filename = std_iodir_data+std_file2_V )
-; Veiv2 = read_ncdf('vomeeivv', filename = std_iodir_data+std_file2_V )
-
-; ice
- Ithi_mars_1 = read_ncdf('sit', id_mars_1, id_mars_2, filename = std_iodir_data+std_file1_I )
- Ithi_mars_2 = read_ncdf('sit', id_mars_1, id_mars_2, filename = std_iodir_data+std_file2_I )
-
- Ithi_sept_1 = read_ncdf('sit', id_sept_1, id_sept_2, filename = std_iodir_data+std_file1_I )
- Ithi_sept_2 = read_ncdf('sit', id_sept_1, id_sept_2, filename = std_iodir_data+std_file2_I )
-
- Ifra_mars_1 = read_ncdf('sic', id_mars_1, id_mars_2, filename = std_iodir_data+std_file1_I )
- Ifra_mars_2 = read_ncdf('sic', id_mars_1, id_mars_2, filename = std_iodir_data+std_file2_I )
-
- Ifra_sept_1 = read_ncdf('sic', id_sept_1, id_sept_2, filename = std_iodir_data+std_file1_I )
- Ifra_sept_2 = read_ncdf('sic', id_sept_1, id_sept_2, filename = std_iodir_data+std_file2_I )
-
-
-;#########################################################################
-
-;#########################################################################
-;###################### STANDARD PLOTS ################################
-;#########################################################################
-
-; fixed color tabled
- lct,64
-
- PRINT, ' '
- PRINT, ' Experience treated:', std_EXP1
- PRINT, ' '
- PRINT, ' '
- PRINT, ' '
-
- ;;;;;;;; ErP & Emp salinity damping term
- ;;;;;;;; =============================================
- PRINT, '============================================= '
- PRINT, ' PLOTS 2D '
- PRINT, '============================================= '
- PRINT, ' ErP salinity damping term'
- PRINT, '1'
- xxx_Erp, ERP1, ERP2, std_EXP1, std_EXP2, start_end, _extra = ex
- PRINT, '2'
- xxx_Emp, EMP1, EMP2, std_EXP1, std_EXP2, start_end, _extra = ex
-
- ;;;;; Net heat flux
- ;;;;; =============
- PRINT, ' '
- PRINT, ' Net heat flux'
- PRINT, '3 '
- xxx_Qnet, Q1, Q2, QNET, std_EXP1, std_EXP2, start_end, _extra = ex
-
- ;;; Meridionnal Heat Transport
- ;;; ===========================
- PRINT, ' '
- PRINT, ' Meridionnal Heat Transport'
- PRINT, '4 '
- fig_ht_fromQ, Q1.arr+geo, Q2.arr+geo, std_EXP1, std_EXP2, start_end, MASK_FILENAME = std_iodir_mask+'subbasins_orca21_nored.nc', _extra = ex
-
- ;;; Global Barotropic Function
- ;;; ===========================
- PRINT, ' '
- PRINT, ' Global Barotropic Function '
- PRINT, '5 '
- plt_bsf, U1, U2, std_EXP1, std_EXP2, start_end, _extra=ex
-
- ;; mean Temperature diff with New Reynolds
- ;; =======================================
- PRINT, ' '
- PRINT, ' mean Temperature diff with New Reynolds'
- PRINT, '6 '
- xxx_SST, T1[*,*,0], T2[*,*,0], TRey, std_EXP1, std_EXP2, start_end, _extra=ex
-
-
- ;;;; mean Salinity diff with Levitus
- ;;;; ===============================
- PRINT, ' '
- PRINT, ' mean Salinity diff with Levitus'
- PRINT, '7 '
- xxx_SSS, S1[*,*,0], S2[*,*,0], SLev[*,*,0], std_EXP1, std_EXP2, start_end, _extra=ex
-
- ;;;;;;; Arctic mean Salinity diff with Levitus at z=105 meters
- ;;;;;;; ======================================================
- PRINT, ' '
- PRINT, ' Arctic mean Salinity diff with Levitus at z=105 meters'
- PRINT, '8 exp1-levitus'
- xxx_EXP1_S_ARC, S1, SLev, std_EXP1, std_EXP2, start_end, _extra = ex
- PRINT, '9 exp2-levitus'
- xxx_EXP2_S_ARC, S1, S2, SLev, std_EXP1, std_EXP2, start_end, _extra = ex
- PRINT, '10 exp1-levitus at 105 meters'
- xxx_EXP1_S_ARC_z105, S1, SLev, std_EXP1, std_EXP2, start_end, _extra = ex
- PRINT, '11 exp2-levitus at 105 meters'
- xxx_EXP2_S_ARC_z105, S1, S2, SLev, std_EXP1, std_EXP2, start_end, _extra = ex
-
-
- ;;;;;;;; mean Temperature diff with Levitus at z=105 meters
- ;;;;;;;; ==================================================
- PRINT, ' '
- PRINT, ' mean Temperature diff with Levitus at z=105 meters'
- PRINT, '12'
- xxx_T_z105, T1, T2, TRey, std_EXP1, std_EXP2, start_end, _extra=ex
-
-
- ;;;;;;;; mean Salinity diff with Levitus at z=105 meters
- ;;;;;;;; ==================================================
- PRINT, ' '
- PRINT, ' mean Salinity diff with Levitus at z=105 meters'
- PRINT, '13'
- xxx_S_z105, S1, S2, SLev, std_EXP1, std_EXP2, start_end, _extra=ex
-
-
- PRINT, '============================================= '
- PRINT, ' PLOTS 3D '
- PRINT, '============================================= '
-
- PRINT, ' Mixed layer depth'
- PRINT, '14 '
- xxx_mxl10, MXL1, MXL2, MLD, std_EXP1, std_EXP2, start_end, _extra = ex
- PRINT, '15'
- xxx_ZonMxl, MXL1, MXL2, MLD, std_EXP1, std_EXP2, start_end, _extra = ex
-
-
- ;;;;;;;;; Zonal mean Temperature diff with Levitus
- ;;;;;;;;; ========================================
- PRINT, ' '
- PRINT, ' Zonal mean Temperature diff with Levitus'
- PRINT, '16 '
- xxx_zonal_T, T1, T2, TLev, std_EXP1, std_EXP2, start_end, MASK_FILENAME = std_iodir_mask+'subbasins_orca21_nored.nc', _extra = ex
-
- PRINT, '16 '
- xxx_zonal_T, T1, T2, TLev, std_EXP1, std_EXP2, start_end, SUBBASIN = 'Atl', MASK_FILENAME = std_iodir_mask+'subbasins_orca21_nored.nc', _extra = ex
-
- PRINT, '16 '
- xxx_zonal_T, T1, T2, TLev, std_EXP1, std_EXP2, start_end, SUBBASIN = 'Ind', MASK_FILENAME = std_iodir_mask+'subbasins_orca21_nored.nc', _extra = ex
-
- PRINT, '16 '
- xxx_zonal_T, T1, T2, TLev, std_EXP1, std_EXP2, start_end, SUBBASIN = 'Pac', MASK_FILENAME = std_iodir_mask+'subbasins_orca21_nored.nc', _extra = ex
-
-
- ;;;;;;;;;; Zonal mean Salinity diff with Levitus
- ;;;;;;;;;; ========================================
- PRINT, ' '
- PRINT, ' Zonal mean Salinity diff with Levitus'
- PRINT, '17 '
- xxx_zonal_S, S1, S2, SLev, std_EXP1, std_EXP2, start_end, MASK_FILENAME = std_iodir_mask+'subbasins_orca21_nored.nc', _extra = ex
-
- PRINT, '17 '
- xxx_zonal_S, S1, S2, SLev, std_EXP1, std_EXP2, start_end, SUBBASIN = 'Atl', MASK_FILENAME = std_iodir_mask+'subbasins_orca21_nored.nc', _extra = ex
-
- PRINT, '17 '
- xxx_zonal_S, S1, S2, SLev, std_EXP1, std_EXP2, start_end, SUBBASIN = 'Ind', MASK_FILENAME = std_iodir_mask+'subbasins_orca21_nored.nc', _extra = ex
-
- PRINT, '17 '
- xxx_zonal_S, S1, S2, SLev, std_EXP1, std_EXP2, start_end, SUBBASIN = 'Pac', MASK_FILENAME = std_iodir_mask+'subbasins_orca21_nored.nc', _extra = ex
-
- ;;;;;;; Seasonal & Annual mean Arctic/Antarctic Ice Thickness & Ice Concentration
- ;;;;;; ==========================================================================
- PRINT, ' '
- PRINT, ' Arctic/Antarctic Ice Thickness'
- PRINT, ' 18'
- xxx_ARC_Icethick_MARS, Ithi_mars_1, Ithi_mars_2, std_EXP1, std_EXP2, start_end, _extra = ex
-
- PRINT, ' 19'
- xxx_ARC_Icethick_SEPT, Ithi_sept_1, Ithi_sept_2, std_EXP1, std_EXP2, start_end, _extra = ex
-
- PRINT, ' 20'
- xxx_ANT_Icethick_MARS, Ithi_mars_1, Ithi_mars_2, std_EXP1, std_EXP2, start_end, _extra = ex
-
- PRINT, ' 21'
- xxx_ANT_Icethick_SEPT, Ithi_sept_1, Ithi_sept_2, std_EXP1, std_EXP2, start_end, _extra = ex
-
- PRINT, ' Arctic/Antarctic Ice Concentration (area of sea-ice per grid cell area'
- PRINT, ' 22'
- xxx_Iceleadfrac_MARS, Ifra_mars_1, Ifra_mars_2, std_EXP1, std_EXP2, start_end, _extra = ex
-
- PRINT, ' 23'
- xxx_Iceleadfrac_SEPT, Ifra_sept_1, Ifra_sept_2, std_EXP1, std_EXP2, start_end, _extra = ex
-
-
- ;;; Global and Atlantic Meridional Function
- ;;; =======================================
- PRINT, ' '
- PRINT, ' Global and Atlantic Meridional Function'
- PRINT, ' 24 '
- plt_msf, V1, V2, std_EXP1, std_EXP2, start_end, SUBBASIN = 'Glo', MASK_FILENAME = std_iodir_mask+'subbasins_orca21_nored.nc', _extra = ex
- PRINT, ' 24 '
- plt_msf, V1, V2, std_EXP1, std_EXP2, start_end, SUBBASIN = 'Atl', MASK_FILENAME = std_iodir_mask+'subbasins_orca21_nored.nc', _extra = ex
- PRINT, ' 24 '
- plt_msf, V1, V2, std_EXP1, std_EXP2, start_end, SUBBASIN = 'Ind', MASK_FILENAME = std_iodir_mask+'subbasins_orca21_nored.nc', _extra = ex
- PRINT, ' 24 '
- plt_msf, V1, V2, std_EXP1, std_EXP2, start_end, SUBBASIN = 'Pac', MASK_FILENAME = std_iodir_mask+'subbasins_orca21_nored.nc', _extra = ex
-
-
- PRINT, '============================================= '
- PRINT, ' Local PLOTS '
- PRINT, '============================================= '
-
- ;;;;;;;;; Equatorial Temperature
- ;;;;;;;;; ======================
- PRINT, ' '
- PRINT, ' Equatorial Temperature'
- PRINT, ' '
- PRINT, ' 25 '
- xxx_Eq_T, T1, T2, Tlev, std_EXP1, std_EXP2, start_end, _extra = ex
-
- ;;;;;;;; Equatorial Salinity
- ;;;;;;;; ===================
- PRINT, ' '
- PRINT, ' Equatorial Salinity'
- PRINT, ' 26 '
- xxx_Eq_S, S1, S2, SLev, std_EXP1, std_EXP2, start_end, _extra = ex
-
- ;;; Equatorial zonal velocity
- ;;; =========================
- PRINT, ' '
- PRINT, ' Equatorial zonal velocity'
- PRINT, ' 27 '
- xxx_Eq_U, U1, U2, std_EXP1, std_EXP2, start_end, _extra = ex
-
- ;;;;;;;;;;;; Mediterranean salt tongue
- ;;;;;;;;;;;; ===============================================
-
- PRINT, ' '
- PRINT, ' Mediterranean salt tongue at depth=700 and lat 40°N'
- PRINT, ' 28 '
- xxx_Med_S_tongue, S1, S2, SLev, std_EXP1, std_EXP2, start_end, DEPTH = 700, LAT = 40, _extra = ex
- ;
- PRINT, ' Mediterranean salt tongue at depth=1000 and lat 38°N'
- PRINT, ' 28 '
- xxx_Med_S_tongue, S1, S2, SLev, std_EXP1, std_EXP2, start_end, DEPTH = 1000, LAT = 38, _extra = ex
-
- ;;;;;;;;; Mediterranean
- ;;;;;;;;; ===============================================
- PRINT, ' '
- PRINT, ' Mediterranean water at 38°N'
- PRINT, ' 29 '
- xxx_Med_S_depth, S1, S2, SLev, std_EXP1, std_EXP2, start_end, DEPTH = 1000, LAT = 38, _extra = ex
- PRINT, ' Mediterranean water at 38°N'
- PRINT, ' 29 '
- xxx_Med_S_depth, S1, S2, SLev, std_EXP1, std_EXP2, start_end, DEPTH = 700, LAT = 40, _extra = ex
-
-;
-
- ;;;;;;;;;;; Vertical Global mean T & S
- ;;;;;;;;;;; ===========================
- PRINT, ' '
- PRINT, ' Vertical Global mean T & S'
- PRINT, ' 30 '
- xxx_TS_ZGlobm, T1, T2, TLev, S1, S2, SLev, std_EXP1, std_EXP2, start_end, _extra = ex
-
-
- return
-END
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plots.sh
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plots.sh (revision 2750)
+++ (revision )
@@ -1,198 +1,0 @@
-#!/bin/sh
-#
-# AUTHOR - date
-# ===========
-# Françoise Pinsard - 01/2010 - LOCEAN
-# Simona Flavoni - 01/2010 - LOCEAN
-#
-# DESCRIPTION
-# ===========
-# Graphics outputs files are written in ./exp1_exp2/ps/.
-#
-# A global document with all plots in Postscript, PDF or HTML file can be produced.
-#
-# EXAMPLES
-# ========
-# $ ./std_plots.sh -exp1 v32colib -exp2 v32colib -y 19800101_19801231 -format html
-#
-# $ ./std_plots.sh -exp1 core100 -exp2 core100 -y 00910101_01001231 -format pdf
-#
-# PROBLEMS
-# ========
-# no batch processing possible because of SAXO interactiviy Seb is working on it ...
-#
-# TODO
-# ====
-# portability on linux
-# define overriding policy
-# finalize ps and pdf production
-#
-usage=" Usage : ${command} -exp1 exp1 -exp2 exp2 -y start -format html
- example: ./std_plots.sh -exp1 core2000 -exp2 core2000 -y 1991 -format pdf
- exp1 is your experience name
- exp2 is the reference experience (if you don't have one exp2 = exp1)
- ystart is the first year of your 10years file output; example: 361 if you want to take file core2000_03610101_03701231_1Y_grid_T.nc"
-#
-minargcount=8
-if [ ${#} -lt ${minargcount} ]; then
- echo "Not enought arguments"
- echo "${usage}"
- exit 1
-fi
-#
-while [ ! -z "${1}" ] # ++ pb bash
-do
- case ${1} in
- -exp1) exp1=${2} shift ;;
- -exp2) exp2=${2} shift ;;
- -y) ystart=${2} shift ;;
- -format) format=${2} shift ;;
- -h)
- echo "${usage}"
- exit 0
- ;;
- *) # other choice
- echo "${usage}"
- exit 1
- ;;
- esac
- shift # next flag
-done
-#
-# ++ check parameters
-set -u
-#
-# define output directory for POSTCRIPT files
-#++ change directory
-psdir=~/TOOLS/my_IDL/PS/CLIMATO/${exp1}_${exp2}/ps/
-#psdir=~/TOOLS/my_IDL/PS/INTERAN/${exp1}_${exp2}/ps/
-pdfdir=~/TOOLS/my_IDL/PS/CLIMATO/${exp1}_${exp2}/pdf
-#pdfdir=~/TOOLS/my_IDL/PS/INTERAN/${exp1}_${exp2}/pdf
-htmldir=~/TOOLS/my_IDL/HTML
-# test if ${psdir} already exists
-if [ -d ${psdir} ]; then
- echo "${psdir} already exist"
- #+++exit 1
-else
- mkdir -p ${psdir}
-fi
-# test if ${pdfdir} already exists
-if [ -d ${pdfdir} ]; then
- echo "${psdir} already exist"
- #+++exit 1
-else
- mkdir -p ${pdfdir}
-fi
-
-# memorize current IDL_STARTUP file
-memo_idl_startup=${IDL_STARTUP}
-
-# generation of IDL commands file to launch several std_plots commands
-# NOTE: $(( 10#${ystart} )) is used to have decimal, if not the number that start with 0 (for example if you put 0361) would be interpeted like alphanumerical number
-rm /tmp/std_plots_multi.pro 2> /dev/null
-cat << EOF >> /tmp/std_plots_multi.pro
- psdir='${psdir}'
- std_plots,'${exp1}','${exp2}', $(( 10#${ystart} )), /postscript
- exit
-EOF
-#
-idl_command='/Applications/itt/idl64/bin/idl' # !! only on my mac
-#
-# check if IDL available
-type ${idl_command}
-status_type=${?}
-if [ ${status_type} -ne 0 ]
-then
- echo "eee : idl not found"
- exit 1
-fi
-# debug
-more /tmp/std_plots_multi.pro
-#
-# launch IDL
-${idl_command} /tmp/std_plots_multi.pro
-status_idl=${?}
-# test if idl returns ok
-#echo "iii : ${status_idl}"
-#
-# restore IDL_STARTUP file
-IDL_STARTUP=${memo_idl_startup}
-export IDL_STARTUP
-
-# produce the final document
-case ${format} in
- pdf)
- rm ${pdfdir}/all_plots.pdf 2> /dev/null
- for file in ${psdir}/*.ps ; do
- echo "ps2pdf"
-# echo "nome file: ${file}"
- ps2pdf -sPAPERSIZE=a4 ${file}
- done
-# echo "dentro pdf"
- ls ${pdfdir}
- mv *.pdf ${pdfdir}/.
- texexec --pdfarrange --result=/tmp/all_plots.pdf ${pdfdir}/*.pdf
- rm -rf *.aux *.log /tmp/*.log
- mv /tmp/all_plots.pdf ${pdfdir}
-#commented because convert gives images of bad quality
-# convert ${psdir}/*.ps /tmp/all_plots.pdf
-# convert -resize 800x600 ${psdir}/${exp1}_${exp2}/ps/*.ps /tmp/all_plots.pdf
- ;;
- html)
- rm /tmp/std_plots.html 2> /dev/null
-# check if convert available
- convert_command='/sw/bin/convert' # !! only on my mac
- type ${convert_command}
- status_type=${?}
- if [ ${status_type} -ne 0 ]
- then
- echo "eee : convert not found"
- exit 1
- fi
-# debug
-
- for file in `ls ${psdir}/*.ps | sed -e "s/\.ps//"` ; do
- ${convert_command} -antialias ${file}.ps ${file}.png
- done
- # creation of a HTML file
- cat << EOF > /tmp/std_plots.html
-
-
-
-
-
-
-
-EOF
- cat /tmp/std_plots.txt >> /tmp/std_plots.html
- cat << EOF >> /tmp/std_plots.html
-
-EOF
-
- cat << EOF >> /tmp/std_plots.html
-
-
-
-EOF
- more /tmp/std_plots.html
- ;;
- *)
- echo " format ${format} not implemented"
- exit 1
- ;;
-esac
-
- #
-#=====================
-# prepare to put images on dods
-# +++ to finish it
-#LOGIN=xxxx
-#Tag_Name=ORCA2_LIM2
-#rsh ${LOGIN}@gaya.idris.fr exec /bin/ksh < /dev/null 2>&1
-# /usr/local/bin/dods_cp ${exp1} DODS/pub/${LOGIN}/${Tag_Name}/CORE2/INTERAN/plots_pdf/${exp1} > /dev/null 2>&1
-#EOF
-#=====================
-# end
-exit 0
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts.pro (revision 2750)
+++ (revision )
@@ -1,107 +1,0 @@
-pro std_ts, std_EXP1, std_EXP2, year1, year2, _extra=ex
-
-
-PRINT, 'usage: postscript '
-PRINT, '========================================================================'
-PRINT, 'std_ts, ''std_EXP1'', ''std_EXP2'', ''year_start'', ''year_end'', /postscript'
-PRINT, '========================================================================'
-PRINT, 'std_ts, ''core2000'', ''core2000'', ''1'', ''2000'', /postscript'
-PRINT, '========================================================================'
-
-
- compile_opt idl2, strictarrsubs
-
- PRINT, ''
- PRINT, ' ############################################'
- PRINT, ''
- PRINT, ' plot of all TIME SERIES'
- PRINT, ''
- PRINT, ' ############################################'
- PRINT, ''
-
-
-@common
-@initorca2
-@std_com
-
-
-; std_iodir_data = '/Users/sflod/idl_PLOTS/DATA_STORE/RUN_INTERAN/mercure/' ; path of data in NetCdf format
- std_iodir_data = '/Users/sflod/idl_PLOTS/DATA_STORE/RUN_CLIMATO/brodie/' ; path of data in NetCdf format
-
-
-;#########################################################################
-;###################### TIME SERIES ################################
-;#########################################################################
-
-; fixed color tabled
- lct,64
-
-
-
- ;; Temperature Mean
- ;; =======================================
- PRINT, ' '
- PRINT, ' Temperature Mean'
- PRINT, '1 '
- ts_mean_T, std_EXP1, std_EXP2, year1, year2, std_iodir_data, _extra = ex
-
- ;; Salinity Mean
- ;; =======================================
- PRINT, ' '
- PRINT, ' Salinity Mean'
- PRINT, '2 '
- ts_mean_S, std_EXP1, std_EXP2, year1, year2, std_iodir_data, _extra = ex
-
- ;; Sea Surface Height
- ;; =======================================
- PRINT, ' '
- PRINT, ' SSH'
- PRINT, '3 '
- ts_mean_SSH, std_EXP1, std_EXP2, year1, year2, std_iodir_data, _extra = ex
-
- ;; Heat flux Mean
- ;; =======================================
- PRINT, ' '
- PRINT, ' Heat Mean'
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; commented because not good in iodef.xml file for 33beta!!!!!!!!!!!
- ;PRINT, '4 '
- ts_mean_Q, std_EXP1, std_EXP2, year1, year2, std_iodir_data, _extra = ex
-
- ;; EMP Mean
- ;; =======================================
- PRINT, ' '
- PRINT, ' EMP Mean'
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; commented because not good in iodef.xml file for 33beta!!!!!!!!!!!
- ;PRINT, '5 '
- ts_mean_EMP, std_EXP1, std_EXP2, year1, year2, std_iodir_data, _extra = ex
-
-
- ;; Drake transport
- ;; =======================================
- PRINT, ' '
- PRINT, ' Drake Transport'
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; commented because not good in iodef.xml file for 33beta!!!!!!!!!!!
- ;PRINT, '6 '
- ts_mean_U, std_EXP1, std_EXP2, year1, year2, std_iodir_data, _extra = ex
-
- ;; Max AMOC
- ;; =======================================
- PRINT, ' '
- PRINT, ' Max AMOC'
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; commented because not good in iodef.xml file for 33beta!!!!!!!!!!!
- ;PRINT, '7 '
- ts_mean_V, std_EXP1, std_EXP2, year1, year2, std_iodir_data, _extra = ex
-
- ;; Sea-Ice Area
- ;; =======================================
- PRINT, ' '
- PRINT, ' Sea-Ice Area'
- PRINT, '8 '
- ts_mean_ICE, std_EXP1, std_EXP2, year1, year2, std_iodir_data, _extra = ex
-
- return
-END
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_AMOC.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_AMOC.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_AMOC.pro (revision 2751)
@@ -0,0 +1,131 @@
+PRO std_ts_read_AMOC, var_name, dt1, dt2, prefix, suffix, t45, t70, t50
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ list = rseries_ncdf(var_name, dt1, dt2, prefix, suffix, /fileslist)
+ nfiles = n_elements(list)
+
+ t45 = 0.
+ t70 = 0.
+ t50 = 0.
+ ts_Time = 0.
+
+ trans = strlowcase(var_name) EQ 'vocetr_eff'
+
+ FOR i = 0, nfiles-1 DO BEGIN
+ var = read_ncdf(var_name, allrecords = allrec, filename = list[i], /nostruct)
+ ts_Time = [ ts_Time, Time]
+;
+ FOR t = 0, jpt-1 DO BEGIN
+ msftot = msf(var[*, *, *, t], TRANSPORT = trans, /nostruct, indexboxzoom = ind)
+ yaxis = gphit[ind[0], ind[2]:ind[3]]
+
+; computation of max Atlatic Meridional Overturninc Circulation at 40°N and 50°N
+ indy = where(yaxis gt 40 and yaxis le 50)
+ domdef, 0, 3500
+ t45 = [t45, max(msftot[indy, firstzw:lastzw], /NaN)]
+
+; computation of max atlantic Antarctic Bottom Water between 80°S and 65°S
+ indy = where(yaxis gt -80 and yaxis le -65)
+ domdef, 300, 3500
+ t70 = [t70, min(msftot[indy, firstzw:lastzw], /NaN)]
+
+; computation of max Antarctic Abyssal Bottom Cell between 65°S and 30°N ,
+ indy = where(yaxis gt -65 and yaxis le 30)
+ domdef, 2500, 5000
+ t50 = [t50, min(msftot[indy, firstzw:lastzw], /NaN)]
+
+ domdef, 0, jpk-1, /zindex
+ ENDFOR
+
+ ENDFOR
+
+ time = ts_Time[1:*] ; remove first record of 0
+ jpt = n_elements(time)
+
+ t45 = t45[1:*] ; remove first record of 0
+ t70 = t70[1:*] ; remove first record of 0
+ t50 = t50[1:*] ; remove first record of 0
+
+ return
+end
+
+pro std_ts_AMOC, masknp, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+; get exp1 info
+ vV1 = getenv('VAR1_V') & prefix = getenv('V1V_PREF') & suffix = getenv('V1V_SUFF')
+; get exp2 info
+ vV2 = getenv('VAR2_V') & prefix2 = getenv('V2V_PREF') & suffix2 = getenv('V2V_SUFF')
+;
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_ts_AMOC_'+prefix
+ if prefix NE prefix2 then filename = filename + '_'+prefix2
+ if KEYWORD_SET(postscript) then openps, filename+'_1.ps', portrait = 1
+;
+ d1_d2 = '('+strtrim(date1, 1)+' - '+strtrim(date2, 1)+')'
+ d1_d2_2 = '('+strtrim(date1_2, 1)+' - '+strtrim(date2_2, 1)+')'
+;
+ iodir = std_iodir_data
+
+; compute the MSF
+
+ std_ts_read_AMOC, vV1, date1, date2, prefix, suffix, t45, t70, t50
+ if prefix NE prefix2 then begin
+ tsave = time
+ std_ts_read_AMOC, vV2, date1_2, date2_2, prefix2, suffix2, t45_2, t70_2, t50_2
+ time = tsave & IF n_elements(time) NE jpt THEN stop
+ ENDIF
+
+; plots...
+
+ title = prefix+' '+d1_d2+'!C'+'Max Atlantic MOC between 40N and 50N'
+ pltt, t45, 't', 0., 30., date1, date2, /REMPLI, /PORTRAIT $
+ , small = [1, 2, 1], TITLE = title, YTITLE = varunit, _extra = ex
+ IF prefix NE prefix2 then begin
+ title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+'Max Atlantic MOC between 40N and 50N'
+ pltt, t45 - t45_2, 't', -9., 9., date1, date2, /REMPLI, /NOERASE $
+ , COLOR = 250, small = [1, 2, 2], TITLE = title, YTITLE = varunit, _extra = ex
+ endif
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+ if KEYWORD_SET(postscript) then openps, filename+'_2.ps', portrait = 1
+
+ title = prefix+' '+d1_d2+'!C'+'Max AntArctic Bottom Water between 80S and 65S '+d1_d2
+ pltt, -t70, 't', 0., 20., date1, date2, /REMPLI, /PORTRAIT, window = 2 $
+ , small = [1, 2, 1], TITLE = title, YTITLE = varunit, _extra = ex
+ if prefix NE prefix2 then begin
+ title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+'Max AntArctic Bottom Water between 80S and 65S'
+ pltt, -t70 + t70_2, 't', -5., 5., date1, date2, /REMPLI, /NOERASE $
+ , COLOR = 250, small = [1, 2, 2], TITLE = title, YTITLE = varunit, _extra = ex
+ endif
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+ if KEYWORD_SET(postscript) then openps, filename+'_3.ps', portrait = 1
+
+ title = prefix+' '+d1_d2+'!C'+'Max AntArctic Bottom Cell between 65S and 30N '+d1_d2
+ pltt, -t50, 't', 5., 30., date1, date2, /REMPLI, /PORTRAIT, window = 3 $
+ , small = [1, 2, 1], TITLE = title, YTITLE = varunit, _extra = ex
+ if prefix NE prefix2 then begin
+ title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+'Max AntArctic Bottom Cell between 65S and 30N'
+ pltt, -t50 + t50_2, 't', -5., 5., date1, date2, /REMPLI, /NOERASE $
+ , COLOR = 250, small = [1, 2, 2], TITLE = title, YTITLE = varunit, _extra = ex
+ endif
+
+ domdef, 0, jpk-1, /zindex
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_Drake.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_Drake.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_Drake.pro (revision 2751)
@@ -0,0 +1,69 @@
+pro std_ts_Drake, masknp, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+; get exp1 info
+ vU1 = getenv('VAR1_U') & prefix = getenv('V1U_PREF') & suffix = getenv('V1U_SUFF')
+; get exp2 info
+ vU2 = getenv('VAR2_U') & prefix2 = getenv('V2U_PREF') & suffix2 = getenv('V2U_SUFF')
+;
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_ts_Drake_'+prefix
+ if prefix NE prefix2 then filename = filename + '_'+prefix2
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+;
+ d1_d2 = '('+strtrim(date1, 1)+' - '+strtrim(date2, 1)+')'
+;
+ iodir = std_iodir_data
+
+; find a point in south America (around 60E-30S)
+ if max(glamt) gt 300 then testlam = abs(glamt - 300) else testlam = abs(glamt + 60)
+ testlat = abs(gphit + 30)
+ index = where(abs(testlam - min(testlam)) lt 1 and abs(testlat - min(testlat)) lt 1 )
+ xindex = index[0] mod jpi
+ yindex = index[0]/jpi
+; define a domain limited to a thin band going from Antactica to this point in south America
+ domdef, xindex, xindex+1, 0, yindex, 0, jpk-1, /index ; keep 2 points for x to avoid degenerated dimension...
+;
+ u1 = rseries_ncdf(vU1, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec, /nostruct)
+ drk1 = fltarr(jpt)
+ trans = strlowcase(getenv('VAR1_U')) EQ 'uocetr_eff'
+ FOR t = 0, jpt-1 DO BEGIN
+ tmp = bsf(u1[*, *, *, t], TRANSPORT = trans, /nostruct)
+ drk1[t] = tmp[0, nyt-1]-tmp[0, 0]
+ ENDFOR
+;
+ title = prefix+' '+d1_d2+'!C'+blabla
+ pltt, drk1, 't', 0., 200., date1, date2, /REMPLI $
+ , small = [1, 2, 1], TITLE = title, YTITLE = varunit, /PORTRAIT, _extra = ex
+
+ if prefix NE prefix2 then begin
+;
+ d1_d2_2 = '('+strtrim(date1_2, 1)+' - '+strtrim(date2_2, 1)+')'
+ tsave = time
+ u2 = rseries_ncdf(vU2, date1_2, date2_2, prefix2, suffix2, FIRSTONLY = 1 - allrec, /nostruct)
+ drk2 = fltarr(jpt)
+ trans = strlowcase(getenv('VAR2_U')) EQ 'uocetr_eff'
+ FOR t = 0, jpt-1 DO BEGIN
+ tmp = bsf(u2[*, *, *, t], TRANSPORT = trans, /nostruct)
+ drk2[t] = tmp[0, nyt-1]-tmp[0, 0]
+ ENDFOR
+ time = tsave & IF n_elements(time) NE jpt THEN stop
+
+ title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+blabla
+ pltt, drk1 - drk2, 't', -30., 30., date1, date2, /REMPLI, /NOERASE $
+ , COLOR = 250, small = [1, 2, 2], TITLE = title, YTITLE = varunit, _extra = ex
+
+ endif
+
+ domdef
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_EMP.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_EMP.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_EMP.pro (revision 2751)
@@ -0,0 +1,51 @@
+pro std_ts_EMP, masknp, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+; get exp1 info
+ vemp = getenv('VAR1_EMP') & prefix = getenv('V1EMP_PREF') & suffix = getenv('V1EMP_SUFF')
+; get exp2 info
+ vemp2 = getenv('VAR2_EMP') & prefix2 = getenv('V2EMP_PREF') & suffix2 = getenv('V2EMP_SUFF')
+;
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_ts_EMP_'+prefix
+ if prefix NE prefix2 then filename = filename + '_'+prefix2
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ d1_d2 = '('+strtrim(date1, 1)+' - '+strtrim(date2, 1)+')'
+;
+ iodir = std_iodir_data
+;
+ surf_oce = e1t * e2t * tmask[*,*,0] * masknp
+ surf_oce = total(surf_oce)
+;
+ ts_EMP = rseries_ncdf(vemp, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec, direc = 'xy', mask2d = masknp)
+ ts_EMP.arr = ts_EMP.arr * ( 1.E-09 * surf_oce ) & ts_EMP.unit = 'Sv'
+ title = prefix+' '+d1_d2+'!C'+blabla
+ pltt, ts_EMP, 't', -.001, .001, date1, date2, /REMPLI $
+ , small = [1, 2, 1], YTITLE = 'Sv', TITLE = title, /PORTRAIT, _extra = ex
+
+ IF prefix NE prefix2 THEN BEGIN
+
+ d1_d2_2 = '('+strtrim(date1_2, 1)+' - '+strtrim(date2_2, 1)+')'
+ tsave = time
+ ts_EMP2 = rseries_ncdf(vemp2, date1_2, date2_2, prefix2, suffix2, FIRSTONLY = 1 - allrec, direc = 'xy', mask2d = masknp)
+ ts_EMP2.arr = ts_EMP2.arr * ( 1.E-09 * surf_oce ) & ts_EMP2.unit = 'Sv'
+ time = tsave & IF n_elements(time) NE jpt THEN stop
+
+ title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+blabla
+ pltt, ts_EMP.arr - ts_EMP2.arr, 't', -.001, .001, date1, date2, /REMPLI $
+ , color = 250, small = [1, 2, 2], YTITLE = 'Sv', TITLE = title, /noerase, _extra = ex
+
+ ENDIF
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
+
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_ICE.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_ICE.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_ICE.pro (revision 2751)
@@ -0,0 +1,73 @@
+pro std_ts_ICE, masknp, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+; get exp1 info
+ vICE1 = getenv('VAR1_ICE') & prefix = getenv('V1ICE_PREF') & suffix = getenv('V1ICE_SUFF')
+; get exp2 info
+ vICE2 = getenv('VAR2_ICE') & prefix2 = getenv('V2ICE_PREF') & suffix2 = getenv('V2ICE_SUFF')
+;
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_ts_AMOC_'+prefix
+ if prefix NE prefix2 then filename = filename + '_'+prefix2
+ if KEYWORD_SET(postscript) then openps, filename+'_1.ps', portrait = 1
+;
+ d1_d2 = '('+strtrim(date1, 1)+' - '+strtrim(date2, 1)+')'
+;
+ iodir = std_iodir_data
+
+ domdef, 0, jpi-1, 30, 90, /xindex
+ ICE_N = rseries_ncdf(vICE1, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec, direc = 'xy', /integration, mask2d = masknp)
+ ICE_N.arr = ICE_N.arr * 1.e-12 & ICE_N.unit = '10^12 m^2'
+ domdef, 0, jpi-1, -90, -30, /xindex
+ ICE_S = rseries_ncdf(vICE1, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec, direc = 'xy', /integration, mask2d = masknp)
+ ICE_S.arr = ICE_S.arr * 1.e-12 & ICE_S.unit = '10^12 m^2'
+
+ title = prefix+' '+d1_d2+'!C'+'Global Annual Mean Ice Area (North. Hemisp.)'
+ pltt, ICE_N, 't', 0., 15., date1, date2, /REMPLI, /PORTRAIT $
+ , small = [1, 2, 1], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex
+
+ title = prefix+' '+d1_d2+'!C'+'Global Annual Mean Ice Area (South. Hemisp.)'
+ pltt, ICE_S, 't', 0., 15., date1, date2, /REMPLI, /NOERASE $
+ , small = [1, 2, 2], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ if prefix NE prefix2 then BEGIN
+
+ d1_d2_2 = '('+strtrim(date1_2, 1)+' - '+strtrim(date2_2, 1)+')'
+
+ tsave = time
+ domdef, 0, jpi-1, 30, 90, /xindex
+ ICE_N2 = rseries_ncdf(vICE2, date1_2, date2_2, prefix2, suffix2, FIRSTONLY = 1 - allrec, direc = 'xy', /integration, mask2d = masknp)
+ ICE_N2.arr = ICE_N2.arr * 1.e-12 & ICE_N2.unit = '10^12 m^2'
+ domdef, 0, jpi-1, -90, -30, /xindex
+ ICE_S2 = rseries_ncdf(vICE2, date1_2, date2_2, prefix2, suffix2, FIRSTONLY = 1 - allrec, direc = 'xy', /integration, mask2d = masknp)
+ ICE_S2.arr = ICE_S2.arr * 1.e-12 & ICE_S2.unit = '10^12 m^2'
+ time = tsave & IF n_elements(time) NE jpt THEN stop
+
+ if KEYWORD_SET(postscript) then openps, filename+'_2.ps', portrait = 1
+
+ title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+'Global Annual Mean Ice Area (North. Hemisp.)'
+ pltt, ICE_N.arr - ICE_N2.arr, 't', -2., 2., date1, date2, /REMPLI, /PORTRAIT, window = 2 $
+ , COLOR = 250, small = [1, 2, 1], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex
+
+ title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+'Global Annual Mean Ice Area (South. Hemisp.)'
+ pltt, ICE_S.arr - ICE_S2.arr, 't', -2., 2., date1, date2, /REMPLI, /NOERASE $
+ , COLOR = 250, small = [1, 2, 2], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ endif
+
+ domdef
+
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_Q.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_Q.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_Q.pro (revision 2751)
@@ -0,0 +1,46 @@
+pro std_ts_Q, masknp, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+; get exp1 info
+ vq = getenv('VAR1_Q') & prefix = getenv('V1Q_PREF') & suffix = getenv('V1Q_SUFF')
+; get exp2 info
+ vq2 = getenv('VAR2_Q') & prefix2 = getenv('V2Q_PREF') & suffix2 = getenv('V2Q_SUFF')
+;
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_ts_Q_'+prefix
+ if prefix NE prefix2 then filename = filename + '_'+prefix2
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ d1_d2 = '('+strtrim(date1, 1)+' - '+strtrim(date2, 1)+')'
+;
+ iodir = std_iodir_data
+;
+ ts_Q = rseries_ncdf(vq, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec, direc = 'xy', mask2d = masknp)
+ title = prefix+' '+d1_d2+'!C'+blabla
+ pltt, ts_Q, 't', -4, 4, date1, date2, /REMPLI $
+ , small = [1, 2, 1], YTITLE = varunit, TITLE = title, /PORTRAIT, _extra = ex
+
+ IF prefix NE prefix2 THEN BEGIN
+
+ d1_d2_2 = '('+strtrim(date1_2, 1)+' - '+strtrim(date2_2, 1)+')'
+ tsave = time
+ ts_Q2 = rseries_ncdf(vq2, date1_2, date2_2, prefix2, suffix2, FIRSTONLY = 1 - allrec, direc = 'xy', mask2d = masknp)
+ time = tsave & IF n_elements(time) NE jpt THEN stop
+
+ title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+blabla
+ pltt, ts_Q.arr - ts_Q2.arr, 't', -4., 4., date1, date2, /REMPLI $
+ , color = 250, small = [1, 2, 2], YTITLE = varunit, TITLE = title, /noerase, _extra = ex
+
+ ENDIF
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
+
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_S.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_S.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_S.pro (revision 2751)
@@ -0,0 +1,85 @@
+pro std_ts_S, masknp, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+; get exp1 info
+ vsal = getenv('VAR1_S') & prefix = getenv('V1S_PREF') & suffix = getenv('V1S_SUFF')
+ vssh = getenv('VAR1_SSH') & sshprefix = getenv('V1SSH_PREF') & sshsuffix = getenv('V1SSH_SUFF')
+; get exp2 info
+ vsal2 = getenv('VAR2_S') & prefix2 = getenv('V2S_PREF') & suffix2 = getenv('V2S_SUFF')
+ vssh2 = getenv('VAR2_SSH') & sshprefix2 = getenv('V2SSH_PREF') & sshsuffix2 = getenv('V2SSH_SUFF')
+;
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_ts_S_'+prefix
+ if prefix NE prefix2 then filename = filename + '_'+prefix2
+ if KEYWORD_SET(postscript) then openps, filename+'_1.ps', portrait = 1
+
+ d1_d2 = '('+strtrim(date1, 1)+' - '+strtrim(date2, 1)+')'
+
+; read levitus data
+ std_file_Levitus_S = isafile(getenv('FILE_SAL_3D'), title = 'Levitus_S', iodir = std_iodir_climato)
+ Lev = read_ncdf(getenv('VAR_SAL_3D'), filename = std_file_Levitus_S, /nostruct )
+ Lev_xyz = moyenne(Lev, 'xyz', mask2d = masknp)
+ levz = moyenne(temporary(Lev), 'xy', mask2d = masknp, /KEEPBOTTOM)
+;
+ iodir = std_iodir_data
+;
+
+; read exp1 data
+ std_ts_read, vsal, date1, date2, prefix, suffix, ts_Sal, ts_z $
+ , WITHSSH = vssh, SSHPREFIX = sshprefix, SSHSUFFIX = sshsuffix, LEVZ = levz
+
+ title = prefix+'!C'+blabla+' '+d1_d2
+ pltt, ts_Sal, 't', 34.54, 34.76, date1, date2, /REMPLI $
+ , small = [1, 2, 1], YTITLE = varunit, TITLE = title, /PORTRAIT, _extra = ex
+
+ title = prefix+' - Levitus!C'+blabla+' '+d1_d2
+ pltt, ts_Sal - Lev_xyz, 't', -.05, .05, date1, date2, /REMPLI $
+ , small = [1, 2, 2], YTITLE = varunit, TITLE = title, /NOERASE, _extra = ex
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+ if KEYWORD_SET(postscript) then openps, filename+'_2.ps', portrait = 1
+
+ title = prefix+' - Levitus!C ZT-plot (0-1500m) '+blabla+' '+d1_d2
+ pltt, ts_z, 'zt', -.5, .5, INTER = .05, date1, date2, /REMPLI, style = 'so0so' $
+ , small = [1, 2, 1], YTITLE = varunit, TITLE = title, boxzoom = 1500., /portrait, window = 1, _extra = ex
+
+ title = prefix+' - Levitus!C ZT-plot (0-6000m) '+blabla+' '+d1_d2
+ pltt, ts_z, 'zt', -.5, .5, INTER = .05, date1, date2, /REMPLI, style = 'so0so' $
+ , small = [1, 2, 2], YTITLE = varunit, TITLE = title, boxzoom = 6000., /NOERASE, _extra = ex
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ IF prefix NE prefix2 THEN BEGIN
+
+ d1_d2_2 = '('+strtrim(date1_2, 1)+' - '+strtrim(date2_2, 1)+')'
+; read exp2 data
+ tsave = time
+ std_ts_read, vsal2, date1_2, date2_2, prefix2, suffix2, ts_Sal2, ts_z2 $
+ , WITHSSH = vssh2, SSHPREFIX = sshprefix2, SSHSUFFIX = sshsuffix2, LEVZ = levz
+ time = tsave & IF n_elements(time) NE jpt THEN stop
+
+ if KEYWORD_SET(postscript) then openps, filename+'_3.ps', portrait = 1
+
+ title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+blabla
+ pltt, ts_Sal - ts_Sal2, 't', -0.1, 0.1, date1, date2, /REMPLI $
+ , COLOR = 250, small = [1, 2, 1], YTITLE = varunit, TITLE = title, /PORTRAIT, window = 2, _extra = ex
+
+ title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C ZT-plot (0-6000m) '+blabla
+ pltt, ts_z - ts_z2, 'zt', -0.1, 0.1, INTER = .01, date1, date2, /REMPLI, style = 'so0so' $
+ , small = [1, 2, 2], YTITLE = varunit, TITLE = title, boxzoom = 6000., /NOERASE, _extra = ex
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ ENDIF
+
+ return
+end
+
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_SSH.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_SSH.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_SSH.pro (revision 2751)
@@ -0,0 +1,48 @@
+pro std_ts_SSH, masknp, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+; get exp1 info
+ vssh = getenv('VAR1_SSH') & prefix = getenv('V1SSH_PREF') & suffix = getenv('V1SSH_SUFF')
+; get exp2 info
+ vssh2 = getenv('VAR2_SSH') & prefix2 = getenv('V2SSH_PREF') & suffix2 = getenv('V2SSH_SUFF')
+;
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_ts_SSH_'+prefix
+ if prefix NE prefix2 then filename = filename + '_'+prefix2
+ if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1
+
+ d1_d2 = '('+strtrim(date1, 1)+' - '+strtrim(date2, 1)+')'
+;
+ iodir = std_iodir_data
+;
+ ts_SSH = rseries_ncdf(vssh, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec, direc = 'xy', mask2d = masknp)
+ ts_SSH.arr = ts_SSH.arr * 100 & ts_SSH.unit = 'cm'
+ title = prefix+' '+d1_d2+'!C'+blabla
+ pltt, ts_SSH, 't', -.1, .1, date1, date2, /REMPLI $
+ , small = [1, 2, 1], YTITLE = 'cm', TITLE = title, /PORTRAIT, _extra = ex
+
+ IF prefix NE prefix2 THEN BEGIN
+
+ d1_d2_2 = '('+strtrim(date1_2, 1)+' - '+strtrim(date2_2, 1)+')'
+ tsave = time
+ ts_SSH2 = rseries_ncdf(vssh2, date1_2, date2_2, prefix2, suffix2, FIRSTONLY = 1 - allrec, direc = 'xy', mask2d = masknp)
+ ts_SSH2.arr = ts_SSH2.arr * 100 & ts_SSH2.unit = 'cm'
+ time = tsave & IF n_elements(time) NE jpt THEN stop
+
+ title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+blabla
+ pltt, ts_SSH.arr - ts_SSH2.arr, 't', -.1, .1, date1, date2, /REMPLI $
+ , color = 250, small = [1, 2, 2], YTITLE = 'cm', TITLE = title, /noerase, _extra = ex
+
+ ENDIF
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ return
+end
+
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_T.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_T.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_T.pro (revision 2751)
@@ -0,0 +1,84 @@
+pro std_ts_T, masknp, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+; get exp1 info
+ vtemp = getenv('VAR1_T') & prefix = getenv('V1T_PREF') & suffix = getenv('V1T_SUFF')
+ vssh = getenv('VAR1_SSH') & sshprefix = getenv('V1SSH_PREF') & sshsuffix = getenv('V1SSH_SUFF')
+; get exp2 info
+ vtemp2 = getenv('VAR2_T') & prefix2 = getenv('V2T_PREF') & suffix2 = getenv('V2T_SUFF')
+ vssh2 = getenv('VAR2_SSH') & sshprefix2 = getenv('V2SSH_PREF') & sshsuffix2 = getenv('V2SSH_SUFF')
+;
+ cdti3 = string(cnt, format = '(i3.3)')
+ print, cdti3 + ') ' + blabla
+ filename = cdti3 + '_ts_T_'+prefix
+ if prefix NE prefix2 then filename = filename + '_'+prefix2
+ if KEYWORD_SET(postscript) then openps, filename+'_1.ps', portrait = 1
+
+ d1_d2 = '('+strtrim(date1, 1)+' - '+strtrim(date2, 1)+')'
+
+; read levitus data
+ std_file_Levitus_T = isafile(getenv('FILE_TEMP_3D'), title = 'Levitus_T', iodir = std_iodir_climato)
+ Lev = read_ncdf(getenv('VAR_TEMP_3D'), filename = std_file_Levitus_T, /nostruct )
+ Lev_xyz = moyenne(Lev, 'xyz', mask2d = masknp)
+ levz = moyenne(temporary(Lev), 'xy', mask2d = masknp, /KEEPBOTTOM)
+;
+ iodir = std_iodir_data
+;
+
+; read exp1 data
+ std_ts_read, vtemp, date1, date2, prefix, suffix, ts_Temp, ts_z $
+ , WITHSSH = vssh, SSHPREFIX = sshprefix, SSHSUFFIX = sshsuffix, LEVZ = levz
+
+ title = prefix+' '+d1_d2+'!C'+blabla
+ pltt, ts_Temp, 't', 1., 4.5, date1, date2, /REMPLI $
+ , small = [1, 2, 1], YTITLE = varunit, TITLE = title, /PORTRAIT, _extra = ex
+
+ title = prefix+' '+d1_d2+' - Levitus!C'+blabla
+ pltt, ts_Temp - Lev_xyz, 't', -1., 1., date1, date2, /REMPLI $
+ , small = [1, 2, 2], YTITLE = varunit, TITLE = title, /NOERASE, _extra = ex
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+ if KEYWORD_SET(postscript) then openps, filename+'_2.ps', portrait = 1
+
+ title = prefix+' '+d1_d2+' - Levitus!C ZT-plot (0-1500m) '+blabla
+ pltt, ts_z, 'zt', -2., 2., inter = .2, date1, date2, /REMPLI, style = 'so0so' $
+ , small = [1, 2, 1], YTITLE = varunit, TITLE = title, boxzoom = 1500., /portrait, window = 1, _extra = ex
+
+ title = prefix+' '+d1_d2+' - Levitus!C ZT-plot (0-6000m) '+blabla
+ pltt, ts_z, 'zt', -2., 2., inter = .2, date1, date2, /REMPLI, style = 'so0so' $
+ , small = [1, 2, 2], YTITLE = varunit, TITLE = title, boxzoom = 6000., /NOERASE, _extra = ex
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ IF prefix NE prefix2 THEN BEGIN
+
+ d1_d2_2 = '('+strtrim(date1_2, 1)+' - '+strtrim(date2_2, 1)+')'
+; read exp2 data
+ tsave = time
+ std_ts_read, vtemp2, date1_2, date2_2, prefix2, suffix2, ts_Temp2, ts_z2 $
+ , WITHSSH = vssh2, SSHPREFIX = sshprefix2, SSHSUFFIX = sshsuffix2, LEVZ = levz
+ time = tsave & IF n_elements(time) NE jpt THEN stop
+
+ if KEYWORD_SET(postscript) then openps, filename+'_3.ps', portrait = 1
+
+ title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+blabla
+ pltt, ts_Temp - ts_Temp2, 't', -1., 1., date1, date2, /REMPLI $
+ , COLOR = 250, small = [1, 2, 1], YTITLE = varunit, TITLE = title, /PORTRAIT, window = 2, _extra = ex
+
+ title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C ZT-plot (0-6000m) '+blabla
+ pltt, ts_z - ts_z2, 'zt', -1., 1., inter = .1, date1, date2, /REMPLI, style = 'so0so' $
+ , small = [1, 2, 2], YTITLE = varunit, TITLE = title, boxzoom = 6000., /NOERASE, _extra = ex
+
+ htmltxt = [ htmltxt, '
'+blabla, '
' ]
+ if KEYWORD_SET(postscript) then closeps
+
+ ENDIF
+
+ return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_all.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_all.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_all.pro (revision 2751)
@@ -0,0 +1,70 @@
+pro std_ts_all, doplot = doplot, _extra=ex
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+ PRINT, ''
+ PRINT, ' ############################################'
+ PRINT, ''
+ PRINT, ' plot of all TIME SERIES'
+ PRINT, ''
+ PRINT, ' ############################################'
+ PRINT, ''
+;
+ std_iodir_data = isadirectory(getenv('DIR_DATA'), title = 'path of data in NetCdf format')
+ std_iodir_climato = isadirectory(getenv('DIR_CLIMATO'), title = 'path of climatological data')
+ std_iodir_mask = isadirectory(getenv('DIR_MASK'), title = 'path of mask files (ex: subbasins)')
+; meshmask
+ std_file_mesh = isafile(getenv('FILE_MESH_MASK'), title = 'mesh_mask', iodir = std_iodir_mask)
+ std_file_msksub = isafile(getenv('FILE_MASK_SUBDOMAIN'), title = 'sub-bassin masks', iodir = std_iodir_mask)
+; load the grid
+ load_orca, std_file_mesh
+; reading variables
+ masknp = read_ncdf('tmaskutil', file = std_file_mesh, /nostruct, /cont_nofill)
+
+ date1 = long(getenv('DATE1')) & date2 = long(getenv('DATE2'))
+ date1_2 = long(getenv('DATE1_2')) & date2_2 = long(getenv('DATE2_2'))
+
+ allrec = 1 - keyword_set(long(getenv('READ_ONLY_FIRST_RECORD')))
+
+;#########################################################################
+;###################### STANDARD PLOTS ################################
+;#########################################################################
+
+ IF keyword_set(doplot) EQ 0 THEN doplot = 0
+
+; fixed color tabled
+ lct, 64
+ cnt = 0
+ htmltxt = ''
+;
+ cnt = cnt+1 & blabla = 'Global Mean Temperature'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_ts_T, masknp, POSTSCRIPT = postscript, _extra = ex
+;
+ cnt = cnt+1 & blabla = 'Global Mean Salinity'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_ts_S, masknp, POSTSCRIPT = postscript, _extra = ex
+;
+ cnt = cnt+1 & blabla = 'Global Mean SSH'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_ts_SSH, masknp, POSTSCRIPT = postscript, _extra = ex
+;
+ cnt = cnt+1 & blabla = 'Global Mean Q net'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_ts_Q, masknp, POSTSCRIPT = postscript, _extra = ex
+;
+ cnt = cnt+1 & blabla = 'Global Mean EMP'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_ts_EMP, masknp, POSTSCRIPT = postscript, _extra = ex
+;
+ cnt = cnt+1 & blabla = 'Drake Transport'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_ts_Drake, masknp, POSTSCRIPT = postscript, _extra = ex
+;
+ cnt = cnt+1 & blabla = 'Max AMOC'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_ts_AMOC, masknp, POSTSCRIPT = postscript, _extra = ex
+;
+ cnt = cnt+1 & blabla = 'Sea-Ice cover'
+ IF doplot EQ cnt OR doplot EQ 0 THEN std_ts_ICE, masknp, POSTSCRIPT = postscript, _extra = ex
+
+ IF n_elements(htmltxt) GT 1 THEN putfile, psdir+'std_ts_html_body.txt', htmltxt[1:*]
+
+ return
+END
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_read.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_read.pro (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_read.pro (revision 2751)
@@ -0,0 +1,44 @@
+PRO std_ts_read, var_name, dt1, dt2, prefix, suffix, ts, ts_z $
+ , WITHSSH = withssh, SSHPREFIX = sshprefix, SSHSUFFIX = sshsuffix, LEVZ = levz
+
+ compile_opt idl2, strictarrsubs
+
+@common
+@std_common
+
+
+ list = rseries_ncdf(var_name, dt1, dt2, prefix, suffix, /fileslist)
+ nfiles = n_elements(list)
+ IF keyword_set(withssh) THEN BEGIN
+ sshlist = rseries_ncdf(withssh, dt1, dt2, sshprefix, sshsuffix, /fileslist)
+ IF nfiles NE n_elements(sshlist) THEN stop
+ ENDIF
+
+ ts = 0.
+ ts_Time = 0.
+ ts_z = fltarr(jpk)
+
+ FOR i = 0, nfiles-1 DO BEGIN
+ IF keyword_set(withssh) THEN ssh = read_ncdf(withssh, allrecords = allrec, filename = sshlist[i], /nostruct)
+ var = read_ncdf(var_name, allrecords = allrec, filename = list[i], /nostruct)
+ ts_Time = [ ts_Time, Time]
+;
+ IF jpt EQ 1 THEN txyz = moyenne(var, 'xyz', mask2d = masknp, ssh = ssh) $
+ ELSE txyz = grossemoyenne(var, 'xyz', mask2d = masknp, ssh = ssh)
+ ts = [ ts, txyz ]
+;
+ IF jpt EQ 1 THEN tz = moyenne(temporary(var), 'xy', mask2d = masknp, ssh = ssh, /KEEPBOTTOM) $
+ ELSE tz = grossemoyenne(temporary(var), 'xy', mask2d = masknp, ssh = ssh, /KEEPBOTTOM)
+ IF keyword_set(levz) THEN ts_z = [ [ts_z], [tz - (levz[*] # replicate(1., jpt))] ] $
+ ELSE ts_z = [ [ts_z], [tz] ]
+ ENDFOR
+
+ time = ts_Time[1:*] ; remove first record of 0
+ jpt = n_elements(time)
+
+ ts = ts[1:*] ; remove first record of 0
+ ts_z = ts_z[*, 1:*] ; remove first record of 0
+
+
+return
+end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_vardef.sh_example1
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_vardef.sh_example1 (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_vardef.sh_example1 (revision 2751)
@@ -0,0 +1,110 @@
+#!/bin/sh
+#
+# AUTHOR - date
+# ===========
+# Sebastien Masson - 04/2011 - LOCEAN
+#
+# DESCRIPTION
+# ===========
+# define all varibles needed by std_ts.sh and std_ts.pro
+#
+# EXAMPLES
+# ========
+# $ . ./std_plots_vardef.sh
+#
+#
+#===================== User PATHS =====================
+#
+idl_command=/Applications/itt/idl64/bin/idl
+#
+PS_DIR=$( pwd )/ps_core_tmx
+PDF_DIR=$( pwd )/pdf_core_tmx
+HTML_DIR=$( pwd )/html_core_tmx
+SAXO_DIR=/Users/smasson/SAXO_DIR
+#
+DIR_DATA=/Users/smasson/tmp/idlorca2/res # path of data in NetCDF format
+DIR_CLIMATO=/Users/smasson/tmp/idlorca2/clim # path of climatological data
+DIR_MASK=/Users/smasson/tmp/idlorca2/clim # path of mask files (ex: subbasins)
+#
+#===================== Model GRID =====================
+#
+FILE_MESH_MASK=/Users/smasson/data/vp33beta_mesh_mask_7.nc # meshmask
+FILE_MASK_SUBDOMAIN=subbasins_orca21_nored.nc # sub-bassin masks
+#
+#===================== DATA =====================
+#
+VAR_TEMP_3D=votemper ; FILE_TEMP_3D=data_1y_potential_temperature_nomask.nc # Levitus_T
+VAR_SAL_3D=vosaline ; FILE_SAL_3D=data_1y_salinity_nomask.nc # Levitus_S
+VAR_SST=sst ; FILE_SST=NewREY_ORCA2_1991_2000_1y.nc # Reynolds
+VAR_FLUX=qnet ; FILE_FLUX=OAFlux_1my_01_12_1984_2004_orca2_qnet.nc # flux
+VAR_MLD=mld ; FILE_MLD=mld_DR003_c1m_ORCA2_1y.nc # Mixed layer depth
+#
+# Geothermal heating -> define FILE_GEOHEAT to 'NO' if there is not such forcing
+# -> define VAR_GEOHEAT to a constant if geothermal heating is constant over the domain
+VAR_GEOHEAT=heatflow ; FILE_GEOHEAT=geothermal_heating.nc
+#
+#===================== EXP1 =====================
+#
+READ_ONLY_FIRST_RECORD=0 # if 0 then read all records in files else read only the first reacord in each file
+#
+DATE1=10101 ; DATE2=20001231
+#
+VAR1_T=thetao ; V1T_PREF=tmx_2000 ; V1T_SUFF=_1Y_grid_T.nc
+VAR1_S=so ; V1S_PREF=tmx_2000 ; V1S_SUFF=_1Y_grid_T.nc
+VAR1_SSH=zos ; V1SSH_PREF=tmx_2000 ; V1SSH_SUFF=_1Y_grid_T.nc
+VAR1_Q=qns+qsr ; V1Q_PREF=tmx_2000 ; V1Q_SUFF=_1Y_grid_T.nc
+VAR1_EMP=wfo ; V1EMP_PREF=tmx_2000 ; V1EMP_SUFF=_1Y_grid_T.nc
+VAR1_U=uoce_eff ; V1U_PREF=tmx_2000 ; V1U_SUFF=_1Y_grid_U.nc
+VAR1_V=voce_eff ; V1V_PREF=tmx_2000 ; V1V_SUFF=_1Y_grid_V.nc
+VAR1_ICE=sic ; V1ICE_PREF=tmx_2000 ; V1ICE_SUFF=_1Y_icemod.nc
+#
+#===================== EXP2 =====================
+#
+DATE1_2=10101 ; DATE2_2=20001231
+#
+VAR2_T=thetao ; V2T_PREF=core2000 ; V2T_SUFF=_1Y_grid_T.nc
+VAR2_S=so ; V2S_PREF=core2000 ; V2S_SUFF=_1Y_grid_T.nc
+VAR2_SSH=zos ; V2SSH_PREF=core2000 ; V2SSH_SUFF=_1Y_grid_T.nc
+VAR2_Q=qns+qsr ; V2Q_PREF=core2000 ; V2Q_SUFF=_1Y_grid_T.nc
+VAR2_EMP=wfo ; V2EMP_PREF=core2000 ; V2EMP_SUFF=_1Y_grid_T.nc
+VAR2_U=uoce_eff ; V2U_PREF=core2000 ; V2U_SUFF=_1Y_grid_U.nc
+VAR2_V=voce_eff ; V2V_PREF=core2000 ; V2V_SUFF=_1Y_grid_V.nc
+VAR2_ICE=sic ; V2ICE_PREF=core2000 ; V2ICE_SUFF=_1Y_icemod.nc
+#
+######################### Export Variables ###############################
+#
+#===================== User PATHS =====================
+export PS_DIR PDF_DIR HTML_DIR SAXO_DIR
+export DIR_DATA DIR_CLIMATO DIR_MASK
+#===================== Model GRID =====================
+export FILE_MESH_MASK FILE_MASK_SUBDOMAIN
+#===================== DATA =====================
+export FILE_TEMP_3D VAR_TEMP_3D
+export FILE_SAL_3D VAR_SAL_3D
+export FILE_SST VAR_SST
+export FILE_GEOHEAT VAR_GEOHEAT
+export FILE_FLUX VAR_FLUX
+export FILE_MLD VAR_MLD
+#===================== EXP1 =====================
+export READ_ONLY_FIRST_RECORD
+#
+export DATE1 DATE2
+export VAR1_T V1T_PREF V1T_SUFF
+export VAR1_S V1S_PREF V1S_SUFF
+export VAR1_SSH V1SSH_PREF V1SSH_SUFF
+export VAR1_Q V1Q_PREF V1Q_SUFF
+export VAR1_EMP V1EMP_PREF V1EMP_SUFF
+export VAR1_U V1U_PREF V1U_SUFF
+export VAR1_V V1V_PREF V1V_SUFF
+export VAR1_ICE V1ICE_PREF V1ICE_SUFF
+#===================== EXP2 =====================
+export DATE1_2 DATE2_2
+export VAR2_T V2T_PREF V2T_SUFF
+export VAR2_S V2S_PREF V2S_SUFF
+export VAR2_SSH V2SSH_PREF V2SSH_SUFF
+export VAR2_Q V2Q_PREF V2Q_SUFF
+export VAR2_EMP V2EMP_PREF V2EMP_SUFF
+export VAR2_U V2U_PREF V2U_SUFF
+export VAR2_V V2V_PREF V2V_SUFF
+export VAR2_ICE V2ICE_PREF V2ICE_SUFF
+#
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_vardef.sh_example2
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_vardef.sh_example2 (revision 2751)
+++ trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_vardef.sh_example2 (revision 2751)
@@ -0,0 +1,110 @@
+#!/bin/sh
+#
+# AUTHOR - date
+# ===========
+# Sebastien Masson - 04/2011 - LOCEAN
+#
+# DESCRIPTION
+# ===========
+# define all varibles needed by std_ts.sh and std_ts.pro
+#
+# EXAMPLES
+# ========
+# $ . ./std_plots_vardef.sh
+#
+#
+#===================== User PATHS =====================
+#
+idl_command=/Applications/itt/idl64/bin/idl
+#
+PS_DIR=$( pwd )/ps_tag33_tag331
+PDF_DIR=$( pwd )/pdf_tag33_tag331
+HTML_DIR=$( pwd )/html_tag33_tag331
+SAXO_DIR=/Users/smasson/SAXO_DIR
+#
+DIR_DATA=/Users/smasson/tmp/idlorca2/res # path of data in NetCDF format
+DIR_CLIMATO=/Users/smasson/tmp/idlorca2/clim # path of climatological data
+DIR_MASK=/Users/smasson/tmp/idlorca2/clim # path of mask files (ex: subbasins)
+#
+#===================== Model GRID =====================
+#
+FILE_MESH_MASK=/Users/smasson/data/vp33beta_mesh_mask_7.nc # meshmask
+FILE_MASK_SUBDOMAIN=subbasins_orca21_nored.nc # sub-bassin masks
+#
+#===================== DATA =====================
+#
+VAR_TEMP_3D=votemper ; FILE_TEMP_3D=data_1y_potential_temperature_nomask.nc # Levitus_T
+VAR_SAL_3D=vosaline ; FILE_SAL_3D=data_1y_salinity_nomask.nc # Levitus_S
+VAR_SST=sst ; FILE_SST=NewREY_ORCA2_1991_2000_1y.nc # Reynolds
+VAR_FLUX=qnet ; FILE_FLUX=OAFlux_1my_01_12_1984_2004_orca2_qnet.nc # flux
+VAR_MLD=mld ; FILE_MLD=mld_DR003_c1m_ORCA2_1y.nc # Mixed layer depth
+#
+# Geothermal heating -> define FILE_GEOHEAT to 'NO' if there is not such forcing
+# -> define VAR_GEOHEAT to a constant if geothermal heating is constant over the domain
+VAR_GEOHEAT=heatflow ; FILE_GEOHEAT=geothermal_heating.nc
+#
+#===================== EXP1 =====================
+#
+READ_ONLY_FIRST_RECORD=0 # if 0 then read all records in files else read only the first reacord in each file
+#
+DATE1=20010101 ; DATE2=21001231
+#
+VAR1_T=thetao ; V1T_PREF=tag33 ; V1T_SUFF=_1Y_grid_T.nc
+VAR1_S=so ; V1S_PREF=tag33 ; V1S_SUFF=_1Y_grid_T.nc
+VAR1_SSH=zos ; V1SSH_PREF=tag33 ; V1SSH_SUFF=_1Y_grid_T.nc
+VAR1_Q=qt ; V1Q_PREF=tag33 ; V1Q_SUFF=_1Y_grid_T.nc
+VAR1_EMP=wfo ; V1EMP_PREF=tag33 ; V1EMP_SUFF=_1Y_grid_T.nc
+VAR1_U=uocetr_eff ; V1U_PREF=tag33 ; V1U_SUFF=_1Y_grid_U.nc
+VAR1_V=vocetr_eff ; V1V_PREF=tag33 ; V1V_SUFF=_1Y_grid_V.nc
+VAR1_ICE=sic ; V1ICE_PREF=tag33 ; V1ICE_SUFF=_1Y_icemod.nc
+#
+#===================== EXP2 =====================
+#
+DATE1_2=20010101 ; DATE2_2=21001231
+#
+VAR2_T=thetao ; V2T_PREF=trunk331 ; V2T_SUFF=_1Y_grid_T.nc
+VAR2_S=so ; V2S_PREF=trunk331 ; V2S_SUFF=_1Y_grid_T.nc
+VAR2_SSH=zos ; V2SSH_PREF=trunk331 ; V2SSH_SUFF=_1Y_grid_T.nc
+VAR2_Q=qt ; V2Q_PREF=trunk331 ; V2Q_SUFF=_1Y_grid_T.nc
+VAR2_EMP=wfo ; V2EMP_PREF=trunk331 ; V2EMP_SUFF=_1Y_grid_T.nc
+VAR2_U=uocetr_eff ; V2U_PREF=trunk331 ; V2U_SUFF=_1Y_grid_U.nc
+VAR2_V=vocetr_eff ; V2V_PREF=trunk331 ; V2V_SUFF=_1Y_grid_V.nc
+VAR2_ICE=sic ; V2ICE_PREF=trunk331 ; V2ICE_SUFF=_1Y_icemod.nc
+#
+######################### Export Variables ###############################
+#
+#===================== User PATHS =====================
+export PS_DIR PDF_DIR HTML_DIR SAXO_DIR
+export DIR_DATA DIR_CLIMATO DIR_MASK
+#===================== Model GRID =====================
+export FILE_MESH_MASK FILE_MASK_SUBDOMAIN
+#===================== DATA =====================
+export FILE_TEMP_3D VAR_TEMP_3D
+export FILE_SAL_3D VAR_SAL_3D
+export FILE_SST VAR_SST
+export FILE_GEOHEAT VAR_GEOHEAT
+export FILE_FLUX VAR_FLUX
+export FILE_MLD VAR_MLD
+#===================== EXP1 =====================
+export READ_ONLY_FIRST_RECORD
+#
+export DATE1 DATE2
+export VAR1_T V1T_PREF V1T_SUFF
+export VAR1_S V1S_PREF V1S_SUFF
+export VAR1_SSH V1SSH_PREF V1SSH_SUFF
+export VAR1_Q V1Q_PREF V1Q_SUFF
+export VAR1_EMP V1EMP_PREF V1EMP_SUFF
+export VAR1_U V1U_PREF V1U_SUFF
+export VAR1_V V1V_PREF V1V_SUFF
+export VAR1_ICE V1ICE_PREF V1ICE_SUFF
+#===================== EXP2 =====================
+export DATE1_2 DATE2_2
+export VAR2_T V2T_PREF V2T_SUFF
+export VAR2_S V2S_PREF V2S_SUFF
+export VAR2_SSH V2SSH_PREF V2SSH_SUFF
+export VAR2_Q V2Q_PREF V2Q_SUFF
+export VAR2_EMP V2EMP_PREF V2EMP_SUFF
+export VAR2_U V2U_PREF V2U_SUFF
+export VAR2_V V2V_PREF V2V_SUFF
+export VAR2_ICE V2ICE_PREF V2ICE_SUFF
+#
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/time_series.sh
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/time_series.sh (revision 2750)
+++ (revision )
@@ -1,195 +1,0 @@
-#!/bin/sh
-#
-# AUTHOR - date
-# ===========
-# Simona Flavoni - 02/2010 - LOCEAN
-#
-# DESCRIPTION
-# ===========
-# Graphics outputs files are written in my_IDL/PS/ps_ts/.
-#
-# A global document with all plots in Postscript, PDF or HTML file can be produced.
-#
-# EXAMPLES
-# ========
-# $ ./time_series.sh -exp1 sEXP1 -exp2 sEXP2 -ystart year1 -yend year2 -format pdf
-#
-# PROBLEMS
-# ========
-# no batch processing possible because of SAXO interactiviy Seb is working on it ...
-#
-# TODO
-# ====
-# portability on linux
-# define overriding policy
-# finalize ps and pdf production
-#
-usage=" Usage : ${command} -exp1 exp1 -exp2 exp2 -ystart start -yend end -format pdf
- exp1 is your experience name
- exp2 is name of experience of reference
- ystart is the first year from which you want to compute Time Series
- yend is the last year for which you want to compute Time Series
- example: ./time_series.sh -exp1 core2000 -exp2 core2000 -ystart 1 -yend 2000 -format pdf "
-#
-minargcount=10
-if [ ${#} -lt ${minargcount} ]; then
- echo "Not enought arguments"
- echo "${usage}"
- exit 1
-fi
-#
-while [ ! -z "${1}" ] # ++ pb bash
-do
- case ${1} in
- -exp1) exp1=${2} shift ;;
- -exp2) exp2=${2} shift ;;
- -ystart) start=${2} shift ;;
- -yend) end=${2} shift ;;
- -format) format=${2} shift ;;
- -h)
- echo "${usage}"
- exit 0
- ;;
- *) # other choice
- echo "${usage}"
- exit 1
- ;;
- esac
- shift # next flag
-done
-#
-# ++ check parameters
-set -u
-#
-# define output directory for POSTCRIPT files
-#++ change directory
-psdir=/Users/sflod/TOOLS/my_IDL/PS/CLIMATO/ts_ps
-#psdir=/Users/sflod/TOOLS/my_IDL/PS/INTERAN/ts_ps
-pdfdir=/Users/sflod/TOOLS/my_IDL/PS/CLIMATO/ts_pdf
-#pdfdir=/Users/sflod/TOOLS/my_IDL/PS/INTERAN/ts_pdf
-htmldir=/Users/sflod/TOOLS/my_IDL/HTML
-# test if ${psdir} already exists
-if [ -d ${psdir} ]; then
- echo "${psdir} already exist"
- #+++exit 1
-else
- mkdir -p ${psdir}
-fi
-# test if ${pdfdir} already exists
-if [ -d ${pdfdir} ]; then
- echo "${psdir} already exist"
- #+++exit 1
-else
- mkdir -p ${pdfdir}
-fi
-
-# memorize current IDL_STARTUP file
-memo_idl_startup=${IDL_STARTUP}
-
-# generation of IDL commands file to launch several std_plots commands
-rm /tmp/time_series_multi.pro 2> /dev/null
-cat << EOF >> /tmp/time_series_multi.pro
- psdir='${psdir}'
- std_ts,'${exp1}','${exp2}',${start},${end},/postscript
- exit
-EOF
-#
-idl_command='/Applications/itt/idl64/bin/idl' # !! only on my mac
-#
-# check if IDL available
-type ${idl_command}
-status_type=${?}
-if [ ${status_type} -ne 0 ]
-then
- echo "eee : idl not found"
- exit 1
-fi
-# debug
-more /tmp/time_series_multi.pro
-#
-# launch IDL
-${idl_command} /tmp/time_series_multi.pro
-status_idl=${?}
-# test if idl returns ok
-# echo "iii : ${status_idl}"
-#
-# restore IDL_STARTUP file
-IDL_STARTUP=${memo_idl_startup}
-export IDL_STARTUP
-
-# produce the final document
-case ${format} in
- pdf)
- rm ${pdfdir}/all_ts.pdf 2> /dev/null
- echo "psdir: ${psdir}"
- for file in ${psdir}/*.ps ; do
- echo "ps2pdf"
- ps2pdf -sPAPERSIZE=a4 ${file}
- done
- ls ${pdfdir}
- mv *.pdf ${pdfdir}/.
- texexec --pdfarrange --result=/tmp/all_ts.pdf ${pdfdir}/*.pdf
- rm -rf *.aux *.log /tmp/*.log
- mv /tmp/all_ts.pdf ${pdfdir}/all_ts.pdf
-#commented because convert gives images of bad quality
-# convert ${psdir}/*.ps /tmp/all_ts.pdf
-# convert -resize 800x600 ${psdir}/${exp1}_${exp2}/ps/*.ps /tmp/all_ts.pdf
- ;;
- html)
- rm /tmp/time_series.html 2> /dev/null
-# check if convert available
- convert_command='/sw/bin/convert' # !! only on my mac
- type ${convert_command}
- status_type=${?}
- if [ ${status_type} -ne 0 ]
- then
- echo "eee : convert not found"
- exit 1
- fi
-# debug
-
- for file in `ls ${psdir}/*.ps | sed -e "s/\.ps//"` ; do
- ${convert_command} -antialias ${file}.ps ${file}.png
- done
- # creation of a HTML file
- cat << EOF > /tmp/time_series.html
-
-
-
-
-
-
-
-EOF
- cat /tmp/time_series.txt >> /tmp/time_series.html
- cat << EOF >> /tmp/time_series.html
-
-EOF
-
- cat << EOF >> /tmp/time_series.html
-
-
-
-EOF
- more /tmp/time_series.html
- ;;
- *)
- echo " format ${format} not implemented"
- exit 1
- ;;
-esac
-
- #
-#=====================
-# prepare to put images on dods
-# +++ to finish it
-#LOGIN=xxxx
-#Tag_Name=ORCA2_LIM2
-#rsh ${LOGIN}@gaya.idris.fr exec /bin/ksh < /dev/null 2>&1
-# /usr/local/bin/dods_cp ${exp1} DODS/pub/${LOGIN}/${Tag_Name}/CORE2/INTERAN/ts_pdf/${exp1} > /dev/null 2>&1
-#EOF
-#=====================
-# end
-exit 0
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_EMP.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_EMP.pro (revision 2750)
+++ (revision )
@@ -1,68 +1,0 @@
-pro ts_mean_EMP, sEXP1, sEXP2, year1, year2, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- @common
-
- @initorca2
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, sEXP1+'_EMP_mean.ps', portrait = 1
- endif
-
- ts_EMP = 0.
- ts_EMP2 = 0.
- ts_Time = 0.
-
- masknp = read_ncdf('tmaskutil', file = 'mesh_mask_partial.nc', /nostruct)
-
- for year=year1,year2 do begin
-
- date1 = year * 10000L + 101
- date2 = year * 10000L + 1231
- filename = getname(s_iodir_data,sEXP1,'1Y','grid_T',date1)
- filename2 = getname(s_iodir_data,sEXP2,'1Y','grid_T',date1)
-
- if filename eq '' then stop
- EMP = read_ncdf('wfo',date1 ,date2 , filename = filename, /nostruct)
- EMP2 = read_ncdf('wfo',date1 ,date2 , filename = filename2, /nostruct)
-
- ts_EMP = [ ts_EMP, moyenne(EMP, 'xy', mask2d = masknp)]
- ts_EMP2 = [ ts_EMP2, moyenne(EMP2, 'xy', mask2d = masknp)]
- ts_Time = [ ts_Time, Time] ; Time = date
-
- endfor
-
- surf_oce = e1t * e2t * tmask[*,*,0]
- surf_oce = total(surf_oce)
-
- ts_EMP = ts_EMP[1:*] ; remove first record of 0
- ts_EMP = ts_EMP * 1.E-09 * surf_oce ; to have Sv
-
- ts_EMP2 = ts_EMP2[1:*] ; remove first record of 0
- ts_EMP2 = ts_EMP2 * 1.E-09 * surf_oce ; to have Sv
-
- varunit= 'Sv'
- vol_oce = moyenne( replicate(1., jpi, jpj, jpk), /integration, 'xyz')
-
- Time = ts_Time[1:*] ; remove first record of 0
- jpt = n_elements(Time)
-
- title = sEXP1+' Global Annual EMP Budget (Sv) --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,ts_EMP,'t', -.01, 0.00, year1 * 10000L + 101, year2 * 10000L + 1231, /REMPLI $
- , small = [1,2,1], YTITLE = 'Sv', TITLE = title, /PORTRAIT, _extra = ex
-
- if sEXP2 ne sEXP1 then begin
-
- title = sEXP1+' - '+sEXP2+' Global Annual EMP Budget (Sv) --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,ts_EMP - ts_EMP2,'t', -.002, .002, year1 * 10000L + 101, year2 * 10000L + 1231, /REMPLI, /NOERASE $
- , COLOR = 250, small = [1,2,2], YTITLE = 'Sv', TITLE = title, /PORTRAIT, _extra = ex
- endif
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_ICE.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_ICE.pro (revision 2750)
+++ (revision )
@@ -1,102 +1,0 @@
-pro ts_mean_ICE, sEXP1, sEXP2, year1, year2, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- @common
-
- @initorca2
-
- std_iodir_climato = '/Users/sflod/idl_PLOTS/CLIMATOLOGIES/'
- std_iodir_interan = '/Users/sflod/idl_PLOTS/INTERAN/'
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, sEXP1+'_ice_area_mean.ps', portrait = 1
- endif
-
-
-
-;NORTHERN Hemisphere
- ts_ICE_N = 0.
- ts_ICE_N_2 = 0.
-
-;SOUTHERN Hemisphere
- ts_ICE_S = 0.
- ts_ICE_S_2 = 0.
-
- ts_Time = 0.
-
- masknp = read_ncdf('tmaskutil', file = 'mesh_mask_partial.nc', /nostruct)
-
- for year=year1,year2 do begin
- date1 = year * 10000L + 101
- date2 = year * 10000L + 1231
- filename = getname(s_iodir_data,sEXP1,'1M','icemod',date1)
- filename2 = getname(s_iodir_data,sEXP2,'1M','icemod',date1)
-
- if filename eq '' then stop
-
- domdef, 0, jpi-1, 30, 90, /xindex
-
-; computation of annual mean
- ICE_N = read_ncdf('sic',date1 ,date2 , filename = filename, /nostruct, dir = 't')
- ICE_N_2 = read_ncdf('sic',date1 ,date2 , filename = filename2, /nostruct, dir = 't')
-
- ts_ICE_N = [ ts_ICE_N, moyenne(ICE_N, 'xy', /integration, mask2d = masknp) ]
- ts_ICE_N_2 = [ ts_ICE_N_2, moyenne(ICE_N_2, 'xy', /integration, mask2d = masknp) ]
-
- domdef, 0, jpi-1, -30, -90, /xindex
-
- ICE_S = read_ncdf('sic',date1 ,date2 , filename = filename, /nostruct, dir = 't')
- ICE_S_2 = read_ncdf('sic',date1 ,date2 , filename = filename2, /nostruct, dir = 't')
-
- ts_ICE_S = [ ts_ICE_S, moyenne(ICE_S, 'xy', /integration, mask2d = masknp) ]
- ts_ICE_S_2 = [ ts_ICE_S_2, moyenne(ICE_s_2, 'xy', /integration, mask2d = masknp) ]
-
- ts_Time = [ ts_Time, Time] ; Time = date
-
- endfor
-
-; surf_oce = e1t[firstxt:lastxt,firstyt:lastyt] * e2t[firstxt:lastxt,firstyt:lastyt] * tmask[firstxt:lastxt,firstyt:lastyt,0]
-; surf_oce = total(surf_oce)
-
- ts_ICE_N = ts_ICE_N[1:*] ; remove first record of 0
- ts_ICE_N_2 = ts_ICE_N_2[1:*] ; remove first record of 0
- ts_ICE_N = ts_ICE_N * 1.E-12 ; remove first record of 0
- ts_ICE_N_2 = ts_ICE_N_2 * 1.E-12 ; remove first record of 0
-
- ts_ICE_S = ts_ICE_S[1:*] ; remove first record of 0
- ts_ICE_S_2 = ts_ICE_S_2[1:*] ; remove first record of 0
- ts_ICE_S = ts_ICE_S * 1.E-12 ; remove first record of 0
- ts_ICE_S_2 = ts_ICE_S_2 * 1.E-12 ; remove first record of 0
-
- Time = ts_Time[1:*] ; remove first record of 0
- jpt = n_elements(Time)
-
- title = sEXP1+' Global Annual Mean Ice Area (North. Hemisp.) --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt, ts_ICE_N, 't', 0., 15., year1 * 10000L + 101, year2 * 10000L + 1231, /REMPLI $
- , small = [1,2,1], YTITLE='10^12 m^2 ', TITLE = title, FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- title = sEXP1+' Global Annual Mean Ice Area (South. Hemisp.) --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt, ts_ICE_S, 't', 0., 15., year1 * 10000L + 101, year2 * 10000L + 1231, /REMPLI, /NOERASE $
- , small = [1,2,2], YTITLE='10^12 m^2 ', TITLE = title, FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- if sEXP2 ne sEXP1 then begin
- title = sEXP1+' - '+sEXP2+' Global Annual Mean Ice Area (North. Hemisp.) --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt, ts_ICE_N - ts_ICE_N_2 , 't', -2., 2., year1 * 10000L + 101, year2 * 10000L + 1231, /REMPLI $
- , COLOR = 250, small = [1,2,1], YTITLE='10^12 m^2 ', TITLE = title, FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- title = sEXP1+' - '+sEXP2+' Global Annual Mean Ice Area (South. Hemisp.) --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt, ts_ICE_S - ts_ICE_S_2, 't', -2., 2., year1 * 10000L + 101, year2 * 10000L + 1231, /REMPLI, /NOERASE $
- , COLOR = 250, small = [1,2,2], YTITLE='10^12 m^2 ', TITLE = title, FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- endif
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_Q.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_Q.pro (revision 2750)
+++ (revision )
@@ -1,62 +1,0 @@
-pro ts_mean_Q, sEXP1, sEXP2, year1, year2, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- @common
-
- @initorca2
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, sEXP1+'_Heat_mean.ps', portrait = 1
- endif
-
- ts_Heat = 0.
- ts_Heat2 = 0.
- ts_Time = 0.
-
- masknp = read_ncdf('tmaskutil', file = 'mesh_mask_partial.nc', /nostruct)
-
-
- for year=year1,year2 do begin
-
- date1 = year * 10000L + 101
- date2 = year * 10000L + 1231
- filename = getname(s_iodir_data,sEXP1,'1Y','grid_T',date1)
- filename2 = getname(s_iodir_data,sEXP2,'1Y','grid_T',date1)
-
- if filename eq '' then stop
- Heat = read_ncdf('qns+qsr',date1 ,date2 , filename = filename, /nostruct)
- Heat2 = read_ncdf('qns+qsr',date1 ,date2 , filename = filename2, /nostruct)
-
- ts_Heat = [ ts_Heat, moyenne(Heat, 'xy', mask2d = masknp)]
- ts_Heat2 = [ ts_Heat2, moyenne(Heat2, 'xy', mask2d = masknp)]
- ts_Time = [ ts_Time, Time] ; Time = date
-
- endfor
-
- ts_Heat = ts_Heat[1:*] ; remove first record of 0
- ts_Heat2 = ts_Heat2[1:*] ; remove first record of 0
- Time = ts_Time[1:*] ; remove first record of 0
-
- jpt = n_elements(Time)
-
- title = sEXP1+' Global Annual Mean Surface Heat Flux --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,ts_Heat,'t', -4., 4., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $
- , small = [1,2,1], YTITLE = 'W/m2', TITLE = title, FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- if sEXP2 ne sEXP1 then begin
-
- title = sEXP1+' - '+sEXP2+' Global Annual Mean Surface Heat Flux --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,ts_Heat - ts_Heat2,'t', -4., 4., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI, /NOERASE $
- , COLOR = 250, small = [1,2,2], YTITLE = 'W/m2', TITLE = title, FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- endif
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_S.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_S.pro (revision 2750)
+++ (revision )
@@ -1,105 +1,0 @@
-pro ts_mean_S, sEXP1, sEXP2, year1, year2, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- @common
-
- @initorca2
-
- std_iodir_climato = '/Users/sflod/idl_PLOTS/CLIMATOLOGIES/'
- std_iodir_interan = '/Users/sflod/idl_PLOTS/INTERAN/'
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, sEXP1+'_Salinity_mean.ps', portrait = 1
- endif
-
- filename = std_iodir_climato+'data_1y_salinity_nomask.nc'
- Lev = read_ncdf('vosaline', filename = filename, /nostruct )
- Lev_xyz = moyenne(Lev, 'xyz', mask2d = masknp)
- Lev_z = moyenne(Lev, 'xy', mask2d = masknp ,/KEEPBOTTOM)
-
- ts_Sal = 0.
- ts_Sal_2 = 0.
- ts_Sal_Lev = 0.
- ts_Sal_Lev_2 = 0.
- ts_Time = 0.
- ts_z = fltarr(jpk)
- ts_z_2 = fltarr(jpk)
-
- masknp = read_ncdf('tmaskutil', file = 'mesh_mask_partial.nc', /nostruct)
-
- for year=year1,year2 do begin
-
- date1 = year * 10000L + 101
- date2 = year * 10000L + 1231
- filename = getname(s_iodir_data,sEXP1,'1Y','grid_T',date1)
- filename2 = getname(s_iodir_data,sEXP2,'1Y','grid_T',date1)
-
- if filename eq '' then stop
- Sal = read_ncdf('so',date1 ,date2 , filename = filename, /nostruct)
- Sal_2 = read_ncdf('so',date1 ,date2 , filename = filename2, /nostruct)
- SSH = read_ncdf('zos',date1 ,date2 , filename = filename, /nostruct)
- SSH_2 = read_ncdf('zos',date1 ,date2 , filename = filename2, /nostruct)
-
- ts_Sal = [ ts_Sal, moyenne(Sal, 'xyz', mask2d = masknp, ssh = SSH) ]
- ts_Sal_2 = [ ts_Sal_2, moyenne(Sal_2, 'xyz', mask2d = masknp, ssh = SSH_2) ]
- ts_Sal_Lev = [ ts_Sal_Lev, moyenne(Sal, 'xyz', mask2d = masknp, ssh = SSH) - Lev_xyz ]
- ts_Sal_Lev_2 = [ ts_Sal_Lev_2, moyenne(Sal_2, 'xyz', mask2d = masknp, ssh = SSH_2) - Lev_xyz ]
- ts_Time = [ ts_Time, Time] ; Time = date
-
- ts_z = [ [ts_z], [moyenne(Sal, 'xy',/KEEPBOTTOM, mask2d = masknp, ssh = SSH)- Lev_z] ]
- ts_z_2 = [ [ts_z_2], [moyenne(Sal_2, 'xy',/KEEPBOTTOM, mask2d = masknp, ssh = SSH_2)- Lev_z] ]
-
- endfor
-
- ts_Sal = ts_Sal[1:*] ; remove first record of 0
- ts_Sal_2 = ts_Sal_2[1:*] ; remove first record of 0
- ts_Sal_Lev = ts_Sal_Lev[1:*] ; remove first record of 0
- ts_Sal_Lev_2 = ts_Sal_Lev_2[1:*] ; remove first record of 0
-
- ts_z = ts_z[*,1:*] ; remove first record of 0
- ts_z_2 = ts_z_2[*,1:*] ; remove first record of 0
-
- Time = ts_Time[1:*] ; remove first record of 0
- jpt = n_elements(Time)
-
-
- title = sEXP1+' Global Annual Mean Salinity --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt, ts_Sal, 't', 34.54, 34.76, INTER = .2, year1 * 10000L + 101, year2 * 10000L + 1231, /REMPLI $
- , small = [1,2,1], YTITLE='psu', TITLE = title, FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- title = sEXP1+' Global Annual Mean Salinity - Levitus --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt, ts_Sal_Lev, 't', -.05, .05, year1 * 10000L + 101, year2 * 10000L + 1231, /REMPLI $
- , small = [1,2,2], YTITLE='psu', TITLE = title, FORMAT = '(I3)', /NOERASE, _extra = ex
-
-;;;;;;;;;;;;;;;;; new page ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-ERASE
-
- title = sEXP1+' ZT-plot Salinity Mean (0-1500m) - Levitus --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,ts_z ,'zt', -.5, .5, INTER = .025, year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $
- , small = [1,2,1], YTITLE='psu', STYLE = 'so0so', TITLE = title, boxzoom = 1500., /PORTRAIT, _extra = ex
-
- title = sEXP1+' ZT-plot Salinity Mean (0-6000) - Levitus --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,ts_z,'zt', -.5, .5, INTER = .025, year1 * 10000L + 101, year2 * 10000L + 1231, /REMPLI $
- , small = [1,2,2], YTITLE='psu', STYLE = 'so0so', TITLE = title, boxzoom = 6000., zoom = 1500., /NOERASE, _extra = ex
-
-
-if sEXP2 ne sEXP1 then begin
-
-ERASE
-
- title = sEXP1+' - '+sEXP2+' Global Annual Mean Salinity --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt, ts_Sal - ts_Sal_2, 't', -1., 1., INTER = .2, year1 * 10000L + 101, year2 * 10000L + 1231, /REMPLI $
- , COLOR = 250, small = [1,2,1], YTITLE='psu', TITLE = title, FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
-endif
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_SSH.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_SSH.pro (revision 2750)
+++ (revision )
@@ -1,61 +1,0 @@
-pro ts_mean_SSH, sEXP1, sEXP2, year1, year2, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- @common
-
- @initorca2
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, sEXP1+'_SSH_mean.ps', portrait = 1
- endif
-
- ts_SSH = 0.
- ts_SSH2 = 0.
- ts_Time = 0.
-
- masknp = read_ncdf('tmaskutil', file = 'mesh_mask_partial.nc', /nostruct)
-
- for year=year1,year2 do begin
-
- date1 = year * 10000L + 101
- date2 = year * 10000L + 1231
- filename = getname(s_iodir_data,sEXP1,'1Y','grid_T',date1)
- filename2 = getname(s_iodir_data,sEXP2,'1Y','grid_T',date1)
-
- SSH = read_ncdf('zos',date1 ,date2 , filename = filename, /nostruct)
- SSH2 = read_ncdf('zos',date1 ,date2 , filename = filename2, /nostruct)
-
- ts_SSH = [ ts_SSH, moyenne(SSH, 'xy', mask2d = masknp)]
- ts_SSH2 = [ ts_SSH2, moyenne(SSH2, 'xy', mask2d = masknp)]
- ts_Time = [ ts_Time, Time] ; Time = date
-
- endfor
-
- ts_SSH = ts_SSH[1:*] ; remove first record of 0
- ts_SSH2 = ts_SSH2[1:*] ; remove first record of 0
- Time = ts_Time[1:*] ; remove first record of 0
-
- jpt = n_elements(Time)
-
- title = sEXP1+' Global Annual Mean SSH --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,ts_SSH,'t', -.001, .001, year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $
- , small = [1,2,1], YTITLE = 'm', TITLE = title, FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- if sEXP2 ne sEXP1 then begin
-
- title = sEXP1+' - '+sEXP2+' Global Annual Mean SSH --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt, ts_SSH - ts_SSH2,'t', -.0001, .0001, year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI, /NOERASE $
- , COLOR = 250, small = [1,2,2], YTITLE = 'm', TITLE = title, FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- endif
-
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_T.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_T.pro (revision 2750)
+++ (revision )
@@ -1,107 +1,0 @@
-pro ts_mean_T, sEXP1, sEXP2, year1, year2, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- @common
-
- @initorca2
-
- std_iodir_climato = '/Users/sflod/idl_PLOTS/CLIMATOLOGIES/'
-; std_iodir_interan = '/Users/sflod/idl_PLOTS/INTERAN/'
- std_iodir_data = '/Users/sflod/idl_PLOTS/INTERAN/mercure/'
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, sEXP1+'_Temperature_mean.ps', portrait = 1
- endif
-
- masknp = read_ncdf('tmaskutil', file = 'mesh_mask_partial.nc', /nostruct)
-
- filename = std_iodir_climato+'data_1y_potential_temperature_nomask.nc'
- Lev = read_ncdf('votemper', filename = filename, /nostruct )
- Lev_xyz = moyenne(Lev, 'xyz', mask2d = masknp)
- Lev_z = moyenne(Lev, 'xy', mask2d = masknp,/KEEPBOTTOM)
-
- ts_Temp = 0.
- ts_Temp_2 = 0.
- ts_Temp_Lev = 0.
- ts_Temp_Lev_2 = 0.
- ts_Time = 0.
- ts_z = fltarr(jpk)
- ts_z_2 = fltarr(jpk)
-
- for year=year1,year2 do begin
-
- date1 = year * 10000L + 101L
- date2 = year * 10000L + 1231L
-
-print,s_iodir_data
-
- filename = getname(s_iodir_data,sEXP1,'1Y','grid_T',date1)
- filename2 = getname(s_iodir_data,sEXP2,'1Y','grid_T',date1)
-
- if filename eq '' then stop
- Temp = read_ncdf('thetao',date1 ,date2 , filename = filename, /nostruct)
- Temp_2 = read_ncdf('thetao',date1 ,date2 , filename = filename2, /nostruct)
- SSH = read_ncdf('zos',date1 ,date2 , filename = filename, /nostruct)
- SSH_2 = read_ncdf('zos',date1 ,date2 , filename = filename2, /nostruct)
-
- ts_Temp = [ ts_Temp, moyenne(Temp, 'xyz', mask2d = masknp,ssh = SSH) ]
- ts_Temp_2 = [ ts_Temp_2, moyenne(Temp_2, 'xyz', mask2d = masknp,ssh = SSH_2) ]
- ts_Temp_Lev = [ ts_Temp_Lev, moyenne(Temp, 'xyz', mask2d = masknp,ssh = SSH) - Lev_xyz ]
- ts_Temp_Lev_2 = [ ts_Temp_Lev_2, moyenne(Temp_2, 'xyz', mask2d = masknp,ssh = SSH_2) - Lev_xyz ]
- ts_Time = [ ts_Time, Time] ; Time = date
-
- ts_z = [ [ts_z], [moyenne(Temp, 'xy', mask2d = masknp,/KEEPBOTTOM, ssh = SSH)- Lev_z] ]
- ts_z_2 = [ [ts_z_2], [moyenne(Temp_2, 'xy', mask2d = masknp,/KEEPBOTTOM, ssh = SSH_2)- Lev_z] ]
-
- endfor
-
- ts_Temp = ts_Temp[1:*] ; remove first record of 0
- ts_Temp_2 = ts_Temp_2[1:*] ; remove first record of 0
- ts_Temp_Lev = ts_Temp_Lev[1:*] ; remove first record of 0
- ts_Temp_Lev_2 = ts_Temp_Lev_2[1:*] ; remove first record of 0
- ts_z = ts_z[*,1:*] ; remove first record of 0
- ts_z_2 = ts_z_2[*,1:*] ; remove first record of 0
-
- Time = ts_Time[1:*] ; remove first record of 0
- jpt = n_elements(Time)
-
- title = sEXP1+' Global Annual Mean Temperature --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt, ts_Temp, 't', 1., 4.5, INTER = .5, year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $
- , small = [1,2,1], YTITLE='Deg C', TITLE = title, FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- title = sEXP1+' Global Annual Mean Temperature - Levitus --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,ts_Temp_Lev, 't', -1., 1., INTER = .25, year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $
- , small = [1,2,2], YTITLE='Deg C', TITLE = title, FORMAT = '(I3)', /NOERASE, _extra = ex
-
- ;;;;;;;;;;;;;;;;; new page ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-ERASE
-
- title = sEXP1+' ZT-plot Temperature Mean (0-1500m) - Levitus --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,ts_z ,'zt', -2., 2., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $
- , small = [1,2,1], YTITLE='Deg C', TITLE = title, boxzoom = 1500., /NOERASE, _extra = ex
-
- title = sEXP1+' ZT-plot Temperature Mean (0-6000m) - Levitus --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,ts_z ,'zt', -2., 2., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $
- , small = [1,2,2], YTITLE='Deg C', TITLE = title, boxzoom = 6000., /NOERASE, _extra = ex
-
-if sEXP2 ne sEXP1 then begin
-
-ERASE
-
- title = sEXP1+' - '+sEXP2+' Global Annual Mean Temperature --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt, ts_Temp - ts_Temp_2, 't', -1., 1., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $
- , COLOR = 250, small = [1,2,1], YTITLE='Deg C', TITLE = title, FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
-endif
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_U.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_U.pro (revision 2750)
+++ (revision )
@@ -1,77 +1,0 @@
-pro ts_mean_U, sEXP1, sEXP2, year1, year2, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
-
-
- compile_opt idl2, strictarrsubs
-
- @common
-
- @initorca2
-
- if max(glamt) gt 300 then testlam = abs(glamt - 300) else testlam = abs(glamt + 60)
-
- testlat = abs(gphit + 30)
-
- index=where(abs(testlam - min(testlam)) lt 1 and abs(testlat - min(testlat)) lt 1 )
- xindex=index[0] mod jpi
- yindex=index[0]/jpi
-
- domdef, xindex, xindex+1, 0, yindex, 0, jpk-1, /index
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, sEXP1+'_U_mean.ps', portrait = 1
- endif
-
- ts_bbD = 0.
- ts_bbD2 = 0.
- ts_Time = 0.
-
- for year=year1,year2 do begin
-
- date1 = year * 10000L + 101
- date2 = year * 10000L + 1231
- filename = getname(s_iodir_data,sEXP1,'1Y','grid_U',date1)
- filename2 = getname(s_iodir_data,sEXP2,'1Y','grid_U',date1)
-
- if filename eq '' then stop
- U1 = read_ncdf('uocetr_eff',date1 ,date2 , filename = filename, /nostruct)
- U2 = read_ncdf('uocetr_eff',date1 ,date2 , filename = filename2, /nostruct)
-
- bb1 = bsf(U1)
- bb2 = bsf(U2)
- bb1=bb1.arr[0,*]
- bb2=bb2.arr[0,*]
-
- bbDRAKE = bb1[nyt-1]-bb1[0]
- bb2DRAKE = bb2[nyt-1]-bb2[0]
-
- ts_bbD = [ ts_bbD, bbDRAKE ]
- ts_bbD2 = [ ts_bbD2, bb2DRAKE ]
- ts_Time = [ ts_Time, Time] ; Time = date
-
- endfor
-
- ts_bbD = ts_bbD[1:*] ; remove first record of 0
- ts_bbD2 = ts_bbD2[1:*] ; remove first record of 0
- Time = ts_Time[1:*] ; remove first record of 0
-
- jpt = n_elements(Time)
-
- title = sEXP1+' DRAKE transport --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,ts_bbD,'t', 0., 200., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $
- , small = [1,2,1], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- if sEXP2 ne sEXP1 then begin
-
- title = sEXP1+' - '+sEXP2+' DRAKE transport --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,ts_bbD - ts_bbD2,'t', -30., 30., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI, /NOERASE $
- , COLOR = 250, small = [1,2,2], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- endif
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_V.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/ts_mean_V.pro (revision 2750)
+++ (revision )
@@ -1,132 +1,0 @@
-pro ts_mean_V, sEXP1, sEXP2, year1, year2, s_iodir_data, POSTSCRIPT = postscript, _extra = ex
-
-
- compile_opt idl2, strictarrsubs
-
- @common
-
- @initorca2
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, sEXP1+'_V_mean.ps', portrait = 1
- endif
-
-; inizialization of vectors (for experience 1 and 2)
- ts_mAMOC45 = 0.
- ts_mAABW70 = 0.
- ts_mAABC50 = 0.
- ts_mAMOC45_2 = 0.
- ts_mAABW70_2 = 0.
- ts_mAABC50_2 = 0.
-
- ts_Time = 0.
-
- for year=year1,year2 do begin
-
- date1 = year * 10000L + 101
- date2 = year * 10000L + 1231
- filename = getname(s_iodir_data,sEXP1,'1Y','grid_V',date1)
- filename2 = getname(s_iodir_data,sEXP2,'1Y','grid_V',date1)
-
- if filename eq '' then stop
-
- domdef, 0, jpk-1,/zindex
-
- V1 = read_ncdf('vocetr_eff',date1 ,date2 , filename = filename, /nostruct)
- V2 = read_ncdf('vocetr_eff',date1 ,date2 , filename = filename2, /nostruct)
-
- msf_tot = msf(V1, indexboxzoom = ind)
- msf2_tot = msf(V2, indexboxzoom = ind)
-
- yaxis = gphit[ind[0], ind[2]:ind[3]]
-
-; computation of max Atlatic Meridional Overturninc Circulation at 40°N and 50°N
-;; see plot msf global
- indy = where(yaxis gt 40 and yaxis le 50)
- domdef, 0, 3500
-
- mAMOC45 = max(msf_tot.arr[indy, firstzw:lastzw],/NaN)
- mAMOC45_2 = max(msf2_tot.arr[indy, firstzw:lastzw],/NaN)
-
-; computation of max atlantic Antarctic Bottom Water between 80°S and 65°S
-;; see plot msf global
- indy = where(yaxis gt -80 and yaxis le -65)
- domdef, 300, 3500
-
- mAABW70 = min(msf_tot.arr[indy, firstzw:lastzw],/NaN)
- mAABW70_2 = min(msf2_tot.arr[indy, firstzw:lastzw],/NaN)
-
-; computation of max Antarctic Abyssal Bottom Cell between 65°S and 30°N ,
-;; see plot msf global
- indy = where(yaxis gt -65 and yaxis le 30)
- domdef, 2500, 5000
-
- mAABC50 = min(msf_tot.arr[indy, firstzw:lastzw],/NaN)
- mAABC50_2 = min(msf2_tot.arr[indy, firstzw:lastzw],/NaN)
-
-; creation of Time Series
-; for EXPERIENCE 1
- ts_mAMOC45 = [ ts_mAMOC45, mAMOC45 ]
- ts_mAABW70 = [ ts_mAABW70, mAABW70 ]
- ts_mAABC50 = [ ts_mAABC50, mAABC50 ]
-
-; for EXPERIENCE 2
- ts_mAMOC45_2 = [ ts_mAMOC45_2, mAMOC45_2 ]
- ts_mAABW70_2 = [ ts_mAABW70_2, mAABW70_2 ]
- ts_mAABC50_2 = [ ts_mAABC50_2, mAABC50_2 ]
-
- ts_Time = [ ts_Time, Time] ; Time = date
-
- endfor
-
- ts_mAMOC45 = ts_mAMOC45[1:*] ; remove first record of 0
- ts_mAABW70 = ts_mAABW70[1:*] ; remove first record of 0
- ts_mAABC50 = ts_mAABC50[1:*] ; remove first record of 0
-
- ts_mAMOC45_2 = ts_mAMOC45_2[1:*] ; remove first record of 0
- ts_mAABW70_2 = ts_mAABW70_2[1:*] ; remove first record of 0
- ts_mAABC50_2 = ts_mAABC50_2[1:*] ; remove first record of 0
-
- Time = ts_Time[1:*] ; remove first record of 0
-
- jpt = n_elements(Time)
-
- title = sEXP1+' Max Atlantic MOC between 40N and 50N --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt, ts_mAMOC45,'t', 0., 30., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $
- , small = [1,2,1], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- if sEXP2 ne sEXP1 then begin
- title = sEXP1+' - '+sEXP2+' Max Atlantic MOC between 40N and 50N --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt, ts_mAMOC45 - ts_mAMOC45_2,'t', -9., 9., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI, /NOERASE $
- , COLOR = 250, small = [1,2,2], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex
- endif
-
- title = sEXP1+' Max AntArctic Bottom Water between 80S and 65S --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,-ts_mAABW70,'t', 0., 20., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $
- , small = [1,2,1], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- if sEXP2 ne sEXP1 then begin
- title = sEXP1+' - '+sEXP2+' Max AntArctic Bottom Water between 80S and 65S --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,-ts_mAABW70 + ts_mAABW70_2 ,'t', -5., 5., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI, /NOERASE $
- , COLOR = 250, small = [1,2,2], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex
- endif
-
- title = sEXP1+' Max AntArctic Bottom Cell between 65S and 30N --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,-ts_mAABC50,'t', 5., 30., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $
- , small = [1,2,1], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex
-
- if sEXP2 ne sEXP1 then begin
-
- title = sEXP1+' - '+sEXP2+' Max AntArctic Bottom Cell between 65S and 30N --- year '+strtrim(year1,1)+' - '+strtrim(year2,1)
- pltt,-ts_mAABC50 + ts_mAABC50_2,'t', -5., 5., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI,/NOERASE $
- , COLOR = 250, small = [1,2,2], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex
- endif
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_ANT_Icethick_MARS.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_ANT_Icethick_MARS.pro (revision 2750)
+++ (revision )
@@ -1,45 +1,0 @@
-pro xxx_ANT_Icethick_MARS, Ithi_mars_1, Ithi_mars_2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
-
- compile_opt idl2, strictarrsubs
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '020_ANT_IceThick_MARS_'+sEXP1+'_'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
- ;
- domdef,20,380,-50,-90
- ;
- title=sEXP1+' Antartic Ice Thickness MARS / year '+start_end
- varunit = Ithi_mars_1.unit
-
-;SF Ithi_mars_1.arr = Ithi_mars_1.arr < 1.
- plt, Ithi_mars_1.arr - 1.E-04, MIN = 0., MAX = 3., INTER = 0.5 , STYLE = 'so0so',CELL_FILL = 2, /STRICTFILL $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title $
- , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = [-90,0,0], /PORTRAIT, _extra = ex
-
- if sEXP1 ne sEXP2 then begin
-
- title=sEXP1+' - '+sEXP2+' Antartic Ice Thickness MARS / year '+start_end
- plt, Ithi_mars_1.arr - Ithi_mars_2.arr, MIN = -1., MAX = 1., INTER = 0.1, /STRICTFILL , STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title $
- , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = [-90,0,0], /NOERASE, _extra = ex
-
- endif
-
- domdef
-
- title = 'Antarctic Sea-ice Thickness'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_ANT_Icethick_SEPT.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_ANT_Icethick_SEPT.pro (revision 2750)
+++ (revision )
@@ -1,45 +1,0 @@
-pro xxx_ANT_Icethick_SEPT, Ithi_sept_1, Ithi_sept_2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
-
- compile_opt idl2, strictarrsubs
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '021_ANT_IceThick_SEPT_'+sEXP1+'_'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
- ;
- domdef,20,380,-50,-90
- ;
- title=sEXP1+' Antartic Ice Thickness SEPT / year '+start_end
- varunit = Ithi_sept_1.unit
-
-;SF Ithi_sept_1.arr = Ithi_sept_1.arr < 1.
- plt, Ithi_sept_1.arr - 1.E-04, MIN = 0., MAX = 6.5, INTER = 0.5 , STYLE = 'so0so',CELL_FILL = 2, /STRICTFILL $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title $
- , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = [-90,0,0], /PORTRAIT, _extra = ex
-
- if sEXP1 ne sEXP2 then begin
-
- title=sEXP1+' - '+sEXP2+' Antartic Ice Thickness SEPT / year '+start_end
- plt, Ithi_sept_1.arr - Ithi_sept_2.arr, MIN = -1., MAX = 1., INTER = 0.1, /STRICTFILL , STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title $
- , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = [-90,0,0], /NOERASE, _extra = ex
-
- endif
-
- domdef
-
- title = 'Antarctic Sea-ice Thickness'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_ARC_Icethick_MARS.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_ARC_Icethick_MARS.pro (revision 2750)
+++ (revision )
@@ -1,42 +1,0 @@
-pro xxx_ARC_Icethick_MARS, Ithi_mars_1, Ithi_mars_2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
-
- compile_opt idl2, strictarrsubs
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '018_ARC_IceThick_MARS_'+sEXP1+'_'+sEXP2+'y'+start_end+'.ps', portrait = 1
- endif
-
- domdef,20,380,55,90
-
- varunit = Ithi_mars_1.unit
-;
- title=sEXP1+' Arctic Ice Thickness MARS/ year '+start_end
-;SF Ithi_mars_1.arr = Ithi_mars_1.arr < 6.
- plt, Ithi_mars_1.arr - 1.E-04, MIN = 0., MAX = 9.5, INTER = 0.5 ,/STRICTFILL , CELL_FILL = 2, STYLE = 'so0so' $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title $
- , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = [90,0,0], /PORTRAIT, _extra = ex
- ;
- if sEXP1 ne sEXP2 then begin
- title = sEXP1+' - '+sEXP2+' Arctic Ice Thickness / year '+start_end
- plt, Ithi_mars_1.arr - Ithi_mars_2.arr, MIN = -3., MAX = 3., INTER = .5, /STRICTFILL , STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title $
- , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = [90,0,0], /NOERASE, _extra = ex
-
- endif ; end of 2
-
- domdef
-
- title = 'Arctic Sea-ice Thickness MARS'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_ARC_Icethick_SEPT.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_ARC_Icethick_SEPT.pro (revision 2750)
+++ (revision )
@@ -1,42 +1,0 @@
-pro xxx_ARC_Icethick_SEPT, Ithi_sept_1, Ithi_sept_2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
-
- compile_opt idl2, strictarrsubs
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '019_ARC_IceThick_SEPT_'+sEXP1+'_'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
- domdef,20,380,55,90
-
- title=sEXP1+' Arctic Ice Thickness SEPT / year '+start_end
- varunit = Ithi_sept_1.unit
-
-;SF Ithi_sept_1.arr = Ithi_sept_1.arr < 6.
- plt, Ithi_sept_1.arr - 1.E-04, MIN = 0., MAX = 8.5, INTER = 0.5 ,/STRICTFILL , CELL_FILL = 2, STYLE = 'so0so' $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title $
- , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = [90,0,0], /PORTRAIT, _extra = ex
- ;
- if sEXP1 ne sEXP2 then begin
- title = sEXP1+' - '+sEXP2+' Arctic Ice Thickness SEPT / year '+start_end
- plt, Ithi_sept_1.arr - Ithi_sept_2.arr, MIN = -3., MAX = 3., INTER = .5, /STRICTFILL , STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title $
- , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = [90,0,0], /NOERASE, _extra = ex
-
- endif ; end of 2
-
- domdef
-
- title = 'Arctic Sea-ice Thickness'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_EXP1_S_ARC.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_EXP1_S_ARC.pro (revision 2750)
+++ (revision )
@@ -1,38 +1,0 @@
-pro xxx_EXP1_S_ARC, S1, SLev, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
- compile_opt idl2, strictarrsubs
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '008_S_ARC_'+sEXP1+'_y'+start_end+'.ps', portrait = 1
- endif
-
- ;
- domdef,20,380,60,90
- ;
- title=sEXP1+' Salinity SSS'
- plt, S1, MIN = 30.0, MAX = 36., INTER = 0.2, CELL_FILL = 2 $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, CHARSIZE = -0.55, GLINETHICK = 2. $
- , /ORTHO, MAP = [90,0,0], LATDEL = 5, boxzoom = [4., 6.], /PORTRAIT, _extra = ex
- ;
-
- title=sEXP1+' - Levitus Salinity SSS m / year '+start_end
- plt, S1.arr-SLev.arr, MIN = -4., MAX = 4., INTER = 0.2, CELL_FILL = 2, STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, CHARSIZE = -0.55, GLINETHICK = 2. $
- , /ORTHO, MAP = [90,0,0], LATDEL = 5, boxzoom = [4., 6.], /NOERASE, _extra = ex
- ;
- domdef
-
- title = 'Artic salinity at SSS meters'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_EXP1_S_ARC_z105.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_EXP1_S_ARC_z105.pro (revision 2750)
+++ (revision )
@@ -1,38 +1,0 @@
-pro xxx_EXP1_S_ARC_z105, S1, SLev, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
- compile_opt idl2, strictarrsubs
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '010_S_ARC_z105_'+sEXP1+'_y'+start_end+'.ps', portrait = 1
- endif
-
- ;
- domdef,20,380,60,90
- ;
- title=sEXP1+' Salinity 105 m'
- plt, S1, MIN = 30.0, MAX = 36., INTER = 0.2, CELL_FILL = 2 $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, CHARSIZE = -0.55, GLINETHICK = 2. $
- , /ORTHO, MAP = [90,0,0], LATDEL = 5, boxzoom = [105., 106.], /PORTRAIT, _extra = ex
- ;
-
- title=sEXP1+' - Levitus Salinity 105 m / year '+start_end
- plt, S1.arr-SLev.arr, MIN = -4., MAX = 4., INTER = 0.2, CELL_FILL = 2, STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, CHARSIZE = -0.55, GLINETHICK = 2. $
- , /ORTHO, MAP = [90,0,0], LATDEL = 5, boxzoom = [105., 106.], /NOERASE, _extra = ex
- ;
- domdef
-
- title = 'Artic salinity at 105 meters'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_EXP2_S_ARC.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_EXP2_S_ARC.pro (revision 2750)
+++ (revision )
@@ -1,47 +1,0 @@
-pro xxx_EXP2_S_ARC, S1, S2, SLev, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
- compile_opt idl2, strictarrsubs
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '009_S_ARC_'+sEXP1+'-'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
- ;
- domdef,20,380,60,90
- ;
- if sEXP1 ne sEXP2 then begin
-
- title=sEXP1+' - '+sEXP2+' Salinity SSS m / year '+start_end
- plt, S1.arr-S2.arr, MIN = -4., MAX = 4., INTER = 0.2, CELL_FILL = 2, STYLE = 'so0so' $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, CHARSIZE = -0.55, GLINETHICK = 2. $
- , /ORTHO, MAP = [90,0,0], LATDEL = 5, boxzoom = [4., 6.], /NOERASE, _extra = ex
-
- endif else begin
-
- title='Levitus Salinity SSSm'
- plt, SLev.arr, MIN = 30., MAX = 36., INTER = 0.2 , CELL_FILL = 2 $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, CHARSIZE = -0.55, GLINETHICK = 2. $
- , /ORTHO, MAP = [90,0,0], LATDEL = 5, boxzoom = [4., 6.], _extra = ex
- endelse
- ;
- title=sEXP2+' - Levitus Salinity SSS m / year '+start_end
- plt, S2.arr-SLev.arr, MIN = -4., MAX = 4., INTER = 0.2, CELL_FILL = 2, STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, CHARSIZE = -0.55, GLINETHICK = 2. $
- , /ORTHO, MAP = [90,0,0], LATDEL = 5, boxzoom = [4., 6.], /NOERASE, _extra = ex
- ;
- domdef
-;
- title = 'Artic salinity at SSS meters'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_EXP2_S_ARC_z105.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_EXP2_S_ARC_z105.pro (revision 2750)
+++ (revision )
@@ -1,47 +1,0 @@
-pro xxx_EXP2_S_ARC_z105, S1, S2, SLev, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
- compile_opt idl2, strictarrsubs
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '011_S_ARC_z105_'+sEXP1+'-'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
- ;
- domdef,20,380,60,90
- ;
- if sEXP1 ne sEXP2 then begin
-
- title=sEXP1+' - '+sEXP2+' Salinity 105 m / year '+start_end
- plt, S1.arr-S2.arr, MIN = -4., MAX = 4., INTER = 0.2, CELL_FILL = 2, STYLE = 'so0so' $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, CHARSIZE = -0.55, GLINETHICK = 2. $
- , /ORTHO, MAP = [90,0,0], LATDEL = 5, boxzoom = [105., 106.], /NOERASE, _extra = ex
-
- endif else begin
-
- title='Levitus Salinity 105 m'
- plt, SLev.arr, MIN = 30., MAX = 36., INTER = 0.2 , CELL_FILL = 2 $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, CHARSIZE = -0.55, GLINETHICK = 2. $
- , /ORTHO, MAP = [90,0,0], LATDEL = 5, boxzoom = [105., 106.], _extra = ex
- endelse
- ;
- title=sEXP2+' - Levitus Salinity 105 m / year '+start_end
- plt, S2.arr-SLev.arr, MIN = -4., MAX = 4., INTER = 0.2, CELL_FILL = 2, STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, CHARSIZE = -0.55, GLINETHICK = 2. $
- , /ORTHO, MAP = [90,0,0], LATDEL = 5, boxzoom = [105., 106.], /NOERASE, _extra = ex
- ;
- domdef
-;
- title = 'Artic salinity at 105 meters'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Emp.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Emp.pro (revision 2750)
+++ (revision )
@@ -1,34 +1,0 @@
-pro xxx_Emp, EMP1, EMP2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
-
- compile_opt idl2, strictarrsubs
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '002_Emp_'+sEXP1+'_'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
- title=sEXP1+' Emp (mm/day) / year '+start_end
- varunit= 'mm/day'
- plt, EMP1, MIN = -10., MAX = 10., INTER = 1. $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, /PORTRAIT, _extra=ex
-
-if sEXP1 ne sEXP2 then begin
-
- title=sEXP1+' - '+sEXP2+' / Emp year '+start_end
- plt, EMP1-EMP2, MIN = -5., MAX = 5., INTER = 1. $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, /NOERASE, _extra=ex
-endif
-
- title = 'Emp field'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Eq_S.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Eq_S.pro (revision 2750)
+++ (revision )
@@ -1,41 +1,0 @@
-pro xxx_Eq_S, S1, S2, SLev, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- S = S1.arr-S2.arr
- sEXP = sEXP1+' - '+sEXP2
- min = -1.
- max = -min
- inter = .1
-
- if sEXP2 eq sEXP1 then begin
- sEXP = sEXP1+' - Levitus'
- S = S1.arr-Slev.arr
- min = -1.
- max = -min
- inter = .1
- endif
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '026_Eq_S_'+sEXP+'_y'+start_end+'.ps', portrait = 1
- endif
- ;
- title = sEXP1+' Equatorial S / year '+start_end
- pltz, S1, MININ = 33., MAXIN = 37., INTER = .2, typein='xz' $
- , small=[1,2,1], COAST_THICK = 2, TITLE = title, boxzoom = [20., 380., -1., 1., 0., 500.], /PORTRAIT, _extra = ex
- ;
- title = sEXP+' Eq. S / year '+start_end
- pltz, S, MININ = min, MAXIN = max, INTER = inter, typein = 'xz', STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, boxzoom = [20., 380., -1., 1., 0., 500.], /PORTRAIT, _extra = ex
-;
- title = 'Equatorial differences with Levitus and '+sEXP+' of salinity'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Eq_T.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Eq_T.pro (revision 2750)
+++ (revision )
@@ -1,42 +1,0 @@
-pro xxx_Eq_T, T1, T2, TLev, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- T = T1.arr-T2.arr
- sEXP = sEXP1+' - '+sEXP2
- min = -2.
- max = -min
- inter = .25
-
- if sEXP2 eq sEXP1 then begin
- sEXP = sEXP1+' - Levitus'
- T = T1.arr-TLev.arr
- min = -4.
- max = -min
- inter = .5
- endif
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '025_Eq_T_'+sEXP+'_y'+start_end+'.ps', portrait = 1
- endif
- ;
- title = sEXP1+' Equatorial T / year '+start_end
- pltz, T1, MININ = 2., MAXIN = 30., INTER = 1., typein = 'xz' $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, boxzoom = [20., 380., -1., 1., 0., 500.], /PORTRAIT, _extra = ex
- ;
-
- title = sEXP+' Eq. T / year '+start_end
- pltz, T, MININ = min, MAXIN = max, INTER = inter, typein = 'xz', STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, boxzoom = [20., 380., -1., 1., 0., 500.], /NOERASE, _extra = ex
- ;
- title ='Equatorial differences with Levitus and '+sEXP+'of temperature'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Eq_U.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Eq_U.pro (revision 2750)
+++ (revision )
@@ -1,30 +1,0 @@
-pro xxx_Eq_U, U1, U2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '027_Eq_U_'+sEXP1+'_'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
- ;
- title = sEXP1+' Equatorial U_zonal / year '+start_end
- pltz, U1, MININ = -1., MAXIN = 1., INTER = .1, typein = 'xz', STYLE = 'so0so', UNIT = varunit $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, boxzoom = [20., 380., -1., 1., 0., 500.], ZOOM = 500, /PORTRAIT, _extra = ex
-
- if sEXP1 ne sEXP2 then begin
- ;
- title = sEXP1+' - '+sEXP2+' U_zonal / year '+start_end
- pltz, U1.arr-U2.arr, MININ = -.5, MAXIN = .5, INTER = .1, typein = 'xz', STYLE = 'so0so', UNIT = varunit $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, boxzoom = [20., 380., -1., 1., 0., 500.], ZOOM = 500, /PORTRAIT, _extra = ex
- ;
- endif
-
- title ='Equatorial differences with Levitus and '+sEXP2+'of zonal velocity U'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Erp.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Erp.pro (revision 2750)
+++ (revision )
@@ -1,35 +1,0 @@
-pro xxx_Erp, ERP1, ERP2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
-@common
-
- compile_opt idl2, strictarrsubs
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '001_Erp_'+sEXP1+'_'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
- title=sEXP1+' Erp (mm/day) / year '+start_end
- varunit= 'mm/day'
- plt, ERP1, MIN = -5., MAX = 5., INTER = .5 $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, /PORTRAIT, _extra=ex
-
- if sEXP1 ne sEXP2 then begin
-
- title=sEXP1+' - '+sEXP2+' / Erp year '+start_end
- plt, ERP1-ERP2, MIN = -2., MAX = 2., INTER = .25 $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, /NOERASE, _extra=ex
-
- endif
-
- title = 'Erp field'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Iceleadfrac_MARS.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Iceleadfrac_MARS.pro (revision 2750)
+++ (revision )
@@ -1,31 +1,0 @@
-pro xxx_Iceleadfrac_MARS, Ifra_mars_1, Ifra_mars_2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '022_Iceleadfrac_MARS_'+sEXP1+'_'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
- title=sEXP1+' Iceleadfrac MARS / year '+start_end
- plt, Ifra_mars_1, MIN = 0., MAX = 1., INTER = .1 $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, /PORTRAIT, _extra=ex
-
-if sEXP1 ne sEXP2 then begin
-
- title=sEXP1+' - '+sEXP2+' / Iceleadfrac MARS year '+start_end
- plt, Ifra_mars_1.arr - Ifra_mars_2.arr, MIN = -1., MAX = 1., INTER = .1 $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, /NOERASE, _extra=ex
-endif
-
- title = 'Iceldeafrac field'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Iceleadfrac_SEPT.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Iceleadfrac_SEPT.pro (revision 2750)
+++ (revision )
@@ -1,31 +1,0 @@
-pro xxx_Iceleadfrac_SEPT, Ifra_sept_1, Ifra_sept_2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '023_Iceleadfrac_SEPT_'+sEXP1+'_'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
- title=sEXP1+' Iceleadfrac SEPT / year '+start_end
- plt, Ifra_sept_1, MIN = 0., MAX = 1., INTER = .1 $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, /PORTRAIT, _extra=ex
-
-if sEXP1 ne sEXP2 then begin
-
- title=sEXP1+' - '+sEXP2+' / Iceleadfrac SEPT year '+start_end
- plt, Ifra_sept_1.arr - Ifra_sept_2.arr, MIN = -1., MAX = 1., INTER = .1 $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, /NOERASE, _extra=ex
-endif
-
- title = 'Iceldeafrac field'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Med_S_depth.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Med_S_depth.pro (revision 2750)
+++ (revision )
@@ -1,47 +1,0 @@
-pro xxx_Med_S_depth, S1, S2, SLev, sEXP1, sEXP2, start_end, DEPTH=depth, LAT=lat, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- @common
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '029_'+sEXP1+'_Med_Levitus_S_depth'+strtrim(lat,1)+'_d'+strtrim(depth,1)+'_S_y'+start_end+'.ps'
- endif
-;domdef, 0, 6000
-
-;domdef,270,365,5,70
- minval = min(abs(gdept - depth),index)
-;
- varunit = S1.unit
-;
- title = sEXP1+' Mediterranean water at ' +strtrim(lat,1)+'°N / year '+start_end
- pltz, S1.arr, MININ = 35., MAXIN = 37., INTER = 0.1, UNIT = varunit $
- , small = [1,2,1], COAST_THICK = 2, endpoints = [300., lat, 357., lat], TITLE = title, boxzoom = [2000.], ZOOM = 2000., /PORTRAIT, _extra = ex
-;
-
- if sEXP1 ne sEXP2 then begin
-
- title = sEXP1+' - '+sEXP2+' Mediterranean water at '+strtrim(lat,1)+'°N / year '+start_end
- pltz, S1.arr - S2.arr, MININ = -.4, MAXIN = .4, INTER = .05, UNIT = varunit $
- , small = [1,2,2], COAST_THICK = 2, endpoints = [300., lat, 357., lat], TITLE = title, boxzoom = [2000.], ZOOM = 2000., _extra = ex
-
- endif else begin
-
- title = sEXP1+' - Levitus Mediterranean water at '+strtrim(lat,1)+'°N / year '+start_end
- pltz, S1.arr-SLev.arr, MININ = -1., MAXIN = 1., INTER=0.1, UNIT = varunit $
- , small = [1,2,2], COAST_THICK = 2, endpoints = [300., lat, 357., lat], TITLE = title, boxzoom = [2000.], ZOOM = 2000., _extra = ex
- endelse
-
-
- title ='Mediterranean water Lat: '+strtrim(lat,1)+', '+strtrim(depth,1)
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Med_S_tongue.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Med_S_tongue.pro (revision 2750)
+++ (revision )
@@ -1,46 +1,0 @@
-pro xxx_Med_S_tongue, S1, S2, SLev, sEXP1, sEXP2, start_end, DEPTH=depth, LAT=lat, POSTSCRIPT = postscript, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- @common
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '028_Med_S_tongue_'+sEXP1+'_'+strtrim(lat,1)+'_d'+strtrim(depth,1)+'_S_y'+start_end+'.ps'
- endif
-;domdef, 0, 6000
-
-;domdef,270,365,5,70
-minval = min(abs(gdept - depth),index)
-;
-varunit = S1.unit
-;
- title = sEXP1+' Mediterranean salt tongue at depth=' + strtrim(gdept[index],1)+' m / year '+start_end
- plt, S1.arr, MININ=35., MAXIN=37., INTER=0.1, UNIT= varunit $
- , small=[1,2,1], boxzoom = [270, 365, 5,70, index,index],/zindex, COAST_THICK=2, TITLE=title, /PORTRAIT, _extra=ex
-;
- if sEXP1 ne sEXP2 then begin
-
- title = sEXP1+' - '+sEXP2+' Mediterranean salt tongue at depth=' + strtrim(gdept[index],1)+' m / year '+start_end
- plt, S1.arr - S2.arr, MININ = -.4, MAXIN = .4, INTER = .05, UNIT = varunit $
- , small=[1,2,2], boxzoom = [270, 365, 5,70, index,index],/zindex, COAST_THICK=2, TITLE=title, /PORTRAIT, _extra=ex
-
- endif else begin
-
- title = sEXP1+' - Levitus Mediterranean salt tongue at depth=' + strtrim(gdept[index],1)+' m / year '+start_end
- plt, S1.arr - SLev.arr, MININ=-1., MAXIN=1., INTER=0.1, UNIT = varunit $
- , small=[1,2,2], boxzoom = [270, 365, 5,70, index,index],/zindex, COAST_THICK=2, TITLE=title, /PORTRAIT, _extra=ex
-
- endelse
-
- title ='Mediterranean water Lat: '+strtrim(lat,1)+', '+strtrim(depth,1)
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_PHCXX_PHCYY_ANT_Icethick.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_PHCXX_PHCYY_ANT_Icethick.pro (revision 2750)
+++ (revision )
@@ -1,44 +1,0 @@
-pro xxx_PHCXX_PHCYY_ANT_Icethick, I1, I2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
-
- compile_opt idl2, strictarrsubs
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '0003_'+sEXP1+'_'+sEXP2+'_ANT_IceThick_y'+start_end+'.ps', portrait = 1
- endif
-
- ;
- domdef,20,380,-50,-90
- ;
- title=sEXP1+' Antartic Ice Thickness / year '+start_end
-
- I1.arr = I1.arr < 1.
- plt, I1.arr - 1.E-04, MIN = 0., MAX = 1., INTER = 0.1 , STYLE = 'so0so',CELL_FILL = 2, /STRICTFILL $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title $
- , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = [-90,0,0], /PORTRAIT, _extra = ex
-
- if sEXP1 ne sEXP2 then begin
-
- title=sEXP1+' - '+sEXP2+' Antartic Ice Thickness / year '+start_end
- plt, I1.arr - I2.arr, MIN = -1., MAX = 1., INTER = 0.1, /STRICTFILL , STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title $
- , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = [-90,0,0], /NOERASE, _extra = ex
-
- endif
-
- domdef
-
- title = 'Antarctic Sea-ice Thickness'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_PHCXX_PHCYY_ARC_Icethick.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_PHCXX_PHCYY_ARC_Icethick.pro (revision 2750)
+++ (revision )
@@ -1,41 +1,0 @@
-pro xxx_PHCXX_PHCYY_ARC_Icethick, I1, I2, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
-
- compile_opt idl2, strictarrsubs
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '0003_'+sEXP1+'_'+sEXP2+'_ARC_IceThick_y'+start_end+'.ps', portrait = 1
- endif
-
- domdef,20,380,55,90
-
- title=sEXP1+' Arctic Ice Thickness / year '+start_end
-
- I1.arr = I1.arr < 6.
- plt, I1.arr - 1.E-04, MIN = 0., MAX = 6., INTER = 0.25 ,/STRICTFILL , CELL_FILL = 2, STYLE = 'so0so' $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title $
- , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = [90,0,0], /PORTRAIT, _extra = ex
- ;
- if sEXP1 ne sEXP2 then begin
- title = sEXP1+' - '+sEXP2+' Arctic Ice Thickness / year '+start_end
- plt, I1.arr - I2.arr, MIN = -3., MAX = 3., INTER = .5, /STRICTFILL , STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title $
- , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = [90,0,0], /NOERASE, _extra = ex
-
- endif ; end of 2
-
- domdef
-
- title = 'Arctic Sea-ice Thickness'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Qnet.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_Qnet.pro (revision 2750)
+++ (revision )
@@ -1,43 +1,0 @@
-pro xxx_Qnet, Q1, Q2, QNET, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
-
- compile_opt idl2, strictarrsubs
-
- Q = Q1.arr-Q2.arr
- sEXP = sEXP1+' - '+sEXP2
- min = -200.
- max = -min
- inter = 20.
-
- if sEXP2 eq sEXP1 then begin
- sEXP = sEXP1+' - OAFlux'
- Q = Q1.arr-QNET.arr
- min = -200.
- max = -min
- inter = 20.
- endif
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '003_Qnet_'+sEXP+'_y'+start_end+'.ps', portrait = 1
- endif
-
- title=sEXP1+' / Qnet year '+start_end
- plt, Q1, MIN = -200., MAX = 200., INTER = 20., STYLE = 'so0so' $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, FORMAT = '(I3)', /PORTRAIT, _extra = ex
- ;
- title=sEXP+' / Qnet year '+start_end
- plt, Q, MIN = min, MAX = max, INTER = inter, STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, FORMAT = '(I3)', /NOERASE, _extra = ex
- ;
- title = 'Qnet differences with '+sEXP
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_SSS.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_SSS.pro (revision 2750)
+++ (revision )
@@ -1,40 +1,0 @@
-pro xxx_SSS, S1, S2, SLev, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
- compile_opt idl2, strictarrsubs
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '007_SSS_'+sEXP1+'-'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
- varunit = S1.unit
-
- title = sEXP1+' / SSS year '+start_end
- plt, S1.arr[*,*,0] , MIN = 33., MAX = 41., INTER = .25, STYLE = 'so0so' $
- , small = [1,2,1], COAST_THICK = 2, TITLE=title, /NOERASE, _extra = ex
- ;
- if sEXP1 ne sEXP2 then begin
-
- title = sEXP1+' - '+sEXP2+' / SSS year '+start_end
- plt, S1.arr[*,*,0] - S2.arr[*,*,0], MIN = -2., MAX = 2., INTER = .2 $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, _extra=ex
-
- endif else begin
-
- title = sEXP1+' - Levitus / SSS year '+start_end
- plt, S1.arr[*,*,0]-SLev.arr[*,*,0], MIN = -3., MAX = 3., INTER = 0.2, STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, /PORTRAIT, _extra = ex
-
- endelse
-
- ;
- title = 'SSS differences with Levitus and '+sEXP1+'-'+sEXP2
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_SST.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_SST.pro (revision 2750)
+++ (revision )
@@ -1,44 +1,0 @@
-pro xxx_SST, T1, T2, TRey, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
- compile_opt idl2, strictarrsubs
-
- T = T1.arr[*,*,0]-T2.arr[*,*,0]
- sEXP = sEXP1+' - '+sEXP2
- min = -1.
- max = -min
- inter = 0.1
-
- if sEXP2 eq sEXP1 then begin
- sEXP = sEXP1
- T = T1.arr[*,*,0]
- min = -2.
- max = 32.
- inter = 1.
- endif
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '006_SST_'+sEXP+'_y'+start_end+'.ps', portrait = 1
- endif
-
- varunit = T1.unit
-
- ;
- title = sEXP+' / SST year '+start_end
- plt, T , MIN = min, MAX = max, INTER = inter , STYLE = 'so0so' $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, FORMAT = '(I2)', /NOERASE, _extra = ex
- ;
- title=sEXP1+' - NewReynolds / SST year '+start_end
- plt, T1.arr[*,*,0]-TRey.arr[*,*,0], MIN = -8., MAX = 8., INTER = 0.5 , STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, /PORTRAIT, _extra = ex
-
- title = 'SST differences with Reynolds and '+sEXP
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_S_z105.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_S_z105.pro (revision 2750)
+++ (revision )
@@ -1,44 +1,0 @@
-pro xxx_S_z105, S1, S2, SLev, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
- compile_opt idl2, strictarrsubs
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '013_S_z105_'+sEXP1+'-'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
-;
- varunit = S1.unit
-;
-
- title=sEXP1+' S (PSU) depth=105m / Sal year '+start_end
- plt, S1.arr, MIN = 33., MAX = 38.2, INTER = .2, STYLE = 'so0so' $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, boxzoom = [105., 106.], /NOERASE, _extra = ex
-;
- if sEXP1 ne sEXP2 then begin
-
- title = sEXP1+' - '+sEXP2+' S (PSU) depth=105m / Sal year '+start_end
- plt, S1.arr[*,*,0] - S2.arr[*,*,0], MIN = -1., MAX = 1., INTER = .1 $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, _extra=ex
-
- endif else begin
-
- title=sEXP1+' - Levitus S (PSU) depth=105m / Sal year '+start_end
- plt, S1.arr-SLev.arr, MIN = -1., MAX = 1., INTER=0.1, STYLE='so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, boxzoom = [105., 106.], /PORTRAIT, _extra = ex
-
- endelse
-
-
-
- title = 'Salinity differences at z=105 m with Levitus and '+sEXP2
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text ;
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_TS_ZGlobm.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_TS_ZGlobm.pro (revision 2750)
+++ (revision )
@@ -1,37 +1,0 @@
-pro xxx_TS_ZGlobm, T1, T2, TLev, S1, S2, SLev, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
- compile_opt idl2, strictarrsubs
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '030_TS_ZGlobmean_'+sEXP1+'_'+sEXP2+'_y'+start_end+'.ps', /portrait
- endif
-
- varunit = T1.unit
- title=sEXP1+' (Black) & '+sEXP2+' (Red) - Levitus Temp. Global mean / year '+start_end
- plt1d, T1.arr - TLev.arr, typein = 'z', ticklen = 1 , MIN = -2., MAX = 2., boxzoom = [4.,5300.], /KEEPBOTTOM $
- , small = [1,2,1], XGRIDSTYLE = 2, YGRIDSTYLE = 2, TITLE = title, _extra = ex
- plt1d, T2.arr - TLev.arr, typein = 'z', ticklen = 1 , MIN = -2., MAX = 2., boxzoom = [4.,5300.], /KEEPBOTTOM $
- , /ov1d, COLOR = 250,TITLE = title, _extra = ex
- ;
-
- varunit = S1.unit
- title=sEXP1+'(Black) & '+sEXP2+' (Red) - Levitus Sal. Global mean / year '+start_end
- plt1d, S1.arr - SLev.arr, typein = 'z', ticklen = 1 , MIN = -.2, MAX = .2, boxzoom = [4.,5300.], /KEEPBOTTOM $
- , small = [1,2,2], XGRIDSTYLE = 2, YGRIDSTYLE = 2, TITLE = title, /NOERASE, _extra = ex
- plt1d, S2.arr - SLev.arr, typein = 'z', ticklen = 1 , MIN = -2., MAX = 2., boxzoom = [4.,5300.], /KEEPBOTTOM $
- , /ov1d, COLOR = 250, TITLE = title, _extra = ex
-
-
- title = 'Temperature & Salinity horizontal mean'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_T_z105.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_T_z105.pro (revision 2750)
+++ (revision )
@@ -1,41 +1,0 @@
-pro xxx_T_z105, T1, T2, TLev, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
- compile_opt idl2, strictarrsubs
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '012_T_z105_'+sEXP1+'-'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-;
- varunit = T1.unit
- ;
- title = sEXP1+' T (°C) depth=105m / Temp year '+start_end
- plt, T1.arr, MIN = -2., MAX = 32., INTER = 1., STYLE = 'so0so' $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, FORMAT = '(I2)', boxzoom = [105., 106.], /NOERASE, _extra = ex
- ;
-if sEXP1 ne sEXP2 then begin
-
- title = sEXP1+' - '+sEXP2+' T (°C) depth=105m / Temp year '+start_end
- plt, T1.arr-T2.arr, MIN = -2., MAX = 2., INTER = .2 $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, _extra=ex
-
-endif else begin
-
- title = sEXP1+' - Levitus T (°C) depth=105m / Temp year '+start_end
- plt, T1.arr-TLev.arr, MIN = -4., MAX = 4., INTER = .5, STYLE = 'so0so' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, boxzoom = [105., 106.], /PORTRAIT, _extra = ex
-endelse
-
-
- title = 'Temperature differences at z=105 m with Levitus and '+sEXP1+'-'+sEXP2
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text ;
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_ZonMxl.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_ZonMxl.pro (revision 2750)
+++ (revision )
@@ -1,34 +1,0 @@
-pro xxx_ZonMxl, MXL1, MXL2, MLD, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
-
- compile_opt idl2, strictarrsubs
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '015_ZonMxl_'+sEXP1+'_'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
-
- ;
- title=sEXP1+' (Black) , '+sEXP2+' (Red) & Clim (Blue) Mxl10 / year '+start_end
- plt1d, -MXL1.arr, MIN = -300., MAX = 0., INTER = 10., typein = 'y' $
- , small=[1,1,1], boxzoom=5500, ZOOM=500, CHARSIZE=.8, TITLE = title, /PORTRAIT, _extra=ex ; color by default = black
- ;
- plt1d, -MXL2.arr, MIN = -300., MAX = 0., INTER = 10., typein = 'y' $
- , /ov1d, COLOR = 250, TITLE = title, /NOERASE, _extra = ex ; color 250 = red
- ;
- plt1d, -MLD.arr, MIN = -300., MAX = 0., INTER = 10., typein = 'y' $
- , /ov1d, COLOR = 100, THICK = 3, TITLE = title, /NOERASE, _extra = ex ; color 100 = blue
-
- title = 'Mxl field'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_mxl10.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_mxl10.pro (revision 2750)
+++ (revision )
@@ -1,46 +1,0 @@
-pro xxx_mxl10, MXL1, MXL2, MLD, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, _extra = ex
-
- @common
-
- compile_opt idl2, strictarrsubs
-
- MXL = MXL1.arr-MXL2.arr
- sEXP = sEXP1+' - '+sEXP2
- min = -100.
- max = -min
- inter = 10.
-
- if sEXP2 eq sEXP1 then begin
- sEXP = sEXP1+' - MLD '
- MXL = MXL1.arr-MLD.arr
- min = -80.
- max = -min
- inter = 10.
- endif
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '014_Mxl10_'+sEXP+'_y'+start_end+'.ps', portrait = 1
- endif
-
- title=sEXP1+' Mxl10 / year '+start_end
- plt, MXL1, MIN = 0., MAX = 500., INTER = 25., /NOCONTOUR ,FORMAT = '(I3)' $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, /PORTRAIT, _extra = ex
- ;
-
- title=sEXP+' Mxl10 / year '+start_end
- plt, MXL, MIN = min, MAX = max, INTER = inter $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, /NOCONTOUR, /NOERASE, _extra = ex
- ; end of 2
- title = 'Mxl10 field'
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- return
-end
-
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_zonal_S.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_zonal_S.pro (revision 2750)
+++ (revision )
@@ -1,70 +1,0 @@
-pro xxx_zonal_S, S1, S2, SLev, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, SUBBASIN = subbasin, MASK_FILENAME = mask_filename, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- @common
-
- if KEYWORD_SET(SUBBASIN) then subname = subbasin else subname = "Glo"
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '017_Zonal_S_'+subname+'_'+sEXP1+'-'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
- ; looking for longitudinal index corresponding to the highest latitude (closest to the North Pole)
- index=where(gphit eq max(gphit))
- nx=index[0] mod jpi
- gphi_save=gphit
- gphit[0,*]=gphit[nx,*]
-
- if KEYWORD_SET(SUBBASIN) then begin
- ; save tmask
- tmasksv = tmask
- ;
- CASE 1 of
- subbasin eq 'Atl' : var = 'atlmsk_nomed'
- subbasin eq 'Ind' : var = 'indmsk_nored'
- subbasin eq 'Pac' : var = 'pacmsk'
- ENDCASE
- ;
- msk = read_ncdf( var, filename = mask_filename, _extra =ex)
-
-; from 2D array to 3D array
- msk = msk.arr[*]#replicate(1., nzt)
- tmask[firstxt:lastxt,firstyt:lastyt,firstzt:lastzt] = tmask[firstxt:lastxt,firstyt:lastyt,firstzt:lastzt] * msk
- endif
-
- varunit = S1.unit
-;
- title=sEXP1+' '+subname+' / S year '+start_end
- pltz, S1.arr, MININ = 32., MAXIN = 37., INTER = .2, typein = 'yz' $
- , small = [1,2,1], COAST_THICK = 2, TITLE = title, boxzoom = 5500, ZOOM = 1000, /PORTRAIT, _extra=ex
-;
- if sEXP1 ne sEXP2 then begin
-
- title = sEXP1+' - '+sEXP2+' '+subname+' / S year '+start_end
- pltz, S1.arr-S2.arr, MIN = -1., MAX = 1., INTER = .1, typein = 'yz' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, boxzoom = 5500, ZOOM = 1000, /NOERASE, _extra=ex
-
- endif else begin
-
- title=sEXP1+' - Levitus '+subname+'/ S year'+start_end
- pltz, S1.arr-SLev.arr, MININ = -1, MAXIN = 1., INTER = .1, typein = 'yz' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, boxzoom = 5500, ZOOM = 1000, /NOERASE, _extra = ex
- endelse
-;
- title = 'Salinity differences in zonal average ' + subname +' with Levitus and '+sEXP1+'-'+sEXP2
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
-
- if KEYWORD_SET(SUBBASIN) then tmask = tmasksv
-
- gphit=gphi_save
-
- return
-end
Index: trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_zonal_T.pro
===================================================================
--- trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/xxx_zonal_T.pro (revision 2750)
+++ (revision )
@@ -1,77 +1,0 @@
-pro xxx_zonal_T, T1, T2, TLev, sEXP1, sEXP2, start_end, POSTSCRIPT = postscript, SUBBASIN = subbasin, MASK_FILENAME = mask_filename, _extra = ex
-
- compile_opt idl2, strictarrsubs
-
- @common
-
- if KEYWORD_SET(SUBBASIN) then subname = subbasin else subname = "Glo"
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- openps, '016_Zonal_T_'+subname+'_'+sEXP1+'-'+sEXP2+'_y'+start_end+'.ps', portrait = 1
- endif
-
- ; looking for longitudinal index corresponding to the highest latitude (closest to the North Pole)
- index=where(gphit eq max(gphit))
- nx=index[0] mod jpi
- gphi_save=gphit
- gphit[0,*]=gphit[nx,*]
-
- if KEYWORD_SET(SUBBASIN) then begin
- ; save tmask
- tmasksv = tmask
- ;
- CASE 1 of
- subbasin eq 'Atl' : var = 'atlmsk_nomed'
- subbasin eq 'Ind' : var = 'indmsk_nored'
- subbasin eq 'Pac' : var = 'pacmsk'
- ENDCASE
- ;
- msk = read_ncdf( var, filename = mask_filename, _extra =ex)
-
-; from 2D array to 3D array
- msk = msk.arr[*]#replicate(1., nzt)
- tmask[firstxt:lastxt,firstyt:lastyt,firstzt:lastzt] = tmask[firstxt:lastxt,firstyt:lastyt,firstzt:lastzt] * msk
-
- endif
-
-varunit = T1.unit
-;
-
- title=sEXP1+' '+subname+' / T year '+start_end
- pltz, T1.arr, MININ = -2., MAXIN = 30., INTER = 1., typein = 'yz', FORMAT = '(I2)' $
- , small =[ 1,2,1], COAST_THICK = 2, TITLE = title, boxzoom = 5500, ZOOM = 1000, /PORTRAIT, _extra = ex
-;
-if sEXP1 ne sEXP2 then begin
-
- title = sEXP1+' - '+sEXP2+' T (°C) depth=105m / Temp year '+start_end
- pltz, T1.arr-T2.arr, MIN = -2., MAX = 2., INTER = .2, typein = 'yz' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, boxzoom = 5500, ZOOM = 1000, /PORTRAIT, _extra=ex
-
-endif else begin
-
- title=sEXP1+' - Levitus '+subname+'/ T year'+start_end
- pltz, T1.arr-TLev.arr, MININ = -4., MAXIN = 4., INTER = .5, typein='yz', FORMAT = '(I2)' $
- , small = [1,2,2], COAST_THICK = 2, TITLE = title, boxzoom = 5500, ZOOM = 1000, /NOERASE, _extra = ex
-
-endelse
-
-
-;
- title = 'Temperature differences in zonal average ' + subname+' with Levitus and '+sEXP1+'-'+sEXP2
- text = [ title, ' ' ]
- putfile, '/tmp/prova.txt', text
-
-
- if KEYWORD_SET(POSTSCRIPT) then begin
- closeps
- endif
-
- if KEYWORD_SET(SUBBASIN) then tmask = tmasksv
-
-
- gphit=gphi_save
-
-
- return
-end