New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 2751 for trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_Drake.pro – NEMO

Ignore:
Timestamp:
2011-04-26T10:45:52+02:00 (13 years ago)
Author:
smasson
Message:

large update of IDL_scripts for Is-ENES

File:
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_Drake.pro

    r2740 r2751  
    1 pro ts_mean_U, sEXP1, sEXP2, year1, year2, s_iodir_data, POSTSCRIPT = postscript, _extra = ex 
    2  
     1pro std_ts_Drake, masknp, s_iodir_data, POSTSCRIPT = postscript, _extra = ex 
    32 
    43  compile_opt idl2, strictarrsubs 
    54   
    6   @common 
     5@common 
     6@std_common 
     7 
     8; get exp1 info 
     9  vU1 = getenv('VAR1_U')   &   prefix = getenv('V1U_PREF')    &   suffix = getenv('V1U_SUFF') 
     10; get exp2 info 
     11  vU2 = getenv('VAR2_U')   &   prefix2 = getenv('V2U_PREF')   &   suffix2 = getenv('V2U_SUFF') 
     12; 
     13  cdti3 = string(cnt, format = '(i3.3)') 
     14  print, cdti3 + ') ' + blabla 
     15  filename = cdti3 + '_ts_Drake_'+prefix 
     16  if prefix NE prefix2 then filename = filename + '_'+prefix2 
     17  if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1 
     18; 
     19  d1_d2 = '('+strtrim(date1, 1)+' - '+strtrim(date2, 1)+')' 
     20; 
     21  iodir = std_iodir_data 
     22  
     23; find a point in south America (around 60E-30S) 
     24  if max(glamt) gt 300 then testlam = abs(glamt - 300) else testlam = abs(glamt + 60) 
     25  testlat = abs(gphit + 30) 
     26  index = where(abs(testlam - min(testlam)) lt 1 and abs(testlat - min(testlat)) lt 1 ) 
     27  xindex = index[0] mod jpi 
     28  yindex = index[0]/jpi 
     29; define a domain limited to a thin band going from Antactica to this point in south America 
     30  domdef, xindex, xindex+1, 0, yindex, 0, jpk-1, /index ; keep 2 points for x to avoid degenerated dimension... 
     31; 
     32  u1 = rseries_ncdf(vU1, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec, /nostruct) 
     33  drk1 = fltarr(jpt) 
     34  trans = strlowcase(getenv('VAR1_U')) EQ 'uocetr_eff' 
     35  FOR t = 0, jpt-1 DO BEGIN 
     36    tmp = bsf(u1[*, *, *, t], TRANSPORT = trans, /nostruct) 
     37    drk1[t] = tmp[0, nyt-1]-tmp[0, 0] 
     38  ENDFOR 
     39; 
     40  title = prefix+' '+d1_d2+'!C'+blabla 
     41  pltt, drk1, 't', 0., 200., date1, date2, /REMPLI $ 
     42        , small = [1, 2, 1],  TITLE = title, YTITLE = varunit, /PORTRAIT, _extra = ex 
    743   
    8  @initorca2 
    9   
    10  if max(glamt) gt 300 then testlam = abs(glamt - 300) else testlam = abs(glamt + 60) 
     44  if prefix NE prefix2 then begin 
     45; 
     46    d1_d2_2 = '('+strtrim(date1_2, 1)+' - '+strtrim(date2_2, 1)+')' 
     47    tsave = time 
     48    u2 = rseries_ncdf(vU2, date1_2, date2_2, prefix2, suffix2, FIRSTONLY = 1 - allrec, /nostruct) 
     49    drk2 = fltarr(jpt) 
     50    trans = strlowcase(getenv('VAR2_U')) EQ 'uocetr_eff' 
     51    FOR t = 0, jpt-1 DO BEGIN 
     52      tmp = bsf(u2[*, *, *, t], TRANSPORT = trans, /nostruct) 
     53      drk2[t] = tmp[0, nyt-1]-tmp[0, 0] 
     54    ENDFOR 
     55    time = tsave   &   IF n_elements(time) NE jpt THEN stop 
    1156 
    12  testlat = abs(gphit + 30) 
     57    title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+blabla 
     58    pltt, drk1 - drk2, 't', -30., 30., date1, date2, /REMPLI, /NOERASE $ 
     59          , COLOR = 250, small = [1, 2, 2],  TITLE = title, YTITLE = varunit, _extra = ex 
     60     
     61  endif 
    1362 
    14  index=where(abs(testlam - min(testlam)) lt 1 and abs(testlat - min(testlat)) lt 1 ) 
    15  xindex=index[0] mod jpi 
    16  yindex=index[0]/jpi 
     63  domdef 
    1764 
    18  domdef, xindex, xindex+1, 0, yindex, 0, jpk-1, /index 
    19  
    20  if KEYWORD_SET(POSTSCRIPT) then begin 
    21     openps, sEXP1+'_U_mean.ps', portrait = 1 
    22  endif 
    23   
    24  ts_bbD = 0. 
    25  ts_bbD2 = 0. 
    26  ts_Time = 0. 
    27   
    28  for year=year1,year2 do begin 
    29      
    30     date1 = year * 10000L + 101 
    31     date2 = year * 10000L + 1231 
    32     filename = getname(s_iodir_data,sEXP1,'1Y','grid_U',date1) 
    33     filename2 = getname(s_iodir_data,sEXP2,'1Y','grid_U',date1) 
    34  
    35     if filename eq '' then stop  
    36     U1 = read_ncdf('uocetr_eff',date1 ,date2 , filename = filename, /nostruct) 
    37     U2 = read_ncdf('uocetr_eff',date1 ,date2 , filename = filename2, /nostruct) 
    38       
    39     bb1 = bsf(U1) 
    40     bb2 = bsf(U2) 
    41     bb1=bb1.arr[0,*] 
    42     bb2=bb2.arr[0,*] 
    43  
    44     bbDRAKE = bb1[nyt-1]-bb1[0] 
    45     bb2DRAKE = bb2[nyt-1]-bb2[0] 
    46  
    47     ts_bbD = [ ts_bbD, bbDRAKE ] 
    48     ts_bbD2 = [ ts_bbD2, bb2DRAKE ] 
    49     ts_Time = [ ts_Time, Time]  ; Time = date 
    50         
    51  endfor 
    52   
    53  ts_bbD = ts_bbD[1:*]           ; remove first record of 0 
    54  ts_bbD2 = ts_bbD2[1:*]         ; remove first record of 0 
    55  Time = ts_Time[1:*]            ; remove first record of 0 
    56   
    57  jpt = n_elements(Time) 
    58  
    59  title = sEXP1+' DRAKE transport --- year '+strtrim(year1,1)+' - '+strtrim(year2,1) 
    60  pltt,ts_bbD,'t', 0., 200., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $ 
    61       , small = [1,2,1],  TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex 
    62   
    63  if sEXP2 ne sEXP1 then begin 
    64      
    65     title = sEXP1+' - '+sEXP2+' DRAKE transport --- year '+strtrim(year1,1)+' - '+strtrim(year2,1) 
    66     pltt,ts_bbD - ts_bbD2,'t', -30., 30., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI, /NOERASE $ 
    67         , COLOR = 250, small = [1,2,2],  TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex 
    68      
    69  endif 
    70  
    71  if KEYWORD_SET(POSTSCRIPT) then begin 
    72     closeps 
    73  endif 
    74   
    75   
    76  return 
     65  htmltxt = [ htmltxt, '<hr>'+blabla, '<br><img width="80%" src='+filename+'.png  />  ' ] 
     66  if KEYWORD_SET(postscript) then closeps 
     67   
     68  return 
    7769end 
Note: See TracChangeset for help on using the changeset viewer.