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 4820 for branches/2014 – NEMO

Changeset 4820 for branches/2014


Ignore:
Timestamp:
2014-10-19T11:12:46+02:00 (10 years ago)
Author:
gm
Message:

#1294 : TEOS-10 : correct wrong coefficients on beta following + style corrections

Location:
branches/2014/dev_CNRS1_10_TEOS10_Ediag/NEMOGCM/NEMO
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_CNRS1_10_TEOS10_Ediag/NEMOGCM/NEMO/OPA_SRC/TRA/eosbn2.F90

    r4786 r4820  
    233233                  zn3 = EOS013*zt   & 
    234234                     &   + EOS103*zs+EOS003 
    235                   ! 
     235                     ! 
    236236                  zn2 = (EOS022*zt   & 
    237237                     &   + EOS112*zs+EOS012)*zt   & 
    238238                     &   + (EOS202*zs+EOS102)*zs+EOS002 
    239                   ! 
     239                     ! 
    240240                  zn1 = (((EOS041*zt   & 
    241241                     &   + EOS131*zs+EOS031)*zt   & 
     
    243243                     &   + ((EOS311*zs+EOS211)*zs+EOS111)*zs+EOS011)*zt   & 
    244244                     &   + (((EOS401*zs+EOS301)*zs+EOS201)*zs+EOS101)*zs+EOS001 
    245                   ! 
     245                     ! 
    246246                  zn0 = (((((EOS060*zt   & 
    247247                     &   + EOS150*zs+EOS050)*zt   & 
     
    251251                     &   + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt   & 
    252252                     &   + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 
    253                   ! 
    254                   zn   = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
     253                     ! 
     254                  zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
    255255                  ! 
    256256                  prd(ji,jj,jk) = (  zn * r1_rau0 - 1._wp  ) * ztm  ! density anomaly (masked) 
     
    273273                     &  + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs - rn_mu2*zh ) * zs   & 
    274274                     &  - rn_nu * zt * zs 
    275                   !                                  
     275                     !                                  
    276276                  prd(ji,jj,jk) = zn * r1_rau0 * ztm                ! density anomaly (masked) 
    277277               END DO 
     
    329329                  zn3 = EOS013*zt   & 
    330330                     &   + EOS103*zs+EOS003 
    331                   ! 
     331                     ! 
    332332                  zn2 = (EOS022*zt   & 
    333333                     &   + EOS112*zs+EOS012)*zt   & 
    334334                     &   + (EOS202*zs+EOS102)*zs+EOS002 
    335                   ! 
     335                     ! 
    336336                  zn1 = (((EOS041*zt   & 
    337337                     &   + EOS131*zs+EOS031)*zt   & 
     
    339339                     &   + ((EOS311*zs+EOS211)*zs+EOS111)*zs+EOS011)*zt   & 
    340340                     &   + (((EOS401*zs+EOS301)*zs+EOS201)*zs+EOS101)*zs+EOS001 
    341                   ! 
     341                     ! 
    342342                  zn0 = (((((EOS060*zt   & 
    343343                     &   + EOS150*zs+EOS050)*zt   & 
     
    347347                     &   + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt   & 
    348348                     &   + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 
    349                   ! 
    350                   zn   = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
     349                     ! 
     350                  zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
    351351                  ! 
    352352                  prhop(ji,jj,jk) = zn0 * ztm                           ! potential density referenced at the surface 
     
    426426               zn3 = EOS013*zt   & 
    427427                  &   + EOS103*zs+EOS003 
    428                ! 
     428                  ! 
    429429               zn2 = (EOS022*zt   & 
    430430                  &   + EOS112*zs+EOS012)*zt   & 
    431431                  &   + (EOS202*zs+EOS102)*zs+EOS002 
    432                ! 
     432                  ! 
    433433               zn1 = (((EOS041*zt   & 
    434434                  &   + EOS131*zs+EOS031)*zt   & 
     
    436436                  &   + ((EOS311*zs+EOS211)*zs+EOS111)*zs+EOS011)*zt   & 
    437437                  &   + (((EOS401*zs+EOS301)*zs+EOS201)*zs+EOS101)*zs+EOS001 
    438                ! 
     438                  ! 
    439439               zn0 = (((((EOS060*zt   & 
    440440                  &   + EOS150*zs+EOS050)*zt   & 
     
    444444                  &   + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt   & 
    445445                  &   + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 
    446                ! 
    447                zn   = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
     446                  ! 
     447               zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
    448448               ! 
    449449               prd(ji,jj) = zn * r1_rau0 - 1._wp               ! unmasked in situ density anomaly 
     
    464464                  &  + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs - rn_mu2*zh ) * zs   & 
    465465                  &  - rn_nu * zt * zs 
    466                ! 
     466                  ! 
    467467               prd(ji,jj) = zn * r1_rau0               ! unmasked in situ density anomaly 
    468468               ! 
     
    515515                  zn3 = ALP003 
    516516                  ! 
    517                   zn2 = (ALP012)*zt   & 
    518                      &   + ALP102*zs+ALP002 
    519                   ! 
    520                   zn1 = (((ALP031)*zt   & 
     517                  zn2 = ALP012*zt + ALP102*zs+ALP002 
     518                  ! 
     519                  zn1 = ((ALP031*zt   & 
    521520                     &   + ALP121*zs+ALP021)*zt   & 
    522521                     &   + (ALP211*zs+ALP111)*zs+ALP011)*zt   & 
    523522                     &   + ((ALP301*zs+ALP201)*zs+ALP101)*zs+ALP001 
    524                   ! 
    525                   zn0 = (((((ALP050)*zt   & 
     523                     ! 
     524                  zn0 = ((((ALP050*zt   & 
    526525                     &   + ALP140*zs+ALP040)*zt   & 
    527526                     &   + (ALP230*zs+ALP130)*zs+ALP030)*zt   & 
     
    529528                     &   + (((ALP410*zs+ALP310)*zs+ALP210)*zs+ALP110)*zs+ALP010)*zt   & 
    530529                     &   + ((((ALP500*zs+ALP400)*zs+ALP300)*zs+ALP200)*zs+ALP100)*zs+ALP000 
    531                   ! 
    532                   zn   = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
     530                     ! 
     531                  zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
    533532                  ! 
    534533                  pab(ji,jj,jk,jp_tem) = zn * r1_rau0 * ztm 
     
    537536                  zn3 = BET003 
    538537                  ! 
    539                   zn2 = (BET012)*zt   & 
    540                      &   + BET102*zs+BET002 
    541                   ! 
    542                   zn1 = (((BET031)*zt   & 
     538                  zn2 = BET012*zt + BET102*zs+BET002 
     539                  ! 
     540                  zn1 = ((BET031*zt   & 
    543541                     &   + BET121*zs+BET021)*zt   & 
    544542                     &   + (BET211*zs+BET111)*zs+BET011)*zt   & 
    545543                     &   + ((BET301*zs+BET201)*zs+BET101)*zs+BET001 
    546                   ! 
    547                   zn0 = (((((BET050)*zt   & 
     544                     ! 
     545                  zn0 = ((((BET050*zt   & 
    548546                     &   + BET140*zs+BET040)*zt   & 
    549547                     &   + (BET230*zs+BET130)*zs+BET030)*zt   & 
     
    551549                     &   + (((BET410*zs+BET310)*zs+BET210)*zs+BET110)*zs+BET010)*zt   & 
    552550                     &   + ((((BET500*zs+BET400)*zs+BET300)*zs+BET200)*zs+BET100)*zs+BET000 
    553                   ! 
    554                   zn   = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
     551                     ! 
     552                  zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
    555553                  ! 
    556554                  pab(ji,jj,jk,jp_sal) = zn / zs * r1_rau0 * ztm 
     
    627625               zn3 = ALP003 
    628626               ! 
    629                zn2 = (ALP012)*zt   & 
    630                   &   + ALP102*zs+ALP002 
    631                ! 
    632                zn1 = (((ALP031)*zt   & 
     627               zn2 = ALP012*zt + ALP102*zs+ALP002 
     628               ! 
     629               zn1 = ((ALP031*zt   & 
    633630                  &   + ALP121*zs+ALP021)*zt   & 
    634631                  &   + (ALP211*zs+ALP111)*zs+ALP011)*zt   & 
    635632                  &   + ((ALP301*zs+ALP201)*zs+ALP101)*zs+ALP001 
    636                ! 
    637                zn0 = (((((ALP050)*zt   & 
     633                  ! 
     634               zn0 = ((((ALP050*zt   & 
    638635                  &   + ALP140*zs+ALP040)*zt   & 
    639636                  &   + (ALP230*zs+ALP130)*zs+ALP030)*zt   & 
     
    641638                  &   + (((ALP410*zs+ALP310)*zs+ALP210)*zs+ALP110)*zs+ALP010)*zt   & 
    642639                  &   + ((((ALP500*zs+ALP400)*zs+ALP300)*zs+ALP200)*zs+ALP100)*zs+ALP000 
    643                ! 
    644                zn   = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
     640                  ! 
     641               zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
    645642               ! 
    646643               pab(ji,jj,jp_tem) = zn * r1_rau0 
     
    649646               zn3 = BET003 
    650647               ! 
    651                zn2 = (BET012)*zt   & 
    652                   &   + BET102*zs+BET002 
    653                ! 
    654                zn1 = (((BET031)*zt   & 
     648               zn2 = BET012*zt + BET102*zs+BET002 
     649               ! 
     650               zn1 = ((BET031*zt   & 
    655651                  &   + BET121*zs+BET021)*zt   & 
    656652                  &   + (BET211*zs+BET111)*zs+BET011)*zt   & 
    657653                  &   + ((BET301*zs+BET201)*zs+BET101)*zs+BET001 
    658                ! 
    659                zn0 = (((((BET050)*zt   & 
     654                  ! 
     655               zn0 = ((((BET050*zt   & 
    660656                  &   + BET140*zs+BET040)*zt   & 
    661657                  &   + (BET230*zs+BET130)*zs+BET030)*zt   & 
     
    663659                  &   + (((BET410*zs+BET310)*zs+BET210)*zs+BET110)*zs+BET010)*zt   & 
    664660                  &   + ((((BET500*zs+BET400)*zs+BET300)*zs+BET200)*zs+BET100)*zs+BET000 
    665                ! 
    666                zn   = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
     661                  ! 
     662               zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 
    667663               ! 
    668664               pab(ji,jj,jp_sal) = zn / zs * r1_rau0 
     
    731727               zrw =   ( fsdepw(ji,jj,jk  ) - fsdept(ji,jj,jk) )   & 
    732728                  &  / ( fsdept(ji,jj,jk-1) - fsdept(ji,jj,jk) )  
    733                ! 
     729                  ! 
    734730               zaw = pab(ji,jj,jk,jp_tem) * (1. - zrw) + pab(ji,jj,jk-1,jp_tem) * zrw  
    735731               zbw = pab(ji,jj,jk,jp_sal) * (1. - zrw) + pab(ji,jj,jk-1,jp_sal) * zrw 
     
    775771      ! 
    776772      zdeltaS = 5._wp 
    777       z1_S0   = 35._wp/35.16504_wp/40._wp 
     773      z1_S0   = 0.875_wp/35.16504_wp 
    778774      z1_T0   = 1._wp/40._wp 
    779775      ! 
    780776      DO jj = 1, jpj 
    781           DO ji = 1, jpi 
    782               ! 
    783               zt  = ctmp   (ji,jj) * z1_T0 
    784               zs  = SQRT( ABS( psal(ji,jj) + zdeltaS ) * r1_S0 ) 
    785               ztm = tmask(ji,jj,1) 
    786               ! 
    787               zn = ((((-2.1385727895e-01_wp*zt   & 
    788                  &   - 2.7674419971e-01_wp*zs+1.0728094330_wp)*zt   & 
    789                  &   + (2.6366564313_wp*zs+3.3546960647_wp)*zs-7.8012209473_wp)*zt   & 
    790                  &   + ((1.8835586562_wp*zs+7.3949191679_wp)*zs-3.3937395875_wp)*zs-5.6414948432_wp)*zt   & 
    791                  &   + (((3.5737370589_wp*zs-1.5512427389e+01_wp)*zs+2.4625741105e+01_wp)*zs   & 
    792                  &      +1.9912291000e+01_wp)*zs-3.2191146312e+01_wp)*zt   & 
    793                  &   + ((((5.7153204649e-01_wp*zs-3.0943149543_wp)*zs+9.3052495181_wp)*zs   & 
    794                  &      -9.4528934807_wp)*zs+3.1066408996_wp)*zs-4.3504021262e-01_wp 
    795               ! 
    796               zd = (2.0035003456_wp*zt   & 
    797                  &   -3.4570358592e-01_wp*zs+5.6471810638_wp)*zt   & 
    798                  &   + (1.5393993508_wp*zs-6.9394762624_wp)*zs+1.2750522650e+01_wp 
    799               ! 
    800               ptmp(ji,jj) = ( zt / z1_T0 + zn / zd ) * ztm 
    801               ! 
    802           END DO 
     777         DO ji = 1, jpi 
     778            ! 
     779            zt  = ctmp   (ji,jj) * z1_T0 
     780            zs  = SQRT( ABS( psal(ji,jj) + zdeltaS ) * r1_S0 ) 
     781            ztm = tmask(ji,jj,1) 
     782            ! 
     783            zn = ((((-2.1385727895e-01_wp*zt   & 
     784               &   - 2.7674419971e-01_wp*zs+1.0728094330_wp)*zt   & 
     785               &   + (2.6366564313_wp*zs+3.3546960647_wp)*zs-7.8012209473_wp)*zt   & 
     786               &   + ((1.8835586562_wp*zs+7.3949191679_wp)*zs-3.3937395875_wp)*zs-5.6414948432_wp)*zt   & 
     787               &   + (((3.5737370589_wp*zs-1.5512427389e+01_wp)*zs+2.4625741105e+01_wp)*zs   & 
     788               &      +1.9912291000e+01_wp)*zs-3.2191146312e+01_wp)*zt   & 
     789               &   + ((((5.7153204649e-01_wp*zs-3.0943149543_wp)*zs+9.3052495181_wp)*zs   & 
     790               &      -9.4528934807_wp)*zs+3.1066408996_wp)*zs-4.3504021262e-01_wp 
     791               ! 
     792            zd = (2.0035003456_wp*zt   & 
     793               &   -3.4570358592e-01_wp*zs+5.6471810638_wp)*zt   & 
     794               &   + (1.5393993508_wp*zs-6.9394762624_wp)*zs+1.2750522650e+01_wp 
     795               ! 
     796            ptmp(ji,jj) = ( zt / z1_T0 + zn / zd ) * ztm 
     797               ! 
     798         END DO 
    803799      END DO 
    804800      ! 
     
    822818      REAL(wp), DIMENSION(jpi,jpj), INTENT(in   )           ::   psal   ! salinity   [psu] 
    823819      REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ), OPTIONAL ::   pdep   ! depth      [m] 
    824       ! Leave result array automatic rather than making explicitly allocated 
    825       REAL(wp), DIMENSION(jpi,jpj) ::   ptf   ! freezing temperature [Celcius] 
    826       ! 
    827       INTEGER  ::   ji, jj               ! dummy loop indices 
    828       REAL(wp) ::   zt , zsr             ! local scalars 
     820      REAL(wp), DIMENSION(jpi,jpj)                          ::   ptf   ! freezing temperature [Celcius] 
     821      ! 
     822      INTEGER  ::   ji, jj   ! dummy loop indices 
     823      REAL(wp) ::   zt, zs   ! local scalars 
    829824      !!---------------------------------------------------------------------- 
    830825      ! 
     
    835830         DO jj = 1, jpj 
    836831            DO ji = 1, jpi 
    837                zsr= SQRT( ABS( psal(ji,jj) ) ) * 0.1_wp   ! square root salinity x 0.1 
    838                ptf(ji,jj) = 0.017947064327968_wp & 
    839                     &    + zsr*zsr*(-6.07609909992982_wp + zsr*(4.883198653547851_wp & 
    840                     &    + zsr*(-11.8808160123054_wp + zsr*(13.34658511480257_wp & 
    841                     &    + zsr*(-8.722761043208607_wp + 2.082038908808201_wp*zsr))))) 
     832               zs= SQRT( ABS( psal(ji,jj) ) * r1_S0 )           ! square root salinity 
     833               ptf(ji,jj) = ((((1.46873e-03_wp*zs-9.64972e-03_wp)*zs+2.28348e-02_wp)*zs & 
     834                  &          - 3.12775e-02_wp)*zs+2.07679e-02_wp)*zs-5.87701e-02_wp 
    842835            END DO 
    843836         END DO 
    844          ! 
    845          IF( PRESENT( pdep ) )   ptf(:,:) = ptf(:,:) - 7.69e-4 * pdep(:,:) 
     837         ptf(:,:) = ptf(:,:) * psal(:,:) 
     838         ! 
     839         IF( PRESENT( pdep ) )   ptf(:,:) = ptf(:,:) - 7.53e-4 * pdep(:,:) 
    846840         ! 
    847841      CASE ( 0 )                     !==  PT,SP (UNESCO formulation)  ==! 
     
    849843         ptf(:,:) = ( - 0.0575_wp + 1.710523e-3_wp * SQRT( psal(:,:) )   & 
    850844            &                     - 2.154996e-4_wp *       psal(:,:)   ) * psal(:,:) 
    851          ! 
     845            ! 
    852846         IF( PRESENT( pdep ) )   ptf(:,:) = ptf(:,:) - 7.53e-4 * pdep(:,:) 
    853847         ! 
     
    909903                  zn2 = (PEN012)*zt   & 
    910904                     &   + PEN102*zs+PEN002 
    911                   ! 
     905                     ! 
    912906                  zn1 = ((PEN021)*zt   & 
    913907                     &   + PEN111*zs+PEN011)*zt   & 
    914908                     &   + (PEN201*zs+PEN101)*zs+PEN001 
    915                   ! 
     909                     ! 
    916910                  zn0 = ((((PEN040)*zt   & 
    917911                     &   + PEN130*zs+PEN030)*zt   & 
     
    919913                     &   + ((PEN310*zs+PEN210)*zs+PEN110)*zs+PEN010)*zt   & 
    920914                     &   + (((PEN400*zs+PEN300)*zs+PEN200)*zs+PEN100)*zs+PEN000 
    921                   ! 
    922                   zn   = ( zn2 * zh + zn1 ) * zh + zn0 
     915                     ! 
     916                  zn  = ( zn2 * zh + zn1 ) * zh + zn0 
    923917                  ! 
    924918                  ppen(ji,jj,jk)  = zn * zh * r1_rau0 * ztm 
     
    929923                  zn1 = (APE011)*zt   & 
    930924                     &   + APE101*zs+APE001 
    931                   ! 
     925                     ! 
    932926                  zn0 = (((APE030)*zt   & 
    933927                     &   + APE120*zs+APE020)*zt   & 
    934928                     &   + (APE210*zs+APE110)*zs+APE010)*zt   & 
    935929                     &   + ((APE300*zs+APE200)*zs+APE100)*zs+APE000 
    936                   ! 
    937                   zn   = ( zn2 * zh + zn1 ) * zh + zn0 
     930                     ! 
     931                  zn  = ( zn2 * zh + zn1 ) * zh + zn0 
    938932                  !                               
    939933                  pab_pe(ji,jj,jk,jp_tem) = zn * zh * r1_rau0 * ztm 
     
    944938                  zn1 = (BPE011)*zt   & 
    945939                     &   + BPE101*zs+BPE001 
    946                   ! 
     940                     ! 
    947941                  zn0 = (((BPE030)*zt   & 
    948942                     &   + BPE120*zs+BPE020)*zt   & 
    949943                     &   + (BPE210*zs+BPE110)*zs+BPE010)*zt   & 
    950944                     &   + ((BPE300*zs+BPE200)*zs+BPE100)*zs+BPE000 
    951                   ! 
    952                   zn   = ( zn2 * zh + zn1 ) * zh + zn0 
     945                     ! 
     946                  zn  = ( zn2 * zh + zn1 ) * zh + zn0 
    953947                  !                               
    954948                  pab_pe(ji,jj,jk,jp_sal) = zn / zs * zh * r1_rau0 * ztm 
     
    10131007      WRITE( numond, nameos ) 
    10141008      ! 
    1015       rau0        = 1026._wp                  !: volumic mass of reference     [kg/m3] 
     1009      rau0        = 1026._wp                 !: volumic mass of reference     [kg/m3] 
    10161010      rcp         = 3991.86795711963_wp      !: heat capacity     [J/K] 
    10171011      ! 
     
    10351029         ! 
    10361030         rdeltaS = 32._wp 
    1037          r1_S0  = 35._wp/35.16504_wp/40._wp 
     1031         r1_S0  = 0.875_wp/35.16504_wp 
    10381032         r1_T0  = 1._wp/40._wp 
    10391033         r1_Z0  = 1.e-4_wp 
     
    11281122         ALP003 = -9.4924551138e-03_wp 
    11291123         ! 
    1130          ALP000 = -6.5025362670e-01_wp 
    1131          ALP100 = 1.6320471316_wp 
    1132          ALP200 = -2.0442606277_wp 
    1133          ALP300 = 1.4222011580_wp 
    1134          ALP400 = -4.4204535284e-01_wp 
    1135          ALP500 = 4.7983755487e-02_wp 
    1136          ALP010 = 1.8537085209_wp 
    1137          ALP110 = -3.0774129064_wp 
    1138          ALP210 = 3.0181275751_wp 
    1139          ALP310 = -1.4565010626_wp 
    1140          ALP410 = 2.7361846370e-01_wp 
    1141          ALP020 = -1.6246342147_wp 
    1142          ALP120 = 2.5086831352_wp 
    1143          ALP220 = -1.4787808849_wp 
    1144          ALP320 = 2.3807209899e-01_wp 
    1145          ALP030 = 8.3627885467e-01_wp 
    1146          ALP130 = -1.1311538584_wp 
    1147          ALP230 = 5.3563304045e-01_wp 
    1148          ALP040 = -6.7560904739e-02_wp 
    1149          ALP140 = -6.0212475204e-02_wp 
    1150          ALP050 = 2.8625353333e-02_wp 
    1151          ALP001 = 3.3340752782e-01_wp 
    1152          ALP101 = 1.1217528644e-01_wp 
    1153          ALP201 = -1.2510649515e-01_wp 
    1154          ALP301 = 1.6349760916e-02_wp 
    1155          ALP011 = -3.3540239802e-01_wp 
    1156          ALP111 = -1.7531540640e-01_wp 
    1157          ALP211 = 9.3976864981e-02_wp 
    1158          ALP021 = 1.8487252150e-01_wp 
    1159          ALP121 = 4.1307825959e-02_wp 
    1160          ALP031 = -5.5927935970e-02_wp 
    1161          ALP002 = -5.1410778748e-02_wp 
    1162          ALP102 = 5.3278413794e-03_wp 
    1163          ALP012 = 6.2099915132e-02_wp 
    1164          ALP003 = -9.4924551138e-03_wp 
     1124         BET000 = 1.0783203594e+01_wp 
     1125         BET100 = -4.4452095908e+01_wp 
     1126         BET200 = 7.6048755820e+01_wp 
     1127         BET300 = -6.3944280668e+01_wp 
     1128         BET400 = 2.6890441098e+01_wp 
     1129         BET500 = -4.5221697773_wp 
     1130         BET010 = -8.1219372432e-01_wp 
     1131         BET110 = 2.0346663041_wp 
     1132         BET210 = -2.1232895170_wp 
     1133         BET310 = 8.7994140485e-01_wp 
     1134         BET410 = -1.1939638360e-01_wp 
     1135         BET020 = 7.6574242289e-01_wp 
     1136         BET120 = -1.5019813020_wp 
     1137         BET220 = 1.0872489522_wp 
     1138         BET320 = -2.7233429080e-01_wp 
     1139         BET030 = -4.1615152308e-01_wp 
     1140         BET130 = 4.9061350869e-01_wp 
     1141         BET230 = -1.1847737788e-01_wp 
     1142         BET040 = 1.4073062708e-01_wp 
     1143         BET140 = -1.3327978879e-01_wp 
     1144         BET050 = 5.9929880134e-03_wp 
     1145         BET001 = -5.2937873009e-01_wp 
     1146         BET101 = 1.2634116779_wp 
     1147         BET201 = -1.1547328025_wp 
     1148         BET301 = 3.2870876279e-01_wp 
     1149         BET011 = -5.5824407214e-02_wp 
     1150         BET111 = 1.2451933313e-01_wp 
     1151         BET211 = -2.4409539932e-02_wp 
     1152         BET021 = 4.3623149752e-02_wp 
     1153         BET121 = -4.6767901790e-02_wp 
     1154         BET031 = -6.8523260060e-03_wp 
     1155         BET002 = -6.1618945251e-02_wp 
     1156         BET102 = 6.2255521644e-02_wp 
     1157         BET012 = -2.6514181169e-03_wp 
     1158         BET003 = -2.3025968587e-04_wp 
    11651159         ! 
    11661160         PEN000 = -9.8409626043_wp 
  • branches/2014/dev_CNRS1_10_TEOS10_Ediag/NEMOGCM/NEMO/OPA_SRC/TRD/trdtra.F90

    r4804 r4820  
    1919   USE zdf_oce        ! ocean vertical physics 
    2020   USE trd_oce        ! trends: ocean variables 
    21    USE trdtrc     ! ocean passive mixed layer tracers trends  
     21   USE trdtrc         ! ocean passive mixed layer tracers trends  
    2222   USE trdglo         ! trends: global domain averaged 
    2323   USE trdpen         ! trends: Potential ENergy 
  • branches/2014/dev_CNRS1_10_TEOS10_Ediag/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90

    r4619 r4820  
    8080      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    8181      INTEGER  ::   iikn, iiki   ! local integer 
    82       REAL(wp) ::   zmult        ! local scalar 
     82      REAL(wp) ::   zN2_c        ! local scalar 
    8383      INTEGER, POINTER, DIMENSION(:,:) ::   imld   ! 2D workspace 
    8484      !!---------------------------------------------------------------------- 
     
    9797 
    9898      ! w-level of the mixing and mixed layers 
    99       nmln     (:,:)  = nlb10                ! Initialization to the number of w ocean point 
    100       hmlp     (:,:)  = 0._wp                ! used as a dummy variable, integrating vertically N2 
    101       zmult = rho_c * r1_rau0 * grav 
     99      nmln(:,:)  = nlb10               ! Initialization to the number of w ocean point 
     100      hmlp(:,:)  = 0._wp               ! here hmlp used as a dummy variable, integrating vertically N^2 
     101      zN2_c = grav * rho_c * r1_rau0   ! convert density criteria into N^2 criteria 
    102102      DO jk = nlb10, jpkm1 
    103          DO jj = 1, jpj 
     103         DO jj = 1, jpj                ! Mixed layer level: w-level  
    104104            DO ji = 1, jpi 
    105                hmlp(ji,jj) = hmlp(ji,jj) + rn2b(ji,jj,jk) * fse3w(ji,jj,jk) 
    106                IF( hmlp(ji,jj) < zmult )   nmln(ji,jj) = jk + 1    ! Mixed layer 
     105               hmlp(ji,jj) = hmlp(ji,jj) + MAX( rn2b(ji,jj,jk) , 0._wp ) * fse3w(ji,jj,jk) 
     106               IF( hmlp(ji,jj) < zN2_c )   nmln(ji,jj) = MIN( jk , mbkt(ji,jj) ) + 1   ! Mixed layer level 
    107107            END DO 
    108108         END DO 
    109109      END DO 
    110110      ! 
    111       DO jj = 1, jpj                      ! bottom k-index of u- (v-) level 
    112          DO ji = 1, jpi 
    113             nmln(ji,jj) = MIN(  nmln(ji,jj) , mbkt(ji,jj) + 1  ) 
    114          END DO 
    115       END DO 
    116       !! end fabien 
    117111      ! w-level of the turbocline 
    118112      imld(:,:) = mbkt(:,:) + 1        ! Initialization to the number of w ocean point 
    119       DO jk = jpkm1, nlb10, -1         ! from the bottom to nlb10 
     113      DO jk = jpkm1, nlb10, -1         ! from the bottom to nlb10  
    120114         DO jj = 1, jpj 
    121115            DO ji = 1, jpi 
    122                IF( avt (ji,jj,jk) < avt_c                     )   imld(ji,jj) = jk      ! Turbocline  
     116               IF( avt (ji,jj,jk) < avt_c )   imld(ji,jj) = jk      ! Turbocline  
    123117            END DO 
    124118         END DO 
  • branches/2014/dev_CNRS1_10_TEOS10_Ediag/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90

    r4804 r4820  
    1111   !!   'key_pisces'                                       PISCES bio-model 
    1212   !!---------------------------------------------------------------------- 
    13    !!   p4zsms        :  Time loop of passive tracers sms 
     13   !!   p4zsms         :  Time loop of passive tracers sms 
    1414   !!---------------------------------------------------------------------- 
    1515   USE oce_trc         !  shared variables between ocean and passive tracers 
     
    2525   USE p4zint          !  time interpolation 
    2626   USE iom             !  I/O manager 
    27    USE trd_oce      !  Ocean trends variables 
    28    USE trdtrc      !  TOP trends variables 
     27   USE trd_oce         !  Ocean trends variables 
     28   USE trdtrc          !  TOP trends variables 
    2929   USE sedmodel        !  Sediment model 
    3030   USE prtctl_trc      !  print control for debugging 
     
    3333   PRIVATE 
    3434 
    35    PUBLIC   p4z_sms_init    ! called in p4zsms.F90 
    36    PUBLIC   p4z_sms    ! called in p4zsms.F90 
     35   PUBLIC   p4z_sms_init   ! called in p4zsms.F90 
     36   PUBLIC   p4z_sms        ! called in p4zsms.F90 
    3737 
    3838   REAL(wp) :: alkbudget, no3budget, silbudget, ferbudget 
Note: See TracChangeset for help on using the changeset viewer.