Details on the jacobian calculations

Satellite Application Facility for Numerical Weather Prediction Forums RTTOV RTTOV v14 Details on the jacobian calculations

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #51680
    Félix SchmittFélix Schmitt
    Participant

    Hello,

    I have a question about how Jacobians are computed with the K solver. More specifically, I wondered how the values of input profile perturbations are defined for each level, as they are not part of the input parameters of the rttov_call_k routine. What makes me confuse is that this routine takes radiance (or BT) perturbations as input instead. How are these radiance perturbations used in the routine, how do they take part in the computation of radiance derivatives ?
    While I actively searched for a clue in the documentation and the source code, I couldn’t find the answer.

    Thank you in advance for your help !
    Regards,
    Félix

    #51682
    James HockingJames Hocking
    Keymaster

    Hi Félix,

    Section 7.9 of the RTTOV v14 user guide gives information on the K model.

    In the Fortran code, the input to the K model is usually a value of 1 in either the bt, refl, or total radiance_k member. Which member depends on your setting of the adk_bt and adk_refl options which determine whether Jacobians are in terms of brightness temperature, reflectance, or radiance.

    The output of the K model are the partial derivatives of radiance (or BT or refl as above) with respect to each active input variable (T in each level, q in each level, Tskin, etc). These represent the sensitivity of the output radiances to the input variables in the linearised model.

    If you provide a value other than 1 in the K inputs, then the Jacobians are scaled by that factor.

    I think you are using the wrapper, in which case the K model inputs are automatically set to one and you cannot change them. The units of the Jacobians are determined by the ADKBT and ADKRefl options as above. This is noted in section 3.10 of the wrapper user guide.

    The Jacobian outputs themselves are computed through adjoint coding of the forward model.

    I hope that is clear, but let me know if not.

    Best wishes,
    James

    #51683
    Félix SchmittFélix Schmitt
    Participant

    Hi James,

    First of all, thank you very much for answering.

    If you provide a value other than 1 in the K inputs, then the Jacobians are scaled by that factor.

    This answers a part of my questioning. If I understand well, this input value of 1 (in radiance or BT as I work with thermal channels) is used only to scale the Jacobians after their computations.

    Now, considering the Jacobian outputs in the K model, you mention that they are computed through adjoint coding of the forward model. Does it mean that Jacobians are actually computed with the AD solver ?

    Regards,
    Félix

    #51684
    James HockingJames Hocking
    Keymaster

    Hi Félix,

    It is not an explicit scaling applied after the Jacobian calculations. The value of 1 is the input into the K calculations. If you change the value, the effect is to scale the outputs by that value, but not through some explicit multiplication. The tangent linear (TL) is the linearised version of the direct model. The AD/K models are the adjoint of the TL. Because they are linearised, scaling the inputs by a given factor results in the outputs being scaled by the same factor.

    RTTOV has separate adjoint and Jacobian (K) models. However they are very similar in practice. The adjoint model output for each profile is the sum of the Jacobians for all channels simulated for that profile. Therefore if you were to run the adjoint for a single channel for a given profile, then the output would be the Jacobian for that channel.

    Best wishes,
    James

    #51689
    Félix SchmittFélix Schmitt
    Participant

    Thank you James, that is very clear to me now. These information will be very useful to me for my future work.

    Best wishes,
    Félix

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.