This is part of the labels / documentation for <a href='http://jcm.chooseclimate.org'>Java Climate Model</a><hr/>

#circmenu		¨addJCM5		§An experimental circular menu for quickly finding JCM components, as an alternative navigation system to @jcmtree

#jcm.mod		¨addJCM5		§@Packages containing the scientific code of JCM, most of it in @modules

#jcm.mod.obj		¨addJCM5		§This package contains modules which set the objective and calculate the scenario driving the rest of JCM. 
 The fundamental choice is made by the parameter @objective in  @controller , which switches primary control to one of these modules. However several modules may be active due to feedbacks between them.

See also 
old link: @emitcc

#jcm.mod.soc		¨addJCM5		§This package gathers modules for regionally distributed socioeconomic factors and emissions. All @qtsets in this package share the same adjustable @socregions. 

@socreg curves combine @history with future projections based on either @futbasescen or @stabilisation scenarios (depending on the chosen @objective). In the latter case, the distribution between regions depends on parameters in @shares. @equity may also be explored through @costs and @responsibility modules.

#controller		¨addJCM5		§This module directs the flow of the JCM calculation loop, determining which other modules are called in which sequence, depending on the fundamental question / paradigm set by the parameter @objective

See also: 
@philosophy 
 old label: @mitigation
----

#futbasescen		¨addJCM5		§This module calculates  bottom-up scenarios based on the evolution of driving forces, following storylines such as @aboutsres

See also old modules: @sres @people
See also @interpolator

#shares		¨addJCM5		§Documentation to be updated.
see old modules: @regshares, @kyoto
see old plot @distribplot
see old label: @distribution

#socreg		¨addJCM5		§This module acts as a container for all regional socioeconomic and emissions curve sets. You can change the set of regions with the parameter @regions 

Note also @regiondatasource, @history, @futbasescen

Old documentation to be updated:
Future regional emissions may be mitigated according to various formulae -see @stabilisation, @distribution,
See old modules:  @regshares,  @people
See old plot: @distribplot
----

#calclucemit		¨addJCMHELLO		§Land use change is the second greatest anthropogenic source of CO2, after fossil fuel combustion (see @emitfosbase). However these emissions are very uncertain because of the absence of international statistical data,  even though it is quite necessary to estimate the disturbance caused by human activities in the carbon cycle and the natural carbon cycle.

This module calculates the historical land use change CO2 emissions by agriculture and pasture expansion based on the HYDE land use database by country. Calculating the area differences of each biome (associated to carbon factors) converted to cropland (including urban areas) and pastures by country we calculated the land use change CO2 emission over the past 300 years.



see also @biome 


----

#berncarbon		¨addJCM5		§JCM carbon cycle is based on the Bern model, as used by IPCC. This was originally calibrated using chemical tracer and isotope data, and its predictions fall in the mid-range of model intercomparisons.
The page below explains a bit how it works, and the parameters you can adjust.
----
Note that another module, @carboncycle, handles the interface with the rest of JCM, and also the @qtsets {{
*: @atco2flux 
*: @atco2conc
}}
Also in separate modules are {{
*: @carbonstoragecurves
*: @carbonatechemistry 
}}

 ¤adju Note: It is easier to understand the effect of the parameters, when the model is working in forwards rather than @inverse mode: -see @sinksdynamic

  ---- 
¤adju ££sinksocean 
¤cogs  ===Ocean sink: HILDA model ===
  (HILDA = High-Latitude Diffusion Advection)   {{
*:low-latitude (84% surface) divided into 36 layers   *:depth-dependent vertical diffusion between layers   *:high-latitude box, well-mixed   
*:horizontal advection between HL & LL   
*:slow upwelling loop (down in HL, up in LL)   
*:surface layer (HL and LL) exchanging with atmosphere   *:non-linear carbonate chemistry with feedback from temperature
  }}

---- 
 ¤adju ££sinksbiosphere 
¤cogs ===Terrestrial Biosphere sink===
  4-box biosphere :   {{ 
*:green, wood, soil, humus boxes,   
*:linear fluxes between boxes and to atmosphere   
*:non-linear "CO2 fertilisation" factor 'beta'   
*:temperature-soil respiration feedback (new in JCM5)
}}

  ---- ===Calculation method===
  The entire system is solved using an efficient eigenvector calculation method with a ramp function for non-linear fluxes.
 For more information see @eigenvec
A similar method is used for the @udebclimod
----
See also {{
*: Joos et al 2001 (@references),
*: @compareipcc, IPCC-TAR WG1 Chapter 3
*: @carbonfuture
}}

----

#carbonatechemistry		¨addJCM5		§This module contains the ocean chemistry calculations used by the @berncarbon module. 

£`qtsets of concentration and pH are also provided, which may be relevant to direct impacts of CO2 on calcifying organisms (e.g. corals and coccolithophorids).

==About CO2 in seawater==
CO2 reacts with alkaline seawater to form bicarbonate ions
  CO2 + H2O <=> HCO3- + H+
  This conversion reduces the partial pressure of CO2 in seawater, giving the ocean has a vast capacity to store CO2. Currently the ocean holds about 50 times more inorganic carbon than the atmosphere, 99% of it in the form of HCO3-.
  However adding CO2 to seawater makes it more acidic, which reduces this "buffer capacity". Increasing the temperature also affects the chemical equilibria and reduces the solubility of CO2 in seawater. Both these feedbacks (acidification and temperature) act to decrease the future ocean sink.

¤adju  If you select "linear" from the @carbchemmenu menu you will switch off the acidification effect.

¤adju  If you disable the @chemfbopt you will switch off the feedback from temperature. You may observe that this removes the spikes in the historical ocean sink, which are caused by equivalent spikes in radiative forcing, especially volcanos.
  (see also @clicarbfeedback )

#carbonstorage		¨addJCM5		§This module saves data for the  @carbonstoragecurves plot 

¤cogs %%(this process is separated from @berncarbon simply for computationally efficiency, as it is only needed when the plot is visible. A similar separation is made for @oceantempcurves. See also @eigenvec) %% 


----

#aerosolrf		¨addJCM5		§The @qtset of all @aerosol contributions to forcing.

For more info see: <ul>
<li>@radforintro 
<li>@radforaerosol, 
<li>@radforsolvol, 
<li>@radfordistrib
</ul>

#othgasemitoptions		¨addJCM5		§This @param provides four different ways to project the emissions of gases other than CO2, including CH4, N2O, F-gases (HFCs, PFCs,  SF6),  tropospheric ozone precursors (CO,VOC,NOx) and aerosols (SOx, Soot). 

Only the gases already controlled by the Montreal protocol (ClFCs, HClFCs) are excluded, whilst BC/OC aerosols are either scaled to CO, or to land-use change  (see @radforaerosol) 

¤adju Look at a plot of @othgasemitcurves (or @fgas&emit) to see the effect of this parameter. Note that the "scale" variants only have an effect on @stabilisation scenarios (see @objective).

The formulae for each variant are given from the links below:

#co2eq&allghg		¨addJCM5		§This adds Tropospheric and Stratospheric Ozone, and CFCs to  @co2eq&6gas . Beware that the distribution of ozone forcing is different to that of well-mixed greenhouse gases  
<li>see also @oghga, @fgases, @co2eq

££co2eq

#co2eq&6gas		¨addJCM5		§The 'six' gases controlled by the Kyoto protocol are CO2, N2O, CH4, SF6, PFCs, HFCs  <li>See also @kyoto, @co2eq

££co2eq

#co2eq&allghgaero		¨addJCM5		§This adds Sulphate and Carbon Aerosols to @allghg (so it includes all forcing from anthropogenic emissions). Beware that the distribution of aerosol forcings is very different to that of greenhouse gases, so one cannot say that positive forcing (from GHGs) in one region is cancelled by negative forcing (from aerosols) in another: the result is still climate change!  <li>see also @radforaerosol, @co2eq

££co2eq

#co2equivconc		¨addJCM5		§This @qtset shows the concentrations of CO2 which would produce the same radiative forcing as the total of all the included gases.

See @co2eq for more explanation

#carbonstoragecurves		¨addJCM5		§This @qtset shows the contents of all the boxes in the carbon cycle model (ocean layers and biosphere). These contain only "extra" anthropogenic carbon, excluding the contents in the preindustrial steady state. 
It is instructive to view this alongside a plot of @atco2flux. See  @carbonstorage and @berncarbon  for more explanation.

#jcm25		¨addJCM5		§A @regionset of 25 regions
£§jcmregcol

#attmeth		¨addJCM5		§There are several methods of attributing cumulative effects when the cause-effect relationship is non-linear.  For more information see the documentation under @attribution

¤cogs Only the tracer method is reliable in JCM, others should be considered experimental (see notes for each method). 

 %%¤cogs The tracer method effectively reruns the core parts of the @berncarbon and @udebclimod  for each region, whilst the other methods re-run the model as many times as there are   years of attributable emissions. Thus in principle tracer is more efficient so long as the number of regions is less than the number of attributable years.%%

#history		¨addJCM5		§This module assembles historical data from various sources.

These historical data are combined with future projections in the @socreg and @socio modules,  interpolating over time and space to fit the chosen  @socregions. 

Users are recommended to look at those modules first. The @qtsets  in this module are provided only for experts who need to check the original data before interpolation.

Note also: {{
*: @dataref
*: @percapplot -some interesting observations
*: separate modules @LUCdata and @CalcLUCEmit
*: the @interpolator tool
}}

#fosco2		¨addJCM5		§Original data from CDIAC
See old link: @regiondatasource

#pop		¨addJCM5		§National Population data from RIVM-HYDE (Kees Goldvijk)

#aviaship		¨addJCM5		§Exprrimental, Under construction

#jcm		¨addJCM5		§The root folder of JCM java-source code. 
This is organised into several @packages, of which <ul>
<li>jcm.mod : the "scientific" code, <li>jcm.core : core building blocks, 
<li>jcm.gui : graphical user interface
<li>jcm.script : for specific applications
</ul>

#worlds		¨addJCM5		§JCM5 has a "parallel worlds" structure, allowing simultaneous comparison of several projections, each using different parameters (scenarios, scientific uncertainties, policy options). 
¤cogs Parallel World options are only shown at @expert @complexity
¤adju You can make an additional world (or remove it) using the Worlds @jcmmenu at the top, or by selecting the worlds @filter button in a @jcmtree. Making a new world will open an new £`jcmtree 
¤adju You can change the name of a world, to remind you of its key characteristics
¤adju To compare data in different worlds on one plot, use the @compareworlds option in the @variant popup menu corresponding to each @qtset (from the @jcmtree or right-click from @plots).  

¤cogs Each @world's modules, parameters and curves are entirely independent (excepting "static" historical datasets). There is no limit set to the number of parallel worlds, however beware that using several  parallel worlds takes a lot of computer memory (especially if you use large region sets). 
You may wish to use the @memoryChecker tool

¤cogs Later it is envisaged to implement partially-parallel worlds in which some modules are shared and some are different (e.g. same emissions scenarios but different climate response), which could offer large efficiency savings for complex calculations.

¤cogs The parallel worlds system takes advantage of java's object-oriented structure (see @aboutjava)

The contents of the current set of worlds are below:

#world		¨addJCM5		§One of several parallel worlds, see @Worlds
%%¤cogs Code in world.java also initialises each module within a world.%%

#complexity		¨addJCM5		§The complexity level acts as a filter, to hide "expert" items, to make it easier for beginners to find what is most important.

The complexity level parameter is  adjustable from the @ViewMenu or in the bar at the top of each @jcmTree.

Each @module @param, @qtset, and @qt has an associated complexity level set in the model code. Items whose complexity level is higher than the level set by the complexity parameter  will not appear in the @jcmTree, @jcmMenu, @interacmap, and parts of @plots and @docview.

