# OceanFlux Greenhouse Gases default climatology configuration file
# created 27/07/2016 Jamie Shutler, j.d.shutler@exeter.ac.uk
# last updated 01/08/2019 Tom Holding, t.m.holding@exeter.ac.uk
#

# Flux calculation options. Valid options are 'bulk', 'rapid' or 'equilibrium'
# 'rapid' and 'equilibrium' are in relation to the flux model as described in
# Woolf et al., 2012.
flux_calc = bulk

# Sea surface temperature to use (valid options are 'yes' or 'no').
# If only one is enabled the other will be derived according to, i.e.:
# 		sstskin = sstfnd - cool_skin_difference
# Default value for cool_skin_difference is 0.17K (Donlon et al., 2002)
sst_gradients = no
cool_skin_difference = 0.0
saline_skin_value = 0.0


# Latitude, longitude and time product names (these are taken from the data layer names in
# axes_data_layer, which must contain the name of datalayer defined below, e.g. 'sstskin').
# Typically 'lat' and 'lon' unless using Takahashi which is 'latitude' and 'longitude'.
axes_data_layer = sstskin
latitude_prod = latitude
longitude_prod = longitude
time_prod = time


#
# pCO2/fCO2 annual extrapolation from a reference year (set pco2_annual_extrapolation = 0.0 to turn off).
#
pco2_reference_year = 2000 #Default is 2010, but doesn't really matter because it's turned off on line below.
pco2_annual_correction = 0.0 #Setting to 0 turns off extrapolation



# Selected gas transfer velocity (k) parameterisation. Options include:
# k_Ho2006, k_Nightingale2000, kt_OceanFluxGHG, k_Wanninkhof1992, k_Wanninkhof2014, 
# k_McGillis2001, k_Ho1997, kd_OceanFluxGHG_backscatter, kd_OceanFluxGHG_wind, 
# kb_OceanFluxGHG, kt_OceanFluxGHG_kd_wind, k_generic
k_parameterisation = k_generic

# Using k_generic (generic polynomial) so specify the coefficients for each
# exponent here:
k_generic_sc = 660.0
k_generic_a0 = 0.0
k_generic_a1 = 0.0
k_generic_a2 = 0.26
k_generic_a3 = 0.0


#
# Output directory for the resultant netcdf files
#
output_dir = verification_output/verification_takahashi09


##############################################################
# Input data layers and their associated data variable names #
##############################################################
# Required input data layers are:
# 		* windu10
#		* sstskin and/or sstfnd
#		* pco2_sw
#		* vco2_air or pco2_air
#
# Additionally ice coveraged is required if using the ghgflux-budgets tool to calculate integrated net flux. 
#
# Issues to note:
#  - All entries are case sensitive
#  - Additional options can be set and will be automatically available in FluxEngine (e.g. for use with custom gas transfer velocity parameterisations)
#
# Filepaths can contain the following tokens to allow different data to be selected for different time steps:
#    <YYYY>  - converted to 4 digit year, e.g. 1999
#    <YY>    - converted to 2 digit year, e.g.   99
#    <MM>	 - converted to two digit month, e.g. 01 for January
#	 <Mmm>	 - converted to three letter month abbreviation, e.g. Jan for January
#    <MMM>	 - uppercase three letter month abbreviation, e.g. JAN
#    <mmm>	 - lowercase three letter month abbreviation, e.g. jan
#	 <DD>	 - two digit decimal representation of the day of the month, e.g. 01 for the 1st day of the month
#	 <DDD>	 - three digit decimal representation of the day of the year, e.g. 123 for 3rd May (124 on a leap year)
#
# In addition to these tokens, filename patterns can be specified using ? and * which
# follow the standard Unix glob behaviour.
#

# Each input data layer requires at least a file path (to the .nc file, set using datalayername_path) and a 'product'
# name (to the variable within the .nc file, set using datalayername_prod) is the name of the data set within the netCDF file. This can be checked using 'ncdump -h <file.nc> | less'
# 'analysed_sst_mean'

# To specify an input data layer you must define a minimum of its filepath (using datalayername_path) and its 'product' name (datalayername_prod).
#The product name is the variable name within the netCDF (.nc) file. E.g.:
# sstskin_path = path/to/data.nc
# sstskin_prod = sst_skin_mean
# 
# Other suffixes can be used.
#   _path		    - Filepath to the netCDF (.nc) file containing this data.
#				      May be relative or absolute and can contain the tokens described above.
#	_prod           - The name of the variable within the netCDF file.
#	_stddev_prod    - Optional. Name of the variable containing standard deviation data.
#	_count_prod	    - Optional. Name of the variable containing count data.
#   _netCDFName     - Optional. Override the name which will be given to the data layer in the
#					- output netCDF file.
#	_minBound	    - Optional. Override the minimum allowed value.
#	_maxBound	    - Optional. Override the maximum allowed value.
#   _preprocessing	- Optional. A list of functions used to transform the data before it is used.
#					- Functions should be seperated by commas and are applied in order.
#					- Functions must be defined in fluxengine/core/data_preprocessing.py
#

# sst skin data inputs
sstskin_path = <FEROOT>/data/verification_data/takahashi09/M2001*<mmm>*.nc
sstskin_prod = SST_t
sstskin_preprocessing = celsius_to_kelvin

# U10 wind data inputs
windu10_path = <FEROOT>/data/verification_data/takahashi09/M2001*<mmm>*.nc
windu10_prod = wind_t

# ice data
ice_path = <FEROOT>/data/verification_data/takahashi09/M2001*<mmm>*.nc
ice_prod = sea_ice_coverage
ice_preprocessing = percent_to_proportion

# modelled air pressure data.
pressure_path = <FEROOT>/data/verification_data/takahashi09/M2001*<mmm>*.nc
pressure_prod = pressure

# Salinity data
salinity_path = <FEROOT>/data/verification_data/takahashi09/M2001*<mmm>*.nc
salinity_prod = salinity


#
# Option to tell FluxEngine to expect Takahashi or SOCAT data to be used for the 'pco2 ='
# definition below. This is needed as the lat grid between the two datasets are different.
# The OceanFluxGHG data netcdf description has lat -90 to +90, whereas the Takahashi data
# are +90 to -90.
# '= taka' for using Takashashi, '= socat' for SOCAT
# if 'taka' option selected then the 1.5 uatm per year increment is not added to the values in the flux calculation
# pCO2 and fCO2 are handled in the same way, so with the SOCAT option you can either use pCO2 or fCO2 data
#
pco2_data_selection = taka

vgas_air_path = <FEROOT>/data/verification_data/takahashi09/M2001*<mmm>*.nc
vgas_air_prod = vCO2_air

pgas_air_path = <FEROOT>/data/verification_data/takahashi09/M2001*<mmm>*.nc
pgas_air_prod = pCO2_air

pgas_sw_path = <FEROOT>/data/verification_data/takahashi09/M2001*<mmm>*.nc
pgas_sw_prod = pCO2_sw

pco2_sst_path = <FEROOT>/data/verification_data/takahashi09/M2001*<mmm>*.nc
pco2_sst_prod = SST_t
