= [[PageOutline]] Last edited [[Timestamp]] = '''Author''' : Christian Ethé '''ticket''' : #1775 '''Branch''' : [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r6946_Offline_vvl/NEMOGCM 2015/dev_r6946_Offline_vvl] '''WP2016 Action''' : = Purpose : = Run passive tracers offline with linear free surface = Method : = Compute ssh evolution and vertical scale factors at each time step using dynamical fields previously stored on files = Hypothesis : = * zstar coordinate only * No advective bbl * '''in a first step : no time interpolation ====> at least 5 days-mean fields are needed''' {{{ ssh(n+dt) = ssh(n) + dt * ( div2D(DT) - emp(DT) ) where div2D is the vertically integrated divergence transport and DT is the frequency of dynamical fields }}} = = = Dynamics : = * e3t, e3u, e3v, e3w : vertical scale factor * U, V, W : effective transport ( e1*e2*e3 * u where u is velocity including eiv, mle etc ...) * hdiv * e3t : horizontal divergence * emp * 3D runoffs * Kz * T,S, qsr, mld The time evolution of ssh and scale factor are then computed as : {{{ ssh_a = ssh_n - dt * ( div2D(DT) - emp(DT)/rau0 ) where div2D is the vertically integrated divergence transport and DT is the frequency of dynamical fields e3t_a = e3t_0 * [ 1 + ssh_a / ht_0] }}} To be consistent with dynamics, we apply a leap-frog scheme with asselin time-filter on ssh, when swapping the array {{{ ssh_a = ssh_b - 2 * dt * [ ( div2d(DT) - ( emp(DT) + emp_b(DT) ) / ( 2 * rau0 ) ] ssh_b = ssh_n + atfp * ( ssh_b - 2 * ssh_n + ssh_a ) ssh_n = ssh_a }}} = = = Initial state : = Ideally, the initial state of sea surface height ssh_0 comes from the restart of the last year of the simulation of the dynamics.[[BR]]For example if one uses the dynamics from 1948 to 2009, the initial ssh comes from the restart of year 1947 = Simulations : = * '''Climatological run : '''at each annual loop, restart from the ssh of the ocean restart file * '''Interannual run''' : restart from ssh saved in passive tracers restart file. But when doing repeated cycle, restart from the 1st year of ocean restart file at the beginning of each cycle = Next steps : = * Implement the case of time interpolation of dynamics : {{{ ssh_a = ssh_n + Cste * dt * dt / 2 with Cste = [div2D - emp]_n+1 - [div2D - emp]_n / DT where div2D is the vertically integrated divergence transport and DT is the frequency of dynamical fields }}} * Test the exisiting code in non linear free surface * Check restartability / Reproducibility