The complexity level does not affect the underlying scientific calculations. So even at  the simplest level, the complex parts of JCM are still calculated - you just can't see them.

¤cogs The four levels are:<ul>
£*simplest
£*normal
£*expert
£*experimental
</ul>
See also @filter

#jcm.core		¨addJCM5		§@Package containing core building blocks of JCM

#infob		¨addJCM5		§A structural component of JCM: <ul>
<li>An object with basic information about itself (@labelcode, @complexity, colour).
<li> An infob may contain a set of more infobs or actions, which are used to generate the structure of a @jcmtree or a @jcmmenu
<li>Infob class is extended by @interacob, @region and @qt
</ul>

#interacob		¨addJCM5		§A structural component of JCM. <ul>
<li>Interacob extends @infob by adding information about @interactions between components. 
<li>Interacob is extended by @module, @qtset, @param.
</ul>
Each interacob stores a list of all the other interacobs which are it affects, or is affected by. This enables the @loop to work out the calculation dependencies. 

An interacob stores flags indicating whether: <ul>
<li>it has been changed by adjusting a @param since the last recalculation. 
<li>it is needed for display of any visible @plotlink
</ul>

¤cogs If an iob is needed, all those which it is affected by must also be needed. If an iob has changed, all those which it affects must also be changed. When one iob changes or becomes needed, a recursive loop checks through all the iobs, to set these flags accordingly. Only those interacobs which are **both needed and changed** are included during the main @loop calculations. This makes a key contribution to the speed and efficiency of JCM. 

¤adju You can observe that the model responds faster when you adjust controls affecting only the end of cause-effect sequence (e.g. climate model parameters, with feedbacks disabled). The response is also faster if you view less plots (e.g. if only regional emissions are visible, the carbon-climate modules are not run).

See also @interactions, @interacmap, @register, @loop, @struccode

#qt		¨addJCM5		§One curve in a @qtset, that may be shown in @plots

#register		¨addJCM5		§A structural component of JCM
Contains lists of all @interacob and @plotlink, and various methods to organise them

#setup		¨addJCM5		§The setup of JCM, i.e. the current state of @params, layout of @panels, and @plots, may be saved and reloaded. This is particularly useful for preparing interactive demonstrations.

¤adju You can save and reload setups, using the @setupmenu.
This also offers some standard setups saved within the JCM package.

¤adju When you closeJCM, the current setup is saved automatically, and next time you open JCM this is reloaded. Ocasionally this may be problematic  (for example if your screen-size has changed), so you can bypass automatic reloading using the right-hand button on the opening splash-screen.

¤cogs The information is stored in an small text file, containing the minimum information required to reproduce the state of the model  (so only changed @param values are saved, not the content of @qtsets). These files are stored in a folder called **setup** created in as a subfolder of that in which JCM is opened. This will not work if JCM is started in @safemode.

¤cogs Persistence should be reliable for all model parameters but not yet for all aspects of plot layout.

#units		¨addJCM5 fix		§Units of @qtsets and @params.

JCM tries to scale units intelligently when generating a @scaleview of a @plot, dividing powers of ten to find the most appropriate SI scalar (see below). JCM also tries to cancel common factors when @ratio: is used to divide to @qtsets

%%¤adju This may give you some apparently strange quantities (e.g. "micro-person per joule per year"), in this case it may makes more sense to choose the opposite  ratio (e.g. megajoule per person per year).%%

  ££siunits ££baselines ££carbonunits  ££time

#jcm.gui		¨addJCM5		§@Package containing Graphical User Interface components of JCM

#labman		¨addJCM5		§Stores, Loads and Saves all @label, both from the original package, and changes due to editing (see @docview)

#sourceview		¨addJCM5		§A simple viewer is provided to enable users to inspect the  source-code of JCM. 
¤adju Access this via the @jcmmenu at the top, by using the source-code @filter (both available only at @expert @complexity),  or from the code link at the bottom of relevant @docview pages.  
¤cogs The same tool can also display several types of @data stored in JCM packages
¤cogs The viewer decorates java using html (for colors fonts and layout). To get the original plain-text files unpack the JCM5.jar package (note a jar file is just like a zip archive). 
¤adju If you want to explore the code in more depth, and try modifying it, you are recommended to use an Integrated Development Environment tool such as Netbeans (www.netbeans.org), see @changingcode

Please see also @copyr

#contextmenu		¨addJCM5		§shows popup context menus

#imagesaver		¨addJCM5		§A tool to save or copy an image (png or jpg) from @plots or other @panels (accessed from popup menus)

see @save_image, @copy_image

#plots		¨addJCM5		§From each @qtset several types of plot can be created
<ul>
£*lineplot
£*datable
£*histoplot
£*XYplot
</ul>
----
see also @jcm.gui.plot

#processdialog		¨addJCM5		§A box showing information about any slow process,
e.g. loading large GCM datasets or documentation files, or iterative calculations used in @optimisation or @scripting

#datable		¨addJCM5		§A table showing all data stored by a @qtset
Get this from popup menus in @jcmtree or from the menu at the top.

¤cogs The table is dynamically linked to the model: changing parameters may change the table contents. On the other hand, you cannot edit the contents directly. 
¤cogs For some data columns a scaling factor (e.g. x1000) may have been applied on the visible graph, but not in the table, see @units 
¤adju You can move the columns about by dragging them at the top
¤adju the right-click popup menu provides options related to all @qtsets
¤adju This menu also provides an option to save a table. 
You can choose the separator character, to be convenient for importing into another application. Tabs are usually safer, since data may contain commas. 
Note that Comma-Separated-Value (csv) tables can be easily opened by Excel or OpenOffice, even if they are actually separated by tabs.

#jcm.tls		¨addJCM5		§£>jcm.core.tls

#histoplot		¨addJCM5		§A histogram made from data from two @qtset, for a specific year. 
If we call the curve sets A and B, then the height of each bar shows the ratio A / B, the width of each bar shows B, and the area shows A. 
 
For example, if the bar height shows emissions per capita for each region (see @socreg), the width shows population, and the area shows emissions. This illustrates both which regions are the largest emitters, and which are the largest per-capita emitters.

¤adju The slider chooses the year - it is interesting to drag this to see changes over time

¤adju You can add a third  £`qtset, "C" of a quantity that is additive to A, by choosing from the first submenu of the plot's popup menu.
For each bar from A, if the data from C is positive, it will show above the bar in a darker color, if it is negative it will show as white (with a border) subtracted from the top of the bar.

A useful example of this is to show both fossil and landuse change CO2  emissions per capita together on one plot

#scatterplot		¨addJCM5		§This is experimental, still under construction

#lineplot		¨addJCM5		§A plot showing how a @qtset changes over time
Get the plot by dragging an icon from a @jcmtree into another @panel.

¤cogs It make take some time for the model to recalculate, depending on @interactions, especially if much has changed since this @qtset was last used.

¤cogs The plot is dynamically linked to the model and will respond to changing @params - try dragging sliders in the @jcmtree

¤adju A few parameters, whose units match the scales of the plot, are also shown by draggable arrow controls on the plot. 
%%For example, starting from the default setup, a control to adjust the CO2 @stabilisation level should appear on the @atco2conc plot%%


¤adju Some extra options are accessible from the popup menu (right-click). 
<ul>
<li> You can stack the curves.  
Some curves (e.g. ratios, totals) cannot be stacked
<li> You can copy or save an image (see @imagesaver)
<li> You can create subsidiary plots combining two @qtset
</ul>
¤adju You can also change the scales by dragging them.
Double click to set the origin (fixed point) for dragging
¤adju More information about each @qt and @scaleview  is provided as you move the mouse over them.

#scaleview		¨addJCM5		§An adjustable scale
¤adju You can change scales by dragging them, which stretches or squeezes rhe scale ith respect to a fixed point (usually 0 for vertical axis,2000 for time axis) . To choose a different fixed point, double click on the scale

¤adju Move your mouse over the axis to see pop-up info about units and range

When a plot is opened an appropriate scale range is calculated automatically. 
See also @units

#package		¨addJCM5		§JCM, like all java code, is organised into  packages of related classes of objects.
See also @jcm.mod, @aboutjava

#showpan		¨addJCM5		§See @panels

#normal		¨addJCM5		§This is for general use. All curves and controls will be shown at normal level and above by default (if their code does not specify a complexity level).

#simplest		¨addJCM5		§This is to help beginners learning how to use JCM, showing just one or two curves per plot and options per module. Only selected modules are shown, to illustrate key steps links between CO2 emissions, concentration, forcing, temperature and sealevel. Beware that any simplification hides important assumptions - you should not present results derived from consideration of this level alone!

#editdoc		¨addJCM5		§JCM documentation can be edited using a convenient "wiki" system.

Changes to the source text are shown immediately in the documentation.
Changes to labels are also used elsewhere in the model, when refreshed (e.g. when you click on the @treeMaker). 

¤adju Start by choosing "Edit Doc Source", the top item in the "Edit Doc" menu at the top of any @docview. A split-panel for editing will appear to the right. 

---- ==Labels Keys / Categories / Info  ==

Each label/page has a unique identifying key. 
These keys are shown at the top-right of the documentation panel. 
You can also see keys in the @jcmtree, in @menus and in hyperlinks by choosing  "label codes" from the Language menu (within View menu)

At the top of the editing panel are short text-fields for the "category" (used for dividing the files and organising the @labdoctable) and any extra information about this label (whatever you like, e.g.  "fix-me!").  

Below this are two text-fields for the short label (used for hyperlinks and by @jcmmenu, @jcmtree and @legend)  and medium label (used  for titles of documentation pages and subsections). 

You can also used the @labdoctable to explore the complete set of keys 

---- ==Wiki syntax==

Below this are two larger panes. The text in the upper one (black text, editable), will be directly converted into HTML for the documentation. 

Some convenient "wiki"-style shortcuts are provided for text-formatting:
%%(to understand these examples, look at the source in edit-doc panel)%%
 **bold**  //italic// --strikeout--  __underline__ %%small%% ,,subscript,, ^^superscript^^ 
It is also easy to add icons e.g.  ¤cogs ¤clou ¤tool ¤bern using names in png/iconnames.txt (inside JCM package)

Normal HTML  tags can also be used, but note that the java5 html parser does not recognise as many tags as some browsers.

----==HyperLinks and Inserts==

Hyperlinks are made using the at-sign plus the label key, like this @docexample.
 If this key does not yet exist,  the link will appear red as in @anotherexample, you can click on it to open a new blank label for editing.

Source text may also contain code (starting with a pound-sign) to insert subcomponents from other keys, in several ways, as shown by examples below
<ul>
<li>1. £`docexample
<li>2. £~docexample
<li>3. £§docexample
<li>4. £%docexample
<li>5. ££docexample
£*docexample
<li>7. £>docexample
<li>8. £<docexample
</ul>
Example 3 inserts all the documentation (except initial title) - so it can also be used for 'redirecting" to another page
Example 4 makes a summary of limited length excluding any %%small text%%, further inserts, or extra dynamic  documentation (see below).
Example 5 creates as subsection and also adds a bookmark at the top of the page.
Example 6 adds a bullet, a link and a summary

Right-click on the editing panel to jump directly to edit the label/documentation of any of these subcomponents.

----==Extra Dynamic Documentation==

After this extra documentation may be added, as shown in the lower panel (brown colour, not editable). This is automatically generated by the model to provide dynamic information about this model component (e.g. @infob, @module,  @param, @qtset, @qt, @region) . This also uses inserts (as described above), which you can edit using keys from the popup menu (right-click).

¤cogs The system is still evolving, to understand exactly how it works look in @autodoc and getExtraDoc() methods in code of @infob and its descendants.

----==Saving and Loading==

When you close JCM normally, all changes to labels/documentation will be saved automatically in text files in a folder "labdocchanges", and reloaded next time you start JCM. Thus, you can accumulate edits without worrying about saving them. However it is wise to make a backup of 'labdocchanges"  from time to time (especially while the system is still evolving).

