========================= CB/S-GOLDSTEIN; version 5 ========================= [FROM v.4.05.09.05] AJR/05/09/09 updated the calculation max maximum Atlantic overturning so that the maximum is restricted to the deeper half of all the the depth levels (biogem_box/sub_calc_psi) (c.f. current version of diagopsi.f) AJR/05/09/23 removed the loading and setting of the remin mask, as this just seemd a load of pants (biogem_data/sub_init_phys_ocnatm) also, deleted the application of this parameter in biogem_data/sub_init_bio_remin_frac associated with this: deleted the array index for the remin mask (biogem_lib) AJR/05/09/23 * defined new arrays of allocatable dimension to hold the index conversion from selected tracers (numbered sequentially from 1 to n) to actual tracer number (biogem_lib) -> these arrays are dimensioned by the number of selected tracers (biogem_data/sub_init_tracer_*) -> these arrays are also populated in biogem_data/sub_init_tracer_* * removed old goldstein tracer to biogem tracer mapping array * replaced all instances of tracer looping and checking for tracer selection with looping through the selected tracers followed by converting selected tracer index to real tracer index => replacements throughout biogem_main, biogem_data, and biogem_box AJR/05/09/23 fixed potential bug-lette when no biological option is selected (biogem_box/sub_calc_bio_uptake) AJR/05/09/23 added new option for saving in the original plain-test (ASCII) format (biogem_lib, biogem_data/sub_load_biogem_config) + inserted IF ... THEN selection in all time-series and time-slice ASCII data saving (biogem_data/VARIOUS) JPB/05/10/17 netcdf output added to biogem and sedgem - new file genie_netcdf.f90 in genie_main - changes in the Makefile (netcdf libraries included) - biogem_data.f90 and sedgem_data.f90 got new netcdf routines - biogem_lib.f90 and sedgem_lib.f90 define new netcdf fields - option opt_data(iopt_data_save_ascii) and opt_sed(iopt_sed_save_ascii) added to get the "old" ascii output new lines in biogem_config.par and sedgem_config.par !!! - extra columns added in: gem_config_atm.par, gem_config_sed.par, gem_config_ocn.par -> cgoldstein in detail ~~~~~~~~~~~~~~~~~~~~ new parameter: real biogem_yr passed to tstep_biogem, tstep_sedgem and end_sedgem -> BIOGEM in detail ~~~~~~~~~~~~~~~~ new output files: fields_biogem3d.nc: all 3d fields fields_biogem2d.nc: all 2d fields ts_biogem_inv.nc : time step integrals ts_biogem_int.nc : time step integrals from goout ts_biogem_glob.nc : global integrals * biogem_main.f90: l.126: definition of string_ncrunid l.275ff: definition of netcdf output names and initilisation subroutine tstep_biogem gets new dummy: dum_bio_yr several new calls for the netcdf output * biogem_data.f90: new global fields string_ocn_* string_atm_* string_sed_* carry the chosen tracers names, longnames and units, ocn_mima, atm_mima, sed_mima are the min/max of the chosen tracers new subroutines: - sub_save_netcdf_tsi: saves the time step output which was printed in the goout file - sub_init_netcdf: initialises the 2d and 3d netcdf output files (defines basic variables) - sub_save_netcdf: saves the time invariant parameters (coordinates and masks) - sub_save_netcdf_runtime: saves 1d runtime parameters - sub_save_netcdf_goldstein_opsi: adds the opsi fields to the 2d output file - sub_save_netcdf_goldstein_u: adds goldstein velocities to 2d output file - sub_save_netcdf_timeslice_2d: 2d parameters are written here (included call of sub_save_netcdf_goldstein_*) - sub_save_netcdf_timeslice_3d: all 3d parameters are written here (included call of sub_save_netcdf_ocn_col_extra ) - sub_save_netcdf_timeslice_sed: 2d sed parameters are written to 2d output file - sub_save_netcdf_flux_ocnatm: 2d ocnatm fluxes are written to 2d output file - sub_save_netcdf_ocn_col_extra: 3d colour fields are added to 3d output file - sub_save_netcdf_global: global integrals are saved l.632: real(i) added l.640: !new phys_ocnatm(ipoa_mask_ocn,i,j) = 1.0 l.717/889/1014: rewind instead of close l.3308/3637: new name: sub_data_save_topography() * biogem_lib.f90: new netcdf fields: string_ncrunid, string_nctsi, string_nctsint, string_nctsglob, string_ncout2d, string_ncout3d, ncout2d_ntrec, ncout3d_ntrec, ncout2d_iou, ncout3d_iou, string_ocn_tname, string_ocn_tlname, string_ocn_unit, ocn_mima string_atm_tname, string_atm_tlname, string_atm_unit, atm_mima string_sed_tname, string_sed_tlname, string_sed_unit, sed_mima n_amax, n_smax: no of active atm/sed tracers -> SEDGEM in detail ~~~~~~~~~~~~~~~~ new output files: ts_sedgem_glob.nc: 1d global time step parameters fields_sedgem_2d.nc: 2d fields toplayer_sedgem.nc: extra toplayer of sediment core_sedgem.nc: 3d core output * sedgem_main.f90: l.46ff: definition of netcdf filenames l.118: tstep_sedgem gets new dummy parameter: dum_bio_yr (actuall year of writing) subroutine tstep_sedgem: several new netcdf subroutine calls l.227: end_sedgem gets new dummy parameter: dum_bio_yr (actuall year of writing) subroutine end_sedgem: several new netcdf subroutine calls * sedgem_box.f90 (correction from AJR): l.310 new: loc_dis_sed(is_PO2) = (1.0 - par_sed_presfrac_Corg) * loc_new_sed(is_PO2) * sedgem_data.f90: l.160: new option: READ(unit=in,fmt='(L1)') opt_sed(iopt_sed_save_ascii) l.667: ERROR?!?!? is_det instead of is new subroutines: - sub_save_netcdf: initialises 2d output and saves the time invariant parameters - sub_save_netcdf_seddiag: adds more 2d fields - sub_save_netcdf_sedgem: prepares the core data output - sub_save_netcdf_global: saves 1d global parameters - sub_save_netcdf_full: saves toplayer 2d fields - sub_save_netcdf_core: write the core data output * sedgem_lib.f90: new option: INTEGER,PARAMETER::iopt_sed_save_ascii = 14 ! save ascii output new fields: string_ncrunid, string_ncout2d, string_nctsglob, string_nccore, string_nctop, ntrec_sout, ntrec_siou AJR/05/10/26 updated gseto.F with deep velocity re-scaling bug-fix AJR/05/10/26 ensured that gseta.F expectes to read in 4 parameters on one line twice in a row for the atmosphere so as too be consistent with the code repository AJR/05/10/26 a 13-character-long string is acceptable for 'file extension for input' in the current CVS code => on-screen message has been adjusted accortingly (mains.F) AJR/05/10/26 Whoops - in the sediment model; forgot to return the O2 deficit associated with POM back to the ocean => now added closure of ocean-sediment O2 cycle with an additional line in sedgem-box/sub_update_sed (this error will ony be apparent when running cbs-goldstein in 'open' mode') [fix implemented by JPB/05/10/17 - SEE ABOVE] AJR/05/10/26 ALSO note the introduction of a new parameter line in sedgem_config.par [SEE ABOVE] v.5.05.10.26 *** AJR/05/10/26 Added #IFDEF for enkf reading in of biogeochemical parameters (mains.F) AJR/05/11/20 moved the saving of grid information from the time-slice saving routine (biogem_data/sub_data_save_timeslice) to the biogem run end routine (biogem_main/end_biogem) and assigned it under the 'misc' data saving flag (this is so that the grid information gets saved regardless of time-slice saving or the ASCII saving flag setting AJR/05/11/20 altered some of the MATLAB plotting scripts to extract data and grid information from netCDF -> plot5_biogem_i.m and plot5_biogem_k.m so far v.5.05.11.21 *** AJR/05/12/20 altered the naming of the io_H2SO4 and io_H2SO4_34S tracers to io_SO4 and io_SO4_34S => changes in; gem_config_ocn.par, gem_cmn.f90, gem_carbchem.f90, biogem_main.f90, biogem_data.f90, biogem_box.f90, biogem_lib.f90 AJR/05/12/20 corrected buglettes in carbonate chemistry scheme (calculation of loc_H4BO4, loc_H3SiO4, and loc_HSO4 in gem_carbchem/sub_calc_carb AJR/05/12/20 made the naming convention of sulphur containing species in gem_carbchem.f90 more logical (esp introduction of HSO4 name) AJR/05/12/20 renamed functions involving sulphur containing species to reflect tracer name changes AJR/05/12/20 renamed io_H2SO4 -> io_H2SO4 for occurrence in sedgem_data.f90 and sedgem_main.f90 v.5.05.12.20 *** AJR/05/12/21 sod it - the 'bugs' in gem_carbchem/sub_calc_carb were nothing of the sort => reversed the 'bug' fix changes made previously (but kept the sulphur parameter renaming changes) v.5.05.12.21 *** AJR/05/12/22 trapped possible divide-by-zero in the calculation of the sediment composition time-series (biogem_main/tstep_biogem) AJR/05/12/24 small modification to restoring forcing in biogem_main/tstep_biogem => surface (k = k_max) layer restoring flux is now modified according to sea-ice extent AJR/05/12/24 added an additional debug option for displaying the (i,j) index in the main biogem time-stepping loop changes to; biogem_main/tstep_biogem, biogem_data/sub_load_biogem_config, biogem_lib >>> NOTE: dditional parameter added to biogem_config.par introduces incompatability with previous versions AJR/05/12/24 fixed bug in the calculation of mean global sediment surface composition (time-series data) (biogem_main/step_biogem) AJR/05/12/24 fixed bug in setting up restoring forcing for T,S in biogem_data/sub_init_force_restore_ocn (and also what looks like a similar bug in biogem_data/sub_init_force_flux_sed) AJR/05/12/24 some heavy hacking (re-arranging) of biogem_box/fun_calc_ocnatm_flux (becasue thus algorithm is super fcuk-off critical, the new code is worth watching for introduced bugs ...) v.5.05.12.24 *** AJR/05/12/25 further re-writing of biogem_box/fun_calc_ocnatm_flux; now including a check to prevent 'excessive' gas transfer (i.e., that with the potential to lead to numerical instability) => air-sea fluxes are rescaled so that the ocean surface is brought ~exactly into equilibrium AJR/05/12/25 some minor tidying up in biogem_main/tstep_biogem AJR/05/12/25 added a new 'debug' option (and renamed option #3), small changes in; biogem_lib, biogem_data/sub_load_biogem_config, biogem_main/tstep_biogem,biogem_box/fun_calc_ocnatm_flux + added the optional printing out of excessive air-sea gas exchange capture events v.5.05.12.25 *** AJR/05/12/26 fixed small bug in netCDF variable definition (biogem_data/sub_save_netcdf_timeslice_2d) AJR/05/12/27 rewrote tracer 'audit' calculation (biogem_box/fun_calc_ocn_tot) to fix bug and correctly balance O2 (and substitutes; NO3 and SO4) and sulphur (SO4 + H2S) AJR/05/12/27 split up all the different processes within the 'remineralization' subroutine (biogem_box/sub_calc_bio_remin) into a series of new, seperate subroutines, called in sequence from biogem_main/tstep_biogem; biogem_box/sub_calc_bio_remin_oxidize_H2S (oxidize H2S -> SO4) biogem_box/sub_calc_bio_remin_oxidize_CH4 (oxidize CH4 -> CO2)(NOTE: code unfinished) biogem_box/sub_calc_bio_remin_DOM (remineralize dissolved organic matter) biogem_box/sub_calc_bio_remin (remains of original routine for remin of particulate matter) biogem_box/sub_calc_bio_remin_reduce_NO3 (nitrate reduction) biogem_box/sub_calc_bio_remin_reduce_SO4 (sulphate reduction) + modified biogem_box/sub_calc_bio_remin to ensure that not more organic matter is remineralized in the water column than there is total oxidant available for (O2 + NO3 + SO4) (similar restrictions are implemented in the other remin routines) + new subroutine for calculating total oxidant available (gem_util/fun_potO2cap) AJR/05/12/27 miscellaneous re-ordering of subroutine calls within the (i,j) loop in biogem_main/tstep_biogem v.5.05.12.27 *** AJR/05/12/27 >>> NOTE: a value for the N:ALK alkalinty correction factor of -1.00 should be used (file: biogem_bio_1N1T_PO4MM_config.par) (previously, an incorrect value of -0.63 was employed) AJR/05/12/27 fixed a bug in the saving of time-series data (biogem_main/tstep_biogem) (bug was; data being saved at each any every time-step following the last 'correct' save point) AJR/06/01/07 added explicit reaction rate for H2S oxidation, following Zhang and Millero [1993] reaction constant defined in gem_cmn.f90, with reaction code added to biogem_box/sub_calc_bio_remin_oxidize_H2S AJR/06/01/07 added a check for ocean tracer concentrations < 0.0 => ocean tracer concentration assumed to be zero for the purpose of air-sea gas exchange (biogem_box/fun_calc_ocnatm_flux) AJR/06/01/07 altered the search criterion for attempting some particulate matter remineralization; now only some (non-zero) POC concentration is looked for rather than _any_ particulate substance (biogem_box/sub_calc_bio_remin) AJR/06/01/07 added -Mpreprocess to compiler string in makefile to enable #ifdef ... #endif constructs to be processed in the f90 code AJR/06/01/07 added #ifdef ... #else ... #endif to biogem_main/tstep_biogem to allow salinity normalization to be carried out or not -> determined by the inclusion of the makefile switch -DSnorm (-DSnorm MUST be included for 'standard' operation of biogem) AJR/06/01/07 added a fudge to remove negative H2S concentratins if they develop, contained in the new subroutine biogem_box/sub_calc_bio_remin_correct_H2S This is called from biogem_main/tstep_biogem if the appropriate compile-time option (-DLRK) has been set in the make file v.5.06.01.07 *** AJR/06/01/07 added a check for atmospheric tracer concentrations < 0.0 => atmospheric tracer concentration assumed to be zero for the purpose of air-sea gas exchange (biogem_box/fun_calc_ocnatm_flux) AJR/06/01/07 rationalized some of the variables in biogem_box/fun_calc_ocnatm_flux to reduce overall computation v.5.06.01.08 *** AJR/06/01/09 introduced compile flag -DnoSnorm which explicitly ensures tracer update with no S-normalization -> slecting neither -DSnorm or -DnoSnorm results in NO BIOGEM MODIFICATION OF THE TRACER ARRAY (giving the option of investigation with ocean circulation (& climate) operating only) AJR/06/01/11 #ifdef added in biogem_box/sub_biogem_copy_ocntots for consistency with above change (so that initial seeded tracer concentrations are not salinity-normalized when passed to goldstein) v.5.06.01.12 *** AJR/06/01/13 removed use of is_POC and io_DOM_O2 as explicit carries of potential oxygen demand; simply replaced by adding conversion relationships in the array -> dummy values linking is_POC and io_O2 defined in biogem_data/sub_def_tracerrelationships and calculated from Redfield ratios in biogem_data/sub_check_par_biogem (just after NO3:ALK is set) + disabled is_PO2 <-> is_O2 relationship (biogem_data/sub_def_tracerrelationships) + disabled relevant enteries in the Redfield ratio array (biogem_data/sub_init_bio) + disabled is_PO2 tracer in sedgem_box/sub_update_sed and sedgem_data/sub_init_sed + removed definition of is_PO2 and io_DOM_O2 tracers in gem_cmn.f90 AJR/06/01/13 removed alteration of setting from biogem_data/sub_check_par_biogem and created a new subroutine in biogem_data.f90 - sub_update_tracerrelationships which is called from biogem_main/setup_biogem AJR/06/01/13 altered the predictive calculation of O2 demand during the remineralization so that it is derived from; is_POC (biogem_box/sub_calc_bio_remin) and io_DOM_C (biogem_box/sub_calc_bio_remin_DOM) AJR/06/01/13 removed various occurrences of is_POC and io_DOM_C in tracer SELECT CASE statements v.5.06.01.13 *** AJR/06/01/15 >>> NOTE: ocean tracer defaults have been re-calculated from WOA01 and GLODAP datasets by re-gridding to the GOLDSTEIN model grid and interpolation via ocean circulation The new tracer defaults to use to the modern (pre-Industrial) ocean are; DIC: 2244 umol kg-1 ALK: 2363 umol kg-1 PO4: 2.159 umol kg-1 O2: 169.6 umol kg-1 AJR/06/01/17 added some extra error message/debug information (sedgem_box/sub_update_sed) AJR/06/01/17 configured two default config file sets in $GENIE/batch_input/; 'ocnonly' - for cb_goldstein 0 -> year 2001 OCMIP-like test, but without adequate biogeochem spin-up for 14C (but starting from a stable climate re-start) 'ocnseds' - for cbs_goldstein 0 -> 25001 sediment spin-up with the system 'closed' and only a 1 cm thick surface layer and no bioturbation AJR/06/01/17 ensure that the sedgem directory path string is TRIMed (sedgem_data/sub_init_phys_sed) v.5.06.01.17 *** AJR/06/01/19 added an '%' character to the start of the header file for saving sedcore data for MATLAB LOADing convenience (sedgem_data/sub_sedgem_save_sed_data) + similarly for saving of FULL seddiag data (sedgem_data/sub_data_save_seddiag) AJR/06/01/20 created a new (sin-of-lat) version of the k-slice plus velocity quiver MATLAB plotting script (plot2_biogem_k_PLUSu.m) AJR/06/01/20 created new makefile options to compile cb-goldstein and cbs-goldstein with alternative palrogeographies; make cb_goldstein (as before; ocean-only carbon cycle with modern continental configuration) make cbs_goldstein (as before; ocean-sediment carbon cycle with modern continental configuration) make cb_goldstein_55Ma (ocean-only carbon cycle with end-Paleocene continental configuration) make cbs_goldstein_55Ma (ocean-sediment carbon cycle with end-Paleocene continental configuration) make cb_goldstein_251Ma (ocean-only carbon cycle with end-Permian continental configuration) make cbs_goldstein_251Ma (ocean-sediment carbon cycle with end-Permian continental configuration) AJR/06/01/20 compile-time options added for configuring the model with alternative palrogeographies, in; radfor.F (value of solar constant) gseto.F (the 'world' topography file) gseta.F (creating a local 'world' topography file string variable and set its value) atchem_lib.f90, biogem_lib.f90, atchem_lib.f90 (alternative model grid Eastern edge longitudinal location) AJR/06/01/20 altered the expected filename of the wind stress field files -> they now need to be (uniquely) identified by the relevant 'world' file string (gseto.F) + similar changes in gseta.F (for the transport wind field) AJR/06/01/20 added in Andrew Yool's PETM hacks for N2O and CH4 radiative forcing (surflux.f) AJR/06/01/20 special case created for PETM (end Paleocene) atmospheric winds (gseta.F) similarly; special case created for PETM (end Paleocene) wind stress (gseto.F) NOTE: these special cases should ideally be removed and GCM simulated wind fields loaded in and used as per for modern (and other paleo configs) AJR/06/01/20 added in function ch4_func to end of surflux.F AJR/06/01/20 declared more global variables in var.cmn (for radiative forcing) AJR/06/01/20 WHOOPS - sedgem_data.f90/sub_data_save_seddiag had a TINY bug in (missing comma on line 961) AJR/06/01/20 >>> NOTE: parameter 'pc_co2_ris' in the goin (2nd parameter of line #09) has been replaced with 'scl_ch4', whcih is used to scale CH4 radiative forcing (analagous to 'scl_co2') => rising CO2 experiments can no longer be done with c-goldstein alone in this version ! care must be taken that the value of scl_ch4 in the goin is set to 1.0 by default becasue ! achieving a baseline (pre-Indsutrial) radiative forcing (and thus climate) depends on it v.5.06.01.22 *** AJR/06/01/24 added 15N fractionation during the production of organic matter at the ocean surface (biogem_box/sub_calc_bio_uptake) + set calculation of d13C, d14C, and d15N dependent on whether the bulk ocn tracers are selected (to prevent unnecessary calculations) AJR/06/01/24 updated version 5 of the MATLAB scripts for reading from netCDF to take a specified year (rather than netCDF array index), and added a script for producing basin averages (plot5_biogem_i_AVE.m) v.5.06.01.24 *** AJR/06/01/25 change to 'time' and 'year' netCDF time-slice variable information -> time-slice mid-point rather than current time is now passed (biogem_main/tstep_biogem) + also analagous change to the saving of netCDF time-series 'time' and 'year' values AJR/06/01/25 cleaned up some fo the initialization of the time-series and time-slice mid-points (biogem_data/sub_init_data_save) AJR/06/01/25 removed the calculation of 'real' time in biogem_data/sub_data_save_runtime (as 'real' time is now passed directly in) AJR/06/01/25 changed the saving of time-series data so that integration is not continuous (biogem_main/tstep_biogem) -> averaging now occurs over the intergration interval set in biogem_config.par, and in an identical manner to the time-series AJR/06/01/25 some minor alternation to the calculation of time-slices AJR/06/01/25 seperated out the run-time data reporting and auditing updating from the code section where time-series are updated AJR/06/01/25 removed a local (time) variable and added a new one (loc_yr_save) AJR/06/01/25 If the 'save ASCII' option is selected (biogem_config.par) is de-selected; run-time reporting still continues, but now grid file saving (in biogem_data/sub_data_save_topography) is disabled (changes made in biogem_main/tstep_biogem) AJR/06/01/25 altered the save option 'iopt_data_save_misc' (array ) to 'iopt_data_save_derived' (it was hardly used for anything before) -> it now determines whether 'derived' data fields are saved, such as; salinity normalized ocean tracers (requiring that the underlying ocan tracer concentrations are saved) tracer masses in each cell (also requiring that the underlying ocan tracer concentrations are saved) particulate matter concentration fields (requiring that biological fluxes are saved) particulate matter remineralization (also requiring that biological fluxes are saved) -> changes in biogem_data/sub_data_save_timeslice and biogem_data/sub_save_netcdf_timeslice_3d AJR/06/01/25 added -Dbiogemdebug compile option (Makefile); -> it now determines whether the carbonate chemistry iteration counter array is saved or not (biogem_main/end_biogem) AJR/06/01/26 cleaned up and standardized the model test 'ocnonly' and 'ocnseds' configurations AJR/06/01/26 altered the subgenie.v5 script to achive only the 'ocnonly' and 'ocnseds' test configurations and results + cleaned up the test output directories before the job is submitted to the queue v.5.06.01.26 *** AJR/06/01/27 edited the MATLAB plotting Atlantic and Pacific basin masks (mask_worbe2_*.dat in /genie-matlab) to remove a couple of 'nutrient-trapping' bottom cells from the averaging NOTE: this also results in the entire water-column at these grid points being excluded form the cross-sectional averaging v.5.06.02.04 *** AJR/06/02/05 disabled the netCDF saving of; run-time information - sub sub_save_netcdf_tsi commented out in biogem_main/tstep_biogem global diagnostics information (at time-slice intervals) - sub sub_save_netcdf_global commented out in biogem_data/sub_save_netcdf_timeslice_2d AJR/06/02/05 major revision of the global diagnostics information saved (biogem_data/sub_data_save_global) plus the addition of a new option in biogem_config.par for whether this data is saved or not -> data is saved as ime-slice intervals as before and in ASCII only (changes in biogem_data/sub_load_biogem_config and biogem_lib.f90) AJR/06/02/05 completely reorganized the order and details of the parameters in biogem_config.par (changes in biogem_data/sub_load_biogem_config and biogem_lib.f90) AJR/06/02/05 >>> NOTE: changes made to biogem_config.par means that previously used files will be incompatible with v.5.06.02.05 and beyond v.5.06.02.05 *** AJR/06/02/05 disabled the call of sub_save_netcdf_tsi at the start of biogem_main/tstep_biogem (which should have been disabled yesterday ...) AJR/06/02/08 rather than zero-ing of the (PO4) ocean flux array when a PO4-restoring biological option is selected, now just modify the value (because this array may already contain flux information) (biogem_box/sub_calc_bio_uptake) AJR/06/02/08 set conv_atm_mol = 1.81994E+20 (gem_cmn.f90) to make consistent with the conversion factor current calculated in atchem_main/tstep_atchem (and assuming uniform T = 273.15K) AJR/06/02/09 add additional time-series data saving (in ASCII only currently) - biogem_series_*_fatm_*.res for the flux to the atmosphere (cincluding flux and restoring forcing contributions) changes in; gem_cmn.f90, biogem_lib.f90, biogem_main.tstep_biogem, and in biogem_data, the routines; sub_init_int_timeseries, sub_init_data_save_runtime, sub_end_data_save_runtime, sub_data_save_runtime AJR/06/02/09 removed the test for identical forcing signal time-point indices in biogem_main/tstep_biogem becasue it was possible that the indices are periodically equal, which previously caused the forcing rather inconventiently not to be applied during that time-step + ammended the error message text when testing for incompletely-defined forcing time-series to reflect this change in model bahavior (changes in biogem_data/sub_init_force_flux_* and biogem_data/sub_init_force_restore_*) v.5.06.02.09 *** AJR/06/02/10 edited the warning messaging regarding both flux and restoring forcings being selected (biogem_data/sub_init_tracer_ocnatm, biogem_data/sub_init_tracer_ocn) AJR/06/02/10 set new global variable 'goldstein_nyear' to hold the number of GOLDSTEIN time-steps per year (biogem_lib, biogem_main/setup_biogem AJR/06/02/10 altered how the automatic assignment of time-series and time-slice intervals are dealt with (biogem_data/sub_init_data_save) -> now, if the time-step is too short (i.e., too many elements for the pre-defined array size) then the time-step is automatically repeatadly increased by an order of magnitude until it is OK v.5.06.02.10 *** AJR/06/02/15 hacked in a preprosessor conditional-compilation option ('-Dwor16b') for a 16-level model based on the wor16b.k1 bathymetry (and described in Edwards and Marsh [2005]) => changes in gseto.F, diagend.f, biogem_lib.f90 NOTE: in addition to using the switch -Dwor16b in the Makefile, the value of 'maxk' in var.cmn needs to be set to 16 AJR/06/03/12 corrected the omission of not updating temperature and salinity in in the case of a T and/or S forcing of CGOLDSTEIN (and that is allowed to affect climate) (biogem_main/tstep_biogem) AJR/06/03/12 altered the numerical capping of air-sea gas exchange (biogem_box/fun_calc_ocnatm_flux) -> introduced a parameter (in biogem_lib.f90) to set the the maximum flux between surface ocean and atmosphere, relative to the disequilibrium between ocean and atmosphere, with the effect; (i) a value of 1.0 will allow a surface ocean cell to no more than equilibriate during a time-step (ii) a value of 2.0 will allow the air-sea difference in partial pressure to be reversed (iii) a very large value will place no restrictions on air-sea gas exchange -> The default value is set to 1.75 v.5.06.03.12 *** AJR/06/03/13 The default ratio for the capping of air-sea gas exchang is now set to 1.00 ... v.5.06.03.13 ***