GENIE:Fakeatmos

FAKE ATMOSPHERE: Summary
The fake atmosphere module allows Goldstein to be run with flux, restoring or mixed boundary conditions. Its core module file is fake_atmosphere.f90 and it consists of two subroutines, initialise_fakeatmos and fakeatmos.

In subroutine initialise_fakeatmos the surface variables are read in from a file called fname_climate (filename provided in namelist). These variables are the meridional and zonal surface wind stresses, a heat and freshwater flux field, and a sea surface temperature and salinity field for restoring to. Note that the freshwater field should be in units of m/s and is then converted in the module to mm/s to be consistent with input to goldstein. The heat flux is passed in the variable conduct flux and the freshwater flux in the variable waterflux. Many of the other variables are dummy variables that are only kept for compatibility to the structure of Genie. Details of the variables are provided in the comments in fake_atmosphere.f90.

In subroutine fakeatmos the heat and freshwater fluxes that are associated with restoring boundary conditions are calculated. They follow the formula

conductflux = relaxt * (sst_model - sst_observed)

waterflux = relaxs * (sss_model - sss_observed)

where relaxt/s are the relaxation constants provided in the namelist for temperature and salinity restoring. The sss and sst refer to sea surface temperature and salinity respectively.

FAKE ATMOSPHERE: How to do a run
1) check out code as usual with svn co, e.g.,

svn co http://source.ggy.bris.ac.uk/subversion/genie/trunk --username agatha-de-boer genietrunk

2) edit user.mak to reflect your compiler etc.

3) Customize genie-main/configs/genie_na_go_ni.config (no atmosphere, goldstein ocean, no ice) or make your own config file and check genie_na_go_ni.config for essential namelist parameters. you will need to set the correct flag combinations and the fake_atmos parameters that you would like to change from the defautls

The flags should be

ma_flag_fakeatmos=.TRUE. ma_flag_goldsteinocean=.TRUE. ma_flag_ebatmos=.FALSE. ma_flag_goldsteinseaice=.FALSE. ma_flag_igcmatmos=.FALSE. ma_flag_fixedocean=.FALSE. ma_flag_fixedseaice=.FALSE. ma_flag_fixedicesheet=.FALSE. ma_flag_fixedchem=.FALSE.

The namelist parameters for the fake atmosphere module are

a) The boundary condition file name

fk_fname_climate=/esdata/env/e099/genie/genie-fakeatmos/data/input/bcond2d_embm_kevin.nc

b) The flags for choosing between restoring and flux boundary condition. True for restoring.

fk_trest_flag=.true. fk_srest_flag=.true.

c) The relaxation constants

fk_relaxt=120 fk_relaxs=1.5e-7

relaxt of 120 W/(m2K) corresponds (for mixed layer h of 80m) to restoring time = rho*Cp*h/relaxt = 1e3 * 4000 * 80/ 130 = 31 days

relaxs of 1.5e-7 m/(s PSU) corresponds (for mixed layer h of 80m) to restoring time = h/(S * relaxs) = 80/(35 * 1.5e-7) = 176 days

d) The goldstein ocean grid. The boundary condition file should also adhere to the same resolution.

fk_nx=36 fk_ny=36

4) Create your netcdf boundary condition file as needed. You only need to update the variables that you will use. For instance, if you are using mixed boundary condition (i.e., restoring to temperature but forcing with freshwater fluxes) then you do not need to worry about the heat flux field or the sea surface salinity. These will not be used.

5) Then you're good to go: ./genie_example.job -f ./configs/genie_na_go_ni.config > standardout