To blend with the existing documentation, you can use "Save All" option from the "Edit Doc" menu, this saves many files which can be reloaded together using the "Load" option. 
Eventually, changes should be incorporated permanently into the JCM package for distribution, regarding this please @contact (see also @translation)

#docexample		¨addJCM5		§Text of key docexample

#howuse		¨addJCM5		§¤adju Here are some hints to get started using JCM5
<ul>
<li>Start by exploring the model using @jcmtree
Click on items to expand/collapse branches. 
Experiment with changing @filters and @complexity
(start exploring the model using the @simplest level)
<li>From this tree,  drag @qtsets into @panels to open @plots. 
¤cogs There may be a delay to show new plots, as the model calculates only as needed (see @interactions)
<li>Try adjusting some @params (e.g. drag a slider with the mouse), you should see an instance response on related plots.
<li> Each item has @docview which can be accessed from the menu or by using the @filter in the @jcmtree
<li>You can change the layout by resizing or splitting @panels - right click next to the tabs to see a popup menu with options. You can also drag tabs from one panel to another, or even to an external window.
<li>To focus on one  @package or  @module, you can drag into into another panel to make a sub-tree
</ul>
¤cogs Note also the following:
<ul>
<li>You can find many more options by right-clicking on plots, tables etc. 
<li> Explore the  first three @menus at the top (@viewmenu, @toolsmenu, @setupmenu). 
<li>The other menus access model components, for which the £`jcmtree is usually more convenient.
<li> To see the relationships between modules check the @interacmap
<li>You can also change the @languagemenu of labels and documentation. Translations need updating, but there is a convenient system for @EditDoc 
<li>In @expert level, you can also use @worlds, @sourceview, @data 
<li> Parameters and Layout will be saved and reloaded next time you start JCM -see @setup. 
<li> You can save other model setup using @setupmenu, and also export data from a @datable, and export images using @save_image and @copy_image.
<li> In case of problems, check messages in @sysout

</ul>

#menumaker		¨addJCM5		§£>jcmmenu

#moulist		¨addJCM5		§Handles drag and drop between @panels

#translation		¨addJCM5		§JCM's @labdoc system is "internationalised", designed to be easy to translate into any language. 
%%(note also that  Java works with unicode so it can handle even 'exotic' languages).%%

In @JCM4 extensive translations were made for labels, for 8 languages. 
(see @acknowtranslate)
Substantial parts of the documentation of JCM4 were also translated into French and Danish. These translations are still retained in the current package, however they have not been adapted to fit the new JCM5 structure, and some may no longer be accurate in the new model.

So help is now sought for translation of JCM5. 
Please get in touch (@contact) if you can help to make translations to your language, so we can coordinate and avoid duplication.

=== How to make Translations===

The model code itself stores only @labelcode. These are used to look up the labels you actually see in the graphical interface (in the @jcmtree, @menus, @params, @legend etc.), as well the relevant @documentation, according to the chosen @languagemenu.

Thus, the same wiki-system for @editdoc can be used for any language, it is not necessary to change any java code or even to use any tool other than JCM itself. All you have to do is to select the language in the @docview, and the edited text will automatically be saved in the right files for that language.  Note that you can view the original and the translation in parallel viewers (see @panels). 

 It is recommended to start by setting the @complexity to @simplest, and translating all the labels that appear in the @jcmtree and menus, then some of the introductory  documentation pages.

Translated documentation should keep the same structure as the original, including the same hyperlinks (which should not be translated - follow the link to change it's text). 

Note: it is not necessary to fill both the short and a medium label (title) boxes, if these are the same. If you only want to translate the labels (for the @jcmtree, hyperlinks etc.) and not the documentation, do NOT type anything in the main doc section ( if it is empty, then the english will be used, shown in grey).

It is expected that only a small subset of the documentation pages will be translated, as many items will only be considerd by a few @expert users, most of whom already understand english.  When a translated page is not found, the english default will be used instead. Thus,  it is better to translate nothing in a page, than to translate half of it (which could hide important information).

The translated text should be saved automatically in a folder "'labdocchanges" on your local disk. Please back this up drom time to time.  When ready, this folder should be sent to me as a zip archive, in order that it may be blended with the original labdoc files stored inside the jar package, for public distribution. 

----
Why do this? See @dialogue, @concept, @teaching

#jcm.mod.data		¨addJCM5		§A package containing java code for loading external data

#jcm.mod.math		¨addJCM5		§A package containing some mathematical tools

Note also @jama

#jcm.mod.carbon		¨addJCM5		§This package contains modules concerned with the cycle of carbon between the atmosphere, ocean and terrestrial biosphere.

#jcm.mod.cli		¨addJCM5		§This package contains modules calculating the steps from @radfor, via @glotemp, through to global @sealevel,  in other words all modules concerning heat fluxes. 

The radiative forcing module pulls together contributions from many gases and aerosols, calculated packages @jcm.mod.carbon and @jcm.mod.ogas. The core heat-flux calculations are then made by an @udebclimod, based on the model of Wigley & Raper calibrated as for IPCC-TAR.

#jcm.mod.reg		¨addJCM5		§This package concerns regional  climate change.<ul>
<li>Spatial patterns of regional and seasonal changes of several climatic variables are imported from GCM projections.
<li>These may be scaled to the average temperatures projected by JCM package @jcm.mod.cli
<li>It is anticipated to develop this package further by adding a regional sectoral impacts module.
</ul>
%%For experts: note also related components (not modules):
@maps, @mapdata,  @regions, @regpoly (in  @jcm.core.reg) %%

#regseacli		¨addJCM5		§This module generates a  @seasonalcycle  @qtset for the chosen @cliregions, based on the @quantity and @dataset chosen in the @regcli module. 
Notes:<ul>
<li> This module is classified @expert, as the results may be rather confusing,  especially for some parameter combinations.
<li>¤cogs The interpolation  from the large gridded GCM dataset to JCM regions for every month may takes some time to calculate. Therefore a @processdialog should appear when the  £`seasonalcycle £`qtset is first opened. Please wait for this. Once the calculation is complete, the vertical @scaleview may need to be readjusted manually.

</ul>

#mapprojection		¨addJCM5		§Code for projecting latitude-longitude data onto a map using various projections
see @projection parameter

#regman		¨addJCM5		§Loads the region data and provides functions for searching for @regionsets

#region		¨addJCM5		§A region of the world is defined either by polygon data, or by a set of subregions
See also @regionsets, @regman, @maps, @interpolator

#seasonalcycle		¨addJCM5		§see @regseacli
Note, unlike other £`qtsets, the x-scale is months  (1=Jan, 2=Feb etc.)
Units depend on the chosen @quantity
%%Maps can be derived from this curve set, but only if @cliregions are the same as @socregions and the @mapyear is adjusted to between 1 and 12 %%

#atco2flux		¨addJCM5		§This @qtset combines Sources (=emissions into the atmosphere) from @globco2emit module and Sinks (=fluxes out of the atmosphere) calculated by @berncarbon module

Note that:
@totemit=@fossilemit + @lucemit
@totsink = @oceansink + @landsink
@atincmod = @totemit - @totsink, 
and when @atincmod = 0 the @atco2calc stabilises (see @stabilisation)

Note also{{
*:@berncarbon explains more about the calculation of sinks
*: see also @sinksdynamic, @sinksbiosphere, @sinksocean, @carbchem
*:@carbonstoreplot shows more detail of where the carbon goes after leaving the atmosphere. 
*:fluxes are influenced by both @clicarbfeedback and :@clipolfeedback
}}

#accccarbon		¨addJCM5		§If this is selected (it is disabled by default), a very simple model used by ACCC
(see @attribution) is used instead of the normal @berncarbon. This options was provided for a model intercomparison exercise.  The ACCC model, as any simple linear model, is not accurate for future projections, but reasonable over the last few decades.

#fgas		¨addJCM5		§This module calculates emissions, atmospheric chemistry, and forcing for the 25 F-gases (CFCs, HFCs, PFCs, SF6)

££fgases
££fgasnamecol

#othgasemitcurves		¨addJCM5		§This @qtset shows the  emissions of CH4, N2O,  SOx (leading to sulphate aerosols, see @aerosol) and  ozone precursors CO, NOx, VOCs (see @aboutoho3) 

The emissions are prescribed by SRES scenarios, sometimes scaled down to CO2 for stabilisation scenarios -see @othgasemitoptions.

¤adju It is interesting to compare the relative contributions of each gas with those in @atchem&conc, @atchem&rf
Note also @fgas&emit
 
¤cogs Note:  For CH4, units are Tg CH4 (not C), whereas for N2O and NOx they are Tg N -this is following IPCC convention. Emissions and concentrations units are 1000 times smaller than for CO2, but the warming effect per molecule is much greater.

#fgas&conc		¨addJCM5		§For an introduction see @fgases
---- ££fgasnamecol
----
%%¤cogs Note the units of the concentrations: they are 1000 times smaller than in @atchem&conc and 1000,000 times smaller than on @atco2conc.  However the warming per molecule (see @fgas&rf) is much greater!%%

#fgas&emit		¨addJCM5		§For an introduction, see @fgases
----££fgasnamecol

#fgas&rf		¨addJCM5		§For an introduction see @fgases
Note also @radforothgas
---- ££fgasnamecol
---- 
¤pan Note: The negative forcing due to ozone depletion is also included

#fgas&rf&totals		¨addJCM5		§See old labels: @fgasplot, @fgases, @radforothgas

#allrf		¨addJCM5		§This @qtset shows the total @radfor from each main group gases, so it is easy to follow the key trends. 

¤adju %%These sets are not mutually exclusive, so it does not make sense to stack these curves - for a stacked plot use @allrf_detail. %%
¤cogs %%Similar sets of gases are used in  @co2equivconc, but the curve shapes differ due to the nonlinearity of @radforco2 %%

#allrf_detail		¨addJCM5		§£§allrfdetail

#regrf		¨addJCM5		§This @qtset shows the uneven distribution of the radiative forcing between the four surface boxes of the @udebclimod.

It is useful to consider it alongside @box_temperature.
Note that the formulae for distributing aerosol and solar effects are only simple guesses. 

The @unif option makes the four forcings the same (while preserving the total)-  as you can see from @box_temperature this doesn't make much difference to the global average temperature, although it strongly affects the regional ones. 

See also  @radfordistrib

#glotemp		¨addJCM5		§This linker module:
<ul>
<li>holds the @glotempcurves curves produced by the main climate module @udebclimod
<li>imports historical datasets, for comparison, and adjusts all curves to a common @baseyear
<li>handles the @interactions, 
%%taking input from @radfor and passing output to
<ul>
<li>@sealevel
<li>@regcli, @impacts 
<li> @responsibility , @costs
</ul>%%</ul>
See also<ul>
<li>  @rftemp and @gcmfit
<li>  @stabtempdoc
</ul>

#oceantemp		¨addJCM5		§This is a part of the @udebclimod that has been extracted to a separate module as it is  a computationally intensive routine which is only needed when the @oceantempcurves are visible. 

¤cogs Note that the model still propogates heat fluxes in each layer even when this module is not run, see @eigenvec 
¤cogs Structurally, this module is similar to  @carbonstorage (although the layer structure and diffusivities are different for heat and carbon)

#udebclimod		¨addJCM5		§This module calculates the global surface temperature change, considering the energy balance due to radiative forcing in four surface boxes (north, south, land, ocean), and the slow uptake of heat by a multilayer upwelling-diffusion ocean.

¤cogs Note that the @glotemp linker module handles the @interactions and @qtsets produced by this module.  This division makes the code more manageable and efficient, and may enable substitution of a different type of climate model later. The  @oceantemp submodule has also been separated for efficiency.

