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 9119 for branches/2017 – NEMO

Changeset 9119 for branches/2017


Ignore:
Timestamp:
2017-12-18T17:33:07+01:00 (6 years ago)
Author:
nicolasmartin
Message:

Fix longer lines so should be harmless (passed SETTE compilations)

Location:
branches/2017/dev_merge_2017/NEMOGCM/NEMO
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/LIM_SRC_3/icethd_zdf.F90

    r9019 r9119  
    119119      ENDIF 
    120120      ! 
    121       IF ( ( ln_cndi_U64 .AND. ln_cndi_P07 ) .OR. ( .NOT.ln_cndi_U64 .AND. .NOT.ln_cndi_P07 ) ) THEN 
    122          CALL ctl_stop( 'ice_thd_zdf_init: choose one and only one formulation for thermal conduction (ln_cndi_U64 or ln_cndi_P07)' ) 
     121      IF ( ( ln_cndi_U64 .AND. ln_cndi_P07 ) .OR. ( .NOT. ln_cndi_U64 .AND. .NOT. ln_cndi_P07 ) ) THEN 
     122         CALL ctl_stop( 'ice_thd_zdf_init: choose 1 and only 1 formulation for thermal conduction (ln_cndi_U64 or ln_cndi_P07)' ) 
    123123      ENDIF 
    124124      !                             !== set the choice of ice vertical thermodynamic formulation ==! 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/LIM_SRC_3/icevar.F90

    r9118 r9119  
    236236      DO jk = 1, nlay_s 
    237237         WHERE( v_s(:,:,:) > epsi20 )        !--- icy area 
    238             t_s(:,:,jk,:) = MAX( -100._wp , MIN( r1_cpic * ( -r1_rhosn * (e_s(:,:,jk,:)/v_s(:,:,:)*zlay_s) + lfus ) , 0._wp ) ) + rt0 
     238            t_s(:,:,jk,:) = MAX( -100._wp                                                                          ,   & 
     239                 &               MIN( r1_cpic * ( -r1_rhosn * ( e_s(:,:,jk,:) / v_s(:,:,:) * zlay_s ) + lfus ) ,       & 
     240                 &                    0._wp                                                                      )   ) & 
     241                 &        + rt0 
    239242         ELSEWHERE                           !--- no ice 
    240243            t_s(:,:,jk,:) = rt0 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90

    r9090 r9119  
    236236                           DO ji = 1, jpi 
    237237                              IF( mikt(ji,jj) <= jk .and. jk <=  nk_rnf(ji,jj)  ) THEN 
    238                                  e3t_b(ji,jj,jk) = e3t_b(ji,jj,jk) - zcoef *  (-rnf_b(ji,jj) + rnf(ji,jj))*(e3t_n(ji,jj,jk)/h_rnf(ji,jj)  )*tmask(ji,jj,jk) 
     238                                 e3t_b(ji,jj,jk) =   e3t_b(ji,jj,jk) - zcoef *  ( - rnf_b(ji,jj) + rnf(ji,jj) ) & 
     239                                      &          * ( e3t_n(ji,jj,jk) / h_rnf(ji,jj) ) * tmask(ji,jj,jk) 
    239240                              ENDIF 
    240241                           ENDDO 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r9111 r9119  
    19801980#endif 
    19811981      ! outputs 
    1982       IF( srcv(jpr_cal)%laction )    CALL iom_put('hflx_cal_cea' , - frcv(jpr_cal)%z3(:,:,1) * lfus                                  ) ! latent heat from calving 
    1983       IF( srcv(jpr_icb)%laction )    CALL iom_put('hflx_icb_cea' , - frcv(jpr_icb)%z3(:,:,1) * lfus                                  ) ! latent heat from icebergs melting 
    1984       IF( iom_use('hflx_snow_cea') ) CALL iom_put('hflx_snow_cea',  sprecip(:,:) * ( zcptsnw(:,:) - Lfus )                           ) ! heat flux from snow (cell average) 
    1985       IF( iom_use('hflx_rain_cea') ) CALL iom_put('hflx_rain_cea',( tprecip(:,:) - sprecip(:,:) ) * zcptrain(:,:)                    ) ! heat flux from rain (cell average) 
    1986       IF( iom_use('hflx_evap_cea') ) CALL iom_put('hflx_evap_cea',(frcv(jpr_tevp)%z3(:,:,1) - frcv(jpr_ievp)%z3(:,:,1) * picefr(:,:) & ! heat flux from from evap (cell average) 
    1987          &                                                        ) * zcptn(:,:) * tmask(:,:,1) ) 
    1988       IF( iom_use('hflx_snow_ao_cea') ) CALL iom_put('hflx_snow_ao_cea',sprecip(:,:) * (zcptsnw(:,:) - Lfus) * (1._wp - zsnw(:,:))   ) ! heat flux from snow (over ocean) 
    1989       IF( iom_use('hflx_snow_ai_cea') ) CALL iom_put('hflx_snow_ai_cea',sprecip(:,:) * (zcptsnw(:,:) - Lfus) *          zsnw(:,:)    ) ! heat flux from snow (over ice) 
     1982      IF ( srcv(jpr_cal)%laction       ) CALL iom_put('hflx_cal_cea'    , - frcv(jpr_cal)%z3(:,:,1) * lfus )                       ! latent heat from calving 
     1983      IF ( srcv(jpr_icb)%laction       ) CALL iom_put('hflx_icb_cea'    , - frcv(jpr_icb)%z3(:,:,1) * lfus )                       ! latent heat from icebergs melting 
     1984      IF ( iom_use('hflx_rain_cea')    ) CALL iom_put('hflx_rain_cea'   , ( tprecip(:,:) - sprecip(:,:) ) * zcptrain(:,:) )        ! heat flux from rain (cell average) 
     1985      IF ( iom_use('hflx_evap_cea')    ) CALL iom_put('hflx_evap_cea'   , ( frcv(jpr_tevp)%z3(:,:,1) - frcv(jpr_ievp)%z3(:,:,1) & 
     1986           &                                                              * picefr(:,:) ) * zcptn(:,:) * tmask(:,:,1) )            ! heat flux from evap (cell average) 
     1987      IF ( iom_use('hflx_snow_cea')    ) CALL iom_put('hflx_snow_cea'   , sprecip(:,:) * ( zcptsnw(:,:) - Lfus )   )               ! heat flux from snow (cell average) 
     1988      IF ( iom_use('hflx_snow_ao_cea') ) CALL iom_put('hflx_snow_ao_cea', sprecip(:,:) * ( zcptsnw(:,:) - Lfus ) & 
     1989           &                                                              * ( 1._wp - zsnw(:,:) )                  )               ! heat flux from snow (over ocean) 
     1990      IF ( iom_use('hflx_snow_ai_cea') ) CALL iom_put('hflx_snow_ai_cea', sprecip(:,:) * ( zcptsnw(:,:) - Lfus ) & 
     1991           &                                                              *           zsnw(:,:)                    )               ! heat flux from snow (over ice) 
    19901992      ! note: hflx for runoff and iceshelf are done in sbcrnf and sbcisf resp. 
    19911993      ! 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90

    r9023 r9119  
    129129                  sbc_tsc(ji,jj,jp_tem) = r1_rau0_rcp * qns(ji,jj)   ! non solar heat flux 
    130130               ELSE IF ( sshn(ji,jj) + ht_0(ji,jj) >  rn_wdmin1 ) THEN 
    131                   sbc_tsc(ji,jj,jp_tem) = r1_rau0_rcp * qns(ji,jj) * (tanh(5._wp*( ( sshn(ji,jj) + ht_0(ji,jj) -  rn_wdmin1 )*r_rn_wdmin1)) ) 
     131                  sbc_tsc(ji,jj,jp_tem) = r1_rau0_rcp * qns(ji,jj) & 
     132                       &                * tanh ( 5._wp * ( ( sshn(ji,jj) + ht_0(ji,jj) -  rn_wdmin1 ) * r_rn_wdmin1 ) ) 
    132133               ELSE 
    133134                  sbc_tsc(ji,jj,jp_tem) = 0._wp 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trddyn.F90

    r9097 r9119  
    156156                                      ikbu = mbku(ji,jj)          ! deepest ocean u- & v-levels 
    157157                                          ikbv = mbkv(ji,jj) 
    158                                           z3dx(ji,jj,jk) = 0.5*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) )*un(ji,jj,ikbu)/e3u_n(ji,jj,ikbu) 
    159                                           z3dy(ji,jj,jk) = 0.5*( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) )*vn(ji,jj,ikbv)/e3v_n(ji,jj,ikbv) 
     158                                          z3dx(ji,jj,jk) = 0.5 * ( rCdU_bot(ji+1,jj) + rCdU_bot(ji,jj) ) &  
     159                                               &         * un(ji,jj,ikbu) / e3u_n(ji,jj,ikbu) 
     160                                          z3dy(ji,jj,jk) = 0.5 * ( rCdU_bot(ji,jj+1) + rCdU_bot(ji,jj) ) & 
     161                                               &         * vn(ji,jj,ikbv) / e3v_n(ji,jj,ikbv) 
    160162                                    END DO 
    161163                                 END DO 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfosm.F90

    r9106 r9119  
    362362              ! It could represent the effects of the spread of wave directions 
    363363              ! around the mean wind. The effect of this adjustment needs to be tested. 
    364               zustke(ji,jj) = MAX (1.0 * ( zcos_wind(ji,jj) * ut0sd(ji,jj) + zsin_wind(ji,jj)  * vt0sd(ji,jj) ), zustar(ji,jj)/(0.45*0.45 )) 
     364              zustke(ji,jj) = MAX ( 1.0 * ( zcos_wind(ji,jj) * ut0sd(ji,jj ) + zsin_wind(ji,jj)  * vt0sd(ji,jj) ), & 
     365                   &                zustar(ji,jj) / ( 0.45 * 0.45 )                                                  ) 
    365366              dstokes(ji,jj) = MAX(zfac * hsw(ji,jj)*hsw(ji,jj) / ( MAX(zustke(ji,jj)*wmp(ji,jj), 1.0e-7 ) ), 5.0e-1) !rn_osm_dstokes ! 
    366367           END DO 
     
    454455                           &            + 0.135 * zla(ji,jj) * zwstrl(ji,jj)**3/hbl(ji,jj) ) 
    455456 
    456                       zvel_max = - ( 1.0 + 1.0 * ( zwstrl(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_rdt / hbl(ji,jj) ) * zwb_ent(ji,jj) / & 
    457                            &       ( zwstrl(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird 
     457                      zvel_max =  - ( 1.0 + 1.0 * ( zwstrl(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_rdt / hbl(ji,jj) ) & 
     458                           &   * zwb_ent(ji,jj) / ( zwstrl(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird 
    458459! Entrainment including component due to shear turbulence. Modified Langmuir component, but gives same result for La=0.3 For testing uncomment. 
    459460!                      zwb_ent(ji,jj) = -( 2.0 * 0.2 * zwbav(ji,jj) & 
     
    471472                      IF ( zzdhdt < 0._wp ) THEN 
    472473                      ! For long timsteps factor in brackets slows the rapid collapse of the OSBL 
    473                           zpert = 2.0 * ( 1.0 + 2.0 * zwstrl(ji,jj) * rn_rdt / hbl(ji,jj) ) * zwstrl(ji,jj)**2 / hbl(ji,jj) 
     474                         zpert  = 2.0 * ( 1.0 + 2.0 * zwstrl(ji,jj) * rn_rdt / hbl(ji,jj) ) * zwstrl(ji,jj)**2 / hbl(ji,jj) 
    474475                      ELSE 
    475                           zpert = 2.0 * ( 1.0 + 2.0 * zwstrl(ji,jj) * rn_rdt / hbl(ji,jj) ) * zwstrl(ji,jj)**2 / hbl(ji,jj) + MAX( zdb_bl(ji,jj),0.0 ) 
     476                         zpert   = 2.0 * ( 1.0 + 2.0 * zwstrl(ji,jj) * rn_rdt / hbl(ji,jj) ) * zwstrl(ji,jj)**2 / hbl(ji,jj) & 
     477                              &  + MAX( zdb_bl(ji,jj), 0.0 ) 
    476478                      ENDIF 
    477479                      zzdhdt = 2.0 * zzdhdt / zpert 
     
    504506      DO jj = 2, jpjm1 
    505507         DO ji = 2, jpim1 
    506            IF ( ibld(ji,jj) - imld(ji,jj) > 1 ) THEN 
     508            IF ( ibld(ji,jj) - imld(ji,jj) > 1 ) THEN 
    507509! 
    508510! If boundary layer changes by more than one level, need to check for stable layers between initial and final depths. 
    509511! 
    510               zhbl_s = hbl(ji,jj) 
    511               jm = imld(ji,jj) 
    512               zthermal = rab_n(ji,jj,1,jp_tem) 
    513               zbeta = rab_n(ji,jj,1,jp_sal) 
    514               IF ( lconv(ji,jj) ) THEN 
     512               zhbl_s = hbl(ji,jj) 
     513               jm = imld(ji,jj) 
     514               zthermal = rab_n(ji,jj,1,jp_tem) 
     515               zbeta = rab_n(ji,jj,1,jp_sal) 
     516               IF ( lconv(ji,jj) ) THEN 
    515517!unstable 
    516                  zvel_max = -( 1.0 + 1.0 * ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_rdt / hbl(ji,jj) ) * zwb_ent(ji,jj) / & 
    517                       &      ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird 
    518  
    519                  DO jk = imld(ji,jj), ibld(ji,jj) 
    520                     zdb = MAX( grav * ( zthermal * ( zt_bl(ji,jj) - tsn(ji,jj,jm,jp_tem) ) & 
    521                          & - zbeta * ( zs_bl(ji,jj) - tsn(ji,jj,jm,jp_sal) ) ), 0.0 ) + zvel_max 
    522  
    523                     zhbl_s = zhbl_s + MIN( - zwb_ent(ji,jj) / zdb * rn_rdt / FLOAT(ibld(ji,jj)-imld(ji,jj) ), e3w_n(ji,jj,jk) ) 
    524                     zhbl_s = MIN(zhbl_s, ht_n(ji,jj)) 
    525  
    526                     IF ( zhbl_s >= gdepw_n(ji,jj,jm+1) ) jm = jm + 1 
    527                  END DO 
    528                  hbl(ji,jj) = zhbl_s 
    529                  ibld(ji,jj) = jm 
    530                  hbli(ji,jj) = hbl(ji,jj) 
    531              ELSE 
     518                  zvel_max =  - ( 1.0 + 1.0 * ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_rdt / hbl(ji,jj) ) & 
     519                       &   * zwb_ent(ji,jj) / ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird 
     520 
     521                  DO jk = imld(ji,jj), ibld(ji,jj) 
     522                     zdb = MAX( grav * ( zthermal * ( zt_bl(ji,jj) - tsn(ji,jj,jm,jp_tem) ) & 
     523                          & - zbeta * ( zs_bl(ji,jj) - tsn(ji,jj,jm,jp_sal) ) ), 0.0 ) + zvel_max 
     524 
     525                     zhbl_s = zhbl_s + MIN( - zwb_ent(ji,jj) / zdb * rn_rdt / FLOAT(ibld(ji,jj)-imld(ji,jj) ), e3w_n(ji,jj,jk) ) 
     526                     zhbl_s = MIN(zhbl_s, ht_n(ji,jj)) 
     527 
     528                     IF ( zhbl_s >= gdepw_n(ji,jj,jm+1) ) jm = jm + 1 
     529                  END DO 
     530                  hbl(ji,jj) = zhbl_s 
     531                  ibld(ji,jj) = jm 
     532                  hbli(ji,jj) = hbl(ji,jj) 
     533               ELSE 
    532534! stable 
    533                  DO jk = imld(ji,jj), ibld(ji,jj) 
    534                     zdb = MAX( grav * ( zthermal * ( zt_bl(ji,jj) - tsn(ji,jj,jm,jp_tem) ) - zbeta * ( zs_bl(ji,jj) - tsn(ji,jj,jm,jp_sal) ) ), 0.0 ) + & 
    535              &       2.0 * zwstrl(ji,jj)**2 / zhbl_s 
    536  
    537                     zhbl_s = zhbl_s +  (& 
    538                          & 0.32 * ( hbli(ji,jj) / zhbl_s -1.0 ) * zwstrl(ji,jj)**3 / hbli(ji,jj) + & 
    539             &       ( ( 0.32 / 3.0 ) * EXP( -2.5 * ( hbli(ji,jj) / zhbl_s -1.0 )  ) - & 
    540             &       ( 0.32 / 3.0  - 0.0485 ) * EXP( -12.5 * ( hbli(ji,jj) / zhbl_s ) ) ) * zwstrl(ji,jj)**3 / hbli(ji,jj) ) / zdb * & 
    541             &       e3w_n(ji,jj,jk) / zdhdt(ji,jj)  ! ALMG to investigate whether need to include wn here 
    542  
    543                     zhbl_s = MIN(zhbl_s, ht_n(ji,jj)) 
    544                     IF ( zhbl_s >= gdepw_n(ji,jj,jm) ) jm = jm + 1 
    545                  END DO 
    546                  hbl(ji,jj) = MAX(zhbl_s, gdepw_n(ji,jj,3) ) 
    547                  ibld(ji,jj) = MAX(jm, 3 ) 
    548                  IF ( hbl(ji,jj) > hbli(ji,jj) ) hbli(ji,jj) = hbl(ji,jj) 
    549              ENDIF   ! IF ( lconv ) 
    550            ELSE 
     535                  DO jk = imld(ji,jj), ibld(ji,jj) 
     536                     zdb = MAX( grav * ( zthermal * ( zt_bl(ji,jj) - tsn(ji,jj,jm,jp_tem) )          & 
     537                          &               - zbeta * ( zs_bl(ji,jj) - tsn(ji,jj,jm,jp_sal) ) ), 0.0 ) & 
     538                          & + 2.0 * zwstrl(ji,jj)**2 / zhbl_s 
     539 
     540                     zhbl_s = zhbl_s +  (                                                                                & 
     541                          &                     0.32         *                         ( hbli(ji,jj) / zhbl_s -1.0 )     & 
     542                          &               * zwstrl(ji,jj)**3 / hbli(ji,jj)                                               & 
     543                          &               + ( ( 0.32 / 3.0 )           * EXP( -  2.5 * ( hbli(ji,jj) / zhbl_s -1.0 ) )   & 
     544                          &               -   ( 0.32 / 3.0  - 0.0485 ) * EXP( - 12.5 * ( hbli(ji,jj) / zhbl_s      ) ) ) & 
     545                          &          * zwstrl(ji,jj)**3 / hbli(ji,jj) ) / zdb * e3w_n(ji,jj,jk) / zdhdt(ji,jj)  ! ALMG to investigate whether need to include wn here 
     546 
     547                     zhbl_s = MIN(zhbl_s, ht_n(ji,jj)) 
     548                     IF ( zhbl_s >= gdepw_n(ji,jj,jm) ) jm = jm + 1 
     549                  END DO 
     550                  hbl(ji,jj) = MAX(zhbl_s, gdepw_n(ji,jj,3) ) 
     551                  ibld(ji,jj) = MAX(jm, 3 ) 
     552                  IF ( hbl(ji,jj) > hbli(ji,jj) ) hbli(ji,jj) = hbl(ji,jj) 
     553               ENDIF   ! IF ( lconv ) 
     554            ELSE 
    551555! change zero or one model level. 
    552              hbl(ji,jj) = zhbl_t(ji,jj) 
    553              IF ( lconv(ji,jj) ) THEN 
    554                  hbli(ji,jj) = hbl(ji,jj) 
    555              ELSE 
    556                  hbl(ji,jj) = MAX(hbl(ji,jj), gdepw_n(ji,jj,3) ) 
    557                  IF ( hbl(ji,jj) > hbli(ji,jj) ) hbli(ji,jj) = hbl(ji,jj) 
    558              ENDIF 
    559            ENDIF 
    560            zhbl(ji,jj) = gdepw_n(ji,jj,ibld(ji,jj)) 
     556               hbl(ji,jj) = zhbl_t(ji,jj) 
     557               IF ( lconv(ji,jj) ) THEN 
     558                  hbli(ji,jj) = hbl(ji,jj) 
     559               ELSE 
     560                  hbl(ji,jj) = MAX(hbl(ji,jj), gdepw_n(ji,jj,3) ) 
     561                  IF ( hbl(ji,jj) > hbli(ji,jj) ) hbli(ji,jj) = hbl(ji,jj) 
     562               ENDIF 
     563            ENDIF 
     564            zhbl(ji,jj) = gdepw_n(ji,jj,ibld(ji,jj)) 
    561565         END DO 
    562566      END DO 
     
    878882                    zznd_ml = gdepw_n(ji,jj,jk) / zhml(ji,jj) 
    879883                    ! 
    880                     zdiffut(ji,jj,jk) = 0.8 * zdifml_sc(ji,jj) * zznd_ml * ( 1.0 - zbeta_d_sc(ji,jj) * zznd_ml )**1.5 
     884                    zdiffut(ji,jj,jk) = 0.8   * zdifml_sc(ji,jj) * zznd_ml * ( 1.0 - zbeta_d_sc(ji,jj) * zznd_ml    )**1.5 
    881885                    ! 
    882                     zviscos(ji,jj,jk) = 0.375 * zvisml_sc(ji,jj) * zznd_ml * ( 1.0 - zbeta_v_sc(ji,jj) * zznd_ml ) * ( 1.0 - 0.5 * zznd_ml**2 ) 
     886                    zviscos(ji,jj,jk) = 0.375 * zvisml_sc(ji,jj) * zznd_ml * ( 1.0 - zbeta_v_sc(ji,jj) * zznd_ml    ) & 
     887                         &            *                                      ( 1.0 -               0.5 * zznd_ml**2 ) 
    883888                END DO 
    884889                ! pycnocline - if present linear profile 
     
    887892                       zznd_pyc = -( gdepw_n(ji,jj,jk) - zhml(ji,jj) ) / zdh(ji,jj) 
    888893                       ! 
    889                        zdiffut(ji,jj,jk) = zdifpyc_sc(ji,jj)*( 1.0 + zznd_pyc ) 
     894                       zdiffut(ji,jj,jk) = zdifpyc_sc(ji,jj) * ( 1.0 + zznd_pyc ) 
    890895                       ! 
    891896                       zviscos(ji,jj,jk) = zvispyc_sc(ji,jj) * ( 1.0 + zznd_pyc ) 
     
    928933              DO jk = 2, imld(ji,jj) 
    929934                 zznd_d = gdepw_n(ji,jj,jk) / dstokes(ji,jj) 
    930                  ghamt(ji,jj,jk) = ghamt(ji,jj,jk) +  1.35 * EXP ( -zznd_d ) * ( 1.0 - EXP ( -2.0 * zznd_d ) ) * zsc_wth_1(ji,jj) 
     935                 ghamt(ji,jj,jk) = ghamt(ji,jj,jk) + 1.35 * EXP ( -zznd_d ) * ( 1.0 - EXP ( -2.0 * zznd_d ) ) * zsc_wth_1(ji,jj) 
    931936                 ! 
    932                  ghams(ji,jj,jk) = ghams(ji,jj,jk) + 1.35 * EXP ( -zznd_d ) * ( 1.0 - EXP ( -2.0 * zznd_d ) ) * zsc_ws_1(ji,jj) 
     937                 ghams(ji,jj,jk) = ghams(ji,jj,jk) + 1.35 * EXP ( -zznd_d ) * ( 1.0 - EXP ( -2.0 * zznd_d ) ) *  zsc_ws_1(ji,jj) 
    933938              END DO ! end jk loop 
    934939            ELSE     ! else for if (lconv) 
     
    936941               DO jk = 2, ibld(ji,jj) 
    937942                  zznd_d=gdepw_n(ji,jj,jk) / dstokes(ji,jj) 
    938                   ghamt(ji,jj,jk) = ghamt(ji,jj,jk) + 1.5 * EXP ( -0.9 * zznd_d ) * ( 1.0 - EXP ( -4.0 * zznd_d ) ) * zsc_wth_1(ji,jj) 
     943                  ghamt(ji,jj,jk) = ghamt(ji,jj,jk) + 1.5 * EXP ( -0.9 * zznd_d ) & 
     944                       &          *                 ( 1.0 - EXP ( -4.0 * zznd_d ) ) * zsc_wth_1(ji,jj) 
    939945                  ! 
    940                   ghams(ji,jj,jk) = ghams(ji,jj,jk) + 1.5 * EXP ( -0.9 * zznd_d ) * ( 1.0 - EXP ( -4.0 * zznd_d ) ) * zsc_ws_1(ji,jj) 
     946                  ghams(ji,jj,jk) = ghams(ji,jj,jk) + 1.5 * EXP ( -0.9 * zznd_d ) & 
     947                       &          *                 ( 1.0 - EXP ( -4.0 * zznd_d ) ) *  zsc_ws_1(ji,jj) 
    941948               END DO 
    942949            ENDIF               ! endif for check on lconv 
     
    961968                DO jk = 2, imld(ji,jj) 
    962969                   zznd_d = gdepw_n(ji,jj,jk) / dstokes(ji,jj) 
    963                    ghamu(ji,jj,jk) = ghamu(ji,jj,jk) + ( -0.05 * EXP ( -0.4 * zznd_d ) * zsc_uw_1(ji,jj) + 0.00125 * EXP ( -zznd_d ) * zsc_uw_2(ji,jj) ) * ( 1.0 - EXP ( -2.0 * zznd_d ) ) 
     970                   ghamu(ji,jj,jk) = ghamu(ji,jj,jk) +      ( -0.05 * EXP ( -0.4 * zznd_d )   * zsc_uw_1(ji,jj)   & 
     971                        &          +                        0.00125 * EXP (      - zznd_d )   * zsc_uw_2(ji,jj) ) & 
     972                        &          *                          ( 1.0 - EXP ( -2.0 * zznd_d ) ) 
    964973! 
    965                    ghamv(ji,jj,jk) = ghamv(ji,jj,jk) - 0.65 * 0.15 * EXP ( -zznd_d ) * ( 1.0 - EXP ( -2.0 * zznd_d ) ) * zsc_vw_1(ji,jj) 
     974                   ghamv(ji,jj,jk) = ghamv(ji,jj,jk) - 0.65 *  0.15 * EXP (      - zznd_d )                       & 
     975                        &          *                          ( 1.0 - EXP ( -2.0 * zznd_d ) ) * zsc_vw_1(ji,jj) 
    966976                END DO   ! end jk loop 
    967977             ELSE 
     
    969979                DO jk = 2, ibld(ji,jj) ! corrected to ibld 
    970980                   zznd_d = gdepw_n(ji,jj,jk) / dstokes(ji,jj) 
    971                    ghamu(ji,jj,jk) = ghamu(ji,jj,jk) - 0.75 * 1.3 * EXP ( -0.5 * zznd_d ) * ( 1.0 - EXP ( -4.0 * zznd_d ) ) * zsc_uw_1(ji,jj) 
     981                   ghamu(ji,jj,jk) = ghamu(ji,jj,jk) - 0.75 *   1.3 * EXP ( -0.5 * zznd_d )                       & 
     982                        &                                   * ( 1.0 - EXP ( -4.0 * zznd_d ) ) * zsc_uw_1(ji,jj) 
    972983                   ghamv(ji,jj,jk) = ghamv(ji,jj,jk) + 0._wp 
    973984                END DO   ! end jk loop 
     
    980991       WHERE ( lconv ) 
    981992          zsc_wth_1 = zwbav * zwth0 * ( 1.0 + EXP ( 0.2 * zhol ) ) / ( zvstr**3 + 0.5 * zwstrc**3 + epsln ) 
    982           zsc_ws_1 = zwbav * zws0 * ( 1.0 + EXP ( 0.2 * zhol ) ) / ( zvstr**3 + 0.5 * zwstrc**3 + epsln ) 
     993          zsc_ws_1  = zwbav * zws0 * ( 1.0 + EXP ( 0.2 * zhol ) ) / ( zvstr**3 + 0.5 * zwstrc**3 + epsln ) 
    983994       ELSEWHERE 
    984995          zsc_wth_1 = 0._wp 
     
    9911002                DO jk = 2, imld(ji,jj) 
    9921003                   zznd_ml = gdepw_n(ji,jj,jk) / zhml(ji,jj) 
    993             ! calculate turbulent length scale 
    994                    zl_c = 0.9 * ( 1.0 - EXP ( -7.0 * ( zznd_ml - zznd_ml**3 / 3.0 ) ) ) * ( 1.0 - EXP ( -15.0 * ( 1.1 - zznd_ml ) ) ) 
    995                    zl_l = 2.0 * ( 1.0 - EXP ( -2.0 * ( zznd_ml - zznd_ml**3 / 3.0 ) ) ) * (1.0 -  EXP ( -5.0 * ( 1.0 -zznd_ml ) ) ) * ( 1.0 + dstokes(ji,jj) / zhml (ji,jj) ) 
     1004                   ! calculate turbulent length scale 
     1005                   zl_c = 0.9 * ( 1.0 - EXP ( - 7.0 * ( zznd_ml - zznd_ml**3 / 3.0 ) ) )                                           & 
     1006                        &     * ( 1.0 - EXP ( -15.0 * (     1.1 - zznd_ml          ) ) ) 
     1007                   zl_l = 2.0 * ( 1.0 - EXP ( - 2.0 * ( zznd_ml - zznd_ml**3 / 3.0 ) ) )                                           & 
     1008                        &     * ( 1.0 - EXP ( - 5.0 * (     1.0 - zznd_ml          ) ) ) * ( 1.0 + dstokes(ji,jj) / zhml (ji,jj) ) 
    9961009                   zl_eps = zl_l + ( zl_c - zl_l ) / ( 1.0 + EXP ( 3.0 * LOG10 ( - zhol(ji,jj) ) ) ) ** (3.0/2.0) 
    997             ! non-gradient buoyancy terms 
     1010                   ! non-gradient buoyancy terms 
    9981011                   ghamt(ji,jj,jk) = ghamt(ji,jj,jk) + 0.3 * 0.5 * zsc_wth_1(ji,jj) * zl_eps * zhml(ji,jj) / ( 0.15 + zznd_ml ) 
    999                    ghams(ji,jj,jk) = ghams(ji,jj,jk) + 0.3 * 0.5 * zsc_ws_1(ji,jj) * zl_eps * zhml(ji,jj) / ( 0.15 + zznd_ml ) 
     1012                   ghams(ji,jj,jk) = ghams(ji,jj,jk) + 0.3 * 0.5 *  zsc_ws_1(ji,jj) * zl_eps * zhml(ji,jj) / ( 0.15 + zznd_ml ) 
    10001013                END DO 
    10011014             ELSE 
    10021015                DO jk = 2, ibld(ji,jj) 
    10031016                   ghamt(ji,jj,jk) = ghamt(ji,jj,jk) + zsc_wth_1(ji,jj) 
    1004                    ghams(ji,jj,jk) = ghams(ji,jj,jk) + zsc_ws_1(ji,jj) 
     1017                   ghams(ji,jj,jk) = ghams(ji,jj,jk) +  zsc_ws_1(ji,jj) 
    10051018                END DO 
    10061019             ENDIF 
     
    10111024       WHERE ( lconv ) 
    10121025          zsc_uw_1 = -zwb0 * zustar**2 * zhml / ( zvstr**3 + 0.5 * zwstrc**3 + epsln ) 
    1013           zsc_uw_2 = zwb0 *  zustke * zhml / ( zvstr**3 + 0.5 * zwstrc**3 + epsln )**(2.0/3.0) 
     1026          zsc_uw_2 =  zwb0 * zustke    * zhml / ( zvstr**3 + 0.5 * zwstrc**3 + epsln )**(2.0/3.0) 
    10141027          zsc_vw_1 = 0._wp 
    10151028       ELSEWHERE 
     
    10231036                DO jk = 2 , imld(ji,jj) 
    10241037                   zznd_d = gdepw_n(ji,jj,jk) / dstokes(ji,jj) 
    1025                    ghamu(ji,jj,jk) = ghamu(ji,jj,jk) + 0.3 * 0.5 * ( zsc_uw_1(ji,jj) + 0.125 * EXP( -0.5 * zznd_d ) * ( 1.0 - EXP ( -0.5 * zznd_d) ) * zsc_uw_2(ji,jj) ) 
     1038                   ghamu(ji,jj,jk) = ghamu(ji,jj,jk) + 0.3 * 0.5 * ( zsc_uw_1(ji,jj) +   0.125 * EXP( -0.5 * zznd_d )     & 
     1039                        &                                                            * (   1.0 - EXP( -0.5 * zznd_d ) )   & 
     1040                        &                                          * zsc_uw_2(ji,jj)                                    ) 
    10261041                   ghamv(ji,jj,jk) = ghamv(ji,jj,jk) + zsc_vw_1(ji,jj) 
    10271042                END DO  ! jk loop 
     
    10511066               DO jk = 2, imld(ji,jj) 
    10521067                  zznd_ml=gdepw_n(ji,jj,jk) / zhml(ji,jj) 
    1053                   ghamt(ji,jj,jk) = ghamt(ji,jj,jk) + 0.3 * zsc_wth_1(ji,jj) * ( -2.0 + 2.75 * ( ( 1.0 + 0.6 * zznd_ml**4 ) - EXP ( -6.0 *zznd_ml ) ) )  & 
    1054       &           * ( 1.0 -EXP ( -15.0 * ( 1.0 - zznd_ml ) ) ) 
     1068                  ghamt(ji,jj,jk) = ghamt(ji,jj,jk) + 0.3 * zsc_wth_1(ji,jj)                & 
     1069                       &          * ( -2.0 + 2.75 * (       ( 1.0 + 0.6 * zznd_ml**4 )      & 
     1070                       &                               - EXP(     - 6.0 * zznd_ml    ) ) )  & 
     1071                       &          * ( 1.0 - EXP( - 15.0 * (         1.0 - zznd_ml    ) ) ) 
    10551072                  ! 
    1056                   ghams(ji,jj,jk) = ghams(ji,jj,jk) + 0.3 * zsc_ws_1(ji,jj) * ( -2.0 + 2.75 * ( ( 1.0 + 0.6 * zznd_ml**4 ) - EXP ( -6.0 *zznd_ml ) ) )  & 
    1057       &           * ( 1.0 -EXP ( -15.0 * ( 1.0 - zznd_ml ) ) ) 
     1073                  ghams(ji,jj,jk) = ghams(ji,jj,jk) + 0.3 * zsc_ws_1(ji,jj)  & 
     1074                       &          * ( -2.0 + 2.75 * (       ( 1.0 + 0.6 * zznd_ml**4 )      & 
     1075                       &                               - EXP(     - 6.0 * zznd_ml    ) ) )  & 
     1076                       &          * ( 1.0 - EXP ( -15.0 * (         1.0 - zznd_ml    ) ) ) 
    10581077               END DO 
    10591078            ELSE 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/AGE/trcnam_age.F90

    r7124 r9119  
    6161         WRITE(numout,*) ' trc_nam_age: Read namage, namelist for Age passive tracer' 
    6262         WRITE(numout,*) ' ~~~~~~~' 
    63          WRITE(numout,*) '  depth over which age tracer reset to zero                              rn_age_depth      = ', rn_age_depth  
    64          WRITE(numout,*) '  recip of relax. timescale (s) for age tracer shallower than age_depth  rn_age_kill_rate  = ', rn_age_kill_rate  
     63         WRITE(numout,*) '  depth over which age tracer reset to zero                              rn_age_depth      = ', & 
     64              &          rn_age_depth  
     65         WRITE(numout,*) '  recip of relax. timescale (s) for age tracer shallower than age_depth  rn_age_kill_rate  = ', & 
     66              &          rn_age_kill_rate  
    6567         WRITE(numout,*) '' 
    6668      ENDIF 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/trcbc.F90

    r7646 r9119  
    198198         WRITE(numout,'(2a)') '   COASTAL BC data repository : ', TRIM(cn_dir_cbc) 
    199199         IF( .NOT.ln_rnf .OR. .NOT.ln_linssh ) ln_rnf_ctl = .FALSE. 
    200          IF( ln_rnf_ctl )  WRITE(numout,'(a)') ' -> Remove runoff dilution effect on tracers with absent river load (ln_rnf_ctl = .TRUE.)'  
     200         IF( ln_rnf_ctl )  WRITE(numout,'(a)') & 
     201              &            ' -> Remove runoff dilution effect on tracers with absent river load (ln_rnf_ctl = .TRUE.)' 
    201202         WRITE(numout,*) ' ' 
    202203         WRITE(numout,'(a,i3)') '   Total tracers to be initialized with OPEN BCs data:', nb_trcobc 
     
    205206            WRITE(numout,*) '   #trc        NAME        Boundary     Mult.Fact.   OBC Settings' 
    206207            DO jn = 1, ntrc 
    207                IF( ln_trc_obc(jn) )  WRITE(numout, 9001) jn, TRIM( sn_trcobc(jn)%clvar ), 'OBC', rn_trofac(jn), (trcdta_bdy(jn,ib)%cn_obc,ib=1,nb_bdy) 
    208                IF( .NOT. ln_trc_obc(jn) )  WRITE(numout, 9002) jn, 'Set data to IC and use default condition', (trcdta_bdy(jn,ib)%cn_obc,ib=1,nb_bdy) 
     208               IF (       ln_trc_obc(jn) )  WRITE(numout, 9001) jn, TRIM( sn_trcobc(jn)%clvar ), 'OBC', rn_trofac(jn), & 
     209                    &                                           (trcdta_bdy(jn,ib)%cn_obc,ib=1,nb_bdy) 
     210               IF ( .NOT. ln_trc_obc(jn) )  WRITE(numout, 9002) jn, 'Set data to IC and use default condition'       , & 
     211                    &                                           (trcdta_bdy(jn,ib)%cn_obc,ib=1,nb_bdy) 
    209212            ENDDO 
    210213            WRITE(numout,*) ' ' 
    211214            DO ib = 1, nb_bdy 
    212                 IF(nn_trcdmp_bdy(ib) .EQ. 0) WRITE(numout,9003) '   Boundary ',ib,' -> NO damping of tracers' 
    213                 IF(nn_trcdmp_bdy(ib) .EQ. 1) WRITE(numout,9003) '   Boundary ',ib,' -> damping ONLY for tracers with external data provided' 
    214                 IF(nn_trcdmp_bdy(ib) .EQ. 2) WRITE(numout,9003) '   Boundary ',ib,' -> damping of ALL tracers' 
     215                IF(nn_trcdmp_bdy(ib) .EQ. 0) WRITE(numout,9003) '   Boundary ', ib, & 
     216                     &                                          ' -> NO damping of tracers' 
     217                IF(nn_trcdmp_bdy(ib) .EQ. 1) WRITE(numout,9003) '   Boundary ', ib, & 
     218                     &                                          ' -> damping ONLY for tracers with external data provided' 
     219                IF(nn_trcdmp_bdy(ib) .EQ. 2) WRITE(numout,9003) '   Boundary ', ib, & 
     220                     &                                          ' -> damping of ALL tracers' 
    215221                IF(nn_trcdmp_bdy(ib) .GT. 0) THEN 
    216222                   WRITE(numout,9003) '     USE damping parameters from nambdy for boundary ', ib,' : ' 
Note: See TracChangeset for help on using the changeset viewer.