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 12511 for NEMO/branches/2020/r12377_ticket2386/tests/CANAL – NEMO

Ignore:
Timestamp:
2020-03-05T12:21:05+01:00 (4 years ago)
Author:
andmirek
Message:

ticket #2386: update trunk@12493 to have AGRIF sette working

Location:
NEMO/branches/2020/r12377_ticket2386
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/r12377_ticket2386

    • Property svn:externals
      •  

        old new  
        33^/utils/build/mk@HEAD         mk 
        44^/utils/tools@HEAD            tools 
        5 ^/vendors/AGRIF/dev_r11615_ENHANCE-04_namelists_as_internalfiles_agrif@HEAD      ext/AGRIF 
         5^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
         8 
         9# SETTE 
         10^/utils/CI/sette@HEAD         sette 
  • NEMO/branches/2020/r12377_ticket2386/tests/CANAL/EXPREF/namelist_cfg

    r12377 r12511  
    5959!----------------------------------------------------------------------- 
    6060   ln_linssh   =  .false.  !  =T  linear free surface  ==>>  model level are fixed in time 
    61    rn_rdt      =   1440.   !  time step for the dynamics (and tracer if nn_acc=0) 
     61   rn_Dt      =   1440.   !  time step for the dynamics (and tracer if nn_acc=0) 
    6262   rn_atfp     =   0.05    !  asselin time filter parameter 
    6363/ 
     
    208208      ln_bt_av      = .true.     ! Time filtering of barotropic variables 
    209209         nn_bt_flt     = 1          ! Time filter choice  = 0 None 
    210          !                          !                     = 1 Boxcar over   nn_baro sub-steps 
    211          !                          !                     = 2 Boxcar over 2*nn_baro  "    " 
     210         !                          !                     = 1 Boxcar over   nn_e sub-steps 
     211         !                          !                     = 2 Boxcar over 2*nn_e  "    " 
    212212      ln_bt_auto    = .false.    ! Number of sub-step defined from: 
    213          nn_baro      =  24         ! =F : the number of sub-step in rn_rdt seconds 
     213         nn_e      =  24         ! =F : the number of sub-step in rn_Dt seconds 
    214214/ 
    215215!----------------------------------------------------------------------- 
  • NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/diawri.F90

    r12377 r12511  
    169169 
    170170      IF ( iom_use("taubot") ) THEN                ! bottom stress 
    171          zztmp = rau0 * 0.25 
     171         zztmp = rho0 * 0.25 
    172172         z2d(:,:) = 0._wp 
    173173         DO jj = 2, jpjm1 
     
    212212      IF( iom_use('w_masstr') .OR. iom_use('w_masstr2') ) THEN   ! vertical mass transport & its square value 
    213213         ! Caution: in the VVL case, it only correponds to the baroclinic mass transport. 
    214          z2d(:,:) = rau0 * e1e2t(:,:) 
     214         z2d(:,:) = rho0 * e1e2t(:,:) 
    215215         DO jk = 1, jpk 
    216216            z3d(:,:,jk) = ww(:,:,jk) * z2d(:,:) 
     
    272272            END DO 
    273273         END DO 
    274          CALL iom_put( "heatc", rau0_rcp * z2d )   ! vertically integrated heat content (J/m2) 
     274         CALL iom_put( "heatc", rho0_rcp * z2d )   ! vertically integrated heat content (J/m2) 
    275275      ENDIF 
    276276 
     
    284284            END DO 
    285285         END DO 
    286          CALL iom_put( "saltc", rau0 * z2d )          ! vertically integrated salt content (PSU*kg/m2) 
     286         CALL iom_put( "saltc", rho0 * z2d )          ! vertically integrated salt content (PSU*kg/m2) 
    287287      ENDIF 
    288288      ! 
     
    296296            END DO 
    297297         END DO 
    298          CALL iom_put( "salt2c", rau0 * z2d )          ! vertically integrated salt content (PSU*kg/m2) 
     298         CALL iom_put( "salt2c", rho0 * z2d )          ! vertically integrated salt content (PSU*kg/m2) 
    299299      ENDIF 
    300300      ! 
     
    395395         z2d(:,:) = 0.e0 
    396396         DO jk = 1, jpkm1 
    397             z3d(:,:,jk) = rau0 * uu(:,:,jk,Kmm) * e2u(:,:) * e3u(:,:,jk,Kmm) * umask(:,:,jk) 
     397            z3d(:,:,jk) = rho0 * uu(:,:,jk,Kmm) * e2u(:,:) * e3u(:,:,jk,Kmm) * umask(:,:,jk) 
    398398            z2d(:,:) = z2d(:,:) + z3d(:,:,jk) 
    399399         END DO 
     
    432432         z3d(:,:,jpk) = 0.e0 
    433433         DO jk = 1, jpkm1 
    434             z3d(:,:,jk) = rau0 * vv(:,:,jk,Kmm) * e1v(:,:) * e3v(:,:,jk,Kmm) * vmask(:,:,jk) 
     434            z3d(:,:,jk) = rho0 * vv(:,:,jk,Kmm) * e1v(:,:) * e3v(:,:,jk,Kmm) * vmask(:,:,jk) 
    435435         END DO 
    436436         CALL iom_put( "v_masstr", z3d )              ! mass transport in j-direction 
     
    473473         END DO 
    474474         CALL lbc_lnk( 'diawri', z2d, 'T', -1. ) 
    475          CALL iom_put( "tosmint", rau0 * z2d )        ! Vertical integral of temperature 
     475         CALL iom_put( "tosmint", rho0 * z2d )        ! Vertical integral of temperature 
    476476      ENDIF 
    477477      IF( iom_use("somint") ) THEN 
     
    485485         END DO 
    486486         CALL lbc_lnk( 'diawri', z2d, 'T', -1. ) 
    487          CALL iom_put( "somint", rau0 * z2d )         ! Vertical integral of salinity 
     487         CALL iom_put( "somint", rho0 * z2d )         ! Vertical integral of salinity 
    488488      ENDIF 
    489489 
     
    563563      clop = "x"         ! no use of the mask value (require less cpu time and otherwise the model crashes) 
    564564#if defined key_diainstant 
    565       zsto = nn_write * rdt 
     565      zsto = nn_write * rn_Dt 
    566566      clop = "inst("//TRIM(clop)//")" 
    567567#else 
    568       zsto=rdt 
     568      zsto=rn_Dt 
    569569      clop = "ave("//TRIM(clop)//")" 
    570570#endif 
    571       zout = nn_write * rdt 
    572       zmax = ( nitend - nit000 + 1 ) * rdt 
     571      zout = nn_write * rn_Dt 
     572      zmax = ( nitend - nit000 + 1 ) * rn_Dt 
    573573 
    574574      ! Define indices of the horizontal output zoom and vertical limit storage 
     
    590590 
    591591         ! Compute julian date from starting date of the run 
    592          CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian ) 
     592         CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian ) 
    593593         zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment 
    594594         IF(lwp)WRITE(numout,*) 
     
    612612         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit 
    613613            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    614             &          nit000-1, zjulian, rdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 
     614            &          nit000-1, zjulian, rn_Dt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 
    615615         CALL histvert( nid_T, "deptht", "Vertical T levels",      &  ! Vertical grid: gdept 
    616616            &           "m", ipk, gdept_1d, nz_T, "down" ) 
     
    648648         CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu,           &  ! Horizontal grid: glamu and gphiu 
    649649            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    650             &          nit000-1, zjulian, rdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 
     650            &          nit000-1, zjulian, rn_Dt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 
    651651         CALL histvert( nid_U, "depthu", "Vertical U levels",      &  ! Vertical grid: gdept 
    652652            &           "m", ipk, gdept_1d, nz_U, "down" ) 
     
    661661         CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv,           &  ! Horizontal grid: glamv and gphiv 
    662662            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    663             &          nit000-1, zjulian, rdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 
     663            &          nit000-1, zjulian, rn_Dt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 
    664664         CALL histvert( nid_V, "depthv", "Vertical V levels",      &  ! Vertical grid : gdept 
    665665            &          "m", ipk, gdept_1d, nz_V, "down" ) 
     
    674674         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit 
    675675            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    676             &          nit000-1, zjulian, rdt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set ) 
     676            &          nit000-1, zjulian, rn_Dt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set ) 
    677677         CALL histvert( nid_W, "depthw", "Vertical W levels",      &  ! Vertical grid: gdepw 
    678678            &          "m", ipk, gdepw_1d, nz_W, "down" ) 
  • NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/domvvl.F90

    r12377 r12511  
    209209         IF( ln_vvl_ztilde_as_zstar ) THEN   ! z-star emulation using z-tile 
    210210            frq_rst_e3t(:,:) = 0._wp               !Ignore namelist settings 
    211             frq_rst_hdv(:,:) = 1._wp / rdt 
     211            frq_rst_hdv(:,:) = 1._wp / rn_Dt 
    212212         ENDIF 
    213213         IF ( ln_vvl_zstar_at_eqtor ) THEN   ! use z-star in vicinity of the Equator 
     
    222222                     ! values inside the equatorial band (ztilde as zstar) 
    223223                     frq_rst_e3t(ji,jj) =  0.0_wp 
    224                      frq_rst_hdv(ji,jj) =  1.0_wp / rdt 
     224                     frq_rst_hdv(ji,jj) =  1.0_wp / rn_Dt 
    225225                  ELSE                                      ! transition band (2.5 to 6 degrees N/S) 
    226226                     !                                      ! (linearly transition from z-tilde to z-star) 
     
    228228                        &            * (  1.0_wp - COS( rad*(ABS(gphit(ji,jj))-2.5_wp)  & 
    229229                        &                                          * 180._wp / 3.5_wp ) ) 
    230                      frq_rst_hdv(ji,jj) = (1.0_wp / rdt)                                & 
    231                         &            + (  frq_rst_hdv(ji,jj)-(1.e0_wp / rdt) )*0.5_wp   & 
     230                     frq_rst_hdv(ji,jj) = (1.0_wp / rn_Dt)                                & 
     231                        &            + (  frq_rst_hdv(ji,jj)-(1.e0_wp / rn_Dt) )*0.5_wp   & 
    232232                        &            * (  1._wp  - COS( rad*(ABS(gphit(ji,jj))-2.5_wp)  & 
    233233                        &                                          * 180._wp / 3.5_wp ) ) 
     
    240240                  ij0 = 128   ;   ij1 = 135   ;    
    241241                  frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  0.0_wp 
    242                   frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  1.e0_wp / rdt 
     242                  frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  1.e0_wp / rn_Dt 
    243243               ENDIF 
    244244            ENDIF 
     
    295295      INTEGER                ::   ji, jj, jk            ! dummy loop indices 
    296296      INTEGER , DIMENSION(3) ::   ijk_max, ijk_min      ! temporary integers 
    297       REAL(wp)               ::   z2dt, z_tmin, z_tmax  ! local scalars 
     297      REAL(wp)               ::   z_tmin, z_tmax        ! local scalars 
    298298      LOGICAL                ::   ll_do_bclinic         ! local logical 
    299299      REAL(wp), DIMENSION(jpi,jpj)     ::   zht, z_scale, zwu, zwv, zhdiv 
     
    349349            IF( kt > nit000 ) THEN 
    350350               DO jk = 1, jpkm1 
    351                   hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - rdt * frq_rst_hdv(:,:)   & 
     351                  hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - rn_Dt * frq_rst_hdv(:,:)   & 
    352352                     &          * ( hdiv_lf(:,:,jk) - e3t(:,:,jk,Kmm) * ( hdiv(:,:,jk) - zhdiv(:,:) ) ) 
    353353               END DO 
     
    418418         ! Leapfrog time stepping 
    419419         ! ~~~~~~~~~~~~~~~~~~~~~~ 
    420          IF( neuler == 0 .AND. kt == nit000 ) THEN 
    421             z2dt =  rdt 
    422          ELSE 
    423             z2dt = 2.0_wp * rdt 
    424          ENDIF 
    425420         CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 
    426          tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + z2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 
     421         tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + rDt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 
    427422 
    428423         ! Maximum deformation control 
     
    610605      ! - ML - e3(t/u/v)_b are allready computed in dynnxt. 
    611606      IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 
    612          IF( neuler == 0 .AND. kt == nit000 ) THEN 
     607         IF( l_1st_euler ) THEN 
    613608            tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) 
    614609         ELSE 
    615610            tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) &  
    616             &         + atfp * ( tilde_e3t_b(:,:,:) - 2.0_wp * tilde_e3t_n(:,:,:) + tilde_e3t_a(:,:,:) ) 
     611            &         + rn_atfp * ( tilde_e3t_b(:,:,:) - 2.0_wp * tilde_e3t_n(:,:,:) + tilde_e3t_a(:,:,:) ) 
    617612         ENDIF 
    618613         tilde_e3t_n(:,:,:) = tilde_e3t_a(:,:,:) 
     
    827822                  e3t(:,:,:,Kbb) = e3t_0(:,:,:) 
    828823               END WHERE 
    829                IF( neuler == 0 ) THEN 
     824               IF( l_1st_euler ) THEN 
    830825                  e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 
    831826               ENDIF 
     
    833828               IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart files' 
    834829               IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 
    835                IF(lwp) write(numout,*) 'neuler is forced to 0' 
     830               IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 
    836831               CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
    837832               e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb) 
    838                neuler = 0 
     833               l_1st_euler = .true. 
    839834            ELSE IF( id2 > 0 ) THEN 
    840835               IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kbb) not found in restart files' 
    841836               IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 
    842                IF(lwp) write(numout,*) 'neuler is forced to 0' 
     837               IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 
    843838               CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
    844839               e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 
    845                neuler = 0 
     840               l_1st_euler = .true. 
    846841            ELSE 
    847842               IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart file' 
    848843               IF(lwp) write(numout,*) 'Compute scale factor from sshn' 
    849                IF(lwp) write(numout,*) 'neuler is forced to 0' 
     844               IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 
    850845               DO jk = 1, jpk 
    851846                  e3t(:,:,jk,Kmm) =  e3t_0(:,:,jk) * ( ht_0(:,:) + ssh(:,:,Kmm) ) & 
     
    854849               END DO 
    855850               e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 
    856                neuler = 0 
     851               l_1st_euler = .true. 
    857852            ENDIF 
    858853            !                             ! ----------- ! 
     
    10151010            WRITE(numout,*) '                         rn_rst_e3t     = 0.e0' 
    10161011            WRITE(numout,*) '            hard-wired : z-tilde cutoff frequency of low-pass filter (days)' 
    1017             WRITE(numout,*) '                         rn_lf_cutoff   = 1.0/rdt' 
     1012            WRITE(numout,*) '                         rn_lf_cutoff   = 1.0/rn_Dt' 
    10181013         ELSE 
    10191014            WRITE(numout,*) '      z-tilde to zstar restoration timescale (days)        rn_rst_e3t   = ', rn_rst_e3t 
  • NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/sbcmod.F90

    r12377 r12511  
    186186      ! 
    187187      IF( .NOT.ln_usr ) THEN     ! the model calendar needs some specificities (except in user defined case) 
    188          IF( MOD( rday , rdt ) /= 0. )   CALL ctl_stop( 'the time step must devide the number of second of in a day' ) 
    189          IF( MOD( rday , 2.  ) /= 0. )   CALL ctl_stop( 'the number of second of in a day must be an even number'    ) 
    190          IF( MOD( rdt  , 2.  ) /= 0. )   CALL ctl_stop( 'the time step (in second) must be an even number'           ) 
     188         IF( MOD( rday , rn_Dt ) /= 0. )   CALL ctl_stop( 'the time step must devide the number of second of in a day' ) 
     189         IF( MOD( rday , 2.    ) /= 0. )   CALL ctl_stop( 'the number of second of in a day must be an even number'    ) 
     190         IF( MOD( rn_Dt, 2.    ) /= 0. )   CALL ctl_stop( 'the time step (in second) must be an even number'           ) 
    191191      ENDIF 
    192192      !                       !**  check option consistency 
     
    298298      !     SAS time-step has to be declared in OASIS (mandatory) -> nn_fsbc has to be modified accordingly 
    299299      IF( nn_components /= jp_iam_nemo ) THEN 
    300          IF( nn_components == jp_iam_opa )   nn_fsbc = cpl_freq('O_SFLX') / NINT(rdt) 
    301          IF( nn_components == jp_iam_sas )   nn_fsbc = cpl_freq('I_SFLX') / NINT(rdt) 
     300         IF( nn_components == jp_iam_opa )   nn_fsbc = cpl_freq('O_SFLX') / NINT(rn_Dt) 
     301         IF( nn_components == jp_iam_sas )   nn_fsbc = cpl_freq('I_SFLX') / NINT(rn_Dt) 
    302302         ! 
    303303         IF(lwp)THEN 
     
    316316      ENDIF 
    317317      ! 
    318       IF( MOD( rday, REAL(nn_fsbc, wp) * rdt ) /= 0 )   & 
     318      IF( MOD( rday, REAL(nn_fsbc, wp) * rn_Dt ) /= 0 )   & 
    319319         &  CALL ctl_warn( 'sbc_init : nn_fsbc is NOT a multiple of the number of time steps in a day' ) 
    320320      ! 
    321       IF( ln_dm2dc .AND. NINT(rday) / ( nn_fsbc * NINT(rdt) ) < 8  )   & 
     321      IF( ln_dm2dc .AND. NINT(rday) / ( nn_fsbc * NINT(rn_Dt) ) < 8  )   & 
    322322         &   CALL ctl_warn( 'sbc_init : diurnal cycle for qsr: the sampling of the diurnal cycle is too small...' ) 
    323323      ! 
  • NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/trazdf.F90

    r12377 r12511  
    6464      ENDIF 
    6565      ! 
    66       IF( neuler == 0 .AND. kt == nit000 ) THEN   ;   r2dt =      rdt   ! at nit000, =   rdt (restarting with Euler time stepping) 
    67       ELSEIF( kt <= nit000 + 1           ) THEN   ;   r2dt = 2. * rdt   ! otherwise, = 2 rdt (leapfrog) 
    68       ENDIF 
    69       ! 
    7066      IF( l_trdtra )   THEN                  !* Save ta and sa trends 
    7167         ALLOCATE( ztrdt(jpi,jpj,jpk) , ztrds(jpi,jpj,jpk) ) 
     
    7571      ! 
    7672      !                                      !* compute lateral mixing trend and add it to the general trend 
    77       CALL tra_zdf_imp( kt, nit000, 'TRA', r2dt, Kbb, Kmm, Krhs, pts, Kaa, jpts )  
     73      CALL tra_zdf_imp( kt, nit000, 'TRA', rDt, Kbb, Kmm, Krhs, pts, Kaa, jpts )  
    7874 
    7975!!gm WHY here !   and I don't like that ! 
     
    8783         DO jk = 1, jpkm1 
    8884            ztrdt(:,:,jk) = ( ( pts(:,:,jk,jp_tem,Kaa)*e3t(:,:,jk,Kaa) - pts(:,:,jk,jp_tem,Kbb)*e3t(:,:,jk,Kbb) ) & 
    89                &          / (e3t(:,:,jk,Kmm)*r2dt) ) - ztrdt(:,:,jk) 
     85               &          / (e3t(:,:,jk,Kmm)*rDt) ) - ztrdt(:,:,jk) 
    9086            ztrds(:,:,jk) = ( ( pts(:,:,jk,jp_sal,Kaa)*e3t(:,:,jk,Kaa) - pts(:,:,jk,jp_sal,Kbb)*e3t(:,:,jk,Kbb) ) & 
    91               &           / (e3t(:,:,jk,Kmm)*r2dt) ) - ztrds(:,:,jk) 
     87              &           / (e3t(:,:,jk,Kmm)*rDt) ) - ztrds(:,:,jk) 
    9288         END DO 
    9389!!gm this should be moved in trdtra.F90 and done on all trends 
  • NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/usrdef_istate.F90

    r10425 r12511  
    218218         ! 
    219219         zr_lambda2 = 1._wp / zlambda**2 
    220          zP0 = rau0 * zf0 * zumax * zlambda * SQRT(EXP(1._wp)/2._wp) 
     220         zP0 = rho0 * zf0 * zumax * zlambda * SQRT(EXP(1._wp)/2._wp) 
    221221         ! 
    222222         DO jj=1, jpj 
     
    225225               zy = gphit(ji,jj) * 1.e3 
    226226               ! Surface pressure: P(x,y,z) = F(z) * Psurf(x,y) 
    227                zpsurf = zP0 * EXP(-(zx**2+zy**2)*zr_lambda2) - rau0 * ff_t(ji,jj) * rn_uzonal * zy 
     227               zpsurf = zP0 * EXP(-(zx**2+zy**2)*zr_lambda2) - rho0 * ff_t(ji,jj) * rn_uzonal * zy 
    228228               ! Sea level: 
    229229               pssh(ji,jj) = 0. 
     
    231231                  zdt = pssh(ji,jj) 
    232232                  zdzF = (1._wp - EXP(zdt-zH)) / (zH - 1._wp + EXP(-zH))   ! F'(z) 
    233                   zrho1 = rau0 * (1._wp + zn2*zdt/grav) - zdzF * zpsurf / grav    ! -1/g Dz(P) = -1/g * F'(z) * Psurf(x,y) 
     233                  zrho1 = rho0 * (1._wp + zn2*zdt/grav) - zdzF * zpsurf / grav    ! -1/g Dz(P) = -1/g * F'(z) * Psurf(x,y) 
    234234                  pssh(ji,jj) = zpsurf / (zrho1*grav) * ptmask(ji,jj,1)   ! ssh = Psurf / (Rho*g) 
    235235               END DO 
     
    237237               DO jk=1,jpk 
    238238                  zdt =  pdept(ji,jj,jk)  
    239                   zrho1 = rau0 * (1._wp + zn2*zdt/grav) 
     239                  zrho1 = rho0 * (1._wp + zn2*zdt/grav) 
    240240                  IF (zdt < zH) THEN 
    241241                     zdzF = (1._wp-EXP(zdt-zH)) / (zH-1._wp + EXP(-zH))   ! F'(z) 
    242242                     zrho1 = zrho1 - zdzF * zpsurf / grav    ! -1/g Dz(P) = -1/g * F'(z) * Psurf(x,y) 
    243243                  ENDIF 
    244                   !               pts(ji,jj,jk,jp_tem) = (20._wp + (rau0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk) 
    245                   pts(ji,jj,jk,jp_tem) = (10._wp + (rau0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk) 
     244                  !               pts(ji,jj,jk,jp_tem) = (20._wp + (rho0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk) 
     245                  pts(ji,jj,jk,jp_tem) = (10._wp + (rho0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk) 
    246246               END DO 
    247247            END DO 
     
    261261                  IF (zdu < zH) THEN 
    262262                     zf = (zH-1._wp-zdu+EXP(zdu-zH)) / (zH-1._wp+EXP(-zH)) 
    263                      zdyPs = - za * zy * EXP(-(zx**2+zy**2)*zr_lambda2) - rau0 * ff_t(ji,jj) * rn_uzonal 
    264                      pu(ji,jj,jk) = - zf / ( rau0 * ff_t(ji,jj) ) * zdyPs * ptmask(ji,jj,jk) * ptmask(ji+1,jj,jk) 
     263                     zdyPs = - za * zy * EXP(-(zx**2+zy**2)*zr_lambda2) - rho0 * ff_t(ji,jj) * rn_uzonal 
     264                     pu(ji,jj,jk) = - zf / ( rho0 * ff_t(ji,jj) ) * zdyPs * ptmask(ji,jj,jk) * ptmask(ji+1,jj,jk) 
    265265                  ELSE 
    266266                     pu(ji,jj,jk) = 0._wp 
     
    279279                     zf = (zH-1._wp-zdv+EXP(zdv-zH)) / (zH-1._wp+EXP(-zH)) 
    280280                     zdxPs = - za * zx * EXP(-(zx**2+zy**2)*zr_lambda2) 
    281                      pv(ji,jj,jk) = zf / ( rau0 * ff_f(ji,jj) ) * zdxPs * ptmask(ji,jj,jk) * ptmask(ji,jj+1,jk) 
     281                     pv(ji,jj,jk) = zf / ( rho0 * ff_f(ji,jj) ) * zdxPs * ptmask(ji,jj,jk) * ptmask(ji,jj+1,jk) 
    282282                  ELSE 
    283283                     pv(ji,jj,jk) = 0._wp 
Note: See TracChangeset for help on using the changeset viewer.