<hr>See @glotempcurves,  @rftemp, @gcmfit

££udebmodel  
</ul>
££climodfuture
</ul>

#sealevelrise		¨addJCM5		§This @qtset shows the change in global average sea-level, due to thermal expansion and ice melting.

£§icemeltupdate

¤adju note, you may find it useful to adjust the @model_end_year

#oceantempcurves		¨addJCM5		§This @qtset shows the change in temperature in each layer of the ocean, demonstrating the slow transfer of heat between surface and deep water.   

The curves simply correspond to the temperature of each box in @udebclimod <ul><li>Green-Cyan: South Ocean
<li>Red-Pink: North Ocean
</ul> There are 70 boxes: 35 North, and 35 South, the upper layers are each 49m deep, the lower layers 196m deep.

  ¤cogs  The relevant parameters in in @udebclimod, usually tuned to a GCM chosen from the @climodmenu, as explained in @gcmfit. You can also adjust them manually. 
¤cogs Note that the initial temperature/depth profile is fixed such that the model starts in steady state in 1750 (i.e. if there were no forcing, there would be no temperature change). This initial profile is calculated analytically by fixing the surface temperature, and may help to reveal unrealistic combinations of parameters. 

Related pages:<ul>
 <li>@udebclimod explains more about the layers and factors affecting the mixing.
 <li>Deep ocean temperature is a major factor in @sealevelrise 
 <li>Surface temperatures are shown in @glotempcurves
</ul>

#glotempcurves		¨addJCM5		§This @qtset shows the change in global average surafce temperature. Historical measured and proxy temperatures are shown for comparison.

Some related pages: <ul>
<li>¤adju Temperature changes are shown with respect to a @baseyear, which can be adjusted by a @arrow
<li> ¤cogs See @rftemp about how the temperature responds over time.
<li> ¤pan To look below the surface, see @oceantempcurves, or to look at land-ocean or intehemispheric differences, see @box_temperature
<li> ¤clou Regional temperature changes can be much greater than the global averages shown here! -see @regclimap
<li> ¤emit You can  set a target temperature stabilisation curve, and calculate the emissions to attain it: see @stabtempdoc. In this case,  a @arrow will appear on the plot, to adjust the target level and year.
<li> ¤adju Experiment with @climodmenu (see @gcmfit)
<li> ¤cogs For experts: @udebmodel
</ul>

#tempavfrom1750		¨addJCM5		§Global Annual Average Temperature, calculated by the model, compared to to 1750

#jcm.script		¨addJCM5		§A folder of @scripts built into the JCM5.jar package. 
¤cogs Note, these have not been checked or updated recently, and should only be used by experts!

#atco2conc		¨addJCM5		§This @qtset shows the changing concentration of CO2 in the atmosphere

Note: {{
*: If the chosen  @objective is to stabilise concentration,  an @arrow will appear on the plot, to control the stabilisation level and year (see @stabconcdoc)
*: see @atco2flux to understand what drives the concentration changes.
*: @co2equivconc, taking into account other gases, are found in the @radfor module. 
}}

#aerosol&rf		¨discard		§See old label: @radforaerosol

#jcmregcol		¨addJCM5		§The  warm reds, yellows, browns correspond to Annex B countries which agreed an emissions reduction target under the Kyoto protocol. The cool greens and blues are the developing countries. 
These regions are composed of countries sharing similar percapita emission histories and/or geographical proximity, and have no political significance.

#jcm12image		¨addJCM5		§A hybrid between JCM12 and IMAGE

#csw15		¨addJCM5		§A region set used by an climate-economics model

#houghton		¨addJCM5		§region set used for Houghton's Land-Use CO2 emissions data

#nations		¨addJCM5		§All Nations (2002), except that small islands are grouped by ocean basin

#allland		¨addJCM5		§All Land regions, including subregions of large countries

#oceans		¨addJCM5		§Ocean regions

#all		¨addJCM5		§All regions, land and ocean

#gridlo		¨addJCM5		§system under construction, please ignore

#paraminterac		¨addJCM5		§%%note changing parameters in the documentation does not yet affect the model, to adjust parameters use  the @treeMaker%%

#nocurvesyet		¨addJCM5		§¤adju This @qtset has has not yet been filled with any data, as is has not yet been required for any visible plot. When you show a plot (e.g. by dragging the icon from the @treeMaker into another panel, or a plot-variant or table from the popup menu), then the model will calculate as necessary and this documentation should contain more information about the curves. 
See also @interactions

#oldmodule		¨addJCM5		§Old info:
Modules may use @tls and @root but do not refer to @gui or @pan (¤cogs see @struccode)
For each stage, for each timestep, all modules are called in the order specified by  the @modlist interface, which also enables modules to refer to each other easily.

#jcm.gui.doc		¨addJCM5		§Package handling labels and documentation
see also old link: @labdoc

#label		¨addJCM5		§Contains short and medium labels and documentation about one model item, for all languages

#about&source		¨addJCM5		§see @sourceview
see @jcm

#iconfinder		¨addJCM5		§finds an appropriate icon for  model components

#lookandfeel		¨addJCM5		§see @lookandfeelmenu

#jcm.gui.gen		¨addJCM5		§Package of miscellaneous GUI components

#jcm.gui.nav		¨addJCM5		§Package of Components used for Navigation and Layout

#jcm.gui.plot		¨addJCM5		§Package for plot and table components

#jcmtm		¨addJCM5		§data structure underlying @datable

#baseplot		¨addJCM5		§Contains common components of @lineplot, @histoplot, @scatterplot

#colorscale		¨addJCM5		§Adjustable Color-scale used for @maps, 
illustrating either @regcli or  @qtsets of @socreg
¤adju You can drag the colorscale to adjust it, similarly to any other @scaleview
¤adju The colourscale loops (purple - blue- green - yellow -red - purple - blue etc.), in order to include extreme values without losing detail elsewhere.

%%¤cogs Note also @colormap%%

#paramvaluechooser		¨addJCM5		§A component for showing the value of a numerical @param, and adjusting it using a slider. Note that the  model responds immediately to recalculate any visible plots - the response time will depend on the complexity of this calculation.

#about&setup		¨addJCM5		§£§setup

#about&script		¨addJCM5		§(Documentation to be developed)
see @script
see @scripting

#jcm5		¨addJCM5		§Current version of JCM, begun 2005, using Java 5.
See @javafuture
<hr>
You may be looking for: @mainmenu

#noteprogress		¨addJCM5		§Note: JCM5 documentation is currently being updated, both new and old pages are included below

#tools		¨addJCM5		§£§ToolsMenu

#parammenu		¨addJCM5		§A component for adjusting a menu @param

#paramoption		¨addJCM5		§A component for adjusting a true/false @param

#menufiller		¨addJCM5		§Provides info to @contextMenu

#jcmtabbedpane		¨addJCM5		§Extends java-swing JTabbedPane by adding a close facility, and interacting with @moulist

#capwin		¨addJCM5		§Screen capture - not currently used

#labeltm		¨addJCM5		§model underlying @labdoctable

#hasinfo		¨addJCM5		§an interface, currently all hasinfo are @infob

#modloop		¨addJCM5		§an interface for @module loop methods

#plotlink		¨addJCM5		§A structural component of JCM. 
Plotlink is an interface enabling @register to store a list of @plots and other @jcm.gui that depend on @interacob and may require @loop to recalculate

Plotlinks allow the visible plots to interact with @qtsets, @modules, and @params, without the science module code making any reference to the graphical interface. Thus, the science and graphical components can be coded independently, whilst interacting seamlessly.

#optimiser		¨addJCM5		§See @optimisation

#aboutsearch		¨addJCM5		§¤adju Use the  text box at the top right to specify which words to search for. Results will only include pages containing all of the search words, in the currently selected @languagemenu

%%¤adju you may also find @doclist helpful%%
%%¤cogs Both search and index  take some time to calculate, please wait a few seconds

#population		¨addJCM5		§see old label: @people

#regpoly		¨addJCM5		§A polygon defining a region
The resolution is 1 degree
The data is loaded from the file regions.txt (view from @DataMenu Menu)
See also @region, @regman

#ratio		¨addJCM5		§This option specifies that, for the chosen climate variable, the ratio compared to the global average change is shown instead of the absolute value.

#atchem&conc		¨addJCM5		§This @qtset shows the concentration of CH4, N2O, O3 and OH, calculated by the @atchem module. 

Note that CH4 and O3, due to their short lifetime, respond much more quickly than CO2 or N2O to changes in emissions.

Some historical measurements are also included for comparison (expert level).

#atchem&rf		¨addJCM5		§This @qtset shows the radiative forcing for CH4, N2O, O3 (calculated by @atchem module), and the total of all @fgas. 

It is interesting to consider  their relative contributions in comparison with @atchem&conc : the radiative forcing per molecule is generally greater for rarer gases, which absorb at different wavelengths from the major gases (CO2, H2O etc.), reducing the effect of saturation. 

see also <ul> 
<li>@radforintro
<li>@radforothgas
</ul>

#icemeltupdate		¨addJCM5		§-{red // Note: the ice-melt curves here are consistent with IPCC-TAR 2001, but more recent studies suggest that both Greenland and Antarctica are already melting much faster than projected than these models!// }-

#greenland-sensitivity		¨old- remove		§£§icemeltupdate

#antarctica-sensitivity		¨old remove		§An ice-melt parameter derived from IPCC TAR Ch11



£§icemeltupdate

#intropara		¨addJCM5		§Climate change is influenced by complex interlinked processes. This interactive model lets you explore the system and how we can change it, simply by moving controls with your mouse and observing the effect instantly on plots ranging from emissions to impacts. The core calculation methods are similar to those used in the  Intergovernmental Panel on Climate Change Third Assessment Report, implemented efficiently in the java language to make this tool accessible to everybody via the internet.
%%Note that science from the Fourth Assessment Report will be used in the next version JCM6, in preparation%%

#updatedoc		¨addJCMHELLO		§-{red// **Last updated 15th March 2007**

This release of JCM5 is almost complete, but still contains some undocumented components and some minor bugs (especially at higher @complexity).  A few older documentation pages referring to JCM4 are also still included, as the changes are mostly structural rather than scientific.//}-

#emitch4		§See also @othgasemit

#emitn2o		§See also @othgasemit

#regpotlucbase		§see @futbasescen

#inequality-aversion		§In this model, this is the same as the elasticity of marginal benefit of income

#fix-effdisc2000		§

#effdisc2000		§Otherwise known as Social Rate of Time Preference

#xyplot		§This plot shows the relationship between two different @qtset that have one or more @qt in common (typically they might use the same @regions).  It can be especially useful for comparing several parallel @Worlds.

¤adju From a @qtset "A" from the popup menu (in @treeMaker or from another plot), choose "XYPlot per..." and choose another @qtset "B" (this might be another quantity, or the same quantity in another world). Note, if you don't find B you may first have to use first  "Refresh Options", or open B elsewhere to force it to be set-up.

The resulting plot will show data from A on the Y axis as a function of B on the X-axis, for every region (or other quantity) that they have in common, and for the years between the two time sliders shown at the top. 

¤adju If you pull the second slider to the left, such that the years are equal, the curves will show data circles for just one year, rather than curves.

¤adju You can add extra £`qtsets using the first submenu of the plot popup menu. For example, if you add another qtset "C", it will show data from C on the Y axis as a function of B on the X-axis (B is common to all added £`qtset).

#emitfosbase		§The major source of CO2 emissions is the combustion of fossil fuels for domestic energy, industry and transportation.
 
The historical CO2 emission due to fossil fuel per country is established using consolidated international energy statistics. 

Future baseline emissions are derived from @aboutsres.

#tracer		§This computationally-efficient attribution method is the default in JCM. It works by subdividing each relevant box of the model (including every layer in the ocean for @berncarbon and @udebclimod) to record how much of each gas concentration or heat came from each region. Although faster than other methods, this increases the model complexity substantially, especially at each nonlinear step in the cause-effect chain. 
For more detail see the code of @responsibility module and documentation submitted to @attribution .

