[2751] | 1 | pro std_plot_all, doplot = doplot, _extra = ex |
---|
[2709] | 2 | |
---|
[2751] | 3 | compile_opt idl2, strictarrsubs |
---|
[2709] | 4 | |
---|
[2751] | 5 | @common |
---|
| 6 | @std_common |
---|
| 7 | ; scripts for nemo v3_2 and v3_3 |
---|
[2709] | 8 | |
---|
| 9 | PRINT, '' |
---|
| 10 | PRINT, ' ############################################' |
---|
| 11 | PRINT, '' |
---|
| 12 | PRINT, ' LAUNCH of std_plots' |
---|
| 13 | PRINT, '' |
---|
| 14 | PRINT, ' ############################################' |
---|
| 15 | PRINT, '' |
---|
[2751] | 16 | ; |
---|
[4320] | 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)') |
---|
[2751] | 20 | ; meshmask |
---|
[4320] | 21 | std_file_mesh = isafile(getenv('FILE_MESH_MASK'), title = 'mesh_mask', iodir = std_iodir_mask) |
---|
[2751] | 22 | std_file_msksub = isafile(getenv('FILE_MASK_SUBDOMAIN'), title = 'sub-bassin masks', iodir = std_iodir_mask) |
---|
[2709] | 23 | |
---|
[4320] | 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) |
---|
[2709] | 33 | |
---|
[2751] | 34 | IF strlowcase(getenv('FILE_GEOHEAT')) EQ 'no' THEN std_file_geoheat = 'no' $ |
---|
| 35 | ELSE std_file_geoheat = isafile(getenv('FILE_GEOHEAT'), title = 'Geothermal heating', iodir = std_iodir_climato) |
---|
[2709] | 36 | ; |
---|
[2751] | 37 | allrec = 1 - keyword_set(long(getenv('READ_ONLY_FIRST_RECORD'))) |
---|
[4559] | 38 | |
---|
[2709] | 39 | ; Output run experience1 |
---|
[2751] | 40 | std_file1_T = isafile(getenv('FILE1_T'), title = 'exp1 grid T input file', iodir = std_iodir_data) |
---|
| 41 | std_file1_U = isafile(getenv('FILE1_U'), title = 'exp1 grid U input file', iodir = std_iodir_data) |
---|
| 42 | std_file1_V = isafile(getenv('FILE1_V'), title = 'exp1 grid V input file', iodir = std_iodir_data) |
---|
| 43 | std_file1_I = isafile(getenv('FILE1_I'), title = 'exp1 ice input file', iodir = std_iodir_data) |
---|
[2709] | 44 | |
---|
| 45 | ; Output run experience2 |
---|
[2751] | 46 | std_file2_T = isafile(getenv('FILE2_T'), title = 'exp2 grid T input file', iodir = std_iodir_data) |
---|
| 47 | std_file2_U = isafile(getenv('FILE2_U'), title = 'exp2 grid U input file', iodir = std_iodir_data) |
---|
| 48 | std_file2_V = isafile(getenv('FILE2_V'), title = 'exp2 grid V input file', iodir = std_iodir_data) |
---|
| 49 | std_file2_I = isafile(getenv('FILE2_I'), title = 'exp2 ice input file', iodir = std_iodir_data) |
---|
[2709] | 50 | |
---|
| 51 | PRINT, '' |
---|
[2751] | 52 | PRINT, ' std_iodir_data : ' + std_iodir_data |
---|
| 53 | PRINT, ' std_file1T : ' + std_file1_T |
---|
| 54 | PRINT, ' std_file1U : ' + std_file1_U |
---|
| 55 | PRINT, ' std_file1V : ' + std_file1_V |
---|
| 56 | ; PRINT, ' std_file1W : ' + std_file1_W |
---|
| 57 | PRINT, ' std_file2I : ' + std_file1_I |
---|
| 58 | PRINT, ' std_file2T : ' + std_file2_T |
---|
| 59 | PRINT, ' std_file2U : ' + std_file2_U |
---|
| 60 | PRINT, ' std_file2V : ' + std_file2_V |
---|
| 61 | ; PRINT, ' std_file2W : ' + std_file2_W |
---|
| 62 | PRINT, ' std_file2I : ' + std_file2_I |
---|
[2709] | 63 | PRINT, '' |
---|
| 64 | |
---|
| 65 | ;######################################################################### |
---|
[2751] | 66 | ;########################## Load Grids ################################ |
---|
| 67 | ;######################################################################### |
---|
| 68 | ; load the grid |
---|
| 69 | load_orca, std_file_mesh |
---|
[2709] | 70 | ; reading variables |
---|
[2751] | 71 | masknp = read_ncdf('tmaskutil', file = std_file_mesh, /nostruct, /cont_nofill) |
---|
| 72 | ;######################################################################### |
---|
| 73 | ;############################ Read Data ################################ |
---|
| 74 | ;######################################################################### |
---|
| 75 | ; |
---|
| 76 | allrec = 1; - keyword_set(long(getenv('READ_ONLY_FIRST_RECORD'))) |
---|
| 77 | ; |
---|
[2709] | 78 | ;;; 3D ;;; |
---|
| 79 | ; temperature |
---|
[2751] | 80 | T1 = read_ncdf(getenv('VAR1_T'), allrecords = allrec, direc = 't', filename = std_file1_T ) |
---|
| 81 | IF std_file2_T NE std_file1_T THEN BEGIN |
---|
| 82 | T2 = read_ncdf(getenv('VAR2_T'), allrecords = allrec, direc = 't', filename = std_file2_T ) |
---|
| 83 | ENDIF ELSE T2 = {arr:-1} |
---|
| 84 | TLev = read_ncdf(getenv('VAR_TEMP_3D'), filename = std_file_Levitus_T ) |
---|
| 85 | TRey = read_ncdf(getenv('VAR_SST'), filename = std_file_reynolds ) |
---|
[2709] | 86 | |
---|
| 87 | ; salinity |
---|
[2751] | 88 | S1 = read_ncdf(getenv('VAR1_S'), allrecords = allrec, direc = 't', filename = std_file1_T ) |
---|
| 89 | IF std_file2_T NE std_file1_T THEN BEGIN |
---|
| 90 | S2 = read_ncdf(getenv('VAR2_S'), allrecords = allrec, direc = 't', filename = std_file2_T ) |
---|
| 91 | ENDIF ELSE S2 = {arr:-1} |
---|
| 92 | SLev = read_ncdf(getenv('VAR_SAL_3D'), filename = std_file_Levitus_S ) |
---|
[2709] | 93 | |
---|
[2751] | 94 | ;;; 2D ;;; |
---|
[2709] | 95 | ; Net Downward heat flux |
---|
[2751] | 96 | Q1 = read_ncdf(getenv('VAR1_QNET'), allrecords = allrec, direc = 't', filename = std_file1_T ) |
---|
| 97 | IF std_file2_T NE std_file1_T THEN BEGIN |
---|
| 98 | Q2 = read_ncdf(getenv('VAR2_QNET'), allrecords = allrec, direc = 't', filename = std_file2_T ) |
---|
| 99 | ENDIF ELSE Q2 = {arr:-1} |
---|
| 100 | ; Geothermal heating |
---|
| 101 | IF std_file_geoheat EQ 'no' THEN geo = {arr:float(getenv('VAR_GEOHEAT'))} $ |
---|
| 102 | ELSE geo = read_ncdf(getenv('VAR_GEOHEAT'), filename = std_file_geoheat ) |
---|
| 103 | geo = geo.arr*1.e-3 ; convert into W/m2 |
---|
[2709] | 104 | ;climatology |
---|
[2751] | 105 | QNET = read_ncdf(getenv('VAR_FLUX'), filename = std_file_oaflux ) |
---|
[4518] | 106 | |
---|
[2709] | 107 | ; erp (evaporation damping) |
---|
[2751] | 108 | ERP1 = read_ncdf(getenv('VAR1_ERP'), allrecords = allrec, direc = 't', filename = std_file1_T ) |
---|
| 109 | ERP1 = {arr:ERP1.arr * 86400., unit:'mm/day', grid:'T'} |
---|
| 110 | IF std_file2_T NE std_file1_T THEN BEGIN |
---|
[4394] | 111 | ERP2 = read_ncdf(getenv('VAR2_ERP'), allrecords = allrec, direc = 't', filename = std_file2_T ) |
---|
| 112 | ERP2 = {arr:ERP2.arr * 86400., unit:'mm/day', grid:'T'} |
---|
[2751] | 113 | ENDIF ELSE ERP2 = {arr:-1} |
---|
[4394] | 114 | |
---|
[2709] | 115 | ; emp (evaporation minus precipitation) |
---|
[2751] | 116 | EMP1 = read_ncdf(getenv('VAR1_EMP'), allrecords = allrec, direc = 't', filename = std_file1_T ) |
---|
| 117 | EMP1 = {arr:EMP1.arr * 86400., unit:'mm/day', grid:'T'} |
---|
[4394] | 118 | IF std_file2_T NE std_file1_T THEN BEGIN |
---|
| 119 | EMP2 = read_ncdf(getenv('VAR2_EMP'), allrecords = allrec, direc = 't', filename = std_file2_T ) |
---|
| 120 | EMP2 = {arr:EMP2.arr * 86400., unit:'mm/day', grid:'T'} |
---|
| 121 | ENDIF ELSE EMP2 = {arr:-1} |
---|
| 122 | |
---|
| 123 | ;mixed layer depth |
---|
| 124 | MLD1 = read_ncdf(getenv('VAR1_MLD'), allrecords = allrec, direc = 't', filename = std_file1_T ) ; 10 m |
---|
| 125 | IF std_file2_T NE std_file1_T THEN BEGIN |
---|
| 126 | MLD2 = read_ncdf(getenv('VAR2_MLD'), allrecords = allrec, direc = 't', filename = std_file2_T ) ; 10 m |
---|
| 127 | ENDIF ELSE MLD2 = {arr:-1} |
---|
| 128 | ;climatology |
---|
| 129 | MLD = read_ncdf(getenv('VAR_MLD'), filename = std_file_mld ) |
---|
[2709] | 130 | |
---|
[4394] | 131 | ; velocities |
---|
| 132 | U1 = read_ncdf(getenv('VAR1_U'), allrecords = allrec, direc = 't', filename = std_file1_U ) |
---|
| 133 | ; old formulation: we tested variable name |
---|
| 134 | ; IF strlowcase(getenv('VAR1_U')) EQ 'uocetr_eff' OR strlowcase(getenv('VAR1_U')) EQ 'vozoeftr' THEN BEGIN |
---|
| 135 | IF strlowcase(U1.unit) EQ 'm3/s' THEN BEGIN |
---|
| 136 | ;IF it is a transport it is transofrmed in velocity |
---|
| 137 | U1.arr = U1.arr / e3u_3d(/e2) * umask() |
---|
| 138 | U1.unit = 'm/s' |
---|
| 139 | ENDIF |
---|
| 140 | IF std_file2_U NE std_file1_U THEN BEGIN |
---|
| 141 | U2 = read_ncdf(getenv('VAR2_U'), allrecords = allrec, direc = 't', filename = std_file2_U ) |
---|
| 142 | ; old formulation: we tested variable name |
---|
| 143 | ; IF strlowcase(getenv('VAR2_U')) EQ 'uocetr_eff' OR strlowcase(getenv('VAR2_U')) EQ 'vozoeftr' THEN BEGIN |
---|
| 144 | IF strlowcase(U2.unit) EQ 'm3/s' THEN BEGIN |
---|
| 145 | U2.arr = U2.arr / e3u_3d(/e2) * umask() |
---|
| 146 | U2.unit = 'm/s' |
---|
| 147 | ENDIF |
---|
| 148 | ENDIF ELSE U2 = {arr:-1} |
---|
[2709] | 149 | ; |
---|
[4394] | 150 | V1 = read_ncdf(getenv('VAR1_V'), allrecords = allrec, direc = 't', filename = std_file1_V ) |
---|
| 151 | ; old formulation: we tested variable name |
---|
| 152 | ; IF strlowcase(getenv('VAR1_V')) EQ 'vocetr_eff' OR strlowcase(getenv('VAR1_V')) EQ 'vomeeftr' THEN BEGIN |
---|
| 153 | IF strlowcase(V1.unit) EQ 'm3/s' THEN BEGIN ; test on unit to understand if it is a transport or velocity |
---|
| 154 | ;IF it is a transport it is transofrmed in velocity |
---|
| 155 | V1.arr = V1.arr / e3v_3d(/e1) * vmask() |
---|
| 156 | V1.unit = 'm/s' |
---|
| 157 | ENDIF |
---|
| 158 | IF std_file2_V NE std_file1_V THEN BEGIN |
---|
| 159 | V2 = read_ncdf(getenv('VAR2_V'), allrecords = allrec, direc = 't', filename = std_file2_V ) |
---|
| 160 | ; old formulation |
---|
| 161 | ; IF strlowcase(getenv('VAR2_V')) EQ 'vocetr_eff' OR strlowcase(getenv('VAR2_V')) EQ 'vozoeftr' THEN BEGIN |
---|
| 162 | IF strlowcase(V2.unit) EQ 'm3/s' THEN BEGIN |
---|
| 163 | V2.arr = V2.arr / e3v_3d(/e1) * vmask() |
---|
| 164 | V2.unit = 'm/s' |
---|
| 165 | ENDIF |
---|
| 166 | ENDIF ELSE V2 = {arr:-1} |
---|
[2709] | 167 | |
---|
| 168 | ; ice |
---|
[2751] | 169 | Ithi_1 = read_ncdf(getenv('VAR1_Ithick'), allrecords = allrec, filename = std_file1_I ) |
---|
| 170 | caldat, time, mm |
---|
[4320] | 171 | april = where(mm EQ 4, cnt) |
---|
| 172 | Ithi_april_1 = {arr:1./float(cnt) * total(reform(Ithi_1.arr[*, *, temporary(april)],nxt,nyt,cnt), 3), unit:Ithi_1.unit} |
---|
[4518] | 173 | jan = where(mm EQ 1, cnt) |
---|
[4755] | 174 | Ithi_jan_1 = {arr:1./float(cnt) * total(reform(Ithi_1.arr[*, *, temporary(jan)],nxt,nyt,cnt), 3), unit:Ithi_1.unit} |
---|
[2755] | 175 | sept = where(mm EQ 9, cnt) |
---|
[4320] | 176 | Ithi_sept_1 = {arr:1./float(cnt) * total(reform(Ithi_1.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Ithi_1.unit} |
---|
[2751] | 177 | undefine, Ithi_1 |
---|
| 178 | ; |
---|
| 179 | IF std_file2_I NE std_file1_I THEN BEGIN |
---|
[4320] | 180 | Ithi_2 = read_ncdf(getenv('VAR2_Ithick'), allrecords = allrec, filename = std_file2_I ) |
---|
| 181 | caldat, time, mm |
---|
| 182 | april = where(mm EQ 4, cnt) |
---|
| 183 | Ithi_april_2 = {arr:1./float(cnt) * total(reform(Ithi_2.arr[*, *, temporary(april)],nxt,nyt,cnt), 3), unit:Ithi_2.unit} |
---|
[4518] | 184 | jan = where(mm EQ 1, cnt) |
---|
[4320] | 185 | sept = where(mm EQ 9, cnt) |
---|
| 186 | Ithi_sept_2 = {arr:1./float(cnt) * total(reform(Ithi_2.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Ithi_2.unit} |
---|
[4518] | 187 | Ithi_jan_2 = {arr:1./float(cnt) * total(reform(Ithi_2.arr[*, *, temporary(jan)],nxt,nyt,cnt), 3), unit:Ithi_2.unit} |
---|
[4320] | 188 | undefine, Ithi_2 |
---|
[2751] | 189 | ENDIF ELSE BEGIN |
---|
[4320] | 190 | Ithi_april_2 = {arr:-1} |
---|
| 191 | Ithi_sept_2 = {arr:-1} |
---|
[4518] | 192 | Ithi_jan_2 = {arr:-1} |
---|
[2751] | 193 | ENDELSE |
---|
| 194 | ; |
---|
| 195 | Ifra_1 = read_ncdf(getenv('VAR1_Ifrac'), allrecords = allrec, filename = std_file1_I ) |
---|
| 196 | caldat, time, mm |
---|
[4559] | 197 | jan = where(mm EQ 1, cnt) |
---|
| 198 | Ifra_jan_1 = {arr:1./float(cnt) * total(reform(Ifra_1.arr[*, *, temporary(jan)],nxt,nyt,cnt), 3), unit:Ifra_1.unit} |
---|
[4518] | 199 | febr = where(mm EQ 2, cnt) |
---|
| 200 | Ifra_febr_1 = {arr:1./float(cnt) * total(reform(Ifra_1.arr[*, *, temporary(febr)],nxt,nyt,cnt), 3), unit:Ifra_1.unit} |
---|
[2751] | 201 | march = where(mm EQ 3, cnt) |
---|
[4320] | 202 | Ifra_march_1 = {arr:1./float(cnt) * total(reform(Ifra_1.arr[*, *, temporary(march)],nxt,nyt,cnt), 3), unit:Ifra_1.unit} |
---|
[4559] | 203 | april = where(mm EQ 4, cnt) |
---|
| 204 | Ifra_april_1 = {arr:1./float(cnt) * total(reform(Ifra_1.arr[*, *, temporary(april)],nxt,nyt,cnt), 3), unit:Ifra_1.unit} |
---|
[2751] | 205 | sept = where(mm EQ 9, cnt) |
---|
[4320] | 206 | Ifra_sept_1 = {arr:1./float(cnt) * total(reform(Ifra_1.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Ifra_1.unit} |
---|
[2751] | 207 | undefine, Ifra_1 |
---|
| 208 | ; |
---|
| 209 | IF std_file2_I NE std_file1_I THEN BEGIN |
---|
| 210 | Ifra_2 = read_ncdf(getenv('VAR2_Ifrac'), allrecords = allrec, filename = std_file2_I ) |
---|
| 211 | caldat, time, mm |
---|
[4559] | 212 | jan = where(mm EQ 1, cnt) |
---|
| 213 | Ifra_jan_2 = {arr:1./float(cnt) * total(reform(Ifra_2.arr[*, *, temporary(jan)],nxt,nyt,cnt), 3), unit:Ifra_2.unit} |
---|
[4518] | 214 | febr = where(mm EQ 2, cnt) |
---|
| 215 | Ifra_febr_2 = {arr:1./float(cnt) * total(reform(Ifra_2.arr[*, *, temporary(febr)],nxt,nyt,cnt), 3), unit:Ifra_2.unit} |
---|
[2751] | 216 | march = where(mm EQ 3, cnt) |
---|
[4320] | 217 | Ifra_march_2 = {arr:1./float(cnt) * total(reform(Ifra_2.arr[*, *, temporary(march)],nxt,nyt,cnt), 3), unit:Ifra_2.unit} |
---|
[4559] | 218 | april = where(mm EQ 4, cnt) |
---|
| 219 | Ifra_april_2 = {arr:1./float(cnt) * total(reform(Ifra_2.arr[*, *, temporary(april)],nxt,nyt,cnt), 3), unit:Ifra_2.unit} |
---|
[2751] | 220 | sept = where(mm EQ 9, cnt) |
---|
[4320] | 221 | Ifra_sept_2 = {arr:1./float(cnt) * total(reform(Ifra_2.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Ifra_2.unit} |
---|
[2751] | 222 | undefine, Ifra_2 |
---|
| 223 | ENDIF ELSE BEGIN |
---|
[4559] | 224 | Ifra_jan_2 = {arr:-1} |
---|
[4518] | 225 | Ifra_febr_2 = {arr:-1} |
---|
[2751] | 226 | Ifra_march_2 = {arr:-1} |
---|
[4559] | 227 | Ifra_april_2 = {arr:-1} |
---|
[2751] | 228 | Ifra_sept_2 = {arr:-1} |
---|
| 229 | ENDELSE |
---|
| 230 | ; |
---|
[4501] | 231 | Isnow_1 = read_ncdf(getenv('VAR1_Isnow'), allrecords = allrec, filename = std_file1_I ) |
---|
| 232 | caldat, time, mm |
---|
[4518] | 233 | febr = where(mm EQ 2, cnt) |
---|
| 234 | Isnow_febr_1 = {arr:1./float(cnt) * total(reform(Isnow_1.arr[*, *, temporary(febr)],nxt,nyt,cnt), 3), unit:Isnow_1.unit} |
---|
[4514] | 235 | march = where(mm EQ 3, cnt) |
---|
| 236 | Isnow_march_1 = {arr:1./float(cnt) * total(reform(Isnow_1.arr[*, *, temporary(march)],nxt,nyt,cnt), 3), unit:Isnow_1.unit} |
---|
[4501] | 237 | sept = where(mm EQ 9, cnt) |
---|
| 238 | Isnow_sept_1 = {arr:1./float(cnt) * total(reform(Isnow_1.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Isnow_1.unit} |
---|
| 239 | ;undefine, Isnow_1 |
---|
| 240 | ; |
---|
| 241 | IF std_file2_I NE std_file1_I THEN BEGIN |
---|
| 242 | Isnow_2 = read_ncdf(getenv('VAR2_Isnow'), allrecords = allrec, filename = std_file2_I ) |
---|
| 243 | caldat, time, mm |
---|
[4518] | 244 | febr = where(mm EQ 2, cnt) |
---|
| 245 | Isnow_febr_2 = {arr:1./float(cnt) * total(reform(Isnow_2.arr[*, *, temporary(febr)],nxt,nyt,cnt), 3), unit:Isnow_2.unit} |
---|
[4514] | 246 | march = where(mm EQ 3, cnt) |
---|
| 247 | Isnow_march_2 = {arr:1./float(cnt) * total(reform(Isnow_2.arr[*, *, temporary(march)],nxt,nyt,cnt), 3), unit:Isnow_2.unit} |
---|
[4501] | 248 | sept = where(mm EQ 9, cnt) |
---|
| 249 | Isnow_sept_2 = {arr:1./float(cnt) * total(reform(Isnow_2.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Isnow_2.unit} |
---|
| 250 | ; undefine, Isnow_2 |
---|
| 251 | ENDIF ELSE BEGIN |
---|
[4518] | 252 | Isnow_febr_2 = {arr:-1} |
---|
[4514] | 253 | Isnow_march_2 = {arr:-1} |
---|
[4501] | 254 | Isnow_sept_2 = {arr:-1} |
---|
| 255 | ENDELSE |
---|
[4320] | 256 | ; |
---|
[4507] | 257 | Isal_1 = read_ncdf(getenv('VAR1_Isal'), allrecords = allrec, filename = std_file1_I ) |
---|
[4559] | 258 | ;SF ready for mask : remove 0.15% for observations |
---|
| 259 | ;SF |
---|
| 260 | ;SF Ifra_1 = read_ncdf(getenv('VAR1_Ifrac'), allrecords = allrec, filename = std_file1_I ) |
---|
| 261 | ;SF msk = Ifra_1.arr gt 0.15 ; remove 0.15% for observations |
---|
[4507] | 262 | caldat, time, mm |
---|
[4514] | 263 | march = where(mm EQ 3, cnt) |
---|
| 264 | febr = where(mm EQ 2, cnt) |
---|
| 265 | Isal_march_1 = {arr:1./float(cnt) * total(reform(Isal_1.arr[*, *, temporary(march)],nxt,nyt,cnt), 3), unit:Isal_1.unit} |
---|
[4559] | 266 | ;SF |
---|
| 267 | ;SF Isal_1.arr = Isal_1.arr * msk |
---|
| 268 | ;SF |
---|
| 269 | ;SF Isal_march_1 = {arr:1./float(cnt) * total(reform(Isal_1.arr[*, *, temporary(march)],nxt,nyt,cnt), 3), unit:Isal_1.unit} |
---|
[4514] | 270 | Isal_febr_1 = {arr:1./float(cnt) * total(reform(Isal_1.arr[*, *, temporary(febr)],nxt,nyt,cnt), 3), unit:Isal_1.unit} |
---|
[4507] | 271 | sept = where(mm EQ 9, cnt) |
---|
| 272 | Isal_sept_1 = {arr:1./float(cnt) * total(reform(Isal_1.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Isal_1.unit} |
---|
| 273 | ;undefine, Isal_1 |
---|
| 274 | ; |
---|
[4514] | 275 | Isal_2 = read_ncdf(getenv('VAR2_Isal'), allrecords = allrec, filename = std_file2_I ) |
---|
[4507] | 276 | IF std_file2_I NE std_file1_I THEN BEGIN |
---|
| 277 | caldat, time, mm |
---|
[4514] | 278 | march = where(mm EQ 3, cnt) |
---|
| 279 | febr = where(mm EQ 2, cnt) |
---|
| 280 | Isal_march_2 = {arr:1./float(cnt) * total(reform(Isal_2.arr[*, *, temporary(march)],nxt,nyt,cnt), 3), unit:Isal_2.unit} |
---|
| 281 | Isal_febr_2 = {arr:1./float(cnt) * total(reform(Isal_2.arr[*, *, temporary(febr)],nxt,nyt,cnt), 3), unit:Isal_2.unit} |
---|
[4507] | 282 | sept = where(mm EQ 9, cnt) |
---|
| 283 | Isal_sept_2 = {arr:1./float(cnt) * total(reform(Isal_2.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Isal_2.unit} |
---|
| 284 | ; undefine, Isal_2 |
---|
| 285 | ENDIF ELSE BEGIN |
---|
[4514] | 286 | Isal_febr_2 = {arr:-1} |
---|
| 287 | Isal_march_2 = {arr:-1} |
---|
[4507] | 288 | Isal_sept_2 = {arr:-1} |
---|
| 289 | ENDELSE |
---|
[4755] | 290 | |
---|
[4559] | 291 | IvelU_1 = read_ncdf(getenv('VAR1_IvelU'), allrecords = allrec, filename = std_file1_I ) |
---|
| 292 | IvelV_1 = read_ncdf(getenv('VAR1_IvelV'), allrecords = allrec, filename = std_file1_I ) |
---|
| 293 | Ivelo_1 = read_ncdf(getenv('VAR1_Ivelo'), allrecords = allrec, filename = std_file1_I ) |
---|
| 294 | caldat, time, mm |
---|
| 295 | febr = where(mm EQ 2, cnt) |
---|
| 296 | IvelU_febr_1 = {arr:1./float(cnt) * total(reform(IvelU_1.arr[*, *, febr],nxt,nyt,cnt), 3), unit:IvelU_1.unit, g: 'T'} |
---|
| 297 | IvelV_febr_1 = {arr:1./float(cnt) * total(reform(IvelV_1.arr[*, *, febr],nxt,nyt,cnt), 3), unit:IvelV_1.unit, g: 'T'} |
---|
| 298 | Ivelo_febr_1 = {arr:1./float(cnt) * total(reform(Ivelo_1.arr[*, *, febr],nxt,nyt,cnt), 3), unit:Ivelo_1.unit, g: 'T'} |
---|
| 299 | march = where(mm EQ 3, cnt) |
---|
| 300 | IvelU_march_1 = {arr:1./float(cnt) * total(reform(IvelU_1.arr[*, *, march],nxt,nyt,cnt), 3), unit:IvelU_1.unit, g: 'T'} |
---|
| 301 | IvelV_march_1 = {arr:1./float(cnt) * total(reform(IvelV_1.arr[*, *, march],nxt,nyt,cnt), 3), unit:IvelV_1.unit, g: 'T'} |
---|
| 302 | Ivelo_march_1 = {arr:1./float(cnt) * total(reform(Ivelo_1.arr[*, *, march],nxt,nyt,cnt), 3), unit:Ivelo_1.unit, g: 'T'} |
---|
| 303 | sept = where(mm EQ 9, cnt) |
---|
| 304 | IvelU_sept_1 = {arr:1./float(cnt) * total(reform(IvelU_1.arr[*, *, sept],nxt,nyt,cnt), 3), unit:IvelU_1.unit, g: 'T'} |
---|
| 305 | IvelV_sept_1 = {arr:1./float(cnt) * total(reform(IvelV_1.arr[*, *, sept],nxt,nyt,cnt), 3), unit:IvelV_1.unit, g: 'T'} |
---|
| 306 | Ivelo_sept_1 = {arr:1./float(cnt) * total(reform(Ivelo_1.arr[*, *, sept],nxt,nyt,cnt), 3), unit:Ivelo_1.unit, g: 'T'} |
---|
| 307 | ; |
---|
| 308 | IF std_file2_I NE std_file1_I THEN BEGIN |
---|
| 309 | IvelU_2 = read_ncdf(getenv('VAR2_IvelU'), allrecords = allrec, filename = std_file2_I ) |
---|
| 310 | IvelV_2 = read_ncdf(getenv('VAR2_IvelV'), allrecords = allrec, filename = std_file2_I ) |
---|
| 311 | Ivelo_2 = read_ncdf(getenv('VAR2_Ivelo'), allrecords = allrec, filename = std_file2_I ) |
---|
| 312 | caldat, time, mm |
---|
| 313 | febr = where(mm EQ 2, cnt) |
---|
| 314 | IvelU_febr_2 = {arr:1./float(cnt) * total(reform(IvelU_2.arr[*, *, febr],nxt,nyt,cnt), 3), unit:IvelU_2.unit} |
---|
| 315 | IvelV_febr_2 = {arr:1./float(cnt) * total(reform(IvelV_2.arr[*, *, febr],nxt,nyt,cnt), 3), unit:IvelV_2.unit} |
---|
| 316 | Ivelo_febr_2 = {arr:1./float(cnt) * total(reform(Ivelo_2.arr[*, *, febr],nxt,nyt,cnt), 3), unit:Ivelo_2.unit} |
---|
| 317 | march = where(mm EQ 3, cnt) |
---|
| 318 | IvelU_march_2 = {arr:1./float(cnt) * total(reform(IvelU_2.arr[*, *, march],nxt,nyt,cnt), 3), unit:IvelU_2.unit} |
---|
| 319 | IvelV_march_2 = {arr:1./float(cnt) * total(reform(IvelV_2.arr[*, *, march],nxt,nyt,cnt), 3), unit:IvelV_2.unit} |
---|
| 320 | Ivelo_march_2 = {arr:1./float(cnt) * total(reform(Ivelo_2.arr[*, *, march],nxt,nyt,cnt), 3), unit:Ivelo_2.unit} |
---|
| 321 | sept = where(mm EQ 9, cnt) |
---|
| 322 | IvelU_sept_2 = {arr:1./float(cnt) * total(reform(IvelU_2.arr[*, *, sept],nxt,nyt,cnt), 3), unit:IvelU_2.unit} |
---|
| 323 | IvelV_sept_2 = {arr:1./float(cnt) * total(reform(IvelV_2.arr[*, *, sept],nxt,nyt,cnt), 3), unit:IvelV_2.unit} |
---|
| 324 | Ivelo_sept_2 = {arr:1./float(cnt) * total(reform(Ivelo_2.arr[*, *, sept],nxt,nyt,cnt), 3), unit:Ivelo_2.unit} |
---|
| 325 | undefine, Ifra_2 |
---|
| 326 | ENDIF ELSE BEGIN |
---|
| 327 | IvelU_febr_2 = {arr:-1} |
---|
| 328 | IvelV_febr_2 = {arr:-1} |
---|
| 329 | Ivelo_febr_2 = {arr:-1} |
---|
| 330 | IvelU_march_2 = {arr:-1} |
---|
| 331 | IvelV_march_2 = {arr:-1} |
---|
| 332 | Ivelo_march_2 = {arr:-1} |
---|
| 333 | IvelU_sept_2 = {arr:-1} |
---|
| 334 | IvelV_sept_2 = {arr:-1} |
---|
| 335 | Ivelo_sept_2 = {arr:-1} |
---|
| 336 | ENDELSE |
---|
[4755] | 337 | |
---|
[4559] | 338 | Iage_1 = read_ncdf(getenv('VAR1_Iage'), allrecords = allrec, filename = std_file1_I ) |
---|
| 339 | caldat, time, mm |
---|
| 340 | febr = where(mm EQ 2, cnt) |
---|
| 341 | Iage_febr_1 = {arr:1./float(cnt) * total(reform(Iage_1.arr[*, *, temporary(febr)],nxt,nyt,cnt), 3), unit:Iage_1.unit} |
---|
| 342 | march = where(mm EQ 3, cnt) |
---|
| 343 | Iage_march_1 = {arr:1./float(cnt) * total(reform(Iage_1.arr[*, *, temporary(march)],nxt,nyt,cnt), 3), unit:Iage_1.unit} |
---|
| 344 | sept = where(mm EQ 9, cnt) |
---|
| 345 | Iage_sept_1 = {arr:1./float(cnt) * total(reform(Iage_1.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Iage_1.unit} |
---|
| 346 | undefine, Iage_1 |
---|
| 347 | ; |
---|
| 348 | IF std_file2_I NE std_file1_I THEN BEGIN |
---|
| 349 | Iage_2 = read_ncdf(getenv('VAR2_Iage'), allrecords = allrec, filename = std_file2_I ) |
---|
| 350 | caldat, time, mm |
---|
| 351 | febr = where(mm EQ 2, cnt) |
---|
| 352 | Iage_febr_2 = {arr:1./float(cnt) * total(reform(Iage_2.arr[*, *, temporary(febr)],nxt,nyt,cnt), 3), unit:Iage_2.unit} |
---|
| 353 | march = where(mm EQ 3, cnt) |
---|
| 354 | Iage_march_2 = {arr:1./float(cnt) * total(reform(Iage_2.arr[*, *, temporary(march)],nxt,nyt,cnt), 3), unit:Iage_2.unit} |
---|
| 355 | sept = where(mm EQ 9, cnt) |
---|
| 356 | Iage_sept_2 = {arr:1./float(cnt) * total(reform(Iage_2.arr[*, *, temporary(sept)],nxt,nyt,cnt), 3), unit:Iage_2.unit} |
---|
| 357 | undefine, Iage_2 |
---|
| 358 | ENDIF ELSE BEGIN |
---|
| 359 | Iage_febr_2 = {arr:-1} |
---|
| 360 | Iage_march_2 = {arr:-1} |
---|
| 361 | Iage_sept_2 = {arr:-1} |
---|
| 362 | ENDELSE |
---|
| 363 | ; |
---|
[2751] | 364 | jpt = 1 |
---|
| 365 | ; |
---|
| 366 | ; shorter file names for legends... |
---|
| 367 | ; |
---|
| 368 | std_file1_T = file_basename(std_file1_T,'.nc') |
---|
| 369 | std_file1_T = (strsplit(std_file1_T,'_grid_T',/extract,/regex))[0] |
---|
| 370 | std_file2_T = file_basename(std_file2_T,'.nc') |
---|
| 371 | std_file2_T = (strsplit(std_file2_T,'_grid_T',/extract,/regex))[0] |
---|
| 372 | std_file1_U = file_basename(std_file1_U,'.nc') |
---|
| 373 | std_file1_U = (strsplit(std_file1_U,'_grid_U',/extract,/regex))[0] |
---|
| 374 | std_file2_U = file_basename(std_file2_U,'.nc') |
---|
| 375 | std_file2_U = (strsplit(std_file2_U,'_grid_U',/extract,/regex))[0] |
---|
| 376 | std_file1_V = file_basename(std_file1_V,'.nc') |
---|
| 377 | std_file1_V = (strsplit(std_file1_V,'_grid_V',/extract,/regex))[0] |
---|
| 378 | std_file2_V = file_basename(std_file2_V,'.nc') |
---|
| 379 | std_file2_V = (strsplit(std_file2_V,'_grid_V',/extract,/regex))[0] |
---|
| 380 | std_file1_I = file_basename(std_file1_I,'.nc') |
---|
| 381 | std_file1_I = (strsplit(std_file1_I,'_icemod',/extract,/regex))[0] |
---|
| 382 | std_file2_I = file_basename(std_file2_I,'.nc') |
---|
| 383 | std_file2_I = (strsplit(std_file2_I,'_icemod',/extract,/regex))[0] |
---|
[2709] | 384 | |
---|
| 385 | ;######################################################################### |
---|
| 386 | ;###################### STANDARD PLOTS ################################ |
---|
| 387 | ;######################################################################### |
---|
| 388 | |
---|
[2751] | 389 | IF keyword_set(doplot) EQ 0 THEN doplot = 0 |
---|
| 390 | |
---|
[2709] | 391 | ; fixed color tabled |
---|
[2751] | 392 | lct, 64 |
---|
| 393 | cnt = 0 |
---|
| 394 | htmltxt = '' |
---|
| 395 | ; |
---|
| 396 | cnt = cnt+1 & blabla = 'Erp salinity damping term' |
---|
| 397 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_erp, ERP1, ERP2, _extra = ex |
---|
[4755] | 398 | ;; |
---|
[2751] | 399 | cnt = cnt+1 & blabla = 'Evaporation - Precipitation - Runoff term' |
---|
| 400 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_emp, EMP1, EMP2, _extra = ex |
---|
[4394] | 401 | ; |
---|
[2751] | 402 | cnt = cnt+1 & blabla = 'Net heat flux' |
---|
| 403 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_qnet, Q1, Q2, QNET, _extra = ex |
---|
[4394] | 404 | ; |
---|
[2751] | 405 | cnt = cnt+1 & blabla = 'Meridionnal Heat Transport' |
---|
| 406 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_mht, Q1.arr+geo, Q2.arr+geo, masknp, std_file_msksub, _extra = ex |
---|
[4394] | 407 | ; |
---|
[2751] | 408 | cnt = cnt+1 & blabla = 'Global Barotropic stream Function' |
---|
| 409 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_bsf, U1, U2, _extra = ex |
---|
[4394] | 410 | ; |
---|
[2751] | 411 | cnt = cnt+1 & blabla = 'mean Temperature diff with New Reynolds' |
---|
| 412 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_sst, T1, T2, TRey, _extra = ex |
---|
[4394] | 413 | ; |
---|
[2751] | 414 | cnt = cnt+1 & blabla = 'mean Salinity diff with Levitus' |
---|
| 415 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_sss, S1, S2, SLev, _extra = ex |
---|
[4394] | 416 | ; |
---|
[2751] | 417 | cnt = cnt+1 & blabla = 'Arctic mean Salinity diff with Levitus' |
---|
| 418 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_ArcSal, S1, SLev, _extra = ex |
---|
[4394] | 419 | ; |
---|
[2751] | 420 | cnt = cnt+1 & blabla = 'Arctic mean Salinity diff with Levitus and exp2' |
---|
| 421 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_ArcSal, S1, S2, SLev, _extra = ex |
---|
[4394] | 422 | ; |
---|
[2751] | 423 | cnt = cnt+1 & blabla = 'Arctic mean Salinity diff with Levitus at z=100 meters' |
---|
| 424 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_ArcSal, S1, SLev, /z100, _extra = ex |
---|
[4394] | 425 | ; |
---|
[2751] | 426 | cnt = cnt+1 & blabla = 'Arctic mean Salinity diff with Levitus and exp2 at z=100 meters' |
---|
| 427 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_ArcSal, S1, S2, SLev, /z100, _extra = ex |
---|
[4394] | 428 | ; |
---|
[2751] | 429 | cnt = cnt+1 & blabla = 'mean Temperature diff with Levitus at z=100 meters' |
---|
| 430 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_T100m, T1, T2, Tlev, _extra = ex |
---|
[4394] | 431 | ; |
---|
[2751] | 432 | cnt = cnt+1 & blabla = 'mean Salinity diff with Levitus at z=100 meters' |
---|
| 433 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_S100m, S1, S2, SLev, _extra = ex |
---|
[4394] | 434 | ; |
---|
[2751] | 435 | cnt = cnt+1 & blabla = 'Mixed layer depth' |
---|
| 436 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_mld, MLD1, MLD, _extra = ex |
---|
[4394] | 437 | ; |
---|
[2751] | 438 | cnt = cnt+1 & blabla = 'Mixed layer depth differences' |
---|
| 439 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_mld, MLD1, MLD2, MLD, _extra = ex |
---|
[4394] | 440 | ; |
---|
[4755] | 441 | cnt = cnt+1 & blabla = 'Mixed layer depth ortho plan ARCTIC' |
---|
| 442 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_MLD_ortho, MLD1, MLD2, /ARC, _extra = ex |
---|
| 443 | ;sf |
---|
| 444 | cnt = cnt+1 & blabla = 'Mixed layer depth ortho plan ANTARTIC' |
---|
| 445 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_MLD_ortho, MLD1, MLD2, /ANT, _extra = ex |
---|
| 446 | ;sf |
---|
[2751] | 447 | cnt = cnt+1 & blabla = 'Zonal mean Mixed layer depth' |
---|
| 448 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_ZonMld, MLD1, MLD2, MLD, _extra = ex |
---|
[4394] | 449 | ; |
---|
[4517] | 450 | cnt = cnt+1 & blabla = 'Vertical Global mean T & S' |
---|
| 451 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_GlobMeanTS, T1, T2, TLev, S1, S2, SLev, _extra = ex |
---|
| 452 | ; |
---|
[2751] | 453 | cnt = cnt+1 & blabla = 'Zonal mean Temperature diff with Levitus: Global' |
---|
| 454 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_T, T1, T2, TLev, _extra = ex |
---|
[4394] | 455 | ; |
---|
[2751] | 456 | cnt = cnt+1 & blabla = 'Zonal mean Temperature diff with Levitus: Atlantic' |
---|
| 457 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_T, T1, T2, TLev, SUBBASIN = 'Atl', _extra = ex |
---|
[4394] | 458 | ; |
---|
[2751] | 459 | cnt = cnt+1 & blabla = 'Zonal mean Temperature diff with Levitus: Indian' |
---|
| 460 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_T, T1, T2, TLev, SUBBASIN = 'Ind', _extra = ex |
---|
[4394] | 461 | ; |
---|
[2751] | 462 | cnt = cnt+1 & blabla = 'Zonal mean Temperature diff with Levitus: Pacific' |
---|
| 463 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_T, T1, T2, TLev, SUBBASIN = 'Pac', _extra = ex |
---|
[4394] | 464 | ; |
---|
[2751] | 465 | cnt = cnt+1 & blabla = 'Zonal mean Salinity diff with Levitus: Global' |
---|
| 466 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_S, S1, S2, SLev, _extra = ex |
---|
[4394] | 467 | ; |
---|
[2751] | 468 | cnt = cnt+1 & blabla = 'Zonal mean Salinity diff with Levitus: Atlantic' |
---|
| 469 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_S, S1, S2, SLev, SUBBASIN = 'Atl', _extra = ex |
---|
[4394] | 470 | ; |
---|
[2751] | 471 | cnt = cnt+1 & blabla = 'Zonal mean Salinity diff with Levitus: Indian' |
---|
| 472 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_S, S1, S2, SLev, SUBBASIN = 'Ind', _extra = ex |
---|
[4394] | 473 | ; |
---|
[2751] | 474 | cnt = cnt+1 & blabla = 'Zonal mean Salinity diff with Levitus: Pacific' |
---|
| 475 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_zonal_S, S1, S2, SLev, SUBBASIN = 'Pac', _extra = ex |
---|
[4394] | 476 | ; |
---|
[4517] | 477 | cnt = cnt+1 & blabla = 'Meridional stream Function: Global (no Med)' |
---|
| 478 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_msf, V1, V2, SUBBASIN = 'GloNoMed', _extra = ex |
---|
| 479 | ; |
---|
| 480 | cnt = cnt+1 & blabla = 'Meridional stream Function: Atlantic' |
---|
| 481 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_msf, V1, V2, SUBBASIN = 'Atl', _extra = ex |
---|
| 482 | ; |
---|
| 483 | cnt = cnt+1 & blabla = 'Meridional stream Function: Indian' |
---|
| 484 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_msf, V1, V2, SUBBASIN = 'Ind', _extra = ex |
---|
| 485 | ; |
---|
| 486 | cnt = cnt+1 & blabla = 'Meridional stream Function: Indo-Pacific' |
---|
| 487 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_msf, V1, V2, SUBBASIN = 'IndoPac', _extra = ex |
---|
| 488 | ; |
---|
| 489 | cnt = cnt+1 & blabla = 'Equatorial Temperature' |
---|
| 490 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_EqT, T1, T2, Tlev, _extra = ex |
---|
| 491 | ; |
---|
| 492 | cnt = cnt+1 & blabla = 'Equatorial Salinity' |
---|
| 493 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_EqS, S1, S2, SLev, _extra = ex |
---|
| 494 | ; |
---|
| 495 | cnt = cnt+1 & blabla = 'Equatorial zonal velocity' |
---|
| 496 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_EqU, U1, U2, _extra = ex |
---|
| 497 | ; |
---|
| 498 | cnt = cnt+1 & blabla = 'Mediterranean salt tongue at depth=700' |
---|
| 499 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_Med_Sspread, S1, S2, SLev, 700, _extra = ex |
---|
| 500 | ; |
---|
| 501 | cnt = cnt+1 & blabla = 'Mediterranean salt tongue at depth=1000' |
---|
| 502 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_Med_Sspread, S1, S2, SLev, 1000, _extra = ex |
---|
| 503 | ; |
---|
[4559] | 504 | cnt = cnt+1 & blabla = 'Mediterranean water at lat=40¡ N' |
---|
[4517] | 505 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_Med_Sdepth, S1, S2, SLev, 40, _extra = ex |
---|
| 506 | ; |
---|
[4559] | 507 | cnt = cnt+1 & blabla = 'Mediterranean water at lat=38¡ N' |
---|
[4517] | 508 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_Med_Sdepth, S1, S2, SLev, 38, _extra = ex |
---|
| 509 | ; |
---|
[4559] | 510 | ;; |
---|
| 511 | ; all plot are done for ice fraction > 0.15% |
---|
| 512 | ;; |
---|
[2751] | 513 | cnt = cnt+1 & blabla = 'Arctic Ice Fraction: MARCH' |
---|
| 514 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceFrac, Ifra_march_1, Ifra_march_2, /ARC, /MARCH, _extra = ex |
---|
[4394] | 515 | ; |
---|
[2751] | 516 | cnt = cnt+1 & blabla = 'Arctic Ice Fraction: SEPT' |
---|
| 517 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceFrac, Ifra_sept_1, Ifra_sept_2, /ARC, /SEPT, _extra = ex |
---|
[4394] | 518 | ; |
---|
[2751] | 519 | cnt = cnt+1 & blabla = 'Antarctic Ice Fraction: MARCH' |
---|
[4518] | 520 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceFrac, Ifra_febr_1, Ifra_febr_2, /ANT, /FEBR, _extra = ex |
---|
[4394] | 521 | ; |
---|
[2751] | 522 | cnt = cnt+1 & blabla = 'Antarctic Ice Fraction: SEPT' |
---|
| 523 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceFrac, Ifra_sept_1, Ifra_sept_2, /ANT, /SEPT, _extra = ex |
---|
[4501] | 524 | ; |
---|
[4559] | 525 | cnt = cnt+1 & blabla = 'Arctic Ice Thickness: JAN' |
---|
| 526 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_jan_1, Ithi_jan_2, Ifra_jan_1, Ifra_jan_2, /ARC, /JAN, _extra = ex |
---|
| 527 | ; |
---|
| 528 | cnt = cnt+1 & blabla = 'Arctic Ice Thickness: APRIL' |
---|
| 529 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_april_1, Ithi_april_2, Ifra_april_1, Ifra_april_2, /ARC, /APRIL, _extra = ex |
---|
| 530 | ; |
---|
| 531 | cnt = cnt+1 & blabla = 'Antarctic Ice Thickness: APRIL' |
---|
| 532 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_april_1, Ithi_april_2, Ifra_april_1, Ifra_april_2, /ANT, /APRIL, _extra = ex |
---|
| 533 | ; |
---|
| 534 | cnt = cnt+1 & blabla = 'Antarctic Ice Thickness: SEPT' |
---|
| 535 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceThick, Ithi_sept_1, Ithi_sept_2, Ifra_sept_1, Ifra_sept_2, /ANT, /SEPT, _extra = ex |
---|
| 536 | ; |
---|
[4514] | 537 | cnt = cnt+1 & blabla = 'Arctic SNOW Thickness: MARCH' |
---|
[4559] | 538 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_SnowThick, Isnow_march_1, Isnow_march_2, Ifra_march_1, Ifra_march_2, /ARC, /MARCH, _extra = ex |
---|
[4320] | 539 | ; |
---|
[4507] | 540 | cnt = cnt+1 & blabla = 'Arctic SNOW Thickness: SEPT' |
---|
[4559] | 541 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_SnowThick, Isnow_sept_1, Isnow_sept_2, Ifra_sept_1, Ifra_sept_2, /ARC, /SEPT, _extra = ex |
---|
[4501] | 542 | ; |
---|
[4514] | 543 | cnt = cnt+1 & blabla = 'Antarctic SNOW Thickness: MARCH' |
---|
[4559] | 544 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_SnowThick, Isnow_febr_1, Isnow_febr_2, Ifra_febr_1, Ifra_febr_2, /ANT, /FEBR, _extra = ex |
---|
[4501] | 545 | ; |
---|
[4507] | 546 | cnt = cnt+1 & blabla = 'Antarctic SNOW Thickness: SEPT' |
---|
[4559] | 547 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_SnowThick, Isnow_sept_1, Isnow_sept_2, Ifra_sept_1, Ifra_sept_2, /ANT, /SEPT, _extra = ex |
---|
[4501] | 548 | ; |
---|
[4514] | 549 | cnt = cnt+1 & blabla = 'Arctic Ice Salinity: MARCH' |
---|
[4559] | 550 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceSal, Isal_march_1, Isal_march_2, Ifra_march_1, Ifra_march_2, /ARC, /MARCH, _extra = ex |
---|
[4507] | 551 | ; |
---|
| 552 | cnt = cnt+1 & blabla = 'Arctic Ice Salinity: SEPT' |
---|
[4559] | 553 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceSal, Isal_sept_1, Isal_sept_2, Ifra_sept_1, Ifra_sept_2, /ARC, /SEPT, _extra = ex |
---|
[4507] | 554 | ; |
---|
[4514] | 555 | cnt = cnt+1 & blabla = 'Antarctic Ice Salinity: FEBRUARY' |
---|
[4559] | 556 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceSal, Isal_febr_1, Isal_febr_2, Ifra_febr_1, Ifra_febr_2, /ANT, /FEBR, _extra = ex |
---|
[4507] | 557 | ; |
---|
| 558 | cnt = cnt+1 & blabla = 'Antarctic Ice Salinity: SEPT' |
---|
[4559] | 559 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceSal, Isal_sept_1, Isal_sept_2, Ifra_sept_1, Ifra_sept_2, /ANT, /SEPT, _extra = ex |
---|
[4507] | 560 | ; |
---|
[4559] | 561 | cnt = cnt+1 & blabla = 'Arctic Ice Velocity: FEBRUARY' |
---|
| 562 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceVel, IvelU_febr_1, IvelU_febr_2, IvelV_febr_1, IvelV_febr_2, Ivelo_febr_1, Ivelo_febr_2, /ARC, /FEBR, _extra = ex |
---|
| 563 | ; |
---|
| 564 | cnt = cnt+1 & blabla = 'Arctic Ice Velocity: SEPT' |
---|
| 565 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceVel, IvelU_sept_1, IvelU_sept_2, IvelV_sept_1, IvelV_sept_2, Ivelo_sept_1, Ivelo_sept_2, /ARC, /SEPT, _extra = ex |
---|
| 566 | ; |
---|
| 567 | cnt = cnt+1 & blabla = 'Antartic Ice Velocity: MARCH' |
---|
| 568 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceVel, IvelU_march_1, IvelU_march_2, IvelV_march_1, IvelV_march_2, Ivelo_march_1, Ivelo_march_2, /ANT, /MARCH, _extra = ex |
---|
| 569 | ; |
---|
| 570 | cnt = cnt+1 & blabla = 'Antartic Ice Velocity: SEPT' |
---|
| 571 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceVel, IvelU_sept_1, IvelU_sept_2, IvelV_sept_1, IvelV_sept_2, Ivelo_sept_1, Ivelo_sept_2, /ANT, /SEPT, _extra = ex |
---|
[4755] | 572 | |
---|
[4559] | 573 | cnt = cnt+1 & blabla = 'Arctic Ice Age: MARCH' |
---|
| 574 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceAge, Iage_march_1, Iage_march_2, Ifra_march_1, Ifra_march_2, /ARC, /MARCH, _extra = ex |
---|
| 575 | ; |
---|
| 576 | cnt = cnt+1 & blabla = 'Arctic Ice Age: SEPT' |
---|
| 577 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceAge, Iage_sept_1, Iage_sept_2, Ifra_sept_1, Ifra_sept_2, /ARC, /SEPT, _extra = ex |
---|
| 578 | ; |
---|
| 579 | cnt = cnt+1 & blabla = 'Antarctic Ice Age: FEBR' |
---|
| 580 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceAge, Iage_febr_1, Iage_febr_2, Ifra_febr_1, Ifra_febr_2, /ANT, /FEBR, _extra = ex |
---|
| 581 | ; |
---|
| 582 | cnt = cnt+1 & blabla = 'Antarctic Ice Age: SEPT' |
---|
| 583 | IF doplot EQ cnt OR doplot EQ 0 THEN std_plot_IceAge, Iage_sept_1, Iage_sept_2, Ifra_sept_1, Ifra_sept_2, /ANT, /SEPT, _extra = ex |
---|
| 584 | ; |
---|
[4517] | 585 | |
---|
[2751] | 586 | IF n_elements(htmltxt) GT 1 THEN putfile, psdir+'std_plot_html_body.txt', htmltxt[1:*] |
---|
| 587 | |
---|
[2709] | 588 | return |
---|
| 589 | END |
---|