This file contains the second level of updates for the 2.9 release of the University of Victoria Earth System Climate Model (UVic_ESCM). Individual files may be accessed through the main UVic_ESCM link. Compressed, the file is approximately 260 KB. Uncompressed, the file is approximately 106 MB. After expansion the files will be placed in a UVic_ESCM/2.9/updates/02 directory. Sixty-nine files are included in the 02 update level. These files will be used if the "Updates_Level" variable in the mk.in file (or the mk.ver file) is set to either "latest" (which is the default) or "02". To install these updates, copy the "UVic_ESCM.2.9.updates.02.tar.gz" file to the directory that contains the UVic_ESCM distribution directory and uncompress the files with: gunzip UVic_ESCM.2.9.updates.02.tar.gz tar -xvf UVic_ESCM.2.9.updates.02.tar File list: UVic_ESCM/ UVic_ESCM/2.9/ UVic_ESCM/2.9/updates/ UVic_ESCM/2.9/updates/02/ UVic_ESCM/2.9/updates/02/source/ UVic_ESCM/2.9/updates/02/source/ice/ UVic_ESCM/2.9/updates/02/source/ice/therm.F UVic_ESCM/2.9/updates/02/source/ice/cpts.F UVic_ESCM/2.9/updates/02/source/mom/ UVic_ESCM/2.9/updates/02/source/mom/setvbc.F UVic_ESCM/2.9/updates/02/source/mom/checks.F UVic_ESCM/2.9/updates/02/source/mom/vmixc.F UVic_ESCM/2.9/updates/02/source/mom/timeavgs.F UVic_ESCM/2.9/updates/02/source/mom/setmom.F UVic_ESCM/2.9/updates/02/source/mom/mom_rest.F UVic_ESCM/2.9/updates/02/source/mom/tracer.F UVic_ESCM/2.9/updates/02/source/mom/isopyc.F UVic_ESCM/2.9/updates/02/source/mom/mom_tbt.F UVic_ESCM/2.9/updates/02/source/mom/mom_tavg.F UVic_ESCM/2.9/updates/02/source/mom/mom_tsi.F UVic_ESCM/2.9/updates/02/source/mom/diago.F UVic_ESCM/2.9/updates/02/source/common/ UVic_ESCM/2.9/updates/02/source/common/gasbc.F UVic_ESCM/2.9/updates/02/source/common/c14data.F UVic_ESCM/2.9/updates/02/source/common/solardata.F UVic_ESCM/2.9/updates/02/source/common/aggdata.F UVic_ESCM/2.9/updates/02/source/common/cembm.h UVic_ESCM/2.9/updates/02/source/common/co2calc.F UVic_ESCM/2.9/updates/02/source/common/UVic_ESCM.F UVic_ESCM/2.9/updates/02/source/common/sulphdata.F UVic_ESCM/2.9/updates/02/source/common/setcom.F UVic_ESCM/2.9/updates/02/source/common/iomngr.F UVic_ESCM/2.9/updates/02/source/common/isopyc.h UVic_ESCM/2.9/updates/02/source/common/icedata.F UVic_ESCM/2.9/updates/02/source/common/diag.h UVic_ESCM/2.9/updates/02/source/common/csbc.h UVic_ESCM/2.9/updates/02/source/common/co2distdata.F UVic_ESCM/2.9/updates/02/source/common/volcdata.F UVic_ESCM/2.9/updates/02/source/common/global_sums.F UVic_ESCM/2.9/updates/02/source/common/sed.h UVic_ESCM/2.9/updates/02/source/common/file_names.F UVic_ESCM/2.9/updates/02/source/common/sealevdata.F UVic_ESCM/2.9/updates/02/source/common/gosbc.F UVic_ESCM/2.9/updates/02/source/common/def_files.F UVic_ESCM/2.9/updates/02/source/common/switch.F UVic_ESCM/2.9/updates/02/source/common/co2data.F UVic_ESCM/2.9/updates/02/source/common/ice.h UVic_ESCM/2.9/updates/02/source/common/size.h UVic_ESCM/2.9/updates/02/source/common/cfcdata.F UVic_ESCM/2.9/updates/02/source/common/switch.h UVic_ESCM/2.9/updates/02/source/common/mtlm.h UVic_ESCM/2.9/updates/02/source/mtlm/ UVic_ESCM/2.9/updates/02/source/mtlm/lotka.F UVic_ESCM/2.9/updates/02/source/mtlm/setmtlm.F UVic_ESCM/2.9/updates/02/source/mtlm/mtlmio.F UVic_ESCM/2.9/updates/02/source/mtlm/mtlm_tavg.F UVic_ESCM/2.9/updates/02/source/mtlm/mtlm_tsi.F UVic_ESCM/2.9/updates/02/source/mtlm/mtlm.F UVic_ESCM/2.9/updates/02/source/mtlm/mtlm_rest.F UVic_ESCM/2.9/updates/02/source/mtlm/triffid.F UVic_ESCM/2.9/updates/02/source/mtlm/mtlm_data.h UVic_ESCM/2.9/updates/02/source/mtlm/glsbc.F UVic_ESCM/2.9/updates/02/source/embm/ UVic_ESCM/2.9/updates/02/source/embm/atm.h UVic_ESCM/2.9/updates/02/source/embm/embm.F UVic_ESCM/2.9/updates/02/source/embm/solve.F UVic_ESCM/2.9/updates/02/source/embm/gvsbc.F UVic_ESCM/2.9/updates/02/source/embm/embmio.F UVic_ESCM/2.9/updates/02/source/embm/fluxes.F UVic_ESCM/2.9/updates/02/source/embm/veg.h UVic_ESCM/2.9/updates/02/source/embm/embm_rest.F UVic_ESCM/2.9/updates/02/source/embm/embm_tavg.F UVic_ESCM/2.9/updates/02/source/embm/winds.F UVic_ESCM/2.9/updates/02/source/embm/embm_tsi.F UVic_ESCM/2.9/updates/02/source/embm/setembm.F UVic_ESCM/2.9/updates/02/source/sed/ UVic_ESCM/2.9/updates/02/source/sed/sed_rest.F UVic_ESCM/2.9/updates/02/source/sed/setsed.F UVic_ESCM/2.9/updates/02/source/sed/sedio.F UVic_ESCM/2.9/updates/02/source/sed/sed_tsi.F Changes from updates 01: Most changes improve or correct diagnostic output or add new options to the model. Several options were required to comply with proposed AR5 simulations. As before, the model conserves heat, water and carbon to machine precision and stopping and restarting the model has no effect on the simulation. Changes in model state: Given the default restart, forcing data and options, both levels of updates (01 and 02) produce the same model steady "climate state" spinup as the model original release. If CO2 is specified then the transient "climate" response is also the same. However, there are two changes in updates 02 which affect the response of the carbon cycle. Before this update, the carbon that was released from land-use change, directly to the atmosphere (from burning), was released in one pulse every "Triffid" time step (usually 30 days). This flux of carbon is now spread out between Triffid time steps. Changing how quickly this flux is applied does change the carbon cycle response slightly. The second change is really a bug fix. In the original release of 2.9, when starting from initial conditions, the initial values of NO3 and PO4 are a factor of 1000 too small. This bug was not in version 2.8 and since a restart from 2.8 was used to initialize simulations for 2.9 this was not noticed. This bug has one effect beyond giving very small initial condition values of NO3 and PO4. The initial global average surface values are used to scale virtual fluxes in the model. Virtual fluxes are used to simulate changes in concentration due to evaporation or precipitation in a rigid lid model. In order to conserve tracers, a single surface reference concentration is used and this is obtained from the surface average of the initial condition concentration. For NO3 and PO4 the effect is that these virtual fluxes are underestimated. This would affect the distribution of PO4 and NO3 which would in turn affect the distribution of ocean biology and the carbon cycle response. This effect is relatively small since the distribution of nutrients is mostly determined by ocean biology and circulation rather than the dilution or concentration at the surface from fluxes of fresh water. This bug would only affect simulations that were either starting from initial conditions (O_idealized_ic) or ones using the option O_constant_flux_reference (which is a default option). Although we would recommend using all of the updated code, if you would like to take advantage of level 02 updates without changing the carbon cycle response you can use the option O_reproduce_updates_01 to ensure the model results are the same as those given by the original distribution or simulations with level 01 updates. Please test this yourself, if continuity is critical. This option involves very few lines of code. Usability changes: - Transient options no longer need base options defined (although recommended). - Variables added and corrections made to the O_save_carbon_totals option. - Average pH is now calculated from average H+. - Corrected compiler faults with some options. - Corrected gm velocity output. - Corrected data file grid edge long name and units. - Removed K33 term from diagnostic diapycnal diffusion output. - Corrected pressure dependancy terms in deep carbonate chemistry calculations. - Aragonite and calcite calculations changed to be compatible with co2sys. - Any transient forcing can be specified using an independent forcing year. - Removed restrictions on time average output periods. New (or newly applied) options: - O_agric_data or O_agric_data_transient allows for the specification of both pasture and crop data. If either is specified then one or both of crop and pasture data are applied. If neither of O_crop_data and O_pasture_data are defined (or both are defined) then both crop and pasture data are applied. As before, crop and pasture areas first use grassland PFTs and only when the agricultural area can not be satisfied with the grassland area are shrubs and trees removed. A new data file is required if pasture is to be included. - O_crop_data or crop_data_transient (as before) is used when crop data is to be applied (O_agric_data is not needed). Variable cropf (in namelist embm) can be used to scale the area applied (range is 0 to 1, default is 1.0). - O_pasture_data or pasture_data_transient is used when pasture data is to applied (O_agric_data is not needed). Variable pastf (in namelist embm) can be used to scale the area applied (range is 0 to 1, default is 0.5). - O_embm_adiff can be used to increase the atmospheric diffusion with warming or reduce it with cooling. The namelist adiff (default is 3%/K) is used with the global average temperature change to produce a simple global scaling factor for atmospheric diffusion. The option O_embm_adiff uses the same reference climate state as used by option O_embm_awind (given in the data file A_slatref.nc). - O_co2ccn_user is the new name for the old option O_carbon_uncoupled. This option allows users to specify a constant level of CO2 in the namelist rather than reading a value for a specific year from a data file. Hopefully the new name is more intuitive. - O_time_averages_monthly_continuous is used to write out continuous monthly data. This quickly generates a large amount of data but this can be post processed to create monthly or seasonal averages. Normal namelist time average intervals and periods are ignored. - O_align_coupling_output is used to align time averaged output with a coupling time step. If not already aligned, the averaging period is extended to the end of the next coupling time step. This may result in differing averaging periods but it is useful if you want all variables aligned and you have time averaging periods that do not contain an integral number of coupling time steps. This option only works properly if the ocean model is included. If the ocean model is not used, and output is not already aligned with a coupling time, then output from the land model (mtlm) will be one coupling period behind the atmosphere model (embm). - O_sulphate_data or O_sulphate_data_transient specifies sulphate forcing. If either is specified then one or both of the direct or indirect effects are applied. If neither of O_sulphate_data_direct and O_sulphate_data_indirect are defined (or both are defined) then both the direct and indirect effects are applied. The partition of the direct and indirect effects is a simple portion of the total forcing based roughly on present day values (64% indirect and 36% direct). - O_sulphate_data_direct is used when direct effect is to be applied (needs option O_sulphate_data) - O_sulphate_data_indirect is used when indirect effect is to be applied (needs option O_sulphate_data) - O_..._transient_repyr options (where ... is the appropriate transient forcing, as in O_sulphate_data_transient_repyr). These options can be used when you want to repeat a previous year of forcing after the start of a specified year. They are only used when transient forcing is also specified. The model will repeat the forcing from the year before the start of the constant forcing year. These option are only useful when you have sub-yearly specified forcing. If you are using data with intervals longer than a year, you may get a sawtooth pattern of forcing. These are specialized options and should be used with care. Please check to make sure it is working as desired. - O_carbon_carbonate_approx is a direct method for solving the carbonate chemistry. This is still experimental and not well tested. Use with caution. - O_reproduce_updates_01 can be used to reproduce the climate and carbon cycle response of updates 01. Only a few lines of code are affected by this option. Changes to output timing: Time average periods no longer need to contain an integral number of coupling time periods. The coupling time, when data is passed between models, is usually every 5 days. Removing this restriction allows for near monthly output that still lines up with the end of the year. If you specify the averaging interval and period to be 365/12 = 30.416667, the model will find the end of an ocean time step (dtts=10800 by default) that is closest to the end of the specified period. This would result in 12 output periods over the year of: 30, 31.25, 30, 30, 31.25, 30, 30, 31.25, 30, 30, 31.25, 30 days, for a total of 365. In this case the ocean output is not guaranteed to be aligned with the end of a coupling time, although all other model output would be averaged over a period that ends with the next coupling time period. In other words different fields may be averaged over slightly different time periods. If you wish to ensure that all data is aligned at the next closest coupling time (so that all data is averaged over the same periods), you can use the option O_align_coupling_output. This will extend any averaging period to the end of the next coupling time. If the coupling period is every 5 days and the ocean time step is 10800 seconds, then specifying 12 equal average periods in a year (30.416667 days) would result in output periods of: 30, 35, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 days. Ironically it is February, which is really the shortest month, that gets the extra 5 day coupling period necessary to line the output with the end of the 365 day year. If you want monthly time average output periods that are as close as possible to the length of months in a 365 day year, you can use the option O_time_averages_monthly_continuous to specify time average data on continuous monthly intervals. In this case any setting for timavgint and timavgper (set in namelist) are ignored. As before the closest ocean time step will be used so there is no guarantee that data is aligned unless you also use the option O_align_coupling_output. For a 5 day coupling period and just option O_time_averages_monthly_continuous, you should get ocean data averaging periods of 31.25, 27.5, 31.25, 30, 31.25, 30, 31.25, 30, 30, 31.25, 30, 31.25 days and if you also specified the option O_align_coupling_output you would get output averaging periods of 35, 25, 30, 30, 35, 30, 30, 30, 30, 30, 30, 30 days. As outlined above, both methods of obtaining near monthly average output would result in continuous output (and thus generate large output files), however, the first method is more flexible in that it allows you to specify different intervals and periods. For example if you wanted the average of the last quarter of a year every 50 years you could specify the averaging period (timavgper) to be 365/4 = 91.25 days and the output interval (timavgint) to be 18250 days. Specific code changes: => all transient options no longer need base options defined. => Source Directory common: UVic_ESCM.F: - added parameters for new options to namelists (new option). - removed restrictions on output periods (no efect). - added O_..._transient_repyr (new options). aggdata.F: - added O_..._transient_repyr (new options). cembm.h: - added new forcing year specifications (no effect). - added parameters for O_embm_adiff (no effect). cfcdata.F: - added O_..._transient_repyr (new options). c14data.F: - added O_..._transient_repyr (new options). co2calc.F: - changed dpco2 output to hSWS (no effect). - fixed bugs in the calculation of pressure terms (not used in the model). - fixed bug in calculation of pco2 (diagnostic output). - added O_carbon_carbonate_approx (new option). - general code cleanup (no effect). co2data.F: - added O_..._transient_repyr (new option). co2distdata.F: - added O_..._transient_repyr (new option). csbc.h: - added variables for O_carbon_carbonate_approx (no effect). - added variables for O_align_coupling_output (no effect). def_files.F: - ensured def_tsi_gsums is always defined (compiler fault with some options). diag.h: - added variable for O_save_carbon_totals (no effect). filenames.F: - added file name for O_agric_data (no effect). gasbc.F: - added O_carbon_carbonate_approx (new option). - O_carbon_uncoupled changed to O_co2ccn_user (new option). global_sums.F: - adjusted land carbon diagnostics (diagnostic output). - added O_save_carbon_totals (diagnostic output). gosbc.F: - added O_sulphate_data_direct and O_sulphate_data_indirect (new option). - added new calculation of area burnt. icedata.F: - added the O_..._transient_repyr (new option). iomngr.F: - changed file existence check to more standard code (no effect). mtlm.h: - removed extraneous burn variable (no effect). sealevdata.F: - added O_..._transient_repyr (new option). sed.h: - added parameters for option O_save_carbon_totals (no effect). solardata.F: - added O_..._transient_repyr (new option). sulphdata.F: - added O_..._transient_repyr (new option). switch.F: - added O_time_averages_monthly_continuous (new option). - added O_align_coupling_output (new option). switch.h: - added variables for O_align_coupling_output (new option). volcdata.F: - added O_..._transient_repyr (new options). => Source Directory embm: atm.h: - removed O_embm_running_average (diagnostic output). - added O_embm_adiff (new option). embm: - added O_embm_adiff (new option). embm_rest.F: - changed O_carbon_uncoupled to O_co2ccn_user - added O_embm_adiff (new option). - added O_carbon_carbonate_approx (new option). - grid edge long names and unit redefined (diagnostic output). - relyr written to restarts (no effect). embm_tavg.F: - anomolous winds saved with O_embm_save_wind (diagnostic output). - grid edge long names and unit redefined (diagnostic output). embm_tsi: - modified O_save_carbon_totals (diagnostic output). embmio.F: - removed O_embm_running_average (diagnostic output). - added O_embm_adiff (new option). - fixed undefined variables (compiler fault with some options). - added the O_..._transient_repyr option (new option). - changed code concerning time and average period output (no effect). fluxes.F: - added O_pasture_data and O_agric_data (new option). glvsbc.F: - added O_pasture_data and O_agric_data (new option). - added O_..._transient_repyr (new option). setembm.F: - added O_embm_adiff (new option). - added O_carbon_carbonate_approx (new option). - added O_..._transient_repyr (new options). - removed restrictions on output periods (no efect). solve.F: - added O_embm_adiff (new option). veg.h: - added O_pasture_data and O_agric_data (new options). winds.F: - removed the wind feedback if advecting carbon (only with O_carbon_co2_2d). => Source Directory ice therm.F - added O_pasture_data and O_agric_data (new options). => Source Directory mom: checks.F: - removed restrictions on output periods (no efect). diago.F: - changed diagnosed total atmosphere to ocean carbon flux (diagnostic output). - calculate average pH from average H+ (diagnostic output). - added diagnostic weathering flux (diagnostic output). - changed code concerning time and average period output (no effect). isopyc.F: - erroneous csu term removed from gm velocity averages (diagnostic output). mom_rest.F: - relyr written to restarts (no effect) - grid edge long names and unit redefined (diagnostic output). mom_tavg.F: - grid edge long names and unit redefined (diagnostic output). - corrected to grid definition for gm velocities (diagnostic output). mom_tbt.F: - grid edge long names and unit redefined (diagnostic output). setmom.F: - changed maximum possible ocean po4 in output (diagnostic output). timeavgs.F: - calculate average pH from average H+ (diagnostic output). - changed code concerning time and average period output (no effect). vmixc.F: - average output of diff_cbt changed to exclude k33 term (diagnostic output). => Source Directory mtlm: glsbc.F: - added O_pasture_data and O_agric_data (new options). - added new calculation of area burnt. lotka.F: - added O_pasture_data and O_agric_data (new options). mtlm.F: - added new calculation of area burnt. method. mtlm_data.h: - crop type changed to agricultural type (no effect) mtlm_rest.F: - added land boundary condition averaging counter (no effect) - grid edge long names and unit redefined (diagnostic output). mtm_tavg.F: - grid edge long names and unit redefined (diagnostic output). mtlm_tsi.F: - output from option O_save_carbon_totals expanded (diagnostic output). mtlmio.F:Ê - fixed udefined variables (compiler fault with some options). - changed code concerning time and average period output (no effect). setmtlm.F: - added O_pasture_data and O_agric_data (new options). triffid.F: - added O_pasture_data and O_agric_data (new options). => Source Directory sed: sed_rest.F: - grid edge long names and unit redefined (diagnostic output). sed_tsi.F: - added variables for option O_save_carbon_totals (diagnostic output). sedio.F: - changed code concerning time and average period output (no effect).