#timeslice		§This method (suggested by Ian Enting and Cathy Trudinger ) works by calculating the marginal effect of adding each years  emissions, assuming zero emissions thereafter.  
¤cogs Note this is experimental!
¤cogs Note: to calculate this JCM has to iterate many times, a dialog box should inform you of progress 
¤cogs Note: this only calculates @surftemp
¤cogs Note: this does not work when the @OHef parameter in @atchem is enabled (as by default), due to a problem caused by the feedbacks between  CH4 and OH - to be fixed

#normarg		§This method is similar to timeslice but calculates the marginal effect of one year's emissions, continuing with the original emissions scenario thereafter.
¤cogs Note this is experimental!
¤cogs Note: to calculate this JCM has to iterate many times, a dialog box should inform you of progress 
¤cogs Note: this only calculates @surftemp
¤cogs Note: this does not work when the @OHef parameter in @atchem is enabled (as by default), due to a problem caused by the feedbacks between  CH4 and OH - to be fixed

#regionsonly		§Option to remove the extra 'unattributed' curves, useful if you want to plot relative attribution only.

#atincmod		§Net Increase in the atmosphere each year (i.e. sum of @totemit minus @totsink) as calculated by JCM. When this is zero the @atco2calc (in @atco2conc) will stabilise.

#atincdat		§Net Increase in the atmosphere each year derived from measured concentration data (see  @atco2data in @atco2conc)
The trend, disregarding the noise, should be similar to @atincmod

#brazilian		§Allocation of emissions reductions based on attribution of responsibility for climate change.

¤cogs Warning! This option is currently being reimplemented, following restructuring of @responsibility module. Results may not be consistent with @stabilisation scenarios and should be considered experimental!

For more information about this concept see
@attribution and @responsibility

Allocation of emissions reductions based on attribution of responsibility for climate change.

#cheapest-iterative		§Experimental!  This option may not work, please do not place weight on the  results.  See also @costs

#cheapest_iterative		§Experimental!  This option may not work, or produce bizarre results!  See also @costs

#cheapest_algebraic		§Experimental!  This option may not work, or produce bizarre results!  See also @costs

#biome		§<img src="../data/lu_A_1700.png">

#jcmtree		§A folding tree for navigating and opening JCM components: 
<ul>
<li>-@jcm5_root
<li>-|-@Worlds
<li>|-|-@world
<li>|-|-|- @package  (¤bal  ¤map ¤luc ¤carbon ¤othgas ¤temp ¤clou )
<li>|-|-|-|- @module
<li>|-|-|-|-|- @param
<li>|-|-|-|-|- @qtset 
</ul>

¤adju By default, a tree should already be open at the left of the JCM window. If not, you can get another from the @Toolsmenu (top left)

¤adju Click on each item to open or close a branch.

¤adju  You can drag items from a tree branch into other @panels <ul>
<li>dragging a @qtset will create a @lineplot, 
<li>dragging a @module, a @package or a @world will create another @jcmtree, starting from this branch.
</ul>

¤adju Which items and actions are included in the tree depends on the @filters and @complexity selected in the toolbar at the top. To get the most out of JCM, it is important to vary these according to your task. For example, using the @docview filter converts the tree into a navigation tool for all the scientific documentation, or removing all filters except @neededparams makes it easy to find what options and uncertainties apply to the currently visible plots.

¤adju additional actions for specific items are shown in a popup menu. 

¤adju The popup menu for each @qtset offers several types of @plots, and also the option to @createvariant (another derivative £`qtset which will be added to the tree).

¤cogs Technically, the structure of the tree depends on the relationship between @infobs. Each time the model is opened, it explores its own code to discover which modules and packages are available, and automatically puts them all into the tree. Thus, even new code should be available immediately, unless it is hidden by the @complexity .
See also @jcm

#about&neededparams		§£>NeededParams

#1_country_faoxmodel_areas_plot		§

#1_country_all_biomes_areas_plot_		§@1_Country_all_biomes_areas_plot test

#1_biome_area_all_countries_plot		§These curves are the area of a selected biome of each country.

See also @biomeChosen

#ivig32_model_luc_emission		§These CO2 emissions curves are the derivative of the sum of carbon stocks by biome of each country.

#ivig32_model_carbon_stocks		§These carbon stocks curves are the sum of carbon stocks by biome of each country.

#biomechosen		§This parameter lists the biome to be chosen to be plotted in the curveset 1 Biome area all countries plot.

#globco2emit		§This module brings together the global CO2 emissions from both @futbasescen  and @stabilisation. It also handles the division of mitigation effort between fossil and and landuse change emissions, and corrects for discrepancies between history and scenario data. 

@history and @CalcLucEmit are also included in the plots.

The ratio policy / baseline for global fossil CO2 emissions provides a key  indicator of mitigation effort, which is used for scaling emissions reductions in other modules such as @othgasemit, @shares, @AviaShipEmit.

#antialias		§Enabling anti-aliasing makes text and plots look smoother, but may make the model respond more slowly.

#jcmmenu		§At the top of JCM window are some key menus

¤cogs Menus change dynamically, depending on the chosen @complexity,  @filters, and @language

The general menus, affecting the whole of JCM are:
 <ul>
@viewmenu
@toolsmenu
@setupmenu
@docmenu
</ul>
Depending on the chosen @complexity, some extra menus for accessing specific model items/actions are shown. ( ¤adju note: for most tasks these items/actions can be accessed more conveniently via the @jcmtree)
 <ul>
@qtsets
@maps
@neededparams
@worlds
@sourceview
@data
@scripts
 </ul>
----
¤adju The final menu, "Show", provides a quick way to bring an existing window or tab to the front of the view (see @panels)

#filterbar		§The toolbar of @filter buttons at the top of a @jcmTree. 
A @complexitymenu parameter is also on the right.

#filter		§The toolbar of buttons at the top of each @jcmTree enables you to choose which type of items/actions appear in that tree. 
A similar toolbar applies to each @interacmap.

Types of items/actions include <ul> 
<li>@allparams, 
<li>@neededparams, 
<li>@qtsets
<li>@worlds
<li>@interacmap
<li>@docview
<li>@sourceview
<li>@data
<li>@Scripts
</ul>

¤cogs  some filter buttons are only shown at @expert @complexitymenu.
¤cogs the filter toolbar also contains a @complexitymenu menu
¤cogs  single filters are used to make some of the @jcmMenu (at the top).

#neededparam		§£§neededparams

#allparams		§When this @filter or @jcmmenu is selected, all parameters whose @complexity is not too high will be shown, regardless of whether  they are needed for any visible @plots. The simpler alternative is to show only @neededparams.
%%¤cogs (this filter / menu is only available at @expert @complexity)

#neededparams		§Parameters are considered "needed" if they may change any @qtset which is currently visible in a @plot or a @datable, according to the model @interactions.

By default, only these "needed" parameters are shown in the @jcmtree and @jcmmenu, to make it easier to find what is relevant to the current task. 
To bypass this @filter, you can select instead @allparams (at @expert @complexity). 

Parameters may become actived or disactived either when plots are opened/closed/revealed/hidden, or when a related parameter changes its @interactions. 

@Modules are also considered inactive if they do not contain any active parameters or plots at the chosen @complexity

See also 
@interacmap
----

#plot		§see @plots

#table		§see @datable

#jcm4		§An older version of Java Climate Model, finished in 2004
See jcm.chooseclimate.org, @future

#qtsets		§£§qtset

#compareworlds		§Makes a new  @qtset taking the same @qt from each different @world 
This is useful to create a plot comparing scenarios or model variants, in which each  @qt is labelled according to the name of it's world.
See @worlds for more explanation.

#variant		§see @create_variant

#create_variant		§£§createvariant

#createvariant		§This popup menu is  shown as the mouse moves over a @qtset in the @jcmtree, or by right-clicking from a @plot. It lets you create a derivative £`qtset which will be added to the tree. This variant can then be used to generate further plots (or further variants). 

Options for variants are:
<ul>
£*percent&change&per&year
£*percent&of&total
£*integral
£*ratio:
£*difference:
£*compareworlds

</ul>
¤adju An option will only be available if matching @qtsets are discovered. 
Only £`qtsets which have already been used at least once (for visible  @plots or to calculate other £`qtsets) will be taken into account in creating the list of options. To discover other potential   £`qtsets and options, click on @refresh_options (this make take some time to calculate)

¤adju There is also an option to remove a variant (to tidy up the tree, and save memory). Note that if you do *not* remove a variant, it should be saved by @setup, and remain in the tree even after closing and re-opening the model.

#toolsmenu		§<ul>
£*jcmtree 
As the tree is the basic navigation tool of JCM, normally one is already open after startup.  To create a new tree, use this menu. Alternatively you can spawn extra sub- trees by dragging worlds, packages, modules out of an existng tree.
£*sysout
£*interacmap
£*memorychecker
£*CircMenu
</ul>

#viewmenu		§<ul>
£*complexity
£*languagemenu
</ul><hr><ul>
£*lookandfeelmenu
£*SubstanceThemes
£*AntiAlias
£*FontSize
£*BackImage
</ul><hr><ul>
£*Copy_image
£*Save_image

</ul>

#data		§Files from external sources that provide fixed data input to JCM (e.g. historical or scenario data, rather than results calculated by this model).
You can view some of the data files included in JCM package using the @data @jcmMenu at the top, or a data @filter with the @jcmtree (both only in @expert @complexity). Data stored in binary format is not currently viewable (except through derived @datable).

see also @history module

#scripts		§Routines to run the model automatically, cycling though many combinations of parameters, in order to make probabilistic analyses or to save many similar data tables or plots for input to another application. 

In the current version, JCM5, scripts require compiled java code, in classes extending @calcscript . These can be activated using the the scripts @jcmMenu or @filter  (only available in @expert @complexity).
Note: the scripts  included in the JCM5 package were created for our own applications and experiments, not as demonstration examples.

In the older @JCM4, it was possible to run scripts using a simple text-based scripting code ( £<scripting ),  which was also used for demonstrations and for setup. This is no longer supported.

To save model setup (static snapshots) in JCM6, use the @setup menu 

The next version @JCM6 will use Java version 6, which makes it easy to attach interpreters for various well known scripting languages, such as  JavaScript, Jython, JRuby etc. Therefore if you really want sophisticated scripting capability, please enquire about progress towards JCM6.

¤cogs Note: the java-classes in @jcm.script were created for earlier applications and experiments, and  have not been updated since some changes in the model structure (summer 2006). Therefore, most of them should not ben expected to work without modification, by expert users!

#substancethemes		§This extra menu for choosing a color theme  appears when "Substance"  is selected from the @lookandfeelmenu menu. 

%%¤cogs Note, although JCM5 should run without Substance being available, the code in themes.java refers to class in the Substance jar package, which is therefore required to compile it  %%

#fontsize		§Change the font-size of all text components in JCM.
This may be useful for people with poorer eyesight, with unusual screen sizes, or for presentations to groups.

#backimage		§This option adds a faint background image behind some @plots. 
This may be useful to enliven presentations and to make the plots more quickly distinguishable from each other.

¤cogs This feature  should currently be considered @experimental@ - as use of background images is known to cause some minor bugs, such as hiding mouse-over information in plots. 

¤cogs The image files are stored in the directory **jcm.source.backpic**. Which one is used depends on the name of the @qtset, as specified by the lookup file **backpics.txt**
¤adju You can experiment by adding more images to this folder, and corresponding entries in this file. If you find some successful examples, please send them for use in future packages (noting that file sizes must be kept small).

#copy_image		§This option allows you to copy an image, in order to paste into another application (outside JCM5 -e.g. a wordprocessor or image editor). 
If accessed from the top @viewmenu it will copy the whole screen.
To copy individual @plots, use instead the popup-menu from a right-click on the plot.

#save_image		§This option allows you to save a snapshot of jcm as an image file.
If accessed from the top @viewmenu it will include the whole screen.
To save images of individual @plots, use instead the popup-menu from a right-click on the plot. 

You have a choice of format: <ul>
<li> png (recommended for most purposes), 
<li> png-transparent (without background, for blending into presentations - but otherwise the same as png)
<li> jpg (rather inefficient for plots)
</ul>

Note also @setup offers a more dynamic way to save a snapshot of JCM5

#memorychecker		§An expert tool for analysing the memory usage of JCM.
This was developed used for improving the model efficiency.
It may also be useful in  planning intensive analyses (see @scripts). especially if many parallel @worlds  are used.  
Beware that this tool itself consumes memory and slows down the model.

#setupmenu		§<ul>
£*reset_all_parameters
£*reset_scimod_parameters
£*standard_setups
£*load_setup
£*save_setup
£*model_end_year
</ul>

#reset_all_parameters		§Including interface parameters such as complexity, language, look and feel, etc., as well as everything covered by @reset_scimod_parameters/
Note, to reset the layout as well, use @standard_setups

#reset_scimod_parameters		§Reset all parameters in scientific modules, 
i.e. all parameters available from the @jcmtree, regardless of @complexity setting, but excluding some user-interface paramaters.

#standard_setups		§Restore the layout and parameters from a standard @setup included in the JCM5 package. 

This is the most complete "reset" option, as it will also reset the window size, look and feel etc.
 
¤adju You can also open the model directly with the default setup by pressing the right-hand button on the opening splash screen (quickly -before your previous setup is loaded).

#load_setup		§Load a  @setup (from your disk, not from the JCM package)

#save_setup		§Save a @setup to your disk

#model_end_year		§Changes the end year (time-horizon) of JCM @qtsets and @loop.

Extending this time-horizon may be especially useful for studying and long-term impacts such as @sealevelrise. These core global science modules of JCM should work to year 3000 and beyond.

A longer time horizon is also important for analysis involving @optimisation of a welfare function integrated over time, in order to minimise distortion due to "end effects" (for this purpose it is recommended to run up to 2400). 

On the other hand, regional socioeconomic projections over such timescales are not credible, and some regional components of JCM are not programmed to calculate beyond 2200, which is the default end-year.

¤cogs The longer the time-horizon, the slower the model will run, and the more memory it will use. You may wish to experiment with the @memorychecker tool. 

¤cogs Since java array sizes are fixed, when this parameter is changed all the  memory used for storing the data of @qtsets data must be re-allocated, which may take a few seconds.  Do not change this paramater frequently inside a @script.

----
see also older page @inertia

#safemode		§A "Safe Mode" of running JCM5  is provided for users who wish to experiment with the model from "Java Web Start", without giving it permission to save or load any data to/from their hard disk. Most parts of JCM should still function in this mode, with the exception of saving @save_setup, @save_image, @save_table etc.
%% ¤cogs if you see some "Security Exceptions" reported in the @sysout, this indicates that the safe mode is working, the model was denied permission to access a resource %%

#frames		§£>panels

#filters		§£§filter

#packages		§£§package

#panels:		§£§panels

#infobs		§£§infob

#percent&change&per&year		§Calculates the rate of change of each @qt, expressed as a percentage.
Technically, this is 100*(dy/dx)/y. 
This is useful for analysing trends, particularly in combination with @ratio:

#ratio:		§Calculate the ratios between two @qtsets, for example combining regional emissions (@socreg) and regional population (@socio) gives regional emissions per capita.

¤cogs A new @qt will be created for all regions (/gases/sectors...) which are found in both £`qtsets. Only qtsets with at least one matching region (/gas/sector...) will be included in the submenu of options.

 @qtsets created this way can also be used to make a  @histoplot or an @XYplot

