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 1640 – NEMO

Changeset 1640


Ignore:
Timestamp:
2009-10-07T15:37:08+02:00 (15 years ago)
Author:
cetlod
Message:

update vertical scales factor definition according to changeset:1565

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OFF_SRC/DOM/domzgr_substitute.h90

    r1156 r1640  
    55   !!      factors depending on the vertical coord. used, using CPP macro. 
    66   !!---------------------------------------------------------------------- 
     7   !! History :  1.0  !  2005-10  (A. Beckmann, G. Madec) generalisation to all coord. 
     8   !!            3.1  !  2009-02  (G. Madec, M. Leclair)  pure z* coordinate 
    79   !!---------------------------------------------------------------------- 
    8    !!  OPA 9.0 , LOCEAN-IPSL (2005)  
     10#if defined key_zco 
     11! reference for pure z-coordinate (1D - no i,j and time dependency) 
     12#   define  fsdept_0(i,j,k)  gdept_0(k) 
     13#   define  fsdepw_0(i,j,k)  gdepw_0(k) 
     14#   define  fsde3w_0(i,j,k)  gdepw_0(k) 
     15#   define  fse3t_0(i,j,k)   e3t_0(k) 
     16#   define  fse3u_0(i,j,k)   e3t_0(k) 
     17#   define  fse3v_0(i,j,k)   e3t_0(k) 
     18#   define  fse3f_0(i,j,k)   e3t_0(k) 
     19#   define  fse3w_0(i,j,k)   e3w_0(k) 
     20#   define  fse3uw_0(i,j,k)  e3w_0(k) 
     21#   define  fse3vw_0(i,j,k)  e3w_0(k) 
     22#else 
     23! reference for s- or zps-coordinate (3D no time dependency) 
     24#   define  fsdept_0(i,j,k)  gdept(i,j,k) 
     25#   define  fsdepw_0(i,j,k)  gdepw(i,j,k) 
     26#   define  fsde3w_0(i,j,k)  gdep3w(i,j,k) 
     27#   define  fse3t_0(i,j,k)   e3t(i,j,k) 
     28#   define  fse3u_0(i,j,k)   e3u(i,j,k) 
     29#   define  fse3v_0(i,j,k)   e3v(i,j,k) 
     30#   define  fse3f_0(i,j,k)   e3f(i,j,k) 
     31#   define  fse3w_0(i,j,k)   e3w(i,j,k) 
     32#   define  fse3uw_0(i,j,k)  e3uw(i,j,k) 
     33#   define  fse3vw_0(i,j,k)  e3vw(i,j,k) 
     34#endif 
     35#if defined key_vvl 
     36! s* or z*-coordinate (3D + time dependency) + use of additional now arrays (..._1) 
     37#   define  fsdept(i,j,k)  gdept_1(i,j,k) 
     38#   define  fsdepw(i,j,k)  gdepw_1(i,j,k) 
     39#   define  fsde3w(i,j,k)  gdep3w_1(i,j,k) 
     40#   define  fse3t(i,j,k)   e3t_1(i,j,k) 
     41#   define  fse3u(i,j,k)   e3u_1(i,j,k) 
     42#   define  fse3v(i,j,k)   e3v_1(i,j,k) 
     43#   define  fse3f(i,j,k)   e3f_1(i,j,k) 
     44#   define  fse3w(i,j,k)   e3w_1(i,j,k) 
     45#   define  fse3uw(i,j,k)  e3uw_1(i,j,k) 
     46#   define  fse3vw(i,j,k)  e3vw_1(i,j,k) 
     47 
     48#   define  fsdept_b(i,j,k)  (fsdept_0(i,j,k)*(1.+sshb(i,j)*mut(i,j,k))) 
     49#   define  fsdepw_b(i,j,k)  (fsdepw_0(i,j,k)*(1.+sshb(i,j)*mut(i,j,k))) 
     50#   define  fsde3w_b(i,j,k)  (fsde3w_0(i,j,k)*(1.+sshb(i,j)*mut(i,j,k))-sshb(i,j)) 
     51#   define  fse3t_b(i,j,k)   (fse3t_0(i,j,k)*(1.+sshb(i,j)*mut(i,j,k))) 
     52#   define  fse3u_b(i,j,k)   (fse3u_0(i,j,k)*(1.+sshu_b(i,j)*muu(i,j,k))) 
     53#   define  fse3v_b(i,j,k)   (fse3v_0(i,j,k)*(1.+sshv_b(i,j)*muv(i,j,k))) 
     54#   define  fse3f_b(i,j,k)   (fse3f_0(i,j,k)*(1.+sshf_b(i,j)*muf(i,j,k))) 
     55#   define  fse3w_b(i,j,k)   (fse3w_0(i,j,k)*(1.+sshb(i,j)*mut(i,j,k))) 
     56#   define  fse3uw_b(i,j,k)  (fse3uw_0(i,j,k)*(1.+sshu_b(i,j)*muu(i,j,k))) 
     57#   define  fse3vw_b(i,j,k)  (fse3vw_0(i,j,k)*(1.+sshv_b(i,j)*muv(i,j,k))) 
     58 
     59#   define  fsdept_n(i,j,k)  (fsdept_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k))) 
     60#   define  fsdepw_n(i,j,k)  (fsdepw_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k))) 
     61#   define  fsde3w_n(i,j,k)  (fsde3w_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k))-sshn(i,j)) 
     62#   define  fse3t_n(i,j,k)   (fse3t_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k))) 
     63#   define  fse3u_n(i,j,k)   (fse3u_0(i,j,k)*(1.+sshu_n(i,j)*muu(i,j,k))) 
     64#   define  fse3v_n(i,j,k)   (fse3v_0(i,j,k)*(1.+sshv_n(i,j)*muv(i,j,k))) 
     65#   define  fse3f_n(i,j,k)   (fse3f_0(i,j,k)*(1.+sshf_n(i,j)*muf(i,j,k))) 
     66#   define  fse3w_n(i,j,k)   (fse3w_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k))) 
     67#   define  fse3uw_n(i,j,k)  (fse3uw_0(i,j,k)*(1.+sshu_n(i,j)*muu(i,j,k))) 
     68#   define  fse3vw_n(i,j,k)  (fse3vw_0(i,j,k)*(1.+sshv_n(i,j)*muv(i,j,k))) 
     69 
     70#   define  fse3t_m(i,j,k)   (fse3t_0(i,j,k)*(1.+ssh_m(i,j)*mut(i,j,k))) 
     71 
     72#   define  fsdept_a(i,j,k)  (fsdept_0(i,j,k)*(1.+ssha(i,j)*mut(i,j,k))) 
     73#   define  fsdepw_a(i,j,k)  (fsdepw_0(i,j,k)*(1.+ssha(i,j)*mut(i,j,k))) 
     74#   define  fsde3w_a(i,j,k)  (fsde3w_0(i,j,k)*(1.+ssha(i,j)*mut(i,j,k))-ssha(i,j)) 
     75#   define  fse3t_a(i,j,k)   (fse3t_0(i,j,k)*(1.+ssha(i,j)*mut(i,j,k))) 
     76#   define  fse3u_a(i,j,k)   (fse3u_0(i,j,k)*(1.+sshu_a(i,j)*muu(i,j,k))) 
     77#   define  fse3v_a(i,j,k)   (fse3v_0(i,j,k)*(1.+sshv_a(i,j)*muv(i,j,k))) 
     78#   define  fse3f_a(i,j,k)   (fse3f_0(i,j,k)*(1.+sshf_a(i,j)*muf(i,j,k))) 
     79#   define  fse3w_a(i,j,k)   (fse3w_0(i,j,k)*(1.+ssha(i,j)*mut(i,j,k))) 
     80#   define  fse3uw_a(i,j,k)  (fse3uw_0(i,j,k)*(1.+sshu_a(i,j)*muu(i,j,k))) 
     81#   define  fse3vw_a(i,j,k)  (fse3vw_0(i,j,k)*(1.+sshv_a(i,j)*muv(i,j,k))) 
     82 
     83#else 
     84! z- or s-coordinate (1D or 3D + no time dependency) use reference in all cases 
     85#   define  fsdept(i,j,k)  fsdept_0(i,j,k) 
     86#   define  fsdepw(i,j,k)  fsdepw_0(i,j,k) 
     87#   define  fsde3w(i,j,k)  fsde3w_0(i,j,k) 
     88#   define  fse3t(i,j,k)   fse3t_0(i,j,k) 
     89#   define  fse3u(i,j,k)   fse3u_0(i,j,k) 
     90#   define  fse3v(i,j,k)   fse3v_0(i,j,k) 
     91#   define  fse3f(i,j,k)   fse3f_0(i,j,k) 
     92#   define  fse3w(i,j,k)   fse3w_0(i,j,k) 
     93#   define  fse3uw(i,j,k)  fse3uw_0(i,j,k) 
     94#   define  fse3vw(i,j,k)  fse3vw_0(i,j,k) 
     95 
     96#   define  fsdept_b(i,j,k)  fsdept_0(i,j,k) 
     97#   define  fsdepw_b(i,j,k)  fsdepw_0(i,j,k) 
     98#   define  fsde3w_b(i,j,k)  fsde3w_0(i,j,k) 
     99#   define  fse3t_b(i,j,k)   fse3t_0(i,j,k) 
     100#   define  fse3u_b(i,j,k)   fse3u_0(i,j,k) 
     101#   define  fse3v_b(i,j,k)   fse3v_0(i,j,k) 
     102#   define  fse3f_b(i,j,k)   fse3f_0(i,j,k) 
     103#   define  fse3w_b(i,j,k)   fse3w_0(i,j,k) 
     104#   define  fse3uw_b(i,j,k)  fse3uw_0(i,j,k) 
     105#   define  fse3vw_b(i,j,k)  fse3vw_0(i,j,k) 
     106 
     107#   define  fsdept_n(i,j,k)  fsdept_0(i,j,k) 
     108#   define  fsdepw_n(i,j,k)  fsdepw_0(i,j,k) 
     109#   define  fsde3w_n(i,j,k)  fsde3w_0(i,j,k) 
     110#   define  fse3t_n(i,j,k)   fse3t_0(i,j,k) 
     111#   define  fse3u_n(i,j,k)   fse3u_0(i,j,k) 
     112#   define  fse3v_n(i,j,k)   fse3v_0(i,j,k) 
     113#   define  fse3f_n(i,j,k)   fse3f_0(i,j,k) 
     114#   define  fse3w_n(i,j,k)   fse3w_0(i,j,k) 
     115#   define  fse3uw_n(i,j,k)  fse3uw_0(i,j,k) 
     116#   define  fse3vw_n(i,j,k)  fse3vw_0(i,j,k) 
     117 
     118#   define  fse3t_m(i,j,k)   fse3t_0(i,j,k) 
     119 
     120#   define  fsdept_a(i,j,k)  fsdept_0(i,j,k) 
     121#   define  fsdepw_a(i,j,k)  fsdepw_0(i,j,k) 
     122#   define  fsde3w_a(i,j,k)  fsde3w_0(i,j,k) 
     123#   define  fse3t_a(i,j,k)   fse3t_0(i,j,k) 
     124#   define  fse3u_a(i,j,k)   fse3u_0(i,j,k) 
     125#   define  fse3v_a(i,j,k)   fse3v_0(i,j,k) 
     126#   define  fse3f_a(i,j,k)   fse3f_0(i,j,k) 
     127#   define  fse3w_a(i,j,k)   fse3w_0(i,j,k) 
     128#   define  fse3uw_a(i,j,k)  fse3uw_0(i,j,k) 
     129#   define  fse3vw_a(i,j,k)  fse3vw_0(i,j,k) 
     130#endif 
     131   !!---------------------------------------------------------------------- 
     132   !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009)  
    9133   !! $Id$ 
    10    !! History : 
    11    !!   9.0  !  05-10  (A. Beckmann, G. Madec) generalisation to all coord. 
    12134   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    13135   !!---------------------------------------------------------------------- 
    14 #if defined key_zco 
    15 #   define  fsdept(i,j,k)  gdept_0(k) 
    16  
    17 #   define  fsdepw(i,j,k)  gdepw_0(k) 
    18 #   define  fsde3w(i,j,k)  gdepw_0(k) 
    19  
    20 #   define  fse3t(i,j,k)   e3t_0(k) 
    21 #   define  fse3u(i,j,k)   e3t_0(k) 
    22 #   define  fse3v(i,j,k)   e3t_0(k) 
    23 #   define  fse3f(i,j,k)   e3t_0(k) 
    24  
    25 #   define  fse3w(i,j,k)   e3w_0(k) 
    26 #   define  fse3uw(i,j,k)  e3w_0(k) 
    27 #   define  fse3vw(i,j,k)  e3w_0(k) 
    28 #else 
    29 #   define  fsdept(i,j,k)  gdept(i,j,k) 
    30  
    31 #   define  fsdepw(i,j,k)  gdepw(i,j,k) 
    32 #   define  fsde3w(i,j,k)  gdep3w(i,j,k) 
    33   
    34 #   define  fse3t(i,j,k)   e3t(i,j,k) 
    35 #   define  fse3u(i,j,k)   e3u(i,j,k) 
    36 #   define  fse3v(i,j,k)   e3v(i,j,k) 
    37 #   define  fse3f(i,j,k)   e3f(i,j,k) 
    38  
    39 #   define  fse3w(i,j,k)   e3w(i,j,k) 
    40 #   define  fse3uw(i,j,k)  e3uw(i,j,k) 
    41 #   define  fse3vw(i,j,k)  e3vw(i,j,k) 
    42 #endif 
Note: See TracChangeset for help on using the changeset viewer.