https://wiki.seas.harvard.edu/geos-chem/index.php?title=TVMAP_cheat_sheet&feed=atom&action=history
TVMAP cheat sheet - Revision history
2024-03-29T07:06:33Z
Revision history for this page on the wiki
MediaWiki 1.24.2
https://wiki.seas.harvard.edu/geos-chem/index.php?title=TVMAP_cheat_sheet&diff=51352&oldid=prev
Bmy at 19:08, 16 September 2022
2022-09-16T19:08:52Z
<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 19:08, 16 September 2022</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">----</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><span style="color:red"><big><strong>[https://geoschem.github.io/gamap-manual/GAMAP GAMAP] is now obsolete.  We recommend using [https://gcpy.readthedocs.io GCPy] for analyzing output from recent GEOS-Chem versions.  But we will preserve the GAMAP wiki documentation for reference.</strong></big></span></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">----</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>This cheat sheet shows some of the most useful features of TVMAP that can be quickly tested at the command line (IDL prompt)... and used in your own programs.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>This cheat sheet shows some of the most useful features of TVMAP that can be quickly tested at the command line (IDL prompt)... and used in your own programs.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>
Bmy
https://wiki.seas.harvard.edu/geos-chem/index.php?title=TVMAP_cheat_sheet&diff=9842&oldid=prev
Plesager: /* Control TVMAP settings from CTM_PLOT and/or GAMAP */
2012-03-13T17:20:17Z
<p><span dir="auto"><span class="autocomment">Control TVMAP settings from CTM_PLOT and/or GAMAP</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 17:20, 13 March 2012</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 217:</td>
<td colspan="2" class="diff-lineno">Line 217:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Most of TVMAP keywords can be set when calling GAMAP or CTM_PLOT (thanks to the _extra facility of IDL):</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Most of TVMAP keywords can be set when calling GAMAP or CTM_PLOT (thanks to the _extra facility of IDL):</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>  gamap, file=ftest, 'anthsrce', dlon=2, dlat=2, lats=0.5, lons=-130.5,/usa, format='(f5.1)', gylab=4,gxlab=10, min_valid=0.00000001</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>  gamap, file=ftest, 'anthsrce', dlon=2, dlat=2, lats=0.5, lons=-130.5,/usa, format='(f5.1)', <ins class="diffchange diffchange-inline">&</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">        </ins>gylab=4,gxlab=10, min_valid=0.00000001</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>However, sometimes, a TVMAP keyword must be set with a different keyword in CTM_PLOT!</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>However, sometimes, a TVMAP keyword must be set with a different keyword in CTM_PLOT!</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 230:</td>
<td colspan="2" class="diff-lineno">Line 231:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  ; unset default /isotropic  </div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  ; unset default /isotropic  </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  CTM_PLOT, ....,  ISOTROPIC=0</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  CTM_PLOT, ....,  ISOTROPIC=0</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"> </del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Map projections ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Map projections ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== To get a list of ALL available map projections ===</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== To get a list of ALL available map projections ===</div></td></tr>
</table>
Plesager
https://wiki.seas.harvard.edu/geos-chem/index.php?title=TVMAP_cheat_sheet&diff=9841&oldid=prev
Plesager: /* Control the GRID - (2) with GRID=0 */
2012-03-13T17:19:21Z
<p><span dir="auto"><span class="autocomment">Control the GRID - (2) with GRID=0</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 17:19, 13 March 2012</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 177:</td>
<td colspan="2" class="diff-lineno">Line 177:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>To pass other grid keyword (those not accepted by MAP_SET), you must use the E_GRID keyword:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>To pass other grid keyword (those not accepted by MAP_SET), you must use the E_GRID keyword:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>  TVMAP, data, lon, lat, /contin, limit=[0,-160.,70,-30], latdel=8, londel=10, e_grid={box_axes:1}, nogxlabels=1, nogylabels=1</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>  TVMAP, data, lon, lat, /contin, limit=[0,-160.,70,-30], latdel=8, londel=10, <ins class="diffchange diffchange-inline">&</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">                        </ins>e_grid={box_axes:1}, nogxlabels=1, nogylabels=1</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Note the use of NoGXLabel to leave control of the grid labels to MAP_GRID. This</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Note the use of NoGXLabel to leave control of the grid labels to MAP_GRID. This</div></td></tr>
</table>
Plesager
https://wiki.seas.harvard.edu/geos-chem/index.php?title=TVMAP_cheat_sheet&diff=9840&oldid=prev
Plesager: /* Control the GRID - (2) with GRID=0 */
2012-03-13T17:18:49Z
<p><span dir="auto"><span class="autocomment">Control the GRID - (2) with GRID=0</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 17:18, 13 March 2012</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 177:</td>
<td colspan="2" class="diff-lineno">Line 177:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>To pass other grid keyword (those not accepted by MAP_SET), you must use the E_GRID keyword:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>To pass other grid keyword (those not accepted by MAP_SET), you must use the E_GRID keyword:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>TVMAP, data, lon, lat, /contin, limit=[0,-160.,70,-30], latdel=8, londel=10, e_grid={box_axes:1}, nogxlabels=1, nogylabels=1</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline"> </ins>TVMAP, data, lon, lat, /contin, limit=[0,-160.,70,-30], latdel=8, londel=10, e_grid={box_axes:1}, nogxlabels=1, nogylabels=1</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Note the use of NoGXLabel to leave control of the grid labels to MAP_GRID. This</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Note the use of NoGXLabel to leave control of the grid labels to MAP_GRID. This</div></td></tr>
</table>
Plesager
https://wiki.seas.harvard.edu/geos-chem/index.php?title=TVMAP_cheat_sheet&diff=9839&oldid=prev
Plesager: /* Default behavior */
2012-03-13T17:15:48Z
<p><span dir="auto"><span class="autocomment">Default behavior</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 17:15, 13 March 2012</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 4:</td>
<td colspan="2" class="diff-lineno">Line 4:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Check:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Check:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  DATA = DIST(30,20)</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  DATA = DIST(30,20)</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>  TVMAP, DATA TVMAP, DATA, /SAMPLE, /CBAR</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>  TVMAP, DATA</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline"> </ins>TVMAP, DATA, /SAMPLE, /CBAR</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>This is the same as (showing the implicit lon/lat range associated with the data):</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>This is the same as (showing the implicit lon/lat range associated with the data):</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 11:</td>
<td colspan="2" class="diff-lineno">Line 12:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  LAT = -90. + findgen(20)* 9 + 4.5 ; box center</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  LAT = -90. + findgen(20)* 9 + 4.5 ; box center</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  TVMAP, DATA, lon, lat</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  TVMAP, DATA, lon, lat</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Zooming ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Zooming ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>To zoom, there is no need to cut the data to the window size, just use the LIMIT keyword. Compare:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>To zoom, there is no need to cut the data to the window size, just use the LIMIT keyword. Compare:</div></td></tr>
</table>
Plesager
https://wiki.seas.harvard.edu/geos-chem/index.php?title=TVMAP_cheat_sheet&diff=9838&oldid=prev
Plesager: new TVMAP cheat sheet
2012-03-13T17:14:55Z
<p>new TVMAP cheat sheet</p>
<p><b>New page</b></p><div>This cheat sheet shows some of the most useful features of TVMAP that can be quickly tested at the command line (IDL prompt)... and used in your own programs.<br />
<br />
== Default behavior ==<br />
Check:<br />
DATA = DIST(30,20)<br />
TVMAP, DATA TVMAP, DATA, /SAMPLE, /CBAR<br />
This is the same as (showing the implicit lon/lat range associated with the data):<br />
<br />
DATA = DIST(30,20)<br />
LON =-180. + findgen(30)*12 + 6. ; box center<br />
LAT = -90. + findgen(20)* 9 + 4.5 ; box center<br />
TVMAP, DATA, lon, lat<br />
== Zooming ==<br />
To zoom, there is no need to cut the data to the window size, just use the LIMIT keyword. Compare:<br />
<br />
TVMAP, DATA, LON, LAT, /GRID, /CONTINENTS<br />
TVMAP, DATA, LON, LAT, /GRID, /CONTINENTS, LIMIT=[-10,0.,60.,25.]<br />
<br />
Note that if you do '''not''' pass the LON and LAT associated to DATA, only the map is zoomed. Compare:<br />
<br />
TVMAP, DATA, /GRID, /CONTINENTS, LIMIT=[-10,0.,60.,25.]<br />
TVMAP, DATA, LON, LAT, /GRID, /CONTINENTS, LIMIT=[-10,0.,60.,25.]<br />
<br />
It is strongly recommended to specify LON and LAT all the time.<br />
<br />
=== LIMIT keyword tip ===<br />
<br />
The following can be handy in a program, where you ''sometimes'' need to set the LIMIT. Setting LIMIT to 0 is the same as not setting it:<br />
<br />
TVMAP, DATA, LIMIT=0<br />
<br />
== Out-Of-Range data and Colorbar ==<br />
<br />
=== with a (default) white box ===<br />
<br />
To indicate data below (above) a specific value, use MIN_VALID (MAX_VALID):<br />
<br />
TVMAP, DATA, MIN_VALID=5., /SAMPLE, /CBAR<br />
=== with a Triangle instead of a box ===<br />
<br />
TVMAP, DATA, MIN_VALID=5., /TRIANGLE, /sample, /CBAR<br />
=== with a non-white box ===<br />
<br />
Use BotOutOfRange (TopOutOfRange) to specify the color for data below MIN_VALID (above MAX_VALID): <br />
TVMAP, DATA, BOTOUTOFRANGE=!myct.gray50, MIN_VALID=5., /SAMPLE, /CBAR<br />
<br />
=== with a non-white triangle ===<br />
<br />
Combine Triangle and BotOutOfRange:<br />
<br />
TVMAP, DATA, BOTOUTOFRANGE=2, MIN_VALID=5., /TRIANGLE, /CBAR<br />
=== without any indication in the colorbar ===<br />
<br />
Use a negative color index:<br />
<br />
TVMAP, DATA, BOTOUTOFRANGE=-2, MIN_VALID=5., /SAMPLE, /CBAR<br />
'''Tip''': To denote out-of-range data with WHITE, but without a box or triangle in the colorbar, you must use the color index -17. White is available as index 0 and 17 with the standard set of colors of Gamap !MyCT. <br />
TVMAP, DATA, BOTOUTOFRANGE=-17, MIN_VALID=5., /CBAR, /SAMPLE<br />
=== Conditional insertion of triangles ===<br />
<br />
Here is a wrapper that automatically add a triangle if, and only if, there is out of range data:<br />
<br />
PRO WRAP_TVMAP, data, lon, lat, range, BOOR=BOORi, TOOR=TOORi, _extra=e<br />
<br />
; Default values<br />
; ---------------------------<br />
minvalid = range[0] & maxvalid = range[1] & triangle = 1<br />
BOOR = keyword_set( boori ) ? boori : !myct.bottom<br />
TOOR = keyword_set( toori ) ? toori : !myct.bottom+!myct.ncolors<br />
<br />
<br />
; Check for out-of-range data<br />
; ---------------------------<br />
cr = range[sort(range)]<br />
nim = min(data, max=xam, /NaN)<br />
<br />
if ~ (nim lt cr[0] or xam gt cr[1]) then $<br />
UNDEFINE, minvalid, maxvalid, toor, boor, triangle<br />
<br />
<br />
; Map plot<br />
; ---------------------------<br />
TVMAP, data, LON, LAT, /cbar, /continents, /sample, $<br />
mindata=range[0], maxdata=range[1], $<br />
cbmin=range[0], cbmax=range[1], $<br />
<br />
; denote out-of-range:<br />
BotOutOfRange = BOOR, TopOutOfRange=TOOR, Triangle=triangle, $<br />
min_valid=minvalid, max_valid=maxvalid, $<br />
<br />
_extra = e<br />
<br />
return<br />
end<br />
<br />
== NaN data ==<br />
<br />
To deal with NaN, you can set them to a very low or high value and use the MIN/MAX_VALID keywords. But you can also directly use the NAN_COLOR keyword (default to 0): <br />
DATA[where(data gt 6)]=!values.f_nan<br />
<br />
TVMAP, DATA, nan_color=!myct.orange<br />
<br />
== GRIDS ==<br />
<br />
=== One or more GRID without DATA ===<br />
<br />
If you just want to plot one grid, you can use the CTM_MAPGRID routine from GAMAP. For a more general approach, use MAP_GRID, like this (several tips at once!):<br />
<br />
; no grid<br />
MAP_SET, /ORTHOGRAPHIC, 65., -15., 0., /isotropic, COLOR=!MYCT.BLACK<br />
<br />
; 1st grid (not global)<br />
lats = -78 + findgen( 79 )*2<br />
lons = -180 + findgen( 121 )*3<br />
<br />
MAP_GRID, LATS=LATS, LONS=LONS, glinestyle=0, COLOR=!MYCT.black<br />
<br />
; 2nd grid (automatic generation of LONS / LATS vectors from ranges<br />
; and steps)<br />
lon=[-30, 30] & lat= [34, 70]<br />
dlon=1 & dlat=0.5<br />
<br />
lats = lat[0] + findgen( fix((lat[1]-lat[0])/dlat +1) )*dlat<br />
lons = lon[0] + findgen( (lon[1]-lon[0])/dlon +1 )*dlon<br />
<br />
MAP_GRID, LATS=LATS, LONS=LONS, glinestyle=1, COLOR=!MYCT.red, glinethick=2<br />
<br />
; Continents<br />
MAP_CONTINENTS, /COAST, /COUNTRIES, COLOR=!myct.blue, MLINETHICK=2 <br />
<br />
=== Control the GRID - (1) with /GRID ===<br />
<br />
Setting /GRID, '''TVMAP''' will call MAP_GRID. Then you can pass keywords to MAP_GRID through the _EXTRA facility, like specifying the location of the grid lines (see MAP_GRID documentation for more on those keywords) or black/white box axes:<br />
<br />
tvmap, data, /contin ; no grid<br />
tvmap, data, /contin, /grid ; grid<br />
tvmap, data, /contin, /grid, /BOX_AXES ; passsing MAP_GRID keywords<br />
tvmap, data, /contin, /grid, LONS=-165., LATS=[-72.,-10,5,40] ; passsing MAP_GRID keywords<br />
<br />
But if the MAP_GRID keyword is also a MAP_SET keyword, then '''MAP_SET''' will trigger a second call to MAP_GRID, and you end up with two grids. So you '''cannot''' pass the following MAP_GRID keywords without having two grids (although the two grids may be identical, and you may not notice!). For example:<br />
<br />
tvmap, data, /contin, /grid, glinestyle=2 ; two grids problem<br />
<br />
; list of keywords common to MAP_SET and MAP_GRID (do not use them with TVMAP, /GRID):<br />
GLINESTYLE<br />
GLINETHICK<br />
LABEL<br />
LATALIGN<br />
LATDEL<br />
LATLAB<br />
LONALIGN<br />
LONDEL<br />
LONLAB<br />
<br />
So, this method (grid keywords along /GRID) is useful but limited to keywords<br />
unknown to MAP_SET.<br />
<br />
However, since v2.12 of GAMAP, you can use /GRID and specify the grid \emph{spacings} with DLON and<br />
DLAT keywords. The GXLABELS and GYLABELS can also be used to label every n-th<br />
gridlines (or none if zero). Compare the following to see how things work:<br />
<br />
data=dist(40,40)<br />
tvmap,data<br />
tvmap,data, /grid<br />
tvmap,data, /grid, dlat=8, dlon=10<br />
tvmap,data, /grid, dlat=4, dlon=5, gxlabels=0, gylabels=0<br />
tvmap,data, /grid, dlat=4, dlon=5, gxlabels=5, gylabels=4<br />
<br />
=== Control the GRID - (2) with GRID=0 ===<br />
Not setting /GRID (or setting GRID=0), you can still trigger a call to MAP_GRID <br />
through MAP_SET, by using one of the grid keyword accepted by MAP_SET:<br />
<br />
TVMAP, data, lon, lat, /contin, GLINESTYLE=0<br />
<br />
To pass other grid keyword (those not accepted by MAP_SET), you must use the E_GRID keyword:<br />
<br />
TVMAP, data, lon, lat, /contin, limit=[0,-160.,70,-30], latdel=8, londel=10, e_grid={box_axes:1}, nogxlabels=1, nogylabels=1<br />
<br />
Note the use of NoGXLabel to leave control of the grid labels to MAP_GRID. This<br />
method gives you more control, since you can use '''all''' grid keywords, directly<br />
or with E_GRID.<br />
<br />
=== Concrete example : plotting the GEOS-Chem grid box with TVMAP ===<br />
<br />
You must pass the grid edges with LATS and LONS keywords to MAP_GRID. If the grid info structure associated with your data is called GridInfo, you will go with:<br />
<br />
tvmap, data, xlon, ylat, /sample, &<br />
lats=gridinfo.yedge, lons=gridinfo.xedge, /grid<br />
You can also improve the rendition with color:<br />
<br />
tvmap, data, xlon, ylat, /sample, lats=gridinfo.yedge, lons=gridinfo.xedge, /grid, gcolor=!myct.gray15<br />
<br />
However, if you want to modify other details of the grid, you must use<br />
the E_GRID keyword but not GRID. For example, the LINESTYLE of the grid:<br />
<br />
tvmap, data, xlon, ylat, /sample, glinestyle=5, e_grid={lats:gridinfo.yedge, lons:gridinfo.xedge, color:=!myct.gray15}<br />
<br />
What happens: there is no call to MAP_GRID in TVMAP (because we do not use<br />
/GRID), but instead a call to MAP_GRID triggered by MAP_SET (because we use<br />
GLINESTYLE).<br />
<br />
=== FAQ : help, my plot has TWO grids! ===<br />
QUESTION: I try to modify some GRID features when calling TVMAP and end up with<br />
2 grids. What's happening?<br />
<br />
ANSWER: MAP_GRID can be triggered by :<br />
- TVMAP if /GRID is set<br />
- MAP_SET if grid related keywords accepted by MAP_SET are used.<br />
<br />
You used both /GRID and a grid keyword recognized by MAP_SET.<br />
Solution: do not use the /GRID keyword. See recommended method #2.<br />
<br />
== Control TVMAP settings from CTM_PLOT and/or GAMAP ==<br />
<br />
Most of TVMAP keywords can be set when calling GAMAP or CTM_PLOT (thanks to the _extra facility of IDL):<br />
gamap, file=ftest, 'anthsrce', dlon=2, dlat=2, lats=0.5, lons=-130.5,/usa, format='(f5.1)', gylab=4,gxlab=10, min_valid=0.00000001<br />
<br />
However, sometimes, a TVMAP keyword must be set with a different keyword in CTM_PLOT!<br />
For example, use YRANGE with CTM_PLOT to specify the MAXDATA passed to TVMAP:<br />
YRANGE of CTM_PLOT <==> MAXDATA of TVMAP<br />
<br />
Similarly, ON/OFF TVMAP keywords can be turn ON by default in CTM_PLOT<br />
or GAMAP, while they are OFF by default when calling TVMAP. You need<br />
to explicitly turn them OFF if you want them so. For example, by<br />
default, ISOTROPIC is ''off'' when calling TVMAP, but ''on'' when calling<br />
CTM_PLOT.<br />
; unset default /isotropic <br />
CTM_PLOT, ...., ISOTROPIC=0<br />
<br />
== Map projections ==<br />
=== To get a list of ALL available map projections ===<br />
<br />
Look into the IDL manual, or:<br />
MAP_PROJ_INFO, PROJ_NAMES = NAMES<br />
PRINT, TRANSPOSE(NAMES)<br />
<br />
which opens programming possibilities.<br />
=== Modifying TVMAP default map projection ===<br />
You do '''not''' need to hack into TVMAP. Simply pass relevant MAP_SET<br />
keywords to TVMAP. You can overwrite MPARAM or/and LIMIT, or pass a<br />
new projection keyword like /LAMBERT.<br />
<br />
DATA = DIST(30,20)<br />
lon = -180. + findgen(30)*12 + 6. ; box center<br />
lat = -90. + findgen(20)*9 + 4.5 ; box center<br />
TVMAP, data, lon, lat, rectangle=0, GxLabels=0, /GOODES, /HORIZON<br />
<br />
For a more elaborate projection, focusing on the USA,<br />
<br />
Limit = [40, -130, 45, -142, 40, -65, 24, -100]<br />
ConUS_Y = 37<br />
ConUS_X = -97<br />
TVMAP, data, lon, lat, /CONTINENTS, MPARAM=[CONUS_Y, CONUS_X,0], LIMIT=LIMIT, /LAMBERT, /USA<br />
<br />
or North America,<br />
Limit = [40, -140, 85, -142, 40, -50, 10, -100]<br />
ConUS_Y = 45<br />
ConUS_X = -97<br />
TVMAP, data, lon, lat, MPARAM=[CONUS_Y, CONUS_X,0], LIMIT=LIMIT, /LAMBERT, /COUNTRIES, /CONTINENTS<br />
<br />
or Europe:<br />
Limit = [40, -15, 75, 20, 40, 40, 30, 20]<br />
ConUS_Y = 57<br />
ConUS_X = 12<br />
TVMAP, data, lon, lat, MPARAM=[CONUS_Y, CONUS_X,0], LIMIT=LIMIT, /LAMBERT, /COUNTRIES, /CONTINENTS<br />
<br />
== Using TVMAP and MULTIPANEL ==<br />
=== simple way ===<br />
<br />
Everything is handled automatically when only using TVMAP:<br />
<br />
multipanel, 4<br />
for k=0,3 do tvmap, data<br />
multipanel,/off<br />
<br />
But if it is combined with other type of plot, here is the procedure:<br />
<br />
multipanel, 4<br />
<br />
tvmap, data<br />
<br />
multipanel, position=p<br />
plot, findgen(12), color=!myct.black, position=p<br />
multipanel, /advance, /noerase<br />
<br />
tvmap,data<br />
tvmap,data<br />
<br />
multipanel,/off<br />
<br />
=== advanced combination ===<br />
<br />
Using /NOERASE and /ADVANCE in multiple calls to MULTIPANEL, let you<br />
arrange your plots however you like. Try something like this:<br />
<br />
pro test<br />
<br />
data = dist(20,30)<br />
<br />
; set a 2x2 panels<br />
multipanel, rows=2, cols=2<br />
<br />
; set counterclockwise ordering<br />
!p.multi[4] = 1<br />
<br />
tvmap, data, title='plot 1'<br />
tvmap, data, title='plot 2'<br />
<br />
; switch to 4x3 panels, and back to clockwise ordering<br />
multipanel, cols=4, rows=3, /noerase<br />
!p.multi[4] = 0<br />
<br />
for k=3, 7, 2 do begin<br />
multipanel, /advance<br />
multipanel, /advance<br />
tvmap, data, title='plot ' + strtrim(k, 2)<br />
tvmap, data, title='plot ' + strtrim(k+1, 2)<br />
endfor<br />
<br />
; reset<br />
multipanel, /off<br />
<br />
return<br />
end<br />
<br />
I let you figure out the unique colorbar (hint: use OMargin in the<br />
first call to MULTIPANEL). <br />
<br />
== Overplot lines or string ==<br />
The active plot must be the last map projection, and not the next plot to come<br />
(which is the default). To ''stay on the map'', use /NOADVANCE:<br />
<br />
tvmap, dist(20, 20), /contin, /noadvance<br />
<br />
LON=[-36., 54.] & LAT=[2., 74.]<br />
<br />
plots, [LON[0], LON[1], LON[1], LON[0], LON[0]], &<br />
[LAT[0], LAT[0], LAT[1], LAT[1], LAT[0]], &<br />
color=!myct.black, thick=2, _extra=e<br />
<br />
Same story to use XYOutS for string.<br />
<br />
== About the SCALE keyword ==<br />
<br />
Both MAP_SET and TVIMAGE accept the SCALE keyword. The IDL routine<br />
DEVICE (when using PS or PRINTER device) accepts the SCALE_FACTOR<br />
keyword. So be careful when using that _EXTRA facility!<br />
Note that TVMAP has two `scale' keyword for that purpose:<br />
ScaleMapSet to specify the MAP_SET SCALE keyword<br />
ScaleMapImage to specify the TVIMAGE SCALE keyword<br />
<br />
If you have any doubt try your keywords on this example, and add<br />
explicit keywords if needed:<br />
<br />
pro my_routine, _extra=e<br />
<br />
open_device, _extra=e<br />
<br />
tvmap, dist(12,12), _extra=e<br />
<br />
close_device<br />
<br />
end<br />
<br />
== Known Issue(s) ==<br />
<br />
=== Bug with MAX_VALID ===<br />
<br />
Try:<br />
<br />
DATA = DIST(20,20)<br />
Window,1 & TVMAP, DATA, MAX_VALID=20., /CBAR<br />
This gives a wrong plot if X > MAX(DATA) and MAXDATA keyword is not used. The fix is to use both:<br />
<br />
Window,2 & TVMAP, DATA, MAX_VALID=20., MAXDATA=20., /CBAR<br />
<br />
--[[User:Plesager|phs]] 13:14, 13 March 2012 (EDT)</div>
Plesager