EMPIRE DA  v1.9.1
Data assimilation codes using EMPIRE communication
 All Classes Files Functions Variables Pages
relaxation_profile.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine relaxation_profile (tau, p, zero)
 subroutine to compute the relaxation strength More...
 

Function/Subroutine Documentation

subroutine relaxation_profile ( real(kind=rk), intent(in)  tau,
real(kind=rk), intent(out)  p,
logical, intent(out)  zero 
)

subroutine to compute the relaxation strength

there are currrently 4 different relaxation profiles implemented:

  • 'zero_linear'
  • 'power_law'
  • 'exponential'
  • 'constant'

plus

  • 'user'

Details:

  • 'zero_linear' relaxation strength is zero until relaxation_freetime. relaxation strength grows linearly from 0 at tau=relaxation_freetime until nudgefac at tau=1
  • 'power_law' relaxation strength is zero until relaxation_freetime. relaxation strength = nudgefac * ((tau-relaxation_freetime)/(1-relaxation_freetime))^p
  • 'exponential' relaxation strength is zero until relaxation_freetime. relaxation strength = nudgefac * (exp((tau-relaxation_freetime)/(1-relaxation_freetime))-1)/exp(1)
  • 'constant' relaxation strength is zero until relaxation_freetime. relaxation strength = nudgefac from tau=relaxation_freetime until nudgefac at tau=1
  • 'user' Calls a user defined function to calculate the relaxation strength
Todo:
produce a plot of implemented relaxation profiles
Parameters
[in]tauthe pseudotime between observations. $f 0 1 $f
[out]pthe relaxation strength at time tau
[out]zeroswitch if false is no relaxation

Definition at line 66 of file relaxation_profile.f90.

Here is the call graph for this function:

Here is the caller graph for this function: