UFO
|
Fortran module for gnssro refractivity Met Office's tangent linear and adjoint. More...
Data Types | |
type | ufo_gnssro_refmetoffice_tlad |
Fortran derived type for gnssro trajectory. More... | |
Functions/Subroutines | |
subroutine | ufo_gnssro_refmetoffice_tlad_setup (self, vert_interp_ops, pseudo_ops, min_temp_grad) |
Set up the Met Office GNSS-RO refractivity TL/AD. More... | |
subroutine | ufo_gnssro_refmetoffice_tlad_settraj (self, geovals, obss) |
Set up the K-matrix for (Jacobian) for the Met Office's GNSS-RO refractivity operator. More... | |
subroutine | ufo_gnssro_refmetoffice_simobs_tl (self, geovals, hofx, obss) |
Given an increment to the model state, calculate an increment to the observation. More... | |
subroutine | ufo_gnssro_refmetoffice_simobs_ad (self, geovals, hofx, obss) |
Given an increment to the observation, find the equivalent increment to the model state. More... | |
subroutine | ufo_gnssro_refmetoffice_tlad_delete (self) |
Tidy up the variables that are used for passing information. More... | |
subroutine | jacobian_interface (nlevp, nlevq, za, zb, p, q, pseudo_ops, vert_interp_ops, min_temp_grad, nobs, zobs, Kmat) |
Calculate the K-matrix used in the TL/AD. More... | |
Variables | |
integer, parameter | max_string =800 |
Fortran module for gnssro refractivity Met Office's tangent linear and adjoint.
subroutine ufo_gnssro_refmetoffice_tlad_mod::jacobian_interface | ( | integer, intent(in) | nlevp, |
integer, intent(in) | nlevq, | ||
real(kind_real), dimension(:), intent(in) | za, | ||
real(kind_real), dimension(:), intent(in) | zb, | ||
real(kind_real), dimension(:), intent(in) | p, | ||
real(kind_real), dimension(:), intent(in) | q, | ||
logical, intent(in) | pseudo_ops, | ||
logical, intent(in) | vert_interp_ops, | ||
real(kind_real), intent(in) | min_temp_grad, | ||
integer, intent(in) | nobs, | ||
real(kind_real), dimension(:), intent(in) | zobs, | ||
real(kind_real), dimension(:,:), intent(out) | Kmat | ||
) |
Calculate the K-matrix used in the TL/AD.
jacobian_interface
[in] | nlevp | Number of pressure levels |
[in] | nlevq | Number of specific humidity levels |
[in] | za | Height of the pressure levels |
[in] | zb | Height of the specific humidity levels |
[in] | p | Input pressure |
[in] | q | Input specific humidity |
[in] | vert_interp_ops | Use log(p) for vertical interpolation? |
[in] | pseudo_ops | Use pseudo-levels to reduce errors? |
[in] | min_temp_grad | Minimum value for the vertical temperature gradient |
[in] | nobs | Number of observations |
[in] | zobs | Height of the observations |
[out] | kmat | K-matrix (Jacobian) |
Definition at line 392 of file ufo_gnssro_refmetoffice_tlad_mod.F90.
subroutine ufo_gnssro_refmetoffice_tlad_mod::ufo_gnssro_refmetoffice_simobs_ad | ( | class(ufo_gnssro_refmetoffice_tlad), intent(in) | self, |
type(ufo_geovals), intent(inout) | geovals, | ||
real(kind_real), dimension(:), intent(in) | hofx, | ||
type(c_ptr), intent(in), value | obss | ||
) |
Given an increment to the observation, find the equivalent increment to the model state.
ufo_gnssro_refmetoffice_simobs_ad
[in] | self | Object which is being used to transfer information |
[in,out] | geovals | Calculated perturbations to model state |
[in] | hofx | Increment to the observations |
[in] | obss | Input - the observations |
Definition at line 274 of file ufo_gnssro_refmetoffice_tlad_mod.F90.
subroutine ufo_gnssro_refmetoffice_tlad_mod::ufo_gnssro_refmetoffice_simobs_tl | ( | class(ufo_gnssro_refmetoffice_tlad), intent(in) | self, |
type(ufo_geovals), intent(in) | geovals, | ||
real(kind_real), dimension(:), intent(inout) | hofx, | ||
type(c_ptr), intent(in), value | obss | ||
) |
Given an increment to the model state, calculate an increment to the observation.
ufo_gnssro_refmetoffice_simobs_tl
[in] | self | Object which is being used to transfer information |
[in] | geovals | Model perturbations |
[in,out] | hofx | Increment to the observations |
[in] | obss | Input - the observations |
Definition at line 197 of file ufo_gnssro_refmetoffice_tlad_mod.F90.
subroutine ufo_gnssro_refmetoffice_tlad_mod::ufo_gnssro_refmetoffice_tlad_delete | ( | class(ufo_gnssro_refmetoffice_tlad), intent(inout) | self | ) |
Tidy up the variables that are used for passing information.
ufo_gnssro_refmetoffice_tlad_delete
Definition at line 356 of file ufo_gnssro_refmetoffice_tlad_mod.F90.
subroutine ufo_gnssro_refmetoffice_tlad_mod::ufo_gnssro_refmetoffice_tlad_settraj | ( | class(ufo_gnssro_refmetoffice_tlad), intent(inout) | self, |
type(ufo_geovals), intent(in) | geovals, | ||
type(c_ptr), intent(in), value | obss | ||
) |
Set up the K-matrix for (Jacobian) for the Met Office's GNSS-RO refractivity operator.
ufo_gnssro_refmetoffice_tlad_settraj
[in,out] | self | The object that we use to save data in |
[in] | geovals | The input geovals |
[in] | obss | The input observations |
Definition at line 102 of file ufo_gnssro_refmetoffice_tlad_mod.F90.
subroutine ufo_gnssro_refmetoffice_tlad_mod::ufo_gnssro_refmetoffice_tlad_setup | ( | class(ufo_gnssro_refmetoffice_tlad), intent(inout) | self, |
logical(c_bool), intent(in) | vert_interp_ops, | ||
logical(c_bool), intent(in) | pseudo_ops, | ||
real(c_float), intent(in) | min_temp_grad | ||
) |
Set up the Met Office GNSS-RO refractivity TL/AD.
ufo_gnssro_refmetoffice_tlad_setup
Definition at line 72 of file ufo_gnssro_refmetoffice_tlad_mod.F90.
integer, parameter ufo_gnssro_refmetoffice_tlad_mod::max_string =800 |
Definition at line 36 of file ufo_gnssro_refmetoffice_tlad_mod.F90.