#difference:		§Calculates the difference between two @qtsets, for example you might want to subtract land-use emissions from total emissions (see @socreg), or abatement costs from total costs (see @costs). 

¤cogs   Only qtsets with identical @units and at least one matching region (/gas/sector...)  will be included in the submenu of options (often there are none). A new @qt will be created for all regions (/gases/sectors...) which are found in both £`qtsets.

#percent&of&total		§Calculates the ratio of each curve to the total, expressed as a percentage.
¤cogs Note that this total excludes curves that are already considered to be subtotals. It should be the same as the sum of all the curves shown in a @lineplot using the @stack option (which can be usefully combined with this variant).

#baselines		§The zero-point for reporting temperature rise is arbitrary ! Climate modellers usually start by assuming a steady-state in the preindustrial era (typically 1750), which thus defines the zero point. Those investigating historical data tend to use the 1960-1990 average as a baseline, to smooth out temporary fluctuations, while acknowledging that the best data comes from the recent past. Whereas people comparing future scenarios often want to to know the change from the present (typically 2000). So, be very careful to compare like with like! The same applies to sea-level rise.   
See also @baseyear

#carbonunits		§It is easy to get confused about units of CO2.
<ul>
<li>Most scientists report CO2 emissions in Gt Carbon, to allow for easy transformation to/from fossil fuel, bicarbonate ions in seawater, wood, soil, etc. 
1 Gt= 1 billion tons = 1 Pg
<li>In the policy / business context it is more common to report Gt CO2, including the weight of the oxygen atoms 
1 Gt CO2 = (44/12) Gt C. 
<li>Sometimes people refer instead to Gt CO2-equivalent (CO2-e) which includes other greenhouse gases scaled using global warming potentials   <li>see also @howmuchgtc, @co2eq
</ul>

#qts		§£§qt

#menus		§£§jcmmenu

#maps		§£§map

#map		§£§mapplot

#language		§£§languagemenu

#labelcode		§JCM has a unique label-code name for each @infob 
%%(@modules, @qtsets, @params, @qts, @regions).%%
These label-code names are used to look up translatable @labdoc. 
%%[They were also used for @scripting in @JCM4, and may be again in @JCM6]%%

To find the label-code name of an object or parameter, choose label-codes from the @languagemenu menu, then label-codes will be shown within each @jcmtree, @jcmmenu, @legend etc., and also used for titles and hyperlinks  in documentation.

Alternatively, look in the @sourceview for the strings used in constructors of qtsets and params. For modules, code-names are the same as their java class (file) names.

  Notes: <ul>
<li>  %% Item-codes may not include spaces or other punctuation (numbers are ok). Spaces are automatically converted to _underline_%%
<li>   %%Some names (particularly plot titles and axis units) are composed of multiple parts separated by '&' whose labels are looked up separately then recombined%%
</ul>

#modorder		§This is old JCM4 page, which should be replaced by a dynamically generated page, as in JCM5 the module order can change, depending on @interactions

The current order is:   <li>@loaddata<li> =&gt @sres<li> =&gt @kyoto<li> =&gt @mitigation<li> =&gt @people<li> =&gt @regshares<li> =&gt @carboncycle<li> =&gt @oghga<li> =&gt @radfor<li> =&gt @heatflux<li> =&gt @sealevel<li> =&gt @bord<li> =&gt @regcli<li> =&gt @costs<li> =&gt @responsibility

#labdocold		¨delete		§£>labdoc

#aboutjcm		§<ul>
<li>@develop
<li>@whatnew
<li>@future
</ul><hr><ul>
<li>@concept
<li>@dialogue
<li>@philosophy
</ul><hr><ul>
<li>@contact
<li>@copyr
</ul><hr><ul>
<li>@acknow
<li>@dedicatejesper
</ul>

#world_1		§JCM can have several @worlds
There is always at least one, initially called "World 1"

#docmenu		§A @jcmmenu for quick access to JCM @documentation 
A new @docview is opened for each page.
You may find it more convenient to access pages by using a @filter with the @jcmtree
Note also the shortcut icons in the top bar of the viewer.

#curvesmenu		§A @jcmmenu for quick access to @qtsets and @plots
The contents changes with the @complexity
Note, it is usually more convenient to use the @jcmtree to open plots

#mapsmenu		§A @jcmmenu for quick access to @maps
Note you can also reach these using the @jcmtree

#neededparamsmenu		§A @jcmmenu for quick access to @neededparams
Note that it is usually more convenient to adjust parameters using the @jcmtree
If this menu is empty, it is because you have not yet opened any @plots, so no parameters are needed yet. 
The contents also depends on the @complexity

#worldsmenu		§A @jcmmenu for quick access to @worlds
You can also use the  @jcmtree for this, by selecting the worlds @filter

#sourcemenu		§A @jcmmenu for quick access to JCM source code.
Note you can also reach the code via the @jcmtree using the source @filter
See also: @sourceview,  @jcm

#datamenu		§A @jcmmenu for quick access to @data
Note you can also access this via the @jcmtree using a @filter

#aboutsourcemenu		§

#scriptsmenu		§A @jcmmenu for quick access to @scripts
Note you can also access these via the @jcmtree using a @filter

#regionsets		§A set of @regions, used for @maps and regional @qtsets

JCM has a flexible structure of regions, which is useful to <ul>
<li>zoom in and out depending on the required resolution
<li>import data from other models and datasets
<li>export data for  intercomparison projects
</ul>There are many region sets available, the most appropriate depends on your task <ul>
<li> Here is the @MAINLIST
<li> The most useful: @JCM12, @JCM25, @SRES4 
<li> You may also consider individual @nations (note: this will make the model slower) 
<li> For climate impacts, try @ALLLAND, or @ALL
<li> More sets are shown at @expert @complexity
</ul>You can change the set of regions using parameters<ul>
<li>@socregions
<li>@cliregions
</ul>

#regionset		§£§regionsets

#interpolator		§A tool for interpolating data between different @regionsets

#socregions		§A parameter to choose the @regionset used by @socreg and @socio 
Note also @cliregions

#cliregions		§A parameter to choose the @regionset used by @regseacli

%%
Note that this may be  different from @socregions, and also from that used by maps created from @regcli (which have their own @mapregions)

#mapregions		§A @regionset parameter used by one map, independently of the rest of the model (different from  @socregions and  @cliregions)

#chemfeedback		¨oldlink		§£§clicarbfeedback

#interacex		§@fcnormal
@clicarbfeedback
@clipolfeedback

Note also old JCM4 doc: @fcchanging

#carbclifeedback		¨oldlink		§£§clicarbfeedback

#clicarbfeedback		§In JCM, there are two in feedbacks from climate to the carbon cycle:<ul>
<li>The carbonate-chemistry in the ocean is affected by the temperature, if the @chemfbopt parameter is enabled (see @carbchem)
<li>The terrestrial-biosphere sink is affected by the temperature, if the @resp_Q10 is anything other than 1.0
</ul>
¤adju To explore this: <ul>
<li>view a plot of @atco2flux
<li>view simultaneously the @interacmap
<li> choose @nopolicy from £`controller (to avoid @fcstabsres)
</ul>
Now remove both of the feedbacks above: <ul>
<li>The arrows from temperature to carbon should disappear. 
<li>Both the ocean and biosphere sinks should increase
<li>The "spikes" in the carbon cycle due to influence of volcanic cooling should disappear
<li> The model may calculate a bit faster when you adjust emissions/carbon parameters, if there is no other reason to calculate the temperature
</ul>

#clipolfeedback		§The @fcnormal is from emissions to climate impacts. However, JCM can also be used to explore feedbacks from climate back to emissions policy.
=== Stabilisation Feedbacks === 
¤adju To explore these:<ul>
<li>Set the @objective is @stabilisation (as by default)
<li>Open an @interacmap
<li>Show plots of @atco2, @allrf_detail, or @glotempcurves
</ul>

