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.
Changeset 2944 for branches/2011/dev_r2802_TOP_substepping – NEMO

Ignore:
Timestamp:
2011-10-17T16:54:25+02:00 (13 years ago)
Author:
kpedwards
Message:

fixes to trc.F90 and trcsub.F90

Location:
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trc.F90

    r2910 r2944  
    106106   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  vn_tm       !: j-horizontal velocity average     [m/s] 
    107107   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  wn_tm       !: k-vertical velocity average       [m/s] 
     108   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::  tsn_tm     !: t/s average     [m/s] 
    108109   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  avt_tm      !: vertical viscosity & diffusivity coeff. at  w-point   [m2/s] 
    109    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshn_tm     !: average ssh for the now step [m] 
    110    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshb_hold   !:hold sshb from the beginning of each sub-stepping[m]   
    111    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshu_n_tm   !: average ssh for the now step [m] 
    112    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshu_b_hold !:hold sshb from the beginning of each sub-stepping[m]   
    113    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshv_n_tm   !: average ssh for the now step [m] 
    114    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshv_b_hold !:hold sshb from the beginning of each sub-stepping[m]   
     110# if defined key_zdfddm 
     111   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  avs_tm     !: salinity vertical diffusivity coeff. at w-point   [m/s] 
     112# endif 
    115113#if defined key_ldfslp 
    116114   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  wslpi_tm    !: i-direction slope at u-, w-points 
     
    119117   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  vslp_tm     !: j-direction slope at u-, w-points 
    120118#endif 
    121  
    122    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::  tsn_tm     !: t/s average     [m/s] 
     119   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshn_tm     !: average ssh for the now step [m] 
     120   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshu_n_tm   !: average ssh for the now step [m] 
     121   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshv_n_tm   !: average ssh for the now step [m] 
     122   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshb_hold   !:hold sshb from the beginning of each sub-stepping[m]   
     123   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshu_b_hold !:hold sshb from the beginning of each sub-stepping[m]   
     124   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshv_b_hold !:hold sshb from the beginning of each sub-stepping[m]  
     125 
     126   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  rnf_tm     !: river runoff 
     127   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  h_rnf_tm   !: depth in metres to the bottom of the relevant grid box 
     128   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  hmld_tm    !: mixed layer depth average [m] 
    123129   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  fr_i_tm    !: average ice fraction     [m/s] 
    124    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  hmld_tm    !: mixed layer depth average [m] 
     130   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  emp_tm     !: freshwater budget: volume flux [Kg/m2/s] 
     131   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  emps_tm    !: freshwater budget:concentration/dilution [Kg/m2/s] 
     132   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  emp_b_hold !: hold emp from the beginning of each sub-stepping[m]   
    125133   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  qsr_tm     !: solar radiation average [m] 
    126134   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  wndm_tm    !: 10m wind average [m] 
    127    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  emp_tm     !: freshwater budget: volume flux [Kg/m2/s] 
    128    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  emp_b_hold !: hold emp from the beginning of each sub-stepping[m]   
    129    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  emps_tm    !: freshwater budget:concentration/dilution [Kg/m2/s] 
    130    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  rnf_tm     !: river runoff 
    131    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  h_rnf_tm   !: depth in metres to the bottom of the relevant grid box 
    132    ! 
    133 # if defined key_zdfddm 
    134    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  avs_tm     !: salinity vertical diffusivity coeff. at w-point   [m/s] 
    135 # endif 
    136135   ! 
    137136#if defined key_traldf_c3d 
     
    164163   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshn_temp, sshb_temp, ssha_temp, rnf_temp,h_rnf_temp 
    165164   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshu_n_temp, sshu_b_temp, sshu_a_temp 
    166    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshf_n_temp, sshf_b_temp, sshf_a_temp 
     165   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshf_n_temp 
    167166   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshv_n_temp, sshv_b_temp, sshv_a_temp 
    168167   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  hu_temp, hv_temp, hur_temp, hvr_temp 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcsub.F90

    r2914 r2944  
    8888          wn_tm   (:,:,:)        = wn_tm   (:,:,:)        + wn   (:,:,:)        * fse3w(:,:,:)  
    8989          tsn_tm  (:,:,:,jp_tem) = tsn_tm  (:,:,:,jp_tem) + tsn  (:,:,:,jp_tem) * fse3t(:,:,:)   
    90           tsn_tm  (:,:,:,jp_sal) = tsn_tm  (:,:,:,jp_tem) + tsn  (:,:,:,jp_sal) * fse3t(:,:,:)   
     90          tsn_tm  (:,:,:,jp_sal) = tsn_tm  (:,:,:,jp_sal) + tsn  (:,:,:,jp_sal) * fse3t(:,:,:)   
    9191          avt_tm  (:,:,:)        = avt_tm  (:,:,:)        + avt  (:,:,:)        * fse3w(:,:,:)   
    9292# if defined key_zdfddm 
     
    155155      ELSE                           !  It is time to substep  
    156156         !   1. set temporary arrays to hold physics variables 
     157         un_temp    (:,:,:)      = un    (:,:,:) 
     158         vn_temp    (:,:,:)      = vn    (:,:,:) 
     159         wn_temp    (:,:,:)      = wn    (:,:,:) 
     160         tsn_temp   (:,:,:,:)    = tsn   (:,:,:,:) 
     161         avt_temp   (:,:,:)      = avt   (:,:,:) 
     162# if defined key_zdfddm 
     163         avs_temp(:,:,:)         = avs   (:,:,:) 
     164# endif 
     165#if defined key_ldfslp 
     166         wslpi_temp (:,:,:)      = wslpi (:,:,:) 
     167         wslpj_temp (:,:,:)      = wslpj (:,:,:) 
     168         uslp_temp  (:,:,:)      = uslp  (:,:,:) 
     169         vslp_temp  (:,:,:)      = vslp  (:,:,:) 
     170#endif 
    157171         sshn_temp  (:,:)        = sshn  (:,:) 
    158172         sshu_n_temp(:,:)        = sshu_n(:,:) 
     
    167181         rnf_temp   (:,:)        = rnf   (:,:) 
    168182         h_rnf_temp (:,:)        = h_rnf (:,:) 
    169          rotn_temp  (:,:,:)      = rotn  (:,:,:) 
    170          hdivn_temp (:,:,:)      = hdivn (:,:,:) 
    171          rotb_temp  (:,:,:)      = rotb  (:,:,:) 
    172          hdivb_temp (:,:,:)      = hdivb (:,:,:) 
    173          un_temp    (:,:,:)      = un    (:,:,:) 
    174          vn_temp    (:,:,:)      = vn    (:,:,:) 
    175          wn_temp    (:,:,:)      = wn    (:,:,:) 
    176          tsn_temp   (:,:,:,:)    = tsn   (:,:,:,:) 
    177          avt_temp   (:,:,:)      = avt   (:,:,:) 
    178 # if defined key_zdfddm 
    179          avs_temp(:,:,:)         = avs   (:,:,:) 
    180 # endif 
    181183         hmld_temp  (:,:)        = hmld  (:,:) 
    182          qsr_temp   (:,:)        = qsr   (:,:) 
    183          wndm_temp  (:,:)        = wndm  (:,:) 
     184         fr_i_temp  (:,:)        = fr_i  (:,:) 
    184185         emp_temp   (:,:)        = emp   (:,:) 
    185186         emp_b_temp (:,:)        = emp_b (:,:) 
    186187         emps_temp  (:,:)        = emps  (:,:) 
    187 #if defined key_ldfslp 
    188          wslpi_temp (:,:,:)      = wslpi (:,:,:) 
    189          wslpj_temp (:,:,:)      = wslpj (:,:,:) 
    190          uslp_temp  (:,:,:)      = uslp  (:,:,:) 
    191          vslp_temp  (:,:,:)      = vslp  (:,:,:) 
    192 #endif 
    193          hu_temp    (:,:)        = hu    (:,:) 
    194          hv_temp    (:,:)        = hv    (:,:) 
    195          hur_temp   (:,:)        = hur   (:,:) 
    196          hvr_temp   (:,:)        = hvr   (:,:) 
     188         qsr_temp   (:,:)        = qsr   (:,:) 
     189         wndm_temp  (:,:)        = wndm  (:,:) 
    197190#if defined key_traldf_c3d 
    198191         ahtu_temp  (:,:,:)      = ahtu  (:,:,:) 
     
    236229# endif 
    237230#endif 
     231!  Variables reset in trc_sub_ssh 
     232         rotn_temp  (:,:,:)      = rotn  (:,:,:) 
     233         hdivn_temp (:,:,:)      = hdivn (:,:,:) 
     234         rotb_temp  (:,:,:)      = rotb  (:,:,:) 
     235         hdivb_temp (:,:,:)      = hdivb (:,:,:) 
     236         hu_temp    (:,:)        = hu    (:,:) 
     237         hv_temp    (:,:)        = hv    (:,:) 
     238         hur_temp   (:,:)        = hur   (:,:) 
     239         hvr_temp   (:,:)        = hvr   (:,:) 
    238240         ! 
    239241         DO jk = 1, jpk 
     
    254256 
    255257         ! 2. Create averages and reassign variables 
     258         un_tm    (:,:,:)        = un_tm   (:,:,:)        + un   (:,:,:)        * e3u_temp(:,:,:)  
     259         vn_tm    (:,:,:)        = vn_tm   (:,:,:)        + vn   (:,:,:)        * e3v_temp(:,:,:)  
     260         wn_tm    (:,:,:)        = wn_tm   (:,:,:)        + wn   (:,:,:)        * e3w_temp(:,:,:)  
     261         tsn_tm   (:,:,:,jp_tem) = tsn_tm  (:,:,:,jp_tem) + tsn  (:,:,:,jp_tem) * e3t_temp(:,:,:)   
     262         tsn_tm   (:,:,:,jp_sal) = tsn_tm  (:,:,:,jp_sal) + tsn  (:,:,:,jp_sal) * e3t_temp(:,:,:)   
     263         avt_tm   (:,:,:)        = avt_tm  (:,:,:)        + avt  (:,:,:)        * e3w_temp(:,:,:)   
     264# if defined key_zdfddm 
     265         avs_tm   (:,:,:)        = avs_tm  (:,:,:)        + avs  (:,:,:)        * e3w_temp(:,:,:)   
     266# endif 
     267#if defined key_ldfslp 
     268         wslpi_tm (:,:,:)        = wslpi_tm(:,:,:)        + wslpi(:,:,:)        * e3w_temp(:,:,:)  
     269         wslpj_tm (:,:,:)        = wslpj_tm(:,:,:)        + wslpj(:,:,:)        * e3w_temp(:,:,:)  
     270         uslp_tm  (:,:,:)        = uslp_tm (:,:,:)        + uslp (:,:,:)        * e3u_temp(:,:,:)  
     271         vslp_tm  (:,:,:)        = vslp_tm (:,:,:)        + vslp (:,:,:)        * e3v_temp(:,:,:)  
     272#endif 
    256273         sshn_tm  (:,:)          = sshn_tm    (:,:)       + sshn  (:,:)  
    257274         sshu_n_tm(:,:)          = sshu_n_tm  (:,:)       + sshu_n(:,:)  
     
    275292         h_rnf    (:,:)          = h_rnf_tm   (:,:) * r1_ndttrcp1  
    276293         hmld     (:,:)          = hmld_tm    (:,:) * r1_ndttrcp1  
    277          fr_i     (:,:)          = fr_i_tm    (:,:) * r1_ndttrcp1  
    278294         !  variables that are initialized after averages initialized 
    279295         emp_b    (:,:) = emp_b_hold (:,:) 
     
    283299            emp   (:,:)          = emp_tm     (:,:) * r1_ndttrc  
    284300            emps  (:,:)          = emps_tm    (:,:) * r1_ndttrc  
     301            fr_i  (:,:)          = fr_i_tm    (:,:) * r1_ndttrc 
    285302         ELSE 
    286303            wndm  (:,:)          = wndm_tm    (:,:) * r1_ndttrcp1  
     
    288305            emp   (:,:)          = emp_tm     (:,:) * r1_ndttrcp1  
    289306            emps  (:,:)          = emps_tm    (:,:) * r1_ndttrcp1  
     307            fr_i  (:,:)          = fr_i_tm    (:,:) * r1_ndttrcp1  
    290308         ENDIF 
    291  
    292          un_tm    (:,:,:)        = un_tm   (:,:,:)        + un   (:,:,:)        * e3u_temp(:,:,:)  
    293          vn_tm    (:,:,:)        = vn_tm   (:,:,:)        + vn   (:,:,:)        * e3v_temp(:,:,:)  
    294          wn_tm    (:,:,:)        = wn_tm   (:,:,:)        + wn   (:,:,:)        * e3w_temp(:,:,:)  
    295          tsn_tm   (:,:,:,jp_tem) = tsn_tm  (:,:,:,jp_tem) + tsn  (:,:,:,jp_tem) * e3t_temp(:,:,:)   
    296          tsn_tm   (:,:,:,jp_sal) = tsn_tm  (:,:,:,jp_tem) + tsn  (:,:,:,jp_sal) * e3t_temp(:,:,:)   
    297          avt_tm   (:,:,:)        = avt_tm  (:,:,:)        + avt  (:,:,:)        * e3w_temp(:,:,:)   
    298 # if defined key_zdfddm 
    299          avs_tm   (:,:,:)        = avs_tm  (:,:,:)        + avs  (:,:,:)        * e3w_temp(:,:,:)   
    300 # endif 
    301 #if defined key_ldfslp 
    302          wslpi_tm (:,:,:)        = wslpi_tm(:,:,:)        + wslpi(:,:,:)        * e3w_temp(:,:,:)  
    303          wslpj_tm (:,:,:)        = wslpj_tm(:,:,:)        + wslpj(:,:,:)        * e3w_temp(:,:,:)  
    304          uslp_tm  (:,:,:)        = uslp_tm (:,:,:)        + uslp (:,:,:)        * e3u_temp(:,:,:)  
    305          vslp_tm  (:,:,:)        = vslp_tm (:,:,:)        + vslp (:,:,:)        * e3v_temp(:,:,:)  
    306 #endif 
    307309         ! 
    308310         DO jk = 1, jpk 
     
    411413#endif 
    412414 
     415         CALL lbc_lnk( un    (:,:,:)       , 'U', 1. )  
     416         CALL lbc_lnk( vn    (:,:,:)       , 'V', 1. )  
     417         CALL lbc_lnk( wn    (:,:,:)       , 'V', 1. )  
     418         CALL lbc_lnk( tsn   (:,:,:,jp_tem), 'T', 1. )  
     419         CALL lbc_lnk( tsn   (:,:,:,jp_sal), 'T', 1. )  
     420         CALL lbc_lnk( avt   (:,:,:)       , 'W', 1. )  
     421# if defined key_zdfddm 
     422          CALL lbc_lnk( avs  (:,:,:)       , 'W', 1. )  
     423# endif 
     424#if defined key_ldfslp 
     425         CALL lbc_lnk( uslp  (:,:,:)       , 'U', 1. )  
     426         CALL lbc_lnk( vslp  (:,:,:)       , 'V', 1. )  
     427         CALL lbc_lnk( wslpi (:,:,:)       , 'W', 1. )  
     428         CALL lbc_lnk( wslpj (:,:,:)       , 'W', 1. )  
     429#endif 
    413430         CALL lbc_lnk( sshn  (:,:)         , 'T', 1. )  
    414431         CALL lbc_lnk( sshu_n(:,:)         , 'U', 1. )  
     
    423440         CALL lbc_lnk( rnf   (:,:)         , 'T', 1. )  
    424441         CALL lbc_lnk( h_rnf (:,:)         , 'T', 1. )  
    425          CALL lbc_lnk( rotn  (:,:,:)       , 'F', 1. )  
    426          CALL lbc_lnk( hdivn (:,:,:)       , 'T', 1. )  
    427          CALL lbc_lnk( rotb  (:,:,:)       , 'F', 1. )  
    428          CALL lbc_lnk( hdivb (:,:,:)       , 'T', 1. )  
    429          CALL lbc_lnk( un    (:,:,:)       , 'U', 1. )  
    430          CALL lbc_lnk( vn    (:,:,:)       , 'V', 1. )  
    431          CALL lbc_lnk( wn    (:,:,:)       , 'V', 1. )  
    432          CALL lbc_lnk( tsn   (:,:,:,jp_tem), 'T', 1. )  
    433          CALL lbc_lnk( tsn   (:,:,:,jp_sal), 'T', 1. )  
    434          CALL lbc_lnk( avt   (:,:,:)       , 'W', 1. )  
    435442         CALL lbc_lnk( hmld  (:,:)         , 'T', 1. )  
    436          CALL lbc_lnk( qsr   (:,:)         , 'T', 1. )  
    437          CALL lbc_lnk( wndm  (:,:)         , 'T', 1. )  
     443         CALL lbc_lnk( fr_i  (:,:)         , 'T', 1. )  
    438444         CALL lbc_lnk( emp   (:,:)         , 'T', 1. )  
    439445         CALL lbc_lnk( emp_b (:,:)         , 'T', 1. )  
    440446         CALL lbc_lnk( emps  (:,:)         , 'T', 1. )  
     447         CALL lbc_lnk( qsr   (:,:)         , 'T', 1. )  
     448         CALL lbc_lnk( wndm  (:,:)         , 'T', 1. )  
    441449#if defined key_traldf_c3d 
    442450         CALL lbc_lnk( ahtt  (:,:,:)       , 'T', 1. )  
     
    450458         CALL lbc_lnk( ahtw  (:,:)         , 'W', 1. )  
    451459#endif 
    452 # if defined key_zdfddm 
    453           CALL lbc_lnk( avs  (:,:,:)       , 'W', 1. )  
    454 # endif 
    455460#if defined key_traldf_eiv 
    456461#if defined key_traldf_c3d 
     
    464469#endif 
    465470#endif 
    466 #if defined key_ldfslp 
    467          CALL lbc_lnk( uslp  (:,:,:)       , 'U', 1. )  
    468          CALL lbc_lnk( vslp  (:,:,:)       , 'V', 1. )  
    469          CALL lbc_lnk( wslpi (:,:,:)       , 'W', 1. )  
    470          CALL lbc_lnk( wslpj (:,:,:)       , 'W', 1. )  
    471 #endif 
     471         ! 
     472         CALL trc_sub_ssh( kt )         ! after ssh & vertical velocity 
     473         ! 
     474         CALL lbc_lnk( rotn  (:,:,:)       , 'F', 1. )  
     475         CALL lbc_lnk( hdivn (:,:,:)       , 'T', 1. )  
     476         CALL lbc_lnk( rotb  (:,:,:)       , 'F', 1. )  
     477         CALL lbc_lnk( hdivb (:,:,:)       , 'T', 1. )  
    472478         CALL lbc_lnk( hu    (:,:)         , 'U', 1. )  
    473479         CALL lbc_lnk( hv    (:,:)         , 'V', 1. )  
    474480         CALL lbc_lnk( hur   (:,:)         , 'U', 1. )  
    475481         CALL lbc_lnk( hvr   (:,:)         , 'V', 1. )  
    476          ! 
    477          CALL trc_sub_ssh( kt )         ! after ssh & vertical velocity 
    478          ! 
    479482      ENDIF 
    480483 
     
    517520      vslp_tm (:,:,:)        = vslp (:,:,:)        * fse3v(:,:,:)  
    518521#endif 
    519  
    520       ! Physics variables that are set after initialization: 
    521       emp_tm (:,:) = 0. 
    522       emps_tm(:,:) = 0. 
    523       qsr_tm (:,:) = 0. 
    524       wndm_tm(:,:) = 0. 
    525       ! 
    526522      sshn_tm  (:,:) = sshn  (:,:)  
    527523      sshu_n_tm(:,:) = sshu_n(:,:)  
     
    530526      h_rnf_tm (:,:) = h_rnf (:,:)  
    531527      hmld_tm  (:,:) = hmld  (:,:) 
    532       fr_i_tm  (:,:) = fr_i  (:,:) 
     528 
     529      ! Physics variables that are set after initialization: 
     530      fr_i_tm(:,:) = 0. 
     531      emp_tm (:,:) = 0. 
     532      emps_tm(:,:) = 0. 
     533      qsr_tm (:,:) = 0. 
     534      wndm_tm(:,:) = 0. 
    533535      ! 
    534536#if defined key_traldf_c3d 
     
    590592 
    591593      !   restore physics variables 
    592       avt   (:,:,:)   =  avt_temp   (:,:,:) 
    593594      un    (:,:,:)   =  un_temp    (:,:,:) 
    594595      vn    (:,:,:)   =  vn_temp    (:,:,:) 
    595596      wn    (:,:,:)   =  wn_temp    (:,:,:) 
     597      tsn   (:,:,:,:) =  tsn_temp   (:,:,:,:) 
     598      avt   (:,:,:)   =  avt_temp   (:,:,:) 
     599# if defined key_zdfddm 
     600      avs   (:,:,:)   =  avs_temp   (:,:,:) 
     601# endif 
     602#if defined key_ldfslp 
     603      wslpi (:,:,:)   =  wslpi_temp (:,:,:) 
     604      wslpj (:,:,:)   =  wslpj_temp (:,:,:) 
     605      uslp  (:,:,:)   =  uslp_temp  (:,:,:) 
     606      vslp  (:,:,:)   =  vslp_temp  (:,:,:) 
     607#endif 
    596608      sshn  (:,:)     =  sshn_temp  (:,:) 
    597609      sshb  (:,:)     =  sshb_temp  (:,:) 
     
    604616      sshv_a(:,:)     =  sshv_a_temp(:,:) 
    605617      sshf_n(:,:)     =  sshf_n_temp(:,:) 
    606 #if defined key_ldfslp 
    607       wslpi (:,:,:)   =  wslpi_temp (:,:,:) 
    608       wslpj (:,:,:)   =  wslpj_temp (:,:,:) 
    609       uslp  (:,:,:)   =  uslp_temp  (:,:,:) 
    610       vslp  (:,:,:)   =  vslp_temp  (:,:,:) 
    611 #endif 
    612618      rnf   (:,:)     =  rnf_temp   (:,:) 
    613619      h_rnf (:,:)     =  h_rnf_temp (:,:) 
    614       hdivn (:,:,:)   =  hdivn_temp (:,:,:) 
    615       rotn  (:,:,:)   =  rotn_temp  (:,:,:) 
    616       hdivb (:,:,:)   =  hdivb_temp (:,:,:) 
    617       rotb  (:,:,:)   =  rotb_temp  (:,:,:) 
    618       hu    (:,:)     =  hu_temp    (:,:) 
    619       hv    (:,:)     =  hv_temp    (:,:) 
    620       hur   (:,:)     =  hur_temp   (:,:) 
    621       hvr   (:,:)     =  hvr_temp   (:,:) 
    622       ! 
    623       tsn   (:,:,:,:) =  tsn_temp   (:,:,:,:) 
    624 # if defined key_zdfddm 
    625       avs   (:,:,:)   =  avs_temp   (:,:,:) 
    626 # endif 
     620      ! 
    627621      hmld  (:,:)     =  hmld_temp  (:,:) 
    628       qsr   (:,:)     =  qsr_temp   (:,:) 
    629622      fr_i  (:,:)     =  fr_i_temp  (:,:) 
    630       wndm  (:,:)     =  wndm_temp  (:,:) 
    631623      emp   (:,:)     =  emp_temp   (:,:) 
    632624      emps  (:,:)     =  emps_temp  (:,:) 
    633625      emp_b (:,:)     =  emp_b_temp (:,:) 
     626      qsr   (:,:)     =  qsr_temp   (:,:) 
     627      wndm  (:,:)     =  wndm_temp  (:,:) 
    634628      ! 
    635629#if defined key_traldf_c3d 
     
    674668#endif 
    675669#endif  
     670      hdivn (:,:,:)   =  hdivn_temp (:,:,:) 
     671      rotn  (:,:,:)   =  rotn_temp  (:,:,:) 
     672      hdivb (:,:,:)   =  hdivb_temp (:,:,:) 
     673      rotb  (:,:,:)   =  rotb_temp  (:,:,:) 
     674      hu    (:,:)     =  hu_temp    (:,:) 
     675      hv    (:,:)     =  hv_temp    (:,:) 
     676      hur   (:,:)     =  hur_temp   (:,:) 
     677      hvr   (:,:)     =  hvr_temp   (:,:) 
    676678      !                                       
    677679      DO jk = 1, jpk 
     
    701703 
    702704      ! Start new averages 
    703       DO jk = 1, jpk 
    704          un_tm   (:,:,jk)        = un   (:,:,jk)        * fse3u(:,:,jk)  
    705          vn_tm   (:,:,jk)        = vn   (:,:,jk)        * fse3v(:,:,jk)  
    706          wn_tm   (:,:,jk)        = wn   (:,:,jk)        * fse3w(:,:,jk)  
    707          tsn_tm  (:,:,jk,jp_tem) = tsn  (:,:,jk,jp_tem) * fse3t(:,:,jk 
    708          tsn_tm  (:,:,jk,jp_sal) = tsn  (:,:,jk,jp_sal) * fse3t(:,:,jk 
    709          avt_tm  (:,:,jk)        = avt  (:,:,jk)        * fse3w(:,:,jk 
     705!      DO jk = 1, jpk 
     706         un_tm   (:,:,:)        = un   (:,:,:)        * fse3u(:,:,:)  
     707         vn_tm   (:,:,:)        = vn   (:,:,:)        * fse3v(:,:,:)  
     708         wn_tm   (:,:,:)        = wn   (:,:,:)        * fse3w(:,:,:)  
     709         tsn_tm  (:,:,:,jp_tem) = tsn  (:,:,:,jp_tem) * fse3t(:,:,: 
     710         tsn_tm  (:,:,:,jp_sal) = tsn  (:,:,:,jp_sal) * fse3t(:,:,: 
     711         avt_tm  (:,:,:)        = avt  (:,:,:)        * fse3w(:,:,: 
    710712# if defined key_zdfddm 
    711          avs_tm  (:,:,jk)        = avs  (:,:,jk)        * fse3w(:,:,jk 
     713         avs_tm  (:,:,:)        = avs  (:,:,:)        * fse3w(:,:,: 
    712714# endif 
    713715#if defined key_ldfslp 
    714          wslpi_tm(:,:,jk)        = wslpi(:,:,jk)        * fse3w(:,:,jk)  
    715          wslpj_tm(:,:,jk)        = wslpj(:,:,jk)        * fse3w(:,:,jk)  
    716          uslp_tm (:,:,jk)        = uslp (:,:,jk)        * fse3u(:,:,jk)  
    717          vslp_tm (:,:,jk)        = vslp (:,:,jk)        * fse3v(:,:,jk)  
    718 #endif 
    719       END DO 
    720       ! 
     716         wslpi_tm(:,:,:)        = wslpi(:,:,:)        * fse3w(:,:,:)  
     717         wslpj_tm(:,:,:)        = wslpj(:,:,:)        * fse3w(:,:,:)  
     718         uslp_tm (:,:,:)        = uslp (:,:,:)        * fse3u(:,:,:)  
     719         vslp_tm (:,:,:)        = vslp (:,:,:)        * fse3v(:,:,:)  
     720#endif 
     721!      END DO 
     722      ! 
     723      sshb_hold  (:,:) = sshn  (:,:) 
     724      sshu_b_hold(:,:) = sshu_n(:,:) 
     725      sshv_b_hold(:,:) = sshv_n(:,:) 
     726      emp_b_hold (:,:) = emp   (:,:) 
    721727      sshn_tm    (:,:) = sshn  (:,:)  
    722728      sshu_n_tm  (:,:) = sshu_n(:,:)  
     
    726732      hmld_tm    (:,:) = hmld  (:,:) 
    727733      fr_i_tm    (:,:) = fr_i  (:,:) 
    728       sshb_hold  (:,:) = sshn  (:,:) 
    729       sshu_b_hold(:,:) = sshu_n(:,:) 
    730       sshv_b_hold(:,:) = sshv_n(:,:) 
    731       emp_b_hold (:,:) = emp   (:,:) 
    732734      emp_tm     (:,:) = emp   (:,:) 
    733735      emps_tm    (:,:) = emps  (:,:) 
     
    936938         &      sshu_n_temp(jpi,jpj)        ,  sshu_b_temp(jpi,jpj),     & 
    937939         &      sshv_n_temp(jpi,jpj)        ,  sshv_b_temp(jpi,jpj),     & 
    938          &      sshv_a_temp(jpi,jpj)        ,  sshf_a_temp(jpi,jpj),     & 
    939          &      sshf_n_temp(jpi,jpj)        ,  sshf_b_temp(jpi,jpj),     & 
     940         &      sshv_a_temp(jpi,jpj)        ,  sshf_n_temp(jpi,jpj) ,   & 
    940941         &      e3t_temp(jpi,jpj,jpk)       ,  e3u_temp(jpi,jpj,jpk),    & 
    941942         &      e3v_temp(jpi,jpj,jpk)       ,  e3w_temp(jpi,jpj,jpk),    & 
     
    951952         &      wndm_temp(jpi,jpj)          ,  wndm_tm(jpi,jpj) ,        & 
    952953# if defined key_zdfddm 
    953          &      avt_tm(jpi,jpj,jpk)         ,  avt_temp(jpi,jpj,jpk) ,   & 
     954         &      avs_tm(jpi,jpj,jpk)         ,  avs_temp(jpi,jpj,jpk) ,   & 
    954955# endif 
    955956#if defined key_traldf_c3d 
Note: See TracChangeset for help on using the changeset viewer.