Changeset 3927
- Timestamp:
- 2013-06-20T14:52:48+02:00 (10 years ago)
- Location:
- branches/2013/dev_r3918_CNRS_idl_plots/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts
- Files:
-
- 5 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_r3918_CNRS_idl_plots/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_main.sh
r2751 r3927 173 173 pdflist=${pdflist}' '${PDF_DIR}/${file}pdf 174 174 done 175 #pdfjam needed to use pdfjoin 176 pdfjoin ${pdflist} --outfile $PDF_DIR/${filepdf} 175 177 texexec --pdfarrange --result=$PDF_DIR/$filepdf $pdflist 176 178 rm -f $PDF_DIR/$( basename $filepdf .pdf ).aux $PDF_DIR/$( basename $filepdf .pdf ).log 177 echo ${PDF_DIR}/$filepdf done 179 if [ ! -e ${PDF_DIR}/$filepdf ] 180 then 181 echo "\n ATTENTION !!!!! \n" 182 echo "${PDF_DIR}/$filepdf do not exist \n" 183 else 184 echo "${PDF_DIR}/$filepdf done" 185 fi 178 186 #commented because convert gives images of bad quality 179 187 # convert ${PS_DIR}/*.ps /tmp/all_${PLOTTYPE}.pdf -
branches/2013/dev_r3918_CNRS_idl_plots/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_IceFrac.pro
r2751 r3927 40 40 , small = [1, 2, 2], COAST_THICK = 2, CELL_FILL = 2, TITLE = title $ 41 41 , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = map, /NOERASE, _extra = ex 42 endif 43 42 endif else begin 43 title = title+ ' - Observations' 44 plt, Ifra1.arr - Ifra_obs.arr, MIN = -1., MAX = 1., INTER = 0.1, STYLE = 'so0so', format = '(f4.1)' $ 45 , small = [1, 2, 2], COAST_THICK = 2, TITLE = title, CELL_FILL = 2, TITLE = title $ 46 , CHARSIZE = 1.05, GLINETHICK = 2., /ORTHO, MAP = map, /NOERASE, _extra = ex 47 endelse 48 44 49 domdef 45 50 -
branches/2013/dev_r3918_CNRS_idl_plots/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_IceThick.pro
r2751 r3927 1 pro std_plot_IceThick, Ithi1, Ithi2, ARC = arc, ANT = ant, MARCH = march, SEPT = sept, POSTSCRIPT = postscript, _extra = ex1 pro std_plot_IceThick, Ithi1, Ithi2, ARC = arc, ANT = ant, APRIL = april, SEPT = sept, POSTSCRIPT = postscript, _extra = ex 2 2 3 3 compile_opt idl2, strictarrsubs … … 12 12 IF keyword_set(arc) THEN var = var+'_Arc_' 13 13 IF keyword_set(ant) THEN var = var+'_Ant_' 14 IF keyword_set( march) THEN var = var+'March'14 IF keyword_set(april) THEN var = var+'April' 15 15 IF keyword_set(sept) THEN var = var+'Sept' 16 16 -
branches/2013/dev_r3918_CNRS_idl_plots/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_all.pro
r2755 r3927 15 15 PRINT, '' 16 16 ; 17 std_iodir_data = isadirectory(getenv('DIR_DATA'), title = 'path of data in NetCdf format')18 std_iodir_climato = isadirectory(getenv('DIR_CLIMATO'), title = 'path of climatological data')19 std_iodir_mask = isadirectory(getenv('DIR_MASK'), title = 'path of mask files (ex: subbasins)')17 std_iodir_data = isadirectory(getenv('DIR_DATA'), title = 'path of data in NetCdf format') 18 std_iodir_climato = isadirectory(getenv('DIR_CLIMATO'), title = 'path of climatological data') 19 std_iodir_mask = isadirectory(getenv('DIR_MASK'), title = 'path of mask files (ex: subbasins)') 20 20 ; meshmask 21 std_file_mesh = isafile(getenv('FILE_MESH_MASK'), title = 'mesh_mask', iodir = std_iodir_mask)21 std_file_mesh = isafile(getenv('FILE_MESH_MASK'), title = 'mesh_mask', iodir = std_iodir_mask) 22 22 std_file_msksub = isafile(getenv('FILE_MASK_SUBDOMAIN'), title = 'sub-bassin masks', iodir = std_iodir_mask) 23 23 24 ; Levitus 98 25 std_file_Levitus_T = isafile(getenv('FILE_TEMP_3D'), title = 'Levitus_T', iodir = std_iodir_climato) 26 std_file_Levitus_S = isafile(getenv('FILE_SAL_3D'), title = 'Levitus_S', iodir = std_iodir_climato) 27 std_file_reynolds = isafile(getenv('FILE_SST'), title = 'Reynolds', iodir = std_iodir_climato) 28 std_file_oaflux = isafile(getenv('FILE_FLUX'), title = 'oaflux', iodir = std_iodir_climato) 29 std_file_mld = isafile(getenv('FILE_MLD'), title = 'Mixed layer depth', iodir = std_iodir_climato) 24 ; climatologies 25 std_file_Levitus_T = isafile(getenv('FILE_TEMP_3D'), title = 'Levitus_T', iodir = std_iodir_climato) 26 std_file_Levitus_S = isafile(getenv('FILE_SAL_3D'), title = 'Levitus_S', iodir = std_iodir_climato) 27 std_file_reynolds = isafile(getenv('FILE_SST'), title = 'Reynolds', iodir = std_iodir_climato) 28 std_file_oaflux = isafile(getenv('FILE_FLUX'), title = 'oaflux', iodir = std_iodir_climato) 29 std_file_mld = isafile(getenv('FILE_MLD'), title = 'Mixed layer depth', iodir = std_iodir_climato) 30 std_file_ice = isafile(getenv('FILE_ICE'), title = 'ICE', iodir = std_iodir_climato) 31 std_file_snow_arc = isafile(getenv('FILE_SNOW_ARC'), title = 'SNOW_ARC', iodir = std_iodir_climato) 32 std_file_snow_ant = isafile(getenv('FILE_SNOW_ANT'), title = 'SNOW_ANT', iodir = std_iodir_climato) 30 33 31 34 IF strlowcase(getenv('FILE_GEOHEAT')) EQ 'no' THEN std_file_geoheat = 'no' $ … … 155 158 Ithi_1 = read_ncdf(getenv('VAR1_Ithick'), allrecords = allrec, filename = std_file1_I ) 156 159 caldat, time, mm 157 march = where(mm EQ 3, cnt)158 Ithi_ march_1 = {arr:1./float(cnt) * total(Ithi_1.arr[*, *, temporary(march)], 3), unit:Ithi_1.unit}160 april = where(mm EQ 4, cnt) 161 Ithi_april_1 = {arr:1./float(cnt) * total(reform(Ithi_1.arr[*, *, temporary(april)],nxt,nyt,cnt), 3), unit:Ithi_1.unit} 159 162 sept = where(mm EQ 9, cnt) 160 Ithi_sept_1 = {arr:1./float(cnt) * total( Ithi_1.arr[*, *, temporary(sept)], 3), unit:Ithi_1.unit}163 Ithi_sept_1 = {arr:1./float(cnt) * total(reform(Ithi_1.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Ithi_1.unit} 161 164 undefine, Ithi_1 162 165 ; 163 166 IF std_file2_I NE std_file1_I THEN BEGIN 164 Ithi_2 = read_ncdf(getenv('VAR2_Ithick'), allrecords = allrec, filename = std_file2_I )165 caldat, time, mm166 march = where(mm EQ 3, cnt)167 Ithi_march_2 = {arr:1./float(cnt) * total(Ithi_2.arr[*, *, temporary(march)], 3), unit:Ithi_2.unit}168 sept = where(mm EQ 9, cnt)169 Ithi_sept_2 = {arr:1./float(cnt) * total(Ithi_2.arr[*, *, temporary(sept)], 3), unit:Ithi_2.unit}170 undefine, Ithi_2167 Ithi_2 = read_ncdf(getenv('VAR2_Ithick'), allrecords = allrec, filename = std_file2_I ) 168 caldat, time, mm 169 april = where(mm EQ 4, cnt) 170 Ithi_april_2 = {arr:1./float(cnt) * total(reform(Ithi_2.arr[*, *, temporary(april)],nxt,nyt,cnt), 3), unit:Ithi_2.unit} 171 sept = where(mm EQ 9, cnt) 172 Ithi_sept_2 = {arr:1./float(cnt) * total(reform(Ithi_2.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Ithi_2.unit} 173 undefine, Ithi_2 171 174 ENDIF ELSE BEGIN 172 Ithi_march_2 = {arr:-1}173 Ithi_sept_2 = {arr:-1}175 Ithi_april_2 = {arr:-1} 176 Ithi_sept_2 = {arr:-1} 174 177 ENDELSE 175 178 ; 176 179 Ifra_1 = read_ncdf(getenv('VAR1_Ifrac'), allrecords = allrec, filename = std_file1_I ) 180 help, Ifra_1.arr, jpi,jpj 177 181 caldat, time, mm 178 182 march = where(mm EQ 3, cnt) 179 Ifra_march_1 = {arr:1./float(cnt) * total( Ifra_1.arr[*, *, temporary(march)], 3), unit:Ifra_1.unit}183 Ifra_march_1 = {arr:1./float(cnt) * total(reform(Ifra_1.arr[*, *, temporary(march)],nxt,nyt,cnt), 3), unit:Ifra_1.unit} 180 184 sept = where(mm EQ 9, cnt) 181 Ifra_sept_1 = {arr:1./float(cnt) * total( Ifra_1.arr[*, *, temporary(sept)], 3), unit:Ifra_1.unit}185 Ifra_sept_1 = {arr:1./float(cnt) * total(reform(Ifra_1.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Ifra_1.unit} 182 186 undefine, Ifra_1 183 187 ; … … 186 190 caldat, time, mm 187 191 march = where(mm EQ 3, cnt) 188 Ifra_march_2 = {arr:1./float(cnt) * total( Ifra_2.arr[*, *, temporary(march)], 3), unit:Ifra_2.unit}192 Ifra_march_2 = {arr:1./float(cnt) * total(reform(Ifra_2.arr[*, *, temporary(march)],nxt,nyt,cnt), 3), unit:Ifra_2.unit} 189 193 sept = where(mm EQ 9, cnt) 190 Ifra_sept_2 = {arr:1./float(cnt) * total( Ifra_2.arr[*, *, temporary(sept)], 3), unit:Ifra_2.unit}194 Ifra_sept_2 = {arr:1./float(cnt) * total(reform(Ifra_2.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Ifra_2.unit} 191 195 undefine, Ifra_2 192 196 ENDIF ELSE BEGIN 193 197 Ifra_march_2 = {arr:-1} 194 198 Ifra_sept_2 = {arr:-1} 199 ENDELSE 200 ; 201 Isnow_1 = read_ncdf(getenv('VAR2_Isnow'), allrecords = allrec, filename = std_file1_I ) 202 help, Isnow_1.arr, jpi,jpj 203 caldat, time, mm 204 april = where(mm EQ 4, cnt) 205 Isnow_april_1 = {arr:1./float(cnt) * total(reform(Isnow_1.arr[*, *, temporary(april)],nxt,nyt,cnt), 3), unit:Isnow_1.unit} 206 sept = where(mm EQ 9, cnt) 207 Isnow_sept_1 = {arr:1./float(cnt) * total(reform(Isnow_1.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Isnow_1.unit} 208 ;undefine, Isnow_1 209 ; 210 IF std_file2_I NE std_file1_I THEN BEGIN 211 Isnow_2 = read_ncdf(getenv('VAR2_Isnow'), allrecords = allrec, filename = std_file2_I ) 212 caldat, time, mm 213 april = where(mm EQ 4, cnt) 214 Isnow_april_2 = {arr:1./float(cnt) * total(reform(Isnow_2.arr[*, *, temporary(april)],nxt,nyt,cnt), 3), unit:Isnow_2.unit} 215 sept = where(mm EQ 9, cnt) 216 Isnow_sept_2 = {arr:1./float(cnt) * total(reform(Isnow_2.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Isnow_2.unit} 217 ; undefine, Isnow_2 218 ENDIF ELSE BEGIN 219 Isnow_april_2 = {arr:-1} 220 Isnow_sept_2 = {arr:-1} 195 221 ENDELSE 196 222 ; … … 299 325 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_S, S1, S2, SLev, SUBBASIN = 'Pac', _extra = ex 300 326 301 cnt = cnt+1 & blabla = 'Arctic Ice Thickness: MARCH' 302 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_march_1, Ithi_march_2, /ARC, /MARCH, _extra = ex 303 327 ;; cnt = cnt+1 & blabla = 'Arctic Ice Thickness: MARCH' 328 ;; IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_march_1, Ithi_march_2, /ARC, /MARCH, _extra = ex 329 330 cnt = cnt+1 & blabla = 'Arctic Ice Thickness: APRIL' 331 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_april_1, Ithi_april_2, /ARC, /APRIL, _extra = ex 332 304 333 cnt = cnt+1 & blabla = 'Arctic Ice Thickness: SEPT' 305 334 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_sept_1, Ithi_sept_2, /ARC, /SEPT, _extra = ex 306 335 307 cnt = cnt+1 & blabla = 'Antarctic Ice Thickness: MARCH' 308 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_march_1, Ithi_march_2, /ANT, /MARCH, _extra = ex 336 ;; cnt = cnt+1 & blabla = 'Antarctic Ice Thickness: MARCH' 337 ;; IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_march_1, Ithi_march_2, /ANT, /MARCH, _extra = ex 338 339 cnt = cnt+1 & blabla = 'Antarctic Ice Thickness: APRIL' 340 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_april_1, Ithi_april_2, /ANT, /APRIL, _extra = ex 309 341 310 342 cnt = cnt+1 & blabla = 'Antarctic Ice Thickness: SEPT' … … 323 355 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceFrac, Ifra_sept_1, Ifra_sept_2, /ANT, /SEPT, _extra = ex 324 356 357 cnt = cnt+1 & blabla = 'Arctic SNOW Thickness: APRIL' 358 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_SnowThick, Isnow_april_1, Isnow_april_2, /ARC, /APRIL, _extra = ex 359 360 cnt = cnt+1 & blabla = 'Arctic SNOW Thickness: SEPT' 361 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_SnowThick, Isnow_sept_1, Isnow_sept_2, /ARC, /SEPT, _extra = ex 362 363 cnt = cnt+1 & blabla = 'Antarctic SNOW Thickness: APRIL' 364 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_SnowThick, Isnow_april_1, Isnow_april_2, /ANT, /APRIL, _extra = ex 365 366 cnt = cnt+1 & blabla = 'Antarctic SNOW Thickness: SEPT' 367 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_SnowThick, Isnow_sept_1, Isnow_sept_2, /ANT, /SEPT, _extra = ex 368 369 cnt = cnt+1 & blabla = 'Arctic Ice Extend: ' 370 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceExt, Ifra_1, Ifra_2, masknp, /ARC, _extra = ex 371 372 cnt = cnt+1 & blabla = 'Antarctic Ice Extend: ' 373 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceExt, Ifra_1, Ifra_2, masknp, /ANT, _extra = ex 374 325 375 cnt = cnt+1 & blabla = 'Meridional stream Function: Global (no Med)' 326 376 IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_msf, V1, V2, SUBBASIN = 'GloNoMed', _extra = ex -
branches/2013/dev_r3918_CNRS_idl_plots/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_vardef.sh_example1
r2753 r3927 18 18 idl_command=/Applications/itt/idl64/bin/idl 19 19 # 20 PS_DIR=$( pwd )/ps 21 PDF_DIR=$( pwd )/pdf 22 HTML_DIR=$( pwd )/html 23 SAXO_DIR=/Users/s masson/SAXO_DIR20 PS_DIR=$( pwd )/ps_plot 21 PDF_DIR=$( pwd )/pdf_plot 22 HTML_DIR=$( pwd )/html_plot 23 SAXO_DIR=/Users/sflod/SAXO_DIR 24 24 # 25 DIR_DATA=/Users/s masson/tmp/idlorca2/res# path of data in NetCDF format26 DIR_CLIMATO=/Users/s masson/tmp/idlorca2/clim# path of climatological data27 DIR_MASK=/Users/s masson/tmp/idlorca2/clim# path of mask files (ex: subbasins)25 DIR_DATA=/Users/sflod/idl_PLOTS/DATA_STORE/RUN_CLIMATO/lim3_ada # path of data in NetCDF format 26 DIR_CLIMATO=/Users/sflod/idl_PLOTS/CLIMATOLOGIES # path of climatological data 27 DIR_MASK=/Users/sflod/idl_PLOTS/MASK # path of mask files (ex: subbasins) 28 28 # 29 29 #===================== Model GRID ===================== 30 30 # 31 FILE_MESH_MASK=/Users/s masson/data/vp33beta_mesh_mask_7.nc # meshmask31 FILE_MESH_MASK=/Users/sflod/idl_PLOTS/MASK/ORL2PISV35_mesh_mask.nc # meshmask 32 32 FILE_MASK_SUBDOMAIN=subbasins_orca21_nored.nc # sub-bassin masks 33 33 # 34 34 #===================== DATA ===================== 35 35 # 36 VAR_TEMP_3D=votemper ; FILE_TEMP_3D=data_1y_potential_temperature_nomask.nc # Levitus_T 37 VAR_SAL_3D=vosaline ; FILE_SAL_3D=data_1y_salinity_nomask.nc # Levitus_S 38 VAR_SST=sst ; FILE_SST=NewREY_ORCA2_1991_2000_1y.nc # Reynolds 39 VAR_FLUX=qnet ; FILE_FLUX=OAFlux_1my_01_12_1984_2004_orca2_qnet.nc # flux 40 VAR_MLD=mld ; FILE_MLD=mld_DR003_c1m_ORCA2_1y.nc # Mixed layer depth 36 VAR_TEMP_3D=votemper ; FILE_TEMP_3D=data_1y_potential_temperature_nomask.nc # Levitus_T 37 VAR_SAL_3D=vosaline ; FILE_SAL_3D=data_1y_salinity_nomask.nc # Levitus_S 38 VAR_SST=sst ; FILE_SST=NewREY_ORCA2_1991_2000_1y.nc # Reynolds 39 VAR_FLUX=qnet ; FILE_FLUX=OAFlux_1my_01_12_1984_2004_orca2_qnet.nc # flux 40 VAR_MLD=mld ; FILE_MLD=mld_DR003_c1m_ORCA2_1y.nc # Mixed layer depth 41 VAR_ICE_EXT_NH=extt_NH ; FILE_ICE=sea_ice_index.nc # Ice Extent North Emisphere 42 VAR_ICE_EXT_SH=extt_SH ; FILE_ICE=sea_ice_index.nc # Ice Extent South Emisphere 43 VAR_ICE_area_NH=area_NH ; FILE_ICE=sea_ice_index.nc # Ice Area North Emisphere 44 VAR_ICE_area_SH=area_SH ; FILE_ICE=sea_ice_index.nc # Ice Area South Emisphere 45 VAR_SNOW_NH=SnowDepth ; FILE_SNOW_ARC=Warren99_1954_1991_arctic_snowdepth.nc # Snow arctic 46 VAR_SNOW_SH=sno_dept_mm ; FILE_SNOW_ANT=SMMR_SSMI_antarc_sno_dep_mm1979_2004.nc # Snow antartic 41 47 # 42 48 # Geothermal heating -> define FILE_GEOHEAT to 'NO' if there is not such forcing … … 60 66 VAR1_Ithick=sit 61 67 VAR1_Ifrac=sic 68 VAR1_Isnow=isnowthi 62 69 # 63 70 #===================== EXP2 ===================== … … 77 84 VAR2_Ithick=sit 78 85 VAR2_Ifrac=sic 86 VAR2_Isnow=isnowthi 79 87 # 80 88 ######################### Export Variables ############################### … … 86 94 export FILE_MESH_MASK FILE_MASK_SUBDOMAIN 87 95 #===================== DATA ===================== 88 export FILE_TEMP_3D VAR_TEMP_3D 89 export FILE_SAL_3D VAR_SAL_3D 90 export FILE_SST VAR_SST 91 export FILE_GEOHEAT VAR_GEOHEAT 92 export FILE_FLUX VAR_FLUX 93 export FILE_MLD VAR_MLD 96 export FILE_TEMP_3D VAR_TEMP_3D 97 export FILE_SAL_3D VAR_SAL_3D 98 export FILE_SST VAR_SST 99 export FILE_GEOHEAT VAR_GEOHEAT 100 export FILE_FLUX VAR_FLUX 101 export FILE_MLD VAR_MLD 102 export FILE_ICE VAR_ICE_EXT_NH VAR_ICE_EXT_SH, VAR_ICE_area_NH, VAR_ICE_area_SH 103 export FILE_SNOW_ARC VAR_SNOW_NH 104 export FILE_SNOW_ANT VAR_SNOW_SH 94 105 #===================== EXP1 ===================== 95 106 export READ_ONLY_FIRST_RECORD 96 export FILE1_T FILE1_U FILE1_VFILE1_I97 export VAR1_T VAR1_SVAR1_QNET VAR1_ERP VAR1_EMP VAR1_MLD98 export VAR1_U VAR1_V99 export VAR1_Ithick VAR1_Ifrac 107 export FILE1_T FILE1_U FILE1_V FILE1_I 108 export VAR1_T VAR1_S VAR1_QNET VAR1_ERP VAR1_EMP VAR1_MLD 109 export VAR1_U VAR1_V 110 export VAR1_Ithick VAR1_Ifrac VAR1_Isnow 100 111 #===================== EXP2 ===================== 101 export FILE2_T FILE2_U FILE2_VFILE2_I102 export VAR2_T VAR2_SVAR2_QNET VAR2_ERP VAR2_EMP VAR2_MLD103 export VAR2_U VAR2_V104 export VAR2_Ithick VAR2_Ifrac 112 export FILE2_T FILE2_U FILE2_V FILE2_I 113 export VAR2_T VAR2_S VAR2_QNET VAR2_ERP VAR2_EMP VAR2_MLD 114 export VAR2_U VAR2_V 115 export VAR2_Ithick VAR2_Ifrac VAR2_Isnow 105 116 # -
branches/2013/dev_r3918_CNRS_idl_plots/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_plot_vardef.sh_example2
r2753 r3927 34 34 #===================== DATA ===================== 35 35 # 36 VAR_TEMP_3D=votemper ; FILE_TEMP_3D=data_1y_potential_temperature_nomask.nc # Levitus_T 37 VAR_SAL_3D=vosaline ; FILE_SAL_3D=data_1y_salinity_nomask.nc # Levitus_S 38 VAR_SST=sst ; FILE_SST=NewREY_ORCA2_1991_2000_1y.nc # Reynolds 39 VAR_FLUX=qnet ; FILE_FLUX=OAFlux_1my_01_12_1984_2004_orca2_qnet.nc # flux 40 VAR_MLD=mld ; FILE_MLD=mld_DR003_c1m_ORCA2_1y.nc # Mixed layer depth 36 VAR_TEMP_3D=votemper ; FILE_TEMP_3D=data_1y_potential_temperature_nomask.nc # Levitus_T 37 VAR_SAL_3D=vosaline ; FILE_SAL_3D=data_1y_salinity_nomask.nc # Levitus_S 38 VAR_SST=sst ; FILE_SST=NewREY_ORCA2_1991_2000_1y.nc # Reynolds 39 VAR_FLUX=qnet ; FILE_FLUX=OAFlux_1my_01_12_1984_2004_orca2_qnet.nc # flux 40 VAR_MLD=mld ; FILE_MLD=mld_DR003_c1m_ORCA2_1y.nc # Mixed layer depth 41 VAR_ICE_EXT_NH=extt_NH ; FILE_ICE=sea_ice_index.nc # Ice Extent North Emisphere 42 VAR_ICE_EXT_SH=extt_SH ; FILE_ICE=sea_ice_index.nc # Ice Extent South Emisphere 43 VAR_ICE_area_NH=area_NH ; FILE_ICE=sea_ice_index.nc # Ice Area North Emisphere 44 VAR_ICE_area_SH=area_SH ; FILE_ICE=sea_ice_index.nc # Ice Area South Emisphere 45 VAR_SNOW_NH=SnowDepth ; FILE_SNOW_ARC=Warren99_1954_1991_arctic_snowdepth.nc # Snow arctic 46 VAR_SNOW_SH=sno_dept_mm ; FILE_SNOW_ANT=SMMR_SSMI_antarc_sno_dep_mm1979_2004.nc # Snow antartic 41 47 # 42 48 # Geothermal heating -> define FILE_GEOHEAT to 'NO' if there is not such forcing … … 60 66 VAR1_Ithick=sit 61 67 VAR1_Ifrac=sic 68 VAR1_Isnow=isnowthi 62 69 # 63 70 #===================== EXP2 ===================== … … 77 84 VAR2_Ithick=sit 78 85 VAR2_Ifrac=sic 86 VAR2_Isnow=isnowthi 79 87 # 80 88 ######################### Export Variables ############################### … … 86 94 export FILE_MESH_MASK FILE_MASK_SUBDOMAIN 87 95 #===================== DATA ===================== 88 export FILE_TEMP_3D VAR_TEMP_3D 89 export FILE_SAL_3D VAR_SAL_3D 90 export FILE_SST VAR_SST 91 export FILE_GEOHEAT VAR_GEOHEAT 92 export FILE_FLUX VAR_FLUX 93 export FILE_MLD VAR_MLD 96 export FILE_TEMP_3D VAR_TEMP_3D 97 export FILE_SAL_3D VAR_SAL_3D 98 export FILE_SST VAR_SST 99 export FILE_GEOHEAT VAR_GEOHEAT 100 export FILE_FLUX VAR_FLUX 101 export FILE_MLD VAR_MLD 102 export FILE_ICE VAR_ICE_EXT_NH VAR_ICE_EXT_SH, VAR_ICE_area_NH, VAR_ICE_area_SH 103 export FILE_SNOW_ARC VAR_SNOW_NH 104 export FILE_SNOW_ANT VAR_SNOW_SH 94 105 #===================== EXP1 ===================== 95 106 export READ_ONLY_FIRST_RECORD 96 export FILE1_T FILE1_U FILE1_VFILE1_I97 export VAR1_T VAR1_SVAR1_QNET VAR1_ERP VAR1_EMP VAR1_MLD98 export VAR1_U VAR1_V99 export VAR1_Ithick VAR1_Ifrac 107 export FILE1_T FILE1_U FILE1_V FILE1_I 108 export VAR1_T VAR1_S VAR1_QNET VAR1_ERP VAR1_EMP VAR1_MLD 109 export VAR1_U VAR1_V 110 export VAR1_Ithick VAR1_Ifrac VAR1_Isnow 100 111 #===================== EXP2 ===================== 101 export FILE2_T FILE2_U FILE2_VFILE2_I102 export VAR2_T VAR2_SVAR2_QNET VAR2_ERP VAR2_EMP VAR2_MLD103 export VAR2_U VAR2_V104 export VAR2_Ithick VAR2_Ifrac 112 export FILE2_T FILE2_U FILE2_V FILE2_I 113 export VAR2_T VAR2_S VAR2_QNET VAR2_ERP VAR2_EMP VAR2_MLD 114 export VAR2_U VAR2_V 115 export VAR2_Ithick VAR2_Ifrac VAR2_Isnow 105 116 # -
branches/2013/dev_r3918_CNRS_idl_plots/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_ICE.pro
r2751 r3927 1 pro std_ts_ICE, masknp, s_iodir_data, POSTSCRIPT = postscript, _extra = ex 1 function read_arr2d, filename, varname, t1, t2 2 ;; function that read input file and return 2d array with monthly timecounter 3 nyear = (t2-t1+1)/12 4 arr2d = ncdf_lec(filename, VAR=varname) 5 arr2d = arr2d[t1:t2] 6 arr2d = reform(arr2d,12,nyear) ; put in 2D array 7 arr2d = total(arr2d,2)/nyear ; total over 2th dimension (i.e.years) 8 9 return, arr2d 10 end 11 12 ;; here start procedure that use function read_arr2d 13 pro std_ts_ICE, masknp, s_iodir_data, POSTSCRIPT = postscript, _extra = ex 2 14 3 15 compile_opt idl2, strictarrsubs … … 10 22 ; get exp2 info 11 23 vICE2 = getenv('VAR2_ICE') & prefix2 = getenv('V2ICE_PREF') & suffix2 = getenv('V2ICE_SUFF') 24 ; get ice climatology info 25 std_file_ice = isafile(getenv('FILE_ICE'), title = 'ICE Extent Climatology', iodir = std_iodir_climato) 12 26 ; 27 time_ice = ncdf_lec( std_file_ice, VAR='time' ) 28 time_ice = (time_ice - FLOOR(time_ice) ) * 12 29 time_ice = (round(time_ice) + 11) mod 12; round to nearest integer 30 t1 = where(time_ice eq 0) 31 t1 = t1[0] ; jannuary 32 t2 = where(time_ice eq 11, count) 33 t2 = t2[count-1] ; last day of december 34 35 vICE_ext_NH = read_arr2d(std_file_ice, getenv('VAR_ICE_EXT_NH'), t1, t2 ) 36 vICE_ext_SH = read_arr2d(std_file_ice, getenv('VAR_ICE_EXT_SH'), t1, t2 ) 37 ; 38 vICE_area_NH = read_arr2d(std_file_ice, getenv('VAR_ICE_area_NH'), t1, t2 ) 39 vICE_area_SH = read_arr2d(std_file_ice, getenv('VAR_ICE_area_SH'), t1, t2 ) 40 ; 13 41 cdti3 = string(cnt, format = '(i3.3)') 14 42 print, cdti3 + ') ' + blabla 15 filename = cdti3 + '_ts_ AMOC_'+prefix43 filename = cdti3 + '_ts_ICE_'+prefix 16 44 if prefix NE prefix2 then filename = filename + '_'+prefix2 17 if KEYWORD_SET(postscript) then openps, filename+' _1.ps', portrait = 145 if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1 18 46 ; 19 47 d1_d2 = '('+strtrim(date1, 1)+' - '+strtrim(date2, 1)+')' 20 48 ; 21 49 iodir = std_iodir_data 50 ; ICE Area in NORTH Hemisphere 51 domdef, 0, jpi-1, 30, 90, /xindex 52 ICE_N = rseries_ncdf(vICE1, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec) 53 ICE_N = grossemoyenne(ICE_N.arr, 'xy', /integration, mask2d = masknp) 22 54 23 domdef, 0, jpi-1, 30, 90, /xindex 24 ICE_N = rseries_ncdf(vICE1, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec, direc = 'xy', /integration, mask2d = masknp) 25 ICE_N.arr = ICE_N.arr * 1.e-12 & ICE_N.unit = '10^12 m^2' 26 domdef, 0, jpi-1, -90, -30, /xindex 27 ICE_S = rseries_ncdf(vICE1, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec, direc = 'xy', /integration, mask2d = masknp) 28 ICE_S.arr = ICE_S.arr * 1.e-12 & ICE_S.unit = '10^12 m^2' 55 if jpt mod 12 ne 0 then stop 56 nyr=jpt/12. 57 ICE_N = reform(ice_n, 12,nyr) 58 ICE_n = total(ice_n,2)/nyr 59 ICE_N = {arr:ICE_N * 1.e-12, unit : '10^12 m^2'} 29 60 30 title = prefix+' '+d1_d2+'!C'+'Global Annual Mean Ice Area (North. Hemisp.)' 31 pltt, ICE_N, 't', 0., 15., date1, date2, /REMPLI, /PORTRAIT $ 61 ; ICE EXTENT (Area minus 15%) in NORTH Hemisphere 62 ICE_N_15 = rseries_ncdf(vICE1, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec) 63 msk = ICE_N_15.arr gt 0.15 ; remove 0.15% for observations 64 ICE_N_15 = grossemoyenne( msk, 'xy', /integration, mask2d = masknp) 65 if jpt mod 12 ne 0 then stop 66 nyr=jpt/12. 67 ICE_N_15 = reform(ice_n_15, 12,nyr) 68 ICE_n_15 = total(ice_n_15,2)/nyr 69 ICE_N_15 = {arr:ICE_N_15 * 1.e-12, unit : '10^12 m^2'} 70 ; 71 ;ICE Area in SOUTH Hemisphere 72 domdef, 0, jpi-1, -90, -30, /xindex 73 ICE_S = rseries_ncdf(vICE1, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec) 74 ICE_S = grossemoyenne(ICE_S.arr, 'xy', /integration, mask2d = masknp) 75 if jpt mod 12 ne 0 then stop 76 nyr=jpt/12. 77 ICE_S = reform(ice_S, 12,nyr) 78 ICE_S = total(ice_S,2)/nyr 79 ICE_S = {arr:ICE_S * 1.e-12, unit : '10^12 m^2'} 80 ; ICE EXTENT (Area minus 15%) in SOUTH Hemisphere 81 ICE_S_15 = rseries_ncdf(vICE1, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec) 82 msk = ICE_S_15.arr gt 0.15 ; remove 0.15% for observations 83 ICE_S_15 = grossemoyenne(msk, 'xy', /integration, mask2d = masknp) 84 if jpt mod 12 ne 0 then stop 85 nyr=jpt/12. 86 ICE_S_15 = reform(ice_S_15, 12,nyr) 87 ICE_S_15 = total(ice_S_15,2)/nyr 88 ICE_S_15 = {arr:ICE_S_15 * 1.e-12, unit : '10^12 m^2'} 89 ; 90 title = 'Northern Hemisphere !C'+prefix+' '+d1_d2+'!C'+' Global Annual Mean Ice Area (Black SOLID simulation)'+'!C'+ 'and Extend minus 15% (Blue SOLID simulation)'+'!C'+'Observation (dashed)' 91 jpt=12 92 time=julday(1,15,1900)+30*lindgen(12) 93 pltt, ICE_N, 't', 0., 15., 19000101, 19001231, /REMPLI, /PORTRAIT,MIN = 4., MAX = 16. $ 32 94 , small = [1, 2, 1], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex 33 34 title = prefix+' '+d1_d2+'!C'+'Global Annual Mean Ice Area (South. Hemisp.)' 35 pltt, ICE_S, 't', 0., 15., date1, date2, /REMPLI, /NOERASE $ 95 pltt, ICE_N_15, 't', 0., 15., 19000101, 19001231, /REMPLI, /PORTRAIT $ ; dashed lines is LINESTYLE=2 $ 96 , /ov1d, COLOR = 100, small = [1, 2, 1], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex 97 pltt, vICE_area_NH, 't', 0., 15., 19000101, 19001231, /REMPLI, /PORTRAIT, LINESTYLE=2 $ 98 , /ov1d, small = [1, 2, 1], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex 99 pltt, vICE_ext_NH, 't', 0., 15., 19000101, 19001231, /REMPLI, /PORTRAIT, LINESTYLE=2 $ 100 , /ov1d, COLOR = 100, small = [1, 2, 1], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex 101 ; 102 title ='Southern Hemisphere !C'+prefix+' '+d1_d2+' - '+'!C'+'Global Annual Mean Ice Area (Black SOLID simulation)'+'!C'+ 'and Extend minus 15% (Blue SOLID simulation)'+'!C'+'Observation (dashed)' 103 pltt, ICE_S, 't', 0., 15.,19000101 ,19001231 , /REMPLI, /NOERASE , MIN = 0., MAX = 20. $ 36 104 , small = [1, 2, 2], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex 37 38 htmltxt = [ htmltxt, '<hr>'+blabla, '<br><img width="80%" src='+filename+'_1.png /> ' ] 105 pltt, ICE_S_15, 't', 0., 15., 19000101, 19001231, /REMPLI, /PORTRAIT $ 106 , /ov1d, COLOR = 100, small = [1, 2, 1], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex 107 pltt, vICE_area_SH, 't', 0., 15., 19000101, 19001231, /REMPLI, /PORTRAIT, LINESTYLE=2 $ 108 , /ov1d, small = [1, 2, 1], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex 109 pltt, vICE_ext_SH, 't', 0., 15., 19000101, 19001231, /REMPLI, /PORTRAIT, LINESTYLE=2 $ 110 , /ov1d, COLOR = 100, small = [1, 2, 1], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex 111 ; 112 htmltxt = [ htmltxt, '<hr>'+blabla, '<br><img width="80%" src='+filename+'.png /> ' ] 39 113 if KEYWORD_SET(postscript) then closeps 40 114 … … 42 116 43 117 d1_d2_2 = '('+strtrim(date1_2, 1)+' - '+strtrim(date2_2, 1)+')' 44 45 118 tsave = time 46 119 domdef, 0, jpi-1, 30, 90, /xindex 47 ICE_N2 = rseries_ncdf(vICE2, date1_2, date2_2, prefix2, suffix2, FIRSTONLY = 1 - allrec, direc = 'xy', /integration, mask2d = masknp) 48 ICE_N2.arr = ICE_N2.arr * 1.e-12 & ICE_N2.unit = '10^12 m^2' 49 domdef, 0, jpi-1, -90, -30, /xindex 50 ICE_S2 = rseries_ncdf(vICE2, date1_2, date2_2, prefix2, suffix2, FIRSTONLY = 1 - allrec, direc = 'xy', /integration, mask2d = masknp) 51 ICE_S2.arr = ICE_S2.arr * 1.e-12 & ICE_S2.unit = '10^12 m^2' 120 ;ICE Extent in NORTH Hemisphere 121 ICE_N2 = rseries_ncdf(vICE2, date1_2, date2_2, prefix2, suffix2, FIRSTONLY = 1 - allrec) 122 ICE_N2 = grossemoyenne(ICE_N2.arr, 'xy', /integration, mask2d = masknp) 123 if jpt mod 12 ne 0 then stop 124 nyr=jpt/12. 125 ICE_N2 = reform(ICE_N2, 12,nyr) 126 ICE_N2 = total(ICE_N2,2)/nyr 127 ICE_N2 = {arr:ICE_N2 * 1.e-12, unit : '10^12 m^2'} 128 ;ICE Extent minus 15% in NORTH Hemisphere 129 ICE_N2_15 = rseries_ncdf(vICE2, date1_2, date2_2, prefix_2, suffix_2, FIRSTONLY = 1 - allrec) 130 msk = ICE_N2_15.arr gt 0.15 ; remove 0.15% for observations 131 ICE_N2_15 = grossemoyenne( msk, 'xy', /integration, mask2d = masknp) 132 if jpt mod 12 ne 0 then stop 133 nyr=jpt/12. 134 ICE_N2_15 = reform(ICE_N2_15, 12,nyr) 135 ICE_N2_15 = total(ICE_N2_15,2)/nyr 136 ICE_N2_15 = {arr:ICE_N2_15 * 1.e-12, unit : '10^12 m^2'} 137 ;ICE Extent in SOUTH Hemisphere 138 domdef, 0, jpi-1, -90, -30, /xindex 139 ICE_S2 = rseries_ncdf(vICE2, date1_2, date2_2, prefix_2, suffix_2, FIRSTONLY = 1 - allrec) 140 ICE_S2 = grossemoyenne(ICE_S2.arr, 'xy', /integration, mask2d = masknp) 141 if jpt mod 12 ne 0 then stop 142 nyr=jpt/12. 143 ICE_S2 = reform(ICE_S2, 12,nyr) 144 ICE_S2 = total(ICE_S2,2)/nyr 145 ICE_S2 = {arr:ICE_S2 * 1.e-12, unit : '10^12 m^2'} 146 ;ICE Extent minus 15% in SOUTH Hemisphere 147 ICE_S2_15 = rseries_ncdf(vICE2, date1_2, date2_2, prefix_2, suffix_2, FIRSTONLY = 1 - allrec) 148 msk = ICE_S2_15.arr gt 0.15 ; remove 0.15% for observations 149 ICE_S2_15 = grossemoyenne(msk, 'xy', /integration, mask2d = masknp) 150 if jpt mod 12 ne 0 then stop 151 nyr=jpt/12. 152 ICE_S2_15 = reform(ICE_S2_15, 12,nyr) 153 ICE_S2_15 = total(ICE_S2_15,2)/nyr 154 ICE_S2_15 = {arr:ICE_S2_15 * 1.e-12, unit : '10^12 m^2'} 155 ; 52 156 time = tsave & IF n_elements(time) NE jpt THEN stop 53 157 54 if KEYWORD_SET(postscript) then openps, filename+' _2.ps', portrait = 1158 if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1 55 159 56 title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+'Global Annual Mean Ice Area (North. Hemisp.)'160 title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+'Global Annual Mean Ice Area (Red SOLID simulation) and Extend minus 15% (Blue SOLID simulation)' 57 161 pltt, ICE_N.arr - ICE_N2.arr, 't', -2., 2., date1, date2, /REMPLI, /PORTRAIT, window = 2 $ 58 162 , COLOR = 250, small = [1, 2, 1], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex 163 pltt, ICE_N_15.arr - ICE_N2_15.arr , 't', 0., 15., 19000101, 19001231, /REMPLI, /PORTRAIT $ ; linee tratteggiate LINESTYLE=2 $ 164 , /ov1d, COLOR = 100, small = [1, 2, 1], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex 59 165 60 title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+'Global Annual Mean Ice Area (South. Hemisp.) '166 title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+'Global Annual Mean Ice Area (South. Hemisp.) (Red SOLID simulation) and Extend minus 15% (Blue SOLID simulation)' 61 167 pltt, ICE_S.arr - ICE_S2.arr, 't', -2., 2., date1, date2, /REMPLI, /NOERASE $ 62 168 , COLOR = 250, small = [1, 2, 2], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex 169 pltt, ICE_S_15.arr - ICE_S2_15.arr , 't', 0., 15., 19000101, 19001231, /REMPLI, /PORTRAIT $ ; linee tratteggiate LINESTYLE=2 $ 170 , /ov1d, COLOR = 100, small = [1, 2, 1], YTITLE = '10^12 m^2 ', TITLE = title, _extra = ex 171 63 172 64 htmltxt = [ htmltxt, '<hr>'+blabla, '<br><img width="80%" src='+filename+' _2.png /> ' ]173 htmltxt = [ htmltxt, '<hr>'+blabla, '<br><img width="80%" src='+filename+'.png /> ' ] 65 174 if KEYWORD_SET(postscript) then closeps 66 175 -
branches/2013/dev_r3918_CNRS_idl_plots/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_all.pro
r2751 r3927 24 24 ; reading variables 25 25 masknp = read_ncdf('tmaskutil', file = std_file_mesh, /nostruct, /cont_nofill) 26 ; climatologies 27 std_file_Levitus_T = isafile(getenv('FILE_TEMP_3D'), title = 'Levitus_T', iodir = std_iodir_climato) 28 std_file_Levitus_S = isafile(getenv('FILE_SAL_3D'), title = 'Levitus_S', iodir = std_iodir_climato) 29 std_file_reynolds = isafile(getenv('FILE_SST'), title = 'Reynolds', iodir = std_iodir_climato) 30 std_file_oaflux = isafile(getenv('FILE_FLUX'), title = 'oaflux', iodir = std_iodir_climato) 31 std_file_mld = isafile(getenv('FILE_MLD'), title = 'Mixed layer depth', iodir = std_iodir_climato) 32 std_file_ice = isafile(getenv('FILE_ICE'), title = 'ICE', iodir = std_iodir_climato) 33 std_file_snow_arc = isafile(getenv('FILE_SNOW_ARC'), title = 'SNOW_ARC', iodir = std_iodir_climato) 34 std_file_snow_ant = isafile(getenv('FILE_SNOW_ANT'), title = 'SNOW_ANT', iodir = std_iodir_climato) 35 26 36 27 37 date1 = long(getenv('DATE1')) & date2 = long(getenv('DATE2')) … … 64 74 cnt = cnt+1 & blabla = 'Sea-Ice cover' 65 75 IF doplot EQ cnt OR doplot EQ 0 THEN std_ts_ICE, masknp, POSTSCRIPT = postscript, _extra = ex 76 ; 77 cnt = cnt+1 & blabla = 'Sea-Ice Volume' 78 IF doplot EQ cnt OR doplot EQ 0 THEN std_ts_ICE_Vol, masknp, POSTSCRIPT = postscript, _extra = ex 66 79 80 ; cnt = cnt+1 & blabla = 'SNOW Volume' 81 ; IF doplot EQ cnt OR doplot EQ 0 THEN std_ts_SNOW_Vol, masknp, POSTSCRIPT = postscript, _extra = ex 82 ; 67 83 IF n_elements(htmltxt) GT 1 THEN putfile, psdir+'std_ts_html_body.txt', htmltxt[1:*] 68 84
Note: See TracChangeset
for help on using the changeset viewer.