¤adju Now change the @stabilisation parameter, and watch the arrows on the @interacmap. The 'backwards' arrow to @stabilisation moves according to the type of scenario <ul>
<li> @stabemit => arrow from @globco2emit
<li> @stabconc => arrow from @carboncycle
<li> @stabrf => arrow from @radfor
<li> @stabtemp => arrow from @glotemp
</ul>
¤adju The four-headed draggable  control should also jump to the respective plot, this provides an easy way to adjust the stabilisation level and year defining the target curve. 

¤adju Note: if you choose @nopolicy from @objective, stabilisation should disappear from the £`interacmap and from the £`jcmtree. In this case, everything depends on @futbasescen.

===More complex feedbacks from climate to emissions policy ===
Stabilisation-driven feedback only considers global average concentrations/temperature, but some more complex policy feedbacks considering @jcm.mod.soc are possible:<ul>
<li>@optimisation takes into account regional impacts, but only via very controversial functions  of @costs.  
<li>The @brazilian makes a link from regional @responsibility to @shares
</ul>

The eventual aim of JCM is to complete the circle, to  show how regional emissions policy may be affected by anticipation of regional @impacts, and how regions may achieve a better result through global cooperation, whilst taking in to account many options and uncertainties. 

See also  @philosophy.

#jcm5_root		§The root of the @jcmtree 
¤cogs Created by code in @root. (see also @package, @infob)

#topmenus		§Creates the @menus at the top of JCM

#meta-inf		§A text file in the JAR package telling the system how to run it

#backpic		§A folder containing images displayed behind @plots, if @backimage is enabled

#defsetup		§A folder containing default @setup files
Note that this folder is inside the JCM5.jar package, whereas the setup folder is on your local disk.

#splash		§The splash window, shown while the model is opening. Note this offers a button to bypass reloading the former @setup

#calcscript		§The root class for @scripts, containing some useful common methods and shortcuts. Any class which extends this should appear automatically in the @scriptsmenu Menu.

#contribtemp		§Developed for Attribution of Climate Change (MATCH project) - see @responsibility

#plot_contribtemp_1		§Plots following @contribtemp

#contribtemp_1		§variany of @contribtemp

#unccarcli		§Old code, evolved from that used for probabilistic analysis of carbon cycle and climate system parameters

#themes		§£§substancethemes

#arrow		§Draggable arrow controls for @params appear on some @lineplot. These are particularly useful for adjusting @stabilisation scenarios, when both the year and the level are adjusted simultaneously.

Arrow controls are only shown when: <ul>
<li> the code associates the parameter and the @qtset. 
<li> the @units of the parameter and the plot @scaleview correspond, 
<li> the parameter is active (see @neededparams) 
</ul>

Other parameters should be adjusted via the @jcmtree.

#colormap		§An interface of methods providing information to set up a @colorscale (min, max, changed etc.), used by @regcli and some regional @qtsets

#qtsetcolormap		§See @qtset, @colormap

#jcm.core.data		§Java classes for managing data input and output
Note that data itself is not storted here, but in the  @data folder

#griddata		§experimental, not yet used

#histdata		§Contains methods to load and combine data tables from external text files into a @qtset. 
Assumes data is separated by tabs or commas, that the first two rows contain description to be ignored, and that the third row and first column contain labels (of regions, years etc.).
This is used by @history, @LUCdata, etc.

#matchdata		§Some temporary data used as input the ACCC/ MATCH intercomparison project (see @responsibility)

#matdata		§A tool to load data from MATLAB tables, not currently used

#doc		§See @labdoc, @docview

#jcm.core.itf		§package containing some java-interfaces used by components of jcm.core

#hascomplexity		§see @complexity

#hassetupinfo		§used to store and reload extra info to recreate @setup, for example the scales of @plots, the page for @docview, the open branches of a @jcmtree etc.

#jcmaction		§adaptation of Action, with shortcuts and complexity

#packageob		§A variant of @infob with extra documentation about package contents, action to create a @jcmtree root etc.

#pngdata		§Loads a world map stored as a png image file into a 2D numerical array, or vice-versa.
Used by @LUCdata

#jcm.core.reg		§package of classes handling regions, regionsets, and region-polygons.

#jcm.core.tls		§Core package of "tools"

#cs		§A class in jcm.core.tls containing some methods for parsing strings.
Also a code for @serbia_and_montenegro used by some datasets

#documentation		§£§labdoc

#changingcode		§£§writejava

#interactivity		§To be written, see also 
@dialogue
@howfast

#jcm6		§The next anticipated release of JCM, using java6 and based on AR4
See @javafuture

#new2004		§===Spring 2004=== 
<ul>
<li>Documentation reorganised: seperate topic-language files for loading on demand over web, big table for updating / reorganising - See @labdoc. Also some documentation in French.  
<li>Probabilistic Approach - Stabilisation under Uncertainty - see @applications 
<li> Attribution for 12 regions, and relative shares - see @attribution 
<li>Climate Map regions and projections -see @regclimap 
<li> Carbon Cycle -see @sinksbiosphere, @TGCIA450
</ul>
 ===Autumn 2004=== 

@costs and @optimisation incorporated, to contribute to the Climneg II project, applied to analyses of "optimisation under uncertainty" (see @applications).

#author.html		§see @contact

#scriptingold		§££scriptintro ££scriptlang ££scriptrun ££scriptcode ££names ££scriptparam ££scriptlist <hr> Note also @probwccc

