Changes between Version 13 and Version 14 of ticket/0663_MLF


Ignore:
Timestamp:
2010-05-28T21:36:57+02:00 (10 years ago)
Author:
mlelod
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • ticket/0663_MLF

    v13 v14  
    104104   [[BR]] 
    105105 
    106  
    107    '''tranxt.F90 : ''' remove the forcing term from the Asselin filter 
    108  
    109       after the application of the classical Asselin filter, the part applied to the forcing term is removed : 
    110   
    111         at jk=1 :     - atfp * rdt * ( qns_b - qns )     on  temperature   (vvl case)     
    112  
    113         at jk=1 :     - atfp * rdt * ( emps_b - emps )     on  salinity   (vvl case)     
    114  
    115       if lk_vvl=F, the part applied to the concentration dilution term has also to be removed. 
    116  
    117       Solar penetration part :   
    118  
    119       CAUTION 1 : the case where the light penetration is provided by the bio-model ( i.e. lk_qsr_bio = ln_qsr_bio =.true. is not yet treated. It probably requires changes in p4zopt.F90 and trcopt.F90. Not completely obvious since this depends on the TOP time-stepping strategy. 
     106   '''sbc_oce : ''' Declaration of new forcing fields needed for modified forcing and modified filtering 
     107 
     108      Heat content trend due to SBC non solar fluxes (2D) at now and before time steps stored in sbc_trd_hc_n and sbc_trd_hc_b. 
     109 
     110      Heat content trend due to SBC fluxes (2D) at now and before time steps stored in sbc_trd_hc_n and sbc_trd_hc_b. 
     111 
     112      Heat content trends due to penetrative solar radiation (3D) are stored at now and before time steps in qsr_trd_hc_n and qsr_trd_hc_b. 
     113 
     114   '''sbcmod : ''' Swap and restart of these before new forcing fields 
     115 
     116      Add qsr_trd_hc_b, sbc_trd_hc_b and sbc_trd_sc_b in swap and restart read/write. 
     117 
     118   '''trasbc : ''' Changes for modified forcing integration 
     119 
     120      sbc_trd_(h/s)c_n is aded to ta in forward Euler time stepping case 
     121 
     122      0.5 * ( sbc_trd_(h/s)c_b + sbc_trd_(h/s)c_n ) is aded to "ta" in the leap-frog time stepping case 
     123 
     124   '''traqsr : ''' Changes for modified forcing integration 
     125 
     126      The 3D heat content tendency term of penetrative solar flux is stored in "qsr_trd_hc_n" in all cases. To that purpose, the division by fse3t in the computation of etot3 has been removed. It is done in the next step, when heat content tendency is converted to temperature tendency and added to ta. 
     127 
     128      CAUTION : the case where the light penetration is provided by the bio-model ( i.e. lk_qsr_bio = ln_qsr_bio =.true. is not yet treated. It probably requires changes in p4zopt.F90 and trcopt.F90. Not completely obvious since this depends on the TOP time-stepping strategy. 
     129 
     130      Then only qsr_trd_hc_n variable is aded to ta in the forward Euler time stepping case and 0.5 * ( qsr_trd_hc_b + qsr_trd_hc_n ) is added to ta in the leap-frog time stepping case. 
     131 
     132   '''sshwzv : ''' Sea surface elevation time stepping 
     133      comment for the forward Euler time stepping case: "In the forward Euler time stepping case, the same formulation as in the leap-frog case can be used because emp_b field is initialized with the vlaues of emp field. Hence, 0.5 * ( emp + emp_b ) = emp" 
     134 
     135      surface weighted averaging for the computation of sshf_a and sshf_b in vvl case (as for sshu and sshv) 
     136 
     137      filter correction when computing sshb in vvl case: remove atfp * rdt * ( 'volume_forcing_n' - 'volume_forcing_b' ) from volume time filter 
     138 
     139   '''tranxt.F90 : ''' Changes for modified time filtering - only in the variable volume case 
     140 
     141      remove atfp * rdt * ( 'heat_content_forcing_n' - 'heat_content_forcing_b' ) from heat content time filter 
     142 
     143      remove atfp * rdt * ( 'volume_forcing_n'       - 'volume_forcing_b'       ) from volume       time filter 
     144 
    120145   [[BR]] 
    121146 
     
    134159 
    135160'''(3) The semi-implicit hpg'''. 
    136     In tranxt.F90, for the semi-implicit hydrostatic pressure gradient,  the coefficients are changed in order to take into account the Asselin filter parameter 
    137  
    138    time mean T and S for the semi implicit hpg computation was (ta+2*tn + tb) / 4 . It is now replaced by 
    139  
    140    rbcp*ta+(2-rbcp)*tn+rbcp*tb  
    141  
    142    with rbcp=(1+atfp)*(1+atfp*atfp) / 4, and atfp is the Asselin filter parameter. 
     161    In tranxt.F90, for the semi-implicit hydrostatic pressure gradient, the coefficients are changed in order to take into account the Asselin filter parameter 
     162 
     163   time mean T and S for the semi implicit hpg computation was (ta+2*tn+tb) / 4 . It is now replaced by 
     164 
     165   tn+rbcp*(ta-2*tn+tb)  
     166 
     167   with rbcp=(1+atfp)*(1+atfp)*(1-atfp)/4, and atfp is the Asselin filter parameter. 
    143168 
    144169   The change extend further the stability limit of the time stepping scheme when ln_dynhpg_imp = T 
     170 
     171   The semi implicit hpg case is included in the loop (tran_nxt_fix and tra_nxt_vvl). It does not break the loop vectorization. 
     172 
     173   *_m fields contain time laplacian used for both Asselin and Brown & Campana filters (tran_nxt_fix and tra_nxt_vvl) 
     174 
     175   In variable volume case: Apply B & C averaging on heat and salt contents then devide resulting heat and salt contents by B & C averaging on volume 
    145176 
    146177   [[BR]]