New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
WorkingGroups/TAM/ReferenceManual/directmodel (diff) – NEMO

Changes between Version 2 and Version 3 of WorkingGroups/TAM/ReferenceManual/directmodel


Ignore:
Timestamp:
2010-02-19T11:30:54+01:00 (14 years ago)
Author:
vigilant
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WorkingGroups/TAM/ReferenceManual/directmodel

    v2 v3  
    1414 
    1515== 1 - Non-Linear Trajectory == 
    16 To evaluate the tangent and/or the adjoint at a time t, some actual parameters of the direct model are needed at the corresponding time t. To fulfill this purpose a subroutine, ''asm_trj_wri''  is added to write the trajectory. It is controlled with two logical parameters: ''lk_asminc'' and ''ln_trjwri''. The trajectory is saved with a certain saving frequency and only both logical parameter are set to TRUE. 
     16To evaluate the tangent and/or the adjoint at a time t, some actual parameters of the direct model are needed at the corresponding time t. To fulfill this purpose a subroutine, ''tamtrj_wri''  is added to write the trajectory. It is controlled with one logical parameter: ''ln_trjwri''. The trajectory is saved upon a given frequency "nittrjfrq" only if the logical parameter is set to TRUE. 
    1717 
    18 === Subroutine: asm_trj_wri === 
    19 A new subdirectory is created into /OPA/ named '''ASM'''. The file is '''asmtrj.F90'''. 
    20 The purpose of this routine is to write to file the model state trajectory for use with 4DVar. It is called in ''opa_model'' routine to save the initial state needed for the TAM and at the end of the ''stp'' routine. 
     18=== Subroutine: tam_trj_wri === 
     19A new subdirectory is created into /OPA/ named '''TAM'''. The file is '''tamtrj.F90'''. 
     20The purpose of this routine is to write to file the model state trajectory for use with 4DVar. It is called in ''opa_model'' routine to initialize tamtrj routine TAM and at in the ''stp'' routine.  
    2121 
    2222Currently the following parameters are saved: 
     
    4545||hmlp || key_tradmp || 
    4646 
    47 ''note: is it worth to add why (and where) there will be a need of these variables later in TAM?'' 
     47==== Specific management of the initial state ==== 
     48For the initial state of the model, we call the tam_trj_wri in 'step' routine just before the tracer block. We,then, have access to some parameters (tke and sbc for instance) as they are not yet computed in opa (outside 'step'). 
    4849 
    49 ==== Specific management of the initial state ==== 
    50 For the initial state of the model, some parameters need to be computed in ''asmtrj'' as they are not yet computed in opa. 
    51  
    52 ''note: we still have zero value in emp/emps parameters. It needs to be solved quickly.''   
    5350 
    5451==== Linear Interpollation ==== 
    55 For efficiency matters, the whole trajectory is of course not saved. Only a predefined steptime frequency is saved. The frequency ''nittrjfreq'' is controlled by namelist. The intermediate steptime will be estimated in TAM by linear interpollation. 
     52For efficiency matters, the whole trajectory is of course not saved. Only a predefined steptime frequency is saved. The frequency ''nittrjfrq'' is controlled by namelist. The intermediate steptime will be estimated in TAM by linear interpollation. 
    5653 
    5754==== Namelist ==== 
    58 Parameters related to the model state saving is controlled by the namelist '''nam_asminc''' with: 
     55Parameters related to the model state saving is controlled by the namelist '''namtam''' with: 
    5956 
    6057 * ln_trjwri: Logical switch for writing out state trajectory 
    61  * nittrjfrq: frequency of the trajectory used in 4D-VAR 
     58 * nittrjfrq: saving frequency of the trajectory 
    6259 
    6360== 2 - Routine modification == 
    6461 
    6562 * '''opa.F90''':  
    66    * include output trajectory fields (USE asmtrj and CALL asm_trj_wri) 
     63   * include initilialization of trajectory saving handling (USE tamtrj) 
    6764 * '''step.F90''': 
    68    * include output trajectory fields (CALL asm_trj_wri) 
    69    * add temporary variables to save ta/sa (used as workspace in standard) 
     65   * include calls for trajectory saving (CALL tam_trj_wri) 
     66   * add temporary variables (zta, zsa) to save ta/sa (used as workspace in dynamic block) 
    7067 
    7168== 3 - Declaration Changes ==