#startpack		§JCM5 may be started in several ways: 
===Directly from a web link using "Java Web Start"===
Please see instructions online at<ul>
<li>www.climate.be/jcm
<li>jcm.chooseclimate.org
</ul>
Note, after you have used Java Webstart, JCM5 may be cached on your local disk,so you can continue to access it  offline. If you accepted to make a desktop shortcut, use this. Otherwise look in the "java control panel": open the java icon in windows control panel, goto temporary internet files => parameters => view files, and click on JCM5. 
===From downloaded jar packages===
¤cogs All the jar files (JCM5, labdoc, gcmdata, source etc.) should be in the same folder, but only JCM5 is essential (the model should be able to open without the others, with some missing functionality)
¤adju In windows it is sufficient to double-click on the file JCM5.jar
%%¤cogs (The instructions to open the class "StartJCM" are inside the jar manifest file).%%
%%¤cogs (if clicking on JCM5.jar doesn't work, it may be because another application, such as an archiving tool, has 'hijacked' all jar files, in this case look for 'execute jar' in a right-click menu)%%
¤adju  if you need to type in a command (e.g. in linux / unix) try:
 java -jar JCM5.jar

===From Netbeans===
If you want to edit the code, it is recommended to use Netbeans.
See @writejava and @contact for the latest Netbeans project files

#new2005		§<li>New structure of @JCM5 developed, using Java5 including generics, Collections, new Swing components etc. opening as an application rather than in the web browser
<li>@CalcLucEmit module developed by Christiano Pires de Campos (from IVIG, Rio de Janeiro, working in UCL-ASTR during 2005). @FutureLUC is also related to this
<li> @worlds structure
<li>Flexible @regionsets, enabling calculation for any set of regions, and solving problems of interpolation between different data sources. 
<li>Substantial update of historical and scenario input data
<li>@regseacli
</ul>

#new2006		§<ul>
<li>Further improvement of @responsibility applied for MATCH 
(see @attribution)
<li>Development of @AviaShipEmit and @AviationForcing for new ABCI project
<li>Completion of @JCM5 navigation system (@jcmtree, @menus etc.)
<li>Completion of @JCM5 @labdoc
<li>Renewed work on @impacts (experimental)
</ul>

#oldpack		§Note this is old JCM4 documentation. 
The links do not currently work, but it is anticipated that they will provided again elsewhere.

<li>Before downloading, please read @copyr  <li>Please check regularly for updates. If you use JCM frequently and wish to be informed about new developments, @contact.
 ££pack24mar04 ££pack8jul03 ££packchange ££packnotes ££pack5apr03 ££pack24dec02 ££pack1dec02 ££pack1sep02 ££pack7jul02

#globref		§See original pages on website chooseclimate.org

#climategame		§Further documentation to be developed...

#ar4update		§Anticipated in @JCM6
To be developed during winter 2006, spring 2007.

#dedicatejesper		§This version JCM5 is dedicated to the memory of Jesper Gunderman, who contributed so much to its early development, as well as to  IPCC and UNFCCC. We will not forget your efforts to keep us 'bending the curve'. 
See  //-{green www.gundermann.dk, www.dea-ccat.dk}-//, and a link from //-{green jcm.chooseclimate.org}-//
</-- link to be added to obituary /->

#aviashipemit		§@AviationForcing module

----
¤jcmb This module was developed for application in the project Aviation and the Belgian Climate, Impacts and Integration Options (see @acknowsupport)

#sealevelimpacts		§This is experimental, please ignore

#mapyear		§A parameter specifying the year for viewing a @mapplot of data from a regional @qtset

#ratio1		§experimental, please ignore

#ratio2		§experimental, please ignore

#mix&tmx&tmn&pre		§This option combines tmax (red) /tmin (blue) /prec (green),  as a "summary" of the climate. This works best combined with the "baseline plus change" from the dataset menu. 

Calculating this may take some time as the calculation combines six original datasets

#mix&experimental		§@experimental, please ignore

#cws15		§A set of 15 regions used by an economic model in the Belgian project Climneg II

#geme18		§A set of regions used by an General Equilibium economic model (for Belgian project Climneg II)

#nicslr		§Regions used by Nicholls for Sea-Level Impacts

#ratio_to_global_average_change		§When this option is selected, the @seasonalcycle plot shows, for the chosen @quantity, the ratio of the regional change divided by the global average change (instead of the absolute value).

#ratio_change_to_base_after_regional_average		§**//This is experimental! 
¤adju //To make it work, you must first set the  @quantity to   @both1  //**

When this option is selected, the @seasonalcycle plot shows, for the chosen @quantity, the ratio of the regional average change, divided by the regional average  baseline climate. 
Note also:<ul>
<li>This only makes sense for some variables, such as sunlight or precipitation. 
<li> The ratios tend to be larger, if the @cliregions are smaller
<li>The ratio is calculated after the regional averages (i.e. you see the  ratio of regional averages, not the regional average of the ratios for each gridcell - this makes a lot of difference!)
</ul>

#other		§Includes a contribution from melting permafrost -see IPCC TAR Ch11

#greenland_sensitivity		§An ice-melt parameter derived from IPCC TAR Ch11

£§icemeltupdate

#antarctica_sensitivity		§An ice-melt parameter derived from IPCC TAR Ch11

£§icemeltupdate

#a-b		§£c-d

#box_temperature		§This @qtset shows the temperatures for the 4 surface boxes in the @udebclimod.
<ul>
<li>Users should be aware that these temperatures are not so carefully calibrated as the @glotempcurves. They are provided for experts, to explore the effect how the model works, and to see the effect of @radfordistrib 

<li>The difference between these boxes depends on the @params <ul>
<li>@lotr <li>@kns <li>@klo <li>@radfordistrib. </ul>
<li> Surface ocean temperatures also depend on heat fluxes from below (see @oceantempplot), so they show more intertia than land temperatures (see @inertia).
<li> @regcli module gives temperatures for smaller regions, based on scaling of GCM patterns


</ul>

#arrows		§£§arrow

#radforavia		§£>aviationforcing

#exclude_aviation_non-co2		§The estimates of forcing from contrails, cirrus and aviation-ozone are particularly uncertain, and were not included in IPCC-TAR projections. 
Therefore this option is provided to exclude them from @radfor and consequent temperature calculations, without changing the @aviationforcing module

#include_efficacy_factor		§Due to the @radfordistrib from each gas, it has been postulated that the global warming caused by one W/m2 of forcing  may also differ significantly, depending on which gas it comes from.

This was confirmed by some recent experiments (of J Hansen and many coworkers, 2005) using a fast GCM to study  the temperature perturbations caused by each individual gas. From these results they derived a factor called "efficacy", which can be used in simpler models to correct for these differences. 

These efficacy factors have been incorporated into JCM, but are only applied when this option is enabled. Note that it is switched off by default because the concept  is still quite controversial, and would lead to inconsistency with older IPCC projections.

Note thatapplying efficacy has a particularly large effect on @aviationforcing (for which the efficacies were derived from an additional study of Ponater 2006)

#totaerosol		§For subcomponents see @aerosolrf
For explanation see @radforaerosol

#fgasrf		§For subcomponents see @fgas&rf,  @fgasrftotals
For explanation see @radforothgas, @fgas

#fgasrftotals		§This @qtset groups together the total forcing from each family of @fgas
See also @fgases,  @radforothgas

#cfcrf		§for subcomponents see @fgas&rf
for explanation see @fgas

#totnatvar		§For subcomponents see @aerosolrf
For explanation see @radforsolvol

#aviation_non-co2		§For subcomponents see @Aviation_Radiative_Forcing
For explanation see see @aviationforcing

#radformod		§This module calculates the total radiative forcing as the sum of individual contributions from <ul>
<li>@carboncycle, 
<li>@atchem (CH4, N2O, Ozone)
<li>@fgas, (CFCs, HFCs, PFCs, SF6)
<li>@aviationforcing (additional contrails, cirrus, ozone)
<li>@aerosol (including volcanos)
</ul>

This module also distributes the forcing between the 4 surface boxes of the @udebclimod module.

Contributions from each gas are considered in more detail below. 
At the bottom of the page are @qtsets and @params

Note also <ul>
<li>@rftemp 
<li>@stabrfdoc
<li>@co2eq  %%(a more popular but less clearly defined way of expressing the total radiative forcing effect of several gases).%%
</ul>

#allrfdetail		§This @qtset shows the contributions to @radfor from every gas included in JCM (and in IPCC-TAR projections).

For further information about each component see<ul>
<li>@radforsolvol
<li>@radforaerosol
<li>@radforco2
<li>@radforothgas
<li>@radforavia 
</ul>Note also<ul>
<li>@radforintro
<li>@radfordistrib
<li>@rftemp
<li>@co2eq
<li>@stabrfdoc
</ul>

#fgasnamecol		§---- ===Names ===
In JCM, both the common name and the chemical formulae are shown.
The common names for the freons follow a numeric code:
 CFCxyz or HFCxyz has:  <ul> <li>x+1 C carbon atoms (if x=0 it's not shown)   <li>y-1 H hydrogen atoms   <li>z F fluorine atoms   <li>5 +2x -y -z Cl chlorine atoms.
</ul>
---- ===Colors ===
 In JCM, The curve colours depend on the chemical formula of each gas:
<ul>
<li>-{blue Blue: Chlorine (Cl), Bromine (Br) //(affect ozone)// }-
<li>-{red Red: Hydrogen (H) //(shorter lifetime)// }-
<li>-{green Green: Fluorine (F) //(more inert)// }-
<li>Darker: more Carbon (or S, counts as 1.5 C) 
</ul>
 The gases containing chloring/bromine destroy stratospheric ozone and were phased out since the Montreal Protocol. 
So you can see, in a plot of @fgas&emit  the gradual transition from CFCs (blues) to HClFCs (pinks) to HFCs (browns) to PFCs and SF6 (green). 
The pattern is rather different for @fgas&conc, due to the varying lifetimes.

#othgasemitfuture		§<ul>
<li>There could be strong biogeochemical climate feedback processes affecting natural methane emissions, for example the effect of melting Siberian permafrost. A simple way to explore this uncertainty should be added.  <li>Anthropogenic emissions of CH4 and N2O are mainly due to land-use factors, and this should be illustrated in the model.  <li>A related task is to incoporate emissions abatement cost functions for each gas, for use with mitigation scenarios, to replace simple scaling to SRES.  <li>There is also a large natural source of sulphate aerosols from marine phytoplankton, which may change as a function of ocean circulation. Although the potential feedback is poorly quantified, it should not be ignored.
</ul>

#atchemformulae		§The formulae are identical to those used in the Bern CC Model, which was used to calculate the data given in IPCC-TAR-WG1 Ch6 and SRES appendix. 
They were derived from an IPCC workshop convened by Prather et al. 
The full set of equations are given in the appendix of Joos et al 2001 (@references).

The formulae for @atchem include a simple parameterisation to calculate O3 and OH from CH4, NOx, CO and VOC, and the effect of OH on the lifetime of CH4 and of all the HFCs. The effect of N2O on it's own lifetime is also considered. The radiative forcing calculation includes the spectral overlap between CH4 and N2O.

The concentrations of the Montreal gases (CFCs, HCFCs) are prescribed by WMO data, and emissions are estimated by an inverse method.  
For speed, the F-gas concentrations and radiative forcing are calculated using a ramp function over five year intervals, since the original emissions data is also in five-year intervals.
See also @fgases

¤cogs Note that these formulae may not be valid beyond the range of SRES scenarios for which they were calibrated.

¤cogs These formulae should be be updated to IPCC-AR4 in @JCM6

%%Note also: @othgasemit explains the formulae for scaling other gas emissions for mitigation scenarios. %%

#aboutoho3		§Carbon Monoxide (CO) and Volatile Organic Carbons (VOC) are produced mainly by incomplete fossil fuel combustion (e.g. in cool engines or with insufficent oxygen), whilst NOx is produced mainly by the reaction of atmospheric nitrogen and oxygen in very hot engines. These gases have no direct influence on radiative forcing, but contribute to the formation of tropospheric ozone (O3), which is the an important greenhouse gas, the next after methane.

Note that we need ozone in the stratosphere where it protects us from ultraviolet radiation, but not so much in the troposphere where it causes adverse health impacts and photochemical smog.

CO, NOx, VOC and CH4 also affect the production of reactive hydroxy radicals (OH). These play a major role in atmospheric chemistry, including the oxidation of CH4 and the HFCs. Consequently CH4 has an effect on its own lifetime.

The atmospheric chemistry leading to formation and destruction of O3 and OH is very complicated, with dozens of transient species and reactions which are difficult to measure. The distribution of these gases is also highly variable over space and time. So this model uses some simple formulae taken from an IPCC workshop -see  @atchemformulae for more detail.

#ch4-data		§Provided for comparison (@expert)

#n2o-data		§Provided for comparison (@expert)

#reloh		§An index indicating the changing relative concentration of OH
(@expert - values close to 1 - use a @table to check them).

#solardata		§Choose the source dataset of historical solar variability (or none)

#incvolc		§Including volcanos helps to match the measured @glotempcurves. 
Switching them off may be useful to reduce the "noise", or for comparison with simpler models. 
¤cogs Note also the effect on the @atco2conc, due to @clicarbfeedback

#donothing		§An @expert option to bypass this module - useful for some experiments

#radiative_forcing_index		§The Radiative Forcing Index (RFI) is the ratio of the total radiative forcing from all gases, aerosols contrails and cirrus caused by aviation emissions, divided by that for aviation CO2 alone, both integrated over a given time interval (fixed by the parameter @RFI_time-horizon) and projected into the future according to a given scenario.

The RFI concept  was introduced in the IPCC Special Report on Aviation, as an alternative to the Global Warming Potential  generally used for comparing gases (see  also @co2eq), because it was considered that the "pulse" approach of GWP is not appropriate for highly-localised effects of short-lived gases.

It has been suggested that the RFI or a similar metric might be used as a multiplier for aviation CO2 emissions in an emissions trading scheme (such as the European ETS), so that the effect of all the gases may be included without requiring separate accounting  for each gas. 

A plot shows that the RFI tends to decrease over time, and is also lower if the  @RFI_time-horizon is longer. 

Experimenting with various parameters in @AviaShipEmit or in @jcm.mod.obj  shows that the RFI is also rather scenario dependent. In general, the RFI is lower for stabilisation scenarios than for exponentially growing scenarios (such as SRES A2 or the Fa1 aviation scenario). 

Some anlayses of RFI excluded cirrus clouds, due to the high uncertainty on this topic - this gives much lower values -use the  @include_cirrus option  to experiment with this.

#rfi_time-horizon		§See @radiative_forcing_index

#update_tradeoff03		§If enabled, a correction factor is applied to make the RF projections derived from the IPCC special report consistent with the more recent calculations from the TRADEOFF project (2003).

#luc_emit_dataset		§Note: label inverse needs changing, dual use

 (unless you select the option to calculate historical land-use by mass-balance, fixing the atmospheric CO2 using the measured data from Mauna Loa).

#fertn_change_only_in_future		§An experimental option to fix the fertilisation at the default value in the past, and apply the parameter value only in the future - this was for probabilistic experiments

#concentrations		§Concentrations of the key dissolved inorganic carbon (DIC) species in the ocean. Note that most of the DIC is in the form of bicarbonate.

#hco3-		§bicarbonate  ions

#co2aq		§Dissolved CO2

#co3(2-)		§carbonate ions

#tco2		§Total CO2 (the sum of the others)

#epach4		§National / regional Methane emissions data from EPA

#epan2o		§National / regional Nitrous Oxide emissions data from  EPA

#test		§Test 2

<object classid="javax.swing.JRadioButton"></object>
<object classid="javax.swing.JLabel"><param name=text value=hello></param>
</object>

<object classid="jcm.gui.nav.paramValueChooser"> <param name=paramName value=climsens ></param></object>  

<object classid="jcm.gui.nav.paramMenu"> <param name=paramName  value=complexity></param></object>

<object classid="jcm.gui.nav.paramOption"> <param name=paramName value=accccarbon></param></object>

<form><input type=submit name=setup value=examples.4plots></form>
<form><input type=submit name=source value=jcmTree></form>

<form><select name=gdffg><option> sdgqdgq <option selected> sddsg </select><input type=submit value=go name=go></form>

<form name=test3>
<select name=gdffg><option> sdgqdgq <option selected> sddsg </select>
<input type=submit>
<input type=reset >
<input type=image src=clou.png name=clou>
<input type=checkbox>fqfsfqdsqfd
</form>


@testlink
@setup!examples.4plots

#test2		§Test 2

#aviation		§

#aviation_topic		§//This is an example of a "topic" documentation page, that might be opened directly from an external weblink concerned with that issue. 
More such pages will be written soon, and integrated with the module documentation.//

Two modules in JCM, @aviashipemit and @aviationforcing have recently been developed within the Belgian project ABCI (see @acknowsupport).

The buttons below will setup the model to illustrate some applications of these modules, particularly relating to the effect of all-gases compared to CO2, and the incorporation of aviation within stabilisation scenarios.
¤adju //note: You can also access the same setups via the @SetupMenu (top-left)//
----
==Aviation Demo 2C ==
-setup-aviation.aviation_demo_stab2C
A simple demo of aviation emissions and forcing
(in a stabilisation scenario limited to 2C)

==Radiative Forcing and RFI == 
-setup-aviation.aviation_RFI_5variants
Aviation Radiative Forcing, and the RFI index comparing the effect of all gases with that of CO2, comparing 4 different variants:{{ *: Default, *:Use Efficacy *: Older IPCC Forcing factors *:Without  Cirrus }} A fifth variant shows the effect of using a longer time horizon to calculate RFI
(see @aviationforcing for more explanation)

==Aviation Emissions Scenarios==
-setup-aviation.aviation_scenarios
//¤cogs warning: this uses 12 parallel worlds, so it requires a lot of computer memory, and takes a long time to initialise!//

Comparison of the six aviation scenarios from IPCC  , both with and without scaling to a stabilisation scenario.
(see @aviashipemit for more explanation)

==Effect of Aviation Mitigation==
-setup-aviation.stab2C_without_mitigate_aviation

Showing the effect of aviation mitigation on the 2C limt scenario:
with business-as-usual aviation growth the other gases / sectors must be reduced much more.

----